[Git][debian-proftpd-team/proftpd][master] Remove obsolete patches.

Hilmar Preuße (@hilmar) gitlab at salsa.debian.org
Wed Sep 3 23:22:14 BST 2025



Hilmar Preuße pushed to branch master at Debian ProFTPD Team / proftpd


Commits:
e6a33890 by Hilmar Preuße at 2025-09-04T00:22:01+02:00
Remove obsolete patches.

- - - - -


13 changed files:

- debian/changelog
- − debian/patches/03_disable_failing_coding_tests.diff
- − debian/patches/14c006b62c09d1efe302c57b2d183a489bcb22dc.diff
- − debian/patches/5031d498a71c493b9659e2b5ccafde58b0897e30.diff
- − debian/patches/784a8e28332059cd6f41e7bcfbdc9b0142fe2c13.diff
- − debian/patches/85ff1cb9fb2feaae9928b50d05afd657fec3cfb4.diff
- − debian/patches/9b2b4a3e32d251798bf8fa841b124ab15ba58f11.diff
- − debian/patches/e7539bd772ca6e12d3e05fb56da274cf78ee1edf.diff
- − debian/patches/mod_cap
- − debian/patches/proftpd-mysql-password-backend.diff
- − debian/patches/reproducible_build
- debian/patches/series
- − debian/patches/wrong-path-for-interpreter_perl.diff


Changes:

=====================================
debian/changelog
=====================================
@@ -2,6 +2,7 @@ proftpd-dfsg (1.3.9~dfsg-3) UNRELEASED; urgency=medium
 
   * Set SHELL & CONFIG_SHELL in d/rules to make build reproducible.
   * Add patch from upstream to fix build failure on HURD.
+  * Remove obsolete patches.
 
  -- Hilmar Preuße <hille42 at debian.org>  Wed, 03 Sep 2025 17:12:31 +0200
 


=====================================
debian/patches/03_disable_failing_coding_tests.diff deleted
=====================================
@@ -1,18 +0,0 @@
---- proftpd.orig/tests/api/encode.c
-+++ proftpd/tests/api/encode.c
-@@ -308,12 +308,12 @@
-   tcase_add_checked_fixture(testcase, set_up, tear_down);
- 
- #ifdef PR_USE_NLS
--  tcase_add_test(testcase, encode_encode_str_test);
-+  /* tcase_add_test(testcase, encode_encode_str_test);
-   tcase_add_test(testcase, encode_decode_str_test);
-   tcase_add_test(testcase, encode_charset_test);
--  tcase_add_test(testcase, encode_encoding_test);
-+  tcase_add_test(testcase, encode_encoding_test); */
-   tcase_add_test(testcase, encode_policy_test);
--  tcase_add_test(testcase, encode_supports_telnet_iac_test);
-+  /* tcase_add_test(testcase, encode_supports_telnet_iac_test); */
- #endif /* PR_USE_NLS */
- 
-   suite_add_tcase(suite, testcase);


