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

Startseite
Nachricht löschen
Nachricht beantworten
Autor: Philip Hazel
Datum:  
To: exim-cvs
Betreff: [exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog exim/exim-src/src expand.c functions.h parse.c sieve.c
ph10 2006/03/08 11:13:07 GMT

  Modified files:
    exim-doc/doc-txt     ChangeLog 
    exim-src/src         expand.c functions.h parse.c sieve.c 
  Log:
  Allow for linefold when generating more than one RFC 2047 encoded-word.
  Sieve uses this.


  Revision  Changes    Path
  1.326     +4 -0      exim/exim-doc/doc-txt/ChangeLog
  1.57      +1 -1      exim/exim-src/src/expand.c
  1.24      +1 -1      exim/exim-src/src/functions.h
  1.9       +5 -2      exim/exim-src/src/parse.c
  1.19      +1 -1      exim/exim-src/src/sieve.c


  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
  retrieving revision 1.325
  retrieving revision 1.326
  diff -u -r1.325 -r1.326
  --- ChangeLog    8 Mar 2006 10:49:18 -0000    1.325
  +++ ChangeLog    8 Mar 2006 11:13:07 -0000    1.326
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.325 2006/03/08 10:49:18 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.326 2006/03/08 11:13:07 ph10 Exp $


   Change log file for Exim from version 4.21
   -------------------------------------------
  @@ -295,6 +295,10 @@
         responses to authentication challenges, though it was showing the
         challenges; (ii) I've removed the CR characters from the debug output for
         SMTP output lines.
  +
  +PH/58 Allow for the insertion of a newline as well as a space when a string
  +      is turned into more than one encoded-word during RFC 2047 encoding. The
  +      Sieve code now uses this.



Exim version 4.60

  Index: expand.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/expand.c,v
  retrieving revision 1.56
  retrieving revision 1.57
  diff -u -r1.56 -r1.57
  --- expand.c    1 Mar 2006 11:40:51 -0000    1.56
  +++ expand.c    8 Mar 2006 11:13:07 -0000    1.57
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/expand.c,v 1.56 2006/03/01 11:40:51 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/expand.c,v 1.57 2006/03/08 11:13:07 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -4737,7 +4737,7 @@
           {
           uschar buffer[2048];
           uschar *string = parse_quote_2047(sub, Ustrlen(sub), headers_charset,
  -          buffer, sizeof(buffer));
  +          buffer, sizeof(buffer), FALSE);
           yield = string_cat(yield, &size, &ptr, string, Ustrlen(string));
           continue;
           }


  Index: functions.h
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/functions.h,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- functions.h    28 Feb 2006 11:25:40 -0000    1.23
  +++ functions.h    8 Mar 2006 11:13:07 -0000    1.24
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/functions.h,v 1.23 2006/02/28 11:25:40 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/functions.h,v 1.24 2006/03/08 11:13:07 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -176,7 +176,7 @@
   extern uschar *parse_find_at(uschar *);
   extern uschar *parse_fix_phrase(uschar *, int, uschar *, int);
   extern uschar *parse_message_id(uschar *, uschar **, uschar **);
  -extern uschar *parse_quote_2047(uschar *, int, uschar *, uschar *, int);
  +extern uschar *parse_quote_2047(uschar *, int, uschar *, uschar *, int, BOOL);


   extern BOOL    queue_action(uschar *, int, uschar **, int, int);
   extern void    queue_check_only(void);


  Index: parse.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/parse.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- parse.c    28 Feb 2006 11:25:40 -0000    1.8
  +++ parse.c    8 Mar 2006 11:13:07 -0000    1.9
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/parse.c,v 1.8 2006/02/28 11:25:40 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/parse.c,v 1.9 2006/03/08 11:13:07 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -854,6 +854,8 @@
     charset      the name of the character set; NULL => iso-8859-1
     buffer       the buffer to put the answer in
     buffer_size  the size of the buffer
  +  fold         if TRUE, a newline is inserted before the separating space when
  +                 more than one encoded-word is generated


   Returns:       pointer to the original string, if no quoting needed, or
                  pointer to buffer containing the quoted string, or
  @@ -863,7 +865,7 @@


   uschar *
   parse_quote_2047(uschar *string, int len, uschar *charset, uschar *buffer,
  -  int buffer_size)
  +  int buffer_size, BOOL fold)
   {
   uschar *s = string;
   uschar *p, *t;
  @@ -890,6 +892,7 @@
       {
       *t++ = '?';
       *t++ = '=';
  +    if (fold) *t++ = '\n';
       *t++ = ' ';
       p = t;
       Ustrncpy(p, buffer, hlen);
  @@ -989,7 +992,7 @@
     if ((*s < 32 && *s != '\t') || *s > 126) break;


if (i < len) return parse_quote_2047(phrase, len, headers_charset, buffer,
- buffer_size);
+ buffer_size, FALSE);

/* No non-printers; use the RFC 822 quoting rules */


  Index: sieve.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/sieve.c,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- sieve.c    1 Mar 2006 10:40:03 -0000    1.18
  +++ sieve.c    8 Mar 2006 11:13:07 -0000    1.19
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/sieve.c,v 1.18 2006/03/01 10:40:03 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/sieve.c,v 1.19 2006/03/08 11:13:07 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -2854,7 +2854,7 @@
             /* Allocation is larger than neccessary, but enough even for split MIME words */
             buffer_capacity=32+4*subject.length;
             buffer=store_get(buffer_capacity);
  -          addr->reply->subject=parse_quote_2047(subject.character, subject.length, US"utf-8", buffer, buffer_capacity);
  +          addr->reply->subject=parse_quote_2047(subject.character, subject.length, US"utf-8", buffer, buffer_capacity, TRUE);
             addr->reply->oncelog=once;
             addr->reply->once_repeat=days*86400;