[packages/proftpd] - up to 1.3.9

baggins baggins at pld-linux.org
Sat Oct 18 22:45:38 CEST 2025


commit 3bed614a36989d8775521f36819e76cc82ee8189
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sun Oct 19 00:45:27 2025 +0200

    - up to 1.3.9

 mod_clamav-compat.patch | 77 +++++++++++++++++++++++++++++++++++++++++++++++++
 proftpd-link.patch      | 70 --------------------------------------------
 proftpd.spec            | 14 ++++-----
 3 files changed, 84 insertions(+), 77 deletions(-)
---
diff --git a/proftpd.spec b/proftpd.spec
index 9e77efc..10eb8f4 100644
--- a/proftpd.spec
+++ b/proftpd.spec
@@ -26,13 +26,13 @@ Summary(pl.UTF-8):	PROfesionalny serwer FTP
 Summary(pt_BR.UTF-8):	Servidor FTP profissional, com sintaxe de configuração semelhante à do apache
 Summary(zh_CN.UTF-8):	易于管理的,安全的 FTP 服务器
 Name:		proftpd
-Version:	1.3.8c
+Version:	1.3.9
 Release:	1
 Epoch:		2
 License:	GPL v2+
 Group:		Networking/Daemons
 Source0:	ftp://ftp.proftpd.org/distrib/source/%{name}-%{version}.tar.gz
-# Source0-md5:	790e3d6221eb5a195dde6da5e4f17dff
+# Source0-md5:	760b2bf912e4ac26b5f1aa9d25b440c6
 # https://github.com/jbenden/mod_clamav/releases
 Source1:	https://github.com/jbenden/mod_clamav/archive/v%{mod_clamav_version}/mod_clamav-%{mod_clamav_version}.tar.gz
 # Source1-md5:	7d1e7e33added5a6ce1c4d96ca572167
@@ -52,7 +52,7 @@ Patch0:		%{name}-paths.patch
 Patch1:		%{name}-noautopriv.patch
 Patch2:		%{name}-wtmp.patch
 Patch3:		%{name}-pool.patch
-Patch4:		%{name}-link.patch
+Patch5:		mod_clamav-compat.patch
 URL:		http://www.proftpd.org/
 BuildRequires:	GeoIP-devel
 BuildRequires:	acl-devel
@@ -559,13 +559,14 @@ http://www.proftpd.org/docs/contrib/mod_sftp.html
 %patch -P1 -p1
 %patch -P2 -p1
 %patch -P3 -p1
