FreeBSD 6 no longer adds debug.if_* sysctl variables in its default kernel (according to the release notes), so our heuristic assumes the module is missing and tries to load it, which fails as the module already exists. Workaround is possible: drop the interface that is preloaded from openvpn_if. This is the fix: It adds a second check that uses kldstat -m if_$NAME. Leave the old check in place for FreeBSD 5.4-RELEASE and older. Generated with FreeBSD Port Tools 0.63 Fix: --BB7251B7C3.1127010846/merlin.emma.line.org----aTdWTpLogl1hdf8ASA3JaSnk3sT99VLvfTl58vLJ53hEcBGE Content-Type: text/plain; name="openvpn-2.0.2_1.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="openvpn-2.0.2_1.patch" diff -ruN --exclude=CVS /usr/ports/security/openvpn/Makefile /root/ports/security/openvpn/Makefile --- /usr/ports/security/openvpn/Makefile Tue Sep 6 04:00:30 2005 +++ /root/ports/security/openvpn/Makefile Sun Sep 18 04:14:06 2005 @@ -7,6 +7,7 @@ PORTNAME= openvpn DISTVERSION= 2.0.2 +PORTREVISION= 1 CATEGORIES= security MASTER_SITES= http://openvpn.net/release/ diff -ruN --exclude=CVS /usr/ports/security/openvpn/files/openvpn.sh.in /root/ports/security/openvpn/files/openvpn.sh.in --- /usr/ports/security/openvpn/files/openvpn.sh.in Tue Sep 6 04:00:31 2005 +++ /root/ports/security/openvpn/files/openvpn.sh.in Sun Sep 18 04:27:09 2005 @@ -59,7 +59,11 @@ openvpn_precmd() { for i in $openvpn_if ; do - if ! sysctl debug.if_${i}_debug >/dev/null 2>&1 ; then + # FreeBSD <= 5.4 does not know kldstat's -m option + # FreeBSD >= 6.0 does not add debug.* sysctl information + # in the default build - we check both to keep things simple + if ! sysctl debug.if_${i}_debug >/dev/null 2>&1 \ + && ! kldstat -m if_${i} >/dev/null 2>&1 ; then if ! kldload if_${i} ; then warn "Could not load $i module." return 1
State Changed From-To: open->closed Commited, thanks!