From owner-freebsd-ports-bugs@FreeBSD.ORG Fri Aug 2 01:50:01 2013 Return-Path: Delivered-To: freebsd-ports-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 0C14EE2C for ; Fri, 2 Aug 2013 01:50:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DF03F2477 for ; Fri, 2 Aug 2013 01:50:00 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r721o0Z0036007 for ; Fri, 2 Aug 2013 01:50:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r721o0JA035953; Fri, 2 Aug 2013 01:50:00 GMT (envelope-from gnats) Resent-Date: Fri, 2 Aug 2013 01:50:00 GMT Resent-Message-Id: <201308020150.r721o0JA035953@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Ari Maniatis Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 88D07DD7 for ; Fri, 2 Aug 2013 01:40:35 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from oldred.freebsd.org (oldred.freebsd.org [8.8.178.121]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 663A82451 for ; Fri, 2 Aug 2013 01:40:35 +0000 (UTC) Received: from oldred.freebsd.org ([127.0.1.6]) by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id r721eYHQ016282 for ; Fri, 2 Aug 2013 01:40:34 GMT (envelope-from nobody@oldred.freebsd.org) Received: (from nobody@localhost) by oldred.freebsd.org (8.14.5/8.14.5/Submit) id r721eYGw016240; Fri, 2 Aug 2013 01:40:34 GMT (envelope-from nobody) Message-Id: <201308020140.r721eYGw016240@oldred.freebsd.org> Date: Fri, 2 Aug 2013 01:40:34 GMT From: Ari Maniatis To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Subject: ports/180992: pureftpd port support for authentication daemon X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Aug 2013 01:50:01 -0000 >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: