]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/smtp/smtp_clienthandlers.h
fixed off-by-one error in previous commit
[citadel.git] / citadel / modules / smtp / smtp_clienthandlers.h
index 149c3ddc54fbc6bceff972ea636bdfc33d0be5cc..8d0fa9b83ea780f7c3cc58020a517b8b08faf571 100644 (file)
@@ -22,6 +22,8 @@ typedef enum _eSMTP_C_States {
        eEHLO,
        eHELO,
        eSMTPAuth,
+       eSMTPAuthPlain1,
+       eSMTPAuthPlain2,
        eFROM,
        eRCPT,
        eDATA,
@@ -60,14 +62,16 @@ typedef struct _stmp_out_msg {
        ParsedURL *pCurrRelay;
        StrBuf *msgtext;
        StrBuf *QMsgData;
+       StrBuf *MultiLineBuf;
        const char *envelope_from;
 
        char user[1024];
        char node[1024];
        char name[1024];
        char mailfrom[1024];
-
+       long SendLogin;
        long Flags;
+       long IsRelay;
 } SmtpOutMsg;
 
 
@@ -95,29 +99,19 @@ int smtp_resolve_recipients(SmtpOutMsg *SendMsg);
 #define N ((SmtpOutMsg*)IO->Data)->n
 #define DBGLOG(LEVEL) if ((LEVEL != LOG_DEBUG) || (SMTPClientDebugEnabled != 0))
 
-#define EVS_syslog(LEVEL, FORMAT, ...) \
-       DBGLOG(LEVEL) syslog(LEVEL,               \
-              "SMTPC:IO[%ld]CC[%d]S[%ld][%ld] " FORMAT, \
-              IO->ID, CCID, QID, N, __VA_ARGS__)
-
-#define EVSM_syslog(LEVEL, FORMAT) \
-       DBGLOG(LEVEL) syslog(LEVEL, \
-              "SMTPC:IO[%ld]CC[%d]S[%ld][%ld] " FORMAT, \
-              IO->ID, CCID, QID, N)
-
-#define EVNCS_syslog(LEVEL, FORMAT, ...) \
-       DBGLOG(LEVEL) syslog(LEVEL, "SMTPC:IO[%ld]S[%ld][%ld] " FORMAT, \
-              IO->ID, QID, N, __VA_ARGS__)
-
-#define EVNCSM_syslog(LEVEL, FORMAT) \
-       DBGLOG(LEVEL) syslog(LEVEL, "SMTPC:IO[%ld]S[%ld][%ld] " FORMAT, \
-              IO->ID, QID, N)
-
-#define SMTPC_syslog(LEVEL, FORMAT, ...)         \
-       DBGLOG(LEVEL) syslog(LEVEL,               \
-                            "SMTPCQ: " FORMAT,   \
-                            __VA_ARGS__)
-
-#define SMTPCM_syslog(LEVEL, FORMAT)           \
-       DBGLOG(LEVEL) syslog(LEVEL,             \
-                            "SMTPCQ: " FORMAT)
+typedef enum __smtpstate {
+       eSTMPmxlookup,
+       eSTMPevaluatenext,
+       eSTMPalookup,
+       eSTMPaaaalookup,
+       eSTMPconnecting,
+       eSTMPsmtp,
+       eSTMPsmtpdata,
+       eSTMPsmtpdone,
+       eSTMPfinished,
+       eSTMPfailOne,
+       eSMTPFailTemporary,
+       eSMTPFailTotal
+} smtpstate;
+
+void SetSMTPState(AsyncIO *IO, smtpstate State);