25
23
static const struct config_names_s {
26
24
enum config_enum nm;
27
25
const int needsArgument;
30
"Don't ask anything, exit on missing options",
28
"path of the trusted CA-Directory",
37
+ CONFIG_DNS_UPDATE, 1, 1,
41
+ "DEPRECATED extension, see README.Debian for details",
42
+ config_def_dns_update
46
+ CONFIG_TARGET_NETWORKS, 1, 1,
47
+ "--target-networks",
50
+ "DEPRECATED extension, see README.Debian for details",
51
+ config_def_networks_list
33
+ CONFIG_DNS_UPDATE, 1, 1,
37
+ "DEPRECATED extension, see README.Debian for details",
38
+ config_def_dns_update
42
+ CONFIG_TARGET_NETWORKS, 1, 1,
43
+ "--target-networks",
46
+ "DEPRECATED extension, see README.Debian for details",
47
+ config_def_networks_list
56
52
0, 0, 0, NULL, NULL, NULL, NULL, NULL
59
diff -urNad vpnc~/config.h vpnc/config.h
60
--- vpnc~/config.h 2007-02-08 03:55:55.000000000 +0100
61
+++ vpnc/config.h 2007-05-23 23:21:23.000000000 +0200
65
CONFIG_UDP_ENCAP_PORT,
70
+ CONFIG_TARGET_NETWORKS,
55
diff -urNad vpnc-0.5.1r275~/config.h vpnc-0.5.1r275/config.h
56
--- vpnc-0.5.1r275~/config.h 2007-12-23 15:32:14.000000000 +0100
57
+++ vpnc-0.5.1r275/config.h 2007-12-23 16:28:24.000000000 +0100
65
+ CONFIG_TARGET_NETWORKS,
76
diff -urNad vpnc~/vpnc-script vpnc/vpnc-script
77
--- vpnc~/vpnc-script 2007-02-18 12:52:03.000000000 +0100
78
+++ vpnc/vpnc-script 2007-05-23 23:23:07.000000000 +0200
70
diff -urNad vpnc-0.5.1r275~/pcf2vpnc vpnc-0.5.1r275/pcf2vpnc
71
--- vpnc-0.5.1r275~/pcf2vpnc 2007-12-23 15:32:14.000000000 +0100
72
+++ vpnc-0.5.1r275/pcf2vpnc 2007-12-23 16:28:24.000000000 +0100
77
+$ENV{"PATH"}.=":/usr/lib/vpnc";
79
my %authmode = ( 1 => 'psk', 3 => 'cert', 5 => 'hybrid' );
82
diff -urNad vpnc-0.5.1r275~/vpnc-script.in vpnc-0.5.1r275/vpnc-script.in
83
--- vpnc-0.5.1r275~/vpnc-script.in 2007-12-23 15:32:14.000000000 +0100
84
+++ vpnc-0.5.1r275/vpnc-script.in 2007-12-23 16:29:13.000000000 +0100
86
# =========== tunnel interface handling ====================================
89
- ifconfig "$TUNDEV" inet "$INTERNAL_IP4_ADDRESS" $ifconfig_syntax_ptp "$INTERNAL_IP4_ADDRESS" netmask ${INTERNAL_IP4_NETMASK:-255.255.255.255} mtu 1412 up
90
+ /sbin/ifconfig "$TUNDEV" inet "$INTERNAL_IP4_ADDRESS" $ifconfig_syntax_ptp "$INTERNAL_IP4_ADDRESS" netmask ${INTERNAL_IP4_NETMASK:-255.255.255.255} mtu 1390 up
93
destroy_tun_device() {
80
95
else # can't open /dev/net/tun
81
96
test -e /proc/sys/kernel/modprobe && `cat /proc/sys/kernel/modprobe` tun 2>/dev/null
82
97
# fix for broken devfs in kernel 2.6.x
88
103
ln -sf /dev/misc/net/tun /dev/net/tun
90
105
# make sure tun device exists
95
- ifconfig "$TUNDEV" inet "$INTERNAL_IP4_ADDRESS" $ifconfig_syntax_ptp "$INTERNAL_IP4_ADDRESS" netmask 255.255.255.255 mtu 1412 up
96
+ /sbin/ifconfig "$TUNDEV" inet "$INTERNAL_IP4_ADDRESS" $ifconfig_syntax_ptp "$INTERNAL_IP4_ADDRESS" netmask 255.255.255.255 mtu 1390 up
99
destroy_tun_device() {
105
+ case "$DNS_UPDATE" in
111
+ if [ -x /sbin/resolvconf ] ; then
113
+ if [ "$CISCO_DEF_DOMAIN" ] ; then
114
+ echo domain "$CISCO_DEF_DOMAIN"
115
+ echo search "$CISCO_DEF_DOMAIN"
117
+ for ip in "$INTERNAL_IP4_DNS" ; do
118
+ echo nameserver $ip
120
+ ) | /sbin/resolvconf -a $TUNDEV
124
grep '^#@VPNC_GENERATED@' /etc/resolv.conf > /dev/null 2>&1 || cp -- /etc/resolv.conf "$RESOLV_CONF_BACKUP"
125
NEW_RESOLVCONF="#@VPNC_GENERATED@ -- this file is generated by vpnc
126
# and will be overwritten by vpnc
132
+ if [ -x /sbin/resolvconf ] ; then
133
+ /sbin/resolvconf -d "$TUNDEV"
137
+ case "$DNS_UPDATE" in
144
if [ ! -e "$RESOLV_CONF_BACKUP" ]; then
151
+ # Debian specific, insert your code there to avoid modification of
152
+ # conffiles like this script
153
+ if [ -r /etc/vpnc/vpnc-script-connect-action ] ; then
154
+ . /etc/vpnc/vpnc-script-connect-action
156
+ # backwards compatibility mapping for old extensions
157
+ if test "$TARGET_NETWORKS" ; then
159
+ for network in $TARGET_NETWORKS ; do
160
+ eval CISCO_SPLIT_INC_${i}_ADDR=`echo $network | cut -f1 -d/`
161
+ eval CISCO_SPLIT_INC_${i}_MASKLEN=`echo $network | cut -f2 -d/`
162
+ eval CISCO_SPLIT_INC_${i}_MASK=$( perl -e '$ARGV[0]=~s,.*/,,;$m=(2**$ARGV[0]-1)<<(32-$ARGV[0]);printf "%d.%d.%d.%d\n", $m>>24 & 0xff, $m>>16 & 0xff, $m>>8 & 0xff, $m & 0xff;' $network )
163
+ eval CISCO_SPLIT_INC_${i}_PROTOCOL=0
164
+ eval CISCO_SPLIT_INC_${i}_SPORT=0
165
+ eval CISCO_SPLIT_INC_${i}_DPORT=0
110
+ # Debian specific, insert your code there to avoid modification of
111
+ # conffiles like this script
112
+ if [ -r /etc/vpnc/vpnc-script-connect-action ] ; then
113
+ . /etc/vpnc/vpnc-script-connect-action
115
+ # backwards compatibility mapping for old extensions
116
+ if test "$TARGET_NETWORKS" ; then
118
+ for network in $TARGET_NETWORKS ; do
119
+ eval CISCO_SPLIT_INC_${i}_ADDR=`echo $network | cut -f1 -d/`
120
+ eval CISCO_SPLIT_INC_${i}_MASKLEN=`echo $network | cut -f2 -d/`
121
+ eval CISCO_SPLIT_INC_${i}_MASK=$( perl -e '$ARGV[0]=~s,.*/,,;$m=(2**$ARGV[0]-1)<<(32-$ARGV[0]);printf "%d.%d.%d.%d\n", $m>>24 & 0xff, $m>>16 & 0xff, $m>>8 & 0xff, $m & 0xff;' $network )
122
+ eval CISCO_SPLIT_INC_${i}_PROTOCOL=0
123
+ eval CISCO_SPLIT_INC_${i}_SPORT=0
124
+ eval CISCO_SPLIT_INC_${i}_DPORT=0
129
+ ## end Debian specific
171
131
if [ -n "$CISCO_BANNER" ]; then
172
132
echo "Connect Banner:"
173
133
echo "$CISCO_BANNER" | while read LINE ; do echo "|" "$LINE" ; done
175
if [ -n "$INTERNAL_IP4_DNS" ]; then
179
+ if [ -r /etc/vpnc/vpnc-script-post-connect-action ] ; then
180
+ . /etc/vpnc/vpnc-script-post-connect-action
134
@@ -448,13 +470,31 @@
139
- if [ -n "$INTERNAL_IP4_DNS" ]; then
142
+ case "$DNS_UPDATE" in
146
+ if [ -n "$INTERNAL_IP4_DNS" ]; then
152
+ if [ -r /etc/vpnc/vpnc-script-post-connect-action ] ; then
153
+ . /etc/vpnc/vpnc-script-post-connect-action
185
158
do_disconnect() {
187
+ # Debian specific, insert your code there to avoid modification of
188
+ # conffiles like this script
189
+ if [ -r /etc/vpnc/vpnc-script-disconnect-action ] ; then
190
+ . /etc/vpnc/vpnc-script-disconnect-action
160
+ # Debian specific, insert your code there to avoid modification of
161
+ # conffiles like this script
162
+ if [ -r /etc/vpnc/vpnc-script-disconnect-action ] ; then
163
+ . /etc/vpnc/vpnc-script-disconnect-action
193
166
destroy_tun_device
194
167
if [ -n "$CISCO_SPLIT_INC" ]; then
197
if [ -n "$INTERNAL_IP4_DNS" ]; then
173
- if [ -n "$INTERNAL_IP4_DNS" ]; then
175
+ case "$DNS_UPDATE" in
179
+ if [ -n "$INTERNAL_IP4_DNS" ]; then
184
+ if [ -r /etc/vpnc/vpnc-script-post-disconnect-action ] ; then
185
+ . /etc/vpnc/vpnc-script-post-disconnect-action
200
+ if [ -r /etc/vpnc/vpnc-script-post-disconnect-action ] ; then
201
+ . /etc/vpnc/vpnc-script-post-disconnect-action
206
diff -urNad vpnc~/vpnc.c vpnc/vpnc.c
207
--- vpnc~/vpnc.c 2007-02-19 21:49:51.000000000 +0100
208
+++ vpnc/vpnc.c 2007-05-23 23:21:23.000000000 +0200
189
diff -urNad vpnc-0.5.1r275~/vpnc.c vpnc-0.5.1r275/vpnc.c
190
--- vpnc-0.5.1r275~/vpnc.c 2007-12-23 15:32:14.000000000 +0100
191
+++ vpnc-0.5.1r275/vpnc.c 2007-12-23 16:28:24.000000000 +0100
211
194
setenv("VPNGATEWAY", inet_ntoa(s->dst), 1);
212
195
setenv("reason", "connect", 1);