第一个数据包尝试解析SNI,支持QUIC SNI的白名单

This commit is contained in:
liuxueli
2021-09-13 16:33:56 +08:00
parent 6bf86b1824
commit 3aa13f90d7

View File

@@ -1268,14 +1268,9 @@ int quic_process(struct streaminfo *pstream, struct _quic_context* _context, int
}
is_gquic=is_quic_protocol(pstream, _context, (char *)udp_detail->pdata, udp_detail->datalen, &used_len);
if(!_context->call_business)
{
return APP_STATE_GIVEME;
}
if(is_gquic!=QUIC_VERSION_UNKNOWN)
{
if(_context->cb_version==0)
if(_context->cb_version==0 && _context->call_business)
{
_context->cb_version=1;
ret=quic_callPlugins(pstream, _context, &(_context->quic_info.quic_hdr.quic_version), sizeof(_context->quic_info.quic_hdr.quic_version), QUIC_USEING_VERSION_MASK, a_packet);
@@ -1298,6 +1293,7 @@ int quic_process(struct streaminfo *pstream, struct _quic_context* _context, int
if(is_gquic>=GQUIC_VERSION_Q001 && is_gquic<=GQUIC_VERSION_Q046)
{
ret=gquic_proc_unencrypt(pstream, _context, a_packet, (char *)udp_detail->pdata, udp_detail->datalen, &used_len);
break;
}
if( ((is_gquic>=MVFST_VERSION_00 && is_gquic<=MVFST_VERSION_0F) ||
@@ -1320,11 +1316,14 @@ int quic_process(struct streaminfo *pstream, struct _quic_context* _context, int
break;
}
if(_context->call_business)
{
ret=quic_callPlugins(pstream, _context, (char *)udp_detail->pdata, udp_detail->datalen, QUIC_APPLICATION_DATA_MASK, a_packet);
if((ret&APP_STATE_DROPME) || (ret&APP_STATE_DROPPKT))
{
return ret;
}
}
break;
@@ -1336,12 +1335,12 @@ int quic_process(struct streaminfo *pstream, struct _quic_context* _context, int
}
}
if(_context->quic_info.quic_hdr.is_reset)
if(_context->is_quic==TRUE)
{
if(_context->quic_info.quic_hdr.is_reset && _context->call_business)
{
return quic_callPlugins(pstream, _context, NULL, 0, QUIC_INTEREST_KEY_MASK, a_packet);
if(_context->quic_info.quic_hdr.is_version_negotiation)
}
if(_context->quic_info.quic_hdr.is_version_negotiation && _context->call_business)
{