Bug 106821 - [MAINTAINER] ftp/proftpd Upgrade to 1.3.1rc1
Summary: [MAINTAINER] ftp/proftpd Upgrade to 1.3.1rc1
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Martin Wilke
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-16 22:50 UTC by Beech Rintoul
Modified: 2006-12-21 22:20 UTC (History)
1 user (show)

See Also:


Attachments
file.diff (30.49 KB, patch)
2006-12-16 22:50 UTC, Beech Rintoul
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Beech Rintoul 2006-12-16 22:50:14 UTC

Upgrade to version 1.3.1rc1
Added Options:
	wrap2, wrap2_file, wrap2_sql, lang, ban, NLS
Removed Patches:
	patch-support.c, patch-main.c, extra_patch-configure.in
Upgrade fixes Secunia security advisory SA23371
	Privilege escalation buffer overflow in mod_control.

Fix: Remove Patches:
patch-support.c, patch-main.c, extra_patch configure.in
Comment 1 Martin Wilke freebsd_committer freebsd_triage 2006-12-16 22:53:01 UTC
Responsible Changed
From-To: freebsd-ports-bugs->miwi

I'll take it.
Comment 2 Beech Rintoul 2006-12-18 17:08:59 UTC
Here's the complete port:


#!/bin/sh
# This is a shell archive
echo x proftpd
mkdir -p proftpd > /dev/null 2>&1
echo x proftpd/files
mkdir -p proftpd/files > /dev/null 2>&1
echo x proftpd/Makefile
sed 's/^X//' > proftpd/Makefile << 'SHAR_END'
X# New ports collection makefile for:	proftpd
X# Date created:		26 January 1998
X# Whom:			Stephane Legrand
X#
X# $FreeBSD: ports/ftp/proftpd/Makefile,v 1.93 2006/12/12 16:08:09 delphij Exp 
$
X#
X
XPORTNAME=	proftpd
XDISTVERSION=	1.3.1rc1
XPORTREVISION=
XCATEGORIES=	ftp
XMASTER_SITES=	ftp://ftp.proftpd.org/distrib/source/ \
X		ftp://ftp.fastorama.com/mirrors/ftp.proftpd.org/distrib/source/ \
X		ftp://ftp.dataguard.no/ftp/pub/proftpd/distrib/source/ \
X		ftp://spirit.bentel.sk/mirrors/Proftpd/distrib/source/ \
X		ftp://proftpd.networkedsystems.co.uk/distrib/source/ \
X		ftp://ftp.ethereal.com/mirrors/ftp.proftpd.org/distrib/source/ \
X		ftp://mirror.cybercomm.nl/pub/proftpd/distrib/source/
X
XMAINTAINER?=	beech@alaskaparadise.com
XCOMMENT?=	Highly configurable ftp daemon
X
XMAN1=	ftpcount.1 ftpwho.1 ftptop.1
XMAN5=	xferlog.5
XMAN8=	proftpd.8 ftpshut.8 ftpdctl.8
X
XPORTDOCSdoc=	Configuration.html faq.html
XPORTDOCScontrib=mod_ifsession.html mod_radius.html mod_rewrite.html \
X		mod_tls.html mod_wrap2.html mod_wrap2_file.html mod_wrap2_sql.html \
X		mod_ban.html mod_quotatab_radius.html ftpasswd.html
XPORTDOCS=	${PORTDOCSdoc} ${PORTDOCScontrib}
X
XUSE_GMAKE=	yes
XUSE_BZIP2=	yes
XGNU_CONFIGURE=yes
X
XUSE_RC_SUBR=	proftpd.sh
X
XCONFIGURE_ARGS=	--localstatedir=/var/run \
X		--sysconfdir=${EXAMPLESDIR}/etc \
X		--disable-sendfile
X
XOPTIONS=	IPV6 "Use IPv6" off \
X		LDAP "Use LDAP" off \
X		LDAP_TLS "Use LDAP TLS (Requires LDAP)" off\
X		MYSQL "Use MySQL" off \
X		POSTGRESQL "Use Postgres" off \
X		OPENSSL "Include mod_tls" off \
X		QUOTA "Include mod_quota" off \
X		IFSESSION "Include mod_ifsession" on \
X		README "Include mod_readme" on \
X		RATIO "Include mod_ratio" on \
X		CTRLS "include controls" off \
X		REWRITE "Include mod_rewrite" on \
X		WRAP "Include mod_wrap2" on \
X		WRAP_FILE "include mod_wrap2_file" off \
X		WRAP_SQL "include mod_wrap2_sql" off \
X		LANG "include mod_lang" off \
X		RADIUS "Include mod_radius" off \
X		QUOTATAB_RADIUS "include mod_quotatab_radius" off \
X		BAN "include mod_ban (Requires CTRLS)" off \
X		NLS "Use nls" off
X
XMODULES?=
X
X.include <bsd.port.pre.mk>
X
X.if ${OSVERSION} < 500000
XCONFIGURE_ARGS+=	--without-getopt
XUSE_AUTOTOOLS=	autoconf:259
X.endif
X
X.if !defined(WITHOUT_RATIO)
XMODULES:=${MODULES}:mod_ratio
X.endif
X
X.if !defined(WITHOUT_README)
XMODULES:=${MODULES}:mod_readme
X.endif
X
X.if !defined(WITHOUT_REWRITE)
XMODULES:=${MODULES}:mod_rewrite
X.endif
X
X.if !defined(WITHOUT_WRAP)
XMODULES:=${MODULES}:mod_wrap2
XINCLUDEDIRS:=${INCLUDEDIRS}:${WORKDIR}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
X.endif
X
X.if defined(WITH_WRAP_FILE)
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
XMODULES:=${MODULES}:mod_wrap2_file
X.endif
X
X.if defined(WITH_WRAP_SQL)
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
XMODULES:=${MODULES}:mod_wrap2_sql
X.endif
X
X.if defined(WITH_RADIUS)
XMODULES:=${MODULES}:mod_radius
X.endif
X
X.if defined(WITH_QUOTATAB_RADIUS)
XMODULES:=${MODULES}:mod_quotatab_radius
X.endif
X
X.if defined(WITH_LANG)
XMODULES:=${MODULES}:mod_lang
X.endif
X
X.if defined(WITH_BAN)
XMODULES:=${MODULES}:mod_ban
X.endif
X
X.if defined(WITH_SETPASSENT)
XCONFIGURE_ARGS+=	--enable-force-setpassent
X.endif
X
X.if defined(WITHOUT_PAM)
XCONFIGURE_ARGS+=	--disable-auth-pam
X.endif
X
X.if defined(WITH_IPV6)
XCONFIGURE_ARGS+=	--enable-ipv6
X.endif
X
X.if !defined(WITH_IPV6)
XCONFIGURE_ARGS+=	--disable-ipv6
X.endif
X
X.if defined(WITH_NLS)
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
XCONFIGURE_ARGS+=	--enable-nls
X.endif
X
X#allow user to override
XMODULES?=	mod_ratio:mod_readme:mod_rewrite:mod_wrap:mod_ifsession
X
XINCLUDEDIRS?=
XLIBDIRS?=
X
X.if defined(WITH_LDAP)
XUSE_OPENLDAP=	yes
XMODULES:=${MODULES}:mod_ldap
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
X.endif
X
X.if defined(WITH_MYSQL)
XUSE_MYSQL=	yes
XMODULES:=${MODULES}:mod_sql:mod_sql_mysql
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib/mysql
X.endif
X
X.if defined(WITH_POSTGRESQL)
XUSE_PGSQL=	yes
XMODULES:=${MODULES}:mod_sql:mod_sql_postgres
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
X.endif
X
X.if defined(WITH_OPENSSL)
XCFLAGS+=	-DHAVE_OPENSSL
X.include <${PORTSDIR}/Mk/bsd.openssl.mk>
XPROFTPD_LIBS+=	-lssl -lcrypto -L${LOCALBASE}/lib
XMODULES:=${MODULES}:mod_tls
X.if defined(WITH_LDAP_TLS)
XEXTRA_PATCHES+=	${FILESDIR}/extra_patch-ldap-tls-mod_ldap.c
X.endif
X.endif
X
X.if defined(WITH_CTRLS)
XCONFIGURE_ARGS+=	--enable-ctrls
XPLIST_FILES+=	sbin/ftpdctl
X.if !defined(WITHOUT_CTRLS_ADMIN)
XMODULES:=${MODULES}:mod_ctrls_admin
X.endif
X.endif
X
X.if defined(WITH_QUOTA)
XMODULES:=${MODULES}:mod_quotatab:mod_quotatab_file
X.if defined(WITH_LDAP)
XMODULES:=${MODULES}:mod_quotatab_ldap
X.endif
X.if defined(WITH_POSTGRESQL) || defined(WITH_MYSQL)
XMODULES:=${MODULES}:mod_quotatab_sql
X.endif
X.endif
X
X# mod_ifsession should be the last item in the modules list
X.if !defined(WITHOUT_IFSESSION)
XMODULES:=${MODULES}:mod_ifsession
X.endif
X
X# Keep this here below, in case similar constructs need to be made
XCONFIGURE_ENV+=	"LIBS=${PROFTPD_LIBS}"
X
X.if !empty(MODULES)
XCONFIGURE_ARGS+=	--with-modules=${MODULES}
X.endif
X
X.if !empty(INCLUDEDIRS)
XCONFIGURE_ARGS+=	--with-includes=${INCLUDEDIRS}
X.endif
X
X.if !empty(LIBDIRS)
XCONFIGURE_ARGS+=	--with-libraries=${LIBDIRS}
X.endif
X
XMODULES!=${ECHO} ${MODULES} | ${SED} -e 's,^:,,' -e 's,:$$,,'
X
Xpre-configure:
X	@${ECHO_MSG} "==> Configuring with ${MODULES}"
X
Xpost-configure:
X	${REINPLACE_CMD} -e 's:${EXAMPLESDIR}:${PREFIX}:' ${WRKSRC}/config.h
X	${REINPLACE_CMD} -e 's: -lnsl::' ${WRKSRC}/Make.rules
X	${REINPLACE_CMD} -e 's:/usr/sbin:${PREFIX}/sbin:' \
X		-e 's:/usr/bin:${PREFIX}/bin:' \
X		${WRKSRC}/src/proftpd.8 ${WRKSRC}/utils/ftpshut.8 \
X		${WRKSRC}/utils/ftpcount.1
X
Xpost-install:
X	[ -f ${PREFIX}/etc/proftpd.conf ] || \
X		${CP} ${EXAMPLESDIR}/etc/proftpd.conf ${PREFIX}/etc/proftpd.conf
X
X.if !defined(NOPORTDOCS)
X	@${MKDIR} ${PREFIX}/share/doc/proftpd
X.for f in ${PORTDOCSdoc}
X	@${INSTALL_DATA} ${WRKSRC}/doc/${f} ${PREFIX}/share/doc/proftpd
X.endfor
X.for f in ${PORTDOCScontrib}
X	@${INSTALL_DATA} ${WRKSRC}/doc/contrib/${f} ${PREFIX}/share/doc/proftpd
X.endfor
X.endif
X
X.if !defined(WITHOUT_PAM)
X	@${CAT} ${PKGMESSAGE}
X.endif
X
X.if defined(WITH_CTRLS)
X	@${INSTALL_PROGRAM} ${WRKSRC}/ftpdctl ${PREFIX}/sbin/ftpdctl
X	@${INSTALL_MAN} ${WRKSRC}/src/ftpdctl.8 ${PREFIX}/man/man8/ftpdctl.8
X.endif
X
X.include <bsd.port.post.mk>
SHAR_END
echo x proftpd/distinfo
sed 's/^X//' > proftpd/distinfo << 'SHAR_END'
XMD5 (proftpd-1.3.1rc1.tar.bz2) = 08f4d526b46c84f10e9634d2d913052c
XSHA256 (proftpd-1.3.1rc1.tar.bz2) = 
32cf852535c2ec55c5833c2766cbd0c6aba950ab2967565606e1df334736a766
XSIZE (proftpd-1.3.1rc1.tar.bz2) = 1484138
SHAR_END
echo x proftpd/pkg-descr
sed 's/^X//' > proftpd/pkg-descr << 'SHAR_END'
XProFTPD is a highly configurable ftp daemon for unix
Xand unix-like operating systems. ProFTPD is designed
Xto be somewhat of a "drop-in" replacement for wu-ftpd
Xwith a configuration format like Apache.
X
XFull online documentation is available at
Xhttp://www.proftpd.org/, including a server
Xconfiguration directive reference manual.
X
X- Stephane Legrand
Xstephane@lituus.fr
X
XWWW: http://www.proftpd.org/
SHAR_END
echo x proftpd/pkg-message
sed 's/^X//' > proftpd/pkg-message << 'SHAR_END'
X###
XMake sure you have the following lines in your PAM configuration file
Xso that ProFTPd's PAM module can authenticate users correctly.
X
Xftpd auth    required    pam_unix.so         try_first_pass
Xftpd account required    pam_unix.so         try_first_pass
Xftpd session required    pam_permit.so
X###
SHAR_END
echo x proftpd/pkg-plist
sed 's/^X//' > proftpd/pkg-plist << 'SHAR_END'
Xbin/ftpcount
Xbin/ftpdctl
Xbin/ftptop
Xbin/ftpwho
Xetc/proftpd.conf
Xetc/rc.d/proftpd
Xinclude/proftpd/auth.h
Xinclude/proftpd/bindings.h
Xinclude/proftpd/buildstamp.h
Xinclude/proftpd/child.h
Xinclude/proftpd/class.h
Xinclude/proftpd/compat.h
Xinclude/proftpd/conf.h
Xinclude/proftpd/config.h
Xinclude/proftpd/ctrls.h
Xinclude/proftpd/data.h
Xinclude/proftpd/default_paths.h
Xinclude/proftpd/dirtree.h
Xinclude/proftpd/display.h
Xinclude/proftpd/event.h
Xinclude/proftpd/feat.h
Xinclude/proftpd/fsio.h
Xinclude/proftpd/ftp.h
Xinclude/proftpd/glibc-glob.h
Xinclude/proftpd/help.h
Xinclude/proftpd/ident.h
Xinclude/proftpd/inet.h
Xinclude/proftpd/lastlog.h
Xinclude/proftpd/libsupp.h
Xinclude/proftpd/log.h
Xinclude/proftpd/mkhome.h
Xinclude/proftpd/mod_ctrls.h
Xinclude/proftpd/mod_wrap2.h
Xinclude/proftpd/modules.h
Xinclude/proftpd/netacl.h
Xinclude/proftpd/netaddr.h
Xinclude/proftpd/netio.h
Xinclude/proftpd/options.h
Xinclude/proftpd/parser.h
Xinclude/proftpd/pool.h
Xinclude/proftpd/pr-syslog.h
Xinclude/proftpd/privs.h
Xinclude/proftpd/proftpd.h
Xinclude/proftpd/regexp.h
Xinclude/proftpd/response.h
Xinclude/proftpd/scoreboard.h
Xinclude/proftpd/sets.h
Xinclude/proftpd/support.h
Xinclude/proftpd/table.h
Xinclude/proftpd/timers.h
Xinclude/proftpd/trace.h
Xinclude/proftpd/utf8.h
Xinclude/proftpd/var.h
Xinclude/proftpd/version.h
Xinclude/proftpd/xferlog.h
Xsbin/ftpshut
Xsbin/in.proftpd
Xsbin/proftpd
X@unexec if cmp -s %D/etc/proftpd.conf %D/%%EXAMPLESDIR%%/etc/proftpd.conf; 
then rm -f %D/etc/proftpd.conf; fi
X%%EXAMPLESDIR%%/etc/proftpd.conf
X@exec if [ ! -f %D/etc/proftpd.conf ] ; then cp -p %D/%F %B/proftpd.conf; fi
X@dirrm %%EXAMPLESDIR%%/etc
X@dirrm %%EXAMPLESDIR%%
SHAR_END
echo x proftpd/files/patch-ah
sed 's/^X//' > proftpd/files/patch-ah << 'SHAR_END'
X--- modules/mod_auth_unix.c.orig	Thu May 13 23:40:18 2004
X+++ modules/mod_auth_unix.c	Thu May 13 23:40:27 2004
X@@ -57,6 +57,7 @@
X #endif /* HAVE_HPSECURITY_H or HPUX10 or HPUX11 */
X 
X #if defined(HAVE_PROT_H) || defined(COMSEC)
X+# include <krb.h>
X # include <prot.h>
X #endif
X 
SHAR_END
echo x proftpd/files/patch-contrib::mod_sql_mysql.c
sed 's/^X//' > proftpd/files/patch-contrib::mod_sql_mysql.c << 'SHAR_END'
X--- contrib/mod_sql_mysql.c.orig	Tue Dec 12 19:52:15 2006
X+++ contrib/mod_sql_mysql.c	Tue Dec 12 20:02:56 2006
X@@ -135,7 +135,7 @@
X #include "conf.h"
X #include "../contrib/mod_sql.h"
X 
X-#include <mysql.h>
X+#include <mysql/mysql.h>
X 
X /* 
X  * timer-handling code adds the need for a couple of forward declarations
SHAR_END
echo x proftpd/files/patch-doc::Configuration.html
sed 's/^X//' > proftpd/files/patch-doc::Configuration.html << 'SHAR_END'
X--- ./doc/Configuration.html.orig	Wed Jan 29 12:27:24 2003
X+++ ./doc/Configuration.html	Sat Mar 15 11:34:14 2003
X@@ -4226,7 +4226,7 @@
X ></DT
X ><DD
X ><P
X->ftp</P
X+>ftpd</P
X ></DD
X ><DT
X ><PRE
X@@ -32252,4 +32252,4 @@
X ></DIV
X ></BODY
X ></HTML
X->
X\ No newline at end of file
X+>
SHAR_END
echo x proftpd/files/patch-module::mod_auth_pam.c
sed 's/^X//' > proftpd/files/patch-module::mod_auth_pam.c << 'SHAR_END'
X--- ./modules/mod_auth_pam.c.orig	Thu Jan  2 13:25:20 2003
X+++ ./modules/mod_auth_pam.c	Sat Mar 15 11:35:00 2003
X@@ -57,7 +57,7 @@
X #endif /* HAVE_PAM_PAM_APPL_H */
X 
X static pam_handle_t *	pamh			= NULL;
X-static char *		pamconfig		= "ftp";
X+static char *		pamconfig		= "ftpd";
X static char *		pam_user 		= NULL;
X static char *		pam_pass 		= NULL;
X static size_t		pam_user_len		= 0;
SHAR_END
echo x proftpd/files/patch-sample-configurations_basic.conf
sed 's/^X//' > proftpd/files/patch-sample-configurations_basic.conf 
<< 'SHAR_END'
X--- sample-configurations/basic.conf.orig	Thu Apr 15 19:46:38 2004
X+++ sample-configurations/basic.conf	Wed Nov 15 19:14:36 2006
X@@ -1,3 +1,7 @@
X+#
X+# To have more informations about Proftpd configuration
X+# look at : http://www.proftpd.org/
X+#
X # This is a basic ProFTPD configuration file (rename it to 
X # 'proftpd.conf' for actual use.  It establishes a single server
X # and a single anonymous login.  It assumes that you have a user/group
X@@ -6,6 +10,7 @@
X ServerName			"ProFTPD Default Installation"
X ServerType			standalone
X DefaultServer			on
X+ScoreboardFile			/var/run/proftpd.scoreboard
X 
X # Port 21 is the standard FTP port.
X Port				21
X@@ -22,6 +27,8 @@
X # (such as xinetd).
X MaxInstances			30
X 
X+CommandBufferSize		512
X+
X # Set the user and group under which the server will run.
X User				nobody
X Group				nogroup
X@@ -40,23 +47,29 @@
X 
X # A basic anonymous configuration, no upload directories.  If you do not
X # want anonymous users, simply delete this entire <Anonymous> section.
X-<Anonymous ~ftp>
X-  User				ftp
X-  Group				ftp
X-
X-  # We want clients to be able to login with "anonymous" as well as "ftp"
X-  UserAlias			anonymous ftp
X-
X-  # Limit the maximum number of anonymous logins
X-  MaxClients			10
X-
X-  # We want 'welcome.msg' displayed at login, and '.message' displayed
X-  # in each newly chdired directory.
X-  DisplayLogin			welcome.msg
X-  DisplayFirstChdir		.message
X-
X-  # Limit WRITE everywhere in the anonymous chroot
X-  <Limit WRITE>
X-    DenyAll
X-  </Limit>
X-</Anonymous>
X+#########################################################################
X+#                                                                       #
X+# Uncomment lines with only one # to allow basic anonymous access       #
X+#                                                                       #
X+#########################################################################
X+
X+#<Anonymous ~ftp>
X+#   User				ftp
X+#   Group				ftp
X+
X+  ### We want clients to be able to login with "anonymous" as well as "ftp"
X+  # UserAlias			anonymous ftp
X+
X+  ### Limit the maximum number of anonymous logins
X+  # MaxClients			10
X+
X+  ### We want 'welcome.msg' displayed at login, and '.message' displayed
X+  ### in each newly chdired directory.
X+  # DisplayLogin			welcome.msg
X+  # DisplayFirstChdir		.message
X+
X+  ### Limit WRITE everywhere in the anonymous chroot
X+  # <Limit WRITE>
X+  #   DenyAll
X+  # </Limit>
X+#</Anonymous>
SHAR_END
echo x proftpd/files/patch-src_proftpd.8.in
sed 's/^X//' > proftpd/files/patch-src_proftpd.8.in << 'SHAR_END'
X--- src/proftpd.8.in.orig	Sat Sep 18 07:40:30 2004
X+++ src/proftpd.8.in	Thu Nov  3 15:35:56 2005
X@@ -22,6 +22,12 @@
X connection to the FTP service is made, or alternatively it can be run as a
X standalone daemon.
X .PP
X+.br
X+Each successful and failed ftp(1) session is logged using syslog with a
X+facility of LOG_FTP.  Note: LOG_FTP messages are not displayed
X+by syslogd(8) by default, and may have to be enabled in syslogd(8)'s 
X+configuration file.
X+.PP
X When
X .B proftpd
X is run in standalone mode and it receives a SIGHUP then it will reread its
SHAR_END
echo x proftpd/files/proftpd.sh.in
sed 's/^X//' > proftpd/files/proftpd.sh.in << 'SHAR_END'
X#!/bin/sh
X#
X# $FreeBSD: ports/ftp/proftpd/files/proftpd.sh.in,v 1.3 2006/02/20 20:47:00 
dougb Exp $
X#
X
X# PROVIDE: proftpd
X# REQUIRE: DAEMON
X# BEFORE: LOGIN
X# KEYWORD: shutdown
X
X#
X# Add the following lines to /etc/rc.conf to enable proftpd:
X#
X#proftpd_enable="YES"
X#
X# See proftpd(8) for flags
X#
X
X. %%RC_SUBR%%
X
Xname=proftpd
Xrcvar=`set_rcvar`
X
Xcommand=%%PREFIX%%/sbin/proftpd
Xpidfile=/var/run/proftpd.pid
Xrequired_files=%%PREFIX%%/etc/proftpd.conf
X
Xstop_postcmd=stop_postcmd
X
Xstop_postcmd()
X{
X  rm -f $pidfile
X}
X
X# set defaults
X
Xproftpd_enable=${proftpd_enable:-"NO"}
Xproftpd_flags=${proftpd_flags:-""}
X
Xextra_commands="reload"
X
Xload_rc_config $name
Xrun_rc_command "$1"
SHAR_END
echo x proftpd/files/extra_patch-ldap-tls-mod_ldap.c
sed 's/^X//' > proftpd/files/extra_patch-ldap-tls-mod_ldap.c << 'SHAR_END'
X--- contrib/mod_ldap.c.orig	Thu Oct 19 18:18:07 2006
X+++ contrib/mod_ldap.c	Fri Dec 15 11:01:21 2006
X@@ -60,7 +60,7 @@
X  * after connecting to the LDAP server. If TLS cannot be enabled, the LDAP
X  * connection will fail.
X  */
X-/* #define USE_LDAP_TLS */
X+#define USE_LDAP_TLS */
X 
X /*
X  * If you have to edit anything below this line, it's a bug. Report it
SHAR_END
echo x proftpd/files/patch-utf8.c
sed 's/^X//' > proftpd/files/patch-utf8.c << 'SHAR_END'
X--- src/utf8.c.orig	Wed Jun 14 15:33:19 2006
X+++ src/utf8.c	Wed Dec 13 08:40:35 2006
X@@ -23,7 +23,7 @@
X  */
X 
X /* UTF8 encoding/decoding
X- * $Id: utf8.c,v 1.3 2006/06/14 23:33:19 castaglia Exp $
X+ * $Id: utf8.c,v 1.4 2006/12/13 17:40:35 castaglia Exp $
X  */
X 
X #include "conf.h"
X@@ -38,12 +38,13 @@
X # include <langinfo.h>
X #endif
X 
X+#ifdef HAVE_ICONV_H
X static iconv_t decode_conv = (iconv_t) -1;
X static iconv_t encode_conv = (iconv_t) -1;
X 
X static int utf8_convert(iconv_t conv, char *inbuf, size_t *inbuflen,
X     char *outbuf, size_t *outbuflen) {
X-#ifdef HAVE_ICONV
X+# ifdef HAVE_ICONV
X   char *start = inbuf;
X 
X   while (inbuflen > 0) {
X@@ -61,14 +62,14 @@
X     break;
X   }
X   return 0;
X-#else
X+# else
X   errno = ENOSYS;
X   return -1;
X-#endif /* HAVE_ICONV */
X+# endif /* HAVE_ICONV */
X }
X 
X int utf8_free(void) {
X-#ifdef HAVE_ICONV
X+# ifdef HAVE_ICONV
X   int res;
X 
X   /* Close the iconv handles. */
X@@ -81,10 +82,10 @@
X     return -1;
X 
X   return 0;
X-#else
X+# else
X   errno = ENOSYS;
X   return -1;
X-#endif
X+# endif
X }
X 
X int utf8_init(void) {
X@@ -111,7 +112,7 @@
X     "conversion");
X #endif /* HAVE_NL_LANGINFO */
X 
X-#ifdef HAVE_ICONV
X+# ifdef HAVE_ICONV
X   /* Get the iconv handles. */
X   encode_conv = iconv_open(local_charset, "UTF-8");
X   if (encode_conv == (iconv_t) -1)
X@@ -122,13 +123,15 @@
X     return -1;
X 
X   return 0;
X-#else
X+# else
X   errno = ENOSYS;
X   return -1;
X-#endif /* HAVE_ICONV */
X+# endif /* HAVE_ICONV */
X }
X+#endif /* !HAVE_ICONV_H */
X 
X char *pr_utf8_decode(pool *p, const char *in, size_t inlen, size_t *outlen) 
{
X+#ifdef HAVE_ICONV_H
X   size_t inbuflen, outbuflen;
X   char *inbuf, outbuf[PR_TUNABLE_PATH_MAX*2], *res = NULL;
X 
X@@ -156,9 +159,14 @@
X   memcpy(res, outbuf, *outlen);
X 
X   return res;
X+#else
X+  pr_trace_msg("utf8", 1, "missing iconv support, no UTF8 decoding 
possible");
X+  return pstrdup(p, in);
X+#endif /* !HAVE_ICONV_H */
X }
X 
X char *pr_utf8_encode(pool *p, const char *in, size_t inlen, size_t *outlen) 
{
X+#ifdef HAVE_ICONV_H
X   size_t inbuflen, outbuflen;
X   char *inbuf, outbuf[PR_TUNABLE_PATH_MAX*2], *res;
X 
X@@ -186,6 +194,10 @@
X   memcpy(res, outbuf, *outlen);
X 
X   return res;
X+#else
X+  pr_trace_msg("utf8", 1, "missing iconv support, no UTF8 encoding 
possible");
X+  return pstrdup(p, in);
X+#endif /* !HAVE_ICONV_H */
X }
X 
X #endif /* PR_USE_NLS */
SHAR_END
exit
Comment 3 freebsd 2006-12-18 17:10:18 UTC
Here's the complete port:


#!/bin/sh
# This is a shell archive
echo x proftpd
mkdir -p proftpd > /dev/null 2>&1
echo x proftpd/files
mkdir -p proftpd/files > /dev/null 2>&1
echo x proftpd/Makefile
sed 's/^X//' > proftpd/Makefile << 'SHAR_END'
X# New ports collection makefile for:	proftpd
X# Date created:		26 January 1998
X# Whom:			Stephane Legrand
X#
X# $FreeBSD: ports/ftp/proftpd/Makefile,v 1.93 2006/12/12 16:08:09 delphij Exp 
$
X#
X
XPORTNAME=	proftpd
XDISTVERSION=	1.3.1rc1
XPORTREVISION=
XCATEGORIES=	ftp
XMASTER_SITES=	ftp://ftp.proftpd.org/distrib/source/ \
X		ftp://ftp.fastorama.com/mirrors/ftp.proftpd.org/distrib/source/ \
X		ftp://ftp.dataguard.no/ftp/pub/proftpd/distrib/source/ \
X		ftp://spirit.bentel.sk/mirrors/Proftpd/distrib/source/ \
X		ftp://proftpd.networkedsystems.co.uk/distrib/source/ \
X		ftp://ftp.ethereal.com/mirrors/ftp.proftpd.org/distrib/source/ \
X		ftp://mirror.cybercomm.nl/pub/proftpd/distrib/source/
X
XMAINTAINER?=	beech@alaskaparadise.com
XCOMMENT?=	Highly configurable ftp daemon
X
XMAN1=	ftpcount.1 ftpwho.1 ftptop.1
XMAN5=	xferlog.5
XMAN8=	proftpd.8 ftpshut.8 ftpdctl.8
X
XPORTDOCSdoc=	Configuration.html faq.html
XPORTDOCScontrib=mod_ifsession.html mod_radius.html mod_rewrite.html \
X		mod_tls.html mod_wrap2.html mod_wrap2_file.html mod_wrap2_sql.html \
X		mod_ban.html mod_quotatab_radius.html ftpasswd.html
XPORTDOCS=	${PORTDOCSdoc} ${PORTDOCScontrib}
X
XUSE_GMAKE=	yes
XUSE_BZIP2=	yes
XGNU_CONFIGURE=yes
X
XUSE_RC_SUBR=	proftpd.sh
X
XCONFIGURE_ARGS=	--localstatedir=/var/run \
X		--sysconfdir=${EXAMPLESDIR}/etc \
X		--disable-sendfile
X
XOPTIONS=	IPV6 "Use IPv6" off \
X		LDAP "Use LDAP" off \
X		LDAP_TLS "Use LDAP TLS (Requires LDAP)" off\
X		MYSQL "Use MySQL" off \
X		POSTGRESQL "Use Postgres" off \
X		OPENSSL "Include mod_tls" off \
X		QUOTA "Include mod_quota" off \
X		IFSESSION "Include mod_ifsession" on \
X		README "Include mod_readme" on \
X		RATIO "Include mod_ratio" on \
X		CTRLS "include controls" off \
X		REWRITE "Include mod_rewrite" on \
X		WRAP "Include mod_wrap2" on \
X		WRAP_FILE "include mod_wrap2_file" off \
X		WRAP_SQL "include mod_wrap2_sql" off \
X		LANG "include mod_lang" off \
X		RADIUS "Include mod_radius" off \
X		QUOTATAB_RADIUS "include mod_quotatab_radius" off \
X		BAN "include mod_ban (Requires CTRLS)" off \
X		NLS "Use nls" off
X
XMODULES?=
X
X.include <bsd.port.pre.mk>
X
X.if ${OSVERSION} < 500000
XCONFIGURE_ARGS+=	--without-getopt
XUSE_AUTOTOOLS=	autoconf:259
X.endif
X
X.if !defined(WITHOUT_RATIO)
XMODULES:=${MODULES}:mod_ratio
X.endif
X
X.if !defined(WITHOUT_README)
XMODULES:=${MODULES}:mod_readme
X.endif
X
X.if !defined(WITHOUT_REWRITE)
XMODULES:=${MODULES}:mod_rewrite
X.endif
X
X.if !defined(WITHOUT_WRAP)
XMODULES:=${MODULES}:mod_wrap2
XINCLUDEDIRS:=${INCLUDEDIRS}:${WORKDIR}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
X.endif
X
X.if defined(WITH_WRAP_FILE)
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
XMODULES:=${MODULES}:mod_wrap2_file
X.endif
X
X.if defined(WITH_WRAP_SQL)
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
XMODULES:=${MODULES}:mod_wrap2_sql
X.endif
X
X.if defined(WITH_RADIUS)
XMODULES:=${MODULES}:mod_radius
X.endif
X
X.if defined(WITH_QUOTATAB_RADIUS)
XMODULES:=${MODULES}:mod_quotatab_radius
X.endif
X
X.if defined(WITH_LANG)
XMODULES:=${MODULES}:mod_lang
X.endif
X
X.if defined(WITH_BAN)
XMODULES:=${MODULES}:mod_ban
X.endif
X
X.if defined(WITH_SETPASSENT)
XCONFIGURE_ARGS+=	--enable-force-setpassent
X.endif
X
X.if defined(WITHOUT_PAM)
XCONFIGURE_ARGS+=	--disable-auth-pam
X.endif
X
X.if defined(WITH_IPV6)
XCONFIGURE_ARGS+=	--enable-ipv6
X.endif
X
X.if !defined(WITH_IPV6)
XCONFIGURE_ARGS+=	--disable-ipv6
X.endif
X
X.if defined(WITH_NLS)
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
XCONFIGURE_ARGS+=	--enable-nls
X.endif
X
X#allow user to override
XMODULES?=	mod_ratio:mod_readme:mod_rewrite:mod_wrap:mod_ifsession
X
XINCLUDEDIRS?=
XLIBDIRS?=
X
X.if defined(WITH_LDAP)
XUSE_OPENLDAP=	yes
XMODULES:=${MODULES}:mod_ldap
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
X.endif
X
X.if defined(WITH_MYSQL)
XUSE_MYSQL=	yes
XMODULES:=${MODULES}:mod_sql:mod_sql_mysql
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib/mysql
X.endif
X
X.if defined(WITH_POSTGRESQL)
XUSE_PGSQL=	yes
XMODULES:=${MODULES}:mod_sql:mod_sql_postgres
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
X.endif
X
X.if defined(WITH_OPENSSL)
XCFLAGS+=	-DHAVE_OPENSSL
X.include <${PORTSDIR}/Mk/bsd.openssl.mk>
XPROFTPD_LIBS+=	-lssl -lcrypto -L${LOCALBASE}/lib
XMODULES:=${MODULES}:mod_tls
X.if defined(WITH_LDAP_TLS)
XEXTRA_PATCHES+=	${FILESDIR}/extra_patch-ldap-tls-mod_ldap.c
X.endif
X.endif
X
X.if defined(WITH_CTRLS)
XCONFIGURE_ARGS+=	--enable-ctrls
XPLIST_FILES+=	sbin/ftpdctl
X.if !defined(WITHOUT_CTRLS_ADMIN)
XMODULES:=${MODULES}:mod_ctrls_admin
X.endif
X.endif
X
X.if defined(WITH_QUOTA)
XMODULES:=${MODULES}:mod_quotatab:mod_quotatab_file
X.if defined(WITH_LDAP)
XMODULES:=${MODULES}:mod_quotatab_ldap
X.endif
X.if defined(WITH_POSTGRESQL) || defined(WITH_MYSQL)
XMODULES:=${MODULES}:mod_quotatab_sql
X.endif
X.endif
X
X# mod_ifsession should be the last item in the modules list
X.if !defined(WITHOUT_IFSESSION)
XMODULES:=${MODULES}:mod_ifsession
X.endif
X
X# Keep this here below, in case similar constructs need to be made
XCONFIGURE_ENV+=	"LIBS=${PROFTPD_LIBS}"
X
X.if !empty(MODULES)
XCONFIGURE_ARGS+=	--with-modules=${MODULES}
X.endif
X
X.if !empty(INCLUDEDIRS)
XCONFIGURE_ARGS+=	--with-includes=${INCLUDEDIRS}
X.endif
X
X.if !empty(LIBDIRS)
XCONFIGURE_ARGS+=	--with-libraries=${LIBDIRS}
X.endif
X
XMODULES!=${ECHO} ${MODULES} | ${SED} -e 's,^:,,' -e 's,:$$,,'
X
Xpre-configure:
X	@${ECHO_MSG} "==> Configuring with ${MODULES}"
X
Xpost-configure:
X	${REINPLACE_CMD} -e 's:${EXAMPLESDIR}:${PREFIX}:' ${WRKSRC}/config.h
X	${REINPLACE_CMD} -e 's: -lnsl::' ${WRKSRC}/Make.rules
X	${REINPLACE_CMD} -e 's:/usr/sbin:${PREFIX}/sbin:' \
X		-e 's:/usr/bin:${PREFIX}/bin:' \
X		${WRKSRC}/src/proftpd.8 ${WRKSRC}/utils/ftpshut.8 \
X		${WRKSRC}/utils/ftpcount.1
X
Xpost-install:
X	[ -f ${PREFIX}/etc/proftpd.conf ] || \
X		${CP} ${EXAMPLESDIR}/etc/proftpd.conf ${PREFIX}/etc/proftpd.conf
X
X.if !defined(NOPORTDOCS)
X	@${MKDIR} ${PREFIX}/share/doc/proftpd
X.for f in ${PORTDOCSdoc}
X	@${INSTALL_DATA} ${WRKSRC}/doc/${f} ${PREFIX}/share/doc/proftpd
X.endfor
X.for f in ${PORTDOCScontrib}
X	@${INSTALL_DATA} ${WRKSRC}/doc/contrib/${f} ${PREFIX}/share/doc/proftpd
X.endfor
X.endif
X
X.if !defined(WITHOUT_PAM)
X	@${CAT} ${PKGMESSAGE}
X.endif
X
X.if defined(WITH_CTRLS)
X	@${INSTALL_PROGRAM} ${WRKSRC}/ftpdctl ${PREFIX}/sbin/ftpdctl
X	@${INSTALL_MAN} ${WRKSRC}/src/ftpdctl.8 ${PREFIX}/man/man8/ftpdctl.8
X.endif
X
X.include <bsd.port.post.mk>
SHAR_END
echo x proftpd/distinfo
sed 's/^X//' > proftpd/distinfo << 'SHAR_END'
XMD5 (proftpd-1.3.1rc1.tar.bz2) = 08f4d526b46c84f10e9634d2d913052c
XSHA256 (proftpd-1.3.1rc1.tar.bz2) = 
32cf852535c2ec55c5833c2766cbd0c6aba950ab2967565606e1df334736a766
XSIZE (proftpd-1.3.1rc1.tar.bz2) = 1484138
SHAR_END
echo x proftpd/pkg-descr
sed 's/^X//' > proftpd/pkg-descr << 'SHAR_END'
XProFTPD is a highly configurable ftp daemon for unix
Xand unix-like operating systems. ProFTPD is designed
Xto be somewhat of a "drop-in" replacement for wu-ftpd
Xwith a configuration format like Apache.
X
XFull online documentation is available at
Xhttp://www.proftpd.org/, including a server
Xconfiguration directive reference manual.
X
X- Stephane Legrand
Xstephane@lituus.fr
X
XWWW: http://www.proftpd.org/
SHAR_END
echo x proftpd/pkg-message
sed 's/^X//' > proftpd/pkg-message << 'SHAR_END'
X###
XMake sure you have the following lines in your PAM configuration file
Xso that ProFTPd's PAM module can authenticate users correctly.
X
Xftpd auth    required    pam_unix.so         try_first_pass
Xftpd account required    pam_unix.so         try_first_pass
Xftpd session required    pam_permit.so
X###
SHAR_END
echo x proftpd/pkg-plist
sed 's/^X//' > proftpd/pkg-plist << 'SHAR_END'
Xbin/ftpcount
Xbin/ftpdctl
Xbin/ftptop
Xbin/ftpwho
Xetc/proftpd.conf
Xetc/rc.d/proftpd
Xinclude/proftpd/auth.h
Xinclude/proftpd/bindings.h
Xinclude/proftpd/buildstamp.h
Xinclude/proftpd/child.h
Xinclude/proftpd/class.h
Xinclude/proftpd/compat.h
Xinclude/proftpd/conf.h
Xinclude/proftpd/config.h
Xinclude/proftpd/ctrls.h
Xinclude/proftpd/data.h
Xinclude/proftpd/default_paths.h
Xinclude/proftpd/dirtree.h
Xinclude/proftpd/display.h
Xinclude/proftpd/event.h
Xinclude/proftpd/feat.h
Xinclude/proftpd/fsio.h
Xinclude/proftpd/ftp.h
Xinclude/proftpd/glibc-glob.h
Xinclude/proftpd/help.h
Xinclude/proftpd/ident.h
Xinclude/proftpd/inet.h
Xinclude/proftpd/lastlog.h
Xinclude/proftpd/libsupp.h
Xinclude/proftpd/log.h
Xinclude/proftpd/mkhome.h
Xinclude/proftpd/mod_ctrls.h
Xinclude/proftpd/mod_wrap2.h
Xinclude/proftpd/modules.h
Xinclude/proftpd/netacl.h
Xinclude/proftpd/netaddr.h
Xinclude/proftpd/netio.h
Xinclude/proftpd/options.h
Xinclude/proftpd/parser.h
Xinclude/proftpd/pool.h
Xinclude/proftpd/pr-syslog.h
Xinclude/proftpd/privs.h
Xinclude/proftpd/proftpd.h
Xinclude/proftpd/regexp.h
Xinclude/proftpd/response.h
Xinclude/proftpd/scoreboard.h
Xinclude/proftpd/sets.h
Xinclude/proftpd/support.h
Xinclude/proftpd/table.h
Xinclude/proftpd/timers.h
Xinclude/proftpd/trace.h
Xinclude/proftpd/utf8.h
Xinclude/proftpd/var.h
Xinclude/proftpd/version.h
Xinclude/proftpd/xferlog.h
Xsbin/ftpshut
Xsbin/in.proftpd
Xsbin/proftpd
X@unexec if cmp -s %D/etc/proftpd.conf %D/%%EXAMPLESDIR%%/etc/proftpd.conf; 
then rm -f %D/etc/proftpd.conf; fi
X%%EXAMPLESDIR%%/etc/proftpd.conf
X@exec if [ ! -f %D/etc/proftpd.conf ] ; then cp -p %D/%F %B/proftpd.conf; fi
X@dirrm %%EXAMPLESDIR%%/etc
X@dirrm %%EXAMPLESDIR%%
SHAR_END
echo x proftpd/files/patch-ah
sed 's/^X//' > proftpd/files/patch-ah << 'SHAR_END'
X--- modules/mod_auth_unix.c.orig	Thu May 13 23:40:18 2004
X+++ modules/mod_auth_unix.c	Thu May 13 23:40:27 2004
X@@ -57,6 +57,7 @@
X #endif /* HAVE_HPSECURITY_H or HPUX10 or HPUX11 */
X 
X #if defined(HAVE_PROT_H) || defined(COMSEC)
X+# include <krb.h>
X # include <prot.h>
X #endif
X 
SHAR_END
echo x proftpd/files/patch-contrib::mod_sql_mysql.c
sed 's/^X//' > proftpd/files/patch-contrib::mod_sql_mysql.c << 'SHAR_END'
X--- contrib/mod_sql_mysql.c.orig	Tue Dec 12 19:52:15 2006
X+++ contrib/mod_sql_mysql.c	Tue Dec 12 20:02:56 2006
X@@ -135,7 +135,7 @@
X #include "conf.h"
X #include "../contrib/mod_sql.h"
X 
X-#include <mysql.h>
X+#include <mysql/mysql.h>
X 
X /* 
X  * timer-handling code adds the need for a couple of forward declarations
SHAR_END
echo x proftpd/files/patch-doc::Configuration.html
sed 's/^X//' > proftpd/files/patch-doc::Configuration.html << 'SHAR_END'
X--- ./doc/Configuration.html.orig	Wed Jan 29 12:27:24 2003
X+++ ./doc/Configuration.html	Sat Mar 15 11:34:14 2003
X@@ -4226,7 +4226,7 @@
X ></DT
X ><DD
X ><P
X->ftp</P
X+>ftpd</P
X ></DD
X ><DT
X ><PRE
X@@ -32252,4 +32252,4 @@
X ></DIV
X ></BODY
X ></HTML
X->
X\ No newline at end of file
X+>
SHAR_END
echo x proftpd/files/patch-module::mod_auth_pam.c
sed 's/^X//' > proftpd/files/patch-module::mod_auth_pam.c << 'SHAR_END'
X--- ./modules/mod_auth_pam.c.orig	Thu Jan  2 13:25:20 2003
X+++ ./modules/mod_auth_pam.c	Sat Mar 15 11:35:00 2003
X@@ -57,7 +57,7 @@
X #endif /* HAVE_PAM_PAM_APPL_H */
X 
X static pam_handle_t *	pamh			= NULL;
X-static char *		pamconfig		= "ftp";
X+static char *		pamconfig		= "ftpd";
X static char *		pam_user 		= NULL;
X static char *		pam_pass 		= NULL;
X static size_t		pam_user_len		= 0;
SHAR_END
echo x proftpd/files/patch-sample-configurations_basic.conf
sed 's/^X//' > proftpd/files/patch-sample-configurations_basic.conf 
<< 'SHAR_END'
X--- sample-configurations/basic.conf.orig	Thu Apr 15 19:46:38 2004
X+++ sample-configurations/basic.conf	Wed Nov 15 19:14:36 2006
X@@ -1,3 +1,7 @@
X+#
X+# To have more informations about Proftpd configuration
X+# look at : http://www.proftpd.org/
X+#
X # This is a basic ProFTPD configuration file (rename it to 
X # 'proftpd.conf' for actual use.  It establishes a single server
X # and a single anonymous login.  It assumes that you have a user/group
X@@ -6,6 +10,7 @@
X ServerName			"ProFTPD Default Installation"
X ServerType			standalone
X DefaultServer			on
X+ScoreboardFile			/var/run/proftpd.scoreboard
X 
X # Port 21 is the standard FTP port.
X Port				21
X@@ -22,6 +27,8 @@
X # (such as xinetd).
X MaxInstances			30
X 
X+CommandBufferSize		512
X+
X # Set the user and group under which the server will run.
X User				nobody
X Group				nogroup
X@@ -40,23 +47,29 @@
X 
X # A basic anonymous configuration, no upload directories.  If you do not
X # want anonymous users, simply delete this entire <Anonymous> section.
X-<Anonymous ~ftp>
X-  User				ftp
X-  Group				ftp
X-
X-  # We want clients to be able to login with "anonymous" as well as "ftp"
X-  UserAlias			anonymous ftp
X-
X-  # Limit the maximum number of anonymous logins
X-  MaxClients			10
X-
X-  # We want 'welcome.msg' displayed at login, and '.message' displayed
X-  # in each newly chdired directory.
X-  DisplayLogin			welcome.msg
X-  DisplayFirstChdir		.message
X-
X-  # Limit WRITE everywhere in the anonymous chroot
X-  <Limit WRITE>
X-    DenyAll
X-  </Limit>
X-</Anonymous>
X+#########################################################################
X+#                                                                       #
X+# Uncomment lines with only one # to allow basic anonymous access       #
X+#                                                                       #
X+#########################################################################
X+
X+#<Anonymous ~ftp>
X+#   User				ftp
X+#   Group				ftp
X+
X+  ### We want clients to be able to login with "anonymous" as well as "ftp"
X+  # UserAlias			anonymous ftp
X+
X+  ### Limit the maximum number of anonymous logins
X+  # MaxClients			10
X+
X+  ### We want 'welcome.msg' displayed at login, and '.message' displayed
X+  ### in each newly chdired directory.
X+  # DisplayLogin			welcome.msg
X+  # DisplayFirstChdir		.message
X+
X+  ### Limit WRITE everywhere in the anonymous chroot
X+  # <Limit WRITE>
X+  #   DenyAll
X+  # </Limit>
X+#</Anonymous>
SHAR_END
echo x proftpd/files/patch-src_proftpd.8.in
sed 's/^X//' > proftpd/files/patch-src_proftpd.8.in << 'SHAR_END'
X--- src/proftpd.8.in.orig	Sat Sep 18 07:40:30 2004
X+++ src/proftpd.8.in	Thu Nov  3 15:35:56 2005
X@@ -22,6 +22,12 @@
X connection to the FTP service is made, or alternatively it can be run as a
X standalone daemon.
X .PP
X+.br
X+Each successful and failed ftp(1) session is logged using syslog with a
X+facility of LOG_FTP.  Note: LOG_FTP messages are not displayed
X+by syslogd(8) by default, and may have to be enabled in syslogd(8)'s 
X+configuration file.
X+.PP
X When
X .B proftpd
X is run in standalone mode and it receives a SIGHUP then it will reread its
SHAR_END
echo x proftpd/files/proftpd.sh.in
sed 's/^X//' > proftpd/files/proftpd.sh.in << 'SHAR_END'
X#!/bin/sh
X#
X# $FreeBSD: ports/ftp/proftpd/files/proftpd.sh.in,v 1.3 2006/02/20 20:47:00 
dougb Exp $
X#
X
X# PROVIDE: proftpd
X# REQUIRE: DAEMON
X# BEFORE: LOGIN
X# KEYWORD: shutdown
X
X#
X# Add the following lines to /etc/rc.conf to enable proftpd:
X#
X#proftpd_enable="YES"
X#
X# See proftpd(8) for flags
X#
X
X. %%RC_SUBR%%
X
Xname=proftpd
Xrcvar=`set_rcvar`
X
Xcommand=%%PREFIX%%/sbin/proftpd
Xpidfile=/var/run/proftpd.pid
Xrequired_files=%%PREFIX%%/etc/proftpd.conf
X
Xstop_postcmd=stop_postcmd
X
Xstop_postcmd()
X{
X  rm -f $pidfile
X}
X
X# set defaults
X
Xproftpd_enable=${proftpd_enable:-"NO"}
Xproftpd_flags=${proftpd_flags:-""}
X
Xextra_commands="reload"
X
Xload_rc_config $name
Xrun_rc_command "$1"
SHAR_END
echo x proftpd/files/extra_patch-ldap-tls-mod_ldap.c
sed 's/^X//' > proftpd/files/extra_patch-ldap-tls-mod_ldap.c << 'SHAR_END'
X--- contrib/mod_ldap.c.orig	Thu Oct 19 18:18:07 2006
X+++ contrib/mod_ldap.c	Fri Dec 15 11:01:21 2006
X@@ -60,7 +60,7 @@
X  * after connecting to the LDAP server. If TLS cannot be enabled, the LDAP
X  * connection will fail.
X  */
X-/* #define USE_LDAP_TLS */
X+#define USE_LDAP_TLS */
X 
X /*
X  * If you have to edit anything below this line, it's a bug. Report it
SHAR_END
echo x proftpd/files/patch-utf8.c
sed 's/^X//' > proftpd/files/patch-utf8.c << 'SHAR_END'
X--- src/utf8.c.orig	Wed Jun 14 15:33:19 2006
X+++ src/utf8.c	Wed Dec 13 08:40:35 2006
X@@ -23,7 +23,7 @@
X  */
X 
X /* UTF8 encoding/decoding
X- * $Id: utf8.c,v 1.3 2006/06/14 23:33:19 castaglia Exp $
X+ * $Id: utf8.c,v 1.4 2006/12/13 17:40:35 castaglia Exp $
X  */
X 
X #include "conf.h"
X@@ -38,12 +38,13 @@
X # include <langinfo.h>
X #endif
X 
X+#ifdef HAVE_ICONV_H
X static iconv_t decode_conv = (iconv_t) -1;
X static iconv_t encode_conv = (iconv_t) -1;
X 
X static int utf8_convert(iconv_t conv, char *inbuf, size_t *inbuflen,
X     char *outbuf, size_t *outbuflen) {
X-#ifdef HAVE_ICONV
X+# ifdef HAVE_ICONV
X   char *start = inbuf;
X 
X   while (inbuflen > 0) {
X@@ -61,14 +62,14 @@
X     break;
X   }
X   return 0;
X-#else
X+# else
X   errno = ENOSYS;
X   return -1;
X-#endif /* HAVE_ICONV */
X+# endif /* HAVE_ICONV */
X }
X 
X int utf8_free(void) {
X-#ifdef HAVE_ICONV
X+# ifdef HAVE_ICONV
X   int res;
X 
X   /* Close the iconv handles. */
X@@ -81,10 +82,10 @@
X     return -1;
X 
X   return 0;
X-#else
X+# else
X   errno = ENOSYS;
X   return -1;
X-#endif
X+# endif
X }
X 
X int utf8_init(void) {
X@@ -111,7 +112,7 @@
X     "conversion");
X #endif /* HAVE_NL_LANGINFO */
X 
X-#ifdef HAVE_ICONV
X+# ifdef HAVE_ICONV
X   /* Get the iconv handles. */
X   encode_conv = iconv_open(local_charset, "UTF-8");
X   if (encode_conv == (iconv_t) -1)
X@@ -122,13 +123,15 @@
X     return -1;
X 
X   return 0;
X-#else
X+# else
X   errno = ENOSYS;
X   return -1;
X-#endif /* HAVE_ICONV */
X+# endif /* HAVE_ICONV */
X }
X+#endif /* !HAVE_ICONV_H */
X 
X char *pr_utf8_decode(pool *p, const char *in, size_t inlen, size_t *outlen) 
{
X+#ifdef HAVE_ICONV_H
X   size_t inbuflen, outbuflen;
X   char *inbuf, outbuf[PR_TUNABLE_PATH_MAX*2], *res = NULL;
X 
X@@ -156,9 +159,14 @@
X   memcpy(res, outbuf, *outlen);
X 
X   return res;
X+#else
X+  pr_trace_msg("utf8", 1, "missing iconv support, no UTF8 decoding 
possible");
X+  return pstrdup(p, in);
X+#endif /* !HAVE_ICONV_H */
X }
X 
X char *pr_utf8_encode(pool *p, const char *in, size_t inlen, size_t *outlen) 
{
X+#ifdef HAVE_ICONV_H
X   size_t inbuflen, outbuflen;
X   char *inbuf, outbuf[PR_TUNABLE_PATH_MAX*2], *res;
X 
X@@ -186,6 +194,10 @@
X   memcpy(res, outbuf, *outlen);
X 
X   return res;
X+#else
X+  pr_trace_msg("utf8", 1, "missing iconv support, no UTF8 encoding 
possible");
X+  return pstrdup(p, in);
X+#endif /* !HAVE_ICONV_H */
X }
X 
X #endif /* PR_USE_NLS */
SHAR_END
exit
Comment 4 Beech Rintoul 2006-12-18 17:19:40 UTC
I sent you an email yesterday with a shar file of the complete port. I fixed
the pkg-plist so it now removes all files. I don't know why 4.x shows up as
not finding a patch, they're all there. I'm not seeing that here.

#!/bin/sh
# This is a shell archive
echo x proftpd
mkdir -p proftpd > /dev/null 2>&1
echo x proftpd/files
mkdir -p proftpd/files > /dev/null 2>&1
echo x proftpd/Makefile
sed 's/^X//' > proftpd/Makefile << 'SHAR_END'
X# New ports collection makefile for:	proftpd
X# Date created:		26 January 1998
X# Whom:			Stephane Legrand
X#
X# $FreeBSD: ports/ftp/proftpd/Makefile,v 1.93 2006/12/12 16:08:09 delphij Exp $
X#
X
XPORTNAME=	proftpd
XDISTVERSION=	1.3.1rc1
XPORTREVISION=
XCATEGORIES=	ftp
XMASTER_SITES=	ftp://ftp.proftpd.org/distrib/source/ \
X		ftp://ftp.fastorama.com/mirrors/ftp.proftpd.org/distrib/source/ \
X		ftp://ftp.dataguard.no/ftp/pub/proftpd/distrib/source/ \
X		ftp://spirit.bentel.sk/mirrors/Proftpd/distrib/source/ \
X		ftp://proftpd.networkedsystems.co.uk/distrib/source/ \
X		ftp://ftp.ethereal.com/mirrors/ftp.proftpd.org/distrib/source/ \
X		ftp://mirror.cybercomm.nl/pub/proftpd/distrib/source/
X
XMAINTAINER?=	beech@alaskaparadise.com
XCOMMENT?=	Highly configurable ftp daemon
X
XMAN1=	ftpcount.1 ftpwho.1 ftptop.1
XMAN5=	xferlog.5
XMAN8=	proftpd.8 ftpshut.8 ftpdctl.8
X
XPORTDOCSdoc=	Configuration.html faq.html
XPORTDOCScontrib=mod_ifsession.html mod_radius.html mod_rewrite.html \
X		mod_tls.html mod_wrap2.html mod_wrap2_file.html mod_wrap2_sql.html \
X		mod_ban.html mod_quotatab_radius.html ftpasswd.html
XPORTDOCS=	${PORTDOCSdoc} ${PORTDOCScontrib}
X
XUSE_GMAKE=	yes
XUSE_BZIP2=	yes
XGNU_CONFIGURE=yes
X
XUSE_RC_SUBR=	proftpd.sh
X
XCONFIGURE_ARGS=	--localstatedir=/var/run \
X		--sysconfdir=${EXAMPLESDIR}/etc \
X		--disable-sendfile
X
XOPTIONS=	IPV6 "Use IPv6" off \
X		LDAP "Use LDAP" off \
X		LDAP_TLS "Use LDAP TLS (Requires LDAP)" off\
X		MYSQL "Use MySQL" off \
X		POSTGRESQL "Use Postgres" off \
X		OPENSSL "Include mod_tls" off \
X		QUOTA "Include mod_quota" off \
X		IFSESSION "Include mod_ifsession" on \
X		README "Include mod_readme" on \
X		RATIO "Include mod_ratio" on \
X		CTRLS "include controls" off \
X		REWRITE "Include mod_rewrite" on \
X		WRAP "Include mod_wrap2" on \
X		WRAP_FILE "include mod_wrap2_file" off \
X		WRAP_SQL "include mod_wrap2_sql" off \
X		LANG "include mod_lang" off \
X		RADIUS "Include mod_radius" off \
X		QUOTATAB_RADIUS "include mod_quotatab_radius" off \
X		BAN "include mod_ban (Requires CTRLS)" off \
X		NLS "Use nls" off
X
XMODULES?=
X
X.include <bsd.port.pre.mk>
X
X.if ${OSVERSION} < 500000
XCONFIGURE_ARGS+=	--without-getopt
XUSE_AUTOTOOLS=	autoconf:259
X.endif
X
X.if !defined(WITHOUT_RATIO)
XMODULES:=${MODULES}:mod_ratio
X.endif
X
X.if !defined(WITHOUT_README)
XMODULES:=${MODULES}:mod_readme
X.endif
X
X.if !defined(WITHOUT_REWRITE)
XMODULES:=${MODULES}:mod_rewrite
X.endif
X
X.if !defined(WITHOUT_WRAP)
XMODULES:=${MODULES}:mod_wrap2
XINCLUDEDIRS:=${INCLUDEDIRS}:${WORKDIR}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
X.endif
X
X.if defined(WITH_WRAP_FILE)
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
XMODULES:=${MODULES}:mod_wrap2_file
X.endif
X
X.if defined(WITH_WRAP_SQL)
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
XMODULES:=${MODULES}:mod_wrap2_sql
X.endif
X
X.if defined(WITH_RADIUS)
XMODULES:=${MODULES}:mod_radius
X.endif
X
X.if defined(WITH_QUOTATAB_RADIUS)
XMODULES:=${MODULES}:mod_quotatab_radius
X.endif
X
X.if defined(WITH_LANG)
XMODULES:=${MODULES}:mod_lang
X.endif
X
X.if defined(WITH_BAN)
XMODULES:=${MODULES}:mod_ban
X.endif
X
X.if defined(WITH_SETPASSENT)
XCONFIGURE_ARGS+=	--enable-force-setpassent
X.endif
X
X.if defined(WITHOUT_PAM)
XCONFIGURE_ARGS+=	--disable-auth-pam
X.endif
X
X.if defined(WITH_IPV6)
XCONFIGURE_ARGS+=	--enable-ipv6
X.endif
X
X.if !defined(WITH_IPV6)
XCONFIGURE_ARGS+=	--disable-ipv6
X.endif
X
X.if defined(WITH_NLS)
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
XCONFIGURE_ARGS+=	--enable-nls
X.endif
X
X#allow user to override
XMODULES?=	mod_ratio:mod_readme:mod_rewrite:mod_wrap:mod_ifsession
X
XINCLUDEDIRS?=
XLIBDIRS?=
X
X.if defined(WITH_LDAP)
XUSE_OPENLDAP=	yes
XMODULES:=${MODULES}:mod_ldap
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
X.endif
X
X.if defined(WITH_MYSQL)
XUSE_MYSQL=	yes
XMODULES:=${MODULES}:mod_sql:mod_sql_mysql
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib/mysql
X.endif
X
X.if defined(WITH_POSTGRESQL)
XUSE_PGSQL=	yes
XMODULES:=${MODULES}:mod_sql:mod_sql_postgres
XINCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
XLIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
X.endif
X
X.if defined(WITH_OPENSSL)
XCFLAGS+=	-DHAVE_OPENSSL
X.include <${PORTSDIR}/Mk/bsd.openssl.mk>
XPROFTPD_LIBS+=	-lssl -lcrypto -L${LOCALBASE}/lib
XMODULES:=${MODULES}:mod_tls
X.if defined(WITH_LDAP_TLS)
XEXTRA_PATCHES+=	${FILESDIR}/extra_patch-ldap-tls-mod_ldap.c
X.endif
X.endif
X
X.if defined(WITH_CTRLS)
XCONFIGURE_ARGS+=	--enable-ctrls
XPLIST_FILES+=	sbin/ftpdctl
X.if !defined(WITHOUT_CTRLS_ADMIN)
XMODULES:=${MODULES}:mod_ctrls_admin
X.endif
X.endif
X
X.if defined(WITH_QUOTA)
XMODULES:=${MODULES}:mod_quotatab:mod_quotatab_file
X.if defined(WITH_LDAP)
XMODULES:=${MODULES}:mod_quotatab_ldap
X.endif
X.if defined(WITH_POSTGRESQL) || defined(WITH_MYSQL)
XMODULES:=${MODULES}:mod_quotatab_sql
X.endif
X.endif
X
X# mod_ifsession should be the last item in the modules list
X.if !defined(WITHOUT_IFSESSION)
XMODULES:=${MODULES}:mod_ifsession
X.endif
X
X# Keep this here below, in case similar constructs need to be made
XCONFIGURE_ENV+=	"LIBS=${PROFTPD_LIBS}"
X
X.if !empty(MODULES)
XCONFIGURE_ARGS+=	--with-modules=${MODULES}
X.endif
X
X.if !empty(INCLUDEDIRS)
XCONFIGURE_ARGS+=	--with-includes=${INCLUDEDIRS}
X.endif
X
X.if !empty(LIBDIRS)
XCONFIGURE_ARGS+=	--with-libraries=${LIBDIRS}
X.endif
X
XMODULES!=${ECHO} ${MODULES} | ${SED} -e 's,^:,,' -e 's,:$$,,'
X
Xpre-configure:
X	@${ECHO_MSG} "==> Configuring with ${MODULES}"
X
Xpost-configure:
X	${REINPLACE_CMD} -e 's:${EXAMPLESDIR}:${PREFIX}:' ${WRKSRC}/config.h
X	${REINPLACE_CMD} -e 's: -lnsl::' ${WRKSRC}/Make.rules
X	${REINPLACE_CMD} -e 's:/usr/sbin:${PREFIX}/sbin:' \
X		-e 's:/usr/bin:${PREFIX}/bin:' \
X		${WRKSRC}/src/proftpd.8 ${WRKSRC}/utils/ftpshut.8 \
X		${WRKSRC}/utils/ftpcount.1
X
Xpost-install:
X	[ -f ${PREFIX}/etc/proftpd.conf ] || \
X		${CP} ${EXAMPLESDIR}/etc/proftpd.conf ${PREFIX}/etc/proftpd.conf
X
X.if !defined(NOPORTDOCS)
X	@${MKDIR} ${PREFIX}/share/doc/proftpd
X.for f in ${PORTDOCSdoc}
X	@${INSTALL_DATA} ${WRKSRC}/doc/${f} ${PREFIX}/share/doc/proftpd
X.endfor
X.for f in ${PORTDOCScontrib}
X	@${INSTALL_DATA} ${WRKSRC}/doc/contrib/${f} ${PREFIX}/share/doc/proftpd
X.endfor
X.endif
X
X.if !defined(WITHOUT_PAM)
X	@${CAT} ${PKGMESSAGE}
X.endif
X
X.if defined(WITH_CTRLS)
X	@${INSTALL_PROGRAM} ${WRKSRC}/ftpdctl ${PREFIX}/sbin/ftpdctl
X	@${INSTALL_MAN} ${WRKSRC}/src/ftpdctl.8 ${PREFIX}/man/man8/ftpdctl.8
X.endif
X
X.include <bsd.port.post.mk>
SHAR_END
echo x proftpd/distinfo
sed 's/^X//' > proftpd/distinfo << 'SHAR_END'
XMD5 (proftpd-1.3.1rc1.tar.bz2) = 08f4d526b46c84f10e9634d2d913052c
XSHA256 (proftpd-1.3.1rc1.tar.bz2) =
32cf852535c2ec55c5833c2766cbd0c6aba950ab2967565606e1df334736a766
XSIZE (proftpd-1.3.1rc1.tar.bz2) = 1484138
SHAR_END
echo x proftpd/pkg-descr
sed 's/^X//' > proftpd/pkg-descr << 'SHAR_END'
XProFTPD is a highly configurable ftp daemon for unix
Xand unix-like operating systems. ProFTPD is designed
Xto be somewhat of a "drop-in" replacement for wu-ftpd
Xwith a configuration format like Apache.
X
XFull online documentation is available at
Xhttp://www.proftpd.org/, including a server
Xconfiguration directive reference manual.
X
X- Stephane Legrand
Xstephane@lituus.fr
X
XWWW: http://www.proftpd.org/
SHAR_END
echo x proftpd/pkg-message
sed 's/^X//' > proftpd/pkg-message << 'SHAR_END'
X###
XMake sure you have the following lines in your PAM configuration file
Xso that ProFTPd's PAM module can authenticate users correctly.
X
Xftpd auth    required    pam_unix.so         try_first_pass
Xftpd account required    pam_unix.so         try_first_pass
Xftpd session required    pam_permit.so
X###
SHAR_END
echo x proftpd/pkg-plist
sed 's/^X//' > proftpd/pkg-plist << 'SHAR_END'
Xbin/ftpcount
Xbin/ftpdctl
Xbin/ftptop
Xbin/ftpwho
Xetc/proftpd.conf
Xetc/rc.d/proftpd
Xinclude/proftpd/auth.h
Xinclude/proftpd/bindings.h
Xinclude/proftpd/buildstamp.h
Xinclude/proftpd/child.h
Xinclude/proftpd/class.h
Xinclude/proftpd/compat.h
Xinclude/proftpd/conf.h
Xinclude/proftpd/config.h
Xinclude/proftpd/ctrls.h
Xinclude/proftpd/data.h
Xinclude/proftpd/default_paths.h
Xinclude/proftpd/dirtree.h
Xinclude/proftpd/display.h
Xinclude/proftpd/event.h
Xinclude/proftpd/feat.h
Xinclude/proftpd/fsio.h
Xinclude/proftpd/ftp.h
Xinclude/proftpd/glibc-glob.h
Xinclude/proftpd/help.h
Xinclude/proftpd/ident.h
Xinclude/proftpd/inet.h
Xinclude/proftpd/lastlog.h
Xinclude/proftpd/libsupp.h
Xinclude/proftpd/log.h
Xinclude/proftpd/mkhome.h
Xinclude/proftpd/mod_ctrls.h
Xinclude/proftpd/mod_wrap2.h
Xinclude/proftpd/modules.h
Xinclude/proftpd/netacl.h
Xinclude/proftpd/netaddr.h
Xinclude/proftpd/netio.h
Xinclude/proftpd/options.h
Xinclude/proftpd/parser.h
Xinclude/proftpd/pool.h
Xinclude/proftpd/pr-syslog.h
Xinclude/proftpd/privs.h
Xinclude/proftpd/proftpd.h
Xinclude/proftpd/regexp.h
Xinclude/proftpd/response.h
Xinclude/proftpd/scoreboard.h
Xinclude/proftpd/sets.h
Xinclude/proftpd/support.h
Xinclude/proftpd/table.h
Xinclude/proftpd/timers.h
Xinclude/proftpd/trace.h
Xinclude/proftpd/utf8.h
Xinclude/proftpd/var.h
Xinclude/proftpd/version.h
Xinclude/proftpd/xferlog.h
Xsbin/ftpshut
Xsbin/in.proftpd
Xsbin/proftpd
X@unexec if cmp -s %D/etc/proftpd.conf
%D/%%EXAMPLESDIR%%/etc/proftpd.conf; then rm -f %D/etc/proftpd.conf;
fi
X%%EXAMPLESDIR%%/etc/proftpd.conf
X@exec if [ ! -f %D/etc/proftpd.conf ] ; then cp -p %D/%F %B/proftpd.conf; fi
X@dirrm %%EXAMPLESDIR%%/etc
X@dirrm %%EXAMPLESDIR%%
SHAR_END
echo x proftpd/files/patch-ah
sed 's/^X//' > proftpd/files/patch-ah << 'SHAR_END'
X--- modules/mod_auth_unix.c.orig	Thu May 13 23:40:18 2004
X+++ modules/mod_auth_unix.c	Thu May 13 23:40:27 2004
X@@ -57,6 +57,7 @@
X #endif /* HAVE_HPSECURITY_H or HPUX10 or HPUX11 */
X
X #if defined(HAVE_PROT_H) || defined(COMSEC)
X+# include <krb.h>
X # include <prot.h>
X #endif
X
SHAR_END
echo x proftpd/files/patch-contrib::mod_sql_mysql.c
sed 's/^X//' > proftpd/files/patch-contrib::mod_sql_mysql.c << 'SHAR_END'
X--- contrib/mod_sql_mysql.c.orig	Tue Dec 12 19:52:15 2006
X+++ contrib/mod_sql_mysql.c	Tue Dec 12 20:02:56 2006
X@@ -135,7 +135,7 @@
X #include "conf.h"
X #include "../contrib/mod_sql.h"
X
X-#include <mysql.h>
X+#include <mysql/mysql.h>
X
X /*
X  * timer-handling code adds the need for a couple of forward declarations
SHAR_END
echo x proftpd/files/patch-doc::Configuration.html
sed 's/^X//' > proftpd/files/patch-doc::Configuration.html << 'SHAR_END'
X--- ./doc/Configuration.html.orig	Wed Jan 29 12:27:24 2003
X+++ ./doc/Configuration.html	Sat Mar 15 11:34:14 2003
X@@ -4226,7 +4226,7 @@
X ></DT
X ><DD
X ><P
X->ftp</P
X+>ftpd</P
X ></DD
X ><DT
X ><PRE
X@@ -32252,4 +32252,4 @@
X ></DIV
X ></BODY
X ></HTML
X->
X\ No newline at end of file
X+>
SHAR_END
echo x proftpd/files/patch-module::mod_auth_pam.c
sed 's/^X//' > proftpd/files/patch-module::mod_auth_pam.c << 'SHAR_END'
X--- ./modules/mod_auth_pam.c.orig	Thu Jan  2 13:25:20 2003
X+++ ./modules/mod_auth_pam.c	Sat Mar 15 11:35:00 2003
X@@ -57,7 +57,7 @@
X #endif /* HAVE_PAM_PAM_APPL_H */
X
X static pam_handle_t *	pamh			= NULL;
X-static char *		pamconfig		= "ftp";
X+static char *		pamconfig		= "ftpd";
X static char *		pam_user 		= NULL;
X static char *		pam_pass 		= NULL;
X static size_t		pam_user_len		= 0;
SHAR_END
echo x proftpd/files/patch-sample-configurations_basic.conf
sed 's/^X//' > proftpd/files/patch-sample-configurations_basic.conf <<
'SHAR_END'
X--- sample-configurations/basic.conf.orig	Thu Apr 15 19:46:38 2004
X+++ sample-configurations/basic.conf	Wed Nov 15 19:14:36 2006
X@@ -1,3 +1,7 @@
X+#
X+# To have more informations about Proftpd configuration
X+# look at : http://www.proftpd.org/
X+#
X # This is a basic ProFTPD configuration file (rename it to
X # 'proftpd.conf' for actual use.  It establishes a single server
X # and a single anonymous login.  It assumes that you have a user/group
X@@ -6,6 +10,7 @@
X ServerName			"ProFTPD Default Installation"
X ServerType			standalone
X DefaultServer			on
X+ScoreboardFile			/var/run/proftpd.scoreboard
X
X # Port 21 is the standard FTP port.
X Port				21
X@@ -22,6 +27,8 @@
X # (such as xinetd).
X MaxInstances			30
X
X+CommandBufferSize		512
X+
X # Set the user and group under which the server will run.
X User				nobody
X Group				nogroup
X@@ -40,23 +47,29 @@
X
X # A basic anonymous configuration, no upload directories.  If you do not
X # want anonymous users, simply delete this entire <Anonymous> section.
X-<Anonymous ~ftp>
X-  User				ftp
X-  Group				ftp
X-
X-  # We want clients to be able to login with "anonymous" as well as "ftp"
X-  UserAlias			anonymous ftp
X-
X-  # Limit the maximum number of anonymous logins
X-  MaxClients			10
X-
X-  # We want 'welcome.msg' displayed at login, and '.message' displayed
X-  # in each newly chdired directory.
X-  DisplayLogin			welcome.msg
X-  DisplayFirstChdir		.message
X-
X-  # Limit WRITE everywhere in the anonymous chroot
X-  <Limit WRITE>
X-    DenyAll
X-  </Limit>
X-</Anonymous>
X+#########################################################################
X+#                                                                       #
X+# Uncomment lines with only one # to allow basic anonymous access       #
X+#                                                                       #
X+#########################################################################
X+
X+#<Anonymous ~ftp>
X+#   User				ftp
X+#   Group				ftp
X+
X+  ### We want clients to be able to login with "anonymous" as well as "ftp"
X+  # UserAlias			anonymous ftp
X+
X+  ### Limit the maximum number of anonymous logins
X+  # MaxClients			10
X+
X+  ### We want 'welcome.msg' displayed at login, and '.message' displayed
X+  ### in each newly chdired directory.
X+  # DisplayLogin			welcome.msg
X+  # DisplayFirstChdir		.message
X+
X+  ### Limit WRITE everywhere in the anonymous chroot
X+  # <Limit WRITE>
X+  #   DenyAll
X+  # </Limit>
X+#</Anonymous>
SHAR_END
echo x proftpd/files/patch-src_proftpd.8.in
sed 's/^X//' > proftpd/files/patch-src_proftpd.8.in << 'SHAR_END'
X--- src/proftpd.8.in.orig	Sat Sep 18 07:40:30 2004
X+++ src/proftpd.8.in	Thu Nov  3 15:35:56 2005
X@@ -22,6 +22,12 @@
X connection to the FTP service is made, or alternatively it can be run as a
X standalone daemon.
X .PP
X+.br
X+Each successful and failed ftp(1) session is logged using syslog with a
X+facility of LOG_FTP.  Note: LOG_FTP messages are not displayed
X+by syslogd(8) by default, and may have to be enabled in syslogd(8)'s
X+configuration file.
X+.PP
X When
X .B proftpd
X is run in standalone mode and it receives a SIGHUP then it will reread its
SHAR_END
echo x proftpd/files/proftpd.sh.in
sed 's/^X//' > proftpd/files/proftpd.sh.in << 'SHAR_END'
X#!/bin/sh
X#
X# $FreeBSD: ports/ftp/proftpd/files/proftpd.sh.in,v 1.3 2006/02/20
20:47:00 dougb Exp $
X#
X
X# PROVIDE: proftpd
X# REQUIRE: DAEMON
X# BEFORE: LOGIN
X# KEYWORD: shutdown
X
X#
X# Add the following lines to /etc/rc.conf to enable proftpd:
X#
X#proftpd_enable="YES"
X#
X# See proftpd(8) for flags
X#
X
X. %%RC_SUBR%%
X
Xname=proftpd
Xrcvar=`set_rcvar`
X
Xcommand=%%PREFIX%%/sbin/proftpd
Xpidfile=/var/run/proftpd.pid
Xrequired_files=%%PREFIX%%/etc/proftpd.conf
X
Xstop_postcmd=stop_postcmd
X
Xstop_postcmd()
X{
X  rm -f $pidfile
X}
X
X# set defaults
X
Xproftpd_enable=${proftpd_enable:-"NO"}
Xproftpd_flags=${proftpd_flags:-""}
X
Xextra_commands="reload"
X
Xload_rc_config $name
Xrun_rc_command "$1"
SHAR_END
echo x proftpd/files/extra_patch-ldap-tls-mod_ldap.c
sed 's/^X//' > proftpd/files/extra_patch-ldap-tls-mod_ldap.c << 'SHAR_END'
X--- contrib/mod_ldap.c.orig	Thu Oct 19 18:18:07 2006
X+++ contrib/mod_ldap.c	Fri Dec 15 11:01:21 2006
X@@ -60,7 +60,7 @@
X  * after connecting to the LDAP server. If TLS cannot be enabled, the LDAP
X  * connection will fail.
X  */
X-/* #define USE_LDAP_TLS */
X+#define USE_LDAP_TLS */
X
X /*
X  * If you have to edit anything below this line, it's a bug. Report it
SHAR_END
echo x proftpd/files/patch-utf8.c
sed 's/^X//' > proftpd/files/patch-utf8.c << 'SHAR_END'
X--- src/utf8.c.orig	Wed Jun 14 15:33:19 2006
X+++ src/utf8.c	Wed Dec 13 08:40:35 2006
X@@ -23,7 +23,7 @@
X  */
X
X /* UTF8 encoding/decoding
X- * $Id: utf8.c,v 1.3 2006/06/14 23:33:19 castaglia Exp $
X+ * $Id: utf8.c,v 1.4 2006/12/13 17:40:35 castaglia Exp $
X  */
X
X #include "conf.h"
X@@ -38,12 +38,13 @@
X # include <langinfo.h>
X #endif
X
X+#ifdef HAVE_ICONV_H
X static iconv_t decode_conv = (iconv_t) -1;
X static iconv_t encode_conv = (iconv_t) -1;
X
X static int utf8_convert(iconv_t conv, char *inbuf, size_t *inbuflen,
X     char *outbuf, size_t *outbuflen) {
X-#ifdef HAVE_ICONV
X+# ifdef HAVE_ICONV
X   char *start = inbuf;
X
X   while (inbuflen > 0) {
X@@ -61,14 +62,14 @@
X     break;
X   }
X   return 0;
X-#else
X+# else
X   errno = ENOSYS;
X   return -1;
X-#endif /* HAVE_ICONV */
X+# endif /* HAVE_ICONV */
X }
X
X int utf8_free(void) {
X-#ifdef HAVE_ICONV
X+# ifdef HAVE_ICONV
X   int res;
X
X   /* Close the iconv handles. */
X@@ -81,10 +82,10 @@
X     return -1;
X
X   return 0;
X-#else
X+# else
X   errno = ENOSYS;
X   return -1;
X-#endif
X+# endif
X }
X
X int utf8_init(void) {
X@@ -111,7 +112,7 @@
X     "conversion");
X #endif /* HAVE_NL_LANGINFO */
X
X-#ifdef HAVE_ICONV
X+# ifdef HAVE_ICONV
X   /* Get the iconv handles. */
X   encode_conv = iconv_open(local_charset, "UTF-8");
X   if (encode_conv == (iconv_t) -1)
X@@ -122,13 +123,15 @@
X     return -1;
X
X   return 0;
X-#else
X+# else
X   errno = ENOSYS;
X   return -1;
X-#endif /* HAVE_ICONV */
X+# endif /* HAVE_ICONV */
X }
X+#endif /* !HAVE_ICONV_H */
X
X char *pr_utf8_decode(pool *p, const char *in, size_t inlen, size_t *outlen) {
X+#ifdef HAVE_ICONV_H
X   size_t inbuflen, outbuflen;
X   char *inbuf, outbuf[PR_TUNABLE_PATH_MAX*2], *res = NULL;
X
X@@ -156,9 +159,14 @@
X   memcpy(res, outbuf, *outlen);
X
X   return res;
X+#else
X+  pr_trace_msg("utf8", 1, "missing iconv support, no UTF8 decoding possible");
X+  return pstrdup(p, in);
X+#endif /* !HAVE_ICONV_H */
X }
X
X char *pr_utf8_encode(pool *p, const char *in, size_t inlen, size_t *outlen) {
X+#ifdef HAVE_ICONV_H
X   size_t inbuflen, outbuflen;
X   char *inbuf, outbuf[PR_TUNABLE_PATH_MAX*2], *res;
X
X@@ -186,6 +194,10 @@
X   memcpy(res, outbuf, *outlen);
X
X   return res;
X+#else
X+  pr_trace_msg("utf8", 1, "missing iconv support, no UTF8 encoding possible");
X+  return pstrdup(p, in);
X+#endif /* !HAVE_ICONV_H */
X }
X
X #endif /* PR_USE_NLS */
SHAR_END
exit
Comment 5 Martin Wilke freebsd_committer freebsd_triage 2006-12-18 18:13:57 UTC
LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQ0KSGFzaDogU0hBMQ0KDQpPbiBNb24s
IDE4IERlYyAyMDA2IDE3OjUwOjMwIEdNVA0KIkJlZWNoZXIgUmludG91bCIgPGFrYmVlY2hAZ21h
aWwuY29tPiB3cm90ZToNCg0KSGksIA0KDQpZZXMgaSBrbm93LCBidXQgdGhpcyBwYXRjaCB3b3Jr
cyBub3QgY29ycmVjdCBbMV0uIA0KDQo1LlggcGxpc3QgZmFpbGVkIGNvbXBsZXRlbHkNCjYuWCBh
bmQgNy5YIGJyZWFrcyB3aXRoDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj09PT09PT09PT09PT09PT09PT09PHBoYXNl
IDc6IG1ha2UgcGFja2FnZT49PT09PT09PT09PT09PT09PT09PQ0KPT09PiAgQnVpbGRpbmcgcGFj
a2FnZSBmb3IgcHJvZnRwZC0xLjMuMS5yMQ0KQ3JlYXRpbmcgcGFja2FnZSAvdG1wL3BhY2thZ2Vz
L0FsbC9wcm9mdHBkLTEuMy4xLnIxLnRieg0KUmVnaXN0ZXJpbmcgZGVwZW5kczouDQpDcmVhdGlu
ZyBiemlwJ2QgdGFyIGJhbGwgaW4gJy90bXAvcGFja2FnZXMvQWxsL3Byb2Z0cGQtMS4zLjEucjEu
dGJ6Jw0KRGVsZXRpbmcgcHJvZnRwZC0xLjMuMS5yMQ0KcGtnX2RlbGV0ZTogZmlsZSAnL3Vzci9s
b2NhbC9ldGMvcmMuZC9wcm9mdHBkJyBkb2Vzbid0IGV4aXN0DQpwa2dfZGVsZXRlOiBjb3VsZG4n
dCBlbnRpcmVseSBkZWxldGUgcGFja2FnZSAocGVyaGFwcyB0aGUgcGFja2luZyBsaXN0DQppcyBp
bmNvcnJlY3RseSBzcGVjaWZpZWQ/KQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQo9PT0gQ2hlY2tpbmcgZmlsZXN5c3Rl
bSBzdGF0ZQ0KbGlzdCBvZiBleHRyYSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgaW4gLyAobm90IHBy
ZXNlbnQgYmVmb3JlIHRoaXMgcG9ydA0Kd2FzIGluc3RhbGxlZCBidXQgcHJlc2VudCBhZnRlciBp
dCB3YXMgZGVpbnN0YWxsZWQpIDIyNDA0MzkgICAgICAgIDQNCmRyd3hyLXhyLXggICAgMiByb290
ICAgICAgICAgICAgIHdoZWVsICAgICAgICAgICAgICAgIDEwMjQgRGVjIDE4IDE3OjQxDQp1c3Iv
bG9jYWwvaW5jbHVkZS9wcm9mdHBkIERlbGV0aW5nIGdtYWtlLTMuODFfMSBEZWxldGluZw0KZ2V0
dGV4dC0wLjE0LjVfMiBEZWxldGluZyBsaWJpY29udi0xLjkuMl8yDQoNCj09PSBDaGVja2luZyBm
aWxlc3lzdGVtIHN0YXRlIGFmdGVyIGFsbCBwYWNrYWdlcyBkZWxldGVkDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpsaXN0
IG9mIGV4dHJhIGZpbGVzIGFuZCBkaXJlY3RvcmllcyBpbiAvIChub3QgcHJlc2VudCBvbiBjbGVh
biBzeXN0ZW0NCmJ1dCBwcmVzZW50IGFmdGVyIGV2ZXJ5dGhpbmcgd2FzIGRlaW5zdGFsbGVkKSAy
MjQwNDM5ICAgICAgICA0DQpkcnd4ci14ci14ICAgIDIgcm9vdCAgICAgICAgICAgICB3aGVlbCAg
ICAgICAgICAgICAgICAxMDI0IERlYyAxOCAxNzo0MQ0KdXNyL2xvY2FsL2luY2x1ZGUvcHJvZnRw
ZA0KDQpbMV0NCmh0dHA6Ly9taXdpYm94Lm9yZy90Yi9pbmRleC5waHA/YWN0aW9uPWRlc2NyaWJl
X3BvcnQmaWQ9MTEzOQ0KDQoNCi0gLSBNYXJ0aW4NCg0KDQotIC0tIA0KTWFydGluIFdpbGtlCQl8
IGlyYy51bml4ZnJldW5kZS5kZSAjYnNkIA0KbWl3aUBGcmVlQlNELm9yZwl8IG1pd2lAdW5peGZy
ZXVuZGUuZGUNCkZyZWVCU0QgQ29tbWl0dGVyCXwgUG93ZXIgdG8gU2VydmUNCi0tLS0tQkVHSU4g
UEdQIFNJR05BVFVSRS0tLS0tDQpWZXJzaW9uOiBHbnVQRyB2MS40LjUgKEZyZWVCU0QpDQoNCmlE
OERCUUZGaHRwbFByQ0lGcGpXWml3UkFxNEVBSjlNeVhDL2sxMHFQMTQ0VEJjQ2h1R0o5bmwwVmdD
Z3pidTINCkVRZHlZVGlJc0ZoQWFEMmRib3pCWk9VPQ0KPUljcjcNCi0tLS0tRU5EIFBHUCBTSUdO
QVRVUkUtLS0tLQ0K
Comment 6 Martin Wilke freebsd_committer freebsd_triage 2006-12-21 22:13:35 UTC
State Changed
From-To: open->closed

Committed. Thanks!
Comment 7 dfilter service freebsd_committer freebsd_triage 2006-12-21 22:14:23 UTC
miwi        2006-12-21 22:13:41 UTC

  FreeBSD ports repository

  Modified files:
    ftp/proftpd          Makefile distinfo pkg-plist 
    ftp/proftpd/files    extra_patch-ldap-tls-mod_ldap.c 
                         patch-contrib::mod_sql_mysql.c 
  Added files:
    ftp/proftpd/files    patch-utf8.c 
  Removed files:
    ftp/proftpd/files    extra_patch-configure.in patch-main.c 
                         patch-mod_tls.c patch-support.c 
  Log:
  - Update to 1.3.1-rc1
  
  PR:             ports/106821
  Submitted by:   Beech Rintoul <beech@alaskaparadise.com> (maintainer)
  
  Revision  Changes    Path
  1.94      +50 -8     ports/ftp/proftpd/Makefile
  1.36      +3 -3      ports/ftp/proftpd/distinfo
  1.2       +0 -37     ports/ftp/proftpd/files/extra_patch-configure.in (dead)
  1.2       +7 -4      ports/ftp/proftpd/files/extra_patch-ldap-tls-mod_ldap.c
  1.2       +7 -7      ports/ftp/proftpd/files/patch-contrib::mod_sql_mysql.c
  1.3       +0 -46     ports/ftp/proftpd/files/patch-main.c (dead)
  1.2       +0 -38     ports/ftp/proftpd/files/patch-mod_tls.c (dead)
  1.2       +0 -79     ports/ftp/proftpd/files/patch-support.c (dead)
  1.1       +110 -0    ports/ftp/proftpd/files/patch-utf8.c (new)
  1.14      +54 -3     ports/ftp/proftpd/pkg-plist
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"