]> git.pld-linux.org Git - packages/pure-ftpd.git/blobdiff - pure-ftpd.init
- authd needs group write, too
[packages/pure-ftpd.git] / pure-ftpd.init
index 17cf9ba91269d6188d701288e48c49d4b34e91e0..b3e2f5f03f83c4ab187c4309d0f68865770e5f37 100644 (file)
 # Get network config
 . /etc/sysconfig/network
 
-PURE_AUTH_SCRIPT=/etc/ftpd/auth.script
+PURE_FTPD_CONF=/etc/ftpd/pureftpd.conf
+[ -f /etc/pure-ftpd/conf/pureftpd.conf ] && PURE_FTPD_CONF=/etc/pure-ftpd/conf/pureftpd.conf
+
+PURE_AUTH_SCRIPT=/etc/pure-ftpd/authd/auth.script
 PURE_AUTH_SOCKET=/var/run/pure-authd/socket
+PURE_CERT_SCRIPT=/etc/pure-ftpd/certd/cert.script
+PURE_CERT_SOCKET=/var/run/pure-certd/socket
 
 # Get service config
 [ -f /etc/sysconfig/pure-ftpd ] && . /etc/sysconfig/pure-ftpd
 
-# Check for available parsers
-if [ -x /usr/sbin/pure-config ] ; then
-       CFG=/usr/sbin/pure-config
-elif [ -x /usr/sbin/pure-config.pl -a -x /usr/bin/perl ] ; then
-       CFG=/usr/sbin/pure-config.pl
-elif [ -x /usr/sbin/pure-config.py -a -x /usr/bin/python ] ; then
-       CFG=/usr/sbin/pure-config.py
-else
-       echo 'Error: pure-config{,.pl,.py} not found. Giving up.'
-       exit 1
-fi
-
 # Check that networking is up.
 if is_yes "${NETWORKING}"; then
        if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
@@ -47,35 +40,41 @@ start() {
                if [ -x "$PURE_AUTH_SCRIPT" ]; then
                        PURE_AUTH=yes
                        msg_starting pure-authd
-                       
+
                        # 326/326 - authd/authd
-                       
+
                        mkdir -p /var/run/pure-authd
                        chown ftpauth:root /var/run/pure-authd
-                       chmod 750 /var/run/pure-authd
-                       
+                       chmod 770 /var/run/pure-authd
+
                        daemon /usr/sbin/pure-authd --uid 326 --gid 326 --pid /var/run/pure-authd.pid \
                                --run "$PURE_AUTH_SCRIPT" --socket "$PURE_AUTH_SOCKET" --daemonize
                        RETVAL=$?
-                       [ $RETVAL -eq 0 ] && chown root:root "$PURE_AUTH_SOCKET" && chmod 700 "$PURE_AUTH_SOCKET"
+               fi
+               if [ $RETVAL -eq 0 -a -x "$PURE_CERT_SCRIPT" ]; then
+                       PURE_CERT=yes
+                       msg_starting pure-certd
+
+                       # 335/335 - certd/certd
+
+                       mkdir -p /var/run/pure-certd
+                       chown ftpcert:root /var/run/pure-certd
+                       chmod 750 /var/run/pure-certd
+
+                       daemon /usr/sbin/pure-certd --uid 335 --gid 335 --pid /var/run/pure-certd.pid \
+                               --run "$PURE_CERT_SCRIPT" --socket "$PURE_CERT_SOCKET" --daemonize
+                       RETVAL=$?
                fi
                if [ $RETVAL -eq 0 ]; then
                        msg_starting pure-ftpd
                        rm -f /var/run/pure-ftpd/client*
-                       if [ x"$CFG" = "x/usr/sbin/pure-config" ] ; then
-                               modprobe -s capability > /dev/null 2>&1
-                               daemon /usr/sbin/pure-ftpd \
-                                       $(/usr/sbin/pure-config -f /etc/ftpd/pureftpd.conf) \
-                                       $([ "$PURE_AUTH" = "yes" ] && echo "-lextauth:$PURE_AUTH_SOCKET") \
-                                       --daemonize
-                               RETVAL=$?
-                       else
-                               daemon $CFG /etc/ftpd/pureftpd.conf \
-                                       $([ "$PURE_AUTH" = "yes" ] && echo "-lextauth:$PURE_AUTH_SOCKET") \
-                                       --daemonize
-                               RETVAL=$?
-                       fi
-                       
+                       modprobe -s capability > /dev/null 2>&1
+                       daemon /usr/sbin/pure-ftpd ${PURE_FTPD_CONF} \
+                               $([ "$PURE_AUTH" = "yes" ] && echo "-lextauth:$PURE_AUTH_SOCKET") \
+                               $([ "$PURE_CERT" = "yes" ] && echo "--extcert=$PURE_CERT_SOCKET") \
+                               --daemonize
+                       RETVAL=$?
+
                        if [ -n "$UPLOADSCRIPT" ]; then
                                msg_starting pure-uploadscript
                                UPLOADSCRIPTOPTS="-B -r $UPLOADSCRIPT"
@@ -84,6 +83,10 @@ start() {
                                daemon /usr/sbin/pure-uploadscript $UPLOADSCRIPTOPTS
                                RETVAL=$(($RETVAL+$?))
                        fi
+               else
+                       msg_starting pure-ftpd
+                       deltext
+                       fail
                fi
 
                [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pure-ftpd
@@ -105,6 +108,11 @@ stop() {
                        killproc pure-authd
                fi
 
+               if [ -x "$PURE_CERT_SCRIPT" -o -r /var/run/pure-certd.pid ]; then
+                       msg_stopping pure-certd
+                       killproc pure-certd
+               fi
+
                msg_stopping pure-ftpd
                killproc pure-ftpd
                
This page took 0.07433 seconds and 4 git commands to generate.