ports/83633: [maintainer update] ftp/bsdftpd-ssl from 1.0.2 to 1.1.0
Nick Leuta
skynick at mail.sc.ru
Sun Jul 17 22:30:19 UTC 2005
>Number: 83633
>Category: ports
>Synopsis: [maintainer update] ftp/bsdftpd-ssl from 1.0.2 to 1.1.0
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Sun Jul 17 22:30:17 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Nick Leuta
>Release: FreeBSD 4.9-RELEASE i386
>Organization:
Lipetsk State Technical University
>Environment:
System: FreeBSD maverick.stu.lipetsk.ru 4.9-RELEASE FreeBSD 4.9-RELEASE #3: Mon Jun 21 15:20:08 MSD 2004 root at maverick.stu.lipetsk.ru:/usr/src/sys/compile/MAVERICK i386
>Description:
It's an update to the new (1.1.0) version of the software. ChangeLog is
available at http://bsdftpd-ssl.sc.ru/events.html
>How-To-Repeat:
>Fix:
diff -urN bsdftpd-ssl.ORI/Makefile bsdftpd-ssl/Makefile
--- bsdftpd-ssl.ORI/Makefile Wed Jul 21 16:48:22 2004
+++ bsdftpd-ssl/Makefile Mon May 2 20:33:34 2005
@@ -6,14 +6,16 @@
#
PORTNAME= bsdftpd-ssl
-PORTVERSION= 1.0.2
+PORTVERSION= 1.1.0
PORTREVISION= 0
CATEGORIES= ftp
-MASTER_SITES= http://bsdftpd-ssl.sc.ru/files/bsdftpd-ssl/archive/1.0/src/
+MASTER_SITES= http://bsdftpd-ssl.sc.ru/files/bsdftpd-ssl/archive/1.1/src/
DISTNAME= bsdftpd-ssl-${PORTVERSION}
MAINTAINER= skynick at mail.sc.ru
+.include <bsd.port.pre.mk>
+
# Client only part
.if defined(CLIENT_ONLY)
PKGNAMESUFFIX= -client
@@ -28,9 +30,15 @@
COMMENT= Secure FTP server with the TLS/SSL support
MAN5= ftpchroot.5 xferlog.5
MAN8= ftpd.8
-MLINKS= ftpd.8 ftpd-ssl.8
+MLINKS= ftpd.8 ftpd-ssl.8 ftpchroot.5 ftpchroot-ssl.5
PKGMESSAGE= ${WRKDIR}/pkg-message
-SED_ARG= 's|%%PREFIX%%|${PREFIX}|g; s|%%DOCSDIR%%|${DOCSDIR}|g'
+SED_ARG= 's|%%PREFIX%%|${PREFIX}|g; s|%%DOCSDIR%%|${DOCSDIR}|g; s|%%EXAMPLESDIR%%|${EXAMPLESDIR}|g; s|%%RC_SUBR%%|${RC_SUBR}|g'
+. if ${OSVERSION} >= 503001
+# FreeBSD >= 5.3
+USE_RC_SUBR= yes
+. else
+PLIST= ${FILESDIR}/pkg-plist.server.compat
+. endif
.endif
MANCOMPRESSED= yes
@@ -50,15 +58,28 @@
DOCDIR= ${DOCSDIR}${PKGNAMESUFFIX}
pre-build:
+.if ${OSVERSION} < 500000
+# Compatibility with FreeBSD 4.x
+ (cd ${WRKSRC} && ./config.sh _conv_gcc29x) || exit
+.endif
(cd ${WRKSRC} && ./config.sh FreeBSD) || exit
+
do-build:
# Client part
(cd ${WRKSRC}/port && make && cd ${WRKSRC}/ftp && make) || exit
# Server part
.if !defined(CLIENT_ONLY)
(cd ${WRKSRC}/ftpd && make) || exit
+. if ${OSVERSION} >= 503001
+# FreeBSD >= 5.3
@${SED} ${SED_ARG} ${FILESDIR}/pkg-message.server > \
${WRKDIR}/pkg-message
+ @${SED} ${SED_ARG} ${FILESDIR}/bsdftpd_ssl.sh > \
+ ${WRKDIR}/bsdftpd_ssl.sh
+. else
+ @${SED} ${SED_ARG} ${FILESDIR}/pkg-message.server.compat > \
+ ${WRKDIR}/pkg-message
+. endif
.endif
do-install:
@@ -98,10 +119,21 @@
${INSTALL_SCRIPT} -p ${WRKSRC}/cert/xCA.sh ${DOCDIR}/cert/xCA.sh
.endif
.if !defined(CLIENT_ONLY)
- @${INSTALL_SCRIPT} ${FILESDIR}/bsdftpd-ssl.sh ${PREFIX}/etc/rc.d/bsdftpd-ssl.sh.sample
+. if ${OSVERSION} >= 503001
+# FreeBSD >= 5.3
+ ${MKDIR} ${EXAMPLESDIR}
+ ${MKDIR} ${EXAMPLESDIR}/rc.conf.d
+ ${INSTALL_DATA} -p ${FILESDIR}/README.examples ${EXAMPLESDIR}/README
+ ${INSTALL_DATA} -p ${FILESDIR}/ftpchroot ${EXAMPLESDIR}/ftpchroot
+ ${INSTALL_DATA} -p ${FILESDIR}/ftpusers ${EXAMPLESDIR}/ftpusers
+ ${INSTALL_DATA} -p ${FILESDIR}/rc_conf_d.bsdftpd_ssl ${EXAMPLESDIR}/rc.conf.d/bsdftpd_ssl
+ ${INSTALL_SCRIPT} ${WRKDIR}/bsdftpd_ssl.sh ${PREFIX}/etc/rc.d/bsdftpd_ssl.sh
+. else
+ ${INSTALL_SCRIPT} ${FILESDIR}/bsdftpd_ssl.sh.compat ${PREFIX}/etc/rc.d/bsdftpd_ssl.sh.sample
+. endif
@${ECHO_CMD} "*******************************************************************************"
@${CAT} ${PKGMESSAGE}
@${ECHO_CMD} "*******************************************************************************"
.endif
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff -urN bsdftpd-ssl.ORI/distinfo bsdftpd-ssl/distinfo
--- bsdftpd-ssl.ORI/distinfo Wed Jul 21 16:48:22 2004
+++ bsdftpd-ssl/distinfo Mon May 2 20:34:15 2005
@@ -1,2 +1,2 @@
-MD5 (bsdftpd-ssl-1.0.2.tar.gz) = 987d8645a254ec3695d21054a6cad91f
-SIZE (bsdftpd-ssl-1.0.2.tar.gz) = 334010
+MD5 (bsdftpd-ssl-1.1.0.tar.gz) = c31278c2e5c3bd2a73130746f90f386e
+SIZE (bsdftpd-ssl-1.1.0.tar.gz) = 338932
diff -urN bsdftpd-ssl.ORI/files/README.examples bsdftpd-ssl/files/README.examples
--- bsdftpd-ssl.ORI/files/README.examples Thu Jan 1 03:00:00 1970
+++ bsdftpd-ssl/files/README.examples Sun May 1 17:54:23 2005
@@ -0,0 +1,11 @@
+This directory contains example configuration files for the bsdftpd-ssl FTP
+server:
+
+rc.conf.d/bsdftpd_ssl - the configuration parameters for rc.d/ startup script,
+ which is already installed as /usr/local/etc/rc.d/bsdftpd_ssl.sh. The
+ script actually do nothing until that parameters will be added into the
+ one of the /etc/rc.conf.d/bsdftpd_ssl or /etc/rc.conf files.
+
+ftpusers - the /etc/ftpusers file.
+
+ftpchroot - the /etc/ftpchroot file.
diff -urN bsdftpd-ssl.ORI/files/bsdftpd-ssl.sh bsdftpd-ssl/files/bsdftpd-ssl.sh
--- bsdftpd-ssl.ORI/files/bsdftpd-ssl.sh Wed Jul 21 16:48:22 2004
+++ bsdftpd-ssl/files/bsdftpd-ssl.sh Thu Jan 1 03:00:00 1970
@@ -1,35 +0,0 @@
-#!/bin/sh
-
-# Add extra options here for the BSDftpd-ssl FTP server.
-# See ftpd-ssl(8) for more details.
-EXTRAOPTS="-l"
-
-# You shouldn't edit anything below...
-if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
- echo "$0: Cannot determine the PREFIX" >&2
- exit 1
-fi
-
-case "$1" in
-start)
- if [ -x ${PREFIX}/libexec/ftpd ]; then
- ${PREFIX}/libexec/ftpd -D -p /var/run/ftpd.pid ${EXTRAOPTS} > /dev/null
- echo -n ' BSDftpd-ssl'
- fi
- ;;
-stop)
- if [ -r /var/run/ftpd.pid ]; then
- kill -TERM `cat /var/run/ftpd.pid`
- rm -f /var/run/ftpd.pid
- echo -n ' BSDftpd-ssl'
- fi
- ;;
-*)
- echo ""
- echo "Usage: `basename $0` { start | stop }"
- echo ""
- exit 1
- ;;
-esac
-
-exit 0
diff -urN bsdftpd-ssl.ORI/files/bsdftpd_ssl.sh bsdftpd-ssl/files/bsdftpd_ssl.sh
--- bsdftpd-ssl.ORI/files/bsdftpd_ssl.sh Thu Jan 1 03:00:00 1970
+++ bsdftpd-ssl/files/bsdftpd_ssl.sh Sun May 1 17:33:11 2005
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# PROVIDE: bsdftpd_ssl
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: FreeBSD shutdown
+
+#
+# You need to set "bsdftpd_ssl_enable=YES" in either /etc/rc.conf,
+# /etc/rc.conf.local or /etc/rc.conf.d/bsdftpd_ssl to make this script actually
+# do something. There you can also set bsdftpd_ssl_flags. Note: the "-D" and
+# "-p" options will be added automatically, you should not specify them. Please
+# see the examples and the ftpd-ssl(8) man page for more information.
+#
+
+. %%RC_SUBR%%
+
+name="bsdftpd_ssl"
+rcvar=`set_rcvar`
+pidfile="/var/run/ftpd.pid"
+command="%%PREFIX%%/libexec/ftpd"
+command_args="-D -p ${pidfile}"
+
+stop_postcmd="rm -f /var/run/ftpd.pid"
+
+# Set defaults
+
+bsdftpd_ssl_enable=${bsdftpd_ssl_enable:-"NO"}
+bsdftpd_ssl_flags=${bsdftpd_ssl_flags:-""}
+
+# Run the daemon
+
+load_rc_config $name
+run_rc_command "$1"
diff -urN bsdftpd-ssl.ORI/files/bsdftpd_ssl.sh.compat bsdftpd-ssl/files/bsdftpd_ssl.sh.compat
--- bsdftpd-ssl.ORI/files/bsdftpd_ssl.sh.compat Thu Jan 1 03:00:00 1970
+++ bsdftpd-ssl/files/bsdftpd_ssl.sh.compat Sat Apr 30 02:10:06 2005
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+# This is the startup script that runs bsdftpd-ssl FTP server in FreeBSD 4.x.
+
+# Set the value to "YES" to make this script actually do something.
+ENABLE="NO"
+
+# Add extra options here for the FTP server.
+# See ftpd-ssl(8) for more details.
+EXTRAOPTS="-l"
+
+# You shouldn't edit anything below...
+case ${ENABLE} in
+ [Yy][Ee][Ss])
+ ;;
+ *)
+ exit 0
+ ;;
+esac
+
+if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
+ echo "$0: Cannot determine the PREFIX" >&2
+ exit 1
+fi
+
+case "$1" in
+start)
+ if [ -x ${PREFIX}/libexec/ftpd ]; then
+ ${PREFIX}/libexec/ftpd -D -p /var/run/ftpd.pid ${EXTRAOPTS} > /dev/null
+ echo -n ' BSDftpd-ssl'
+ fi
+ ;;
+stop)
+ if [ -r /var/run/ftpd.pid ]; then
+ kill -TERM `cat /var/run/ftpd.pid`
+ rm -f /var/run/ftpd.pid
+ echo -n ' BSDftpd-ssl'
+ fi
+ ;;
+*)
+ echo ""
+ echo "Usage: `basename $0` { start | stop }"
+ echo ""
+ exit 1
+ ;;
+esac
+
+exit 0
diff -urN bsdftpd-ssl.ORI/files/ftpchroot bsdftpd-ssl/files/ftpchroot
--- bsdftpd-ssl.ORI/files/ftpchroot Thu Jan 1 03:00:00 1970
+++ bsdftpd-ssl/files/ftpchroot Sun May 1 17:31:43 2005
@@ -0,0 +1,15 @@
+##
+## This is the example "/etc/ftpchroot" file for the bsdftpd-ssl FTP server.
+## The syntax of this file is described in the ftpchroot-ssl(8) man page.
+##
+
+## "Pseudo-chroot" for system administrators.
+ at wheel /
+
+## Chroot webmasters to the location of the web site, and chroot web users to
+## their respective ~/public_html.
+# @webmasters /var/www/
+# @webusers public_html
+
+## Chroot all other users to their home directories.
+@
diff -urN bsdftpd-ssl.ORI/files/ftpusers bsdftpd-ssl/files/ftpusers
--- bsdftpd-ssl.ORI/files/ftpusers Thu Jan 1 03:00:00 1970
+++ bsdftpd-ssl/files/ftpusers Sun May 1 18:01:19 2005
@@ -0,0 +1,31 @@
+##
+## This is the example "/etc/ftpusers" file for the bsdftpd-ssl FTP server.
+## The syntax of this file is described in the ftpd-ssl(8) man page.
+##
+
+## Deny various system users.
+root
+toor
+daemon
+operator
+bin
+tty
+kmem
+games
+news
+man
+sshd
+bind
+proxy
+_pflogd
+uucp
+pop
+www
+nobody
+mailnull
+smmsp
+
+## Deny members of the "noftp" group.
+# @noftp
+
+## All other users are allowed.
diff -urN bsdftpd-ssl.ORI/files/patch-aa bsdftpd-ssl/files/patch-aa
--- bsdftpd-ssl.ORI/files/patch-aa Sat Aug 7 23:22:52 2004
+++ bsdftpd-ssl/files/patch-aa Thu Jan 1 03:00:00 1970
@@ -1,89 +0,0 @@
-diff -urN bsdftpd-ssl.ORI/ftp/ftp.c bsdftpd-ssl/ftp/ftp.c
---- ftp/ftp.c Sun Jul 4 22:00:32 2004
-+++ ftp/ftp.c Fri Aug 6 22:13:06 2004
-@@ -1544,6 +1544,7 @@
- prt[1] &= 0xff;
- error = 0;
- epsv_done:
-+ ;
- } else
- error = 1;
-
-@@ -1867,6 +1868,7 @@
-
- return NULL;
- default:
-+ ;
- }
-
- X509_free(x509_ssl_con);
-@@ -1982,6 +1984,7 @@
-
- return NULL;
- default:
-+ ;
- }
-
- X509_free(x509_ssl_con);
-diff -urN bsdftpd-ssl.ORI/ftp/util.c bsdftpd-ssl/ftp/util.c
---- ftp/util.c Mon May 31 02:24:47 2004
-+++ ftp/util.c Fri Aug 6 21:59:59 2004
-@@ -987,6 +987,7 @@
- ssl_log_msgn(bio_err,"Reason: Certificate revoked");
- break;
- default:
-+ ;
- }
-
- warnx("TLS/SSL connection to server failed");
-diff -urN bsdftpd-ssl.ORI/ftpd/ftpd.c bsdftpd-ssl/ftpd/ftpd.c
---- ftpd/ftpd.c Thu Jul 8 02:35:54 2004
-+++ ftpd/ftpd.c Fri Aug 6 21:46:26 2004
-@@ -2262,6 +2262,7 @@
- SSL_get_shutdown(ssl_data_con);
- break;
- default:
-+ ;
- }
- }
- SSL_free(ssl_data_con);
-@@ -2385,6 +2386,7 @@
- SSL_get_shutdown(ssl_data_con);
- break;
- default:
-+ ;
- }
- }
- SSL_free(ssl_data_con);
-@@ -2636,6 +2638,7 @@
-
- return NULL;
- default:
-+ ;
- }
-
- X509_free(x509_ssl_con);
-@@ -2797,6 +2800,7 @@
-
- return NULL;
- default:
-+ ;
- }
-
- X509_free(x509_ssl_con);
-@@ -4100,6 +4104,7 @@
- SSL_get_shutdown(ssl_data_con);
- break;
- default:
-+ ;
- }
- }
- SSL_free(ssl_data_con);
-@@ -4214,6 +4219,7 @@
- SSL_get_shutdown(ssl_data_con);
- break;
- default:
-+ ;
- }
- }
- SSL_free(ssl_data_con);
diff -urN bsdftpd-ssl.ORI/files/pkg-message.server bsdftpd-ssl/files/pkg-message.server
--- bsdftpd-ssl.ORI/files/pkg-message.server Wed Mar 3 02:23:55 2004
+++ bsdftpd-ssl/files/pkg-message.server Sun May 1 01:26:41 2005
@@ -1,14 +1,13 @@
=============================================================================
You will also need to read "Configuration" and "Supplement information" parts
-of %%DOCSDIR%%/INSTALL file from the package documentation
-for the subsequent configuration steps:
+of the %%DOCSDIR%%/INSTALL file from the package
+documentation for the subsequent configuration steps:
1. Create the server certificate
2. Edit PAM configuration
3. Start the FTP server
-If you want to run the FTP server in the daemon mode, you can copy the sample
-start-up script %%PREFIX%%/etc/rc.d/bsdftpd-ssl.sh.sample to
-%%PREFIX%%/etc/rc.d/bsdftpd-ssl.sh.
-
-Please note: the manual page for the FTP server is available as ftpd-ssl(8).
+Please note:
+- The example configuration files are available in the
+ %%EXAMPLESDIR%% directory.
+- The manual page for the FTP server is available as ftpd-ssl(8).
=============================================================================
diff -urN bsdftpd-ssl.ORI/files/pkg-message.server.compat bsdftpd-ssl/files/pkg-message.server.compat
--- bsdftpd-ssl.ORI/files/pkg-message.server.compat Thu Jan 1 03:00:00 1970
+++ bsdftpd-ssl/files/pkg-message.server.compat Sun May 1 18:00:07 2005
@@ -0,0 +1,14 @@
+=============================================================================
+You will also need to read "Configuration" and "Supplement information" parts
+of %%DOCSDIR%%/INSTALL file from the package documentation
+for the subsequent configuration steps:
+ 1. Create the server certificate
+ 2. Edit PAM configuration
+ 3. Start the FTP server
+
+If you want to run the FTP server in the daemon mode, you can copy the sample
+start-up script %%PREFIX%%/etc/rc.d/bsdftpd_ssl.sh.sample to
+%%PREFIX%%/etc/rc.d/bsdftpd_ssl.sh.
+
+Please note: the manual page for the FTP server is available as ftpd-ssl(8).
+=============================================================================
diff -urN bsdftpd-ssl.ORI/files/pkg-plist.server.compat bsdftpd-ssl/files/pkg-plist.server.compat
--- bsdftpd-ssl.ORI/files/pkg-plist.server.compat Thu Jan 1 03:00:00 1970
+++ bsdftpd-ssl/files/pkg-plist.server.compat Sat Apr 30 01:32:14 2005
@@ -0,0 +1,22 @@
+bin/ftps
+etc/rc.d/bsdftpd_ssl.sh.sample
+libexec/ftpd
+%%PORTDOCS%%%%DOCSDIR%%/COPYRIGHT
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/INSTALL
+%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
+%%PORTDOCS%%%%DOCSDIR%%/cert/cert-nopass.sh
+%%PORTDOCS%%%%DOCSDIR%%/cert/cert-pass.sh
+%%PORTDOCS%%%%DOCSDIR%%/cert/cert-dummy.sh
+%%PORTDOCS%%%%DOCSDIR%%/cert/xCA.sh
+%%PORTDOCS%%%%DOCSDIR%%/docs/README
+%%PORTDOCS%%%%DOCSDIR%%/docs/cert-basics.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/cert-howto.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/ciphers.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/licenses
+%%PORTDOCS%%%%DOCSDIR%%/docs/standards.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/verify.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/x509_auth.txt
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/cert
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
diff -urN bsdftpd-ssl.ORI/files/rc_conf_d.bsdftpd_ssl bsdftpd-ssl/files/rc_conf_d.bsdftpd_ssl
--- bsdftpd-ssl.ORI/files/rc_conf_d.bsdftpd_ssl Thu Jan 1 03:00:00 1970
+++ bsdftpd-ssl/files/rc_conf_d.bsdftpd_ssl Sun May 1 17:31:19 2005
@@ -0,0 +1,16 @@
+##
+## This file contains configuration parameters for the bsdftpd-ssl FTP server,
+## whose are required to run it in the daemon mode with help of rc.d/ script.
+##
+## There are several ways to make those parameters available for the script:
+## 1. Copy this file into the /etc/rc.conf.d/bsdftpd_ssl one.
+## 2. Add the following parameters into /etc/rc.conf file.
+##
+
+## Set this flag to "YES" to run the bsdftpd-ssl FTP server in the daemon mode.
+bsdftpd_ssl_enable=NO
+
+## Command-line options for the FTP server, see ftpd-ssl(8) man page for more
+## information. The "-D" and "-p" options will be added automatically, you
+## should not specify them.
+bsdftpd_ssl_flags="-l -l"
diff -urN bsdftpd-ssl.ORI/pkg-plist bsdftpd-ssl/pkg-plist
--- bsdftpd-ssl.ORI/pkg-plist Wed Mar 3 02:23:54 2004
+++ bsdftpd-ssl/pkg-plist Sun May 1 17:36:53 2005
@@ -1,5 +1,5 @@
bin/ftps
-etc/rc.d/bsdftpd-ssl.sh.sample
+etc/rc.d/bsdftpd_ssl.sh
libexec/ftpd
%%PORTDOCS%%%%DOCSDIR%%/COPYRIGHT
%%PORTDOCS%%%%DOCSDIR%%/README
@@ -17,6 +17,12 @@
%%PORTDOCS%%%%DOCSDIR%%/docs/standards.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/verify.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/x509_auth.txt
+%%PORTDOCS%%%%EXAMPLESDIR%%/README
+%%PORTDOCS%%%%EXAMPLESDIR%%/ftpchroot
+%%PORTDOCS%%%%EXAMPLESDIR%%/ftpusers
+%%PORTDOCS%%%%EXAMPLESDIR%%/rc.conf.d/bsdftpd_ssl
%%PORTDOCS%%@dirrm %%DOCSDIR%%/cert
%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs
%%PORTDOCS%%@dirrm %%DOCSDIR%%
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/rc.conf.d
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list