]> git.ipfire.org Git - thirdparty/openvpn.git/commit
Implement dual stack client support for OpenVPN
authorArne Schwabe <arne@rfc2549.org>
Mon, 25 Nov 2013 12:31:17 +0000 (13:31 +0100)
committerGert Doering <gert@greenie.muc.de>
Fri, 29 Nov 2013 19:49:41 +0000 (20:49 +0100)
commit23d61c56b9fd218c39ad151b01b7e2d6690e6093
tree82e60810cb3e08b2c677d3dd39e55aa23e91958e
parentaa162d44edae8530391775b55e7b4f149548537e
Implement dual stack client support for OpenVPN

This patch contains a number of changes. I did not further spit this since some changes make only sense being changed together.

Always use connection_list, simplifies the reconnection logic.

Change meaning of --connect-retry-max and --connect-retry to be used
all connections. This now allows OpenVPN to quit after n unsuccessful
udp connection attempts

Remove the tcp reconnection logic. Failing a TCP connection will now
cause a USR1 like a UDP connection. Also extend sig->source from bool to
int to specify signal source. This allows a finer grained reconnection
logic if necessary in the future.

Dual-Stack support: if an address resolves to multiple records each
address is tried in sequential order. Then proceed to next connection
entry. Introduce the field current_remote to represent the current
connecting remote. Also change some fields to struct addrinfo* form
openvn_addr to store multiple addresses needed for the dual stack support.

Change meaning from udp and tcp to allow both IPv4 and IPv6. Introducue
new udp4 and tcp4 to force IPv4.

Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <1385382680-5912-6-git-send-email-arne@rfc2549.org>
URL: http://article.gmane.org/gmane.network.openvpn.devel/8058

Signed-off-by: Gert Doering <gert@greenie.muc.de>
Message-ID: <20131129194258.GL161@greenie.muc.de>
Acked-by: Arne Schwabe <arne@rfc2549.org>
URL: http://article.gmane.org/gmane.network.openvpn.devel/8071

Signed-off-by: Gert Doering <gert@greenie.muc.de>
15 files changed:
doc/openvpn.8
src/openvpn/error.c
src/openvpn/init.c
src/openvpn/manage.c
src/openvpn/manage.h
src/openvpn/options.c
src/openvpn/options.h
src/openvpn/ps.c
src/openvpn/push.c
src/openvpn/sig.c
src/openvpn/sig.h
src/openvpn/socket.c
src/openvpn/socket.h
src/openvpn/tun.c
src/openvpn/tun.h