Package: vpnc
Version: 0.5.1r334-1
Severity: normal

In my environemnt our DHCP returns a bogus-default-route, which I remove
in a custom /etc/dhcp3/dhclient-enter-hooks.d/ script, because the
gateway blocks most outbound traffic expect than a very limited subset
of 134.106.*. My script bascially does this by doing

        case "$reason,`iwgetid -s $interface`" in
                BOUND,vpnhrzb|BOUND,uniOLwlan)
                        vpn_gw="$new_routers"
                        unset new_routers

This breaks the MTU calculation in /etc/vpnc/vpnc-script, because in 
do_ifconfig()
        DEV=$($IPROUTE route | grep ^default | sed 's/^.* dev 
\([[:alnum:]-]\+\).*$/\1/')
returns no default route and thus DEV is empty.

Since the script is not really interested in the MTU to the
default-gateway but to the VPN-gateway, I propose to change the function
to something like the following: ip route get returns the "mtu" used to
reach the VPN-gateway; directly use that value and substract 88 for the
IPSec-headers. If that fails, fall back to 1412.

do_ifconfig() {
        test -n "$IPROUTE" \
                && MTU=$(($($IPROUTE route get "$VPNGATEWAY" | sed -ne 's/^.* 
mtu \([[:digit:]]\+\).*$/\1/p') - 88)) \
                || MTU=1412

        ifconfig "$TUNDEV" inet "$INTERNAL_IP4_ADDRESS" $ifconfig_syntax_ptp 
"$INTERNAL_IP4_ADDRESS" netmask ${INTERNAL_IP4_NETMASK:-255.255.255.255} mtu 
${MTU} up
}

(For sid (untested:)
do_ifconfig() {
        if [ -n "$INTERNAL_IP4_MTU" ]; then
                MTU=$INTERNAL_IP4_MTU
        else
                test -n "$IPROUTE" && MTU=$(($($IPROUTE route get "$VPNGATEWAY" 
| sed -ne 's/^.* mtu \([[:digit:]]\+\).*$/\1/p') - 88)) || MTU=1412
        fi

        # Point to point interface require a netmask of 255.255.255.255 on some 
systems
        ifconfig "$TUNDEV" inet "$INTERNAL_IP4_ADDRESS" $ifconfig_syntax_ptp 
"$INTERNAL_IP4_ADDRESS" netmask 255.255.255.255 mtu ${MTU} up

        if [ -n "$INTERNAL_IP4_NETMASK" ]; then
                set_network_route $INTERNAL_IP4_NETADDR $INTERNAL_IP4_NETMASK 
$INTERNAL_IP4_NETMASKLEN
        fi
}

BYtE
Philipp


-- System Information:
Debian Release: 5.0.1
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages vpnc depends on:
ii  libc6                         2.7-18     GNU C Library: Shared libraries
ii  libgcrypt11                   1.4.1-1    LGPL Crypto library - runtime libr

Versions of packages vpnc recommends:
ii  iproute                       20080725-2 networking and traffic control too
ii  resolvconf                    1.42       name server information handler

vpnc suggests no packages.

-- no debconf information



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to