🔨 13 new commits to PRCYCoin:fixesv2:
a95c29b: wallet: fix restore-from-seed crash on large wallets by lyricidal
00e3d78: wallet: resolve output keys directly instead of scanning every HD key by lyricidal
ae24ca8: wallet: speed up ring-decoy selection by lyricidal
7e012ac: wallet: fix decoy pool-fill eviction no-op by lyricidal
be4ae7f: wallet: return cancellation sentinel from an interrupted rescan by lyricidal
476ef15: wallet: checkpoint periodically during rescan, not per transaction by lyricidal
f8dbdf4: wallet: randomize small-pool decoy selection by lyricidal
1a88e4a: wallet: guard empty-vin OOB read and CDBEnv::Compact use-after-free by lyricidal
03d8304: wallet: force a periodic DB checkpoint during catch-up sync by lyricidal
f49e134: wallet: unconditional periodic txn_checkpoint under continuous staking by lyricidal
744bf1c: wallet: restore the upstream 1 MiB BerkeleyDB cache by lyricidal
bd19ad0: wallet: erase pruned transactions through the non-flushing handle by lyricidal
63efd1f: wallet: loop erasewallettransactions until the prune fully cascades by lyricidal
🔌 New pull request PRCYCoin#556 ci: fix build factory workflows
by: @lyricidal
The hosted ubuntu-20.04 runner was retired and the v1 artifact service shut down, leaving the build factory unable to run. Restore it:
- run all jobs in an ubuntu:20.04 container on ubuntu-latest (same GCC 9 / glibc 2.31 toolchain as the last green builds), with a prepare step for the tools the hosted image provided (incl. libtinfo5, needed by the prebuilt darwin clang)
- update actions to node24 releases: checkout@v5, upload-artifact@v6, download-artifact@v7 (v1 uploads are incompatible with v4+ downloads)
- default run steps to bash: container jobs default to sh, which broke the brace expansions in the packaging steps
- generate version.txt from configure.ac; the file was removed in "build: delete version.txt" but the workflows still read it
- fix macOS SDK pin to Xcode 12.1-12A7403 to match depends/hosts/darwin.mk
- add workflow_dispatch trigger for manual runs
- drop the ubuntu-18.04 build-linux job (libssl1.0-dev/libdb4.8 are no longer installable; it duplicated the depends-based x86_64 build)
Reply to this message to post a comment on GitHub.
🔌 New pull request PRCYCoin#557 depends: openssl 1.1.1w
by: @lyricidal
Migrates the build from OpenSSL 1.0.2u to 1.1.1w. Three commits, one per area
— they are a set: each alone leaves the build broken, together CI is green on
all seven build-factory targets.
## Motivation
- 1.0.2u is EOL since 2019 and carries years of unpatched CVEs. 1.1.1w is the
final 1.1.1 release and the smallest step that compiles this codebase with
minimal source changes (3.x is a larger source migration that can follow
separately).
- The 1.0.2u tarball was removed from openssl.org's download path, so
make -C depends download fails on stock master — depends cannot build at
all until openssl.mk changes one way or another.
## Changes
1. build: compile against OpenSSL 1.1.x (guard removed 1.0-only APIs)
OpenSSL 1.1 removed the thread-locking callback API (CRYPTO_num_locks,
CRYPTO_set_locking_callback) and `RAND_screen()`; the init code in
util.cpp still used them. That block is now guarded to compile only for
OpenSSL < 1.1 / LibreSSL (1.1 is internally thread-safe), so the tree
builds against both. Also disables the vendored secp256k1/secp256k1-mw
test suites in configure.ac (--enable-tests=no): their configure probes
OpenSSL with the pre-1.1 EC API and won't run against 1.1+. The libraries
themselves use no OpenSSL — compile-only change.
2. depends: bump vendored OpenSSL 1.0.2u -> 1.1.1w
New version/sha256, download from the OpenSSL GitHub release. Config
flags rewritten for 1.1's build system (many old no-* flags no longer
exist); no-engine is required for the mingw build — with engines on,
1.1's Windows CAPI engine pulls in -lcrypt32, which breaks curl's
OpenSSL detection probe. Staging uses DESTDIR= (1.1 renamed it from
INSTALL_PREFIX=).
3. depends: make Qt's OPENSSL_LIBS host-specific (fix Linux/macOS build)
qt.mk set one OPENSSL_LIBS for every host, hardcoding the Windows-only
-lws2_32 -lg
🔨 4 new commits to PRCYCoin:develop:
cee0af5: build: compile against OpenSSL 1.1.x (guard removed 1.0-only APIs) by lyricidal
1c5139f: depends: bump vendored OpenSSL 1.0.2u -> 1.1.1w by lyricidal
a8b14b2: depends: make Qt's OPENSSL_LIBS host-specific (fix Linux/macOS build) by lyricidal
8539351: Merge pull request #557 from PRCYCoin/openssl_update by lyricidal
🔨 16 new commits to PRCYCoin:new_test_build:
7d84028: wallet: fix restore-from-seed crash on large wallets by lyricidal
9cb40ef: wallet: resolve output keys directly instead of scanning every HD key by lyricidal
4b860c5: wallet: speed up ring-decoy selection by lyricidal
621a688: wallet: fix decoy pool-fill eviction no-op by lyricidal
b45bca9: wallet: return cancellation sentinel from an interrupted rescan by lyricidal
b8773e4: wallet: checkpoint periodically during rescan, not per transaction by lyricidal
f0cfdc3: wallet: randomize small-pool decoy selection by lyricidal
d3201dd: wallet: guard empty-vin OOB read and CDBEnv::Compact use-after-free by lyricidal
8fced52: wallet: force a periodic DB checkpoint during catch-up sync by lyricidal
97d2b95: wallet: unconditional periodic txn_checkpoint under continuous staking by lyricidal
37b8063: wallet: restore the upstream 1 MiB BerkeleyDB cache by lyricidal
de50579: wallet: erase pruned transactions through the non-flushing handle by lyricidal
02266c1: wallet: loop erasewallettransactions until the prune fully cascades by lyricidal
227fb8f: wallet: never use the real spent output as its own ring decoy by lyricidal
92c6ed7: wallet: reset the BerkeleyDB env handle after a failed open by lyricidal
7532837: Bump version to v2.0.0.8 [focal] by lyricidal
🔌 New pull request PRCYCoin#558 depends: Bump Qt version to 5.12.12
by: @lyricidal
Reply to this message to post a comment on GitHub.