16 Commits

Author SHA1 Message Date
opencode 7dc12a37e4 Use X509ExtendedTrustManager to avoid JDK AlgorithmChecker constraints
Netty 4.2.15 fixed CVE-2026-50010 by removing the silent wrapping of
plain X509TrustManager in X509ExtendedTrustManager. When a plain
X509TrustManager is used, the JDK wraps it in AbstractTrustManagerWrapper
and runs TrustManagerImpl.checkTrusted() with AlgorithmChecker before
calling the custom trust manager.

This caused client certificates signed with SHA3-512withECDSA to be
rejected even though they are not explicitly blacklisted in java.security,
because the JDK's internal PKIX validator applies stricter constraints.

By making our custom trust managers implement X509ExtendedTrustManager
directly, the JDK calls the 3-arg methods directly and bypasses its
internal TrustManagerImpl, restoring the pre-4.2.15 behavior where
only our custom PKIX validation runs.

Files changed:
- rbcs-common/RBCS.kt: getTrustManager() returns X509ExtendedTrustManager
- rbcs-client/RemoteBuildCacheClient.kt: trust-all manager uses X509ExtendedTrustManager
2026-06-12 08:38:26 +08:00
woggioni 953d687651 optimized imports 2026-05-21 06:58:17 +08:00
woggioni ab2a06e810 refactor
CI / build (push) Successful in 3m4s
2026-04-30 02:15:34 +08:00
woggioni b58462a085 improved logging 2026-02-21 20:47:18 +08:00
woggioni 5854a632f8 Added server support for proxy protocol 2025-12-29 22:21:34 +08:00
woggioni fd0bd1ee5f added optional key prefix to memcache backend 2025-06-13 17:45:15 +08:00
woggioni 9bdaa0d32e optimize imports 2025-06-13 14:08:46 +08:00
woggioni 7ba7070693 fixed server support for request pipelining
CI / build (push) Successful in 15m33s
2025-03-08 11:07:21 +08:00
woggioni ca18b63f27 added GraalVM native image executable build 2025-02-25 15:30:58 +08:00
woggioni 23f2a351a6 shared event executor group between server and clients
CI / build (push) Successful in 3m44s
- improved documentation
- closed memcache client's thread pools
2025-02-24 13:52:20 +08:00
woggioni 591f6e2af4 parametrized password hashing algorithm for basic authentication 2025-02-20 16:46:15 +08:00
woggioni 42eb26a948 optimize imports 2025-02-19 22:40:14 +08:00
woggioni f048a60540 implemented streaming request/response streaming
added metadata to cache values

added cache servlet for comparison
2025-02-19 22:37:54 +08:00
woggioni 0463038aaa first commit with streaming support (buggy and unreliable) 2025-02-13 23:02:08 +08:00
woggioni 84d7c977f9 added randomizer to retries 2025-02-07 23:19:13 +08:00
woggioni 6c0eadb9fb renamed project to "Remote Cache Build Server" (RBCS) 2025-02-06 15:20:50 +08:00