summaryrefslogtreecommitdiffstats
path: root/conf/seppl.init.in
blob: 79ee4d530ce45c7325fb9ca9920190286cefc45a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
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