1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-04 06:15:24 +00:00

- Update to 1.3.1r3

- Remove patches integrated upstream
- Makefile cleanup
- Bugfixes:

    Fixed segfault which can occur if NLST is used twice, the first time
    on a path which does not exist.

    Fixed reporting of addresses via EPSV for IPv6 addresses.

    Fixes occurrences of "ai_family not supported" for inetd-run
    proftpd daemons.

    DisplayLogin, DisplayQuit, and DisplayTransferFiles files now work
    regardless of whether the session process is chrooted.

Approved by:	sat (mentor)
This commit is contained in:
Beech Rintoul 2007-07-06 05:45:08 +00:00
parent 982d8bada5
commit 1022729c90
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=195049
16 changed files with 100 additions and 868 deletions

View File

@ -6,8 +6,7 @@
#
PORTNAME= proftpd
DISTVERSION= 1.3.1rc2
PORTREVISION= 4
DISTVERSION= 1.3.1rc3
CATEGORIES= ftp
MASTER_SITES= ftp://ftp.proftpd.org/distrib/source/ \
ftp://ftp.fastorama.com/mirrors/ftp.proftpd.org/distrib/source/ \
@ -30,6 +29,15 @@ PORTDOCScontrib=mod_ifsession.html mod_radius.html mod_rewrite.html \
mod_ban.html mod_quotatab_radius.html ftpasswd.html
PORTDOCS= ${PORTDOCSdoc} ${PORTDOCScontrib}
PORTEXAMPLES= ASCII.html CreateHome.html Filters.html SQL.html Umask.html \
AuthFiles.html DNS.html Globbing.html SSH.html Upgrade.html \
Authentication.html DSO.html Limit.html Scoreboard.html Vhost.html \
BCP.html Debugging.html ListOptions.html ServerType.html \
VirtualUsers.html Chroot.html Directory.html Logging.html Stopping.html \
index.html Classes.html DisplayFiles.html NAT.html TLS.html ConfigFile.html \
FTP.html Quotas.html Timestamps.html Controls.html \
FXP.html Regex.html Tracing.html
USE_GMAKE= yes
USE_BZIP2= yes
USE_AUTOTOOLS= autoconf:259
@ -38,7 +46,7 @@ GNU_CONFIGURE= yes
USE_RC_SUBR= proftpd.sh
CONFIGURE_ARGS= --localstatedir=/var/run \
--sysconfdir=${EXAMPLESDIR}/etc \
--sysconfdir=${PREFIX}/etc \
--enable-builtin-getnameinfo \
--disable-sendfile
@ -235,14 +243,14 @@ MODULES!=${ECHO} ${MODULES} | ${SED} -e 's,^:,,' -e 's,:$$,,'
post-patch:
.if defined(WITH_NLS)
${REINPLACE_CMD} -e 's|-lsupp|-lsupp -lintl|g' ${WRKSRC}/Makefile.in
@${REINPLACE_CMD} -e 's|-lsupp|-lsupp -lintl|g' ${WRKSRC}/Makefile.in
.endif
@${REINPLACE_CMD} -e 's|proftpd\.conf|proftpd.conf.sample|g' ${WRKSRC}/Makefile.in
pre-configure:
@${ECHO_MSG} "==> Configuring with ${MODULES}"
post-configure:
${REINPLACE_CMD} -e 's:${EXAMPLESDIR}:${PREFIX}:' ${WRKSRC}/config.h
${REINPLACE_CMD} -e 's: -lnsl::' ${WRKSRC}/Make.rules
${REINPLACE_CMD} -e 's:/usr/sbin:${PREFIX}/sbin:' \
-e 's:/usr/bin:${PREFIX}/bin:' \
@ -250,27 +258,22 @@ post-configure:
${WRKSRC}/utils/ftpcount.1
post-install:
@if [ ! -f ${PREFIX}/etc/proftpd.conf ]; then \
${CP} -p ${EXAMPLESDIR}/etc/proftpd.conf ${PREFIX}/etc/proftpd.conf ; \
fi
@cd ${PREFIX}/etc/ && ${CP} -n proftpd.conf.sample proftpd.conf
.if !defined(NOPORTDOCS)
@${MKDIR} ${PREFIX}/share/doc/proftpd
.for f in ${PORTDOCSdoc}
@${INSTALL_DATA} ${WRKSRC}/doc/${f} ${PREFIX}/share/doc/proftpd
.endfor
.for f in ${PORTDOCScontrib}
@${INSTALL_DATA} ${WRKSRC}/doc/contrib/${f} ${PREFIX}/share/doc/proftpd
.endfor
@${INSTALL} -d ${DOCSDIR}/
@cd ${WRKSRC}/doc/ && ${INSTALL_DATA} ${PORTDOCSdoc} ${DOCSDIR}/
@cd ${WRKSRC}/doc/contrib && ${INSTALL_DATA} ${PORTDOCScontrib} ${DOCSDIR}/
.endif
.if !defined(NOPORTEXAMPLES)
@${INSTALL} -d ${EXAMPLESDIR}/
@cd ${WRKSRC}/doc/howto/ && ${INSTALL_DATA} ${PORTEXAMPLES} ${EXAMPLESDIR}/
.endif
.if !defined(WITHOUT_PAM)
@${CAT} ${PKGMESSAGE}
.endif
.if defined(WITH_CTRLS)
@${INSTALL_PROGRAM} ${WRKSRC}/ftpdctl ${PREFIX}/sbin/ftpdctl
@${INSTALL_MAN} ${WRKSRC}/src/ftpdctl.8 ${PREFIX}/man/man8/ftpdctl.8
@${INSTALL_PROGRAM} ${WRKSRC}/ftpdctl ${PREFIX}/sbin/
@${INSTALL_MAN} ${WRKSRC}/src/ftpdctl.8 ${MAN8PREFIX}/man/man8/
.endif
.include <bsd.port.post.mk>

