|
|
|
|
@ -160,8 +160,6 @@ static int DetectTlsSniTest01(void)
|
|
|
|
|
|
|
|
|
|
Flow f;
|
|
|
|
|
SSLState *ssl_state = NULL;
|
|
|
|
|
Packet *p = NULL;
|
|
|
|
|
Signature *s = NULL;
|
|
|
|
|
ThreadVars tv;
|
|
|
|
|
DetectEngineThreadCtx *det_ctx = NULL;
|
|
|
|
|
TcpSession ssn;
|
|
|
|
|
@ -171,9 +169,9 @@ static int DetectTlsSniTest01(void)
|
|
|
|
|
memset(&f, 0, sizeof(Flow));
|
|
|
|
|
memset(&ssn, 0, sizeof(TcpSession));
|
|
|
|
|
|
|
|
|
|
p = UTHBuildPacketReal(buf, sizeof(buf), IPPROTO_TCP,
|
|
|
|
|
"192.168.1.5", "192.168.1.1",
|
|
|
|
|
41424, 443);
|
|
|
|
|
Packet *p = UTHBuildPacketReal(buf, sizeof(buf), IPPROTO_TCP,
|
|
|
|
|
"192.168.1.5", "192.168.1.1",
|
|
|
|
|
41424, 443);
|
|
|
|
|
|
|
|
|
|
FLOW_INITIALIZE(&f);
|
|
|
|
|
f.protoctx = (void *)&ssn;
|
|
|
|
|
@ -194,18 +192,16 @@ static int DetectTlsSniTest01(void)
|
|
|
|
|
de_ctx->mpm_matcher = mpm_default_matcher;
|
|
|
|
|
de_ctx->flags |= DE_QUIET;
|
|
|
|
|
|
|
|
|
|
s = DetectEngineAppendSig(de_ctx, "alert tls any any -> any any "
|
|
|
|
|
"(msg:\"Test tls.sni option\"; "
|
|
|
|
|
"tls.sni; content:\"google.com\"; sid:1;)");
|
|
|
|
|
Signature *s = DetectEngineAppendSig(de_ctx, "alert tls any any -> any any "
|
|
|
|
|
"(msg:\"Test tls.sni option\"; "
|
|
|
|
|
"tls.sni; content:\"google.com\"; sid:1;)");
|
|
|
|
|
FAIL_IF_NULL(s);
|
|
|
|
|
|
|
|
|
|
SigGroupBuild(de_ctx);
|
|
|
|
|
DetectEngineThreadCtxInit(&tv, (void *)de_ctx, (void *)&det_ctx);
|
|
|
|
|
|
|
|
|
|
FLOWLOCK_WRLOCK(&f);
|
|
|
|
|
int r = AppLayerParserParse(NULL, alp_tctx, &f, ALPROTO_TLS,
|
|
|
|
|
STREAM_TOSERVER, buf, sizeof(buf));
|
|
|
|
|
FLOWLOCK_UNLOCK(&f);
|
|
|
|
|
FAIL_IF(r != 0);
|
|
|
|
|
|
|
|
|
|
ssl_state = f.alstate;
|
|
|
|
|
@ -252,8 +248,6 @@ static int DetectTlsSniTest02(void)
|
|
|
|
|
|
|
|
|
|
Flow f;
|
|
|
|
|
SSLState *ssl_state = NULL;
|
|
|
|
|
Packet *p = NULL;
|
|
|
|
|
Signature *s = NULL;
|
|
|
|
|
ThreadVars tv;
|
|
|
|
|
DetectEngineThreadCtx *det_ctx = NULL;
|
|
|
|
|
TcpSession ssn;
|
|
|
|
|
@ -263,9 +257,9 @@ static int DetectTlsSniTest02(void)
|
|
|
|
|
memset(&f, 0, sizeof(Flow));
|
|
|
|
|
memset(&ssn, 0, sizeof(TcpSession));
|
|
|
|
|
|
|
|
|
|
p = UTHBuildPacketReal(buf, sizeof(buf), IPPROTO_TCP,
|
|
|
|
|
"192.168.1.5", "192.168.1.1",
|
|
|
|
|
41424, 443);
|
|
|
|
|
Packet *p = UTHBuildPacketReal(buf, sizeof(buf), IPPROTO_TCP,
|
|
|
|
|
"192.168.1.5", "192.168.1.1",
|
|
|
|
|
41424, 443);
|
|
|
|
|
|
|
|
|
|
FLOW_INITIALIZE(&f);
|
|
|
|
|
f.protoctx = (void *)&ssn;
|
|
|
|
|
@ -286,10 +280,10 @@ static int DetectTlsSniTest02(void)
|
|
|
|
|
de_ctx->mpm_matcher = mpm_default_matcher;
|
|
|
|
|
de_ctx->flags |= DE_QUIET;
|
|
|
|
|
|
|
|
|
|
s = DetectEngineAppendSig(de_ctx, "alert tls any any -> any any "
|
|
|
|
|
"(msg:\"Test tls.sni option\"; "
|
|
|
|
|
"tls.sni; content:\"google\"; nocase; "
|
|
|
|
|
"pcre:\"/google\\.com$/i\"; sid:1;)");
|
|
|
|
|
Signature *s = DetectEngineAppendSig(de_ctx, "alert tls any any -> any any "
|
|
|
|
|
"(msg:\"Test tls.sni option\"; "
|
|
|
|
|
"tls.sni; content:\"google\"; nocase; "
|
|
|
|
|
"pcre:\"/google\\.com$/i\"; sid:1;)");
|
|
|
|
|
FAIL_IF_NULL(s);
|
|
|
|
|
|
|
|
|
|
s = DetectEngineAppendSig(de_ctx, "alert tls any any -> any any "
|
|
|
|
|
@ -301,10 +295,8 @@ static int DetectTlsSniTest02(void)
|
|
|
|
|
SigGroupBuild(de_ctx);
|
|
|
|
|
DetectEngineThreadCtxInit(&tv, (void *)de_ctx, (void *)&det_ctx);
|
|
|
|
|
|
|
|
|
|
FLOWLOCK_WRLOCK(&f);
|
|
|
|
|
int r = AppLayerParserParse(NULL, alp_tctx, &f, ALPROTO_TLS,
|
|
|
|
|
STREAM_TOSERVER, buf, sizeof(buf));
|
|
|
|
|
FLOWLOCK_UNLOCK(&f);
|
|
|
|
|
FAIL_IF(r != 0);
|
|
|
|
|
|
|
|
|
|
ssl_state = f.alstate;
|
|
|
|
|
|