svn commit: r1931267 - in subversion/branches/serf_error_callbacks: . subversion/libsvn_subr subversion/tests/cmdline subversion/tests/cmdline/svntest

[email protected]
Newsgroups gmane.comp.version-control.subversion.svn
Message-ID <176823314768.1294625.7421279172059001417@svn02-us-east.apache.org>
Author: brane
Date: Mon Jan 12 15:52:27 2026
New Revision: 1931267

Log:
On the serf_error_callbacks_branch: Sync with trunk r1931266.

Modified:
   subversion/branches/serf_error_callbacks/   (props changed)
   subversion/branches/serf_error_callbacks/subversion/libsvn_subr/checksum.c
   subversion/branches/serf_error_callbacks/subversion/libsvn_subr/checksum_apr.c
   subversion/branches/serf_error_callbacks/subversion/tests/cmdline/davautocheck.sh
   subversion/branches/serf_error_callbacks/subversion/tests/cmdline/svntest/main.py

Modified: subversion/branches/serf_error_callbacks/subversion/libsvn_subr/checksum.c
==============================================================================
--- subversion/branches/serf_error_callbacks/subversion/libsvn_subr/checksum.c	Mon Jan 12 15:45:18 2026	(r1931266)
+++ subversion/branches/serf_error_callbacks/subversion/libsvn_subr/checksum.c	Mon Jan 12 15:52:27 2026	(r1931267)
@@ -475,8 +475,6 @@ svn_checksum(svn_checksum_t **checksum,
              apr_size_t len,
              apr_pool_t *pool)
 {
-  apr_sha1_ctx_t sha1_ctx;
-
   SVN_ERR(validate_kind(kind));
   *checksum = svn_checksum_create(kind, pool);
 

Modified: subversion/branches/serf_error_callbacks/subversion/libsvn_subr/checksum_apr.c
==============================================================================
--- subversion/branches/serf_error_callbacks/subversion/libsvn_subr/checksum_apr.c	Mon Jan 12 15:45:18 2026	(r1931266)
+++ subversion/branches/serf_error_callbacks/subversion/libsvn_subr/checksum_apr.c	Mon Jan 12 15:52:27 2026	(r1931267)
@@ -21,6 +21,8 @@
  * ====================================================================
  */
 
+#include <limits.h>
+
 #include "svn_private_config.h"
 #ifdef SVN_CHECKSUM_BACKEND_APR
 
@@ -89,6 +91,10 @@ svn_checksum__sha1(unsigned char *digest
                    apr_size_t len)
 {
   apr_sha1_ctx_t sha1_ctx;
+
+  /* Do not blindly truncate the data length. */
+  SVN_ERR_ASSERT(len < UINT_MAX);
+
   apr_sha1_init(&sha1_ctx);
   apr_sha1_update(&sha1_ctx, data, (unsigned int)len);
   apr_sha1_final(digest, &sha1_ctx);
@@ -121,7 +127,9 @@ svn_checksum__sha1_ctx_update(svn_checks
                               const void *data,
                               apr_size_t len)
 {
-  apr_sha1_update(&ctx->apr_ctx, data, len);
+  /* Do not blindly truncate the data length. */
+  SVN_ERR_ASSERT(len < UINT_MAX);
+  apr_sha1_update(&ctx->apr_ctx, data, (unsigned int)len);
   return SVN_NO_ERROR;
 }
 
@@ -129,10 +137,8 @@ svn_error_t *
 svn_checksum__sha1_ctx_final(unsigned char *digest,
                              svn_checksum__sha1_ctx_t *ctx)
 {
-
   apr_sha1_final(digest, &ctx->apr_ctx);
   return SVN_NO_ERROR;
 }
 
 #endif /* SVN_CHECKSUM_BACKEND_APR */
-

Modified: subversion/branches/serf_error_callbacks/subversion/tests/cmdline/davautocheck.sh
==============================================================================
--- subversion/branches/serf_error_callbacks/subversion/tests/cmdline/davautocheck.sh	Mon Jan 12 15:45:18 2026	(r1931266)
+++ subversion/branches/serf_error_callbacks/subversion/tests/cmdline/davautocheck.sh	Mon Jan 12 15:52:27 2026	(r1931267)
@@ -378,47 +378,62 @@ if [ ${USE_SSL:+set} ]; then
   BASE_URL="https://localhost:$HTTPD_PORT"
 # A self-signed certifcate for localhost that expires after 2039-12-30
 # generated via:
-#   openssl req -new -x509 -nodes -days 10000 -out cert.pem -keyout cert-key.pem
+#   openssl req -x509 -newkey rsa:2048 -nodes -days 10000 \
+#     -out cert.pem -keyout cert-key.pem -subj "/C=XX/CN=localhost"
 # This is embedded, rather than generated on-the-fly, to avoid consuming
 # system entropy.
   SSL_CERTIFICATE_FILE="$HTTPD_ROOT/cert.pem"
 cat > "$SSL_CERTIFICATE_FILE" <<__EOF__
 -----BEGIN CERTIFICATE-----
-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
+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
 -----END CERTIFICATE-----
 __EOF__
   SSL_CERTIFICATE_KEY_FILE="$HTTPD_ROOT/cert-key.pem"
 cat > "$SSL_CERTIFICATE_KEY_FILE" <<__EOF__
------BEGIN RSA PRIVATE KEY-----
-MIICXQIBAAKBgQD2QHHq2tRZCcU0Otb51TXn3MRtJYa2zdJwhMgxMsTgRyUyHnRI
-/YGckOd62Q07wmE9c6bgpmJd0m6BYCTQ2alrCECTfFXEeHk3zDDI+TcgzHv5i76y
-Byx3QOP1grV8hrOBNSn8OyRUYm+q76SA1jE+/NaL86wEtb9k2n6ylPOgBwIDAQAB
-AoGBAJBzhV+rNl10qcXVrj2noJN+oYsVNE0Pt55hhb22dl7J3TvlOXmHm/xn1CHw
-KR8hC0GtEfs+Hv3CbyhdabtJs2L7QxO5VjgLO+onBmAOw1iPF9DjbMcAlFJnoOWI
-HYwANOWGp2jRxL5cHUfrBVCgUISen3VUZEnQkr4n/Zty/QEBAkEA/XIZ3oh5MiFA
-o4IaFaFQpBc6K/e6fnM0217scaPvfZiYS1k9Fx/UQTAGsxJOnhnsi04WgHPMS5wB
-RP4/PiIGIQJBAPi7yIKKS4E8hWBZL+79TI8Zm2uehGCB8V6m9k7e3I82To9Tgcow
-qZHsAPtN50fg85I94L3REg2FSQlDlzbMkScCQQC2pweLv/EQNrS94eJomkRirban
-vzYxMVfzjRp737iWXGXNT7feNXsjq7f4UAZGnMpDrvg6hLnD999WWKE9ZwnhAkBl
-c9p9/EB9zxyrxtT5StGuUIiHJdnirz2vGLTASMB3nXP/m9UFjkGr5jIkTos2Uzel
-/50qbxtI7oNyxuHnlRrjAkASfQ51kaBcABYRiacesQi94W/kE3MkgHWkCXNb6//u
-gxk/ezALZ8neJzJudzRkX3auGwH1ne9vCM1ED5dkM54H
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCT40UroK2AX0xX
+3X9KT0SNaScMdbDhoU7ztXGtG435uPALPJo0nc71WPWJZr7w5jamX+IPDGG7rPHU
+WpwOhlsRAfW4nc0fbitP8+6SWBcyC3my/tK7ZBktOCavn5WmEpSOYN3yq8zmlLAL
+FNzy4X2Oj3HPXQdQzfkHXEr759sf+abuZ3CHB/Vc6xmZv05dhM5kciRIC1LcWC3j
+OhfgCgv7b0FBkQtHyWIcz/m1RfC5Hnrgq+CH/0VmxhYX4HrNmsmei1g6ToJ30XO5
++BcA+wvLeyVvs9mZvTXBIv91zeuPz1k0FC56FZUBXDLAn/KcFOidi0+joUL4lGbn
+a3pWHye1AgMBAAECggEAG6yj/Q4MacFrn+WrNFSxF2VeEU7U0uREygZiR2qontqk
+0PV+RepiGDeVeyjnAl2STIAU5YwDngM3He321iD+WahsOygMgp0zLbsQIgKqFIth
+MsXM2ZRZwcSIOMU8U9+WPS6TWh4cMeoRJ4G39xuLS2o8efmGrPBecaorvggdUVY1
+mYx5zhM6KzUK7pdPNbTwK8Zhrb3ud60K8TNwzZqsJRod21vlIEph0lDAyjf1fNry
+lLV/qwinB/zUru6rX0ydtlbmyS7spIJjcvxI3wlJjqBZueJndU3aQKXA5qFtQZFv
+42niOzqE9Bb/VT53I9QpaysLp0OAtkkJIJb7+60UAQKBgQDOzGuIGzxhAzsrtjG+
+lmp3jCU7+ZB5EDv48kJWPheilufgGt8Z32qSmhCDQa3kIj3ch6ZvIHtu6+DxB3y1
+hjRPP4uf2L3k9gIcpaJ5PWRW9ZO2DtfkADfDPDPb9k3zQKLqjEh53xsERl12DN3l
+IWBjLp7MgGtLyWLPHy/Dl1BclQKBgQC3Er6NMJMhffDtpWKF/Mm521YlLEEmfzhf
+umUYR7LAO9GhKX9VhBn3KC8dt2CdGsrr1u6j/fgFjwVG4pBPQePI9og2oDwpitkG
+z4n4tK5oMApUR2PdDs5utbInahOCrw4CV8TobvXiwMHhWiD65S17Qr6dI+V5vEQk
+MG84G/e2oQKBgFAl+icuJyCSWASBAJaVRX4/2s570vqYyCWb/wnd1ts1EXlR8NXe
+OTfIbk3wzqx0ePVXvbGkLTK4SN4hwLu539w3DK5PGon6rqbbqzTCDnmFhFIzPokn
+bHVGh/LgayW0D3BIHm7dgWMOwnpWUknTvb+y+ejYfL1Kt/j+ZUyxAHxhAoGAGncJ
+ONvmyRatt40K+xeaCdYdU+5b1LbbbWtCpgnnW0bKfSPElpYsMsCKXx9dRhjTcNh3
+UxmpuxP7zU1/UxXRWgHZmxv61n6N9SAXb+6er80SETDozNIRIYv+nxgEjgXEXq5V
+dsxjm04GOQ+QaPSsaH8zkv/Xcou2xgyCZ3gTjUECgYBRuZqP6BaLmW5pX8bjhmP7
+6L9iIAX6pdSi85VG3oioklatrH653/4x8vZAg2ucZ4uRneT+dEC86FKeZ5q5K9VT
+nX797MoUmqwXunURyu7Uxp2e3PxFQeH1MQzH7LqwUymcNApbUmTwYNXEV3zrSieO
+2RdWoaRi0LRz496Z7fpi1g==
+-----END PRIVATE KEY-----
 __EOF__
   SSL_MAKE_VAR="SSL_CERT=$SSL_CERTIFICATE_FILE"
   SSL_TEST_ARG="--ssl-cert $SSL_CERTIFICATE_FILE"

Modified: subversion/branches/serf_error_callbacks/subversion/tests/cmdline/svntest/main.py
==============================================================================
--- subversion/branches/serf_error_callbacks/subversion/tests/cmdline/svntest/main.py	Mon Jan 12 15:45:18 2026	(r1931266)
+++ subversion/branches/serf_error_callbacks/subversion/tests/cmdline/svntest/main.py	Mon Jan 12 15:52:27 2026	(r1931267)
@@ -784,7 +784,7 @@ def trust_ssl_cert(cfgdir, ssl_cert, ssl
   ssl_dir = os.path.join(cfgdir, 'auth', 'svn.ssl.server')
   if not os.path.isdir(ssl_dir):
     os.makedirs(ssl_dir)
-  md5_name = hashlib.md5(netloc_url).hexdigest()
+  md5_name = hashlib.md5(netloc_url.encode()).hexdigest()
   md5_file = os.path.join(ssl_dir, md5_name)
   md5_file_contents = """K 10
 ascii_cert
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.