.
authorDavid Parrish <david@dparrish.com>
Fri, 5 Mar 2004 00:22:45 +0000 (00:22 +0000)
committerDavid Parrish <david@dparrish.com>
Fri, 5 Mar 2004 00:22:45 +0000 (00:22 +0000)
.cvsignore
conform.cfg [deleted file]
install-sh [deleted file]
l2tpns.c

index 9a84440..c65a666 100644 (file)
@@ -1,5 +1,6 @@
 *.o
 l2tpns
+nsctl
 state.dump
 *.swp
 cluster_master
diff --git a/conform.cfg b/conform.cfg
deleted file mode 100644 (file)
index fabea05..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-#!/usr/bin/perl -w
-# vim:ft=perl
-
-die "l2tpns requires RedHat 7.3 or above" if i_isa("SOE_linux_rh6");
-
-my $restart = 0;
-
-my %conf = ();
-for my $c (i_isa_fetchall('L2tpns_config')) {
-       foreach my $opt (keys %$c) {
-               if (ref $conf{$opt} and ref $conf{$opt} eq 'ARRAY') {
-                       $c->{$opt} = [ $c->{$opt} ] unless ref $c->{$opt};
-                       push @{$conf{$opt}}, @{$c->{$opt}};
-               } elsif (ref $c->{$opt} and ref $c->{$opt} eq 'ARRAY') {
-                       # Make sure to copy to avoid changing /etc/machine
-                       $conf{$opt} = [ $conf{$opt} ] if $conf{$opt};
-                       $conf{$opt} ||= [];
-                       push @{$conf{$opt}}, @{$c->{$opt}};
-               } else {
-                       $conf{$opt} = $c->{$opt};
-               }
-       }
-}
-
-$conf{Address_pool} ||= i_isa("Address_pool"); # backwards compat
-
-unless (i_isa("No_throttle")) {
-       chomp(my $kernel = `uname -r`);
-       print "WARN: l2tpns requires kernel 2.4.18-187OIE1. This is included in $_path/rpm/kernel-2.4.18-187OIE1.i386.rpm\n"
-               unless ($kernel eq '2.4.18-187OIE1' || $kernel =~ /^2\.4\.2\d/);
-}
-
-# Recompile the server if needed
-if ((stat("src/l2tpns.c"))[9] > (stat("src/l2tpns"))[9]) {
-       chdir("src");
-       command("make clean");
-       command("make");
-       chdir("..");
-       $restart++;
-}
-
-command("mkdir /dev/net") and ++$restart unless -d "/dev/net";
-command("mknod /dev/net/tun c 10 200") and ++$restart unless -c "/dev/net/tun";
-
-my $cluster = i_isa('Gateway_cluster');
-my $cluster_name = $cluster->{master} || $cluster->{slave} || die 'Not a master or a slave' if $cluster;
-my $master = $cluster && $cluster->{master};
-my $command = $master ? "cluster_master" : "l2tpns";
-push @{$m{$_class}->{Monitor}->{process}->{tests}}, $command;
-
-
-if ($cluster) {
-       $conf{'save state'} ||= 'no';
-       if (!$master && !$cluster->{bind_address}) {
-               die 'No bind address for cluster slave';
-       }
-       $conf{'bind address'} ||= $cluster->{bind_address} unless $master;
-       my $cluster_master;
-       my @cluster_slaves = ();
-       my @cluster_slave_addresses = ();
-       foreach my $host (type_list('Gateway_cluster')) {
-               my $host_conf = OIE::Conform::i_isa(\%m, $host, 'Gateway_cluster');
-               if ($host_conf->{master} eq $cluster_name) {
-                       $cluster_master = $host;
-               } elsif ($host_conf->{slave} eq $cluster_name) {
-                       push @cluster_slaves, $host;
-                       push @{$conf{Address_pool}}, map { "$host_conf->{bind_address}:$_" } @{$m{$host}->{L2tpns_config}->{Address_pool}} if $master;
-                       push @cluster_slave_addresses, $m{$host}->{int_eth0}->{ip};
-               }
-       }
-
-       if ($master) {
-               push @{$m{$_class}->{inittab_include}},
-                       "$_path/src/cluster_master $m{$iam}->{int_eth0}->{ip}";
-               push @{$m{$_class}->{inittab_disable}},
-                       "$_path/src/l2tpns";
-               $m{$_class}->{Firewall}->{$_} = '32792:udp'
-                       foreach @cluster_slave_addresses;
-       }
-       $conf{'cluster master'} ||= $m{$cluster_master}->{int_eth0}->{ip};
-}
-
-# Build up address pool
-my $pool = $conf{Address_pool};
-if ($pool) {
-       my $address_pool = "";
-
-       foreach (@$pool) {
-               $address_pool .= "$_\n";
-       }
-
-       text_install("$_path/etc/ip_pool.txt", $address_pool) and $restart++;
-} else {
-       print "WARN: No Address_pool defined in machines.\n";
-}
-delete $conf{"Address_pool"}; # Don't add it to the conf file
-
-my $servicenet = $conf{"servicenet"};
-if ($servicenet) {
-       $conf{'servicenet'} = 'yes';
-       push @{$conf{plugin}}, 'servicenet' unless grep /^servicenet$/, @{$conf{plugin}};
-       file_install("/etc/rc.d/rc.firewall.INPUT.servicenet", "$_path/etc/rc.firewall.INPUT.servicenet", undef, undef,
-               "s/#SERVICENET#/$servicenet/g")
-               and queue_command("/etc/rc.d/rc.firewall");
-} else {
-       $conf{'servicenet'} = 'no';
-       # Uninstall
-       if (-f "/etc/rc.d/rc.firewall.INPUT.servicenet") {
-               unlink "/etc/rc.d/rc.firewall.INPUT.servicenet";
-               command("iptables -F snet");
-       }
-}
-
-# Note that we don't file_install the config file, but instead modify it
-# in place
-
-my $config = slurp_file("$_path/etc/l2tpns.cfg");
-
-# plugins need to go first, else they won't pick up params
-foreach my $p (@{$conf{plugin}}) {
-       $config =~ s/^#?\s*plugin\s+=\s+\Q$p\E$/plugin = $p/mg or
-               $config = "plugin = $p\n\n$config";
-}
-delete $conf{plugin};
-
-foreach my $c (keys %conf) {
-       $config =~ s/^#?\s*\Q$c\E\s+=\s+.*$/$c = $conf{$c}/mg or
-               $config .= "$c = $conf{$c}\n\n";
-}
-
-file_install("/etc/rc.d/rc.firewall.INPUT.l2tpns", "$_path/etc/rc.firewall.INPUT.l2tpns")
-       and queue_command("/etc/rc.d/rc.firewall");
-
-text_install("$_path/etc/l2tpns.cfg", $config) and $restart++;
-
-queue_command("killall $command") if $restart;
-
diff --git a/install-sh b/install-sh
deleted file mode 100755 (executable)
index ab74c88..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-#
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-tranformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-       -c) instcmd="$cpprog"
-           shift
-           continue;;
-
-       -d) dir_arg=true
-           shift
-           continue;;
-
-       -m) chmodcmd="$chmodprog $2"
-           shift
-           shift
-           continue;;
-
-       -o) chowncmd="$chownprog $2"
-           shift
-           shift
-           continue;;
-
-       -g) chgrpcmd="$chgrpprog $2"
-           shift
-           shift
-           continue;;
-
-       -s) stripcmd="$stripprog"
-           shift
-           continue;;
-
-       -t=*) transformarg=`echo $1 | sed 's/-t=//'`
-           shift
-           continue;;
-
-       -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-           shift
-           continue;;
-
-       *)  if [ x"$src" = x ]
-           then
-               src=$1
-           else
-               # this colon is to work around a 386BSD /bin/sh bug
-               :
-               dst=$1
-           fi
-           shift
-           continue;;
-    esac
-done
-
-if [ x"$src" = x ]
-then
-       echo "install:  no input file specified"
-       exit 1
-else
-       true
-fi
-
-if [ x"$dir_arg" != x ]; then
-       dst=$src
-       src=""
-       
-       if [ -d $dst ]; then
-               instcmd=:
-       else
-               instcmd=mkdir
-       fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad 
-# if $src (and thus $dsttmp) contains '*'.
-
-       if [ -f $src -o -d $src ]
-       then
-               true
-       else
-               echo "install:  $src does not exist"
-               exit 1
-       fi
-       
-       if [ x"$dst" = x ]
-       then
-               echo "install:  no destination specified"
-               exit 1
-       else
-               true
-       fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-       if [ -d $dst ]
-       then
-               dst="$dst"/`basename $src`
-       else
-               true
-       fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='   
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
-       pathcomp="${pathcomp}${1}"
-       shift
-
-       if [ ! -d "${pathcomp}" ] ;
-        then
-               $mkdirprog "${pathcomp}"
-       else
-               true
-       fi
-
-       pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
-       $doit $instcmd $dst &&
-
-       if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
-       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
-       if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
-       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
-       if [ x"$transformarg" = x ] 
-       then
-               dstfile=`basename $dst`
-       else
-               dstfile=`basename $dst $transformbasename | 
-                       sed $transformarg`$transformbasename
-       fi
-
-# don't allow the sed command to completely eliminate the filename
-
-       if [ x"$dstfile" = x ] 
-       then
-               dstfile=`basename $dst`
-       else
-               true
-       fi
-
-# Make a temp file name in the proper directory.
-
-       dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
-       $doit $instcmd $src $dsttmp &&
-
-       trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
-       if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
-       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
-       if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
-       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
-       $doit $rmcmd -f $dstdir/$dstfile &&
-       $doit $mvcmd $dsttmp $dstdir/$dstfile 
-
-fi &&
-
-
-exit 0
index 24f62d5..6927eb5 100644 (file)
--- a/l2tpns.c
+++ b/l2tpns.c
@@ -2240,7 +2240,8 @@ int main(int argc, char *argv[])
        initdata();
        init_cli();
        read_config_file();
-       log(0, 0, 0, 0, "$Id: l2tpns.c,v 1.3 2004-03-05 00:22:06 fred_nerk Exp $\n(c) Copyright 2002 FireBrick (Andrews & Arnold Ltd / Watchfront Ltd) - GPL licenced\n");
+       log(1, 0, 0, 0, "L2TPNS Version 1.1.0 - http://l2tpns.sourceforge.net/\n");
+       log(1, 0, 0, 0, "Licensed under the GPL\n");
 
        /* Start up the cluster first, so that we don't have two machines with
         * the same IP at once.