pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/45394: openvpn get_default_gateway() fails on NetBSD
>Number: 45394
>Category: pkg
>Synopsis: openvpn get_default_gateway() fails on NetBSD
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Sep 23 06:55:00 +0000 2011
>Originator: Alan Barrett
>Release: NetBSD 5.99.55
>Organization:
Not much
>Environment:
System: NetBSD 5.99.55
Architecture: i386
Machine: i386
>Description:
openvpn-2.2.1 built from pkgsrc contains code to find the
default gateway, but it fails on NetBSD-current, resulting in
log messages like this:
NOTE: unable to redirect default gateway -- Cannot read current
default gateway from system
>How-To-Repeat:
Build and install openvpn on NetBSD-current. Attempt to use it with a
configuration that includes constructs like this:
--redirect-gateway def1
--route 10.0.0.0 255.0.0.0 net_gateway
The system's default IPv4 gateway is needed by both the the
--redirect-gateway option, and the net_gateway keyword used with the
--route option.
>Fix:
Change the code in openvpn-2.2.1/route.c to use the correct API on
NetBSD.
There are several versions of the get_default_gateway() function
in route.c. The culprit seems to be the one guarded by
#elif defined(TARGET_OPENBSD) || defined(TARGET_NETBSD)
in line 1933 of route.c.
I haven't investigated in detail, but it's suspicious that openvpn uses
it's own struct definitions instead of including appropriate headers
from the system.
Home |
Main Index |
Thread Index |
Old Index