[exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog NewSt…

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: exim-cvs
Subject: [exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog NewStuff exim/exim-src ACKNOWLEDGMENTS exim/exim-src/exim_monitor em_log.c em_version.c exim/exim-src/src exigrep.src eximstats.src globals.c l
ph10 2007/01/31 16:52:13 GMT

  Modified files:
    exim-doc/doc-txt     ChangeLog NewStuff 
    exim-src             ACKNOWLEDGMENTS 
    exim-src/exim_monitor em_log.c em_version.c 
    exim-src/src         exigrep.src eximstats.src globals.c log.c 
                         macros.h 
    exim-test            README runtest 
  Added files:
    exim-test/confs      0551 
    exim-test/log        0551 
    exim-test/mail       0551.userx 0551.usery 0551.userz 
    exim-test/scripts/0000-Basic 0551 
    exim-test/stdout     0551 
  Log:
  Heiko Schlitterman's patch for log_selector=+pid, plus appropriate
  patches for eximstats and eximon (his patch dealt with exigrep).


  Revision  Changes    Path
  1.467     +2 -0      exim/exim-doc/doc-txt/ChangeLog
  1.134     +4 -0      exim/exim-doc/doc-txt/NewStuff
  1.71      +1 -0      exim/exim-src/ACKNOWLEDGMENTS
  1.5       +9 -3      exim/exim-src/exim_monitor/em_log.c
  1.5       +1 -1      exim/exim-src/exim_monitor/em_version.c
  1.4       +3 -3      exim/exim-src/src/exigrep.src
  1.13      +11 -2     exim/exim-src/src/eximstats.src
  1.67      +3 -0      exim/exim-src/src/globals.c
  1.12      +13 -3     exim/exim-src/src/log.c
  1.31      +16 -15    exim/exim-src/src/macros.h
  1.7       +7 -1      exim/exim-test/README
  1.1       +36 -0     exim/exim-test/confs/0551 (new)
  1.1       +11 -0     exim/exim-test/log/0551 (new)
  1.1       +31 -0     exim/exim-test/mail/0551.userx (new)
  1.1       +10 -0     exim/exim-test/mail/0551.usery (new)
  1.1       +10 -0     exim/exim-test/mail/0551.userz (new)
  1.23      +45 -0     exim/exim-test/runtest
  1.1       +14 -0     exim/exim-test/scripts/0000-Basic/0551 (new)
  1.1       +26 -0     exim/exim-test/stdout/0551 (new)


  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
  retrieving revision 1.466
  retrieving revision 1.467
  diff -u -r1.466 -r1.467
  --- ChangeLog    31 Jan 2007 11:30:08 -0000    1.466
  +++ ChangeLog    31 Jan 2007 16:52:12 -0000    1.467
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.466 2007/01/31 11:30:08 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.467 2007/01/31 16:52:12 ph10 Exp $


   Change log file for Exim from version 4.21
   -------------------------------------------
  @@ -68,6 +68,8 @@
         values).


PH/13 Added ${rfc2047d: to decoded RFC 2047 strings.
+
+PH/14 Added log_selector = +pid.


Exim version 4.66

  Index: NewStuff
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/NewStuff,v
  retrieving revision 1.133
  retrieving revision 1.134
  diff -u -r1.133 -r1.134
  --- NewStuff    31 Jan 2007 11:30:08 -0000    1.133
  +++ NewStuff    31 Jan 2007 16:52:12 -0000    1.134
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.133 2007/01/31 11:30:08 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.134 2007/01/31 16:52:12 ph10 Exp $


   New Features in Exim
   --------------------
  @@ -227,6 +227,10 @@
       marks. Characters are converted into the character set defined by
       headers_charset. Overlong RFC 2047 "words" are not recognized unless
       check_rfc2047_length is set false.
  +
  +10. There is a new log selector called "pid", which causes the current process
  +    id to be added to every log line, in square brackets, immediately after the
  +    time and date.



Version 4.66

  Index: ACKNOWLEDGMENTS
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/ACKNOWLEDGMENTS,v
  retrieving revision 1.70
  retrieving revision 1.71
  diff -u -r1.70 -r1.71
  --- ACKNOWLEDGMENTS    31 Jan 2007 11:30:08 -0000    1.70
  +++ ACKNOWLEDGMENTS    31 Jan 2007 16:52:12 -0000    1.71
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-src/ACKNOWLEDGMENTS,v 1.70 2007/01/31 11:30:08 ph10 Exp $
  +$Cambridge: exim/exim-src/ACKNOWLEDGMENTS,v 1.71 2007/01/31 16:52:12 ph10 Exp $


EXIM ACKNOWLEDGEMENTS

  @@ -240,6 +240,7 @@
   Peter Savitch             Diagnosis of FPE bug when statvfs() fails on spool
   Harald Schueler           Patch for dn_expand() failure on truncated data
   Heiko Schlichting         Diagnosis of intermittent daemon crash bug
  +Heiko Schlitterman        Proposed patch for +pid
   Stephan Schulz            Patch for $host_data caching error
   Lai Zit Seng              Patch for radiusclient 0.4.9 interface bugs
   Tony Sheen                Log files with datestamped names and auto rollover


  Index: em_log.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/exim_monitor/em_log.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- em_log.c    8 Jan 2007 10:50:17 -0000    1.4
  +++ em_log.c    31 Jan 2007 16:52:12 -0000    1.5
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/exim_monitor/em_log.c,v 1.4 2007/01/08 10:50:17 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/exim_monitor/em_log.c,v 1.5 2007/01/31 16:52:12 ph10 Exp $ */


   /*************************************************
   *                 Exim Monitor                   *
  @@ -7,7 +7,7 @@
   /* Copyright (c) University of Cambridge 1995 - 2007 */
   /* See the file NOTICE for conditions of use and distribution. */


-/* This module contains code for scanning the smaill log,
+/* This module contains code for scanning the main log,
extracting information from it, and displaying a "tail". */

   #include "em_hdr.h"
  @@ -250,14 +250,20 @@
         }


       /* Munge the log entry and display shortened form on one line.
  -    We omit the date and show only the time. Remove any time zone offset. */
  +    We omit the date and show only the time. Remove any time zone offset.
  +    Take note of the presence of [pid]. */


       if (pcre_exec(yyyymmdd_regex,NULL,CS buffer,length,0,PCRE_EOPT,NULL,0) >= 0)
         {
  +      int pidlength = 0;
         if ((buffer[20] == '+' || buffer[20] == '-') &&
             isdigit(buffer[21]) && buffer[25] == ' ')
           memmove(buffer + 20, buffer + 26, Ustrlen(buffer + 26) + 1);
  -      id = string_copyn(buffer + 20, MESSAGE_ID_LENGTH);
  +      if (buffer[20] == '[')
  +        {
  +        while (Ustrchr("[]0123456789", buffer[20+pidlength++]) != NULL);
  +        }
  +      id = string_copyn(buffer + 20 + pidlength, MESSAGE_ID_LENGTH);
         show_log("%s", buffer+11);
         }
       else


  Index: em_version.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/exim_monitor/em_version.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- em_version.c    8 Jan 2007 10:50:17 -0000    1.4
  +++ em_version.c    31 Jan 2007 16:52:12 -0000    1.5
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/exim_monitor/em_version.c,v 1.4 2007/01/08 10:50:17 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/exim_monitor/em_version.c,v 1.5 2007/01/31 16:52:12 ph10 Exp $ */


   /*************************************************
   *                  Exim Monitor                  *
  @@ -21,7 +21,7 @@
   int i = 0;
   uschar today[20];


-version_string = US"2.05";
+version_string = US"2.06";

Ustrcpy(today, __DATE__);
if (today[4] == ' ') i = 1;

  Index: exigrep.src
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/exigrep.src,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- exigrep.src    1 Aug 2005 13:28:30 -0000    1.3
  +++ exigrep.src    31 Jan 2007 16:52:12 -0000    1.4
  @@ -1,9 +1,9 @@
   #! PERL_COMMAND -w
  -# $Cambridge: exim/exim-src/src/exigrep.src,v 1.3 2005/08/01 13:28:30 ph10 Exp $
  +# $Cambridge: exim/exim-src/src/exigrep.src,v 1.4 2007/01/31 16:52:12 ph10 Exp $


use strict;

-# Copyright (c) 2004 University of Cambridge.
+# Copyright (c) 2007 University of Cambridge.
# See the file NOTICE for conditions of use and distribution.

# Except when they appear in comments, the following placeholders in this
@@ -68,9 +68,9 @@

# Handle the case when the log line belongs to a specific message. We save
# lines for specific messages until the message is complete. Then either print
-# discard.
+# or discard.

  -if (my($id) = $entry =~ /^(\w{6}\-\w{6}\-\w{2})/)
  +if (my($id) = $entry =~ /^(?:\[\d+\]\s)?(\w{6}\-\w{6}\-\w{2})/)
     {
     $saved{$id} = '' unless defined($saved{$id});



  Index: eximstats.src
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/eximstats.src,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- eximstats.src    22 Jan 2007 15:14:01 -0000    1.12
  +++ eximstats.src    31 Jan 2007 16:52:12 -0000    1.13
  @@ -1,5 +1,5 @@
   #!PERL_COMMAND -w
  -# $Cambridge: exim/exim-src/src/eximstats.src,v 1.12 2007/01/22 15:14:01 steve Exp $
  +# $Cambridge: exim/exim-src/src/eximstats.src,v 1.13 2007/01/31 16:52:12 ph10 Exp $


   # Copyright (c) 2001 University of Cambridge.
   # See the file NOTICE for conditions of use and distribution.
  @@ -260,6 +260,9 @@
   # 2006-11-27  V1.52 Steve Campbell
   #             Tally any reject message containing SpamAssassin.
   #
  +# 2007-01-31  V1.53 Philip Hazel
  +#             Allow for [pid] after date in log lines
  +#
   #
   #
   # For documentation on the logfile format, see
  @@ -558,7 +561,7 @@


   @days_per_month = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334);
   $gig     = 1024 * 1024 * 1024;
  -$VERSION = '1.52';
  +$VERSION = '1.53';


# How much space do we allow for the Hosts/Domains/Emails/Edomains column headers?
$COLUMN_WIDTHS = 8;
@@ -1821,7 +1824,7 @@

       $length = length($_);
       next if ($length < 38);
  -    next unless /^(\\d{4}\\-\\d\\d-\\d\\d\\s(\\d\\d):(\\d\\d):\\d\\d( [-+]\\d\\d\\d\\d)?)/o;
  +    next unless /^(\\d{4}\\-\\d\\d-\\d\\d\\s(\\d\\d):(\\d\\d):\\d\\d( [-+]\\d\\d\\d\\d)?)( \\[\\d+\\])?/o;


       ($tod,$m_hour,$m_min) = ($1,$2,$3);


  @@ -1832,6 +1835,12 @@
       }
       else {
         $extra = 0;
  +    }
  +
  +    # PH - watch for PID added after the timestamp.
  +    if (defined($5)) {
  +      $extra += length($5);
  +      next if ($length < 38 + $extra);
       }


       $id   = substr($_, 20 + $extra, 16);


  Index: globals.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/globals.c,v
  retrieving revision 1.66
  retrieving revision 1.67
  diff -u -r1.66 -r1.67
  --- globals.c    30 Jan 2007 15:10:59 -0000    1.66
  +++ globals.c    31 Jan 2007 16:52:12 -0000    1.67
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/globals.c,v 1.66 2007/01/30 15:10:59 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/globals.c,v 1.67 2007/01/31 16:52:12 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -668,6 +668,8 @@
   independently. This separation became necessary when the number of log
   selectors was getting close to filling a 32-bit word. */


  +/* Note that this list must be in alphabetical order. */
  +
   bit_table log_options[]        = {
     { US"acl_warn_skipped",             LX_acl_warn_skipped },
     { US"address_rewrite",              L_address_rewrite },
  @@ -686,6 +688,7 @@
     { US"incoming_port",                LX_incoming_port },
     { US"lost_incoming_connection",     L_lost_incoming_connection },
     { US"outgoing_port",                LX_outgoing_port },
  +  { US"pid",                          LX_pid },
     { US"queue_run",                    L_queue_run },
     { US"queue_time",                   LX_queue_time },
     { US"queue_time_overall",           LX_queue_time_overall },


  Index: log.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/log.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- log.c    8 Jan 2007 10:50:18 -0000    1.11
  +++ log.c    31 Jan 2007 16:52:12 -0000    1.12
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/log.c,v 1.11 2007/01/08 10:50:18 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/log.c,v 1.12 2007/01/31 16:52:12 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -732,11 +732,21 @@
   id except for the process log and when called by a utility. */


ptr = log_buffer;
+sprintf(CS ptr, "%s ", tod_stamp(tod_log));
+while(*ptr) ptr++;
+
+if ((log_extra_selector & LX_pid) != 0)
+ {
+ sprintf(CS ptr, "[%d] ", (int)getpid());
+ while (*ptr) ptr++;
+ }
+
if (really_exim && (flags & LOG_PROCESS) == 0 && message_id[0] != 0)
- sprintf(CS ptr, "%s %s ", tod_stamp(tod_log), message_id);
-else sprintf(CS ptr, "%s ", tod_stamp(tod_log));
+ {
+ sprintf(CS ptr, "%s ", message_id);
+ while(*ptr) ptr++;
+ }

-while(*ptr) ptr++;
if ((flags & LOG_CONFIG) != 0) ptr = log_config_info(ptr, flags);

va_start(ap, format);

  Index: macros.h
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/macros.h,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- macros.h    15 Jan 2007 15:59:22 -0000    1.30
  +++ macros.h    31 Jan 2007 16:52:12 -0000    1.31
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/macros.h,v 1.30 2007/01/15 15:59:22 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/macros.h,v 1.31 2007/01/31 16:52:12 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -378,21 +378,22 @@
   #define LX_incoming_interface          0x80000020
   #define LX_incoming_port               0x80000040
   #define LX_outgoing_port               0x80000080
  -#define LX_queue_time                  0x80000100
  -#define LX_queue_time_overall          0x80000200
  -#define LX_received_sender             0x80000400
  -#define LX_received_recipients         0x80000800
  -#define LX_rejected_header             0x80001000
  -#define LX_return_path_on_delivery     0x80002000
  -#define LX_sender_on_delivery          0x80004000
  -#define LX_sender_verify_fail          0x80008000
  -#define LX_smtp_confirmation           0x80010000
  -#define LX_smtp_no_mail                0x80020000
  -#define LX_subject                     0x80040000
  -#define LX_tls_certificate_verified    0x80080000
  -#define LX_tls_cipher                  0x80100000
  -#define LX_tls_peerdn                  0x80200000
  -#define LX_unknown_in_list             0x80400000
  +#define LX_pid                         0x80000100
  +#define LX_queue_time                  0x80000200
  +#define LX_queue_time_overall          0x80000400
  +#define LX_received_sender             0x80000800
  +#define LX_received_recipients         0x80001000
  +#define LX_rejected_header             0x80002000
  +#define LX_return_path_on_delivery     0x80004000
  +#define LX_sender_on_delivery          0x80008000
  +#define LX_sender_verify_fail          0x80010000
  +#define LX_smtp_confirmation           0x80020000
  +#define LX_smtp_no_mail                0x80040000
  +#define LX_subject                     0x80080000
  +#define LX_tls_certificate_verified    0x80100000
  +#define LX_tls_cipher                  0x80200000
  +#define LX_tls_peerdn                  0x80400000
  +#define LX_unknown_in_list             0x80800000


   #define L_default     (L_connection_reject        | \
                          L_delay_delivery           | \


  Index: README
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/README,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- README    23 Jan 2007 11:01:10 -0000    1.6
  +++ README    31 Jan 2007 16:52:12 -0000    1.7
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-test/README,v 1.6 2007/01/23 11:01:10 ph10 Exp $
  +$Cambridge: exim/exim-test/README,v 1.7 2007/01/31 16:52:12 ph10 Exp $


EXPORTABLE EXIM TEST SUITE
--------------------------
@@ -6,7 +6,7 @@
This document last updated for:

Test Suite Version: 4.67
-Date: 23 January 2007
+Date: 31 January 2007


   BACKGROUND
  @@ -635,6 +635,12 @@
     exinext <data>


This command runs the exinext utility with the given argument data.
+
+
+ exigrep <data>
+
+This command runs the exigrep utility with the given data (the search pattern)
+on the current mainlog file.


     gnutls


  Index: runtest
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/runtest,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- runtest    23 Jan 2007 14:57:51 -0000    1.22
  +++ runtest    31 Jan 2007 16:52:12 -0000    1.23
  @@ -1,6 +1,6 @@
   #! /usr/bin/perl -w


-# $Cambridge: exim/exim-test/runtest,v 1.22 2007/01/23 14:57:51 ph10 Exp $
+# $Cambridge: exim/exim-test/runtest,v 1.23 2007/01/31 16:52:12 ph10 Exp $

   ###############################################################################
   # This is the controlling script for the "new" test suite for Exim. It should #
  @@ -432,6 +432,10 @@
     # Time on queue tolerance
     s/QT=1s/QT=0s/;


  +  # Eximstats heading
  +  s/Exim\sstatistics\sfrom\s\d{4}-\d\d-\d\d\s\d\d:\d\d:\d\d\sto\s
  +    \d{4}-\d\d-\d\d\s\d\d:\d\d:\d\d/Exim statistics from <time> to <time>/x;
  +


     # ======== Caller's login, uid, gid, home ========


  @@ -497,6 +501,10 @@
     # Pid in temp file in appendfile transport
     s"test-mail/temp\.\d+\."test-mail/temp.pppp.";


  +  # Optional pid in log lines
  +  s/^(\d{4}-\d\d-\d\d\s\d\d:\d\d:\d\d)(\s[+-]\d\d\d\d|)(\s\[\d+\])/
  +    "$1$2 [" . new_value($3, "%s", \$next_pid) . "]"/gxe;
  +
     # Detect a daemon stderr line with a pid and save the pid for subsequent
     # removal from following lines.
     $spid = $1 if /^(\s*\d+) (?:listening|LOG: MAIN|(?:daemon_smtp_port|local_interfaces) overridden by)/;
  @@ -590,6 +598,8 @@
     s/\+0100,\d+;/+0100,ddd;/;
     s/\(\d+ bytes written\)/(ddd bytes written)/;
     s/added '\d+ 1'/added 'ddd 1'/;
  +  s/Received\s+\d+/Received               nnn/;
  +  s/Delivered\s+\d+/Delivered              nnn/;



     # ======== Values in spool space failure message ========
  @@ -1413,6 +1423,30 @@
     }



  +# The "exigrep" command runs exigrep on the current mainlog
  +
  +if (/^exigrep\s+(.*)/)
  +  {
  +  run_system("(./eximdir/exigrep " .
  +    "$1 $parm_cwd/spool/log/mainlog;" .
  +    "echo exigrep exit code = \$?)" .
  +    ">>test-stdout");
  +  return 1;
  +  }
  +
  +
  +# The "eximstats" command runs eximstats on the current mainlog
  +
  +if (/^eximstats\s+(.*)/)
  +  {
  +  run_system("(./eximdir/eximstats " .
  +    "$1 $parm_cwd/spool/log/mainlog;" .
  +    "echo eximstats exit code = \$?)" .
  +    ">>test-stdout");
  +  return 1;
  +  }
  +
  +
   # The "gnutls" command makes a copy of saved GnuTLS parameter data in the
   # spool directory, to save Exim from re-creating it each time.


  @@ -2535,6 +2569,16 @@
     tests_exit(-1, "Failed to make a copy of exinext: $!");
     }


