]> git.pld-linux.org Git - packages/pure-ftpd.git/blob - pure-ftpd.init
- rel 6; tls patches from upstream
[packages/pure-ftpd.git] / pure-ftpd.init
1 #!/bin/sh
2 #
3 # pureftpd      PureFTPD server
4 #
5 # chkconfig:    345 85 15
6 # description:  PureFTPD is fast, production-quality, standard-conformant FTP server
7 #
8
9 # Source function library
10 . /etc/rc.d/init.d/functions
11
12 # Get network config
13 . /etc/sysconfig/network
14
15 PURE_AUTH_SCRIPT=/etc/ftpd/auth.script
16 PURE_AUTH_SOCKET=/var/run/pure-authd/socket
17
18 # Get service config
19 [ -f /etc/sysconfig/pure-ftpd ] && . /etc/sysconfig/pure-ftpd
20
21 # Check that networking is up.
22 if is_yes "${NETWORKING}"; then
23         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
24                 msg_network_down pure-ftpd
25                 exit 1
26         fi
27 else
28         exit 0
29 fi
30
31 start() {
32         # Check if the service is already running?
33         if [ ! -f /var/lock/subsys/pure-ftpd ]; then
34                 RETVAL=0
35                 if [ -x "$PURE_AUTH_SCRIPT" ]; then
36                         PURE_AUTH=yes
37                         msg_starting pure-authd
38                         
39                         # 326/326 - authd/authd
40                         
41                         mkdir -p /var/run/pure-authd
42                         chown ftpauth:root /var/run/pure-authd
43                         chmod 750 /var/run/pure-authd
44                         
45                         daemon /usr/sbin/pure-authd --uid 326 --gid 326 --pid /var/run/pure-authd.pid \
46                                 --run "$PURE_AUTH_SCRIPT" --socket "$PURE_AUTH_SOCKET" --daemonize
47                         RETVAL=$?
48                         [ $RETVAL -eq 0 ] && chown root:root "$PURE_AUTH_SOCKET" && chmod 700 "$PURE_AUTH_SOCKET"
49                 fi
50                 if [ $RETVAL -eq 0 ]; then
51                         msg_starting pure-ftpd
52                         rm -f /var/run/pure-ftpd/client*
53                         modprobe -s capability > /dev/null 2>&1
54                         daemon /usr/sbin/pure-ftpd /etc/ftpd/pureftpd.conf \
55                                 $([ "$PURE_AUTH" = "yes" ] && echo "-lextauth:$PURE_AUTH_SOCKET") \
56                                 --daemonize
57                         RETVAL=$?
58                         
59                         if [ -n "$UPLOADSCRIPT" ]; then
60                                 msg_starting pure-uploadscript
61                                 UPLOADSCRIPTOPTS="-B -r $UPLOADSCRIPT"
62                                 [ -n "$UPLOADSCRIPT_UID" ] && UPLOADSCRIPTOPTS="$UPLOADSCRIPTOPTS -u $UPLOADSCRIPT_UID"
63                                 [ -n "$UPLOADSCRIPT_GID" ] && UPLOADSCRIPTOPTS="$UPLOADSCRIPTOPTS -g $UPLOADSCRIPT_GID"
64                                 daemon /usr/sbin/pure-uploadscript $UPLOADSCRIPTOPTS
65                                 RETVAL=$(($RETVAL+$?))
66                         fi
67                 fi
68
69                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pure-ftpd
70         else
71                 msg_already_running pure-ftpd
72         fi
73 }
74
75 stop() {
76         # Stop daemons.
77         if [ -f /var/lock/subsys/pure-ftpd ]; then
78                 if [ -n "$UPLOADSCRIPT" ]; then
79                     msg_stopping pure-uploadscript
80                     killproc pure-uploadscript
81                 fi
82
83                 if [ -x "$PURE_AUTH_SCRIPT" -o -r /var/run/pure-authd.pid ]; then
84                         msg_stopping pure-authd
85                         killproc pure-authd
86                 fi
87
88                 msg_stopping pure-ftpd
89                 killproc pure-ftpd
90                 
91                 rm -f /var/lock/subsys/pure-ftpd > /dev/null 2>&1
92         else
93                 msg_not_running pure-ftpd
94         fi
95 }
96
97 RETVAL=0
98 # See how we were called.
99 case "$1" in
100   start)
101         start
102         ;;
103   stop)
104         stop
105         ;;
106   status)
107         status pure-ftpd
108         status pure-uploadscript
109         RETVAL=$?
110         if [ $RETVAL -eq 0 ]; then
111                 pure-ftpwho
112         fi
113         ;;
114   restart|force-reload)
115         stop
116         start
117         ;;
118   *)
119         msg_usage "$0 {start|stop|restart|force-reload|status}"
120         exit 3
121         ;;
122 esac
123
124 exit $RETVAL
This page took 0.097857 seconds and 3 git commands to generate.