]> git.pld-linux.org Git - packages/ipset.git/blame_incremental - ipset.init
- release 16
[packages/ipset.git] / ipset.init
... / ...
CommitLineData
1#!/bin/sh
2#
3# chkconfig: 2345 07 93
4# description: Automates administration of IP sets.
5#
6# config: /etc/sysconfig/ipset
7#
8# $Id$
9
10IPSET_CONFIG=/etc/sysconfig/ipset
11if [ ! -f $IPSET_CONFIG ]; then
12 case "$1" in
13 start|restart|try-restart|reload|force-reload)
14 exit 0
15 ;;
16 esac
17fi
18
19. /etc/rc.d/init.d/functions
20
21start() {
22 if [ ! -f $IPSET_CONFIG ]; then
23 return
24 fi
25
26 show "Applying ipset rules"
27 /usr/sbin/ipset -X
28 /usr/sbin/ipset -R < $IPSET_CONFIG
29 RETVAL=$?
30 if [ $RETVAL = 0 ]; then
31 ok
32 else
33 fail
34 fi
35 touch /var/lock/subsys/ipset
36}
37
38stop() {
39 if [ ! -f /var/lock/subsys/ipset ]; then
40 return
41 fi
42
43 show "Resetting ipset rules"
44 /usr/sbin/ipset -X && ok || fail
45 rm -f /var/lock/subsys/ipset
46}
47
48save() {
49 show "Saving current rules to %s" $IPSET_CONFIG
50 /usr/sbin/ipset -S > $IPSET_CONFIG.tmp
51 RETVAL=$?
52 if [ $RETVAL = 0 ]; then
53 cat $IPSET_CONFIG.tmp > $IPSET_CONFIG
54 chmod 600 $IPSET_CONFIG
55 ok
56 else
57 fail
58 fi
59 rm -f $IPSET_CONFIG.tmp
60}
61
62status() {
63 /usr/sbin/ipset -L --sorted --numeric
64 RETVAL=$?
65}
66
67RETVAL=0
68case "$1" in
69 start)
70 start
71 ;;
72 stop)
73 stop
74 ;;
75 restart|try-restart|reload|force-reload)
76 start
77 ;;
78 save)
79 save
80 ;;
81 status)
82 status
83 ;;
84 *)
85 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|save|status}"
86 exit 3
87esac
88
89exit $RETVAL
This page took 0.07805 seconds and 4 git commands to generate.