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