View File

@ -1,3 +1,3 @@
MD5 (proftpd-1.3.1rc2.tar.bz2) = b117abb8fa7df8bc6d5e2ee85d97b4e0
SHA256 (proftpd-1.3.1rc2.tar.bz2) = 7494ea061ef28efc7afa63ffe0a80d598a55909d06dede9254e955c67e6440da
SIZE (proftpd-1.3.1rc2.tar.bz2) = 1516464
MD5 (proftpd-1.3.1rc3.tar.bz2) = 485af3aee9ecebfeae1ae2003250a3a9
SHA256 (proftpd-1.3.1rc3.tar.bz2) = 9bad65ea4ddca40547ca6bb1aa337c7d4ae54752bb9f5fc76124a8c4535daefd
SIZE (proftpd-1.3.1rc3.tar.bz2) = 1538700

View File

@ -1,273 +0,0 @@
--- configure.orig Tue Jan 9 19:55:21 2007
+++ configure Mon Jan 15 22:06:53 2007
@@ -19246,8 +19246,7 @@
if test "$withval" != "no" ; then
-
-for ac_func in getopt getopt_long
+for ac_func in getopt
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -19495,6 +19494,108 @@
done
+for ac_func in getopt_long
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
cat >>confdefs.h <<\_ACEOF
#define PR_USE_SYSTEM_GETOPT 1
_ACEOF
@@ -19510,8 +19611,7 @@
else
-
-for ac_func in getopt getopt_long
+for ac_func in getopt
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -19759,6 +19859,108 @@
done
+for ac_func in getopt_long
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
cat >>confdefs.h <<\_ACEOF
#define PR_USE_SYSTEM_GETOPT 1
_ACEOF
@@ -34961,11 +35163,6 @@
#define PR_USE_SENDFILE 1
_ACEOF
- else
- cat >>confdefs.h <<\_ACEOF
-#define PR_USE_SENDFILE 0
-_ACEOF
-
fi
case "$pr_cv_func_sendfile" in
@@ -36560,20 +36757,6 @@
fi
inclib=`cat $srcdir/contrib/$moduledir/$srcinc | grep "\\\$Libraries:" | sed -e 's/^.*\$Libraries: \(.*\)\\$/\1/'`
- else
- incarch=
- inclib=
- fi
-
- srcinc_in="$srcinc.in"
- if test -f $srcdir/contrib/$moduledir/$srcinc_in ; then
- if test -z $srcarch -a -z $incarch ; then
- incarch=`cat $srcdir/contrib/$moduledir/$srcinc_in | grep "\\\$Archive:" | sed -e 's/^.*\$Archive: \(.*\)\\$/\1/'`
- else
- incarch=
- fi
-
- inclib=`cat $srcdir/contrib/$moduledir/$srcinc_in | grep "\\\$Libraries:" | sed -e 's/^.*\$Libraries: \(.*\)\\$/\1/'`
else
incarch=
inclib=

