ph10 2007/06/19 15:41:31 BST
Modified files:
exim-doc/doc-txt ChangeLog NewStuff
exim-src/src exim.c macros.h queue.c
Added files:
exim-test/confs 0560
exim-test/log 0560
exim-test/scripts/0000-Basic 0560
exim-test/stdout 0560
Log:
Add -Mvc option.
Revision Changes Path
1.515 +2 -0 exim/exim-doc/doc-txt/ChangeLog
1.150 +4 -0 exim/exim-doc/doc-txt/NewStuff
1.56 +6 -1 exim/exim-src/src/exim.c
1.34 +4 -1 exim/exim-src/src/macros.h
1.12 +11 -4 exim/exim-src/src/queue.c
1.1 +15 -0 exim/exim-test/confs/0560 (new)
1.1 +1 -0 exim/exim-test/log/0560 (new)
1.1 +12 -0 exim/exim-test/scripts/0000-Basic/0560 (new)
1.1 +13 -0 exim/exim-test/stdout/0560 (new)
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.514
retrieving revision 1.515
diff -u -r1.514 -r1.515
--- ChangeLog 19 Jun 2007 13:32:05 -0000 1.514
+++ ChangeLog 19 Jun 2007 14:41:31 -0000 1.515
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.514 2007/06/19 13:32:05 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.515 2007/06/19 14:41:31 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -59,6 +59,8 @@
PH/07 The error message for a badly-placed control=no_multiline_responses left
"_responses" off the end of the name.
+
+PH/08 Added -Mvc to output a copy of a message in RFC 2822 format.
Exim version 4.67
Index: NewStuff
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/NewStuff,v
retrieving revision 1.149
retrieving revision 1.150
diff -u -r1.149 -r1.150
--- NewStuff 18 Jun 2007 13:57:49 -0000 1.149
+++ NewStuff 19 Jun 2007 14:41:31 -0000 1.150
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.149 2007/06/18 13:57:49 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.150 2007/06/19 14:41:31 ph10 Exp $
New Features in Exim
--------------------
@@ -42,6 +42,10 @@
cipher used for incoming messages. In fact, during SMTP delivery, it
contains the cipher used for the delivery. The same is true for
$tls_peerdn.
+
+ 4. There is now a -Mvc <message-id> option, which outputs a copy of the
+ message to the standard output, in RFC 2822 format. The option can be used
+ only by an admin user.
Version 4.67
Index: exim.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/exim.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -r1.55 -r1.56
--- exim.c 30 Jan 2007 15:10:59 -0000 1.55
+++ exim.c 19 Jun 2007 14:41:31 -0000 1.56
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/exim.c,v 1.55 2007/01/30 15:10:59 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/exim.c,v 1.56 2007/06/19 14:41:31 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -2283,6 +2283,7 @@
-Mes edit sender
-Mset load a message for use with -be
-Mvb show body
+ -Mvc show copy (of whole message, in RFC 2822 format)
-Mvh show header
-Mvl show log
*/
@@ -2330,6 +2331,11 @@
msg_action = MSG_SHOW_BODY;
one_msg_action = TRUE;
}
+ else if (Ustrcmp(argrest, "vc") == 0)
+ {
+ msg_action = MSG_SHOW_COPY;
+ one_msg_action = TRUE;
+ }
else if (Ustrcmp(argrest, "vh") == 0)
{
msg_action = MSG_SHOW_HEADER;
@@ -3474,7 +3480,6 @@
else
{
int i, j;
-
for (i = 0; i < group_count; i++)
{
if (group_list[i] == exim_gid) admin_user = TRUE;
Index: macros.h
===================================================================
RCS file: /home/cvs/exim/exim-src/src/macros.h,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- macros.h 13 Mar 2007 15:32:48 -0000 1.33
+++ macros.h 19 Jun 2007 14:41:31 -0000 1.34
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/macros.h,v 1.33 2007/03/13 15:32:48 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/macros.h,v 1.34 2007/06/19 14:41:31 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -732,7 +732,10 @@
enum { MSG_DELIVER, MSG_FREEZE, MSG_REMOVE, MSG_THAW, MSG_ADD_RECIPIENT,
MSG_MARK_ALL_DELIVERED, MSG_MARK_DELIVERED, MSG_EDIT_SENDER,
- MSG_SHOW_BODY, MSG_SHOW_HEADER, MSG_SHOW_LOG, MSG_LOAD };
+ MSG_SHOW_COPY, MSG_LOAD,
+ /* These ones must be last: a test for >= MSG_SHOW_BODY is used
+ to test for actions that list individual spool files. */
+ MSG_SHOW_BODY, MSG_SHOW_HEADER, MSG_SHOW_LOG };
/* Returns from the spool_read_header() function */
Index: queue.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/queue.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- queue.c 8 Jan 2007 10:50:18 -0000 1.11
+++ queue.c 19 Jun 2007 14:41:31 -0000 1.12
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/queue.c,v 1.11 2007/01/08 10:50:18 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/queue.c,v 1.12 2007/06/19 14:41:31 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -936,9 +936,9 @@
* Act on a specific message *
*************************************************/
-/* Actions that require a list of addresses make use of
-argv/argc/recipients_arg. Other actions do not. This function does its
-own authority checking.
+/* Actions that require a list of addresses make use of argv/argc/
+recipients_arg. Other actions do not. This function does its own
+authority checking.
Arguments:
id id of the message to work on
@@ -1093,10 +1093,17 @@
/* Take the necessary action. */
-printf("Message %s ", id);
+if (action != MSG_SHOW_COPY) printf("Message %s ", id);
switch(action)
{
+ case MSG_SHOW_COPY:
+ deliver_in_buffer = store_malloc(DELIVER_IN_BUFFER_SIZE);
+ deliver_out_buffer = store_malloc(DELIVER_OUT_BUFFER_SIZE);
+ transport_write_message(NULL, 1, 0, 0, NULL, NULL, NULL, NULL, NULL, 0);
+ break;
+
+
case MSG_FREEZE:
if (deliver_freeze)
{
Index: 0560
====================================================================
# Exim test configuration 0560
exim_path = EXIM_PATH
host_lookup_order = bydns
primary_hostname = myhost.test.ex
rfc1413_query_timeout = 0s
spool_directory = DIR/spool
log_file_path = DIR/spool/log/%slog
gecos_pattern = ""
gecos_name = CALLER_NAME
# ----- Main settings -----
# End
Index: 0560
====================================================================
1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
Index: 0560
====================================================================
# -Mvc
exim -odq userx@???
From: Somebody <abcd@???>
To: first@???
another@???
Subject: Testing -Mvc
This is a test message of no great importance.
****
exim -Mvc $msg1
****
no_msglog_check
Index: 0560
====================================================================
Received: from CALLER by myhost.test.ex with local (Exim x.yz)
(envelope-from <CALLER@???>)
id 10HmaX-0005vi-00
for userx@???; Tue, 2 Mar 1999 09:44:33 +0000
From: Somebody <abcd@???>
To: first@???
another@???
Subject: Testing -Mvc
Message-Id: <E10HmaX-0005vi-00@???>
Sender: CALLER_NAME <CALLER@???>
Date: Tue, 2 Mar 1999 09:44:33 +0000
This is a test message of no great importance.