FS#40933 - [pkgstats] pkgstats attempts to use IPv4 unconditionally
Attached to Project:
Arch Linux
Opened by Hugo Osvaldo Barrera (hobarrera) - Sunday, 22 June 2014, 04:50 GMT
Last edited by Bartłomiej Piotrowski (Barthalion) - Saturday, 26 July 2014, 10:54 GMT
Opened by Hugo Osvaldo Barrera (hobarrera) - Sunday, 22 June 2014, 04:50 GMT
Last edited by Bartłomiej Piotrowski (Barthalion) - Saturday, 26 July 2014, 10:54 GMT
|
Details
Description:
pkgstats tries to use IPv4 (it actually passes the -4 flag to curl). This is wrong, since it will fail on any system that does not have native IPv4 connectivity (and there is no valid reason for force IPv4, since pkgstats operates on a higher layer). It doesn't matter if the remote host is only-IPv4-capable, since NAT64 will get around that. Additional info: * package version(s): pkgstats 2.3-5 * config and/or log files etc. all the defaults Steps to reproduce: $ pkgstats Collecting data... Submitting data... curl: (7) Failed to connect to www.archlinux.de port 443: No route to host Sorry, data could not be sent. |
This task depends upon
Closed by Bartłomiej Piotrowski (Barthalion)
Saturday, 26 July 2014, 10:54 GMT
Reason for closing: Fixed
Saturday, 26 July 2014, 10:54 GMT
Reason for closing: Fixed
Having users being unable to submit stats has a worse effect than merely having users for which the geographic data is unknown.
It'll also bias the data, since current data only applies to users with native IPv4 connectivity, so packages used/required by IPv6-only users will see zero installations, etc.
Finally, my network has NAT64, as mentioned before, so if the server is only reachable via IPv4, it'll see the request comming from the IPv4 address my network is routed to. (in case you don't know, NAT64 maps IPv6->IPv4 at a router/ISP level. A whole IPv6 prefix is left aside and used to mapped all of the IPv4 internet, while DNS64 handles the translation).
If it's truly a server issue, then remove all AAAA records, and make the client work over IPv4 OR IPv6. The server will still see all requests comming via IPv4 (and most IPv6-only hosts still have some transition mechanism to make that communication possible).