[svn] r5211 - trunk/rpms/proftpd

packagers at lists.rpmforge.net packagers at lists.rpmforge.net
Sun Feb 25 22:27:46 CET 2007


Author: thias
Date: 2007-02-25 22:27:45 +0100 (Sun, 25 Feb 2007)
New Revision: 5211

Added:
   trunk/rpms/proftpd/proftpd-1.3.0-cmdbufsize.patch
   trunk/rpms/proftpd/proftpd-1.3.0-ctrls-restart.patch
   trunk/rpms/proftpd/proftpd-1.3.0-mod_tls.patch
   trunk/rpms/proftpd/proftpd-1.3.0-rpath.patch
   trunk/rpms/proftpd/proftpd-1.3.0a-ctrls-bug2867.patch
Modified:
   trunk/rpms/proftpd/proftpd-xinetd
   trunk/rpms/proftpd/proftpd.conf
   trunk/rpms/proftpd/proftpd.init
   trunk/rpms/proftpd/proftpd.spec
Log:
Backport proftpd 1.3.0a from Fedora (at last).


Added: trunk/rpms/proftpd/proftpd-1.3.0-cmdbufsize.patch
===================================================================
--- trunk/rpms/proftpd/proftpd-1.3.0-cmdbufsize.patch	                        (rev 0)
+++ trunk/rpms/proftpd/proftpd-1.3.0-cmdbufsize.patch	2007-02-25 21:27:45 UTC (rev 5211)
@@ -0,0 +1,44 @@
+--- proftpd-1.3.0/src/main.c.cmdbufsize	2006-03-15 19:41:01.000000000 +0000
++++ proftpd-1.3.0/src/main.c	2006-11-17 16:53:35.000000000 +0000
+@@ -116,6 +116,8 @@
+ 
+ static char sbuf[PR_TUNABLE_BUFFER_SIZE] = {'\0'};
+ 
++#define PR_DEFAULT_CMD_BUFSZ 512
++
+ static char **Argv = NULL;
+ static char *LastArgv = NULL;
+ static const char *PidPath = PR_PID_FILE_PATH;
+@@ -823,13 +825,26 @@
+       long *buf_size = get_param_ptr(main_server->conf,
+         "CommandBufferSize", FALSE);
+ 
+-      if (buf_size == NULL || *buf_size <= 0)
+-        cmd_buf_size = 512;
++      if (buf_size == NULL) {
++        pr_log_debug(DEBUG1, "no CommandBufferSize size given, "
++          "using default buffer size (%u)", (unsigned int) PR_DEFAULT_CMD_BUFSZ);
++        cmd_buf_size = PR_DEFAULT_CMD_BUFSZ;
++
++      } else if (*buf_size <= 0) {
++	pr_log_pri(PR_LOG_WARNING, "invalid CommandBufferSize size (%ld) "
++          "given, resetting to default buffer size (%u)",
++          *buf_size, (unsigned int) PR_DEFAULT_CMD_BUFSZ);
++        cmd_buf_size = PR_DEFAULT_CMD_BUFSZ;
++
++      } else if (*buf_size + 1 > sizeof(buf)) {
++	pr_log_pri(PR_LOG_WARNING, "invalid CommandBufferSize size (%ld) "
++          "given, resetting to default buffer size (%u)",
++          *buf_size, (unsigned int) PR_DEFAULT_CMD_BUFSZ);
++	cmd_buf_size = PR_DEFAULT_CMD_BUFSZ;
+ 
+-      else if (*buf_size + 1 > sizeof(buf)) {
+-	pr_log_pri(PR_LOG_WARNING, "Invalid CommandBufferSize size given. "
+-          "Resetting to 512.");
+-	cmd_buf_size = 512;
++      } else {
++        pr_log_debug(DEBUG1, "setting CommandBufferSize to %ld", *buf_size);
++        cmd_buf_size = (long) *buf_size;
+       }
+     }
+ 

