smtp: register logger functions

pull/2081/head
Mats Klepsland 10 years ago committed by Victor Julien
parent dacb860d24
commit d484812d05

@ -1545,6 +1545,21 @@ static void *SMTPStateGetTx(void *state, uint64_t id)
}
static void SMTPStateSetTxLogged(void *state, void *vtx, uint32_t logger)
{
SMTPTransaction *tx = vtx;
tx->logged |= logger;
}
static int SMTPStateGetTxLogged(void *state, void *vtx, uint32_t logger)
{
SMTPTransaction *tx = vtx;
if (tx->logged & logger)
return 1;
return 0;
}
static int SMTPStateGetAlstateProgressCompletionStatus(uint8_t direction) {
return 1;
}
@ -1642,6 +1657,8 @@ void RegisterSMTPParsers(void)
AppLayerParserRegisterGetStateProgressFunc(IPPROTO_TCP, ALPROTO_SMTP, SMTPStateGetAlstateProgress);
AppLayerParserRegisterGetTxCnt(IPPROTO_TCP, ALPROTO_SMTP, SMTPStateGetTxCnt);
AppLayerParserRegisterGetTx(IPPROTO_TCP, ALPROTO_SMTP, SMTPStateGetTx);
AppLayerParserRegisterLoggerFuncs(IPPROTO_TCP, ALPROTO_SMTP, SMTPStateGetTxLogged,
SMTPStateSetTxLogged);
AppLayerParserRegisterGetStateProgressCompletionStatus(ALPROTO_SMTP,
SMTPStateGetAlstateProgressCompletionStatus);
AppLayerParserRegisterTruncateFunc(IPPROTO_TCP, ALPROTO_SMTP, SMTPStateTruncate);

@ -66,6 +66,8 @@ typedef struct SMTPTransaction_ {
/** id of this tx, starting at 0 */
uint64_t tx_id;
int done;
/** indicates loggers done logging */
uint32_t logged;
/** the first message contained in the session */
MimeDecEntity *msg_head;
/** the last message contained in the session */

Loading…
Cancel
Save