diff --git a/vpnc-ipid.diff b/vpnc-ipid.diff new file mode 100644 index 0000000..fa5054f --- /dev/null +++ b/vpnc-ipid.diff @@ -0,0 +1,26 @@ +From: Jan Engelhardt +Date: 2011-10-24 23:40:21.603981415 +0200 +Upstream: tbd + +vpnc-script: filter out more iproute2 fields + +vpnc can throw an error message: +Error: either "to" is duplicate, or "ipid" is a garbage. + +--- + vpnc-script.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: vpnc/vpnc-script.in +=================================================================== +--- vpnc.orig/vpnc-script.in ++++ vpnc/vpnc-script.in +@@ -116,7 +116,7 @@ destroy_tun_device() { + + if [ -n "$IPROUTE" ]; then + fix_ip_get_output () { +- sed 's/cache//;s/metric \?[0-9]\+ [0-9]\+//g;s/hoplimit [0-9]\+//g' ++ sed 's/cache//;s/metric \?[0-9]\+ [0-9]\+//g;s/hoplimit [0-9]\+//g;s/ipid \S\+//g;' + } + + set_vpngateway_route() { diff --git a/vpnc.changes b/vpnc.changes index 482c458..265e64b 100644 --- a/vpnc.changes +++ b/vpnc.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Mon Oct 24 21:41:51 UTC 2011 - jengelh@medozas.de + +- Resolve 'Error: either "to" is duplicate, or "ipid" is a + garbage.' message when connecting and inability to not be able + to send packets due to the gateway route being absent. + +------------------------------------------------------------------- +Fri Aug 26 14:16:47 UTC 2011 - tittiatcoke@gmail.com + +- Added patch to change /etc/resolv.conf with the help of netconfig + (bnc#712435) + ------------------------------------------------------------------- Thu Aug 4 10:25:45 UTC 2011 - tittiatcoke@gmail.com diff --git a/vpnc.spec b/vpnc.spec index c826c85..d06cdcd 100644 --- a/vpnc.spec +++ b/vpnc.spec @@ -15,7 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild Name: vpnc @@ -31,6 +30,8 @@ Requires: /usr/bin/sed /sbin/ip Source: %{name}-%{version}.tar.bz2 Patch0: bugfix.diff Patch1: vpnc-no-build-dates.patch +Patch2: work-with-netconfig.patch +Patch3: vpnc-ipid.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -57,6 +58,9 @@ Authors: %setup -n %{name} %patch0 -p0 %patch1 +#Patch is not yet working :-( +#patch2 -p0 +%patch -P 3 -p1 %build export CFLAGS="%optflags -fno-strict-aliasing" diff --git a/work-with-netconfig.patch b/work-with-netconfig.patch new file mode 100644 index 0000000..db7afe2 --- /dev/null +++ b/work-with-netconfig.patch @@ -0,0 +1,41 @@ +--- vpnc-script.in 2009-09-05 19:10:59.000000000 +0200 ++++ vpnc-script.in 2011-08-26 16:11:57.217160278 +0200 +@@ -76,9 +76,9 @@ + if [ -x /sbin/resolvconf ]; then # Optional tool on Debian, Ubuntu, Gentoo + MODIFYRESOLVCONF=modify_resolvconf_manager + RESTORERESOLVCONF=restore_resolvconf_manager +-elif [ -x /sbin/modify_resolvconf ]; then # Mandatory tool on Suse earlier than 11.1 +- MODIFYRESOLVCONF=modify_resolvconf_suse +- RESTORERESOLVCONF=restore_resolvconf_suse ++elif [ -x /sbin/netconfig ]; then # Mandatory tool on Suse later than 11.2 ++ MODIFYRESOLVCONF=modify_resolvconf_suse_netconfig ++ RESTORERESOLVCONF=restore_resolvconf_suse_netconfig + else # Generic for any OS + MODIFYRESOLVCONF=modify_resolvconf_generic + RESTORERESOLVCONF=restore_resolvconf_generic +@@ -344,6 +344,25 @@ + esac + fi + } ++# === resolv.conf handling via /sbin/netconfig (Suse 11.1) ===================== ++ ++# Suse provides a script that modifies resolv.conf. Use it because it will ++# restart/reload all other services that care about it (e.g. lwresd). [unclear if this is still true, but probably --mlk] ++ ++modify_resolvconf_suse_netconfig() ++{ ++ /sbin/netconfig modify -s vpnc -i "$TUNDEV" <<-EOF ++ INTERFACE='$TUNDEV' ++ DNSSERVERS='$INTERNAL_IP4_DNS' ++ DNSDOMAIN='$CISCO_DEF_DOMAIN' ++ EOF ++} ++# Restore resolv.conf to old contents on Suse ++restore_resolvconf_suse_netconfig() ++{ ++ /sbin/netconfig remove -s vpnc -i "$TUNDEV" ++} ++ + # === resolv.conf handling via /sbin/modify_resolvconf (Suse) ===================== + + # Suse provides a script that modifies resolv.conf. Use it because it will