X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fsmtp%2Fserv_smtpeventclient.c;h=8eaa22ff5bfa7e589920945e45d1f60fe22a1f61;hb=9089cfa3847490329ee69419a94bee0e5ea5e1d3;hp=498d94c882c9774f66a457814017794d28a9f178;hpb=fd29e13821d3aa616b03d447f92cfb2de112b31d;p=citadel.git diff --git a/citadel/modules/smtp/serv_smtpeventclient.c b/citadel/modules/smtp/serv_smtpeventclient.c index 498d94c88..8eaa22ff5 100644 --- a/citadel/modules/smtp/serv_smtpeventclient.c +++ b/citadel/modules/smtp/serv_smtpeventclient.c @@ -125,7 +125,8 @@ eNextState get_one_mx_host_ip(AsyncIO *IO); ******************************************************************************/ void FinalizeMessageSend(SmtpOutMsg *Msg) { - syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); + AsyncIO *IO = &Msg->IO; + EV_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); if (DecreaseQReference(Msg->MyQItem)) { @@ -168,6 +169,10 @@ void FinalizeMessageSend(SmtpOutMsg *Msg) eNextState FailOneAttempt(AsyncIO *IO) { SmtpOutMsg *SendMsg = IO->Data; + + if (SendMsg->MyQEntry->Status == 2) + return eAbort; + /* * possible ways here: * - connection timeout @@ -213,12 +218,12 @@ void SetConnectStatus(AsyncIO *IO) if (SendMsg->mx_host == NULL) SendMsg->mx_host = ""; - syslog(LOG_DEBUG, - "SMTP client[%ld]: connecting to %s [%s]:%d ...\n", - SendMsg->n, - SendMsg->mx_host, - buf, - SendMsg->IO.ConnectMe->Port); + EV_syslog(LOG_DEBUG, + "SMTP client[%ld]: connecting to %s [%s]:%d ...\n", + SendMsg->n, + SendMsg->mx_host, + buf, + SendMsg->IO.ConnectMe->Port); SendMsg->MyQEntry->Status = 5; StrBufPrintf(SendMsg->MyQEntry->StatusMessage, @@ -236,7 +241,7 @@ eNextState mx_connect_ip(AsyncIO *IO) { SmtpOutMsg *SendMsg = IO->Data; - syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); + EV_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); IO->ConnectMe = SendMsg->pCurrRelay; /* Bypass the ns lookup result like this: IO->Addr.sin_addr.s_addr = inet_addr("127.0.0.1"); */ @@ -299,14 +304,14 @@ eNextState get_one_mx_host_ip(AsyncIO *IO) InitC_ares_dns(IO); - syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); + EV_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); - syslog(LOG_DEBUG, - "SMTP client[%ld]: looking up %s-Record %s : %d ...\n", - SendMsg->n, - (SendMsg->pCurrRelay->IPv6)? "aaaa": "a", - SendMsg->pCurrRelay->Host, - SendMsg->pCurrRelay->Port); + EV_syslog(LOG_DEBUG, + "SMTP client[%ld]: looking up %s-Record %s : %d ...\n", + SendMsg->n, + (SendMsg->pCurrRelay->IPv6)? "aaaa": "a", + SendMsg->pCurrRelay->Host, + SendMsg->pCurrRelay->Port); if (!QueueQuery((SendMsg->pCurrRelay->IPv6)? ns_t_aaaa : ns_t_a, SendMsg->pCurrRelay->Host, @@ -335,7 +340,7 @@ eNextState smtp_resolve_mx_record_done(AsyncIO *IO) QueryCbDone(IO); - syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); + EV_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); pp = &SendMsg->Relay; while ((pp != NULL) && (*pp != NULL) && ((*pp)->Next != NULL)) pp = &(*pp)->Next; @@ -392,7 +397,7 @@ eNextState resolve_mx_records(AsyncIO *IO) { SmtpOutMsg * SendMsg = IO->Data; - syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); + EV_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); /* start resolving MX records here. */ if (!QueueQuery(ns_t_mx, SendMsg->node, @@ -507,8 +512,9 @@ void smtp_try_one_queue_entry(OneQueItem *MyQItem, void SMTPSetTimeout(eNextState NextTCPState, SmtpOutMsg *pMsg) { double Timeout = 0.0; + AsyncIO *IO = &pMsg->IO; - syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); + EV_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); switch (NextTCPState) { case eSendFile: @@ -545,7 +551,7 @@ void SMTPSetTimeout(eNextState NextTCPState, SmtpOutMsg *pMsg) } eNextState SMTP_C_DispatchReadDone(AsyncIO *IO) { - syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); + EV_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); SmtpOutMsg *pMsg = IO->Data; eNextState rc; @@ -556,7 +562,7 @@ eNextState SMTP_C_DispatchReadDone(AsyncIO *IO) } eNextState SMTP_C_DispatchWriteDone(AsyncIO *IO) { - syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); + EV_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); SmtpOutMsg *pMsg = IO->Data; eNextState rc; @@ -573,7 +579,7 @@ eNextState SMTP_C_Terminate(AsyncIO *IO) { SmtpOutMsg *pMsg = IO->Data; - syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); + EV_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); FinalizeMessageSend(pMsg); return eAbort; } @@ -581,7 +587,7 @@ eNextState SMTP_C_Timeout(AsyncIO *IO) { SmtpOutMsg *pMsg = IO->Data; - syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); + EV_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); StrBufPlain(IO->ErrMsg, CKEY(ReadErrors[pMsg->State])); return FailOneAttempt(IO); } @@ -597,13 +603,13 @@ eNextState SMTP_C_DNSFail(AsyncIO *IO) { SmtpOutMsg *pMsg = IO->Data; - syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); + EV_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); StrBufPlain(IO->ErrMsg, CKEY(ReadErrors[pMsg->State])); return FailOneAttempt(IO); } eNextState SMTP_C_Shutdown(AsyncIO *IO) { - syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); + EV_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__); SmtpOutMsg *pMsg = IO->Data; pMsg->MyQEntry->Status = 3;