Olivier Mascia
2018-01-02 14:21:41 UTC
Dear,
I could finally re-install a VM with a plain old stock "Windows XP with Service Pack 3", to re-run a series of tests, because I had some fears. Here are some findings for you to consider.
Out of fresh install, IPv6 is not setup. So fossil ui and fossil server will both fail listening on a socket. That is expected. Actions where fossil acts as a client (fossil clone/push/pull for instance) will work correctly though.
On Windows XP, you have to run the command "ipv6 install" to add the protocol to the stack (much simpler than through the GUI). A reboot is NOT required (as incredible as it looks).
After that, again, fossil as a client (fossil clone/push/pull) will work correctly this time either to an IPv4 or IPv6 target.
Though, fossil ui will fail with "unable to open listening socket", while fossil server will succeed.
The root culprit is here: https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/sag_ip_v6_imp_config_items.mspx?mfr=true
in the "Special addresses" paragraph:
"The IPv6 protocol for Windows (XP) does not support the use of IPv4-mapped addresses."
As implementing a dual-stack listening socket implies IPv4-mapped addresses, this explains the problem. It could be solved by modifying fossil server/ui to listen on two distinct sockets (one pure IPv4 and one pure IPv6). That would also work on all other Windows versions.
I think this is not a very useful complication. Anyone still requiring to use fossil on such archeologic thing as Windows XP won't have any specific issue with fossil, except the requirement to run fossil server instead of fossil ui before accessing the content through http://localhost (that will work nicely). It just kills the prospect of setting up a fossil server (on Windows XP only) for generic access from both IPv4 and IPv6 clients. I suppose that is a small limitation people can live with, seeing, if I'm not mistaken, that fossil doesn't yet support IPv6 at all on unixes.
I could finally re-install a VM with a plain old stock "Windows XP with Service Pack 3", to re-run a series of tests, because I had some fears. Here are some findings for you to consider.
Out of fresh install, IPv6 is not setup. So fossil ui and fossil server will both fail listening on a socket. That is expected. Actions where fossil acts as a client (fossil clone/push/pull for instance) will work correctly though.
On Windows XP, you have to run the command "ipv6 install" to add the protocol to the stack (much simpler than through the GUI). A reboot is NOT required (as incredible as it looks).
After that, again, fossil as a client (fossil clone/push/pull) will work correctly this time either to an IPv4 or IPv6 target.
Though, fossil ui will fail with "unable to open listening socket", while fossil server will succeed.
The root culprit is here: https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/sag_ip_v6_imp_config_items.mspx?mfr=true
in the "Special addresses" paragraph:
"The IPv6 protocol for Windows (XP) does not support the use of IPv4-mapped addresses."
As implementing a dual-stack listening socket implies IPv4-mapped addresses, this explains the problem. It could be solved by modifying fossil server/ui to listen on two distinct sockets (one pure IPv4 and one pure IPv6). That would also work on all other Windows versions.
I think this is not a very useful complication. Anyone still requiring to use fossil on such archeologic thing as Windows XP won't have any specific issue with fossil, except the requirement to run fossil server instead of fossil ui before accessing the content through http://localhost (that will work nicely). It just kills the prospect of setting up a fossil server (on Windows XP only) for generic access from both IPv4 and IPv6 clients. I suppose that is a small limitation people can live with, seeing, if I'm not mistaken, that fossil doesn't yet support IPv6 at all on unixes.
--
Best Regards, Meilleures salutations, Met vriendelijke groeten,
Olivier Mascia
Best Regards, Meilleures salutations, Met vriendelijke groeten,
Olivier Mascia