Skip to content

Commit cf58412

Browse files
authored
Version update 1.8.3
1. [+] enable FEC on stream level @cherylsy 2. [+] Extend ACK frames with received Timestamp @PFpengfeng 3. [~] fix bugs on PTMUD module @yangfurong 4. [~] fix crash caused by SR Token conflict @yangfurong
2 parents a83f59b + 323f351 commit cf58412

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+4412
-1046
lines changed

Diff for: .github/workflows/build.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
SSL_TYPE_STR="boringssl"
5959
SSL_PATH_STR="${PWD}/third_party/boringssl"
6060
SSL_INC_PATH_STR="${PWD}/third_party/boringssl/include"
61-
SSL_LIB_PATH_STR="${PWD}/third_party/boringssl/build/ssl/libssl.a;${PWD}/third_party/boringssl/build/crypto/libcrypto.a"
61+
SSL_LIB_PATH_STR="${PWD}/third_party/boringssl/build/libssl.a;${PWD}/third_party/boringssl/build/libcrypto.a"
6262
mkdir -p build
6363
cd build
6464
cmake -DGCOV=on -DCMAKE_BUILD_TYPE=Debug -DXQC_ENABLE_TESTING=1 -DXQC_PRINT_SECRET=1 -DXQC_SUPPORT_SENDMMSG_BUILD=1 -DXQC_ENABLE_EVENT_LOG=1 -DXQC_ENABLE_BBR2=1 -DXQC_ENABLE_RENO=1 -DSSL_TYPE=${SSL_TYPE_STR} -DSSL_PATH=${SSL_PATH_STR} -DXQC_ENABLE_UNLIMITED=1 -DXQC_ENABLE_COPA=1 -DXQC_COMPAT_DUPLICATE=1 -DXQC_ENABLE_FEC=1 -DXQC_ENABLE_XOR=1 -DXQC_ENABLE_RSC=1 -DXQC_ENABLE_PKM=1 ..
@@ -141,7 +141,7 @@ jobs:
141141
SSL_TYPE_STR="boringssl"
142142
SSL_PATH_STR="${PWD}/third_party/boringssl"
143143
SSL_INC_PATH_STR="${PWD}/third_party/boringssl/include"
144-
SSL_LIB_PATH_STR="${PWD}/third_party/boringssl/build/ssl/libssl.a;${PWD}/third_party/boringssl/build/crypto/libcrypto.a"
144+
SSL_LIB_PATH_STR="${PWD}/third_party/boringssl/build/libssl.a;${PWD}/third_party/boringssl/build/libcrypto.a"
145145
mkdir -p build
146146
cd build
147147
cmake -DPLATFORM=mac -DSSL_TYPE=${SSL_TYPE_STR} -DSSL_PATH=${SSL_PATH_STR} -DSSL_INC_PATH=${SSL_INC_PATH_STR} -DSSL_LIB_PATH=${SSL_LIB_PATH_STR} ..

Diff for: .github/workflows/codeql-analysis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
SSL_TYPE_STR="boringssl"
5858
SSL_PATH_STR="${PWD}/third_party/boringssl"
5959
SSL_INC_PATH_STR="${PWD}/third_party/boringssl/include"
60-
SSL_LIB_PATH_STR="${PWD}/third_party/boringssl/build/ssl/libssl.a;${PWD}/third_party/boringssl/build/crypto/libcrypto.a"
60+
SSL_LIB_PATH_STR="${PWD}/third_party/boringssl/build/libssl.a;${PWD}/third_party/boringssl/build/libcrypto.a"
6161
mkdir -p build
6262
cd build
6363
cmake -DGCOV=on -DCMAKE_BUILD_TYPE=Debug -DXQC_ENABLE_TESTING=1 -DXQC_PRINT_SECRET=1 -DXQC_SUPPORT_SENDMMSG_BUILD=1 -DXQC_ENABLE_EVENT_LOG=1 -DXQC_ENABLE_BBR2=1 -DXQC_ENABLE_RENO=1 -DSSL_TYPE=${SSL_TYPE_STR} -DSSL_PATH=${SSL_PATH_STR} -DXQC_ENABLE_UNLIMITED=1 -DXQC_ENABLE_COPA=1 -DXQC_COMPAT_DUPLICATE=1 -DXQC_ENABLE_FEC=1 -DXQC_ENABLE_XOR=1 -DXQC_ENABLE_RSC=1 -DXQC_ENABLE_PKM=1 ..

