diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bb85323..5d61707 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -76,6 +76,7 @@ release_build_release: BUILD_TYPE: RelWithDebInfo PACKAGE: 1 UPLOAD: 1 + SYMBOL_TARGET: quic PULP3_REPO_NAME: protocol-stable-x86_64.el7 PULP3_DIST_NAME: protocol-stable-x86_64.el7 extends: .build_by_travis diff --git a/CMakeLists.txt b/CMakeLists.txt index 666b898..108a0aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,12 +46,7 @@ target_link_libraries(quic ${DNS_DEPEND_DYN_LIB}) set_target_properties(quic PROPERTIES OUTPUT_NAME ${lib_name}) set(CPACK_RPM_USER_FILELIST "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/plug/protocol/quic/quic.inf" - "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/conf/quic/quic.conf" - "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/etc/entrylist.conf" - "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/plug/conflist.inf ") - -SET(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/cmake/preInstall.sh") -SET(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/cmake/preUninstall.sh") + "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/conf/quic/quic.conf") install(TARGETS quic LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/plug/protocol/quic COMPONENT LIBRARY) install(FILES bin/quic.inf DESTINATION ${CMAKE_INSTALL_PREFIX}/plug/protocol/quic COMPONENT PROFILE) diff --git a/ci/travis.sh b/ci/travis.sh index 40a2780..ccfe6b2 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -55,10 +55,9 @@ fi if [ -n "${UPLOAD}" ]; then cp ~/rpm_upload_tools.py ./ python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm -fi -#if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then -# rpm -i tfe*debuginfo*.rpm -# cp /usr/lib/debug/opt/tsg/tfe/bin/tfe.debug /tmp/tfe.debuginfo.${CI_COMMIT_SHORT_SHA} -# sentry-cli upload-dif -t elf /tmp/tfe.debuginfo.${CI_COMMIT_SHORT_SHA} -#fi + 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 diff --git a/cmake/Package.cmake b/cmake/Package.cmake index edb4258..bcc3d4e 100644 --- a/cmake/Package.cmake +++ b/cmake/Package.cmake @@ -49,6 +49,8 @@ set(CPACK_RPM_HEADER_PACKAGE_CONFLICTS ${CPACK_RPM_HEADER_PACKAGE_NAME}) set(CPACK_COMPONENTS_ALL LIBRARY HEADER PROFILE) +SET(CPACK_RPM_LIBRARY_PRE_INSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/cmake/PreInstall.sh") +SET(CPACK_RPM_LIBRARY_PRE_UNINSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/cmake/PreUninstall.sh") set(CPACK_BUILD_SOURCE_DIRS "${CMAKE_SOURCE_DIR}") diff --git a/cmake/preUninstall.sh b/cmake/preUninstall.sh index ae4c8fc..99cb778 100644 --- a/cmake/preUninstall.sh +++ b/cmake/preUninstall.sh @@ -1,6 +1,9 @@ #!/bin/sh -DST=${RPM_INSTALL_PREFIX} -mkdir -p ${DST}/plug/business/ -touch ${DST}/plug/conflist.inf -sed -i '/quic.inf/d' ${DST}/plug/conflist.inf -sed -i '/QUIC/d' ${DST}etc/entrylist.conf +if [ $1 == 0 ]; then + DST=${RPM_INSTALL_PREFIX} + mkdir -p ${DST}/plug/business/ + touch ${DST}/plug/conflist.inf + + sed -i '/quic.inf/d' ${DST}/plug/conflist.inf + sed -i '/QUIC/d' ${DST}etc/entrylist.conf +fi diff --git a/src/gquic_process.c b/src/gquic_process.c index 41a65f8..e56fcc8 100644 --- a/src/gquic_process.c +++ b/src/gquic_process.c @@ -434,9 +434,47 @@ enum _QUIC_VERSION is_quic_protocol(struct streaminfo *pstream, struct _quic_con quic_version=parse_quic_header(pstream, _context, payload, payload_len, used_len); return quic_version; break; - //case IETF: unsupport + case GQUIC_VERSION_Q044: + case GQUIC_VERSION_Q045: + case GQUIC_VERSION_Q048: + case GQUIC_VERSION_Q049: + case GQUIC_VERSION_Q050: + case GQUIC_VERSION_Q099: + case IQUIC_VERSION_I001: + case IQUIC_VERSION_I002: + case IQUIC_VERSION_I003: + case IQUIC_VERSION_I004: + case IQUIC_VERSION_I005: + case IQUIC_VERSION_I006: + case IQUIC_VERSION_I007: + case IQUIC_VERSION_I008: + case IQUIC_VERSION_I009: + case IQUIC_VERSION_I010: + case IQUIC_VERSION_I011: + case IQUIC_VERSION_I012: + case IQUIC_VERSION_I013: + case IQUIC_VERSION_I014: + case IQUIC_VERSION_I015: + case IQUIC_VERSION_I016: + case IQUIC_VERSION_I017: + case IQUIC_VERSION_I018: + case IQUIC_VERSION_I019: + case IQUIC_VERSION_I020: + case IQUIC_VERSION_I021: + case IQUIC_VERSION_I032: + case IQUIC_VERSION_I023: + case IQUIC_VERSION_I024: + case IQUIC_VERSION_I025: + case IQUIC_VERSION_I026: + case IQUIC_VERSION_I027: + case IQUIC_VERSION_I028: + case IQUIC_VERSION_I029: + MESA_handle_runtime_log(g_quic_param.logger, RLOG_LV_DEBUG, "QUIC_UNSUPPORT", "version: Q%03u addr: %s", + (((quic_version>>8)&0x0000000F)*10) + ((quic_version)&0x0000000F), + printaddr(&pstream->addr, pstream->threadnum)); break; default: + break; } diff --git a/src/gquic_process.h b/src/gquic_process.h index 52a8ebd..5926f78 100644 --- a/src/gquic_process.h +++ b/src/gquic_process.h @@ -225,13 +225,44 @@ enum _QUIC_VERSION GQUIC_VERSION_Q099=0x51303939, //Google Proxied QUIC - PQUIC_VERSION_PROX=0x50524f58 + PQUIC_VERSION_PROX=0x50524f58, //GOQUIC_VERSION_GO=0x51474f[0-255], //quicly //QUICKLY_VERSION_QUICLY=0x91c170[0-255] //IETF - //IQUIC_VERSION_=0xf10000 + IQUIC_VERSION_I001=0xFF000001, + IQUIC_VERSION_I002=0xFF000002, + IQUIC_VERSION_I003=0xFF000003, + IQUIC_VERSION_I004=0xFF000004, + IQUIC_VERSION_I005=0xFF000005, + IQUIC_VERSION_I006=0xFF000006, + IQUIC_VERSION_I007=0xFF000007, + IQUIC_VERSION_I008=0xFF000008, + IQUIC_VERSION_I009=0xFF000009, + IQUIC_VERSION_I010=0xFF000010, + IQUIC_VERSION_I011=0xFF000011, + IQUIC_VERSION_I012=0xFF000012, + IQUIC_VERSION_I013=0xFF000013, + IQUIC_VERSION_I014=0xFF000014, + IQUIC_VERSION_I015=0xFF000015, + IQUIC_VERSION_I016=0xFF000016, + IQUIC_VERSION_I017=0xFF000017, + IQUIC_VERSION_I018=0xFF000018, + IQUIC_VERSION_I019=0xFF000019, + IQUIC_VERSION_I020=0xFF000020, + IQUIC_VERSION_I021=0xFF000021, + IQUIC_VERSION_I032=0xFF000022, + IQUIC_VERSION_I023=0xFF000023, + IQUIC_VERSION_I024=0xFF000024, + IQUIC_VERSION_I025=0xFF000025, + IQUIC_VERSION_I026=0xFF000026, + IQUIC_VERSION_I027=0xFF000027, + IQUIC_VERSION_I028=0xFF000028, + IQUIC_VERSION_I029=0xFF000029 + + + };