#!/bin/sh ############################################################################### # # # IPFire.org - A linux based firewall # # Copyright (C) 2007-2022 IPFire Team # # # # This program 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 3 of the License, or # # (at your option) any later version. # # # # This program 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 this program. If not, see . # # # ############################################################################### . /etc/sysconfig/rc . ${rc_functions} [ -r "/etc/sysconfig/dnsdist" ] && . /etc/sysconfig/dnsdist check_config() { if ! /usr/bin/dnsdist --check-config >/dev/null; then boot_mesg "dnsdist configuration file contains errors" "${FAILURE}" echo_failure return 1 fi return 0 } case "${1}" in start) if ! check_config; then exit 1 fi boot_mesg "Starting dnsdist..." # Increasing maximum number of open files ulimit -n 65536 # Starting daemon /usr/bin/dnsdist --supervised ${ARGS} >/dev/null & evaluate_retval ;; stop) boot_mesg "Stopping dnsdist..." killproc /usr/bin/dnsdist ;; reload) if ! check_config; then exit 1 fi boot_mesg "Reloading dnsdist..." reloadproc /usr/bin/dnsdist ;; restart) if ! check_config; then exit 1 fi ${0} stop sleep 1 ${0} start ;; status) statusproc /usr/bin/dnsdist ;; *) echo "Usage: ${0} {start|stop|reload|restart|status}" exit 1 ;; esac