ssl/tls: support AppLayerTxData

pull/5169/head
Victor Julien 5 years ago
parent bc11a1c23e
commit fb780c7d92

@ -276,22 +276,6 @@ static uint64_t SSLGetTxCnt(void *state)
return 1; return 1;
} }
static void SSLSetTxLogged(void *state, void *tx, LoggerId logged)
{
SSLState *ssl_state = (SSLState *)state;
if (ssl_state)
ssl_state->logged = logged;
}
static LoggerId SSLGetTxLogged(void *state, void *tx)
{
SSLState *ssl_state = (SSLState *)state;
if (ssl_state)
return (ssl_state->logged);
return 0;
}
static int SSLGetAlstateProgressCompletionStatus(uint8_t direction) static int SSLGetAlstateProgressCompletionStatus(uint8_t direction)
{ {
return TLS_STATE_FINISHED; return TLS_STATE_FINISHED;
@ -323,24 +307,10 @@ static int SSLGetAlstateProgress(void *tx, uint8_t direction)
return TLS_STATE_IN_PROGRESS; return TLS_STATE_IN_PROGRESS;
} }
static uint64_t SSLGetTxDetectFlags(void *vtx, uint8_t dir) static AppLayerTxData *SSLGetTxData(void *vtx)
{ {
SSLState *ssl_state = (SSLState *)vtx; SSLState *ssl_state = (SSLState *)vtx;
if (dir & STREAM_TOSERVER) { return &ssl_state->tx_data;
return ssl_state->detect_flags_ts;
} else {
return ssl_state->detect_flags_tc;
}
}
static void SSLSetTxDetectFlags(void *vtx, uint8_t dir, uint64_t flags)
{
SSLState *ssl_state = (SSLState *)vtx;
if (dir & STREAM_TOSERVER) {
ssl_state->detect_flags_ts = flags;
} else {
ssl_state->detect_flags_tc = flags;
}
} }
void SSLVersionToString(uint16_t version, char *buffer) void SSLVersionToString(uint16_t version, char *buffer)
@ -3005,15 +2975,12 @@ void RegisterSSLParsers(void)
SSLGetTxDetectState, SSLSetTxDetectState); SSLGetTxDetectState, SSLSetTxDetectState);
AppLayerParserRegisterGetTx(IPPROTO_TCP, ALPROTO_TLS, SSLGetTx); AppLayerParserRegisterGetTx(IPPROTO_TCP, ALPROTO_TLS, SSLGetTx);
AppLayerParserRegisterTxDataFunc(IPPROTO_TCP, ALPROTO_TLS, SSLGetTxData);
AppLayerParserRegisterGetTxCnt(IPPROTO_TCP, ALPROTO_TLS, SSLGetTxCnt); AppLayerParserRegisterGetTxCnt(IPPROTO_TCP, ALPROTO_TLS, SSLGetTxCnt);
AppLayerParserRegisterGetStateProgressFunc(IPPROTO_TCP, ALPROTO_TLS, SSLGetAlstateProgress); AppLayerParserRegisterGetStateProgressFunc(IPPROTO_TCP, ALPROTO_TLS, SSLGetAlstateProgress);
AppLayerParserRegisterLoggerFuncs(IPPROTO_TCP, ALPROTO_TLS, SSLGetTxLogged, SSLSetTxLogged);
AppLayerParserRegisterDetectFlagsFuncs(IPPROTO_TCP, ALPROTO_TLS,
SSLGetTxDetectFlags, SSLSetTxDetectFlags);
AppLayerParserRegisterGetStateProgressCompletionStatus(ALPROTO_TLS, AppLayerParserRegisterGetStateProgressCompletionStatus(ALPROTO_TLS,
SSLGetAlstateProgressCompletionStatus); SSLGetAlstateProgressCompletionStatus);

@ -233,16 +233,11 @@ typedef struct SSLStateConnp_ {
typedef struct SSLState_ { typedef struct SSLState_ {
Flow *f; Flow *f;
AppLayerTxData tx_data;
/* holds some state flags we need */ /* holds some state flags we need */
uint32_t flags; uint32_t flags;
/* specifies which loggers are done logging */
uint32_t logged;
/* detect flags */
uint64_t detect_flags_ts;
uint64_t detect_flags_tc;
/* there might be a better place to store this*/ /* there might be a better place to store this*/
uint16_t hb_record_len; uint16_t hb_record_len;

Loading…
Cancel
Save