X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fnetwork%2Fserv_networkclient.c;h=91dd4ad4d7f0ad5446c25360c87e300cd0756c10;hb=d7e16fba696d75111a03e335c98219e4ad3b5704;hp=51db451989d96192576a3a7aad7998fdb11687c1;hpb=7503f872f1d5fba349e0c6af6a017881fe97316b;p=citadel.git diff --git a/citadel/modules/network/serv_networkclient.c b/citadel/modules/network/serv_networkclient.c index 51db45198..91dd4ad4d 100644 --- a/citadel/modules/network/serv_networkclient.c +++ b/citadel/modules/network/serv_networkclient.c @@ -91,22 +91,26 @@ struct CitContext networker_client_CC; #define NODE ChrPtr(((AsyncNetworker*)IO->Data)->node) #define N ((AsyncNetworker*)IO->Data)->n +int NetworkClientDebugEnabled = 0; + +#define DBGLOG(LEVEL) if ((LEVEL != LOG_DEBUG) || (NetworkClientDebugEnabled != 0)) + #define EVN_syslog(LEVEL, FORMAT, ...) \ - syslog(LEVEL, \ + DBGLOG(LEVEL) syslog(LEVEL, \ "IO[%ld]CC[%d]NW[%s][%ld]" FORMAT, \ IO->ID, CCID, NODE, N, __VA_ARGS__) #define EVNM_syslog(LEVEL, FORMAT) \ - syslog(LEVEL, \ + DBGLOG(LEVEL) syslog(LEVEL, \ "IO[%ld]CC[%d]NW[%s][%ld]" FORMAT, \ IO->ID, CCID, NODE, N) #define EVNCS_syslog(LEVEL, FORMAT, ...) \ - syslog(LEVEL, "IO[%ld]NW[%s][%ld]" FORMAT, \ + DBGLOG(LEVEL) syslog(LEVEL, "IO[%ld]NW[%s][%ld]" FORMAT, \ IO->ID, NODE, N, __VA_ARGS__) #define EVNCSM_syslog(LEVEL, FORMAT) \ - syslog(LEVEL, "IO[%ld]NW[%s][%ld]" FORMAT, \ + DBGLOG(LEVEL) syslog(LEVEL, "IO[%ld]NW[%s][%ld]" FORMAT, \ IO->ID, NODE, N) @@ -159,6 +163,10 @@ void DeleteNetworker(void *vptr) FreeStrBuf(&NW->Url); FreeStrBuf(&NW->IO.ErrMsg); FreeAsyncIOContents(&NW->IO); + if (NW->HostLookup.VParsedDNSReply != NULL) { + NW->HostLookup.DNSReplyFree(NW->HostLookup.VParsedDNSReply); + NW->HostLookup.VParsedDNSReply = NULL; + } free(NW); } @@ -1029,8 +1037,10 @@ void network_do_clientqueue(void) free(working_ignetcfg); } - - +void LogDebugEnableNetworkClient(void) +{ + NetworkClientDebugEnabled = 1; +} /* * Module entry point */ @@ -1041,6 +1051,8 @@ CTDL_MODULE_INIT(network_client) CtdlFillSystemContext(&networker_client_CC, "CitNetworker"); CtdlRegisterSessionHook(network_do_clientqueue, EVT_TIMER); + CtdlRegisterDebugFlagHook(HKEY("networkclient"), LogDebugEnableNetworkClient); + } - return "network_client"; + return "networkclient"; }