X-Git-Url: https://git.donarmstrong.com/?p=unscd.git;a=blobdiff_plain;f=nscd.c;h=35502d7bedb175cae7bf863206f75c2594273382;hp=93db75fa4e80df1c46f7129b66913373c70367b5;hb=57fd22718b48d3a6c559b0f0e29bc1a1260b26bb;hpb=5a23f6655ef485fc4d1ff75964276318113ccb19 diff --git a/nscd.c b/nscd.c index 93db75f..35502d7 100644 --- a/nscd.c +++ b/nscd.c @@ -145,8 +145,9 @@ vda.linux@googlemail.com * 0.50 add more files to watch for changes * 0.51 fix a case where we forget to refcount-- the cached entry * 0.52 make free_refcounted_ureq() tolerant to pointers to NULLs + * 0.53 fix INVALIDATE and SHUTDOWN requests being ignored */ -#define PROGRAM_VERSION "0.52" +#define PROGRAM_VERSION "0.53" #define DEBUG_BUILD 1 @@ -1600,12 +1601,6 @@ static int handle_client(int i) close_client(i); return 0; } - srv = type_to_srv[ureq->type]; - if (!config.srv_enable[srv]) { - log(L_INFO, "service %d is disabled, dropping", srv); - close_client(i); - return 0; - } hex_dump(cinfo[i].ureq, cinfo[i].bytecnt); @@ -1642,6 +1637,13 @@ static int handle_client(int i) return 0; } + srv = type_to_srv[ureq->type]; + if (!config.srv_enable[srv]) { + log(L_INFO, "service %d is disabled, dropping", srv); + close_client(i); + return 0; + } + if (ureq->type != GETHOSTBYADDR && ureq->type != GETHOSTBYADDRv6 ) {