added tcpdumpcount function from NATT guys
authorMartin Willi <martin@strongswan.org>
Thu, 13 Jul 2006 12:43:52 +0000 (12:43 -0000)
committerMartin Willi <martin@strongswan.org>
Thu, 13 Jul 2006 12:43:52 +0000 (12:43 -0000)
added possibility to mount the strongswan tree into all UMLs
added script for installing from shared tree in all UMLs
added script to shut down all UMLs properly

testing/do-tests
testing/scripts/build-umlrootfs
testing/scripts/install-shared [new file with mode: 0755]
testing/scripts/shutdown-umls [new file with mode: 0755]
testing/testing.conf

index 5b47753..1e8e6ab 100755 (executable)
@@ -314,6 +314,19 @@ do
                    printf("echo \"%s# cat /tmp/tcpdump.log | grep \047%s\047  [%s]\"; ", host, pattern, hit)
                    printf("ssh root@\044ipv4_%s cat /tmp/tcpdump.log | grep \"%s\"; ", host, pattern)
                }
+               else if (command == "tcpdumpcount")
+               {
+                   printf("if [ \044TDUP_%s == \"true\" ]; then stop_tcpdump %s; fi; \n", host, host)
+                   printf("echo -e \"%s# [ \\\\140cat /tmp/tcpdump.log | grep \047%s\047 | tee -a /dev/stderr | wc -l\\\\140 -eq %s ]  [YES]\"; ", host, pattern, hit)
+                   printf("tcpdumpcount=\`ssh root@\044ipv4_%s cat /tmp/tcpdump.log | grep \"%s\" | tee -a /dev/stderr | wc -l\`; ", host, pattern)
+                   printf("[ \044tcpdumpcount -eq %s ]; ", hit)
+                   hit="YES"
+               }
+               else if (command == "cmd")
+               {
+                   printf("echo \"%s# %s  [%s]\"; ", host, pattern, hit)
+                   printf("ssh root@\044ipv4_%s %s; ",  host, pattern)
+               }
                else
                {
                    printf("echo \"%s# %s | grep \047%s\047  [%s]\"; ", host, command, pattern, hit)
index 1a983b8..5c35185 100755 (executable)
@@ -89,21 +89,27 @@ mount -o loop gentoo-fs $LOOPDIR >> $LOGFILE 2>&1
 tar xjpf $ROOTFS -C $LOOPDIR     >> $LOGFILE 2>&1
 cecho "done"
 
-
 ######################################################
 # copying default /etc/hosts to the root filesystem
 #
 cecho " * Copying '$HOSTCONFIGDIR/default/etc/hosts' to the root filesystem"
 cp -fp $HOSTCONFIGDIR/default/etc/hosts $LOOPDIR/etc/hosts
 
-#
 #####################################################
 # extracting strongSwan into the root filesystem
 #
-
 cecho " * Extracting strongSwan into the root filesystem"
 tar xjf $STRONGSWAN -C $LOOPDIR/root >> $LOGFILE 2>&1
 
+######################################################
+# setting up mountpoint for shared source tree
+#
+if [ "${SHAREDTREE+set}" = "set" ]; then
+    cecho " * setting up shared strongswan tree at '$SHAREDTREE'"
+    mkdir $LOOPDIR/root/strongswan-shared
+    echo "" >> $LOOPDIR/etc/fstab
+    echo "none /root/strongswan-shared hostfs $SHAREDTREE" >> $LOOPDIR/etc/fstab
+fi
 
 ######################################################
 # installing strongSwan and setting the local timezone
@@ -140,6 +146,9 @@ cecho-n " * Compiling $STRONGSWANVERSION within the root file system as chroot..
 chroot $LOOPDIR /bin/bash /install.sh >> $LOGFILE 2>&1
 cecho "done"
 
+rm -f $INSTALLSHELL
+
+
 ######################################################
 # copying the host's ssh public key
 #
diff --git a/testing/scripts/install-shared b/testing/scripts/install-shared
new file mode 100755 (executable)
index 0000000..4cfac9e
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/bash
+# Install strongSwan from mounted strongswan-shared tree
+#
+# Copyright (C) 2006 Martin Willi
+# Hochschule fuer Technik Rapperswil
+# Copyright (C) 2004  Eric Marchionni, Patrik Rayo
+# Zuercher Hochschule Winterthur
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+
+DIR=`dirname $0`
+
+source $DIR/function.sh
+
+[ -f $DIR/../testing.conf ] || die "Configuration file 'testing.conf' not found"
+
+source $DIR/../testing.conf
+
+cecho "installing strongSwan from shared tree"
+cecho-n "  on: "
+
+for host in $STRONGSWANHOSTS
+do
+    eval HOSTLOGIN="root@`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $1 }' | awk '{ print $1 }'`"
+    cecho-n "$host... "
+    ssh $HOSTLOGIN 'cd ~/strongswan-shared && make install' > /dev/null
+done
+
+cecho
diff --git a/testing/scripts/shutdown-umls b/testing/scripts/shutdown-umls
new file mode 100755 (executable)
index 0000000..e71e466
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/bash
+# Install strongSwan from mounted strongswan-shared tree
+#
+# Copyright (C) 2006 Martin Willi
+# Hochschule fuer Technik Rapperswil
+# Copyright (C) 2004  Eric Marchionni, Patrik Rayo
+# Zuercher Hochschule Winterthur
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+
+DIR=`dirname $0`
+
+source $DIR/function.sh
+
+[ -f $DIR/../testing.conf ] || die "Configuration file 'testing.conf' not found"
+
+source $DIR/../testing.conf
+
+cecho "shutting down"
+cecho-n "  "
+
+for host in $STRONGSWANHOSTS
+do
+    eval HOSTLOGIN="root@`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $1 }' | awk '{ print $1 }'`"
+    cecho-n "$host... "
+    ssh $HOSTLOGIN 'shutdown now -h' > /dev/null
+done
+
+cecho
index 8535723..0ea02d8 100755 (executable)
@@ -61,6 +61,11 @@ UMLKERNEL=$BUILDDIR/linux-uml-$KERNELVERSION
 # Directory where test results will be stored
 TESTRESULTSDIR=$UMLTESTDIR/testresults
 
+# Path to a full strongswan tree on the host system, which is
+# mounted into /root/strongswan-shared. This gives us an easy
+# way to apply and test changes instantly.
+#SHAREDTREE=/home/mwilli/strongswan/trunk
+
 # Timezone for the UMLs, look in /usr/share/zoneinfo!
 TZUML="Europe/Zurich"