> On 12 Jan 2016, at 15:05, Sven Van Caekenberghe <
[hidden email]> wrote:
>
> Hi Monty,
>
> Thanks for reporting this issue.
>
> The problem is that Zn requests
http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd using Host: www.oasis-open.org:80 (so with an explicit port) and apparently this server cannot directly deal with that and redirects to the same URL (but without the port) and Zn then does the same thing: ergo, an infinite loop.
>
> This was probably introduced a while ago when support for HTTPS Connect proxying was added. It will take me a little while to get into why it was added and if/how it can be avoided.
I committed the following in #bleedingEdge:
===
Name: Zinc-HTTP-SvenVanCaekenberghe.444
Author: SvenVanCaekenberghe
Time: 12 January 2016, 8:31:50.516464 pm
UUID: 231767b6-088c-462b-8c1d-dbcdc9eb5198
Ancestors: Zinc-HTTP-SvenVanCaekenberghe.443
Revert the decision to use #authorityWithPort instead of #authority in ZnHeaders>>#request:
A bug reported by Monty shows that some servers are sensitive to the default port being added
Another reading of the specs seems to indicate that the default port (80 or 433) is really not needed (but not forbidden either)
This might interfere with HTTPS proxying using HTTP CONNECT tunneling but that is very hard to test (see Zinc-HTTP-SvenVanCaekenberghe.437)
===
All tests remain green and your request now succeeds.
But like I said, it is hard to test the proxying, let's hope I didn't break anything.
> In any case, this is the first server that causes this ;-)
>
> Sven
>
>> On 12 Jan 2016, at 07:00, monty <
[hidden email]> wrote:
>>
>> When you try to retrieve this URL with recent Zinc versions, you get a max number of redirects exceeded error:
>>
>>
http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd>>
>> This is causing an XMLParser test to fail. But you can retrieve the URL fine in older images (with older versions of Zinc). I tried changing the max number of redirects to something higher, to no avail. Even when allowing hundreds of redirects, I still get the error.
>>
>