On 01.02.2020 12:17, Stefan Sperling wrote:
> On Fri, Jan 31, 2020 at 04:12:20AM +0000, Daniel Shahaf wrote:
>> So in balance, how about —
>>
>> - ra_serf should not canonicalize redirection URLs before accessing them.
>>
>> - After following all redirections (that is, once we get a 2xx response
>> or a 5xx response), canonicalize the resultant URL. If it is then
>> equal to the input URL, error out with a "Not a repository" error
>> [SVN_ERR_RA_SVN_REPOS_NOT_FOUND seems appropriate]; otherwise, return
>> SVN_ERR_RA_SESSION_URL_MISMATCH (the error code that svn_ra_open4()
>> promises for this situation).
>>
>> This would fix both of the original bugs, wouldn't it?
> This idea won't work without some restructuring because the redirect
> retry loop is currently in libsvn_client, not within ra_serf.
And for good reason. The RA layer is supposed do be stupid^Wsimple.
-- Brane
Received on 2020-02-01 12:31:18 CET