=====================================
debian/patches/14c006b62c09d1efe302c57b2d183a489bcb22dc.diff deleted
=====================================
@@ -1,32 +0,0 @@
-From 14c006b62c09d1efe302c57b2d183a489bcb22dc Mon Sep 17 00:00:00 2001
-From: TJ Saunders <tj at castaglia.org>
-Date: Thu, 12 Dec 2024 10:39:40 -0800
-Subject: [PATCH] The 1.3.8 branch doesn't have `session.user_homedir`.
-
----
- contrib/mod_sftp/auth.c | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/contrib/mod_sftp/auth.c b/contrib/mod_sftp/auth.c
-index c840bdc59..4015e9885 100644
---- a/contrib/mod_sftp/auth.c
-+++ b/contrib/mod_sftp/auth.c
-@@ -370,7 +370,6 @@ static int setup_env(pool *p, const char *user) {
-   }
- 
-   session.user = pstrdup(p, pw->pw_name);
--  session.user_homedir = pstrdup(p, pw->pw_dir);
-   session.group = pstrdup(p, pr_auth_gid2name(p, pw->pw_gid));
- 
-   session.login_uid = pw->pw_uid;
-@@ -687,10 +686,6 @@ static int setup_env(pool *p, const char *user) {
- 
-   session.user = pstrdup(session.pool, session.user);
- 
--  if (session.user_homedir != NULL) {
--    session.user_homedir = pstrdup(session.pool, session.user_homedir);
--  }
--
-   if (session.group != NULL) {
-     session.group = pstrdup(session.pool, session.group);
-   }


=====================================
debian/patches/5031d498a71c493b9659e2b5ccafde58b0897e30.diff deleted
=====================================
@@ -1,337 +0,0 @@
-From 5031d498a71c493b9659e2b5ccafde58b0897e30 Mon Sep 17 00:00:00 2001
-From: TJ Saunders <tj at castaglia.org>
-Date: Wed, 13 Nov 2024 06:33:35 -0800
-Subject: [PATCH] Issue #1830: When no supplemental groups are provided by the
- underlying authentication providers, fall back to using the primary
- group/GID. (#1835)
-
-This prevents surprise due to inheritance of the parent processes' supplemental group membership, which might inadvertently provided undesired access.
----
- NEWS                                          |   2 +
- contrib/mod_sftp/auth.c                       |  14 +-
- modules/mod_auth.c                            |  21 ++-
- src/auth.c                                    |  16 +-
- .../ProFTPD/Tests/Modules/mod_sql_sqlite.pm   | 174 ++++++++++++++++++
- 5 files changed, 213 insertions(+), 14 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index 2cd427e8d..495d74853 100644
-diff --git a/contrib/mod_sftp/auth.c b/contrib/mod_sftp/auth.c
-index c7a694e04..6196fec4a 100644
---- a/contrib/mod_sftp/auth.c
-+++ b/contrib/mod_sftp/auth.c
-@@ -388,8 +388,20 @@ static int setup_env(pool *p, const char *user) {
-       session.groups == NULL) {
-     res = pr_auth_getgroups(p, pw->pw_name, &session.gids, &session.groups);
-     if (res < 1) {
-+      /* If no supplemental groups are provided, default to using the process
-+       * primary GID as the supplemental group.  This prevents access
-+       * regressions as seen in Issue #1830.
-+       */
-       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
--        "no supplemental groups found for user '%s'", pw->pw_name);
-+        "no supplemental groups found for user '%s', "
-+        "using primary group %s (GID %lu)", pw->pw_name, session.group,
-+        (unsigned long) session.login_gid);
-+
-+      session.gids = make_array(p, 2, sizeof(gid_t));
-+      session.groups = make_array(p, 2, sizeof(char *));
-+
-+      *((gid_t *) push_array(session.gids)) = session.login_gid;
-+      *((char **) push_array(session.groups)) = pstrdup(p, session.group);
-     }
-   }
- 
-diff --git a/modules/mod_auth.c b/modules/mod_auth.c
-index a85be0675..4daa927d7 100644
---- a/modules/mod_auth.c
-+++ b/modules/mod_auth.c
-@@ -2,7 +2,7 @@
-  * ProFTPD - FTP server daemon
-  * Copyright (c) 1997, 1998 Public Flood Software
-  * Copyright (c) 1999, 2000 MacGyver aka Habeeb J. Dihu <macgyver at tos.net>
-- * Copyright (c) 2001-2022 The ProFTPD Project team
-+ * Copyright (c) 2001-2024 The ProFTPD Project team
-  *
-  * 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
-@@ -1113,8 +1113,8 @@ static int setup_env(pool *p, cmd_rec *cmd, const char *user, char *pass) {
-     session.groups = NULL;
-   }
- 
--  if (!session.gids &&
--      !session.groups) {
-+  if (session.gids == NULL &&
-+      session.groups == NULL) {
-     /* Get the supplemental groups.  Note that we only look up the
-      * supplemental group credentials if we have not cached the group
-      * credentials before, in session.gids and session.groups.  
-@@ -1124,8 +1124,19 @@ static int setup_env(pool *p, cmd_rec *cmd, const char *user, char *pass) {
-      */
-      res = pr_auth_getgroups(p, pw->pw_name, &session.gids, &session.groups);
-      if (res < 1) {
--       pr_log_debug(DEBUG5, "no supplemental groups found for user '%s'",
--         pw->pw_name);
-+       /* If no supplemental groups are provided, default to using the process
-+        * primary GID as the supplemental group.  This prevents access
-+        * regressions as seen in Issue #1830.
-+        */
-+       pr_log_debug(DEBUG5, "no supplemental groups found for user '%s', "
-+         "using primary group %s (GID %lu)", pw->pw_name, session.group,
-+         (unsigned long) session.login_gid);
-+
-+       session.gids = make_array(p, 2, sizeof(gid_t));
-+       session.groups = make_array(p, 2, sizeof(char *));
-+
-+       *((gid_t *) push_array(session.gids)) = session.login_gid;
-+       *((char **) push_array(session.groups)) = pstrdup(p, session.group);
-      }
-   }
- 
-diff --git a/src/auth.c b/src/auth.c
-index b90fe4162..378f99744 100644
---- a/src/auth.c
-+++ b/src/auth.c
-@@ -2,7 +2,7 @@
-  * ProFTPD - FTP server daemon
-  * Copyright (c) 1997, 1998 Public Flood Software
-  * Copyright (c) 1999, 2000 MacGyver aka Habeeb J. Dihu <macgyver at tos.net>
-- * Copyright (c) 2001-2022 The ProFTPD Project team
-+ * Copyright (c) 2001-2024 The ProFTPD Project team
-  *
-  * 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
-@@ -1471,12 +1471,12 @@ int pr_auth_getgroups(pool *p, const char *name, array_header **group_ids,
-   }
- 
-   /* Allocate memory for the array_headers of GIDs and group names. */
--  if (group_ids) {
--    *group_ids = make_array(permanent_pool, 2, sizeof(gid_t));
-+  if (group_ids != NULL) {
-+    *group_ids = make_array(p, 2, sizeof(gid_t));
-   }
- 
--  if (group_names) {
--    *group_names = make_array(permanent_pool, 2, sizeof(char *));
-+  if (group_names != NULL) {
-+    *group_names = make_array(p, 2, sizeof(char *));
-   }
- 
-   cmd = make_cmd(p, 3, name, group_ids ? *group_ids : NULL,
-@@ -1495,7 +1495,7 @@ int pr_auth_getgroups(pool *p, const char *name, array_header **group_ids,
-      * for the benefit of auth_getgroup() implementors.
-      */
- 
--    if (group_ids) {
-+    if (group_ids != NULL) {
-       register unsigned int i;
-       char *strgids = "";
-       gid_t *gids = (*group_ids)->elts;
-@@ -1511,7 +1511,7 @@ int pr_auth_getgroups(pool *p, const char *name, array_header **group_ids,
-         *strgids ? strgids : "(None; corrupted group file?)");
-     }
- 
--    if (group_names) {
-+    if (group_names != NULL) {
-       register unsigned int i;
-       char *strgroups = ""; 
-       char **groups = (*group_names)->elts;
-@@ -1527,7 +1527,7 @@ int pr_auth_getgroups(pool *p, const char *name, array_header **group_ids,
-     }
-   }
- 
--  if (cmd->tmp_pool) {
-+  if (cmd->tmp_pool != NULL) {
-     destroy_pool(cmd->tmp_pool);
-     cmd->tmp_pool = NULL;
-   }
-diff --git a/tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm b/tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm
-index 08c1542aa..42ba9678b 100644
---- a/tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm
-+++ b/tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm
-@@ -467,6 +467,11 @@ my $TESTS = {
-     order => ++$order,
-     test_class => [qw(forking bug mod_tls)],
-   },
-+
-+  sql_user_info_no_suppl_groups_issue1830 => {
-+    order => ++$order,
-+    test_class => [qw(forking bug rootprivs)],
-+  },
- };
- 
- sub new {
-@@ -15764,4 +15769,173 @@ EOC
-   test_cleanup($setup->{log_file}, $ex);
- }
- 
-+sub sql_user_info_no_suppl_groups_issue1830 {
-+  my $self = shift;
-+  my $tmpdir = $self->{tmpdir};
-+  my $setup = test_setup($tmpdir, 'sqlite');
-+
-+  my $db_file = File::Spec->rel2abs("$tmpdir/proftpd.db");
-+
-+  # Build up sqlite3 command to create users, groups tables and populate them
-+  my $db_script = File::Spec->rel2abs("$tmpdir/proftpd.sql");
-+
-+  if (open(my $fh, "> $db_script")) {
-+    print $fh <<EOS;
-+CREATE TABLE users (
-+  userid TEXT,
-+  passwd TEXT,
-+  uid INTEGER,
-+  gid INTEGER,
-+  homedir TEXT,
-+  shell TEXT
-+);
-+INSERT INTO users (userid, passwd, uid, gid, homedir, shell) VALUES ('$setup->{user}', '$setup->{passwd}', $setup->{uid}, $setup->{gid}, '$setup->{home_dir}', '/bin/bash');
-+
-+CREATE TABLE groups (
-+  groupname TEXT,
-+  gid INTEGER,
-+  members TEXT
-+);
-+INSERT INTO groups (groupname, gid, members) VALUES ('$setup->{group}', $setup->{gid}, '$setup->{user}');
-+EOS
-+
-+    unless (close($fh)) {
-+      die("Can't write $db_script: $!");
-+    }
-+
-+  } else {
-+    die("Can't open $db_script: $!");
-+  }
-+
-+  my $cmd = "sqlite3 $db_file < $db_script";
-+  build_db($cmd, $db_script);
-+
-+  # Make sure that, if we're running as root, the database file has
-+  # the permissions/privs set for use by proftpd
-+  if ($< == 0) {
-+    unless (chmod(0666, $db_file)) {
-+      die("Can't set perms on $db_file to 0666: $!");
-+    }
-+  }
-+
-+  my $config = {
-+    PidFile => $setup->{pid_file},
-+    ScoreboardFile => $setup->{scoreboard_file},
-+    SystemLog => $setup->{log_file},
-+    TraceLog => $setup->{log_file},
-+    Trace => 'auth:20 sql:20',
-+
-+    # Required for logging the expected message
-+    DebugLevel => 5,
-+
-+    IfModules => {
-+      'mod_delay.c' => {
-+        DelayEngine => 'off',
-+      },
-+
-+      'mod_sql.c' => {
-+        AuthOrder => 'mod_sql.c',
-+
-+        SQLAuthenticate => 'users',
-+        SQLAuthTypes => 'plaintext',
-+        SQLBackend => 'sqlite3',
-+        SQLConnectInfo => $db_file,
-+        SQLLogFile => $setup->{log_file},
-+
-+        # Set these, so that our lower UID/GID will be used
-+        SQLMinUserUID => 100,
-+        SQLMinUserGID => 100,
-+      },
-+    },
-+  };
-+
-+  my ($port, $config_user, $config_group) = config_write($setup->{config_file},
-+    $config);
-+
-+  # Open pipes, for use between the parent and child processes.  Specifically,
-+  # the child will indicate when it's done with its test by writing a message
-+  # to the parent.
-+  my ($rfh, $wfh);
-+  unless (pipe($rfh, $wfh)) {
-+    die("Can't open pipe: $!");
-+  }
-+
-+  my $ex;
-+
-+  # Fork child
-+  $self->handle_sigchld();
-+  defined(my $pid = fork()) or die("Can't fork: $!");
-+  if ($pid) {
-+    eval {
-+      sleep(2);
-+
-+      my $client = ProFTPD::TestSuite::FTP->new('127.0.0.1', $port);
-+      $client->login($setup->{user}, $setup->{passwd});
-+
-+      my $resp_msgs = $client->response_msgs();
-+      my $nmsgs = scalar(@$resp_msgs);
-+
-+      my $expected = 1;
-+      $self->assert($expected == $nmsgs,
-+        test_msg("Expected $expected, got $nmsgs"));
-+
-+      $expected = "User $setup->{user} logged in";
-+      $self->assert($expected eq $resp_msgs->[0],
-+        test_msg("Expected response '$expected', got '$resp_msgs->[0]'"));
-+
-+      $client->quit();
-+    };
-+    if ($@) {
-+      $ex = $@;
-+    }
-+
-+    $wfh->print("done\n");
-+    $wfh->flush();
-+
-+  } else {
-+    eval { server_wait($setup->{config_file}, $rfh) };
-+    if ($@) {
-+      warn($@);
-+      exit 1;
-+    }
-+
-+    exit 0;
-+  }
-+
-+  # Stop server
-+  server_stop($setup->{pid_file});
-+  $self->assert_child_ok($pid);
-+
-+  eval {
-+    if (open(my $fh, "< $setup->{log_file}")) {
-+      my $ok = 0;
-+
-+      while (my $line = <$fh>) {
-+        chomp($line);
-+
-+        if ($ENV{TEST_VERBOSE}) {
-+          print STDERR "# $line\n";
-+        }
-+
-+        if ($line =~ /no supplemental groups found for user '$setup->{user}', using primary group/) {
-+          $ok = 1;
-+          last;
-+        }
-+      }
-+
-+      close($fh);
-+
-+      $self->assert($ok, test_msg("Did not see expected log message"));
-+
-+    } else {
-+      die("Can't read $setup->{log_file}: $!");
-+    }
-+  };
-+  if ($@) {
-+    $ex = $@ unless $ex;
-+  }
-+
-+  test_cleanup($setup->{log_file}, $ex);
-+}
-+
- 1;


=====================================
debian/patches/784a8e28332059cd6f41e7bcfbdc9b0142fe2c13.diff deleted
=====================================
@@ -1,36 +0,0 @@
-From 784a8e28332059cd6f41e7bcfbdc9b0142fe2c13 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer at redhat.com>
-Date: Sat, 6 Jan 2024 20:55:32 +0100
-Subject: [PATCH] configure: Use char ** for the iconv input argument (#1754)
-
-The standard iconv function uses char ** even for the input buffer.
-Using the incompatible const char ** type causes the check to fail if
-the compiler treats such type errors as errors, instead of merely
-warning about it.
----
- configure    | 2 +-
- configure.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
---- proftpd.orig/configure
-+++ proftpd/configure
-@@ -21419,7 +21419,7 @@
- {
- 
-     size_t res, in_len = 0, out_len = 0;
--    const char *in = NULL;
-+    char *in = NULL;
-     char *out = NULL;
-     res = iconv((iconv_t)-1, &in, &in_len, &out, &out_len);
- 
---- proftpd.orig/configure.in
-+++ proftpd/configure.in
-@@ -2044,7 +2044,7 @@
-   ],
-   [ 
-     size_t res, in_len = 0, out_len = 0;
--    const char *in = NULL;
-+    char *in = NULL;
-     char *out = NULL;
-     res = iconv((iconv_t)-1, &in, &in_len, &out, &out_len);
-   ],


=====================================
debian/patches/85ff1cb9fb2feaae9928b50d05afd657fec3cfb4.diff deleted
=====================================
@@ -1,23 +0,0 @@
-From 85ff1cb9fb2feaae9928b50d05afd657fec3cfb4 Mon Sep 17 00:00:00 2001
-From: Manuel Mausz <manuel at mausz.at>
-Date: Thu, 11 Jan 2024 00:38:52 +0000
-Subject: [PATCH] Fetch pubkey from certificate before extracting its
- parameters (#1769)
-
-This line has accidentally been removed in 028ce3
----
- contrib/mod_tls.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/contrib/mod_tls.c b/contrib/mod_tls.c
-index a092b8e15..b0c97c118 100644
---- a/contrib/mod_tls.c
-+++ b/contrib/mod_tls.c
-@@ -10054,6 +10054,7 @@ static void tls_setup_cert_environ(pool *p, const char *env_prefix,
-     bio = BIO_new(BIO_s_mem());
- #if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(HAVE_LIBRESSL)) || \
-     (defined(HAVE_LIBRESSL) && LIBRESSL_VERSION_NUMBER >= 0x3050000L)
-+    pubkey = X509_get_X509_PUBKEY(cert);
-     X509_PUBKEY_get0_param(NULL, NULL, NULL, (X509_ALGOR **) &algo, pubkey);
- #else
-     pubkey = cert->cert_info->key;


=====================================
debian/patches/9b2b4a3e32d251798bf8fa841b124ab15ba58f11.diff deleted
=====================================
@@ -1,44 +0,0 @@
-From 9b2b4a3e32d251798bf8fa841b124ab15ba58f11 Mon Sep 17 00:00:00 2001
-From: TJ Saunders <tj at castaglia.org>
-Date: Sun, 9 Feb 2025 12:13:48 -0800
-Subject: [PATCH] Manually backporting some of the null pointer guards from
- Issue #1866 to the 1.3.8 branch.
-
----
- modules/mod_ls.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/modules/mod_ls.c b/modules/mod_ls.c
-index 5458ccc74d..980691b9d6 100644
---- a/modules/mod_ls.c
-+++ b/modules/mod_ls.c
-@@ -2,7 +2,7 @@
-  * ProFTPD - FTP server daemon
-  * Copyright (c) 1997, 1998 Public Flood Software
-  * Copyright (c) 1999, 2000 MacGyver aka Habeeb J. Dihu <macgyver at tos.net>
-- * Copyright (c) 2001-2022 The ProFTPD Project
-+ * Copyright (c) 2001-2024 The ProFTPD Project
-  *
-  * 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
-@@ -360,7 +360,8 @@ static int sendline(int flags, char *fmt, ...) {
-           errno != 0) {
-         int xerrno = errno;
- 
--        if (session.d != NULL) {
-+        if (session.d != NULL &&
-+            session.d->outstrm != NULL) {
-           xerrno = PR_NETIO_ERRNO(session.d->outstrm);
-         }
- 
-@@ -1101,7 +1102,9 @@ static int outputfiles(cmd_rec *cmd) {
-     return res;
-   }
- 
--  tail->down = NULL;
-+  if (tail != NULL) {
-+    tail->down = NULL;
-+  }
-   tail = NULL;
-   colwidth = (colwidth | 7) + 1;
-   if (opt_l || !opt_C) {


=====================================
debian/patches/e7539bd772ca6e12d3e05fb56da274cf78ee1edf.diff deleted
=====================================
@@ -1,43 +0,0 @@
-From e7539bd772ca6e12d3e05fb56da274cf78ee1edf Mon Sep 17 00:00:00 2001
-From: TJ Saunders <tj at castaglia.org>
-Date: Wed, 11 Dec 2024 15:55:16 -0800
-Subject: [PATCH] While investigating Issue #1855, I discovered a long-hidden
- bug in mod_sftp, where the list of GIDs for the logged-in user was not being
- appropriately copied out of the session pool.
-
-This was manifesting as a segfault in my local tests, when the `HideNoAccess` directive is in effect for an SFTP session.
----
- contrib/mod_sftp/auth.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/contrib/mod_sftp/auth.c b/contrib/mod_sftp/auth.c
-index 6196fec4a..c840bdc59 100644
---- a/contrib/mod_sftp/auth.c
-+++ b/contrib/mod_sftp/auth.c
-@@ -370,6 +370,7 @@ static int setup_env(pool *p, const char *user) {
-   }
- 
-   session.user = pstrdup(p, pw->pw_name);
-+  session.user_homedir = pstrdup(p, pw->pw_dir);
-   session.group = pstrdup(p, pr_auth_gid2name(p, pw->pw_gid));
- 
-   session.login_uid = pw->pw_uid;
-@@ -686,10 +687,18 @@ static int setup_env(pool *p, const char *user) {
- 
-   session.user = pstrdup(session.pool, session.user);
- 
-+  if (session.user_homedir != NULL) {
-+    session.user_homedir = pstrdup(session.pool, session.user_homedir);
-+  }
-+
-   if (session.group != NULL) {
-     session.group = pstrdup(session.pool, session.group);
-   }
- 
-+  if (session.gids != NULL) {
-+    session.gids = copy_array(session.pool, session.gids);
-+  }
-+
-   session.groups = copy_array_str(session.pool, session.groups);
- 
-   pr_resolve_fs_map();


=====================================
debian/patches/mod_cap deleted
=====================================
@@ -1,33 +0,0 @@
-Description: Removed obsolete embedded sys/capability.h header
- inclusion in mod_cap.c modules. Also it avoids building of the obsolete
- embedded libpcap.
-Author: Francesco Paolo Lovergine <frankie at debian.org>
-Forwarded: not needed
-Bug-Debian: http://bugs.debian.org/479893
-
---- proftpd-dfsg-1.3.6c.orig/lib/libcap/Makefile
-+++ proftpd-dfsg-1.3.6c/lib/libcap/Makefile
-@@ -25,7 +25,7 @@
- INCLS=libcap.h cap_names.h $(INCS)
- OBJS=$(addsuffix .o, $(FILES))
- 
--all: $(STALIBNAME)
-+all: 
- 
- _makenames: _makenames.c cap_names.list.h
- 	$(CC) $(CFLAGS) $< -o $@
---- proftpd-dfsg-1.3.6c.orig/modules/mod_cap.c
-+++ proftpd-dfsg-1.3.6c/modules/mod_cap.c
-@@ -42,10 +42,8 @@
- #  define _LINUX_BYTEORDER_GENERIC_H
- # endif
- 
--# ifdef HAVE_LINUX_CAPABILITY_H
--#  include <linux/capability.h>
--# endif /* HAVE_LINUX_CAPABILITY_H */
--# include "../lib/libcap/include/sys/capability.h"
-+#include <linux/capability.h>
-+#include <sys/capability.h>
- 
- /* What are these for? */
- # undef WNOHANG


=====================================
debian/patches/proftpd-mysql-password-backend.diff deleted
=====================================
@@ -1,80 +0,0 @@
-Description: Reintroduce "SQLAUthTypes Backend" with MySQL database
-Author: Andreas Trottmann <andreas.trottmann at werft22.com>
-Forwarded: Will not be done, introduces deprecated feature: http://bugs.proftpd.org/show_bug.cgi?id=4281
-Bug-Debian: http://bugs.debian.org/965077
---- proftpd.orig/contrib/mod_sql_mysql.c
-+++ proftpd/contrib/mod_sql_mysql.c
-@@ -23,7 +23,7 @@
-  * the source distribution.
-  *
-  * -----DO NOT EDIT-----
-- * $Libraries: -lm -lmysqlclient -lz$
-+ * $Libraries: -lm -lmd -lmysqlclient -lz$
-  */
- 
- /* INTRO:
-@@ -134,6 +134,8 @@
- #include <mysql/mysql.h>
- #include <stdbool.h>
- 
-+#include <sha1.h>
-+
- /* The my_make_scrambled_password{,_323} functions are not part of the public
-  * MySQL API and are not declared in any of the MySQL header files. But the
-  * use of these functions are required for implementing the "Backend"
-@@ -1641,6 +1643,27 @@
-   return MYSQL_PASSWD_FMT_UNKNOWN;
- }
- 
-+char *hexify(char * const result, const unsigned char *digest,
-+	    const size_t size_result, size_t size_digest)
-+{
-+   static const char * const hexchars = "0123456789ABCDEF";
-+   char *result_pnt = result;
-+
-+   if (size_digest <= (size_t) 0 ||
-+       size_result <= (size_digest * (size_t) 2U)) {
-+       return NULL;
-+   }
-+   do {
-+       *result_pnt++ = hexchars[(*digest >> 4) & 0xf];
-+       *result_pnt++ = hexchars[*digest & 0xf];
-+       digest++;
-+       size_digest--;
-+   } while (size_digest > (size_t) 0U);
-+   *result_pnt = 0;
-+
-+   return result;
-+}
-+
- static int match_mysql_passwds(const char *hashed, size_t hashed_len,
-     const char *scrambled, size_t scrambled_len, const char *scramble_func) {
-   int hashed_fmt = 0, scrambled_fmt = 0, matched = FALSE;
-@@ -1824,6 +1847,27 @@
- #endif /* HAVE_MYSQL_MAKE_SCRAMBLED_PASSWORD_323 */
- 
-   if (success == FALSE) {
-+    SHA1_CTX      ctx;
-+    unsigned char h0[20], h1[20];
-+    SHA1Init(&ctx);
-+    SHA1Update(&ctx, plaintext, strlen(plaintext));
-+    SHA1Final(h0, &ctx);
-+    SHA1Init(&ctx);
-+    SHA1Update(&ctx, h0, sizeof h0);
-+    memset(h0, '\0', sizeof h0);
-+    SHA1Final(h1, &ctx);
-+
-+    hexify(scrambled + 1U, h1, (sizeof scrambled) - 1U, sizeof h1);
-+    *scrambled = '*';
-+    sql_log(DEBUG_FUNC, "comparing scrambled password %s to %s", scrambled, ciphertext);
-+
-+    scrambled_len = strlen(scrambled);
-+   
-+    success = match_mysql_passwds(ciphertext, ciphertext_len, scrambled, scrambled_len,
-+      "selfmade_sha1");
-+  }
-+
-+  if (success == FALSE) {
-     sql_log(DEBUG_FUNC, "%s", "password mismatch");
-   }
- 


=====================================
debian/patches/reproducible_build deleted
=====================================
@@ -1,27 +0,0 @@
-Description: Makes build reproducible.
-Author: Chris Lamb <lamby at debian.org>
-Last-Update: 2016-07-15
-Forwarded: not done, could be done
-Bug-Debian: http://bugs.debian.org/831381
-
---- proftpd-dfsg-1.3.5a.orig/Makefile.in
-+++ proftpd-dfsg-1.3.5a/Makefile.in
-@@ -21,11 +21,17 @@ BUILD_PROFTPD_OBJS=$(BUILD_OBJS) $(BUILD
- BUILD_PROFTPD_ARCHIVES=$(BUILD_STATIC_MODULE_ARCHIVES)
- BUILD_BIN=proftpd$(EXEEXT) ftpcount$(EXEEXT) ftpdctl$(EXEEXT) ftpscrub$(EXEEXT) ftpshut$(EXEEXT) ftptop$(EXEEXT) ftpwho$(EXEEXT)
- 
-+DATE_FMT = %a %b %e %Y %H:%M:%S %Z
-+ifdef SOURCE_DATE_EPOCH
-+	BUILD_STAMP ?= $(shell LC_ALL=C date --utc --date="@$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)")
-+else
-+	BUILD_STAMP ?= $(shell date "+$(DATE_FMT)")
-+endif
- 
- all: $(BUILD_BIN)
- 
- include/buildstamp.h:
--	echo \#define BUILD_STAMP \"`date +"%a %b %e %Y %H:%M:%S %Z"`\" > include/buildstamp.h
-+	echo \#define BUILD_STAMP \"$(BUILD_STAMP)\" > include/buildstamp.h
- 
- dummy:
- 


=====================================
debian/patches/series
=====================================
@@ -4,21 +4,9 @@ ftpasswd.cracklib.location
 mod_sql_mysql.c
 mod_wrap_noparanoid
 ftpstats
-#mod_cap
 odbc
-#reproducible_build
-#wrong-path-for-interpreter_perl.diff
-#proftpd-mysql-password-backend.diff
 01_disable_inet_connect_ipv4_test.diff
 02_disable_redis_sentinel_conn_new_test.diff
-#85ff1cb9fb2feaae9928b50d05afd657fec3cfb4.diff
-# https://github.com/proftpd/proftpd/issues/1831
-#03_disable_failing_coding_tests.diff
-#784a8e28332059cd6f41e7bcfbdc9b0142fe2c13.diff
-#5031d498a71c493b9659e2b5ccafde58b0897e30.diff
 04_disable_base_netaddr_get_addr_test.diff
-#e7539bd772ca6e12d3e05fb56da274cf78ee1edf.diff
-#14c006b62c09d1efe302c57b2d183a489bcb22dc.diff
-#9b2b4a3e32d251798bf8fa841b124ab15ba58f11.diff
 536608f849dddd2b551e7c1e4fd930a50a527ffe.diff
 3d3a936b696d73f24a7f1a99bf7aa26735ff2306.diff


=====================================
debian/patches/wrong-path-for-interpreter_perl.diff deleted
=====================================
@@ -1,45 +0,0 @@
-Description: Replace shebang line in perl scripts.
-Author: Hilmar Preusse <hille42 at web.de>
-Last-Update: 2018-11-01
-Forwarded: Not needed, specific to Debian.
-
---- proftpd.orig/contrib/ftpasswd
-+++ proftpd/contrib/ftpasswd
-@@ -1,4 +1,4 @@
--#!/usr/bin/env perl
-+#!/usr/bin/perl
- # ---------------------------------------------------------------------------
- # Copyright (C) 2000-2021 TJ Saunders <tj at castaglia.org>
- #
---- proftpd.orig/contrib/ftpmail
-+++ proftpd/contrib/ftpmail
-@@ -1,4 +1,4 @@
--#!/usr/bin/env perl
-+#!/usr/bin/perl
- # ---------------------------------------------------------------------------
- # Copyright (C) 2008-2017 TJ Saunders <tj at castaglia.org>
- #
---- proftpd.orig/contrib/ftpquota
-+++ proftpd/contrib/ftpquota
-@@ -1,4 +1,4 @@
--#!/usr/bin/env perl
-+#!/usr/bin/perl
- # -------------------------------------------------------------------------
- # Copyright (C) 2000-2017 TJ Saunders <tj at castaglia.org>
- #
---- proftpd.orig/src/prxs.in
-+++ proftpd/src/prxs.in
-@@ -1,4 +1,4 @@
--#!/usr/bin/env perl
-+#!/usr/bin/perl
- 
- # ---------------------------------------------------------------------------
- # Copyright (C) 2008-2020 TJ Saunders <tj at castaglia.org>
---- proftpd.orig/contrib/xferstats.holger-preiss
-+++ proftpd/contrib/xferstats.holger-preiss
-@@ -1,4 +1,4 @@
--#!/usr/bin/env perl
-+#!/usr/bin/perl
- # ---------------------------------------------------------------------------
- #
- # USAGE: xferstats <options>



View it on GitLab: https://salsa.debian.org/debian-proftpd-team/proftpd/-/commit/e6a33890dbd8960c8b1fae8d502f7cdb9590986b

-- 
View it on GitLab: https://salsa.debian.org/debian-proftpd-team/proftpd/-/commit/e6a33890dbd8960c8b1fae8d502f7cdb9590986b
You're receiving this email because of your account on salsa.debian.org.




More information about the Pkg-proftpd-maintainers mailing list