Opened 7 years ago
Last modified 7 years ago
#881 new Bug / Defect
OpenVPN v2.4 breaks --status formatting of client IP:port on FreeBSD
Reported by: | David Sommerseth | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Networking | Version: | OpenVPN 2.4.0 (Community Ed) |
Severity: | Not set (select this one, unless your'e a OpenVPN developer) | Keywords: | freebsd bsd status regression |
Cc: | Gert Döring, plaisthos |
Description
Received report on #openvpn that the format of --status files where different from v2.3.12 to v2.4.x
In v2.3.12, you can see:
Test-Client,x.x.x.x:53176,5220,5420,Sun Apr 30 17:27:07 2017
While in v2.4.0
Test-Client,x.x.x.x,5220,5420,Sun Apr 30 17:27:07 2017
I did a git bisect
to locate this issue, and it stopped at this commit:
$ git bisect bad 8832c6c4cf7d1425684dd8e56984e407fe3e2aac is the first bad commit commit 8832c6c4cf7d1425684dd8e56984e407fe3e2aac Author: Arne Schwabe <arne@rfc2549.org> Date: Mon Nov 25 13:31:18 2013 +0100 Implement listing on IPv4/IPv6 dual socket on all platform With this patch OpenVPN will listen on Ipv4 as well as IPv6 when an IPv6 socket is used. Using bind ipv6only will disable this behavior Acked-by: Gert Doering <gert@greenie.muc.de> Message-Id: <1385382680-5912-7-git-send-email-arne@rfc2549.org> URL: http://article.gmane.org/gmane.network.openvpn.devel/8052 Signed-off-by: Gert Doering <gert@greenie.muc.de>
The complete git bisect log:
$ git bisect log git bisect start # good: [8990b218fa9db71714ac42b0095c594e19861320] Preparing release of v2.3.12 git bisect good 8990b218fa9db71714ac42b0095c594e19861320 # bad: [9e0963c11aa439deb382d7d6bc40b6ade999401c] New approach to handle peer-id related changes to link-mtu. git bisect bad 9e0963c11aa439deb382d7d6bc40b6ade999401c # good: [6abd293e5c04467a17e6ed4cf01c708cef0ac046] Preparing for v2.3_beta1 git bisect good 6abd293e5c04467a17e6ed4cf01c708cef0ac046 # bad: [3173787a0beea7c335b1aaedcd2ca5303b17bc22] Fix compiler warning for unused result of write() git bisect bad 3173787a0beea7c335b1aaedcd2ca5303b17bc22 # good: [8476edbb1748e11de0e4fda8989c9e470285926b] Only print script warnings when a script is used. Remove stray mention of script-security system. git bisect good 8476edbb1748e11de0e4fda8989c9e470285926b # good: [076fd3e46bbbe6261317d58cc2442f8eccc927ce] Change the type of all ports in openvpn to const char* and let getaddrinfo resolve the port together with the hostname. git bisect good 076fd3e46bbbe6261317d58cc2442f8eccc927ce # bad: [925b8a463b78620c1f856a0224396ac7d53e6295] Support non-ASCII characters in Windows tmp path git bisect bad 925b8a463b78620c1f856a0224396ac7d53e6295 # good: [282788a835f6c9dfb85e8f9a3bd45f5841271b06] Fix assertion when SIGUSR1 is received while getaddrinfo is successful git bisect good 282788a835f6c9dfb85e8f9a3bd45f5841271b06 # good: [aa162d44edae8530391775b55e7b4f149548537e] When resolving fails print the error message from socket layer git bisect good aa162d44edae8530391775b55e7b4f149548537e # good: [68793f40e1d04409264d21dd24453d959828a306] Move ASSERT so external-key with OpenSSL works again git bisect good 68793f40e1d04409264d21dd24453d959828a306 # bad: [451de0a8d61a8a2c4a049837374a728090b4e4d6] Fix IPv6_V6ONLY logic. git bisect bad 451de0a8d61a8a2c4a049837374a728090b4e4d6 # bad: [8832c6c4cf7d1425684dd8e56984e407fe3e2aac] Implement listing on IPv4/IPv6 dual socket on all platform git bisect bad 8832c6c4cf7d1425684dd8e56984e407fe3e2aac # first bad commit: [8832c6c4cf7d1425684dd8e56984e407fe3e2aac] Implement listing on IPv4/IPv6 dual socket on all platform
Change History (2)
comment:1 follow-up: 2 Changed 7 years ago by
comment:2 Changed 7 years ago by
Replying to dazo:
Please note, this seems to be a BSD related bug. This issue does not appear on Linux at all.
That would surprise me, as there should not be anything OS related anywhere close to printing of IP address (+port)... but it might have to do with the version of the --status
file (= you see a different version in your linux tests).
In fact, there's another open trac where the submitter complained that the notation of "ip:port" breaks for IPv6 (2001:dba::1:53 - what is address, what is port?), and there we found that (pre-2.4) master did not log the port at all... so this looks like a regression, and while at it, we should address #664... while this was about management interface, the status line printing is the same for status file and management.
Please note, this seems to be a BSD related bug. This issue does not appear on Linux at all.