+if (system("cp $parm_exim_dir/exigrep eximdir") != 0)
+ {
+ tests_exit(-1, "Failed to make a copy of exigrep: $!");
+ }
+
+if (system("cp $parm_exim_dir/eximstats eximdir") != 0)
+ {
+ tests_exit(-1, "Failed to make a copy of eximstats: $!");
+ }
+

   ##################################################
   #    Check that the Exim user can access stuff   #
  @@ -2904,6 +2948,7 @@


     undef %cache;
     $next_msgid = "aX";
  +  $next_pid = 1234;
     $next_port = 1111;
     $message_skip = 0;
     $msglog_skip = 0;


Index: 0551
====================================================================
# Exim test configuration 0551

LS=+pid

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 -----

log_selector = LS

# ----- Routers -----

begin routers

  r1:
    driver = accept
    transport = t1



# ----- Transports -----

begin transports

  t1:
    driver = appendfile
    user = CALLER
    file = DIR/test-mail/$local_part


# End

Index: 0551
====================================================================
1999-03-02 09:44:33 [1234] 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 [1235] 10HmaX-0005vi-00 => userx <userx@???> R=r1 T=t1
1999-03-02 09:44:33 [1235] 10HmaX-0005vi-00 => usery <usery@???> R=r1 T=t1
1999-03-02 09:44:33 [1235] 10HmaX-0005vi-00 Completed
1999-03-02 09:44:33 [1236] 10HmaY-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 [1237] 10HmaY-0005vi-00 => userx <userx@???> R=r1 T=t1
1999-03-02 09:44:33 [1237] 10HmaY-0005vi-00 => userz <userz@???> R=r1 T=t1
1999-03-02 09:44:33 [1237] 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 10HmaZ-0005vi-00 => userx <userx@???> R=r1 T=t1
1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed

  Index: 0551.userx
  ====================================================================
  From CALLER@??? Tue Mar 02 09:44:33 1999
  Received: from CALLER by myhost.test.ex with local (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmaX-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
  Message-Id: <E10HmaX-0005vi-00@???>
  From: CALLER_NAME <CALLER@???>
  Date: Tue, 2 Mar 1999 09:44:33 +0000


Message 1

  From CALLER@??? Tue Mar 02 09:44:33 1999
  Received: from CALLER by myhost.test.ex with local (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmaY-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
  Message-Id: <E10HmaY-0005vi-00@???>
  From: CALLER_NAME <CALLER@???>
  Date: Tue, 2 Mar 1999 09:44:33 +0000


Message 2

  From CALLER@??? Tue Mar 02 09:44:33 1999
  Received: from CALLER by myhost.test.ex with local (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmaZ-0005vi-00
      for userx@???; Tue, 2 Mar 1999 09:44:33 +0000
  Message-Id: <E10HmaZ-0005vi-00@???>
  From: CALLER_NAME <CALLER@???>
  Date: Tue, 2 Mar 1999 09:44:33 +0000


Message 3


  Index: 0551.usery
  ====================================================================
  From CALLER@??? Tue Mar 02 09:44:33 1999
  Received: from CALLER by myhost.test.ex with local (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmaX-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
  Message-Id: <E10HmaX-0005vi-00@???>
  From: CALLER_NAME <CALLER@???>
  Date: Tue, 2 Mar 1999 09:44:33 +0000


Message 1


  Index: 0551.userz
  ====================================================================
  From CALLER@??? Tue Mar 02 09:44:33 1999
  Received: from CALLER by myhost.test.ex with local (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmaY-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
  Message-Id: <E10HmaY-0005vi-00@???>
  From: CALLER_NAME <CALLER@???>
  Date: Tue, 2 Mar 1999 09:44:33 +0000


Message 2


Index: 0551
====================================================================
# log_selector = +pid
#
exim -odi userx@??? usery@???
Message 1
****
exim -odi userx@??? userz@???
Message 2
****
exim -DLS= -odi userx@???
Message 3
****
exigrep userx
eximstats -ne -nr -nt -tnl -q0 -h0 -t0
no_msglog_check

Index: 0551
====================================================================
1999-03-02 09:44:33 [1234] 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 [1235] 10HmaX-0005vi-00 => userx <userx@???> R=r1 T=t1
1999-03-02 09:44:33 [1235] 10HmaX-0005vi-00 => usery <usery@???> R=r1 T=t1
1999-03-02 09:44:33 [1235] 10HmaX-0005vi-00 Completed

1999-03-02 09:44:33 [1236] 10HmaY-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 [1237] 10HmaY-0005vi-00 => userx <userx@???> R=r1 T=t1
1999-03-02 09:44:33 [1237] 10HmaY-0005vi-00 => userz <userz@???> R=r1 T=t1
1999-03-02 09:44:33 [1237] 10HmaY-0005vi-00 Completed

1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 10HmaZ-0005vi-00 => userx <userx@???> R=r1 T=t1
1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed

exigrep exit code = 0

Exim statistics from <time> to <time>

  Grand total summary
  -------------------
                                                                    At least one address
    TOTAL               Volume   Messages Addresses     Hosts      Delayed       Failed
    Received               nnn          3                   1       0  0.0%      0  0.0%
    Delivered              nnn          5         5         1


eximstats exit code = 0