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

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Philip Hazel
日付:  
To: exim-cvs
題目: [exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog exim/exim-src/src daemon.c
ph10 2006/11/07 15:56:17 GMT

  Modified files:
    exim-doc/doc-txt     ChangeLog 
    exim-src/src         daemon.c 
  Log:
  Make -R and -S do something sensible when combined with -q<time>.


  Revision  Changes    Path
  1.428     +4 -0      exim/exim-doc/doc-txt/ChangeLog
  1.18      +24 -1     exim/exim-src/src/daemon.c


  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
  retrieving revision 1.427
  retrieving revision 1.428
  diff -u -r1.427 -r1.428
  --- ChangeLog    7 Nov 2006 14:13:18 -0000    1.427
  +++ ChangeLog    7 Nov 2006 15:56:17 -0000    1.428
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.427 2006/11/07 14:13:18 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.428 2006/11/07 15:56:17 ph10 Exp $


Change log file for Exim from version 4.21
-------------------------------------------
@@ -254,6 +254,10 @@

   PH/38 Despite being documented as not happening, Exim was rewriting addresses
         in header lines that were in fact CNAMEs. This is no longer the case.
  +
  +PH/39 If -R or -S was given with -q<time>, the effect of -R or -S was ignored,
  +      and queue runs started by the daemon processed all messages. This has
  +      been fixed so that -R and -S can now usefully be given with -q<time>.



Exim version 4.63

  Index: daemon.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/daemon.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- daemon.c    6 Nov 2006 11:27:54 -0000    1.17
  +++ daemon.c    7 Nov 2006 15:56:17 -0000    1.18
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/daemon.c,v 1.17 2006/11/06 11:27:54 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/daemon.c,v 1.18 2006/11/07 15:56:17 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -1629,6 +1629,8 @@
             {
             uschar opt[8];
             uschar *p = opt;
  +          uschar *extra[4];
  +          int extracount = 1;


             signal(SIGALRM, SIG_DFL);
             *p++ = '-';
  @@ -1639,8 +1641,29 @@
             if (deliver_force_thaw) *p++ = 'f';
             if (queue_run_local) *p++ = 'l';
             *p = 0;
  +          extra[0] = opt;
  +
  +          /* If -R or -S were on the original command line, ensure they get
  +          passed on. */
  +
  +          if (deliver_selectstring != NULL)
  +            {
  +            extra[extracount++] = deliver_selectstring_regex? US"-Rr" : US"-R";
  +            extra[extracount++] = deliver_selectstring;
  +            }
  +
  +          if (deliver_selectstring_sender != NULL)
  +            {
  +            extra[extracount++] = deliver_selectstring_sender_regex?
  +              US"-Sr" : US"-S";
  +            extra[extracount++] = deliver_selectstring_sender;
  +            }
  +
  +          /* Overlay this process with a new execution. */
  +
  +          (void)child_exec_exim(CEE_EXEC_PANIC, FALSE, NULL, TRUE, extracount,
  +            extra[0], extra[1], extra[2], extra[3], extra[4]);


  -          (void)child_exec_exim(CEE_EXEC_PANIC, FALSE, NULL, TRUE, 1, opt);
             /* Control never returns here. */
             }