From 397d8eb6f22d03ae13cb16c268bd8de245688959 Mon Sep 17 00:00:00 2001 From: Don Ho Date: Thu, 19 Mar 2026 16:11:55 +0100 Subject: [PATCH] Use CMake for building curl in CI_build --- .github/workflows/CI_build.yml | 48 +++++++++++++++++----------------- src/change.log | 31 +++------------------- src/resource.h | 4 +-- 3 files changed, 30 insertions(+), 53 deletions(-) diff --git a/.github/workflows/CI_build.yml b/.github/workflows/CI_build.yml index 0b2146d2..105de395 100644 --- a/.github/workflows/CI_build.yml +++ b/.github/workflows/CI_build.yml @@ -1,16 +1,12 @@ name: CI_build - on: [push, pull_request] - jobs: build: - runs-on: windows-latest strategy: fail-fast: false matrix: build_platform: [x64, x86, ARM64] - steps: - name: Checkout repo uses: actions/checkout@v4 @@ -18,30 +14,34 @@ jobs: - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v2 - - name: Add nmake - if: matrix.build_platform == 'ARM64' - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: amd64_arm64 + - name: Configure curl (${{ matrix.build_platform }}) + run: | + $arch = "${{ matrix.build_platform }}" -eq "x86" ? "Win32" : "${{ matrix.build_platform }}" + cmake curl -B curl/build/${{ matrix.build_platform }} -A $arch ` + -DBUILD_SHARED_LIBS=OFF ` + -DCURL_STATIC_CRT=ON ` + -DBUILD_CURL_EXE=OFF ` + -DCURL_USE_SCHANNEL=ON ` + -DCURL_USE_OPENSSL=OFF ` + -DBUILD_TESTING=OFF ` + -DUSE_LIBPSL=OFF ` + -DCURL_USE_LIBPSL=OFF ` + -DUSE_NGHTTP2=OFF ` + -DUSE_LIBIDN2=OFF - - name: Add nmake - if: matrix.build_platform == 'x64' || matrix.build_platform == 'x86' - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: ${{ matrix.build_platform }} + - name: Build curl Release (${{ matrix.build_platform }}) + run: cmake --build curl/build/${{ matrix.build_platform }} --config Release - - name: nmake libcurl - working-directory: curl/winbuild - run: | - set WINBUILD_ACKNOWLEDGE_DEPRECATED=yes - nmake /f Makefile.vc mode=static vc=15 RTLIBCFG=static WINBUILD_ACKNOWLEDGE_DEPRECATED=yes MACHINE="${{ matrix.build_platform }}" - nmake /f Makefile.vc mode=static vc=15 RTLIBCFG=static WINBUILD_ACKNOWLEDGE_DEPRECATED=yes DEBUG=yes MACHINE="${{ matrix.build_platform }}" + - name: Build curl Debug (${{ matrix.build_platform }}) + run: cmake --build curl/build/${{ matrix.build_platform }} --config Debug - - name: MSBuild of GUP exe + - name: Build GUP Release (${{ matrix.build_platform }}) working-directory: vcproj - run: | - msbuild GUP.sln /m /p:configuration="Release" /p:platform="${{ matrix.build_platform }}" - msbuild GUP.sln /m /p:configuration="Debug" /p:platform="${{ matrix.build_platform }}" + run: msbuild GUP.sln /m /p:configuration="Release" /p:platform="${{ matrix.build_platform }}" + + - name: Build GUP Debug (${{ matrix.build_platform }}) + working-directory: vcproj + run: msbuild GUP.sln /m /p:configuration="Debug" /p:platform="${{ matrix.build_platform }}" - name: Archive artifacts for x64 if: matrix.build_platform == 'x64' diff --git a/src/change.log b/src/change.log index 962d2c92..c9623ee8 100644 --- a/src/change.log +++ b/src/change.log @@ -1,28 +1,5 @@ -WinGup (for Notepad++) v5.4 new featurs: - -1. Security enhancement: Add option to verify integrity & authenticity of server-returned XML (XMLDsig). -2. Security enhancement: Remove 2 curl options CURLSSLOPT_ALLOW_BEAST & CURLSSLOPT_NO_REVOKE to make more secured. -3. Security enhancement: Integrate libcurl statically into GUP.exe to remove dependency on libcurl.dll. -4. Make security error log more explicite. -5. Limit -clean & -unzip of Notepad++ plugin management usage. - - -WinGup (for Notepad++) v5.3.9 new featurs: - -1. Security enhancement: Log security errors automatically in "%LOCALUSERDATA%\WinGUp\log\securityError.log". - - -WinGup (for Notepad++) v5.3.8 new featurs: - -1. Security enhancement: Add checking code signing certificate ability. - - -WinGup (for Notepad++) v5.3.7 new featurs: - -1. Security enhancement: Add a comment line argument (option) to verify the download URL. - - -WinGup (for Notepad++) v5.3.6 new featurs: - -1. Security enhancement: Make infoUrl overridable via command-line argument. +WinGup (for Notepad++) v5.4.1 new featurs: +1. Fix regression of launching notepad++.exe with admin privilege. +2. Fix WinGUp downloading fail regression behind corporate MITM proxies. +3. Update cURL to v8.19.0 to fix its security issue (CVE-2025-14819) diff --git a/src/resource.h b/src/resource.h index 26ba455a..2a48d697 100644 --- a/src/resource.h +++ b/src/resource.h @@ -19,8 +19,8 @@ #pragma once -#define VERSION_VALUE L"5.4\0" -#define VERSION_DIGITALVALUE 5, 4, 0, 0 +#define VERSION_VALUE L"5.41\0" +#define VERSION_DIGITALVALUE 5, 4, 1, 0 #define IDD_PROGRESS_DLG 1001 #define IDD_PROXY_DLG 1002