X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Flookups%2Fnis.c;h=6f5307f4362fab679ed15bc5a754086f1c811e1d;hb=dbbf21a75d225871cb7a44878ece42c5d79a1a2c;hp=8177f4b7e15f45601a965044b9d3fb1aa960f8db;hpb=e6d225ae6e6811d3c88dc201642a2127ff6c11bd;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/lookups/nis.c b/src/src/lookups/nis.c index 8177f4b7e..6f5307f43 100644 --- a/src/src/lookups/nis.c +++ b/src/src/lookups/nis.c @@ -1,10 +1,8 @@ -/* $Cambridge: exim/src/src/lookups/nis.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" @@ -26,7 +24,7 @@ nis_open(uschar *filename, uschar **errmsg) char *nis_domain; if (yp_get_default_domain(&nis_domain) != 0) { - *errmsg = string_sprintf("failed to get default NIS domain"); + *errmsg = US"failed to get default NIS domain"; return NULL; } return nis_domain; @@ -43,14 +41,14 @@ for nis0 because they are so short it isn't worth trying to use any common code. */ static int -nis_find(void *handle, uschar *filename, uschar *keystring, int length, - uschar **result, uschar **errmsg, BOOL *do_cache) +nis_find(void *handle, uschar *filename, const uschar *keystring, int length, + uschar **result, uschar **errmsg, uint *do_cache) { int rc; uschar *nis_data; int nis_data_length; do_cache = do_cache; /* Placate picky compilers */ -if ((rc = yp_match(CS handle, CS filename, CS keystring, length, +if ((rc = yp_match(CCS handle, CCS filename, CCS keystring, length, CSS &nis_data, &nis_data_length)) == 0) { *result = string_copy(nis_data); @@ -69,14 +67,14 @@ return (rc == YPERR_KEY || rc == YPERR_MAP)? FAIL : DEFER; /* See local README for interface description. */ static int -nis0_find(void *handle, uschar *filename, uschar *keystring, int length, - uschar **result, uschar **errmsg, BOOL *do_cache) +nis0_find(void *handle, uschar *filename, const uschar *keystring, int length, + uschar **result, uschar **errmsg, uint *do_cache) { int rc; uschar *nis_data; int nis_data_length; do_cache = do_cache; /* Placate picky compilers */ -if ((rc = yp_match(CS handle, CS filename, CS keystring, length + 1, +if ((rc = yp_match(CCS handle, CCS filename, CCS keystring, length + 1, CSS &nis_data, &nis_data_length)) == 0) { *result = string_copy(nis_data); @@ -86,6 +84,25 @@ if ((rc = yp_match(CS handle, CS filename, CS keystring, length + 1, return (rc == YPERR_KEY || rc == YPERR_MAP)? FAIL : DEFER; } + + +/************************************************* +* Version reporting entry point * +*************************************************/ + +/* See local README for interface description. */ + +#include "../version.h" + +void +nis_version_report(FILE *f) +{ +#ifdef DYNLOOKUP +fprintf(f, "Library version: NIS: Exim version %s\n", EXIM_VERSION_STR); +#endif +} + + static lookup_info nis_lookup_info = { US"nis", /* lookup name */ 0, /* not abs file, not query style*/ @@ -94,7 +111,8 @@ static lookup_info nis_lookup_info = { nis_find, /* find function */ NULL, /* no close function */ NULL, /* no tidy function */ - NULL /* no quoting function */ + NULL, /* no quoting function */ + nis_version_report /* version reporting */ }; static lookup_info nis0_lookup_info = { @@ -105,7 +123,8 @@ static lookup_info nis0_lookup_info = { nis0_find, /* find function */ NULL, /* no close function */ NULL, /* no tidy function */ - NULL /* no quoting function */ + NULL, /* no quoting function */ + NULL /* no version reporting (redundant) */ }; #ifdef DYNLOOKUP