Package: exim4 Severity: minor Version: 4.69-11 Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch
exiqgrep might return a "Line mismatch" error: # exiqgrep -x Line mismatch: 42h 1JCb3k-0007bY-P1 <addr-removed-for-priv...@home.nl> This happens when "exim4 -bp" (mailq) reports lines without size info. The attached patch was included in Ubuntu's exim4 [1]. You might consider including it in Debian as well. [1] https://bugs.launchpad.net/ubuntu/+source/exim4/+bug/181948 Regards, -- Thierry Carrez
diff -u exim4-4.69/debian/patches/00list exim4-4.69/debian/patches/00list --- exim4-4.69/debian/patches/00list +++ exim4-4.69/debian/patches/00list @@ -14,0 +15 @@ +71_exiq_grep_error_on_messages_without_size.dpatch only in patch2: unchanged: --- exim4-4.69.orig/debian/patches/71_exiq_grep_error_on_messages_without_size.dpatch +++ exim4-4.69/debian/patches/71_exiq_grep_error_on_messages_without_size.dpatch @@ -0,0 +1,37 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 71_exiq_grep_error_on_messages_without_size.dpatch +## +## DP: https://bugs.edge.launchpad.net/ubuntu/+source/exim4/+bug/181948 +## DP: Patch from Daniel van Eeden + +...@dpatch@ +--- experimental~/build-tree//src/exiqgrep.src ++++ experimental/build-tree//src/exiqgrep.src +@@ -106,7 +106,26 @@ + # Increment message counter. + $count++; + } else { +- print STDERR "Line mismatch: $line\n"; exit 1; ++ if ($line =~ /^\s*(\w+)\s+(\w{6}-\w{6}-\w{2})\s+(<.*?>)/) { ++ my $msg = $2; ++ $id{$msg}{age} = $1; ++ $id{$msg}{size} = "0K"; ++ $id{$msg}{from} = $3; ++ $id{$msg}{birth} = &msg_utc($msg); ++ $id{$msg}{ages} = time - $id{$msg}{birth}; ++ if ($line =~ /\*\*\* frozen \*\*\*$/) { ++ $id{$msg}{frozen} = 1; ++ } else { ++ $id{$msg}{frozen} = 0; ++ } ++ while(<QUEUE> =~ /\s+(....@.*)$/) { ++ push(@{$id{$msg}{rcpt}},$1); ++ } ++ # Increment message counter. ++ $count++; ++ } else { ++ print STDERR "Line mismatch: $line\n"; exit 1; ++ } + } + } + close(QUEUE) or die("Error closing pipe: $!\n");