Date: Fri, 2 Aug 2013 01:40:34 GMT From: Ari Maniatis <ari@ish.com.au> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/180992: pureftpd port support for authentication daemon Message-ID: <201308020140.r721eYGw016240@oldred.freebsd.org> Resent-Message-ID: <201308020150.r721o0JA035953@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 180992 >Category: ports >Synopsis: pureftpd port support for authentication daemon >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Aug 02 01:50:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Ari Maniatis >Release: >Organization: ish >Environment: >Description: Pureftp has support for an authentication daemon which is very useful when integrating with other tools, databases, etc This patch provides this support to the pureftp rc.d startup script. >How-To-Repeat: >Fix: =================================================================== --- pure-ftpd (revision 4740) +++ pure-ftpd (working copy) @@ -15,6 +15,10 @@ # pureftpd_upload_enable="YES" # pureftpd_uploadscript="/full/path/to/launch_script" +# For launch authd daemon define +# pureftpd_authd_enable="YES" +# pureftpd_authdscript="/full/path/to/launch_script" + . /etc/rc.subr name=pureftpd @@ -24,16 +28,19 @@ command=/usr/local/sbin/pure-config.pl command_upload=/usr/local/sbin/pure-uploadscript +command_authd=/usr/local/sbin/pure-authd pureftpd_uploadscript=${pureftpd_uploadscript:-"/usr/bin/touch"} pureftpd_config=${pureftpd_config:-"/usr/local/etc/pure-ftpd.conf"} required_files=${pureftpd_config} pidfile=/var/run/pure-ftpd.pid pidfile2=/var/run/pure-uploadscript.pid +pidfile3=/var/run/pure-authd.pid procname=pure-ftpd pureftpd_enable=${pureftpd_enable:-"NO"} command_args="${pureftpd_config} -g${pidfile}" command_upload_args="-B -r ${pureftpd_uploadscript}" +command_authd_args="-B -p ${pidfile3} -s /var/run/pure-authd.sock -r ${pureftpd_authdscript}" start_postcmd=start_postcmd stop_postcmd=stop_postcmd @@ -41,23 +48,39 @@ start_postcmd() { if test -n ${pureftpd_upload_enable:-""} && checkyesno pureftpd_upload_enable; then - echo "Starting ${command_upload}." - ${command_upload} ${command_upload_args} + echo "Starting ${command_upload}." + ${command_upload} ${command_upload_args} fi + if test -x ${pureftpd_authdscript} && checkyesno pureftpd_authd_enable; then + echo "Starting pure-authd (${pureftpd_authdscript})." + ${command_authd} ${command_authd_args} + fi } stop_postcmd() { if test -n ${pureftpd_upload_enable:-""} && checkyesno pureftpd_upload_enable; then - pid=$(check_pidfile ${pidfile2} ${command_upload}) - if [ -z ${pid} ]; then - echo "Upload script not running? (check ${pidfile2})." - return 1 + pid=$(check_pidfile ${pidfile2} ${command_upload}) + if [ -z ${pid} ]; then + echo "Upload script not running? (check ${pidfile2})." + return 1 + fi + echo "Stopping ${command_upload}." + kill -${sig_stop:-TERM} ${pid} + [ $? -ne 0 ] && [ -z "$rc_force" ] && return 1 + wait_for_pids ${pid} fi - echo "Stopping ${command_upload}." - kill -${sig_stop:-TERM} ${pid} - [ $? -ne 0 ] && [ -z "$rc_force" ] && return 1 - wait_for_pids ${pid} + + if test -n ${pureftpd_authd_enable:-""} && checkyesno pureftpd_authd_enable; then + pid=$(check_pidfile ${pidfile3} ${command_authd}) + if [ -z ${pid} ]; then + echo "Authd daemon not running? (check ${pidfile3})." + return 1 + fi + echo "Stopping ${command_authd}." + kill -${sig_stop:-TERM} ${pid} + [ $? -ne 0 ] && [ -z "$rc_force" ] && return 1 + wait_for_pids ${pid} fi } >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308020140.r721eYGw016240>