forked from roehling/postsrsd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpostsrsd.rh_init.in
92 lines (81 loc) · 1.82 KB
/
postsrsd.rh_init.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#! /bin/sh
#
# @PROJECT_NAME@
# start/stop the @PROJECT_NAME@ daemon for Postfix
#
# chkconfig: 2345 75 35
# description: Sender Rewriting Scheme (SRS) for Postfix.
# processname: @POSTSRSD@
# pidfile: /var/run/@[email protected]
# config: @CONFIG_DIR@/@PROJECT_NAME@
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=@CMAKE_INSTALL_PREFIX@/sbin/@POSTSRSD@
NAME=@PROJECT_NAME@
prog=@POSTSRSD@
DESC="Postfix Sender Rewriting Scheme daemon"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=@SYSCONF_DIR@/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
. @SYSCONF_DIR@/init.d/functions
# Default configuration
SRS_DOMAIN=`postconf -h mydomain || true`
SRS_FORWARD_PORT=10001
SRS_REVERSE_PORT=10002
SRS_SECRET=@SYSCONF_DIR@/@[email protected]
RUN_AS=nobody
CHROOT=@CHROOT_DIR@
# Read config file if it is present.
if [ -r @CONFIG_DIR@/$NAME ]
then
. @CONFIG_DIR@/$NAME
fi
test -r "$SRS_SECRET" -a -n "$SRS_DOMAIN" || exit 0
do_start()
{
echo -n "Starting $DESC: "
daemon $DAEMON -4 -f"$SRS_FORWARD_PORT" -r"$SRS_REVERSE_PORT" -d"$SRS_DOMAIN" -s"$SRS_SECRET" \
-u"$RUN_AS" -p"$PIDFILE" -c"$CHROOT" -X"$SRS_EXCLUDE_DOMAINS" -D
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$NAME
return $RETVAL
}
do_stop()
{
echo -n "Stopping $DESC: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$NAME
return $RETVAL
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
status)
status $NAME
;;
restart|force-reload)
do_stop
do_start
;;
reload)
;;
condrestart|try-restart)
if [ -f /var/lock/subsys/$NAME ]; then
do_stop
do_start
fi
;;
*)
echo "Usage: $NAME {start|stop|restart|condrestart|try-restart|reload|force-reload|status|usage}"
[ "$1" = "usage" ] && exit 0
exit 2
;;
esac
exit $?