X-Git-Url: https://vcs.fsf.org/?p=exim.git;a=blobdiff_plain;f=src%2Fsrc%2Flookups%2Fpasswd.c;h=0a4a7b4e793e66f9e0258b23dd0020c55f6f4717;hp=420eefc27984bcba2ec9effd566310d4c26648b8;hb=9f4001740f061f29c65835c6f7efcab50c27db13;hpb=e6d225ae6e6811d3c88dc201642a2127ff6c11bd diff --git a/src/src/lookups/passwd.c b/src/src/lookups/passwd.c index 420eefc27..0a4a7b4e7 100644 --- a/src/src/lookups/passwd.c +++ b/src/src/lookups/passwd.c @@ -1,10 +1,8 @@ -/* $Cambridge: exim/src/src/lookups/passwd.c,v 1.5 2009/11/16 19:50:38 nm4 Exp $ */ - /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2015 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" @@ -18,7 +16,7 @@ /* See local README for interface description */ static void * -passwd_open(uschar *filename, uschar **errmsg) +passwd_open(const uschar * filename, uschar ** errmsg) { filename = filename; /* Keep picky compilers happy */ errmsg = errmsg; @@ -35,8 +33,9 @@ return (void *)(-1); /* Just return something non-null */ /* See local README for interface description */ static int -passwd_find(void *handle, uschar *filename, uschar *keystring, int length, - uschar **result, uschar **errmsg, BOOL *do_cache) +passwd_find(void * handle, const uschar * filename, const uschar * keystring, + int length, uschar ** result, uschar ** errmsg, uint * do_cache, + const uschar * opts) { struct passwd *pw; @@ -52,15 +51,34 @@ if (!route_finduser(keystring, &pw, NULL)) return FAIL; return OK; } + + +/************************************************* +* Version reporting entry point * +*************************************************/ + +/* See local README for interface description. */ + +#include "../version.h" + +void +passwd_version_report(FILE *f) +{ +#ifdef DYNLOOKUP +fprintf(f, "Library version: passwd: Exim version %s\n", EXIM_VERSION_STR); +#endif +} + static lookup_info _lookup_info = { - US"passwd", /* lookup name */ - lookup_querystyle, /* query-style lookup */ - passwd_open, /* open function */ - NULL, /* no check function */ - passwd_find, /* find function */ - NULL, /* no close function */ - NULL, /* no tidy function */ - NULL /* no quoting function */ + .name = US"passwd", /* lookup name */ + .type = lookup_querystyle, /* query-style lookup */ + .open = passwd_open, /* open function */ + .check = NULL, /* no check function */ + .find = passwd_find, /* find function */ + .close = NULL, /* no close function */ + .tidy = NULL, /* no tidy function */ + .quote = NULL, /* no quoting function */ + .version_report = passwd_version_report /* version reporting */ }; #ifdef DYNLOOKUP