#!/sbin/runscript # Distributed under the terms of the GNU General Public License v2 opts="save" ipset_name=${SVCNAME} ipset_save=${IPSET_SAVE} if [ "${ipset_name}" != "ipset" ] ; then ipset_name="ipset" fi ipset_bin="/sbin/${ipset_name}" depend() { before net before iptables } checkconfig() { if [ ! -f ${ipset_save} ] ; then eerror "Not starting ${ipset_name}. First create some rules then run:" eerror "/etc/init.d/${ipset_name} save" return 1 fi return 0 } start() { checkconfig || return 1 ebegin "Loading ${ipset_name} state" ${ipset_bin} --restore ${SAVE_RESTORE_OPTIONS} < "${ipset_save}" eend $? } stop() { if [ "${SAVE_ON_STOP}" = "yes" ] ; then save || return 1 fi ebegin "Stopping sets" ${ipset_bin} --flush ${ipset_bin} --destroy eend $? } save() { ebegin "Saving ${ipset_name} state" touch "${ipset_save}" chmod 0600 "${ipset_save}" ${ipset_bin} --save ${SAVE_RESTORE_OPTIONS} > "${ipset_save}" eend $? }