kumquat-buildroot/sources/vtun.patch
2003-06-20 20:13:45 +00:00

176 lines
5.4 KiB
Diff

diff -urN vtun/Makefile.in vtun-2.6/Makefile.in
--- vtun/Makefile.in 2002-12-20 09:55:47.000000000 -0700
+++ vtun-2.6/Makefile.in 2003-06-05 12:38:31.000000000 -0600
@@ -28,7 +28,7 @@
LEXFLAGS = -t
INSTALL = @INSTALL@
-INSTALL_OWNER = -o root -g 0
+INSTALL_OWNER =
prefix = @prefix@
exec_prefix = @exec_prefix@
@@ -86,15 +86,15 @@
install_config:
$(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(ETC_DIR)
- if [ ! -f $(ETC_DIR)/vtund.conf ]; then \
- $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR); \
- fi
+ $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR);
+ $(INSTALL) -m 600 $(INSTALL_OWNER) scripts/vtund-start.conf $(DESTDIR)$(ETC_DIR);
install: vtund install_config install_man
- $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(VAR_DIR)/run
$(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(STAT_DIR)
$(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(LOCK_DIR)
$(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(SBIN_DIR)
$(INSTALL) -m 755 $(INSTALL_OWNER) vtund $(DESTDIR)$(SBIN_DIR)
+ $(INSTALL) -m 755 $(INSTALL_OWNER) scripts/vtund.rc.debian \
+ $(DESTDIR)$(ETC_DIR)/init.d/S90vtun
# DO NOT DELETE THIS LINE -- make depend depends on it.
diff -urN vtun/scripts/vtund.rc.debian vtun-2.6/scripts/vtund.rc.debian
--- vtun/scripts/vtund.rc.debian 2000-03-26 10:06:37.000000000 -0700
+++ vtun-2.6/scripts/vtund.rc.debian 2003-06-05 12:38:46.000000000 -0600
@@ -1,92 +1,48 @@
-#! /usr/bin/perl -w
+#! /bin/sh
+#
-### vtund-start
-###
-### script to start vtund as either a server or a client, according to
-### the config file /etc/vtund-start.conf
-###
-### Copyright 1999 Craig Sanders <cas@taz.net.au>
-###
-### Written for the Debian GNU/Linux distribution. This script is free
-### software licensed under the terms of the GNU General Public License.
-
-$DAEMON="/usr/sbin/vtund" ;
-
-$do_what = shift ;
-$args="start|stop|reload|force-reload|restart" ;
-if ( $do_what !~ /^($args)$/i ) {
- print "Usage: /etc/init.d/vtun {$args}\n" ;
- exit 0 ;
-}
-
-$SSD="/sbin/start-stop-daemon" ;
-$SSDARGS="--verbose --exec $DAEMON" ;
-
-$sconf="/etc/vtund-start.conf" ;
-open(SCONF,"<$sconf") || die "couldn't open $sconf: $!\n" ;
-while (<SCONF>) {
- chomp ;
- s/#.*//;
- s/^ +| +$//;
- next if (/^$/) ;
-
- @line = split ;
- $host = shift(@line) ;
- $server = shift(@line) ;
- $args = "" ;
- foreach (@line) { $args .= " $_" } ;
-
- $host='' if ($host =~ /--server--/i ) ;
-
- if ( $do_what eq 'start' ) {
- &start($host,$server,$args) ;
- } elsif ( $do_what eq 'stop' ) {
- &stop($host,$server,$args) ;
- } elsif ( $do_what eq 'restart' ) {
- &stop($pidfile) ;
- &start($host,$server,$args) ;
- } elsif ( $do_what =~ /^(reload|force-reload)$/ ) {
- &reload($host,$server) ;
- }
-}
-close (SCONF);
-
-
-sub start {
- my($host,$server,$args) = @_ ;
- print " Starting vtun " ;
- if ($host eq '') {
- print "server\n" ;
- system "$SSD --start $SSDARGS -- $args -s -P $server" ;
- } else {
- print "client $host to $server\n" ;
- $pidfile="/var/run/vtun.$host.$server" ;
- system "$SSD --start $SSDARGS --pidfile $pidfile -- $args $host $server" ;
- }
-} ;
-
-sub stop {
- my($host,$server,$args) = @_ ;
- print " Stopping vtun " ;
- if ($host eq '') {
- print "server\n" ;
- system "$SSD --stop $SSDARGS" ;
- } else {
- print "client $host to $server\n" ;
- $pidfile="/var/run/vtun.$host.$server" ;
- system "$SSD --stop $SSDARGS --pidfile $pidfile" ;
- }
-} ;
-
-sub reload {
- my($host,$server) = @_ ;
- print " Reloading vtun " ;
- if ($host eq '') {
- print "server\n" ;
- system "$SSD --stop $SSDARGS --signal 1" ;
- } else {
- print "client $host to $server\n" ;
- $pidfile="/var/run/vtun.$host.$server" ;
- system "$SSD --stop $SSDARGS --signal 1 --pidfile $pidfile" ;
- }
-}
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAEMON=/usr/sbin/vtund
+CONFFILE=/etc/vtund-start.conf
+PIDPREFIX=/var/run/vtund
+
+test -f $DAEMON || exit 0
+
+case "$1" in
+ start)
+ # find all the defined tunnels
+ egrep -v '^[:space:]*(#.*)?$' $CONFFILE | while true;
+ do
+ read i
+ # no more lines available? done, then.
+ if [ $? != 0 ] ; then break; fi
+ SARGS=`echo $i|sed -ne 's/--server--\s*/-s -P /p'`;
+ if [ -n "$SARGS" ];
+ then
+ echo "Starting vtund server."
+ start-stop-daemon -S -x $DAEMON -- $SARGS;
+ else
+ # split args into host and rest
+ HOST=`echo $i|cut -f 1 -d " "`;
+ TARGET=`echo $i|cut -f 2 -d " "`;
+ echo "Starting vtund client $HOST to $TARGET.";
+ start-stop-daemon -S -x $DAEMON -- $i;
+ fi
+ done
+ ;;
+ stop)
+ echo "Stopping vtund.";
+ start-stop-daemon -K -x vtund;
+ ;;
+
+ restart|reload|force-reload)
+ $0 stop
+ sleep 1;
+ $0 start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
+ exit 1
+ ;;
+esac
+exit 0