Index: head/ftp/pure-ftpd/Makefile =================================================================== --- head/ftp/pure-ftpd/Makefile (revision 418609) +++ head/ftp/pure-ftpd/Makefile (revision 418610) @@ -1,128 +1,128 @@ # Created by: Frank DENIS # $FreeBSD$ PORTNAME= pure-ftpd PORTVERSION= 1.0.42 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= ftp ipv6 MASTER_SITES= http://download.pureftpd.org/pub/pure-ftpd/releases/ \ ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/ \ SF/pureftpd/Pure-FTPd/${PORTVERSION} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Small, easy to set up, fast, and secure FTP server LICENSE= ISCL LICENSE_FILE= ${WRKSRC}/COPYING OPTIONS_DEFINE= ANONDELETE ANONRENAME ANONRESUME DOCS EXAMPLES LARGEFILE LDAP \ MYSQL PAM PERUSERLIMITS PGSQL PRIVSEP SCRYPT SENDFILE \ THROTTLING TLS UPLOADSCRIPT UTF8 VIRTUALCHROOT OPTIONS_DEFAULT=PAM PRIVSEP SENDFILE SCRYPT TLS UTF8 VIRTUALCHROOT ANONDELETE_DESC= Allow anonymous user to delete files ANONRENAME_DESC= Allow anonymous user to rename files ANONRESUME_DESC= Allow anonymous user to resume file upload LARGEFILE_DESC= 2GB+ file download LDAP_DESC= User accounts in LDAP directories MYSQL_DESC= User accounts in MySQL database PAM_DESC= PAM authentication PGSQL_DESC= User accounts in PostgreSQL database PERUSERLIMITS_DESC= Per-user concurrency limits PRIVSEP_DESC= Privilege separation (recommended) SCRYPT_DESC= Hash passwords in PureDB with scrypt SENDFILE_DESC= Sendfile syscall THROTTLING_DESC= Bandwidth throttling UPLOADSCRIPT_DESC= Uploadscript daemon support UTF8_DESC= UTF-8 filenames VIRTUALCHROOT_DESC= Follow symlinks outside a chroot jail CONFIGURE_ARGS= --sysconfdir=${PREFIX}/etc \ --with-altlog --with-cookie --with-diraliases \ --with-everything --with-extauth --with-ftpwho \ --with-language=${LANG} --with-paranoidmsg --with-puredb \ --with-quotas --with-ratios GNU_CONFIGURE= yes USE_PERL5= run USE_RC_SUBR= pure-ftpd USES= cpe perl5 shebangfix tar:bzip2 CPE_VENDOR= pureftpd PORTDOCS= AUTHORS CONTACT COPYING HISTORY NEWS README \ README.Authentication-Modules README.Configuration-File \ README.Contrib README.LDAP README.MySQL README.PGSQL \ README.TLS README.Virtual-Users THANKS pure-ftpd.png \ pureftpd.schema PORTEXAMPLES= * SUB_FILES= pkg-message SUB_LIST= PAM_DIR=${PAM_DIR} PAM_TARGET=${PAM_TARGET} SHEBANG_FILES= contrib/pure-stat.pl contrib/pure-vpopauth.pl CONTRIB= pure-stat.pl pure-vpopauth.pl xml_python_processors.txt LANG?= english PAM_DIR?= ${EXAMPLESDIR}/pam PAM_TARGET?= pure-ftpd PAM_TEMPL?= ${FILESDIR}/pam.conf.5 ANONDELETE_CPPFLAGS= -DANON_CAN_DELETE ANONRENAME_CPPFLAGS= -DANON_CAN_RENAME ANONRESUME_CPPFLAGS= -DANON_CAN_RESUME LARGEFILE_CONFIGURE_ENABLE= largefile LDAP_CONFIGURE_WITH= ldap LDAP_USE= OPENLDAP=yes MYSQL_CONFIGURE_WITH= mysql MYSQL_USE= MYSQL=yes PAM_CONFIGURE_WITH= pam PERUSERLIMITS_CONFIGURE_WITH= peruserlimits PGSQL_CONFIGURE_WITH= pgsql PGSQL_USES= pgsql PRIVSEP_CONFIGURE_WITH= privsep SCRYPT_LIB_DEPENDS= libsodium.so:security/libsodium SENDFILE_CONFIGURE_WITH=sendfile THROTTLING_CONFIGURE_WITH= throttling TLS_CONFIGURE_WITH= tls TLS_CPPFLAGS= -I${OPENSSLINC} TLS_LDFLAGS= -L${OPENSSLLIB} TLS_USE= OPENSSL=yes UPLOADSCRIPT_CONFIGURE_WITH= uploadscript UTF8_CONFIGURE_WITH= rfc2640 UTF8_USES= iconv VIRTUALCHROOT_CONFIGURE_WITH= virtualchroot .include .if empty(ICONV_LIB) CONFIGURE_ARGS+=ac_cv_lib_iconv_iconv_open=no \ ac_cv_lib_iconv_libiconv_open=no .endif pre-fetch: @${ECHO_MSG} "You can use the following additional options:" @${ECHO_MSG} "" @${ECHO_MSG} "LANG=lang (default: english)" @${ECHO_MSG} "- Enable compilation of one language support" @${ECHO_MSG} " available lang: brazilian-portuguese, catalan, czech, danish, dutch," @${ECHO_MSG} " english, french, french-funny, german, hungarian, italian, korean," @${ECHO_MSG} " norwegian, polish, romanian, russian, simplified-chinese, slovak," @${ECHO_MSG} " spanish, swedish, traditional-chinese, turkish" @${ECHO_MSG} "" post-patch: @${REINPLACE_CMD} -e 's|@PERL@|${PERL}|; s|$${exec_prefix}|${PREFIX}|g' ${WRKSRC}/configuration-file/pure-config.pl.in post-install: ${INSTALL_DATA} ${WRKSRC}/pureftpd-ldap.conf ${STAGEDIR}${PREFIX}/etc/pureftpd-ldap.conf.sample ${INSTALL_DATA} ${WRKSRC}/pureftpd-mysql.conf ${STAGEDIR}${PREFIX}/etc/pureftpd-mysql.conf.sample ${INSTALL_DATA} ${WRKSRC}/pureftpd-pgsql.conf ${STAGEDIR}${PREFIX}/etc/pureftpd-pgsql.conf.sample ${INSTALL_DATA} ${WRKSRC}/configuration-file/pure-ftpd.conf ${STAGEDIR}${PREFIX}/etc/pure-ftpd.conf.sample ${INSTALL_SCRIPT} ${WRKSRC}/configuration-file/pure-config.pl ${STAGEDIR}${PREFIX}/sbin/ ${INSTALL_SCRIPT} ${FILESDIR}/pure-alwaysfail ${STAGEDIR}${PREFIX}/sbin/ ${MKDIR} ${STAGEDIR}${DOCSDIR}/ cd ${WRKSRC}/ && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}/ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/ cd ${WRKSRC}/contrib/ && ${INSTALL_SCRIPT} ${CONTRIB} ${STAGEDIR}${EXAMPLESDIR}/ ${MKDIR} ${STAGEDIR}${PAM_DIR}/ ${INSTALL_DATA} ${PAM_TEMPL} ${STAGEDIR}${PAM_DIR}/${PAM_TARGET} .include Index: head/ftp/pure-ftpd/files/pure-ftpd.in =================================================================== --- head/ftp/pure-ftpd/files/pure-ftpd.in (revision 418609) +++ head/ftp/pure-ftpd/files/pure-ftpd.in (revision 418610) @@ -1,101 +1,103 @@ #!/bin/sh # # $FreeBSD$ # # PROVIDE: pureftpd # REQUIRE: NETWORKING SERVERS # BEFORE: DAEMON # KEYWORD: shutdown # Add the following lines to /etc/rc.conf to enable pure-ftpd: # # pureftpd_enable="yes" +# pureftpd_flags="" # # Add the following lines to /etc/rc.conf to enable pure-authd daemon: # # pureftpd_authd_enable="yes" # pureftpd_authdscript="/full/path/to/auth_script" # pureftpd_authsocket="/var/run/ftpd.sock" # # Add the following lines to /etc/rc.conf to enable uploadscript daemon: # # pureftpd_upload_enable="yes" # pureftpd_uploadscript="/full/path/to/upload_script" . /etc/rc.subr name=pureftpd rcvar=pureftpd_enable load_rc_config $name command=%%PREFIX%%/sbin/pure-config.pl pidfile=${pidfile:-"/var/run/pure-ftpd.pid"} procname=pure-ftpd pureftpd_config=${pureftpd_config:-"%%PREFIX%%/etc/pure-ftpd.conf"} pureftpd_enable=${pureftpd_enable:-"no"} required_files=${pureftpd_config} # authd command_authd=%%PREFIX%%/sbin/pure-authd pidfile_authd=${pidfile_authd:-"/var/run/pure-authd.pid"} pureftpd_authd_enable=${pureftpd_authd_enable:-"no"} pureftpd_authdscript=${pureftpd_authdscript:-"%%PREFIX%%/sbin/pure-alwaysfail"} pureftpd_authsocket=${pureftpd_authsocket:-"/var/run/ftpd.sock"} # uploadscript command_upload=%%PREFIX%%/sbin/pure-uploadscript pidfile_uploadscript=${pidfile_uploadscript:-"/var/run/pure-uploadscript.pid"} pureftpd_upload_enable=${pureftpd_upload_enable:-"no"} pureftpd_uploadscript=${pureftpd_uploadscript:-"/usr/bin/touch"} # command_args -command_args="${pureftpd_config} -g${pidfile}" +flags="${pureftpd_config} -g${pidfile}" +command_args="${pureftpd_flags}" command_authd_args="-B -p ${pidfile_authd} -r ${pureftpd_authdscript} -s ${pureftpd_authsocket}" command_upload_args="-B -p ${pidfile_uploadscript} -r ${pureftpd_uploadscript}" start_precmd=start_precmd start_postcmd=start_postcmd stop_postcmd=stop_postcmd start_precmd() { if checkyesno pureftpd_authd_enable && test -x ${pureftpd_authdscript}; then echo "Starting ${command_authd}." ${command_authd} ${command_authd_args} fi } start_postcmd() { if checkyesno pureftpd_upload_enable; then echo "Starting ${command_upload}." ${command_upload} ${command_upload_args} fi } stop_postcmd() { if checkyesno pureftpd_authd_enable; then pid=$(check_pidfile ${pidfile_authd} ${command_authd}) if [ -z ${pid} ]; then echo "pure-authd not running? (check ${pidfile_authd})." return 1 fi echo "Stopping ${command_authd}." kill -${sig_stop:-TERM} ${pid} [ $? -ne 0 ] && [ -z "$rc_force" ] && return 1 wait_for_pids ${pid} fi if checkyesno pureftpd_upload_enable; then pid=$(check_pidfile ${pidfile_uploadscript} ${command_upload}) if [ -z ${pid} ]; then echo "Upload script not running? (check ${pidfile_uploadscript})." return 1 fi echo "Stopping ${command_upload}." kill -${sig_stop:-TERM} ${pid} [ $? -ne 0 ] && [ -z "$rc_force" ] && return 1 wait_for_pids ${pid} fi } run_rc_command "$1"