From: Ivo Timmermans <ivo@lychnis.net>
Date: Tue, 16 May 2000 14:34:44 +0000 (+0000)
Subject: Use the new VpnMask directive to add a route to the rest of the VPN.
X-Git-Tag: release-1.0pre2~45
X-Git-Url: https://tinc-vpn.org/git/browse?a=commitdiff_plain;h=cdab82d6fb7d7d32194cb2162a814fbc89b7db4c;p=tinc

Use the new VpnMask directive to add a route to the rest of the VPN.
---

diff --git a/debian/init.d b/debian/init.d
index 47339512..de3b3086 100644
--- a/debian/init.d
+++ b/debian/init.d
@@ -1,7 +1,9 @@
 #! /usr/bin/perl -w
 #
 # System startup script for tinc
-# $Id: init.d,v 1.5 2000/05/15 17:15:52 zarq Exp $
+# $Id: init.d,v 1.6 2000/05/16 14:34:44 zarq Exp $
+#
+# Based on Lubomir Bulej's Redhat init script.
 #
 
 my $DAEMON="/usr/sbin/tincd";
@@ -10,6 +12,7 @@ my $DESC="tinc daemons";
 my $TCONF="/etc/tinc";
 my $EXTRA="";
 
+# Put your VPN names in here.
 my $NETS="";  # This is a space-separated list of networks to be started.
 
 
@@ -41,6 +44,8 @@ sub vpn_load {
 	} elsif ( /^[ ]*(MyOwnVPNIP|MyVirtualIP)[ =]+([^ \#]+)/i ) {
 	    $VPN=$2;
 	    chomp($VPN);
+	} elsif ( /^[ ]*VpnMask[ =]+([^ \#]+)/i ) {
+	    $VPNMASK=$1;
 	}
     }
     if(!defined($DEV)) {
@@ -55,6 +60,9 @@ sub vpn_load {
     if($VPN eq "") {
 	die "tinc: No argument to MyVirtualIP/MyOwnVPNIP";
     }
+    if(defined($VPNMASK) && $VPNMASK eq "") {
+	die "tinc: Invalid argument to VpnMask";
+    }
     $ADR = $VPN;
     $ADR =~ s/^([^\/]+)\/.*$/$1/;
     $LEN = $VPN;
@@ -90,6 +98,9 @@ sub vpn_start {
     system("ifconfig $DEV hw ether $MAC");
     system("ifconfig $DEV $ADR netmask $MSK broadcast $BRD -arp");
     system("start-stop-daemon --start --quiet --pidfile /var/run/$NAME.$_[0].pid --exec $DAEMON -- -n $_[0] $EXTRA");
+    if(defined($VPNMASK)) {
+	system("route add -net $ADR netmask $VPNMASK dev $DEV");
+    }
 }