Hi, I uploaded an NMU of your package.
Please see this as help to get the package into a releaseable condition for etch. Please find the used diff below. Cheers, Andi diff -ur ../mailutils-1.1+dfsg1~/debian/changelog ../mailutils-1.1+dfsg1/debian/changelog --- ../mailutils-1.1+dfsg1~/debian/changelog 2006-11-30 13:32:44.000000000 +0000 +++ ../mailutils-1.1+dfsg1/debian/changelog 2006-12-04 11:21:49.000000000 +0000 @@ -1,3 +1,11 @@ +mailutils (1:1.1+dfsg1-3.1) unstable; urgency=high + + * Non-maintainer upload. + * Fix issue with mails containing \0. Thanks to Ben Hutchings for + the patch. Closes: #361354 + + -- Andreas Barth <[EMAIL PROTECTED]> Mon, 4 Dec 2006 11:21:05 +0000 + mailutils (1:1.1+dfsg1-3) unstable; urgency=medium * debian/control: switch back to guile-1.6 as guile-1.8 is not yet ready diff -ur ../mailutils-1.1+dfsg1~/imap4d/fetch.c ../mailutils-1.1+dfsg1/imap4d/fetch.c --- ../mailutils-1.1+dfsg1~/imap4d/fetch.c 2006-03-12 14:25:50.000000000 +0000 +++ ../mailutils-1.1+dfsg1/imap4d/fetch.c 2006-12-04 11:15:59.000000000 +0000 @@ -1160,12 +1160,11 @@ offset = 0; if (max) { - util_send (" {%u}\r\n", max); + util_send (" {%lu}\r\n", max); while (mu_stream_read (rfc, buffer, sizeof (buffer) - 1, offset, &n) == 0 && n > 0) { - buffer[n] = '\0'; - util_send ("%s", buffer); + util_send_raw (buffer, n); offset += n; } } @@ -1190,13 +1189,11 @@ end -= n; buffer += n; } - /* Make sure we null terminate. */ - *buffer = '\0'; util_send ("<%lu>", start); if (total) { util_send (" {%s}\r\n", mu_umaxtostr (0, total)); - util_send ("%s", p); + util_send_raw (p, total); } else util_send (" \"\""); diff -ur ../mailutils-1.1+dfsg1~/imap4d/imap4d.h ../mailutils-1.1+dfsg1/imap4d/imap4d.h --- ../mailutils-1.1+dfsg1~/imap4d/imap4d.h 2006-04-07 14:08:54.000000000 +0000 +++ ../mailutils-1.1+dfsg1/imap4d/imap4d.h 2006-12-04 11:18:43.000000000 +0000 @@ -245,6 +245,7 @@ extern int util_send (const char *, ...); extern int util_send_qstring (const char *); extern int util_send_literal (const char *); +extern int util_send_raw (const char *, size_t); extern int util_start (char *); extern int util_finish (struct imap4d_command *, int, const char *, ...); extern int util_getstate (void); diff -ur ../mailutils-1.1+dfsg1~/imap4d/util.c ../mailutils-1.1+dfsg1/imap4d/util.c --- ../mailutils-1.1+dfsg1~/imap4d/util.c 2006-04-07 14:08:55.000000000 +0000 +++ ../mailutils-1.1+dfsg1/imap4d/util.c 2006-12-04 11:19:42.000000000 +0000 @@ -398,6 +398,15 @@ return util_send ("{%u}\r\n%s", strlen (buffer), buffer); } +int +util_send_raw (const char *data, size_t len) +{ + if (daemon_param.transcript) + syslog (LOG_DEBUG, "sent: %s", data); + + return mu_stream_sequential_write (ostream, data, len); +} + /* Send an unsolicited response. */ int util_out (int rc, const char *format, ...) -- http://home.arcor.de/andreas-barth/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]