diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index 1fca26c..bdcc9ef 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -98,282 +98,282 @@ jobs: name: youtubeUnblock-static-${{ matrix.arch }} path: ./**/youtubeUnblock*.tar.gz - build-static-cross: - needs: prepare - name: build ${{ matrix.arch }} - runs-on: ubuntu-latest - strategy: - matrix: - include: - - arch: mips64el - tool: mips64el-unknown-linux-musl - - arch: mips64 - tool: mips64-unknown-linux-musl - - arch: mipsel - tool: mipsel-unknown-linux-musl - - arch: mipselsf - tool: mipsel-unknown-linux-muslsf - - arch: mips - tool: mips-unknown-linux-musl - - arch: mipssf - tool: mips-unknown-linux-muslsf - - arch: armv7sf - tool: armv7-unknown-linux-musleabi - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up build tools - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - REPO: 'musl-cross/musl-cross' - TOOL: ${{ matrix.tool }} - run: | - mkdir -p $HOME/tools - gh api repos/$REPO/releases/latest --jq '.tag_name' |\ - xargs -I{} wget -qO- https://github.com/$REPO/releases/download/{}/$TOOL.tar.xz | tar -C $HOME/tools -xJ || exit 1 - [ -d "$HOME/tools/$TOOL/bin" ] && echo "$HOME/tools/$TOOL/bin" >> $GITHUB_PATH - - - name: Build - id: build - env: - ARCH: ${{ matrix.arch }} - TOOL: ${{ matrix.tool }} - VERSION: ${{ needs.prepare.outputs.version }} - RELEASE: ${{ needs.prepare.outputs.release }} - SHA: ${{ needs.prepare.outputs.sha }} - run: | - make -j$(nproc) \ - CC="$TOOL-gcc -static-libgcc -static" \ - LD=$TOOL-ld \ - AR=$TOOL-ar \ - NM=$TOOL-nm \ - STRIP=$TOOL-strip \ - CROSS_COMPILE_PLATFORM=$TOOL || exit 1 - $TOOL-strip -s build/youtubeUnblock - cp -va build/youtubeUnblock . - tar -czvf youtubeUnblock-$VERSION-$RELEASE-$SHA-$ARCH-static.tar.gz youtubeUnblock youtubeUnblock.service README.md - - - name: Upload artifacts - if: steps.build.outcome == 'success' - uses: actions/upload-artifact@v4 - with: - name: youtubeUnblock-static-${{ matrix.arch }} - path: ./**/youtubeUnblock*.tar.gz - - build-openwrt: - needs: prepare - runs-on: ubuntu-latest - strategy: - matrix: - branch: - - openwrt-23.05 - arch: - - aarch64_cortex-a53 - - aarch64_cortex-a72 - - aarch64_generic - - arm_arm1176jzf-s_vfp - - arm_arm926ej-s - - arm_cortex-a15_neon-vfpv4 - - arm_cortex-a5_vfpv4 - - arm_cortex-a7 - - arm_cortex-a7_neon-vfpv4 - - arm_cortex-a7_vfpv4 - - arm_cortex-a8_vfpv3 - - arm_cortex-a9 - - arm_cortex-a9_neon - - arm_cortex-a9_vfpv3-d16 - - arm_fa526 - - arm_mpcore - - arm_xscale - - mips64_octeonplus - - mips_24kc - - mips_4kec - - mips_mips32 - - mipsel_24kc - - mipsel_24kc_24kf - - mipsel_74kc - - mipsel_mips32 - - x86_64 - container: - image: openwrt/sdk:${{ matrix.arch }}-${{ matrix.branch }} - options: --user root - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - ref: 'openwrt' - - - name: Prepare build - env: - VERSION: ${{ needs.prepare.outputs.version }} - RELEASE: ${{ needs.prepare.outputs.release }} - SHA: ${{ needs.prepare.outputs.sha }} - run: | - sed -i "s/PKG_REV:=.*$/PKG_REV:=$SHA/;s/PKG_VERSION:=.*$/PKG_VERSION:=$VERSION-$RELEASE-$SHA/" youtubeUnblock/Makefile - - - name: Initilalize SDK - id: init_sdk - env: - VERSION: ${{ needs.prepare.outputs.version }} - RELEASE: ${{ needs.prepare.outputs.release }} - SHA: ${{ needs.prepare.outputs.sha }} - working-directory: /builder - run: | - HOME=/builder ./setup.sh - - - name: Build packages - id: build - env: - VERSION: ${{ needs.prepare.outputs.version }} - RELEASE: ${{ needs.prepare.outputs.release }} - SHA: ${{ needs.prepare.outputs.sha }} - working-directory: /builder - run: | - echo "src-link youtubeUnblock $GITHUB_WORKSPACE" >> feeds.conf - cat feeds.conf - ./scripts/feeds update youtubeUnblock - ./scripts/feeds install -a -p youtubeUnblock - make defconfig - make package/youtubeUnblock/compile V=s - mv $(find ./bin -type f -name 'youtubeUnblock*.ipk') ./youtubeUnblock-$VERSION-$RELEASE-$SHA-${{ matrix.arch }}-${{ matrix.branch }}.ipk - - - name: Upload packages - if: steps.build.outcome == 'success' - uses: actions/upload-artifact@v4 - with: - name: youtubeUnblock-${{ matrix.branch }}-${{ matrix.arch }} - path: /builder/youtubeUnblock*.ipk - if-no-files-found: error - - build-openwrt-luci: - needs: prepare - runs-on: ubuntu-latest - container: - image: openwrt/sdk:x86_64-openwrt-23.05 - options: --user root - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - ref: 'openwrt' - - - name: Prepare build - env: - VERSION: ${{ needs.prepare.outputs.version }} - RELEASE: ${{ needs.prepare.outputs.release }} - SHA: ${{ needs.prepare.outputs.sha }} - run: | - sed -i "s/PKG_REV:=.*$/PKG_REV:=$SHA/;s/PKG_VERSION:=.*$/PKG_VERSION:=$VERSION-$RELEASE-$SHA/" youtubeUnblock/Makefile - - - name: Initilalize SDK - id: init_sdk - env: - VERSION: ${{ needs.prepare.outputs.version }} - RELEASE: ${{ needs.prepare.outputs.release }} - SHA: ${{ needs.prepare.outputs.sha }} - working-directory: /builder - run: | - HOME=/builder ./setup.sh - - - name: Build packages - id: build - env: - VERSION: ${{ needs.prepare.outputs.version }} - RELEASE: ${{ needs.prepare.outputs.release }} - SHA: ${{ needs.prepare.outputs.sha }} - working-directory: /builder - run: | - echo "src-link youtubeUnblock $GITHUB_WORKSPACE" >> feeds.conf - cat feeds.conf - ./scripts/feeds update youtubeUnblock - ./scripts/feeds install -a -p youtubeUnblock - make defconfig - make package/luci-app-youtubeUnblock/compile V=s - mv $(find ./bin -type f -name 'luci-app-youtubeUnblock*.ipk') ./luci-app-youtubeUnblock-$VERSION-$RELEASE-$SHA.ipk - - - name: Upload packages - if: steps.build.outcome == 'success' - uses: actions/upload-artifact@v4 - with: - name: luci-app-youtubeUnblock - path: /builder/luci-app-youtubeUnblock*.ipk - if-no-files-found: error - - build-entware: - needs: prepare - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - aarch64-3.10 - - armv7-3.2 - - mips-3.4 - - mipsel-3.4 - - x64-3.2 - - x86-2.6 - - armv7-2.6 - container: - image: waujito/entware_builder:${{ matrix.arch }} - options: --user root - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - ref: 'openwrt' - - - name: Prepare build - env: - VERSION: ${{ needs.prepare.outputs.version }} - RELEASE: ${{ needs.prepare.outputs.release }} - SHA: ${{ needs.prepare.outputs.sha }} - run: | - sed -i "s/PKG_REV:=.*$/PKG_REV:=$SHA/;s/PKG_VERSION:=.*$/PKG_VERSION:=$VERSION-$RELEASE-$SHA/" youtubeUnblock/Makefile - - - name: Build packages - id: build - working-directory: /home/me/Entware - env: - VERSION: ${{ needs.prepare.outputs.version }} - RELEASE: ${{ needs.prepare.outputs.release }} - SHA: ${{ needs.prepare.outputs.sha }} - run: | - echo "src-link youtubeUnblock $GITHUB_WORKSPACE" >> feeds.conf - cat feeds.conf - ./scripts/feeds update youtubeUnblock - ./scripts/feeds install -a -p youtubeUnblock - echo "CONFIG_PACKAGE_youtubeUnblockEntware=m" | tee -a .config - make package/youtubeUnblockEntware/compile V=s - - mv $(find ./bin -type f -name 'youtubeUnblockEntware*.ipk') ./youtubeUnblock-$VERSION-$RELEASE-$SHA-entware-${{ matrix.arch }}.ipk - - - name: Upload packages - if: steps.build.outcome == 'success' - uses: actions/upload-artifact@v4 - with: - name: youtubeUnblock-entware-${{ matrix.arch }} - path: /home/me/Entware/youtubeUnblock*.ipk - if-no-files-found: error - - pre-release: - if: github.event_name != 'pull_request' && github.ref_name == 'main' - needs: [build-static, build-static-cross, build-openwrt, build-entware, build-openwrt-luci] - permissions: - contents: write - runs-on: ubuntu-latest - steps: - - name: Download artifacts - uses: actions/download-artifact@v4 - - - name: Upload assets - uses: slord399/action-automatic-releases@v1.0.1 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - automatic_release_tag: 'continuous' - prerelease: true - draft: true - title: 'Development build' - files: | - ./**/youtubeUnblock*.ipk - ./**/youtubeUnblock*.tar.gz - ./**/luci-app-youtubeUnblock*.ipk + # build-static-cross: + # needs: prepare + # name: build ${{ matrix.arch }} + # runs-on: ubuntu-latest + # strategy: + # matrix: + # include: + # - arch: mips64el + # tool: mips64el-unknown-linux-musl + # - arch: mips64 + # tool: mips64-unknown-linux-musl + # - arch: mipsel + # tool: mipsel-unknown-linux-musl + # - arch: mipselsf + # tool: mipsel-unknown-linux-muslsf + # - arch: mips + # tool: mips-unknown-linux-musl + # - arch: mipssf + # tool: mips-unknown-linux-muslsf + # - arch: armv7sf + # tool: armv7-unknown-linux-musleabi + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + # + # - name: Set up build tools + # env: + # GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # REPO: 'musl-cross/musl-cross' + # TOOL: ${{ matrix.tool }} + # run: | + # mkdir -p $HOME/tools + # gh api repos/$REPO/releases/latest --jq '.tag_name' |\ + # xargs -I{} wget -qO- https://github.com/$REPO/releases/download/{}/$TOOL.tar.xz | tar -C $HOME/tools -xJ || exit 1 + # [ -d "$HOME/tools/$TOOL/bin" ] && echo "$HOME/tools/$TOOL/bin" >> $GITHUB_PATH + # + # - name: Build + # id: build + # env: + # ARCH: ${{ matrix.arch }} + # TOOL: ${{ matrix.tool }} + # VERSION: ${{ needs.prepare.outputs.version }} + # RELEASE: ${{ needs.prepare.outputs.release }} + # SHA: ${{ needs.prepare.outputs.sha }} + # run: | + # make -j$(nproc) \ + # CC="$TOOL-gcc -static-libgcc -static" \ + # LD=$TOOL-ld \ + # AR=$TOOL-ar \ + # NM=$TOOL-nm \ + # STRIP=$TOOL-strip \ + # CROSS_COMPILE_PLATFORM=$TOOL || exit 1 + # $TOOL-strip -s build/youtubeUnblock + # cp -va build/youtubeUnblock . + # tar -czvf youtubeUnblock-$VERSION-$RELEASE-$SHA-$ARCH-static.tar.gz youtubeUnblock youtubeUnblock.service README.md + # + # - name: Upload artifacts + # if: steps.build.outcome == 'success' + # uses: actions/upload-artifact@v4 + # with: + # name: youtubeUnblock-static-${{ matrix.arch }} + # path: ./**/youtubeUnblock*.tar.gz + # + # build-openwrt: + # needs: prepare + # runs-on: ubuntu-latest + # strategy: + # matrix: + # branch: + # - openwrt-23.05 + # arch: + # - aarch64_cortex-a53 + # - aarch64_cortex-a72 + # - aarch64_generic + # - arm_arm1176jzf-s_vfp + # - arm_arm926ej-s + # - arm_cortex-a15_neon-vfpv4 + # - arm_cortex-a5_vfpv4 + # - arm_cortex-a7 + # - arm_cortex-a7_neon-vfpv4 + # - arm_cortex-a7_vfpv4 + # - arm_cortex-a8_vfpv3 + # - arm_cortex-a9 + # - arm_cortex-a9_neon + # - arm_cortex-a9_vfpv3-d16 + # - arm_fa526 + # - arm_mpcore + # - arm_xscale + # - mips64_octeonplus + # - mips_24kc + # - mips_4kec + # - mips_mips32 + # - mipsel_24kc + # - mipsel_24kc_24kf + # - mipsel_74kc + # - mipsel_mips32 + # - x86_64 + # container: + # image: openwrt/sdk:${{ matrix.arch }}-${{ matrix.branch }} + # options: --user root + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + # with: + # ref: 'openwrt' + # + # - name: Prepare build + # env: + # VERSION: ${{ needs.prepare.outputs.version }} + # RELEASE: ${{ needs.prepare.outputs.release }} + # SHA: ${{ needs.prepare.outputs.sha }} + # run: | + # sed -i "s/PKG_REV:=.*$/PKG_REV:=$SHA/;s/PKG_VERSION:=.*$/PKG_VERSION:=$VERSION-$RELEASE-$SHA/" youtubeUnblock/Makefile + # + # - name: Initilalize SDK + # id: init_sdk + # env: + # VERSION: ${{ needs.prepare.outputs.version }} + # RELEASE: ${{ needs.prepare.outputs.release }} + # SHA: ${{ needs.prepare.outputs.sha }} + # working-directory: /builder + # run: | + # HOME=/builder ./setup.sh + # + # - name: Build packages + # id: build + # env: + # VERSION: ${{ needs.prepare.outputs.version }} + # RELEASE: ${{ needs.prepare.outputs.release }} + # SHA: ${{ needs.prepare.outputs.sha }} + # working-directory: /builder + # run: | + # echo "src-link youtubeUnblock $GITHUB_WORKSPACE" >> feeds.conf + # cat feeds.conf + # ./scripts/feeds update youtubeUnblock + # ./scripts/feeds install -a -p youtubeUnblock + # make defconfig + # make package/youtubeUnblock/compile V=s + # mv $(find ./bin -type f -name 'youtubeUnblock*.ipk') ./youtubeUnblock-$VERSION-$RELEASE-$SHA-${{ matrix.arch }}-${{ matrix.branch }}.ipk + # + # - name: Upload packages + # if: steps.build.outcome == 'success' + # uses: actions/upload-artifact@v4 + # with: + # name: youtubeUnblock-${{ matrix.branch }}-${{ matrix.arch }} + # path: /builder/youtubeUnblock*.ipk + # if-no-files-found: error + # + # build-openwrt-luci: + # needs: prepare + # runs-on: ubuntu-latest + # container: + # image: openwrt/sdk:x86_64-openwrt-23.05 + # options: --user root + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + # with: + # ref: 'openwrt' + # + # - name: Prepare build + # env: + # VERSION: ${{ needs.prepare.outputs.version }} + # RELEASE: ${{ needs.prepare.outputs.release }} + # SHA: ${{ needs.prepare.outputs.sha }} + # run: | + # sed -i "s/PKG_REV:=.*$/PKG_REV:=$SHA/;s/PKG_VERSION:=.*$/PKG_VERSION:=$VERSION-$RELEASE-$SHA/" youtubeUnblock/Makefile + # + # - name: Initilalize SDK + # id: init_sdk + # env: + # VERSION: ${{ needs.prepare.outputs.version }} + # RELEASE: ${{ needs.prepare.outputs.release }} + # SHA: ${{ needs.prepare.outputs.sha }} + # working-directory: /builder + # run: | + # HOME=/builder ./setup.sh + # + # - name: Build packages + # id: build + # env: + # VERSION: ${{ needs.prepare.outputs.version }} + # RELEASE: ${{ needs.prepare.outputs.release }} + # SHA: ${{ needs.prepare.outputs.sha }} + # working-directory: /builder + # run: | + # echo "src-link youtubeUnblock $GITHUB_WORKSPACE" >> feeds.conf + # cat feeds.conf + # ./scripts/feeds update youtubeUnblock + # ./scripts/feeds install -a -p youtubeUnblock + # make defconfig + # make package/luci-app-youtubeUnblock/compile V=s + # mv $(find ./bin -type f -name 'luci-app-youtubeUnblock*.ipk') ./luci-app-youtubeUnblock-$VERSION-$RELEASE-$SHA.ipk + # + # - name: Upload packages + # if: steps.build.outcome == 'success' + # uses: actions/upload-artifact@v4 + # with: + # name: luci-app-youtubeUnblock + # path: /builder/luci-app-youtubeUnblock*.ipk + # if-no-files-found: error + # + # build-entware: + # needs: prepare + # runs-on: ubuntu-latest + # strategy: + # matrix: + # arch: + # - aarch64-3.10 + # - armv7-3.2 + # - mips-3.4 + # - mipsel-3.4 + # - x64-3.2 + # - x86-2.6 + # - armv7-2.6 + # container: + # image: waujito/entware_builder:${{ matrix.arch }} + # options: --user root + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + # with: + # ref: 'openwrt' + # + # - name: Prepare build + # env: + # VERSION: ${{ needs.prepare.outputs.version }} + # RELEASE: ${{ needs.prepare.outputs.release }} + # SHA: ${{ needs.prepare.outputs.sha }} + # run: | + # sed -i "s/PKG_REV:=.*$/PKG_REV:=$SHA/;s/PKG_VERSION:=.*$/PKG_VERSION:=$VERSION-$RELEASE-$SHA/" youtubeUnblock/Makefile + # + # - name: Build packages + # id: build + # working-directory: /home/me/Entware + # env: + # VERSION: ${{ needs.prepare.outputs.version }} + # RELEASE: ${{ needs.prepare.outputs.release }} + # SHA: ${{ needs.prepare.outputs.sha }} + # run: | + # echo "src-link youtubeUnblock $GITHUB_WORKSPACE" >> feeds.conf + # cat feeds.conf + # ./scripts/feeds update youtubeUnblock + # ./scripts/feeds install -a -p youtubeUnblock + # echo "CONFIG_PACKAGE_youtubeUnblockEntware=m" | tee -a .config + # make package/youtubeUnblockEntware/compile V=s + # + # mv $(find ./bin -type f -name 'youtubeUnblockEntware*.ipk') ./youtubeUnblock-$VERSION-$RELEASE-$SHA-entware-${{ matrix.arch }}.ipk + # + # - name: Upload packages + # if: steps.build.outcome == 'success' + # uses: actions/upload-artifact@v4 + # with: + # name: youtubeUnblock-entware-${{ matrix.arch }} + # path: /home/me/Entware/youtubeUnblock*.ipk + # if-no-files-found: error + # + # pre-release: + # if: github.event_name != 'pull_request' && github.ref_name == 'main' + # needs: [build-static, build-static-cross, build-openwrt, build-entware, build-openwrt-luci] + # permissions: + # contents: write + # runs-on: ubuntu-latest + # steps: + # - name: Download artifacts + # uses: actions/download-artifact@v4 + # + # - name: Upload assets + # uses: slord399/action-automatic-releases@v1.0.1 + # with: + # repo_token: ${{ secrets.GITHUB_TOKEN }} + # automatic_release_tag: 'continuous' + # prerelease: true + # draft: true + # title: 'Development build' + # files: | + # ./**/youtubeUnblock*.ipk + # ./**/youtubeUnblock*.tar.gz + # ./**/luci-app-youtubeUnblock*.ipk diff --git a/src/logging.h b/src/logging.h index 7aaf982..7fa6112 100644 --- a/src/logging.h +++ b/src/logging.h @@ -21,10 +21,6 @@ #define LOGGING_H #include "config.h" -#define LOG_ERR KERN_ERR -#define LOG_INFO KERN_INFO -#define LOG_WARN KERN_WARNING - /** * Defined in args.c */ @@ -39,6 +35,10 @@ extern int ylgh_ndnl; #define DO_SYSLOG (logging_conf.syslog) #ifdef KERNEL_SPACE +#define LOG_ERR KERN_ERR +#define LOG_INFO KERN_INFO +#define LOG_WARNING KERN_WARNING + #include #include #define printf pr_info @@ -110,7 +110,7 @@ extern int ylgh_ndnl; (log_message(LOG_ERR, msg, ##__VA_ARGS__)) #define lgwarning(msg, ...) \ -(log_message(LOG_WARN, msg, ##__VA_ARGS__)) +(log_message(LOG_WARNING, msg, ##__VA_ARGS__)) #define lginfo(msg, ...) \ diff --git a/src/quic.c b/src/quic.c index 82050d3..b11bb8d 100644 --- a/src/quic.c +++ b/src/quic.c @@ -401,8 +401,15 @@ int parse_quic_decrypted( curptr += fret; curptr_len -= fret; + + if ( + fr_cr.offset > crypto_message_len && + fr_cr.payload_length > crypto_message_len && + fr_cr.payload_length + fr_cr.offset <= crypto_message_len) { + lgerr("Illegal instruction you said?"); + + } if (fr_cr.offset <= crypto_message_len && - fr_cr.payload_length <= crypto_message_len && fr_cr.payload_length <= crypto_message_len ) { @@ -418,6 +425,7 @@ int parse_quic_decrypted( } out: + lgtrace_addp("crypto message parsed"); *crypto_message_buf = crypto_message; *crypto_message_buf_len = crypto_message_len;