Support old-format message_id spoolfiles for mailq / -bp. Bug 3050
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 19 Nov 2023 11:31:45 +0000 (11:31 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 19 Nov 2023 12:55:00 +0000 (12:55 +0000)
Broken-by: 46a36afae41f
doc/doc-txt/ChangeLog
src/src/queue.c
test/runtest
test/scripts/0000-Basic/0611
test/scripts/0000-Basic/0699
test/stderr/0699 [deleted file]
test/stdout/0699

index 8722e109f6298fd75deb229db2ebf287dd0cf73f..9ab50f08dfc22cdcfae21c1bf2f120e7bf9cadd0 100644 (file)
@@ -36,6 +36,9 @@ JH/06 Bug 3054: Fix dnsdb lookup for a TXT record with multiple chunks, with a
       chunk-separator specification.  This was broken by hardening introduced
       for Bug 3031.
 
+JH/07 Bug 3050: Fix -bp for old message_id format spoolfiles.  Previously it
+      included the -H with the id; this also messed up exiqgrep.
+
 
 
 Exim version 4.97
index deedcde6fb6de663af30673b7332bcd3412a076c..2c3d014f5638405404e06bacd0f2d7f73fcb4129 100644 (file)
@@ -961,7 +961,9 @@ each time. */
 
 if (option == QL_MSGID_ONLY)   /* Print only the message IDs from the chain */
   for (; qf; qf = qf->next)
-    fprintf(stdout, "%.*s\n", MESSAGE_ID_LENGTH, qf->text);
+    fprintf(stdout, "%.*s\n",
+      is_old_message_id(qf->text) ? MESSAGE_ID_LENGTH_OLD : MESSAGE_ID_LENGTH,
+      qf->text);
 
 else for (;
          qf && (reset_point = store_mark());
@@ -1021,7 +1023,9 @@ else for (;
     }
 
   fprintf(stdout, "%s %.*s",
-    string_format_size(size, big_buffer), MESSAGE_ID_LENGTH, qf->text);
+    string_format_size(size, big_buffer),
+    is_old_message_id(qf->text) ? MESSAGE_ID_LENGTH_OLD : MESSAGE_ID_LENGTH,
+    qf->text);
 
   if (env_read && sender_address)
     {
index 24f80d3a42f708a57921dd020d73034d2f97ef5d..8628ff29905e3f8e73c2e861d9c0a8da41ce576f 100755 (executable)
@@ -1073,7 +1073,9 @@ RESET_AFTER_EXTRA_LINE_READ:
     s/250-AUTH ANONYMOUS PLAIN SCRAM-SHA-1\K SCRAM-SHA-256//;
 
     # mailq times change with when the run is done, vs. static-source spoolfiles
-    s/\s*\d*[hd](?=   317 [0-9A-Za-z\-]{23} <nobody\@test.ex>)/DDd/;
+    s/\s*\d*[hd](?=   317 (?:[-0-9A-Za-z]{23}|[-0-9A-Za-z]{16}) <nobody\@test.ex>)/DDd/;
+    # mailq sizes change with caller running the test
+    s/\s[01]m   [34]\d\d(?= (?:[-0-9A-Za-z]{23}|[-0-9A-Za-z]{16}) <CALLER\@the.local.host.name>)/ 1m    396/;
 
     # Not all builds include EXPERIMENTAL_DSN_INFO (1 of 2)
     if (/^X-Exim-Diagnostic:/)
index 40d08fcf18458995c0e97bbd9aaed55cde4dc303..d032d66161604c4a1255ee62d855f1ec5fcec891 100644 (file)
@@ -1,4 +1,4 @@
-# max_parallel on transport
+# max_parallel on transport; exiqgrep
 need_ipv4
 #
 # Remote transport:
index 5dbcd38b8025b913edef401cd4b0b047a508fa6a..7bc0ecbe2de534b33d68c5854ff6dccbce4df34a 100644 (file)
@@ -1,6 +1,6 @@
 # message ID format manipulation
 # This testcase is for the 4.97 message-id format changeover
-# should can be dropped after a few further releases.
+# should be dropped after a few further releases.
 #
 # Ensure spooldir exists
 sudo mkdir -p DIR/spool/input
@@ -9,6 +9,8 @@ sudo mkdir -p DIR/spool/input
 sudo cp DIR/aux-fixed/TESTNUM/* DIR/spool/input/
 sudo chown -R EXIMUSER:EXIMGROUP DIR/spool/input/
 sudo chmod -R 640 DIR/spool/input/*
+exim -bp
+****
 exim -q
 ****
 #
@@ -39,3 +41,4 @@ exim -q
 #
 ### done
 no_msglog_check
+no_stderr_check
diff --git a/test/stderr/0699 b/test/stderr/0699
deleted file mode 100644 (file)
index f61a861..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-### Check that delivery of old-format spoolfiles works
-### Check that the format-mangler utility can downgrade spoolfiles
-### Check that the format-mangler utility can upgrade spoolfiles
-### done
-
-******** SERVER ********
-### Check that delivery of old-format spoolfiles works
-### Check that the format-mangler utility can downgrade spoolfiles
-### Check that the format-mangler utility can upgrade spoolfiles
-### done
index 025f2996bbe2b0e57e6b3ab498b7dfe3ef15e22e..885d579282b5791622deadd48b008d36a60c51a8 100644 (file)
@@ -1,4 +1,7 @@
 ### Check that delivery of old-format spoolfiles works
+TTT   sss 10HmaX-0005vi-00-H <nobody@test.ex>
+          nulldeliver@test.ex
+
 ### Check that the format-mangler utility can downgrade spoolfiles
 TTT   sss 10HmaX-000000005vi-0000 <CALLER@the.local.host.name>
           nulldeliver@test.ex