Bug#734648: cyrus-nntpd-2.4: nntp not working after upgrade to wheezy
Ulrich Eckhardt
deb at uli-eckhardt.de
Wed Jan 8 20:04:48 UTC 2014
Package: cyrus-nntpd-2.4
Version: 2.4.16-4+deb7u1
Severity: grave
Tags: upstream
Justification: renders package unusable
Dear Maintainer,
I have upgraded my server to from Debian 6 (with cyrus 2.2) to Debian 7 (with
cyrus 2.4.16). After this upgrade it is not possible anymore to feed news into
my imap-spool.
This problem was registered as bugreport on cyrus:
https://bugzilla.cyrusimap.org/show_bug.cgi?id=3833 . A detailed description of
the problem can be found there.
This bug was resolved quickly by the cyrus team but planned for 2.4.18. I was
able to incorporate the two commits of the solution into the source package
cyrus-imapd-2.4_2.4.16-4+deb7u1 and build a new working nntpd for cyrus 2.4.16.
The following patch can be applied to fix this problem:
---------------------------------------------------------------------------
--- nntpd.c.deb 2014-01-07 20:33:00.827064145 +0100
+++ nntpd.c 2014-01-08 19:10:03.242389940 +0100
@@ -1065,7 +1065,7 @@
be = backend_current;
if (arg1.len &&
(!is_newsgroup(arg1.s) ||
- (r = open_group(arg1.s, 1, &be, NULL)))) goto nogroup;
+ (r = open_group(arg1.s, 0, &be, NULL)))) goto nogroup;
else if (be) {
prot_printf(be->out, "%s", cmd.s);
if (arg1.len) {
@@ -1780,6 +1780,8 @@
if (!has_prefix) {
snprintf(mailboxname, sizeof(mailboxname), "%s%s", newsprefix, name);
name = mailboxname;
+
+ if (!is_newsgroup(name)) return IMAP_MAILBOX_NONEXISTENT;
}
if (!r) r = mlookup(name, &newserver, &acl, NULL);
@@ -2544,7 +2546,7 @@
}
}
else {
- prot_printf(nntp_out, "%s %u %u %c\r\n", name,
+ prot_printf(nntp_out, "%s %u %u %c\r\n", name+strlen(newsprefix),
group_state->exists ? index_getuid(group_state,
group_state->exists) :
group_state->mailbox->i.last_uid,
group_state->exists ? index_getuid(group_state, 1) :
@@ -3000,7 +3002,7 @@
if (!rcpt) return -1;
/* construct the mailbox name */
- sprintf(rcpt, "%.*s", (int) n, p);
+ sprintf(rcpt, "%s%.*s", newsprefix, (int) n, p);
/* skip mailboxes that we don't serve as newsgroups */
if (!is_newsgroup(rcpt)) continue;
----------------------------------------------------------------------------
-- System Information:
Debian Release: 7.3
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-042stab078.27 (SMP w/1 CPU core)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8) (ignored: LC_ALL set to de_DE.utf8)
Shell: /bin/sh linked to /bin/bash
Versions of packages cyrus-nntpd-2.4 depends on:
ii cyrus-common-2.4 2.4.16-4+deb7u1
ii libc6 2.13-38
ii libcomerr2 1.42.5-1.1
ii libdb5.1 5.1.29-5
ii libsasl2-2 2.1.25.dfsg1-6+deb7u1
ii libssl1.0.0 1.0.1e-2+deb7u3
ii libwrap0 7.6.q-24
ii zlib1g 1:1.2.7.dfsg-13
cyrus-nntpd-2.4 recommends no packages.
cyrus-nntpd-2.4 suggests no packages.
-- no debconf information
More information about the Pkg-Cyrus-imapd-Debian-devel
mailing list