View File

@ -1,54 +0,0 @@
--- configure.in.orig Tue Jan 9 18:45:08 2007
+++ configure.in Mon Jan 15 22:07:06 2007
@@ -163,8 +163,9 @@
],
[
if test "$withval" != "no" ; then
- AC_CHECK_FUNCS(getopt getopt_long,
+ AC_CHECK_FUNCS(getopt,
[AC_CHECK_HEADERS(getopt.h)
+ AC_CHECK_FUNCS(getopt_long)
AC_DEFINE(PR_USE_SYSTEM_GETOPT, 1,
[Define if using system getopt support])],
[LIB_OBJS="$LIB_OBJS getopt.o getopt1.o"]
@@ -172,8 +173,9 @@
fi
],
[
- AC_CHECK_FUNCS(getopt getopt_long,
+ AC_CHECK_FUNCS(getopt,
[AC_CHECK_HEADERS(getopt.h)
+ AC_CHECK_FUNCS(getopt_long)
AC_DEFINE(PR_USE_SYSTEM_GETOPT, 1,
[Define if using system getopt support])],
[LIB_OBJS="$LIB_OBJS getopt.o getopt1.o"]
@@ -1486,8 +1488,6 @@
if test "$pr_cv_func_sendfile" != "none"; then
AC_DEFINE(HAVE_SENDFILE)
AC_DEFINE(PR_USE_SENDFILE, 1)
- else
- AC_DEFINE(PR_USE_SENDFILE, 0)
fi
case "$pr_cv_func_sendfile" in
@@ -1815,20 +1815,6 @@
else
incarch=
inclib=
- fi
-
- srcinc_in="$srcinc.in"
- if test -f $srcdir/contrib/$moduledir/$srcinc_in ; then
- if test -z $srcarch -a -z $incarch ; then
- incarch=`cat $srcdir/contrib/$moduledir/$srcinc_in | grep "\\\$Archive:" | sed -e 's/^.*\$Archive: \(.*\)\\$/\1/'`
- else
- incarch=
- fi
-
- inclib=`cat $srcdir/contrib/$moduledir/$srcinc_in | grep "\\\$Libraries:" | sed -e 's/^.*\$Libraries: \(.*\)\\$/\1/'`
- else
- incarch=
- inclib=
fi
dnl If the module will be providing an archive (.a file), then remove it

View File

@ -0,0 +1,11 @@
--- contrib/mod_sql_mysql.c.orig 2007-07-05 10:34:43.000000000 -0800
+++ contrib/mod_sql_mysql.c 2007-07-05 10:42:05.000000000 -0800
@@ -595,7 +595,7 @@
}
if (!conn_pool) {
- pr_log_pri(PR_LOG_WARNING, "warning: the mod_sql_mysql module has not been
+ pr_log_pri(PR_LOG_WARNING, "warning: the mod_sql_mysql module has not been"
"properly intialized. Please make sure your --with-modules configure "
"option lists mod_sql *before* mod_sql_mysql, and recompile.");

View File

@ -1,71 +0,0 @@
diff -u -r1.1 pidfile.h
--- include/pidfile.h 11 Jan 2007 21:36:06 -0000 1.1
+++ include/pidfile.h 13 Jan 2007 04:13:10 -0000
@@ -30,7 +30,7 @@
#define PR_PIDFILE_H
/* For internal use only. */
-int pidfile_remove(void);
-void pidfile_write(void);
+int pr_pidfile_remove(void);
+void pr_pidfile_write(void);
#endif /* PR_PIDFILE_H */
Index: src/main.c
===================================================================
RCS file: /cvsroot/proftp/proftpd/src/main.c,v
retrieving revision 1.298
diff -u -r1.298 main.c
--- src/main.c 11 Jan 2007 21:36:06 -0000 1.298
+++ src/main.c 13 Jan 2007 04:13:10 -0000
@@ -261,7 +261,7 @@
PRIVS_ROOT
pr_delete_scoreboard();
if (!nodaemon)
- pidfile_remove();
+ pr_pidfile_remove();
PRIVS_RELINQUISH
}
@@ -1760,7 +1760,7 @@
/* Do not need the pidfile any longer. */
if (is_standalone &&
!nodaemon)
- pidfile_remove();
+ pr_pidfile_remove();
/* Run any exit handlers registered in the master process here, so that
* they may have the benefit of root privs. More than likely these
@@ -2261,7 +2261,7 @@
pr_log_pri(PR_LOG_NOTICE, "ProFTPD %s (built %s) standalone mode STARTUP",
PROFTPD_VERSION_TEXT " " PR_STATUS, BUILD_STAMP);
- pidfile_write();
+ pr_pidfile_write();
daemon_loop();
}
Index: src/pidfile.c
===================================================================
RCS file: /cvsroot/proftp/proftpd/src/pidfile.c,v
retrieving revision 1.2
diff -u -r1.2 pidfile.c
--- src/pidfile.c 12 Jan 2007 05:40:37 -0000 1.2
+++ src/pidfile.c 13 Jan 2007 04:13:10 -0000
@@ -32,7 +32,7 @@
static const char *pidfile_path = PR_PID_FILE_PATH;
-void pidfile_write(void) {
+void pr_pidfile_write(void) {
FILE *fh = NULL;
pidfile_path = get_param_ptr(main_server->conf, "PidFile", FALSE);
@@ -56,6 +56,6 @@
}
}
-int pidfile_remove(void) {
+int pr_pidfile_remove(void) {
return unlink(pidfile_path);
}

View File

@ -1,8 +1,8 @@
--- sample-configurations/basic.conf.orig Thu Apr 15 19:46:38 2004
+++ sample-configurations/basic.conf Wed Nov 15 19:14:36 2006
--- sample-configurations/basic.conf.orig 2007-03-09 10:01:30.000000000 -0900
+++ sample-configurations/basic.conf 2007-07-05 09:29:42.000000000 -0800
@@ -1,3 +1,7 @@
+#
+# To have more informations about Proftpd configuration
+# For more informations about Proftpd configuration
+# look at : http://www.proftpd.org/
+#
# This is a basic ProFTPD configuration file (rename it to
@ -12,7 +12,7 @@
ServerName "ProFTPD Default Installation"
ServerType standalone
DefaultServer on
+ScoreboardFile /var/run/proftpd.scoreboard
+ScoreboardFile /var/run/proftpd.scoreboard
# Port 21 is the standard FTP port.
Port 21
@ -20,12 +20,12 @@
# (such as xinetd).
MaxInstances 30
+CommandBufferSize 512
+CommandBufferSize 512
+
# Set the user and group under which the server will run.
User nobody
Group nogroup
@@ -40,23 +47,29 @@
@@ -40,23 +47,31 @@
# A basic anonymous configuration, no upload directories. If you do not
# want anonymous users, simply delete this entire <Anonymous> section.
@ -42,13 +42,14 @@
- # We want 'welcome.msg' displayed at login, and '.message' displayed
- # in each newly chdired directory.
- DisplayLogin welcome.msg
- DisplayFirstChdir .message
- DisplayChdir .message
-
- # Limit WRITE everywhere in the anonymous chroot
- <Limit WRITE>
- DenyAll
- </Limit>
-</Anonymous>
+
+#########################################################################
+# #
+# Uncomment lines with only one # to allow basic anonymous access #
@ -75,3 +76,4 @@
+ # DenyAll
+ # </Limit>
+#</Anonymous>
+

View File

@ -24,11 +24,11 @@ include/proftpd/glibc-glob.h
include/proftpd/help.h
include/proftpd/ident.h
include/proftpd/inet.h
include/proftpd/lastlog.h
include/proftpd/libsupp.h
include/proftpd/log.h
include/proftpd/mkhome.h
include/proftpd/mod_ctrls.h
include/proftpd/mod_quotatab.h
include/proftpd/modules.h
include/proftpd/netacl.h
include/proftpd/netaddr.h
@ -57,9 +57,7 @@ sbin/ftpshut
sbin/in.proftpd
sbin/proftpd
%%MYSQL%%include/proftpd/mod_sql.h
@unexec if cmp -s %D/etc/proftpd.conf %D/%%EXAMPLESDIR%%/etc/proftpd.conf; then rm -f %D/etc/proftpd.conf; fi
%%EXAMPLESDIR%%/etc/proftpd.conf
@exec if [ ! -f %D/etc/proftpd.conf ] ; then cp -p %D/%F %B/proftpd.conf; fi
@dirrm %%EXAMPLESDIR%%/etc
@dirrm %%EXAMPLESDIR%%
@unexec if cmp -s %D/etc/proftpd.conf %D/etc/proftpd.conf.sample; then rm -f %D/etc/proftpd.conf; fi
etc/proftpd.conf.sample
@exec cp -n %D/%F %B/proftpd.conf
@dirrm include/proftpd

View File

@ -6,8 +6,7 @@
#
PORTNAME= proftpd
DISTVERSION= 1.3.1rc2
PORTREVISION= 4
DISTVERSION= 1.3.1rc3
CATEGORIES= ftp
MASTER_SITES= ftp://ftp.proftpd.org/distrib/source/ \
ftp://ftp.fastorama.com/mirrors/ftp.proftpd.org/distrib/source/ \
@ -30,6 +29,15 @@ PORTDOCScontrib=mod_ifsession.html mod_radius.html mod_rewrite.html \
mod_ban.html mod_quotatab_radius.html ftpasswd.html
PORTDOCS= ${PORTDOCSdoc} ${PORTDOCScontrib}
PORTEXAMPLES= ASCII.html CreateHome.html Filters.html SQL.html Umask.html \
AuthFiles.html DNS.html Globbing.html SSH.html Upgrade.html \
Authentication.html DSO.html Limit.html Scoreboard.html Vhost.html \
BCP.html Debugging.html ListOptions.html ServerType.html \
VirtualUsers.html Chroot.html Directory.html Logging.html Stopping.html \
index.html Classes.html DisplayFiles.html NAT.html TLS.html ConfigFile.html \
FTP.html Quotas.html Timestamps.html Controls.html \
FXP.html Regex.html Tracing.html
USE_GMAKE= yes
USE_BZIP2= yes
USE_AUTOTOOLS= autoconf:259
@ -38,7 +46,7 @@ GNU_CONFIGURE= yes
USE_RC_SUBR= proftpd.sh
CONFIGURE_ARGS= --localstatedir=/var/run \
--sysconfdir=${EXAMPLESDIR}/etc \
--sysconfdir=${PREFIX}/etc \
--enable-builtin-getnameinfo \
--disable-sendfile
@ -235,14 +243,14 @@ MODULES!=${ECHO} ${MODULES} | ${SED} -e 's,^:,,' -e 's,:$$,,'
post-patch:
.if defined(WITH_NLS)
${REINPLACE_CMD} -e 's|-lsupp|-lsupp -lintl|g' ${WRKSRC}/Makefile.in
@${REINPLACE_CMD} -e 's|-lsupp|-lsupp -lintl|g' ${WRKSRC}/Makefile.in
.endif
@${REINPLACE_CMD} -e 's|proftpd\.conf|proftpd.conf.sample|g' ${WRKSRC}/Makefile.in
pre-configure:
@${ECHO_MSG} "==> Configuring with ${MODULES}"
post-configure:
${REINPLACE_CMD} -e 's:${EXAMPLESDIR}:${PREFIX}:' ${WRKSRC}/config.h
${REINPLACE_CMD} -e 's: -lnsl::' ${WRKSRC}/Make.rules
${REINPLACE_CMD} -e 's:/usr/sbin:${PREFIX}/sbin:' \
-e 's:/usr/bin:${PREFIX}/bin:' \
@ -250,27 +258,22 @@ post-configure:
${WRKSRC}/utils/ftpcount.1
post-install:
@if [ ! -f ${PREFIX}/etc/proftpd.conf ]; then \
${CP} -p ${EXAMPLESDIR}/etc/proftpd.conf ${PREFIX}/etc/proftpd.conf ; \
fi
@cd ${PREFIX}/etc/ && ${CP} -n proftpd.conf.sample proftpd.conf
.if !defined(NOPORTDOCS)
@${MKDIR} ${PREFIX}/share/doc/proftpd
.for f in ${PORTDOCSdoc}
@${INSTALL_DATA} ${WRKSRC}/doc/${f} ${PREFIX}/share/doc/proftpd
.endfor
.for f in ${PORTDOCScontrib}
@${INSTALL_DATA} ${WRKSRC}/doc/contrib/${f} ${PREFIX}/share/doc/proftpd
.endfor
@${INSTALL} -d ${DOCSDIR}/
@cd ${WRKSRC}/doc/ && ${INSTALL_DATA} ${PORTDOCSdoc} ${DOCSDIR}/
@cd ${WRKSRC}/doc/contrib && ${INSTALL_DATA} ${PORTDOCScontrib} ${DOCSDIR}/
.endif
.if !defined(NOPORTEXAMPLES)
@${INSTALL} -d ${EXAMPLESDIR}/
@cd ${WRKSRC}/doc/howto/ && ${INSTALL_DATA} ${PORTEXAMPLES} ${EXAMPLESDIR}/
.endif
.if !defined(WITHOUT_PAM)
@${CAT} ${PKGMESSAGE}
.endif
.if defined(WITH_CTRLS)
@${INSTALL_PROGRAM} ${WRKSRC}/ftpdctl ${PREFIX}/sbin/ftpdctl
@${INSTALL_MAN} ${WRKSRC}/src/ftpdctl.8 ${PREFIX}/man/man8/ftpdctl.8
@${INSTALL_PROGRAM} ${WRKSRC}/ftpdctl ${PREFIX}/sbin/
@${INSTALL_MAN} ${WRKSRC}/src/ftpdctl.8 ${MAN8PREFIX}/man/man8/
.endif
.include <bsd.port.post.mk>

View File

@ -1,3 +1,3 @@
MD5 (proftpd-1.3.1rc2.tar.bz2) = b117abb8fa7df8bc6d5e2ee85d97b4e0
SHA256 (proftpd-1.3.1rc2.tar.bz2) = 7494ea061ef28efc7afa63ffe0a80d598a55909d06dede9254e955c67e6440da
SIZE (proftpd-1.3.1rc2.tar.bz2) = 1516464
MD5 (proftpd-1.3.1rc3.tar.bz2) = 485af3aee9ecebfeae1ae2003250a3a9
SHA256 (proftpd-1.3.1rc3.tar.bz2) = 9bad65ea4ddca40547ca6bb1aa337c7d4ae54752bb9f5fc76124a8c4535daefd
SIZE (proftpd-1.3.1rc3.tar.bz2) = 1538700

View File

@ -1,273 +0,0 @@
--- configure.orig Tue Jan 9 19:55:21 2007
+++ configure Mon Jan 15 22:06:53 2007
@@ -19246,8 +19246,7 @@
if test "$withval" != "no" ; then
-
-for ac_func in getopt getopt_long
+for ac_func in getopt
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -19495,6 +19494,108 @@
done
+for ac_func in getopt_long
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
cat >>confdefs.h <<\_ACEOF
#define PR_USE_SYSTEM_GETOPT 1
_ACEOF
@@ -19510,8 +19611,7 @@
else
-
-for ac_func in getopt getopt_long
+for ac_func in getopt
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -19759,6 +19859,108 @@
done
+for ac_func in getopt_long
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
cat >>confdefs.h <<\_ACEOF
#define PR_USE_SYSTEM_GETOPT 1
_ACEOF
@@ -34961,11 +35163,6 @@
#define PR_USE_SENDFILE 1
_ACEOF
- else
- cat >>confdefs.h <<\_ACEOF
-#define PR_USE_SENDFILE 0
-_ACEOF
-
fi
case "$pr_cv_func_sendfile" in
@@ -36560,20 +36757,6 @@
fi
inclib=`cat $srcdir/contrib/$moduledir/$srcinc | grep "\\\$Libraries:" | sed -e 's/^.*\$Libraries: \(.*\)\\$/\1/'`
- else
- incarch=
- inclib=
- fi
-
- srcinc_in="$srcinc.in"
- if test -f $srcdir/contrib/$moduledir/$srcinc_in ; then
- if test -z $srcarch -a -z $incarch ; then
- incarch=`cat $srcdir/contrib/$moduledir/$srcinc_in | grep "\\\$Archive:" | sed -e 's/^.*\$Archive: \(.*\)\\$/\1/'`
- else
- incarch=
- fi
-
- inclib=`cat $srcdir/contrib/$moduledir/$srcinc_in | grep "\\\$Libraries:" | sed -e 's/^.*\$Libraries: \(.*\)\\$/\1/'`
else
incarch=
inclib=

View File

@ -1,54 +0,0 @@
--- configure.in.orig Tue Jan 9 18:45:08 2007
+++ configure.in Mon Jan 15 22:07:06 2007
@@ -163,8 +163,9 @@
],
[
if test "$withval" != "no" ; then
- AC_CHECK_FUNCS(getopt getopt_long,
+ AC_CHECK_FUNCS(getopt,
[AC_CHECK_HEADERS(getopt.h)
+ AC_CHECK_FUNCS(getopt_long)
AC_DEFINE(PR_USE_SYSTEM_GETOPT, 1,
[Define if using system getopt support])],
[LIB_OBJS="$LIB_OBJS getopt.o getopt1.o"]
@@ -172,8 +173,9 @@
fi
],
[
- AC_CHECK_FUNCS(getopt getopt_long,
+ AC_CHECK_FUNCS(getopt,
[AC_CHECK_HEADERS(getopt.h)
+ AC_CHECK_FUNCS(getopt_long)
AC_DEFINE(PR_USE_SYSTEM_GETOPT, 1,
[Define if using system getopt support])],
[LIB_OBJS="$LIB_OBJS getopt.o getopt1.o"]
@@ -1486,8 +1488,6 @@
if test "$pr_cv_func_sendfile" != "none"; then
AC_DEFINE(HAVE_SENDFILE)
AC_DEFINE(PR_USE_SENDFILE, 1)
- else
- AC_DEFINE(PR_USE_SENDFILE, 0)
fi
case "$pr_cv_func_sendfile" in
@@ -1815,20 +1815,6 @@
else
incarch=
inclib=
- fi
-
- srcinc_in="$srcinc.in"
- if test -f $srcdir/contrib/$moduledir/$srcinc_in ; then
- if test -z $srcarch -a -z $incarch ; then
- incarch=`cat $srcdir/contrib/$moduledir/$srcinc_in | grep "\\\$Archive:" | sed -e 's/^.*\$Archive: \(.*\)\\$/\1/'`
- else
- incarch=
- fi
-
- inclib=`cat $srcdir/contrib/$moduledir/$srcinc_in | grep "\\\$Libraries:" | sed -e 's/^.*\$Libraries: \(.*\)\\$/\1/'`
- else
- incarch=
- inclib=
fi
dnl If the module will be providing an archive (.a file), then remove it

View File

@ -0,0 +1,11 @@
--- contrib/mod_sql_mysql.c.orig 2007-07-05 10:34:43.000000000 -0800
+++ contrib/mod_sql_mysql.c 2007-07-05 10:42:05.000000000 -0800
@@ -595,7 +595,7 @@
}
if (!conn_pool) {
- pr_log_pri(PR_LOG_WARNING, "warning: the mod_sql_mysql module has not been
+ pr_log_pri(PR_LOG_WARNING, "warning: the mod_sql_mysql module has not been"
"properly intialized. Please make sure your --with-modules configure "
"option lists mod_sql *before* mod_sql_mysql, and recompile.");

View File

@ -1,71 +0,0 @@
diff -u -r1.1 pidfile.h
--- include/pidfile.h 11 Jan 2007 21:36:06 -0000 1.1
+++ include/pidfile.h 13 Jan 2007 04:13:10 -0000
@@ -30,7 +30,7 @@
#define PR_PIDFILE_H
/* For internal use only. */
-int pidfile_remove(void);
-void pidfile_write(void);
+int pr_pidfile_remove(void);
+void pr_pidfile_write(void);
#endif /* PR_PIDFILE_H */
Index: src/main.c
===================================================================
RCS file: /cvsroot/proftp/proftpd/src/main.c,v
retrieving revision 1.298
diff -u -r1.298 main.c
--- src/main.c 11 Jan 2007 21:36:06 -0000 1.298
+++ src/main.c 13 Jan 2007 04:13:10 -0000
@@ -261,7 +261,7 @@
PRIVS_ROOT
pr_delete_scoreboard();
if (!nodaemon)
- pidfile_remove();
+ pr_pidfile_remove();
PRIVS_RELINQUISH
}
@@ -1760,7 +1760,7 @@
/* Do not need the pidfile any longer. */
if (is_standalone &&
!nodaemon)
- pidfile_remove();
+ pr_pidfile_remove();
/* Run any exit handlers registered in the master process here, so that
* they may have the benefit of root privs. More than likely these
@@ -2261,7 +2261,7 @@
pr_log_pri(PR_LOG_NOTICE, "ProFTPD %s (built %s) standalone mode STARTUP",
PROFTPD_VERSION_TEXT " " PR_STATUS, BUILD_STAMP);
- pidfile_write();
+ pr_pidfile_write();
daemon_loop();
}
Index: src/pidfile.c
===================================================================
RCS file: /cvsroot/proftp/proftpd/src/pidfile.c,v
retrieving revision 1.2
diff -u -r1.2 pidfile.c
--- src/pidfile.c 12 Jan 2007 05:40:37 -0000 1.2
+++ src/pidfile.c 13 Jan 2007 04:13:10 -0000
@@ -32,7 +32,7 @@
static const char *pidfile_path = PR_PID_FILE_PATH;
-void pidfile_write(void) {
+void pr_pidfile_write(void) {
FILE *fh = NULL;
pidfile_path = get_param_ptr(main_server->conf, "PidFile", FALSE);
@@ -56,6 +56,6 @@
}
}
-int pidfile_remove(void) {
+int pr_pidfile_remove(void) {
return unlink(pidfile_path);
}

View File

@ -1,8 +1,8 @@
--- sample-configurations/basic.conf.orig Thu Apr 15 19:46:38 2004
+++ sample-configurations/basic.conf Wed Nov 15 19:14:36 2006
--- sample-configurations/basic.conf.orig 2007-03-09 10:01:30.000000000 -0900
+++ sample-configurations/basic.conf 2007-07-05 09:29:42.000000000 -0800
@@ -1,3 +1,7 @@
+#
+# To have more informations about Proftpd configuration
+# For more informations about Proftpd configuration
+# look at : http://www.proftpd.org/
+#
# This is a basic ProFTPD configuration file (rename it to
@ -12,7 +12,7 @@
ServerName "ProFTPD Default Installation"
ServerType standalone
DefaultServer on
+ScoreboardFile /var/run/proftpd.scoreboard
+ScoreboardFile /var/run/proftpd.scoreboard
# Port 21 is the standard FTP port.
Port 21
@ -20,12 +20,12 @@
# (such as xinetd).
MaxInstances 30
+CommandBufferSize 512
+CommandBufferSize 512
+
# Set the user and group under which the server will run.
User nobody
Group nogroup
@@ -40,23 +47,29 @@
@@ -40,23 +47,31 @@
# A basic anonymous configuration, no upload directories. If you do not
# want anonymous users, simply delete this entire <Anonymous> section.
@ -42,13 +42,14 @@
- # We want 'welcome.msg' displayed at login, and '.message' displayed
- # in each newly chdired directory.
- DisplayLogin welcome.msg
- DisplayFirstChdir .message
- DisplayChdir .message
-
- # Limit WRITE everywhere in the anonymous chroot
- <Limit WRITE>
- DenyAll
- </Limit>
-</Anonymous>
+
+#########################################################################
+# #
+# Uncomment lines with only one # to allow basic anonymous access #
@ -75,3 +76,4 @@
+ # DenyAll
+ # </Limit>
+#</Anonymous>
+

View File

@ -24,11 +24,11 @@ include/proftpd/glibc-glob.h
include/proftpd/help.h
include/proftpd/ident.h
include/proftpd/inet.h
include/proftpd/lastlog.h
include/proftpd/libsupp.h
include/proftpd/log.h
include/proftpd/mkhome.h
include/proftpd/mod_ctrls.h
include/proftpd/mod_quotatab.h
include/proftpd/modules.h
include/proftpd/netacl.h
include/proftpd/netaddr.h
@ -57,9 +57,7 @@ sbin/ftpshut
sbin/in.proftpd
sbin/proftpd
%%MYSQL%%include/proftpd/mod_sql.h
@unexec if cmp -s %D/etc/proftpd.conf %D/%%EXAMPLESDIR%%/etc/proftpd.conf; then rm -f %D/etc/proftpd.conf; fi
%%EXAMPLESDIR%%/etc/proftpd.conf
@exec if [ ! -f %D/etc/proftpd.conf ] ; then cp -p %D/%F %B/proftpd.conf; fi
@dirrm %%EXAMPLESDIR%%/etc
@dirrm %%EXAMPLESDIR%%
@unexec if cmp -s %D/etc/proftpd.conf %D/etc/proftpd.conf.sample; then rm -f %D/etc/proftpd.conf; fi
etc/proftpd.conf.sample
@exec cp -n %D/%F %B/proftpd.conf
@dirrm include/proftpd