Package: ftpd Version: 0.17-27 Severity: important Tags: patch Hi,
Due to a change in update-inetd, linux-ftpd's postrm no longer removes the inetd.conf entry. The attached patch fixes this. Fixing this reveals other problems, which the patch also fixes: * postrm removes the inetd.conf entry when called during remove as well as purge, losing any local configuration. * With this (and downstream ftpd-ssl) fixed, if you replace linux-ftpd-ssl with linux-ftpd, and you had ssl-specific arguments (which until recently were added by default), they will be left in the inetd entry, causing linux-ftpd to fail to start. The patch handles this by removing the inetd entry at the start of postinst if it has any ftpd-ssl options in it (fortunately they all start with -z) * Calling: apt-get install ftpd-ssl apt-get install ftpd dpkg -P ftpd-ssl removes the inetd.conf entry for ftp. The patch fixes this by only removing the entry if it is commented out (which will have happened in the prerm). The problem also happens the other way round (ie install ftpd, install ftpd-ssl, purge ftpd) I've also fixed these issues in linux-ftpd-ssl, which my AM will hopefully upload soon (I've only recently adopted linux-ftpd-ssl, so I don't have the DM-Upload-Allowed flag yet) Hope this all makes sense, Ian. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.24-1-686 (SMP w/1 CPU core) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages ftpd depends on: ii libc6 2.7-11 GNU C Library: Shared libraries ii libpam-modules 0.99.7.1-6 Pluggable Authentication Modules f ii libpam0g 0.99.7.1-6 Pluggable Authentication Modules l ii openbsd-inetd [inet-superse 0.20080125-1 The OpenBSD Internet Superserver ftpd recommends no packages.
diff --git a/debian/postinst b/debian/postinst index 27a3c9d..4b51b27 100644 --- a/debian/postinst +++ b/debian/postinst @@ -1,6 +1,10 @@ #!/bin/sh -e # $Id: postinst,v 1.7 2003/06/21 02:31:44 herbert Exp $ +if grep -q '[[:blank:]]/usr/sbin/in\.ftpd.*-z' /etc/inetd.conf; then + update-inetd --pattern '/usr/sbin/in\.ftpd' --remove ".*ftp" +fi + if grep -q '[[:blank:]]/usr/sbin/in\.ftpd\>' /etc/inetd.conf; then if ! grep -q '^ftp\>' /etc/inetd.conf; then update-inetd --pattern '/usr/sbin/in\.ftpd' --enable ftp diff --git a/debian/postrm b/debian/postrm index 2469e8a..5ebd1e5 100644 --- a/debian/postrm +++ b/debian/postrm @@ -1,9 +1,9 @@ #!/bin/sh -e # $Id: postrm,v 1.1 1999/04/16 07:00:28 herbert Exp $ -if [ "$1" = remove -o "$1" = purge ]; then +if [ "$1" = purge ]; then if command -v update-inetd >/dev/null 2>&1; then - update-inetd --remove "ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd" + update-inetd --pattern '/usr/sbin/in\.ftpd' --remove "#<off># ftp" fi fi