packages: ipset/ipset.init - functions, add try-restart, reload, force reload...
glen
glen at pld-linux.org
Wed Jul 21 07:25:07 CEST 2010
Author: glen Date: Wed Jul 21 05:25:07 2010 GMT
Module: packages Tag: HEAD
---- Log message:
- functions, add try-restart,reload,force reload
- do not save ipset config on error;
---- Files affected:
packages/ipset:
ipset.init (1.3 -> 1.4)
---- Diffs:
================================================================
Index: packages/ipset/ipset.init
diff -u packages/ipset/ipset.init:1.3 packages/ipset/ipset.init:1.4
--- packages/ipset/ipset.init:1.3 Tue Dec 11 10:47:20 2007
+++ packages/ipset/ipset.init Wed Jul 21 07:25:02 2010
@@ -1,8 +1,11 @@
#!/bin/sh
-
+#
# chkconfig: 2345 07 93
# description: Automates administration of IP sets.
+#
# config: /etc/sysconfig/ipset
+#
+# $Id$
IPSET_CONFIG=/etc/sysconfig/ipset
if [ ! -f $IPSET_CONFIG ]; then
@@ -16,26 +19,61 @@
. /etc/rc.d/init.d/functions
start() {
- if [ -f $IPSET_CONFIG ]; then
- show "Applying ipset rules"
- /usr/sbin/ipset -X
- /usr/sbin/ipset -R < $IPSET_CONFIG
- RETVAL=$?
- if [ $RETVAL = 0 ]; then
- ok
- else
- fail
- fi
- touch /var/lock/subsys/ipset
+ if [ ! -f $IPSET_CONFIG ]; then
+ return
fi
+
+ show "Applying ipset rules"
+ /usr/sbin/ipset -X
+ /usr/sbin/ipset -R < $IPSET_CONFIG
+ RETVAL=$?
+ if [ $RETVAL = 0 ]; then
+ ok
+ else
+ fail
+ fi
+ touch /var/lock/subsys/ipset
}
stop() {
+ if [ ! -f /var/lock/subsys/ipset ]; then
+ return
+ fi
+
show "Resetting ipset rules"
/usr/sbin/ipset -X && ok || fail
rm -f /var/lock/subsys/ipset
}
+condrestart() {
+ if [ ! -f /var/lock/subsys/ipset ]; then
+ RETVAL=$1
+ return
+ fi
+
+ stop
+ start
+}
+
+save() {
+ show "Saving current rules to %s" $IPSET_CONFIG
+ /usr/sbin/ipset -S > $IPSET_CONFIG.tmp
+ RETVAL=$?
+ if [ $RETVAL = 0 ]; then
+ cat $IPSET_CONFIG.tmp > $IPSET_CONFIG
+ chmod 600 $IPSET_CONFIG
+ ok
+ else
+ fail
+ fi
+ rm -f $IPSET_CONFIG.tmp
+}
+
+status() {
+ /usr/sbin/ipset -L --sorted --numeric
+ RETVAL=$?
+}
+
RETVAL=0
case "$1" in
start)
@@ -44,27 +82,20 @@
stop)
stop
;;
- restart|force-reload)
+ restart|reload|force-reload)
start
;;
- status)
- /usr/sbin/ipset -L --sorted --numeric
- exit $?
+ try-restart)
+ condrestart 0
;;
save)
- show "Saving current rules to %s" $IPSET_CONFIG
- touch $IPSET_CONFIG
- chmod 600 $IPSET_CONFIG
- /usr/sbin/ipset -S > $IPSET_CONFIG
- RETVAL=$?
- if [ $RETVAL = 0 ]; then
- ok
- else
- fail
- fi
+ save
+ ;;
+ status)
+ status
;;
*)
- msg_usage "$0 {start|stop|restart|force-reload|status|save}"
+ msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|save|status}"
exit 3
esac
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/ipset/ipset.init?r1=1.3&r2=1.4&f=u
More information about the pld-cvs-commit
mailing list