Diff for: CMakeLists.txt

+7-2
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,14 @@ endif()
112112
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O2 -std=gnu11 -Wall ${CMAKE_C_FLAGS_OPTION} -DNDEBUG_PRINT -DNPRINT_MALLOC ")
113113
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -g -O0 -std=gnu11 -Wall ${CMAKE_C_FLAGS_OPTION} -DNDEBUG_PRINT -DNPRINT_MALLOC -DXQC_DEBUG ")
114114

115+
if(ASAN)
116+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w -fsanitize=address -fsanitize-address-use-after-scope -fno-omit-frame-pointer")
117+
endif()
118+
115119

116120
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
117121
add_definitions(-DXQC_SYS_WINDOWS=1)
118-
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /Zi")
122+
set(CMAKE_C_FLAGS_OPTION " ")
119123
endif()
120124

121125

@@ -131,7 +135,7 @@ include_directories(include
131135
${CMAKE_SOURCE_DIR}
132136
)
133137

134-
option (XQC_PRINT_SECRET "enable TLS secret printing" OFF)
138+
135139

136140
# print tls traffic secret in keylog
137141
if(XQC_PRINT_SECRET)
@@ -222,6 +226,7 @@ set(
222226
"src/transport/xqc_quic_lb.c"
223227
"src/transport/xqc_timer.c"
224228
"src/transport/xqc_reinjection.c"
229+
"src/transport/xqc_recv_timestamps_info.c"
225230
"src/transport/reinjection_control/xqc_reinj_default.c"
226231
"src/transport/reinjection_control/xqc_reinj_deadline.c"
227232
"src/transport/reinjection_control/xqc_reinj_dgram.c"

Diff for: cmake/CMakeLists.txt

+5
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@ include(CMakeOptions.txt)
9797

9898
if (XQC_BUILD_OPENSSL)
9999
if(${SSL_TYPE} MATCHES "boringssl")
100+
if (XQC_OPENSSL_SMALL)
101+
set(OPENSSL_SMALL "1")
102+
endif()
103+
100104
add_subdirectory(${SSL_PATH})
101105
include_directories(${SSL_PATH}/include)
102106

@@ -192,6 +196,7 @@ set(
192196
"src/transport/xqc_quic_lb.c"
193197
"src/transport/xqc_timer.c"
194198
"src/transport/xqc_reinjection.c"
199+
"src/transport/xqc_recv_timestamps_info.c"
195200
"src/transport/reinjection_control/xqc_reinj_default.c"
196201
"src/transport/reinjection_control/xqc_reinj_deadline.c"
197202
"src/transport/reinjection_control/xqc_reinj_dgram.c"

Diff for: cmake/FindSSL.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ endif()
3333
# find ssl static library
3434
find_library(SSL_LIBRARY_STATIC NAMES ${SSL_LIBRARY_STATIC_NAME}
3535
PATHS ${SSL_DIR}
36-
PATH_SUFFIXES lib64 lib build/ssl build/ssl/${CMAKE_BUILD_TYPE}
36+
PATH_SUFFIXES lib64 lib build build/${CMAKE_BUILD_TYPE}
3737
NO_DEFAULT_PATH)
3838

3939
# find crypto static library
4040
find_library(CRYPTO_LIBRARY_STATIC NAMES ${CRYPTO_LIBRARY_STATIC_NAME}
4141
PATHS ${SSL_DIR}
42-
PATH_SUFFIXES lib64 lib build/crypto build/crypto/${CMAKE_BUILD_TYPE}
42+
PATH_SUFFIXES lib64 lib build build/${CMAKE_BUILD_TYPE}
4343
NO_DEFAULT_PATH)
4444

4545
include (FindPackageHandleStandardArgs)

Diff for: demo/CMakeLists.txt

-6
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,16 @@ set(
55
"xqc_hq_conn.c"
66
"xqc_hq_request.c"
77
)
8-
set(
9-
TEST_PLATFORM_SOURCES
10-
"../tests/platform.c"
11-
)
128

139
set(
1410
DEMO_CLIENT_SOURCES
1511
${HQ_SOURCES}
16-
${TEST_PLATFORM_SOURCES}
1712
"demo_client.c"
1813
)
1914

2015
set(
2116
DEMO_SERVER_SOURCES
2217
${HQ_SOURCES}
23-
${TEST_PLATFORM_SOURCES}
2418
"demo_server.c"
2519
)
2620

0 commit comments

Comments
 (0)