when we did the login and replied, we mustn't try again to process the inbound comman...
[citadel.git] / citadel / modules / smtp / serv_smtp.c
index 4eec7e85d5852400de7e4cb750b189082c7eef48..abdc2d1ad7eeec19606ec7a101298aee3cb53df4 100644 (file)
@@ -668,7 +668,7 @@ void smtp_rcpt(long offset, long flags)
 {
        struct CitContext *CCC = CC;
        char message_to_spammer[SIZ];
-       struct recptypes *valid = NULL;
+       recptypes *valid = NULL;
        citsmtp *sSMTP = SMTP;
 
        if (StrLength(sSMTP->from) == 0) {
@@ -767,7 +767,7 @@ void smtp_data(long offset, long flags)
        struct CtdlMessage *msg = NULL;
        long msgnum = (-1L);
        char nowstamp[SIZ];
-       struct recptypes *valid;
+       recptypes *valid;
        int scan_errors;
        int i;
        citsmtp *sSMTP = SMTP;
@@ -863,13 +863,13 @@ void smtp_data(long offset, long flags)
                CM_SetField(msg, eHumanNode, config.c_humannode, strlen(config.c_humannode));
                CM_SetField(msg, eOriginalRoom, HKEY(MAILROOM));
                if (sSMTP->preferred_sender_name != NULL)
-                       CM_SetFieldSB(msg, eAuthor, sSMTP->preferred_sender_name);
+                       CM_SetField(msg, eAuthor, SKEY(sSMTP->preferred_sender_name));
                else 
                        CM_SetField(msg, eAuthor, CCC->user.fullname, strlen(CCC->user.fullname));
 
                if (!validemail) {
-                       if((sSMTP->preferred_sender_email != NULL)
-                               CM_SetFieldSB(msg, erFc822Addr, sSMTP->preferred_sender_email)) 
+                       if (sSMTP->preferred_sender_email != NULL)
+                               CM_SetField(msg, erFc822Addr, SKEY(sSMTP->preferred_sender_email));
                        else
                                CM_SetField(msg, erFc822Addr, CCC->cs_inet_email, strlen(CCC->cs_inet_email));
                }
@@ -896,7 +896,7 @@ void smtp_data(long offset, long flags)
                scan_errors = 0;
        }
        else {
-               scan_errors = PerformMessageHooks(msg, EVT_SMTPSCAN);
+               scan_errors = PerformMessageHooks(msg, valid, EVT_SMTPSCAN);
        }
 
        if (scan_errors > 0) {  /* We don't want this message! */
@@ -1004,6 +1004,7 @@ void smtp_command_loop(void)
 
        else if (sSMTP->command_state == smtp_plain) {
                smtp_try_plain(0, 0);
+               return;
        }
 
        pchs = pch = ChrPtr(sSMTP->Cmd);