1#!/bin/sh
2#
3# ldap TCP/AXFR server
4#
5# chkconfig: - 55 45
6#
7# description: ldapaxfr is part of the ldapdns nameserver kit
8#
9### BEGIN INIT INFO
10# Provides:		ldapaxfr
11# Required-Start:	$network $syslog
12# Required-Stop:	$network $syslog
13# Default-Start:	3 5
14# Default-Stop:		0 1 2 4 6
15# Description:		LDAPAXFR is part of the LDAPDNS nameserver kit
16### END INIT INTO
17
18# bugfix for some systems that don't supply /sbin for the PATH
19PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH
20export PATH
21
22daemon() {
23	prog=$1
24	env UID=$RUN_UID GID=$RUN_GID SUPERVISE=/var/run/$prog.pid $prog
25	RETVAL=$?
26	echo 'ok'
27	return $RETVAL
28}
29killproc() {
30	prog=$1
31	kill `cat /var/run/$prog.pid 2>&1` >/dev/null 2>&1
32	RETVAL=$?
33	echo 'ok'
34	return $RETVAL
35}
36status() {
37	prog=$1
38	if [ -f /var/run/$prog.pid ]; then
39		if kill -0 `cat /var/run/$prog.pid` >/dev/null 2>&1; then
40			echo "$prog is running..."
41			return 0
42		else
43			echo "$prog dead but pidfile exists"
44			return 1
45		fi
46	else
47		echo "$prog is stopped"
48		return 3
49	fi
50}
51
52if [ -f /etc/sysconfig/ldapdns ]; then
53	# redhat-centric
54	. /etc/sysconfig/network
55	. /etc/sysconfig/ldapdns
56	if [ -f /etc/sysconfig/ldapaxfr ]; then
57		. /etc/sysconfig/ldapaxfr
58	fi
59elif [ -f /etc/ldapdns.conf ]; then
60	# everyone else
61	. /etc/ldapdns.conf
62	if [ -f /etc/ldapaxfr.conf ]; then
63		. /etc/ldapaxfr.conf
64	fi
65	NETWORKING="yes"
66else
67	exit 0
68fi
69
70[ "${NETWORKING}" = "no" ] && exit 0
71[ "${CONFIGURED}" = "no" ] && exit 0
72
73export CACHE HANDLERS THREADS HOSTMASTER LDAP_SUFFIX LDAP_HOST LDAP_HOSTS
74export IP ROOT LDAP_BINDDN LDAP_SASL LDAP_AUTH_NAME RFC1279 DNSRECORD
75export ACCELERATE_CACHE RELATIVE_NAMES
76
77start() {
78	echo -n "Starting ldapaxfr: "
79	daemon ldapaxfr
80}
81stop() {
82	echo -n "Shutting down ldapaxfr: "
83	killproc ldapaxfr
84}
85restart() {
86	stop
87	start
88}
89reload() {
90	stop
91	start
92}
93
94case "$1" in
95start)		start
96		;;
97stop)		stop
98		;;
99restart)	restart
100		;;
101reload)		reload
102		;;
103force-reload)	reload
104		;;
105status) 	status ldapaxfr
106		;;
107condrestart)	restart
108		;;
109*)		echo "Usage: $0 {start|stop|restart|status|condrestart}"
110		exit 1
111esac
112
113exit $?
114