From: Wilfried Goesgens Date: Tue, 24 Apr 2012 18:25:27 +0000 (+0200) Subject: SMTP-Client: add per facility debug logging 'smtpeventclient' X-Git-Tag: v8.11~69 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=1f492ac650c71a515d36571d5c0a5effd05779dd SMTP-Client: add per facility debug logging 'smtpeventclient' --- diff --git a/citadel/modules/smtp/serv_smtpeventclient.c b/citadel/modules/smtp/serv_smtpeventclient.c index 3037b0c0c..2869b8d44 100644 --- a/citadel/modules/smtp/serv_smtpeventclient.c +++ b/citadel/modules/smtp/serv_smtpeventclient.c @@ -90,6 +90,7 @@ #include "smtpqueue.h" #include "smtp_clienthandlers.h" +int SMTPClientDebugEnabled = 0; const unsigned short DefaultMXPort = 25; void DeleteSmtpOutMsg(void *v) { @@ -829,7 +830,14 @@ eReadState SMTP_C_ReadServerStatus(AsyncIO *IO) return Finished; } +void LogDebugEnableSMTPClient(void) +{ + SMTPClientDebugEnabled = 1; +} + CTDL_MODULE_INIT(smtp_eventclient) { + if (!threading) + CtdlRegisterDebugFlagHook(HKEY("smtpeventclient"), LogDebugEnableSMTPClient); return "smtpeventclient"; } diff --git a/citadel/modules/smtp/smtp_clienthandlers.c b/citadel/modules/smtp/smtp_clienthandlers.c index 09a1bd881..0a01805c6 100644 --- a/citadel/modules/smtp/smtp_clienthandlers.c +++ b/citadel/modules/smtp/smtp_clienthandlers.c @@ -90,16 +90,16 @@ #define SMTP_ERROR(WHICH_ERR, ERRSTR) do { \ Msg->MyQEntry->Status = WHICH_ERR; \ - StrBufAppendBufPlain(Msg->MyQEntry->StatusMessage, \ + StrBufAppendBufPlain(Msg->MyQEntry->StatusMessage, \ HKEY(ERRSTR), 0); \ return eAbort; } \ while (0) #define SMTP_VERROR(WHICH_ERR) do { \ Msg->MyQEntry->Status = WHICH_ERR; \ - StrBufPlain(Msg->MyQEntry->StatusMessage, \ - ChrPtr(Msg->IO.IOBuf) + 4, \ - StrLength(Msg->IO.IOBuf) - 4); \ + StrBufPlain(Msg->MyQEntry->StatusMessage, \ + ChrPtr(Msg->IO.IOBuf) + 4, \ + StrLength(Msg->IO.IOBuf) - 4); \ return eAbort; } \ while (0) diff --git a/citadel/modules/smtp/smtp_clienthandlers.h b/citadel/modules/smtp/smtp_clienthandlers.h index 38a7f58f4..46532c032 100644 --- a/citadel/modules/smtp/smtp_clienthandlers.h +++ b/citadel/modules/smtp/smtp_clienthandlers.h @@ -87,26 +87,28 @@ const double SMTP_C_ConnTimeout; #define F_HAVE_MX (1<<3) /* we have a list of mx records to go through.*/ #define F_DIRECT (1<<4) /* no mx record found, trying direct connect. */ +extern int SMTPClientDebugEnabled; int smtp_resolve_recipients(SmtpOutMsg *SendMsg); #define QID ((SmtpOutMsg*)IO->Data)->MyQItem->MessageID #define N ((SmtpOutMsg*)IO->Data)->n +#define DBGLOG(LEVEL) if ((LEVEL != LOG_DEBUG) || (SMTPClientDebugEnabled != 0)) #define EVS_syslog(LEVEL, FORMAT, ...) \ - syslog(LEVEL, \ + DBGLOG(LEVEL) syslog(LEVEL, \ "IO[%ld]CC[%d]S[%ld][%ld]" FORMAT, \ IO->ID, CCID, QID, N, __VA_ARGS__) #define EVSM_syslog(LEVEL, FORMAT) \ - syslog(LEVEL, \ + DBGLOG(LEVEL) syslog(LEVEL, \ "IO[%ld]CC[%d]S[%ld][%ld]" FORMAT, \ IO->ID, CCID, QID, N) #define EVNCS_syslog(LEVEL, FORMAT, ...) \ - syslog(LEVEL, "IO[%ld]S[%ld][%ld]" FORMAT, \ + DBGLOG(LEVEL) syslog(LEVEL, "IO[%ld]S[%ld][%ld]" FORMAT, \ IO->ID, QID, N, __VA_ARGS__) #define EVNCSM_syslog(LEVEL, FORMAT) \ - syslog(LEVEL, "IO[%ld]S[%ld][%ld]" FORMAT, \ + DBGLOG(LEVEL) syslog(LEVEL, "IO[%ld]S[%ld][%ld]" FORMAT, \ IO->ID, QID, N)