annotate postfwd.init @ 1:0c0c93f9123b default tip

Add .hgignore file
author Guido Berhoerster <guido+packaging@berhoerster.name>
date Sat, 27 Jul 2013 13:48:15 +0200
parents e03652c59c7d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
1 #!/bin/sh
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
2 #
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
3 # postfwd - Postfix policy daemon
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
4 #
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
5 # chkconfig: - 20 80
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
6 # description: Postfix policy daemon which combines complex postfix \
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
7 # restrictions in a ruleset similar to those of the \
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
8 # most firewalls
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
9
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
10 ### BEGIN INIT INFO
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
11 # Provides: postfwd
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
12 # Required-Start: $local_fs $network $remote_fs
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
13 # Required-Stop: $local_fs $network $remote_fs
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
14 # Should-Start:
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
15 # Should-Stop:
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
16 # Default-Start:
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
17 # Default-Stop: 0 1 2 3 4 5 6
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
18 # Short-Description: postfwd Postfix policy daemon
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
19 # Description: postfwd Postfix policy daemon which combines complex postfix
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
20 # restrictions in a ruleset similar to those of the most firewalls
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
21 #
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
22 ### END INIT INFO
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
23
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
24 # Source function library.
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
25 . /etc/rc.d/init.d/functions
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
26
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
27 prog="postfwd"
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
28
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
29 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
30
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
31 POSTFWD_VARIANT="${POSTFWD_VARIANT:-postfwd}"
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
32
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
33 exec="/usr/sbin/${POSTFWD_VARIANT}"
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
34 config=/etc/postfwd.cf
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
35 lockfile=/var/lock/subsys/$prog
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
36 pidfile=/var/run/$prog.pid
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
37
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
38 ARGS="${ARGS:---proto=unix --port=/var/spool/postfix/postfwd/postfwd.socket}"
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
39
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
40 start() {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
41 [ -x $exec ] || exit 5
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
42 echo -n $"Starting $prog: "
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
43 daemon $exec $ARGS --daemon --file=$config --user=postfwd --group=postfwd --pidfile=${pidfile}
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
44 retval=$?
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
45 echo
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
46 if [ $retval -eq 0 ]; then
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
47 touch $lockfile
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
48 return 0
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
49 fi
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
50 return 1
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
51 }
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
52
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
53 stop() {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
54 echo -n $"Stopping $prog: "
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
55 killproc -p $pidfile $prog
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
56 retval=$?
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
57 echo
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
58 [ $retval -eq 0 ] && rm -f $lockfile
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
59 return $retval
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
60 }
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
61
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
62 restart() {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
63 stop
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
64 start
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
65 }
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
66
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
67 reload() {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
68 echo -n $"Reloading $prog: "
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
69 kill -HUP "$(head -1 "${pidfile}")"
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
70 retval=$?
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
71 echo
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
72 return $retval
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
73 }
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
74
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
75 force_reload() {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
76 restart
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
77 }
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
78
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
79 rh_status() {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
80 # run checks to determine if the service is running or use generic status
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
81 status $prog
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
82 }
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
83
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
84 rh_status_q() {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
85 rh_status >/dev/null 2>&1
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
86 }
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
87
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
88
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
89 case "$1" in
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
90 start)
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
91 rh_status_q && exit 0
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
92 $1
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
93 ;;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
94 stop)
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
95 rh_status_q || exit 0
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
96 $1
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
97 ;;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
98 restart)
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
99 $1
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
100 ;;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
101 reload)
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
102 rh_status_q || exit 7
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
103 $1
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
104 ;;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
105 force-reload)
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
106 force_reload
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
107 ;;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
108 status)
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
109 rh_status
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
110 ;;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
111 condrestart|try-restart)
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
112 rh_status_q || exit 0
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
113 restart
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
114 ;;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
115 *)
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
116 echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
117 exit 2
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
118 esac
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
119 exit $?