-%patch -P4 -p1
 
 # mod_clamav
 # no patch as of 0.13
 #patch -p0 < mod_clamav-%{mod_clamav_version}/proftpd.patch || exit 1
 cp -a mod_clamav-%{mod_clamav_version}/*.{c,h} contrib/
 
+%patch -P5 -p1
+
 cp -f /usr/share/automake/config.sub .
 
 # cleanup backups after patching
@@ -700,7 +701,7 @@ ln -sf proftpd $RPM_BUILD_ROOT%{_sbindir}/ftpd
 %{__rm} $RPM_BUILD_ROOT%{_mandir}/ftpusers-path.diff*
 
 # symlink that points to not existing file
-[ ! -r contrib/mod_sftp/confdefs.h ] && rm include/mod_sftp/confdefs.h
+[ ! -r contrib/mod_sftp/confdefs.h ] && %{__rm} -f include/mod_sftp/confdefs.h
 
 cp -aL include/* config.h $RPM_BUILD_ROOT%{_includedir}/%{name}
 
@@ -808,7 +809,7 @@ fi
 
 %files common -f %{name}.lang
 %defattr(644,root,root,755)
-%doc CREDITS ChangeLog NEWS README.md README.modules RELEASE_NOTES
+%doc CREDITS ChangeLog NEWS README.md RELEASE_NOTES
 %doc doc/{*.html,contrib,howto,modules} sample-configurations/*.conf
 %dir %attr(750,root,ftp) %dir %{_sysconfdir}
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/proftpd.conf
@@ -890,7 +891,6 @@ fi
 %if %{with ldap}
 %files mod_ldap
 %defattr(644,root,root,755)
-%doc README.LDAP
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ldap.conf
 %attr(755,root,root) %{_libexecdir}/mod_ldap.so
 %endif
diff --git a/mod_clamav-compat.patch b/mod_clamav-compat.patch
new file mode 100644
index 0000000..4f44158
--- /dev/null
+++ b/mod_clamav-compat.patch
@@ -0,0 +1,77 @@
+--- proftpd-1.3.9/contrib/mod_clamav.c~	2025-10-19 00:25:33.000000000 +0200
++++ proftpd-1.3.9/contrib/mod_clamav.c	2025-10-19 00:28:59.346661444 +0200
+@@ -239,7 +239,7 @@
+   buf = malloc(bufsz);
+   if (!buf) {
+     pr_log_pri(PR_LOG_CRIT, "Out of memory!");
+-    end_login(1);
++    pr_session_end(1);
+   }
+ 
+   /* send file contents using protocol defined by Clamd */
+@@ -659,18 +659,18 @@
+  * Configuration setter: ClamAV
+  */
+ MODRET set_clamav(cmd_rec *cmd) {
+-  int bool = -1;
++  int boolean = -1;
+   config_rec *c = NULL;
+ 
+   CHECK_ARGS(cmd, 1);
+   CHECK_CONF(cmd, CONF_ROOT|CONF_LIMIT|CONF_VIRTUAL|CONF_GLOBAL|CONF_DIR);
+ 
+-  if ((bool = get_boolean(cmd,1)) == -1)
++  if ((boolean = get_boolean(cmd,1)) == -1)
+     CONF_ERROR(cmd, "expected Boolean parameter");
+ 
+   c = add_config_param(cmd->argv[0], 1, NULL);
+   c->argv[0] = pcalloc(c->pool, sizeof(unsigned char));
+-  *((unsigned char *) c->argv[0]) = bool;
++  *((unsigned char *) c->argv[0]) = boolean;
+   c->flags |= CF_MERGEDOWN;
+ 
+   return PR_HANDLED(cmd);
+@@ -680,18 +680,18 @@
+  * Configuration setter: ClamStream
+  */
+ MODRET set_clamstream(cmd_rec *cmd) {
+-  int bool = -1;
++  int boolean = -1;
+   config_rec *c = NULL;
+ 
+   CHECK_ARGS(cmd, 1);
+   CHECK_CONF(cmd, CONF_ROOT|CONF_LIMIT|CONF_VIRTUAL|CONF_GLOBAL|CONF_DIR);
+ 
+-  if ((bool = get_boolean(cmd,1)) == -1)
++  if ((boolean = get_boolean(cmd,1)) == -1)
+     CONF_ERROR(cmd, "expected Boolean parameter");
+ 
+   c = add_config_param(cmd->argv[0], 1, NULL);
+   c->argv[0] = pcalloc(c->pool, sizeof(unsigned char));
+-  *((unsigned char *) c->argv[0]) = bool;
++  *((unsigned char *) c->argv[0]) = boolean;
+   c->flags |= CF_MERGEDOWN;
+ 
+   return PR_HANDLED(cmd);
+@@ -701,18 +701,18 @@
+  * Configuration setter: ClamFailsafe
+  */
+ MODRET set_clamfailsafe(cmd_rec *cmd) {
+-  int bool = -1;
++  int boolean = -1;
+   config_rec *c = NULL;
+ 
+   CHECK_ARGS(cmd, 1);
+   CHECK_CONF(cmd, CONF_ROOT|CONF_LIMIT|CONF_VIRTUAL|CONF_GLOBAL|CONF_DIR);
+ 
+-  if ((bool = get_boolean(cmd, 1)) == -1)
++  if ((boolean = get_boolean(cmd, 1)) == -1)
+     CONF_ERROR(cmd, "expected Boolean parameter");
+ 
+   c = add_config_param(cmd->argv[0], 1, NULL);
+   c->argv[0] = pcalloc(c->pool, sizeof(unsigned char));
+-  *((unsigned char *) c->argv[0]) = bool;
++  *((unsigned char *) c->argv[0]) = boolean;
+   c->flags |= CF_MERGEDOWN;
+ 
+   return PR_HANDLED(cmd);
diff --git a/proftpd-link.patch b/proftpd-link.patch
deleted file mode 100644
index 1a2a411..0000000
--- a/proftpd-link.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-With -Werror=implicit-function-declaration prototypes must exist.
-
-mod_wrap doesn't need -lnsl (it's dependency of libwrap on some systems).
-
---- proftpd-1.3.7a/configure.in.orig	2020-08-30 11:46:50.771847975 +0200
-+++ proftpd-1.3.7a/configure.in	2020-08-30 12:26:24.125657081 +0200
-@@ -1367,7 +1367,10 @@
- 
- dnl Checks for libraries.  Yes, this is the hard way, but it's necessary.
- AC_CACHE_CHECK(for standalone crypt,pr_cv_lib_standalone_crypt,
--  AC_TRY_LINK(,[crypt();],
-+  AC_TRY_LINK([
-+	       #define _MISC_SOURCE
-+	       #include <unistd.h>
-+	      ],[crypt("", "");],
-   	pr_cv_lib_standalone_crypt="yes", pr_cv_lib_standalone_crypt="no" ))
- 
- if test "$pr_cv_lib_standalone_crypt" = "no"; then
-@@ -1375,7 +1378,7 @@
- fi
- 
- AC_CACHE_CHECK(for standalone gethostbyname,pr_cv_lib_standalone_gethost,
--  AC_TRY_LINK(,[gethostbyname();],
-+  AC_TRY_LINK([#include <netdb.h>],[gethostbyname("");],
-   	pr_cv_lib_standalone_gethost="yes",
- 	pr_cv_lib_standalone_gethost="no" ))
- 
-@@ -1385,7 +1388,12 @@
- fi
- 
- AC_CACHE_CHECK(for standalone inet_aton,pr_cv_lib_standalone_aton,
--  AC_TRY_LINK(,[inet_aton();],
-+  AC_TRY_LINK([
-+	       #define _DEFAULT_SOURCE
-+	       #include <sys/socket.h>
-+	       #include <netinet/in.h>
-+	       #include <arpa/inet.h>
-+	      ],[inet_aton("", (void*)0);],
-   	pr_cv_lib_standalone_aton="yes",
- 	pr_cv_lib_standalone_aton="no" ))
- 
-@@ -1394,7 +1402,7 @@
- fi
- 
- AC_CACHE_CHECK(for standalone nsl functions,pr_cv_lib_standalone_nsl,[
--  AC_TRY_LINK(,[gethostent();],
-+  AC_TRY_LINK([#include <netdb.h>],[gethostent();],
-   pr_cv_lib_standalone_nsl="yes", pr_cv_lib_standalone_nsl="no") ])
- 
- if test "$pr_cv_lib_standalone_nsl" = "no"; then
-@@ -1402,7 +1410,7 @@
- fi
- 
- AC_CACHE_CHECK(for standalone socket functions,pr_cv_lib_standalone_sockets,
--  AC_TRY_LINK(,[bind();],
-+  AC_TRY_LINK([#include <sys/socket.h>],[bind(0, (void*)0, 0);],
-   pr_cv_lib_standalone_sockets="yes", pr_cv_lib_standalone_sockets="no"))
- 
- if test "$pr_cv_lib_standalone_sockets" = "no"; then
---- proftpd-1.3.7a/contrib/mod_wrap.c.orig	2020-08-30 12:55:56.649387829 +0200
-+++ proftpd-1.3.7a/contrib/mod_wrap.c	2020-08-30 12:56:04.492678672 +0200
-@@ -22,7 +22,7 @@
-  * the source code for OpenSSL in the source distribution.
-  *
-  * -- DO NOT MODIFY THE TWO LINES BELOW --
-- * $Libraries: -lwrap -lnsl$
-+ * $Libraries: -lwrap$
-  */
- 
- #define MOD_WRAP_VERSION "mod_wrap/1.2.4"
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/proftpd.git/commitdiff/3bed614a36989d8775521f36819e76cc82ee8189



More information about the pld-cvs-commit mailing list