The first patch is a corrected (read working) version of the patch I posted a while ago.
For the last three patches. I am in the progress of looking through the socket.c code. The ultimate goal is to simplify the code and have good way of dealing with ipv4/ipv6 dual stack. These first patches don't change any functionality but clean up the code. Arne Schwabe (4): Fixes error: --key fails with EXTERNAL_PRIVATE_KEY: No such file or directory if --management-external-key is used Merge getaddr_multi and getaddr6 into one function Merge almost identical create_socket_tcp and create_socket_tcp6 Simplify print_sockaddr_ex function, merge duplicate ipv4/ipv6 logic src/openvpn/manage.c | 4 +- src/openvpn/options.c | 18 +- src/openvpn/route.c | 50 ++-- src/openvpn/socket.c | 724 ++++++++++++++++--------------------------------- src/openvpn/socket.h | 19 +- 5 files changed, 280 insertions(+), 535 deletions(-) -- 1.7.9.6 (Apple Git-31.1)