7 Commits

Author SHA1 Message Date
yangwei
33a2bc5b39 🐎 ci(travis): remove sentry-cli 2024-01-11 16:58:54 +08:00
yangwei
aebc66e015 🎈 perf(QUIC_MAX_UDP_PAYLOAD_SIZE): from 65527 to 1460
reduce mem alloc
2024-01-11 15:46:09 +08:00
liuxueli
a7d76dda73 TSG-16626: 收到UDP Close状态,若未调用过业务层则不需要通知业务层close状态 2023-08-25 18:30:30 +08:00
yangwei
4d731800bf 🐞 fix(parse_quic_uncryption_payload): 增加长度判断,修复长度异常时造成的内存非法读
附test/pcap/quic_len-2.pcapng为解析长度异常的包
2023-07-28 23:24:57 +08:00
yangwei
1b678406e7 🔧 build(cmake version): 更新最低版本要求至3.10,修复changelog脚本生成可能报错的问题 2023-07-28 23:22:51 +08:00
yangwei
479fd1a771 🐞 fix(quic version len): 增加包长判断,避免读越界 2023-07-26 19:21:14 +08:00
liuxueli
bfeae04470 Debug版本链接ASAN,用于定位问题 2023-07-26 11:19:32 +08:00
9 changed files with 24 additions and 13 deletions

View File

@@ -126,6 +126,7 @@ release_build_debug_for_centos7:
BUILD_TYPE: Debug
PACKAGE: 1
UPLOAD_RPM: 1
ASAN_OPTION: ADDRESS
PULP3_REPO_NAME: protocol-stable-x86_64.el7
PULP3_DIST_NAME: protocol-stable-x86_64.el7
extends: .build_by_travis_for_centos7
@@ -217,6 +218,7 @@ release_build_debug_for_centos8:
BUILD_TYPE: Debug
PACKAGE: 1
UPLOAD_RPM: 1
ASAN_OPTION: ADDRESS
PULP3_REPO_NAME: protocol-stable-x86_64.el8
PULP3_DIST_NAME: protocol-stable-x86_64.el8
extends: .build_by_travis_for_centos8

View File

@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 2.8)
cmake_minimum_required (VERSION 2.8...3.10)
set(lib_name quic)

View File

@@ -67,9 +67,3 @@ if [ -n "${UPLOAD_RPM}" ]; then
python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm
fi
if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then
rpm -i $SYMBOL_TARGET*debuginfo*.rpm
_symbol_file=`find /usr/lib/debug/ -name "$SYMBOL_TARGET*.so*.debug"`
cp $_symbol_file ${_symbol_file}info.${CI_COMMIT_SHORT_SHA}
sentry-cli upload-dif -t elf ${_symbol_file}info.${CI_COMMIT_SHORT_SHA}
fi

View File

@@ -1,4 +1,4 @@
#!/bin/sh
work_path=$1
branch=`git status | grep branch | awk '{print $NF}'`
branch=`git status | grep 'On branch' | awk '{print $NF}'`
git log --branches=$branch --no-merges --date=local --show-signature --pretty="* %ad %an %ae %nhash: %H%ncommit:%n%B" | awk -F"-" '{print "- "$0}' | sed 's/- \*/\*/g' | sed 's/- $//g' | sed 's/-/ -/g' | sed 's/[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}//g' > $work_path/changelog.txt

View File

@@ -44,7 +44,7 @@ extern "C"
#endif
#define QUIC_MAX_UDP_PAYLOAD_SIZE 65527
#define QUIC_MAX_UDP_PAYLOAD_SIZE 1460
#define quic_string(str) \
{ \

View File

@@ -177,8 +177,12 @@ extern "C" unsigned char QUIC_ENTRY(const struct streaminfo *pstream, void**pme,
state=quic_analyze_entry(pstream, context, thread_seq, a_packet);
if(state&APP_STATE_DROPME || pstream->opstate==OP_STATE_CLOSE)
{
quic_call_business_plug(pstream, context, NULL, 0, QUIC_INTEREST_KEY_MASK, a_packet);
{
if(context->link_state==1)
{
quic_call_business_plug(pstream, context, NULL, 0, QUIC_INTEREST_KEY_MASK, a_packet);
}
quic_free_context(pstream, g_quic_param.context_bridge_id, *pme);
stream_bridge_async_data_put(pstream, g_quic_param.context_bridge_id, NULL);
*pme=NULL;
@@ -321,6 +325,8 @@ extern "C" long long QUIC_FLAG_CHANGE(char* flag_str)
extern "C" void QUIC_DESTROY(void)
{
MESA_destroy_runtime_log_handle(g_quic_param.logger);
g_quic_param.logger = NULL;
return ;
}

View File

@@ -737,6 +737,11 @@ enum QUIC_VERSION is_quic_protocol(const char *payload, int payload_len, int *pa
enum QUIC_VERSION quic_version=QUIC_VERSION_UNKNOWN;
unsigned char frame_type=(unsigned char)(payload[0]);
if(payload_len<=4)
{
return QUIC_VERSION_UNKNOWN;
}
if(frame_type&QUIC_LONG_HEADER_MASK)
{
quic_version=identify_quic_version(payload, payload_len, payload_offset);
@@ -773,7 +778,11 @@ unsigned char parse_quic_all_version(struct quic_info *quic_info, const char *pa
if(quic_version>=GQUIC_VERSION_Q001 && quic_version<=GQUIC_VERSION_Q048)
{
return parse_quic_uncryption_payload(quic_info, payload+payload_offset, payload_len-payload_offset, thread_seq);
if(payload_len > payload_offset)
{
return parse_quic_uncryption_payload(quic_info, payload+payload_offset, payload_len-payload_offset, thread_seq);
}
return PARSE_RESULT_VERSION;
}
else if(((quic_version>=MVFST_VERSION_00 && quic_version<=MVFST_VERSION_0F) ||
(quic_version>=GQUIC_VERSION_Q049 && quic_version<=GQUIC_VERSION_Q059) ||

View File

@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 2.8)
cmake_minimum_required (VERSION 2.8...3.10)
set(lib_name quic)
project(${lib_name}_test)

Binary file not shown.