summaryrefslogtreecommitdiffstats
path: root/conf
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2003-11-05 10:44:19 +0000
committerLennart Poettering <lennart@poettering.net>2003-11-05 10:44:19 +0000
commit7ec5099b5f5c79419a54a6cdedea618d98b60569 (patch)
treef1bed2425e622919435fe4580b15dbfddb3137bf /conf
parent8bc528bfd9d8c17d25eec2ca1686513679ba3e55 (diff)
Commit initial version
git-svn-id: file:///home/lennart/svn/public/seppl/trunk@2 91a2fd9b-5dcb-0310-a70a-d71e310228e6
Diffstat (limited to 'conf')
-rw-r--r--conf/Makefile.am31
-rwxr-xr-xconf/seppl.init.in106
2 files changed, 137 insertions, 0 deletions
diff --git a/conf/Makefile.am b/conf/Makefile.am
new file mode 100644
index 0000000..98667e2
--- /dev/null
+++ b/conf/Makefile.am
@@ -0,0 +1,31 @@
+# $Id: Makefile.am 40 2003-10-27 18:32:45Z lennart $
+#
+# This file is part of seppl.
+#
+# seppl 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.
+#
+# seppl 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with seppl; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+noinst_DATA = seppl.init
+EXTRA_DIST = seppl.init.in
+CLEANFILES = seppl.init
+
+seppl.init: seppl.init.in Makefile
+ sed -e 's,@sysconfdir\@,$(sysconfdir),g' -e 's,@sbindir\@,$(sbindir),g' $< > $@
+ chmod 755 $@
+
+install-data-local: seppl.init
+ $(INSTALL) -b -D -m755 seppl.init ${DESTDIR}/${sysconfdir}/init.d/seppl
+
+uninstall-local:
+ rm -f ${DESTDIR}/${sysconfdir}/init.d/seppl
diff --git a/conf/seppl.init.in b/conf/seppl.init.in
new file mode 100755
index 0000000..79ee4d5
--- /dev/null
+++ b/conf/seppl.init.in
@@ -0,0 +1,106 @@
+#! /bin/sh
+
+# $Id: Makefile.am 40 2003-10-27 18:32:45Z lennart $
+#
+# This file is part of seppl.
+#
+# seppl 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.
+#
+# seppl 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with seppl; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+PROCFILE="/proc/net/seppl_keyring"
+SEPPLLS="@sbindir@/seppl-ls"
+KEYDIR="@sysconfdir@/seppl"
+
+test -d "$KEYDIR" || exit 1
+test -x "$SEPPLLS" || exit 1
+
+load_keys() {
+ echo -n "Configuring SEPPL keys: "
+ for K in "$KEYDIR"/* ; do
+ if test -f "$K" ; then
+ if ( "$SEPPLLS" -f $K > "$PROCFILE" ) 2> /dev/null ; then
+ echo -n "$K "
+ else
+ echo "failed"
+ exit 1
+ fi
+ fi
+ done
+ echo "."
+}
+
+clear_keys() {
+ echo -n "Clearing SEPPL keys: "
+ ( echo "clear" > "$PROCFILE" ) 2> /dev/null
+ if test -s "$PROCFILE" ; then
+ echo "failure"
+ exit 1
+ fi
+ echo "success"
+}
+
+
+load_modules() {
+ echo -n "Loading SEPPL module: "
+ modprobe seppl &> /dev/null
+ if ! test -f "$PROCFILE" ; then
+ echo "failure"
+ exit 1
+ fi
+ echo "success"
+}
+
+unload_modules() {
+ echo -n "Unloading SEPPL modules: "
+ modprobe -r ipt_CRYPT &> /dev/null
+ modprobe -r ipt_DECRYPT &> /dev/null
+ modprobe -r seppl &> /dev/null
+ if test -f "$PROCFILE" ; then
+ echo "failure"
+ exit 1
+ fi
+ echo "success"
+}
+
+case "$1" in
+ start)
+ load_modules
+ load_keys
+ ;;
+
+ stop)
+ clear_keys
+ unload_modules
+ ;;
+
+ force-reload|reload)
+ clear_keys
+ load_keys
+ ;;
+
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload|reload}"
+ exit 1
+ ;;
+esac
+
+exit 0