Added: trunk/rpms/proftpd/proftpd-1.3.0-ctrls-restart.patch
===================================================================
--- trunk/rpms/proftpd/proftpd-1.3.0-ctrls-restart.patch	                        (rev 0)
+++ trunk/rpms/proftpd/proftpd-1.3.0-ctrls-restart.patch	2007-02-25 21:27:45 UTC (rev 5211)
@@ -0,0 +1,104 @@
+Index: modules/mod_ctrls.c
+===================================================================
+RCS file: /cvsroot/proftp/proftpd/modules/mod_ctrls.c,v
+retrieving revision 1.30
+diff -u -r1.30 mod_ctrls.c
+--- modules/mod_ctrls.c	11 Nov 2005 21:05:32 -0000	1.30
++++ modules/mod_ctrls.c	23 May 2006 17:31:51 -0000
+@@ -3,7 +3,7 @@
+  *          server, as well as several utility functions for other Controls
+  *          modules
+  *
+- * Copyright (c) 2000-2005 TJ Saunders
++ * Copyright (c) 2000-2006 TJ Saunders
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -34,7 +34,7 @@
+ #include "privs.h"
+ #include "mod_ctrls.h"
+ 
+-#define MOD_CTRLS_VERSION "mod_ctrls/0.9.3"
++#define MOD_CTRLS_VERSION "mod_ctrls/0.9.4"
+ 
+ /* Master daemon in standalone mode? (from src/main.c) */
+ extern unsigned char is_master;
+@@ -518,7 +518,7 @@
+   } else if (res == PR_LOG_WRITABLE_DIR) {
+     pr_log_pri(PR_LOG_NOTICE, MOD_CTRLS_VERSION
+       ": unable to open ControlsLog '%s': "
+-      "containing directory is world writeable", ctrls_logname);
++      "containing directory is world writable", ctrls_logname);
+ 
+   } else if (res == PR_LOG_SYMLINK) {
+     pr_log_pri(PR_LOG_NOTICE, MOD_CTRLS_VERSION
+@@ -1476,7 +1476,7 @@
+ 
+     if (res == -2)
+       CONF_ERROR(cmd, pstrcat(cmd->tmp_pool,
+-        "unable to log to a world-writeable directory", NULL));
++        "unable to log to a world-writable directory", NULL));
+   }
+ 
+   return HANDLED(cmd);
+@@ -1506,10 +1506,12 @@
+     CONF_ERROR(cmd, "must be an absolute path");
+ 
+   /* Close the socket. */
+-  pr_log_debug(DEBUG3, MOD_CTRLS_VERSION ": closing ctrls socket '%s'",
+-    ctrls_sock_file);
+-  close(ctrls_sockfd);
+-  ctrls_sockfd = -1;
++  if (ctrls_sockfd >= 0) {
++    pr_log_debug(DEBUG3, MOD_CTRLS_VERSION ": closing ctrls socket '%s' (%d)",
++      ctrls_sock_file, ctrls_sockfd);
++    close(ctrls_sockfd);
++    ctrls_sockfd = -1;
++  }
+ 
+   /* Change the path. */
+   if (strcmp(cmd->argv[1], ctrls_sock_file) != 0)
+@@ -1608,9 +1610,28 @@
+   PRIVS_ROOT
+   ctrls_sockfd = ctrls_listen(ctrls_sock_file);
+   PRIVS_RELINQUISH
+-  if (ctrls_sockfd < 0)
++  if (ctrls_sockfd < 0) {
+     pr_log_pri(PR_LOG_NOTICE, "notice: unable to listen to local socket: %s",
+       strerror(errno));
++
++  } else {
++    /* Ensure that the listen socket used is not one of the major three
++     * (stdin, stdout, or stderr).
++     */
++    if (ctrls_sockfd < 3) {
++      if (dup2(ctrls_sockfd, 3) < 0) {
++        pr_log_pri(PR_LOG_NOTICE, MOD_CTRLS_VERSION
++          ": error duplicating listen socket: %s", strerror(errno));
++        (void) close(ctrls_sockfd);
++        ctrls_sockfd = -1;
++
++      } else {
++        (void) close(ctrls_sockfd);
++        ctrls_sockfd = 3;
++      }
++    }
++  }
++
+ }
+ 
+ static void ctrls_restart_ev(const void *event_data, void *user_data) {
+@@ -1633,10 +1654,11 @@
+   cl_list = NULL;
+   cl_listlen = 0;
+ 
+-  pr_log_debug(DEBUG3, MOD_CTRLS_VERSION ": closing ctrls socket '%s'",
+-    ctrls_sock_file);
++  pr_log_debug(DEBUG3, MOD_CTRLS_VERSION ": closing ctrls socket '%s' (%d)",
++    ctrls_sock_file, ctrls_sockfd);
+   close(ctrls_sockfd);
+   ctrls_sockfd = -1;
++
+   ctrls_closelog();
+ 
+   /* Clear the existing pool */

Added: trunk/rpms/proftpd/proftpd-1.3.0-mod_tls.patch
===================================================================
--- trunk/rpms/proftpd/proftpd-1.3.0-mod_tls.patch	                        (rev 0)
+++ trunk/rpms/proftpd/proftpd-1.3.0-mod_tls.patch	2007-02-25 21:27:45 UTC (rev 5211)
@@ -0,0 +1,15 @@
+This is a possible fix Ralf S. Engelschall <rse+openpkg-security at openpkg.org>
+has made myself for the X.509 issue of mod_tls.c
+
+Index: contrib/mod_tls.c
+--- contrib/mod_tls.c.orig      2005-11-08 18:59:49 +0100
++++ contrib/mod_tls.c   2006-11-15 17:54:43 +0100
+@@ -2421,6 +2421,8 @@
+      datalen = BIO_get_mem_data(mem, &data);
+
+   if (data) {
++    if (datalen > sizeof(buf)-1)
++        datalen = sizeof(buf)-1;
+     memset(&buf, '\0', sizeof(buf));
+     memcpy(buf, data, datalen);
+     buf[datalen] = '\0';

Added: trunk/rpms/proftpd/proftpd-1.3.0-rpath.patch
===================================================================
--- trunk/rpms/proftpd/proftpd-1.3.0-rpath.patch	                        (rev 0)
+++ trunk/rpms/proftpd/proftpd-1.3.0-rpath.patch	2007-02-25 21:27:45 UTC (rev 5211)
@@ -0,0 +1,24 @@
+diff -Naupr proftpd-1.3.0.orig/configure proftpd-1.3.0/configure
+--- proftpd-1.3.0.orig/configure	2006-03-09 19:20:04.000000000 +0100
++++ proftpd-1.3.0.orig/configure	2006-03-09 19:20:04.000000000 +0100
+@@ -19660,7 +19660,7 @@ if test "${enable_dso+set}" = set; then
+       ac_build_core_modules="$ac_build_core_modules modules/mod_dso.o"
+       ac_build_addl_includes="$INCLTDL $ac_build_addl_includes"
+ 
+-      MAIN_LDFLAGS="-L\$(top_srcdir)/lib/libltdl -dlopen self -export-dynamic -rpath \$(DESTDIR)\$(sbindir)"
++      MAIN_LDFLAGS="-L\$(top_srcdir)/lib/libltdl -dlopen self -export-dynamic"
+       MAIN_LIBS="\$(LIBLTDL)"
+ 
+       MODULE_LDFLAGS="-avoid-version -export-dynamic -module"
+diff -Naupr proftpd-1.3.0.orig/configure.in proftpd-1.3.0/configure.in
+--- proftpd-1.3.0.orig/configure.in	2006-03-09 19:12:35.000000000 +0100
++++ proftpd-1.3.0.orig/configure.in	2006-03-09 19:12:35.000000000 +0100
+@@ -372,7 +372,7 @@ AC_ARG_ENABLE(dso,
+       ac_build_core_modules="$ac_build_core_modules modules/mod_dso.o"
+       ac_build_addl_includes="$INCLTDL $ac_build_addl_includes"
+ 
+-      MAIN_LDFLAGS="-L\$(top_srcdir)/lib/libltdl -dlopen self -export-dynamic -rpath \$(DESTDIR)\$(sbindir)"
++      MAIN_LDFLAGS="-L\$(top_srcdir)/lib/libltdl -dlopen self -export-dynamic"
+       MAIN_LIBS="\$(LIBLTDL)"
+ 
+       MODULE_LDFLAGS="-avoid-version -export-dynamic -module"

Added: trunk/rpms/proftpd/proftpd-1.3.0a-ctrls-bug2867.patch
===================================================================
--- trunk/rpms/proftpd/proftpd-1.3.0a-ctrls-bug2867.patch	                        (rev 0)
+++ trunk/rpms/proftpd/proftpd-1.3.0a-ctrls-bug2867.patch	2007-02-25 21:27:45 UTC (rev 5211)
@@ -0,0 +1,44 @@
+--- src/ctrls.c	2006/10/24 16:13:31	1.14
++++ src/ctrls.c	2006/12/12 16:34:43	1.15
+@@ -534,11 +534,20 @@
+     return -1;
+   }
+ 
++  if (reqarglen >= sizeof(reqaction)) {
++    pr_signals_unblock();
++    errno = ENOMEM;
++    return -1;
++  }
++
++  memset(reqaction, '\0', sizeof(reqaction));
++
+   if (read(cl->cl_fd, reqaction, reqarglen) < 0) {
+     pr_signals_unblock();
+     return -1;
+   }
+ 
++  reqaction[sizeof(reqaction)-1] = '\0';
+   nreqargs--;
+ 
+   /* Find a matching action object, and use it to populate a ctrl object,
+@@ -657,17 +666,16 @@
+       return -1;
+     }
+ 
+-    memset(response, '\0', sizeof(response));
+-
+     /* Make sure resparglen is not too big */
+-    if (resparglen > sizeof(response)) {
++    if (resparglen >= sizeof(response)) {
+       pr_signals_unblock();
+       errno = ENOMEM;
+       return -1;
+     }
+ 
+-    bread = read(ctrls_sockfd, response, resparglen);
++    memset(response, '\0', sizeof(response));
+ 
++    bread = read(ctrls_sockfd, response, resparglen);
+     while (bread != resparglen) {
+       if (bread < 0) {
+         pr_signals_unblock(); 

Modified: trunk/rpms/proftpd/proftpd-xinetd
===================================================================
--- trunk/rpms/proftpd/proftpd-xinetd	2007-02-25 13:51:14 UTC (rev 5210)
+++ trunk/rpms/proftpd/proftpd-xinetd	2007-02-25 21:27:45 UTC (rev 5211)
@@ -1,5 +1,5 @@
 # default: off
-# $Id: proftpd-xinetd,v 1.1 2004/02/26 17:57:39 thias Exp $
+# $Id: proftpd-xinetd,v 1.2 2002/06/10 15:35:47 dude Exp $
 # description: The ProFTPD FTP server serves FTP connections. It uses \
 #	normal, unencrypted usernames and passwords for authentication.
 service ftp

Modified: trunk/rpms/proftpd/proftpd.conf
===================================================================
--- trunk/rpms/proftpd/proftpd.conf	2007-02-25 13:51:14 UTC (rev 5210)
+++ trunk/rpms/proftpd/proftpd.conf	2007-02-25 21:27:45 UTC (rev 5211)
@@ -58,6 +58,10 @@
 User				nobody
 Group				nobody
 
+# Disable sendfile by default since it breaks displaying the download speeds in
+# ftptop and ftpwho
+UseSendfile			no
+
 # This is where we want to put the pid file
 ScoreboardFile			/var/run/proftpd.score
 
@@ -77,14 +81,22 @@
 # Explained at http://www.castaglia.org/proftpd/modules/mod_tls.html
 #TLSEngine			on
 #TLSRequired			on
-#TLSRSACertificateFile		/usr/share/ssl/certs/proftpd.pem
-#TLSRSACertificateKeyFile	/usr/share/ssl/certs/proftpd.pem
+#TLSRSACertificateFile		/etc/pki/tls/certs/proftpd.pem
+#TLSRSACertificateKeyFile	/etc/pki/tls/certs/proftpd.pem
 #TLSCipherSuite			ALL:!ADH:!DES
 #TLSOptions			NoCertRequest
 #TLSVerifyClient		off
 ##TLSRenegotiate		ctrl 3600 data 512000 required off timeout 300
 #TLSLog				/var/log/proftpd/tls.log
 
+# SQL authentication Dynamic Shared Object (DSO) loading
+# See README.DSO and howto/DSO.html for more details.
+#<IfModule mod_dso.c>
+#   LoadModule mod_sql.c
+#   LoadModule mod_sql_mysql.c
+#   LoadModule mod_sql_postgres.c
+#</IfModule>
+
 # A basic anonymous configuration, with an upload directory.
 #<Anonymous ~ftp>
 #  User				ftp

Modified: trunk/rpms/proftpd/proftpd.init
===================================================================
--- trunk/rpms/proftpd/proftpd.init	2007-02-25 13:51:14 UTC (rev 5210)
+++ trunk/rpms/proftpd/proftpd.init	2007-02-25 21:27:45 UTC (rev 5211)
@@ -32,7 +32,7 @@
 
 start() {
 	echo -n $"Starting $prog: "
-	daemon proftpd
+	daemon proftpd 2>/dev/null
 	RETVAL=$?
 	echo
 	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd

Modified: trunk/rpms/proftpd/proftpd.spec
===================================================================
--- trunk/rpms/proftpd/proftpd.spec	2007-02-25 13:51:14 UTC (rev 5210)
+++ trunk/rpms/proftpd/proftpd.spec	2007-02-25 21:27:45 UTC (rev 5211)
@@ -1,11 +1,10 @@
 # $Id$
-# Authority: matthias
-# Upstream: <proftp-devel$lists,sf,net>
+# Authority
 
 Summary: Flexible, stable and highly-configurable FTP server
 Name: proftpd
-Version: 1.2.10
-Release: 10
+Version: 1.3.0a
+Release: 3
 License: GPL
 Group: System Environment/Daemons
 URL: http://www.proftpd.org/
@@ -16,20 +15,20 @@
 Source4: proftpd.logrotate
 Source5: welcome.msg
 Source6: proftpd.pam
-Patch0: proftpd-1.2.10-backport-CAN-2005-2390.patch
+Patch0: proftpd-1.3.0-rpath.patch
+Patch1: proftpd-1.3.0-ctrls-restart.patch
+Patch2: proftpd-1.3.0-cmdbufsize.patch
+Patch3: proftpd-1.3.0-mod_tls.patch
+Patch4: proftpd-1.3.0a-ctrls-bug2867.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-Requires: pam >= 0.59, /sbin/service, /sbin/chkconfig
-BuildRequires: pam-devel, perl, ncurses-devel, pkgconfig
-%{!?_without_tls:Requires: openssl}
-%{!?_without_tls:BuildRequires: openssl-devel, krb5-devel}
-%{?_with_ldap:Requires: openldap}
-%{?_with_ldap:BuildRequires: openldap-devel}
-%{?_with_mysql:Requires: mysql}
-%{?_with_mysql:BuildRequires: mysql-devel, zlib-devel}
-%{?_with_postgresql:Requires: postgresql-libs}
-%{?_with_postgresql:BuildRequires: postgresql-devel}
+Requires: pam >= 0.59
+Requires(post): /sbin/chkconfig
+Requires(preun): /sbin/service, /sbin/chkconfig
+Requires(postun): /sbin/service
+BuildRequires: pam-devel, ncurses-devel, pkgconfig
+BuildRequires: openssl-devel, krb5-devel, libacl-devel
+BuildRequires: openldap-devel, mysql-devel, zlib-devel, postgresql-devel
 Provides: ftpserver
-Conflicts: wu-ftpd, anonftp, vsftpd
 
 %description
 ProFTPD is an enhanced FTP server with a focus toward simplicity, security,
@@ -41,57 +40,78 @@
 This package defaults to the standalone behaviour of ProFTPD, but all the
 needed scripts to have it run by xinetd instead are included.
 
-Available rpmbuild rebuild options :
---without : tls
---with : ldap mysql postgresql ipv6
 
+%package ldap
+Summary: Module to add LDAP support to the ProFTPD FTP server
+Group: System Environment/Daemons
+Requires: %{name} = %{version}-%{release}
 
+%description ldap
+Module to add LDAP support to the ProFTPD FTP server.
+
+
+%package mysql
+Summary: Module to add MySQL support to the ProFTPD FTP server
+Group: System Environment/Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description mysql
+Module to add MySQL support to the ProFTPD FTP server.
+
+
+%package postgresql
+Summary: Module to add PostgreSQL support to the ProFTPD FTP server
+Group: System Environment/Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description postgresql
+Module to add PostgreSQL support to the ProFTPD FTP server.
+
+
 %prep
 %setup
-%patch0 -p0 -b .CAN-2005-2390
+%patch0 -p1 -b .rpath
+%patch1 -p0 -b .ctrls-restart
+%patch2 -p1 -b .cmdbufsize
+%patch3 -p0 -b .mod_tls
+%patch4 -p0 -b .ctrls-bug2867
 
 
 %build
-# Workaround for the PostgreSQL include file
-%{__perl} -pi -e 's|pgsql/libpq-fe.h|libpq-fe.h|g' contrib/mod_sql_postgres.c
-
 # Disable stripping in order to get useful debuginfo packages
 %{__perl} -pi -e 's|"-s"|""|g' configure
 
-# TLS includes
-OPENSSL_INC=""
-if OPENSSL_CFLAGS=`pkg-config --cflags openssl`; then
-    for i in ${OPENSSL_CFLAGS}; do
-        INCPATH=`echo $i | perl -pi -e 's|-I([a-z/]*)|$1|g'`
-        test ! -z ${INCPATH} && OPENSSL_INC="${OPENSSL_INC}:${INCPATH}"
-    done
-fi
+%configure \
+    --libexecdir="%{_libexecdir}/proftpd" \
+    --localstatedir="%{_var}/run" \
+    --enable-ctrls \
+    --enable-facl \
+    --enable-dso \
+    --enable-ipv6 \
+    --with-libraries="%{_libdir}/mysql" \
+    --with-includes="%{_includedir}/mysql" \
+    --with-modules=mod_readme:mod_auth_pam:mod_tls \
+    --with-shared=mod_ldap:mod_sql:mod_sql_mysql:mod_sql_postgres:mod_quotatab:mod_quotatab_file:mod_quotatab_ldap:mod_quotatab_sql
 
-%configure \
-    --localstatedir="/var/run" \
-    --with-includes="%{_includedir}%{!?_without_tls:${OPENSSL_INC}}%{?_with_mysql::%{_includedir}/mysql}" \
-    %{?_with_ipv6:--enable-ipv6} \
-    %{?_with_mysql:--with-libraries="%{_libdir}/mysql"} \
-    %{?_with_postgresql:--with-libraries="%{_libdir}"} \
-    --with-modules=mod_readme:mod_auth_pam%{?_with_ldap::mod_ldap}%{?_with_mysql::mod_sql:mod_sql_mysql}%{?_with_postgresql::mod_sql:mod_sql_postgres}%{!?_without_tls::mod_tls}
 %{__make} %{?_smp_mflags}
 
 
 %install
 %{__rm} -rf %{buildroot}
-%makeinstall rundir="%{buildroot}%{_localstatedir}/run/proftpd" \
+%{__make} install DESTDIR=%{buildroot} \
+    rundir="%{_var}/run/proftpd" \
     INSTALL_USER=`id -un` \
     INSTALL_GROUP=`id -gn`
-%{__install} -D -p -m 640 %{SOURCE1} \
+%{__install} -D -p -m 0640 %{SOURCE1} \
     %{buildroot}%{_sysconfdir}/proftpd.conf
-%{__install} -D -p -m 755 %{SOURCE2} \
+%{__install} -D -p -m 0755 %{SOURCE2} \
     %{buildroot}%{_sysconfdir}/rc.d/init.d/proftpd
-%{__install} -D -p -m 640 %{SOURCE3} \
+%{__install} -D -p -m 0640 %{SOURCE3} \
     %{buildroot}%{_sysconfdir}/xinetd.d/xproftpd
-%{__install} -D -p -m 644 %{SOURCE4} \
+%{__install} -D -p -m 0644 %{SOURCE4} \
     %{buildroot}%{_sysconfdir}/logrotate.d/proftpd
-%{__install} -D -p -m 644 %{SOURCE5} %{buildroot}/var/ftp/welcome.msg
-%{__install} -D -p -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/pam.d/proftpd
+%{__install} -D -p -m 0644 %{SOURCE5} %{buildroot}/var/ftp/welcome.msg
+%{__install} -D -p -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/pam.d/proftpd
 %{__mkdir_p} %{buildroot}/var/ftp/uploads
 %{__mkdir_p} %{buildroot}/var/ftp/pub
 %{__mkdir_p} %{buildroot}/var/log/proftpd
@@ -103,7 +123,7 @@
 
 
 %post
-if [ $1 = 1 ]; then
+if [ $1 -eq 1 ]; then
     /sbin/chkconfig --add proftpd
     IFS=":"; cat /etc/passwd | \
     while { read username nu nu gid nu nu nu nu; }; do \
@@ -114,12 +134,12 @@
 fi
 
 %preun
-if [ $1 = 0 ]; then
+if [ $1 -eq 0 ]; then
     /sbin/service proftpd stop &>/dev/null || :
     /sbin/chkconfig --del proftpd
     /sbin/service xinetd reload &>/dev/null || :
-    if [ -d /var/run/proftpd ]; then
-        rm -rf /var/run/proftpd/*
+    if [ -d %{_var}/run/proftpd ]; then
+        rm -rf %{_var}/run/proftpd/*
     fi
 fi
 
@@ -137,11 +157,17 @@
 %config(noreplace) %{_sysconfdir}/proftpd.conf
 %config(noreplace) %{_sysconfdir}/xinetd.d/xproftpd
 %config %{_sysconfdir}/ftpusers
-%config %{_sysconfdir}/pam.d/proftpd
-%config %{_sysconfdir}/logrotate.d/proftpd
+%config(noreplace) %{_sysconfdir}/pam.d/proftpd
+%config(noreplace) %{_sysconfdir}/logrotate.d/proftpd
 %{_sysconfdir}/rc.d/init.d/proftpd
 %{_mandir}/*/*
 %{_bindir}/*
+%dir %{_libexecdir}/proftpd/
+%{_libexecdir}/proftpd/mod_quotatab.so
+%{_libexecdir}/proftpd/mod_quotatab_file.so
+%{_libexecdir}/proftpd/mod_sql.so
+%exclude %{_libexecdir}/proftpd/*.a
+%exclude %{_libexecdir}/proftpd/*.la
 %{_sbindir}/*
 %dir /var/ftp/
 %attr(331, ftp, ftp) %dir /var/ftp/uploads/
@@ -149,17 +175,108 @@
 %config(noreplace) /var/ftp/welcome.msg
 %attr(750, root, root) %dir /var/log/proftpd/
 
+%files ldap
+%defattr(-, root, root, 0755)
+%dir %{_libexecdir}/proftpd/
+%{_libexecdir}/proftpd/mod_ldap.so
+%{_libexecdir}/proftpd/mod_quotatab_ldap.so
 
+%files mysql
+%defattr(-, root, root, 0755)
+%dir %{_libexecdir}/proftpd/
+%{_libexecdir}/proftpd/mod_sql_mysql.so
+%{_libexecdir}/proftpd/mod_quotatab_sql.so
+
+%files postgresql
+%defattr(-, root, root, 0755)
+%dir %{_libexecdir}/proftpd/
+%{_libexecdir}/proftpd/mod_sql_postgres.so
+%{_libexecdir}/proftpd/mod_quotatab_sql.so
+
+
 %changelog
-* Thu Feb  9 2006 Matthias Saou <http://freshrpms.net/> 1.2.10-10
-- Fix the default configuration to match the PAM file name change.
+* Tue Feb  6 2007 Matthias Saou <http://freshrpms.net/> 1.3.0a-3
+- Patch to fix local user buffer overflow in controls request handling, rhbz
+  bug #219938, proftpd bug #2867.
 
-* Mon Jan 30 2006 Matthias Saou <http://freshrpms.net/> 1.2.10-9
-- Sync changes from the Fedora Extras package (fixed pam file).
-- Remove extra info from the release tag that caused update problems.
-- Add conditional IPv6 support.
-- Include CAN-2005-2390 patch.
+* Mon Dec 11 2006 Matthias Saou <http://freshrpms.net/> 1.3.0a-2
+- Rebuild against new PostgreSQL.
 
+* Mon Nov 27 2006 Matthias Saou <http://freshrpms.net/> 1.3.0a-1
+- Update to 1.3.0a, which actually fixes CVE-2006-5815... yes, #214820!).
+
+* Thu Nov 16 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-10
+- Fix cmdbufsize patch for missing CommandBufferSize case (#214820 once more).
+
+* Thu Nov 16 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-9
+- Include mod_tls patch (#214820 too).
+
+* Mon Nov 13 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-8
+- Include cmdbufsize patch (#214820).
+
+* Mon Aug 28 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-7
+- FC6 rebuild.
+
+* Mon Aug 21 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-6
+- Add mod_quotatab, _file, _ldap and _sql (#134291).
+
+* Mon Jul  3 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-5
+- Disable sendfile by default since it breaks displaying the download speed in
+  ftptop and ftpwho (#196913).
+
+* Mon Jun 19 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-4
+- Include ctrls restart patch, see #195884 (patch from proftpd.org #2792).
+
+* Wed May 10 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-3
+- Add commented section about DSO loading to the default proftpd.conf.
+- Update TLS cert paths in the default proftpd.conf to /etc/pki/tls.
+
+* Fri Apr 28 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-2
+- Mark pam.d and logrotate.d config files as noreplace.
+- Include patch to remove -rpath to DESTDIR/usr/sbin/ in the proftpd binary
+  when DSO is enabled (#190122).
+
+* Fri Apr 21 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-1
+- Update to 1.3.0 final.
+- Remove no longer needed PostgreSQL and OpenSSL detection workarounds.
+- Remove explicit conflicts on wu-ftpd, anonftp and vsftpd to let people
+  install more than one ftp daemon (what for? hmm...) (#189023).
+- Enable LDAP, MySQL and PostgreSQL as DSOs by default, and stuff them in
+  new sub-packages. This won't introduce any regression since they weren't
+  enabled by default.
+- Remove useless explicit requirements.
+- Rearrange scriplets requirements.
+- Enable ctrls (controls via ftpdctl) and facl (POSIX ACLs).
+- Using --disable-static makes the build fail, so exclude .a files in %%files.
+- Silence harmless IPv6 failure message at startup when IPv6 isn't available.
+
+* Tue Mar  7 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-0.2.rc4
+- Update to 1.3.0rc4 (bugfix release).
+
+* Mon Mar  6 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-0.2.rc3
+- FC5 rebuild.
+
+* Thu Feb  9 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-0.1.rc3
+- Update to 1.3.0rc3, which builds with the latest openssl.
+
+* Thu Nov 17 2005 Matthias Saou <http://freshrpms.net/> 1.2.10-7
+- Rebuild against new openssl library... not.
+
+* Wed Jul 13 2005 Matthias Saou <http://freshrpms.net/> 1.2.10-6
+- The provided pam.d file no longer works, use our own based on the one from
+  the vsftpd package (#163026).
+- Rename the pam.d file we use from 'ftp' to 'proftpd'.
+- Update deprecated AuthPAMAuthoritative in the config file (see README.PAM).
+
+* Tue May 10 2005 Matthias Saou <http://freshrpms.net/> 1.2.10-4
+- Disable stripping in order to get useful debuginfo packages.
+
+* Fri Apr  7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> 1.2.10-3
+- rebuilt
+
+* Tue Nov 16 2004 Matthias Saou <http://freshrpms.net/> 1.2.10-2
+- Bump release to provide Extras upgrade path.
+
 * Wed Sep 22 2004 Matthias Saou <http://freshrpms.net/> 1.2.10-1
 - Updated to release 1.2.10.
 



More information about the svn-commits mailing list