rename InitEventIO to EvConnectSock, since this suits better what this function does...
[citadel.git] / citadel / modules / smtp / serv_smtpeventclient.c
index 6325ff8736e3c2c4bf2ac5cad154af10a96d70da..af5d12d9467328f4ac9f2bb51fb32b07efcbd2a0 100644 (file)
@@ -186,19 +186,25 @@ eNextState FailOneAttempt(AsyncIO *IO)
        /* 
         * possible ways here: 
         * - connection timeout 
-        * - 
+        * - dns lookup failed
         */
        StopClientWatchers(IO);
 
        if (SendMsg->pCurrRelay != NULL)
                SendMsg->pCurrRelay = SendMsg->pCurrRelay->Next;
 
-       if (SendMsg->pCurrRelay == NULL)
+       if (SendMsg->pCurrRelay == NULL) {
+               EVS_syslog(LOG_DEBUG, "SMTP: %s Aborting\n", __FUNCTION__);
                return eAbort;
-       if (SendMsg->pCurrRelay->IsIP)
+       }
+       if (SendMsg->pCurrRelay->IsIP) {
+               EVS_syslog(LOG_DEBUG, "SMTP: %s connecting IP\n", __FUNCTION__);
                return mx_connect_ip(IO);
-       else
+       }
+       else {
+               EVS_syslog(LOG_DEBUG, "SMTP: %s resolving next MX Record\n", __FUNCTION__);
                return get_one_mx_host_ip(IO);
+       }
 }
 
 
@@ -258,10 +264,10 @@ eNextState mx_connect_ip(AsyncIO *IO)
 
        SetConnectStatus(IO);
 
-       return InitEventIO(IO, SendMsg, 
-                          SMTP_C_ConnTimeout, 
-                          SMTP_C_ReadTimeouts[0],
-                          1);
+       return EvConnectSock(IO, SendMsg, 
+                            SMTP_C_ConnTimeout, 
+                            SMTP_C_ReadTimeouts[0],
+                            1);
 }
 
 eNextState get_one_mx_host_ip_done(AsyncIO *IO)
@@ -355,13 +361,13 @@ eNextState smtp_resolve_mx_record_done(AsyncIO *IO)
        while ((pp != NULL) && (*pp != NULL) && ((*pp)->Next != NULL))
                pp = &(*pp)->Next;
 
-       if ((IO->DNSQuery->DNSStatus == ARES_SUCCESS) && 
-           (IO->DNSQuery->VParsedDNSReply != NULL))
+       if ((IO->DNS.Query->DNSStatus == ARES_SUCCESS) && 
+           (IO->DNS.Query->VParsedDNSReply != NULL))
        { /* ok, we found mx records. */
                SendMsg->IO.ErrMsg = SendMsg->MyQEntry->StatusMessage;
                
                SendMsg->CurrMX    = SendMsg->AllMX 
-                                  = IO->DNSQuery->VParsedDNSReply;
+                                  = IO->DNS.Query->VParsedDNSReply;
                while (SendMsg->CurrMX) {
                        int i;
                        for (i = 0; i < 2; i++) {
@@ -451,7 +457,7 @@ SmtpOutMsg *new_smtp_outmsg(OneQueItem *MyQItem,
        SendMsg->IO.Terminate     = SMTP_C_Terminate;
        SendMsg->IO.LineReader    = SMTP_C_ReadServerStatus;
        SendMsg->IO.ConnFail      = SMTP_C_ConnFail;
-       SendMsg->IO.DNSFail       = SMTP_C_DNSFail;
+       SendMsg->IO.DNS.Fail      = SMTP_C_DNSFail;
        SendMsg->IO.Timeout       = SMTP_C_Timeout;
        SendMsg->IO.ShutdownAbort = SMTP_C_Shutdown;
 
@@ -486,10 +492,7 @@ void smtp_try_one_queue_entry(OneQueItem *MyQItem,
                SubC->session_specific_data = (char*) SendMsg;
                SendMsg->IO.CitContext = SubC;
                
-               EVS_syslog(LOG_DEBUG, 
-                          "SMTP: %s new context %s - %p\n", __FUNCTION__, 
-                          ChrPtr(SendMsg->MyQEntry->Recipient),
-                          SendMsg);
+               safestrncpy(SubC->cs_host, SendMsg->node, sizeof(SubC->cs_host));
                syslog(LOG_DEBUG, "SMTP Starting: [%ld] <%s> CC <%d> \n",
                       SendMsg->MyQItem->MessageID, 
                       ChrPtr(SendMsg->MyQEntry->Recipient),
@@ -627,7 +630,6 @@ eNextState SMTP_C_DNSFail(AsyncIO *IO)
        SmtpOutMsg *pMsg = IO->Data;
 
        EVS_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__);
-       StrBufPlain(IO->ErrMsg, CKEY(ReadErrors[pMsg->State]));
        return FailOneAttempt(IO);
 }
 eNextState SMTP_C_Shutdown(AsyncIO *IO)