Package: nmh
Version: 1.1-release-3
Severity: minor
Tags: patch

Trying to inc mail from a KPOP server I got the following message:

[EMAIL PROTECTED]:~$ inc -kpop -host po12.mit.edu
inc: unable to bind socket: Permission denied
[EMAIL PROTECTED]:~$ 

After some investigation I discovered that unlike nmh version 1.1-RC1-3,
this version of nmh was packaged without KPOP support, and upon
inspecting the code it appears that it was effectively trying to use
RPOP.  I added a test in pop_init so that it will fail when it tries to
open a kpop connection without KPOP support compiled in.

-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-686
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages nmh depends on:
ii  base-files                  3.1.2        Debian base system miscellaneous f
ii  libc6                       2.3.2.ds1-22 GNU C Library: Shared libraries an
ii  libdb3                      3.2.9-22     Berkeley v3 Database Libraries [ru
ii  liblockfile1                1.06         NFS-safe locking library, includes
ii  libncurses5                 5.4-4        Shared libraries for terminal hand
ii  libsasl2                    2.1.19-1.5   Authentication abstraction library
ii  netbase                     4.21         Basic TCP/IP networking system

-- no debconf information
--- uip/popsbr.c	2005-07-26 14:22:46.337684902 -0400
+++ uip/popsbr-rwbarton.c	2005-07-26 13:52:02.579838473 -0400
@@ -459,20 +459,21 @@
 #endif
 
 #ifndef NNTP
-# ifdef KPOP
     if ( kpop ) {
+# ifdef KPOP
 	snprintf (buffer, sizeof(buffer), "%s/%s", KPOP_PRINCIPAL, "kpop");
 	if ((fd1 = client (host, "tcp", buffer, 0, response, sizeof(response))) == NOTOK) {
 	    return NOTOK;
 	}
+# else  /* KPOP */
+	snprintf (response, sizeof(response), "this version of nmh compiled without KPOP support");
+	return NOTOK;
+# endif
     } else {
-# endif /* KPOP */
-      if ((fd1 = client (host, "tcp", POPSERVICE, rpop, response, sizeof(response))) == NOTOK) {
+	if ((fd1 = client (host, "tcp", POPSERVICE, rpop, response, sizeof(response))) == NOTOK) {
 	    return NOTOK;
-      }
-# ifdef KPOP
-   }
-# endif /* KPOP */
+	}
+    }
 #else	/* NNTP */
     if ((fd1 = client (host, "tcp", "nntp", rpop, response, sizeof(response))) == NOTOK)
 	return NOTOK;

Reply via email to