The GitHub Actions job "CMake" on subversion.git/proxy-move-copy-fix has 
succeeded.
Run started by GitHub user asf-gitbox-commits (triggered by asf-gitbox-commits).

Head commit for run:
1ebea31fa2c882fbbf7546ceb93f4490642e4563 / Jordan Peck <[email protected]>
Canonicalize SVNMasterURI at config-parse time, avoid re-encoding it

The SVNMasterURI directive value was stored verbatim, so a trailing slash
leaked "//" into every proxied filename and rewritten Destination header.
mirror.c URI-encoded the raw value before use, double-escaping any 
'%' in a master path that itself needs encoding.

Store the value canonicalized (no trailing slash, normalized escapes)
and establish the invariant that consumers use it as-is: the Destination
rewrite and the Location response-header match take it verbatim, and the
proxy filename now encodes only the (decoded) URI segment appended to
it.

This is a user-visible config improvement: SVNMasterURI values with a
trailing slash now work.  The mirror test harness deliberately
configures one to keep this canonicalized.

* subversion/mod_dav_svn/mod_dav_svn.c
  (SVNMasterURI_cmd): Canonicalize the value before storing it.
* subversion/mod_dav_svn/mirror.c
  (proxy_request_fixup): Build r->filename from the raw master URI plus
   the encoded segment.
  (proxy_request_fixup_destination): Don't re-encode the master URI in
   the rewritten Destination header.
  (dav_svn__location_header_filter): Match the stored master URI
   against the Location header without re-encoding it.

git-svn-id: 
https://svn.apache.org/repos/asf/subversion/branches/proxy-move-copy-fix@1936012
 13f79535-47bb-0310-9956-ffa450edef68

Report URL: https://github.com/apache/subversion/actions/runs/28973710299

With regards,
GitHub Actions via GitBox

Reply via email to