commit-mailutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Mailutils branch, master, updated. release-2.2-199-g90450be


From: Sergey Poznyakoff
Subject: [SCM] GNU Mailutils branch, master, updated. release-2.2-199-g90450be
Date: Tue, 16 Nov 2010 12:56:17 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mailutils".

http://git.savannah.gnu.org/cgit/mailutils.git/commit/?id=90450be6f2f902b26c3b63c901b729503a056ec3

The branch, master has been updated
       via  90450be6f2f902b26c3b63c901b729503a056ec3 (commit)
       via  08562ac4ef9b4d07d6ac0ff56af04f83dc4a1075 (commit)
      from  3d266601df7be584da838bca1f276c4ed92f3c65 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 90450be6f2f902b26c3b63c901b729503a056ec3
Author: Sergey Poznyakoff <address@hidden>
Date:   Tue Nov 16 13:20:49 2010 +0200

    mh: Optimize for speed.
    
    * mh/burst.c (transtab): Revamp as a proper translation table.
    It is indexed by the current state offset by 1 and the last read
    caracter.
    (token_num): Remove.
    (finish_stream, flush_stream): Inline functions.
    (burst_digest): Change transtab indexing.

commit 08562ac4ef9b4d07d6ac0ff56af04f83dc4a1075
Author: Sergey Poznyakoff <address@hidden>
Date:   Tue Nov 16 12:38:36 2010 +0200

    mh: further fixes in burst testsuite.
    
    * mh/burst.c: Minor changes.
    * mh/tests/burst.at: Remove host-specific information.

-----------------------------------------------------------------------

Summary of changes:
 mh/burst.c        |  211 +++++++++++++++++++++++++++++++++++++++++++----------
 mh/burstfsa.c     |  105 ++++++++++++++++++++++++++
 mh/tests/burst.at |   15 +---
 3 files changed, 282 insertions(+), 49 deletions(-)
 create mode 100644 mh/burstfsa.c

diff --git a/mh/burst.c b/mh/burst.c
index d26fef4..03b7eb7 100644
--- a/mh/burst.c
+++ b/mh/burst.c
@@ -192,31 +192,169 @@ burst_mime (mu_message_t msg)
 #define S5 5
 
 /* Negative state means no write */
-int transtab[][4] = {
-/*          DEF    '\n'   ' '   '-' */
-/* S1 */ {  S2,    S1,    S2,   -S3 },
-/* S2 */ {  S2,    S1,    S2,    S2 },
-/* S3 */ { -S4,   -S4,   -S2,   -S4 }, 
-/* S4 */ { -S4,   -S5,   -S4,   -S4 },
-/* S5 */ {  S2,   -S5,    S2,    S2 }
+int transtab[5][256] = {
+/* S1 */ {  S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S1,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2, -S3,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2 },
+/* S2 */ {  S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S1,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2 },
+/* S3 */ { -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S2, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4 },
+/* S4 */ { -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S5, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4, 
+           -S4, -S4, -S4, -S4, -S4, -S4, -S4, -S4 },
+/* S5 */ {  S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2, -S5,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2, 
+            S2,  S2,  S2,  S2,  S2,  S2,  S2,  S2 }
 };
 
-static int
-token_num(int c)
-{
-  switch (c)
-    {
-    case '\n':
-      return 1;
-    case ' ':
-      return 2;
-    case '-':
-      return 3;
-    default:
-      return 0;
-    }
-}
-
 #define F_FIRST  0x01  /* First part of the message (no EB seen so far) */
 #define F_ENCAPS 0x02  /* Within encapsulated part */
 
@@ -228,7 +366,7 @@ struct burst_stream
   size_t partno;       /* Number of the part within the message */
 };
 
-static void
+static inline void
 finish_stream (struct burst_stream *bs)
 {
   if (bs->stream)
@@ -249,7 +387,7 @@ finish_stream (struct burst_stream *bs)
     }
 }  
 
-static void
+static inline void
 flush_stream (struct burst_stream *bs, char *buf, size_t size)
 {
   int rc;
@@ -291,15 +429,14 @@ flush_stream (struct burst_stream *bs, char *buf, size_t 
size)
 
 /* Burst an RFC 934 digest.  Return 0 if OK, 1 if the message is not
    a valid digest.
-   FIXME: On errors, cleanup and return -1
+   FIXME: On errors, cleanup and return -1.
 */
 int
 burst_digest (mu_message_t msg)
 {
   mu_stream_t is;
-  char c;
+  unsigned char c;
   size_t n;
-  size_t count;
   int state = S1;
   int eb_length = 0;
   struct burst_stream bs;
@@ -311,10 +448,9 @@ burst_digest (mu_message_t msg)
   mh_message_number (msg, &bs.msgno);
   
   mu_message_get_streamref (msg, &is);
-  while (mu_stream_read (is, &c, 1, &n) == 0
-        && n == 1)
+  while (mu_stream_read (is, &c, 1, &n) == 0 && n == 1)
     {
-      int newstate = transtab[state - 1][token_num (c)];
+      int newstate = transtab[state - 1][c];
       int silent = 0;
       
       if (newstate < 0)
@@ -340,7 +476,7 @@ burst_digest (mu_message_t msg)
                }
            }
          else
-           for (; eb_length; eb_length--, count++)
+           for (; eb_length; eb_length--)
              flush_stream (&bs, "-", 1);
          eb_length = 0;
        }
@@ -360,10 +496,7 @@ burst_digest (mu_message_t msg)
        }
       state = newstate;
       if (!silent)
-       {
-         flush_stream (&bs, &c, 1);
-         count++;
-       }
+       flush_stream (&bs, (char*)&c, 1);
     }
   mu_stream_destroy (&is);
 
@@ -639,9 +772,9 @@ main (int argc, char **argv)
       mh_msgset_uids (mbox, &ms);
        
       mu_mailbox_get_url (mbox, &dst_url);
-      dir = mu_url_to_string (dst_url);
-      VERBOSE ((_("changing to `%s'"), dir + 3));
-      if (chdir (dir+3))
+      mu_url_sget_path (dst_url, &dir);
+      VERBOSE ((_("changing to `%s'"), dir));
+      if (chdir (dir))
        {
          mu_error (_("cannot change to `%s': %s"), dir, mu_strerror (errno));
          exit (1);
diff --git a/mh/burstfsa.c b/mh/burstfsa.c
new file mode 100644
index 0000000..f43d25b
--- /dev/null
+++ b/mh/burstfsa.c
@@ -0,0 +1,105 @@
+/* Generate FSA states for RFC 934 bursting agent.
+   Copyright (C) 2010 Free Software Foundation, Inc.
+
+   GNU Mailutils is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   GNU Mailutils is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with GNU Mailutils.  If not, see <http://www.gnu.org/licenses/>. */
+
+#include <stdio.h>
+
+/* Bursting FSA states accoring to RFC 934:
+   
+      S1 ::   "-" S3
+            | CRLF {CRLF} S1
+            | c {c} S2
+
+      S2 ::   CRLF {CRLF} S1
+            | c {c} S2
+
+      S3 ::   " " S2
+            | c S4     ;; the bursting agent should consider the current
+                      ;; message ended.  
+
+      S4 ::   CRLF S5
+            | c S4
+
+      S5 ::   CRLF S5
+            | c {c} S2 ;; The bursting agent should consider a new
+                      ;; message started
+*/
+
+static int
+token_num (int c)
+{
+  switch (c)
+    {
+    case '\n':
+      return 1;
+    case ' ':
+      return 2;
+    case '-':
+      return 3;
+    default:
+      return 0;
+    }
+}
+
+#define S1 1
+#define S2 2
+#define S3 3
+#define S4 4
+#define S5 5
+
+/* Negative state means no write */
+int transtab[][4] = {
+/*          DEF    '\n'   ' '   '-' */
+/* S1 */ {  S2,    S1,    S2,   -S3 },
+/* S2 */ {  S2,    S1,    S2,    S2 },
+/* S3 */ { -S4,   -S4,   -S2,   -S4 }, 
+/* S4 */ { -S4,   -S5,   -S4,   -S4 },
+/* S5 */ {  S2,   -S5,    S2,    S2 }
+};
+
+int
+main()
+{
+  int i, state;
+
+  for (state = S1; state <= S5; state++)
+    {
+      printf ("/* S%d */ { ", state);
+      for (i = 0; i < 256; i++)
+       {
+         int newstate = transtab[state - 1][token_num (i)];
+
+         if (i > 0)
+           {
+             putchar (',');
+             if (i % 8 == 0)
+               printf ("\n           ");
+           }
+         putchar (' ');
+         if (newstate < 0)
+           {
+             putchar ('-');
+             newstate = -newstate;
+           }
+         else
+           putchar (' ');
+         printf ("S%d", newstate);
+       }
+      printf (" },\n");
+    }
+  return 0;
+}
+  
+    
diff --git a/mh/tests/burst.at b/mh/tests/burst.at
index 2a2e4c3..b8f906c 100644
--- a/mh/tests/burst.at
+++ b/mh/tests/burst.at
@@ -125,13 +125,12 @@ Sergey
 MH_CHECK([burst mime],[burst02 burst-mime],[
 MUT_MBCOPY($abs_top_srcdir/testsuite/mh/mbox1,[Mail/inbox])
 burst +inbox 3 || exit $?
-grep -v ^X-Envelope-Date: Mail/inbox/6
+grep -v ^X-Envelope- Mail/inbox/6
 ],
 [0],
 [Content-Type: text/plain; name="msg.1"; charset="us-ascii"
 Content-ID: <address@hidden>
 Content-Description: How doth
-X-Envelope-Sender: address@hidden
 
 How doth the little crocodile
 Improve his shining tail,
@@ -147,16 +146,15 @@ With gently smiling jaws!
 MH_CHECK([burst mime recursive],[burst03 burst-mime-recursive],[
 MUT_MBCOPY($abs_top_srcdir/testsuite/mh/mbox1,[Mail/inbox])
 burst +inbox --recursive 4 || exit $?
-grep -v ^X-Envelope-Date: Mail/inbox/6
-grep -v ^X-Envelope-Date: Mail/inbox/7
-grep -v ^X-Envelope-Date: Mail/inbox/8
-grep -v ^X-Envelope-Date: Mail/inbox/9
+grep -v ^X-Envelope- Mail/inbox/6
+grep -v ^X-Envelope- Mail/inbox/7
+grep -v ^X-Envelope- Mail/inbox/8
+grep -v ^X-Envelope- Mail/inbox/9
 ],
 [0],
 [Content-Type: text/plain; name="msg.21"; charset="us-ascii"
 Content-ID: <address@hidden>
 Content-Description: Father William Part I
-X-Envelope-Sender: address@hidden
 
 `You are old, Father William,' the young man said,
 `And your hair has become very white;
@@ -172,7 +170,6 @@ Content-Type: application/octet-stream; name="msg.22"
 Content-ID: <address@hidden>
 Content-Description: Father William Part II
 Content-Transfer-Encoding: base64
-X-Envelope-Sender: address@hidden
 
 YFlvdSBhcmUgb2xkLCcgc2FpZCB0aGUgeW91dGgsIGBhcyBJIG1lbnRpb25lZCBiZWZvcmUsCkFu
 ZCBoYXZlIGdyb3duIG1vc3QgdW5jb21tb25seSBmYXQ7CllldCB5b3UgdHVybmVkIGEgYmFjay1z
@@ -185,7 +182,6 @@ Content-Type: application/octet-stream; name="msg.23"
 Content-ID: <address@hidden>
 Content-Description: Father William Part III
 Content-Transfer-Encoding: base64
-X-Envelope-Sender: address@hidden
 
 YFlvdSBhcmUgb2xkLCcgc2FpZCB0aGUgeW91dGgsIGBhbmQgeW91ciBqYXdzIGFyZSB0b28gd2Vh
 awpGb3IgYW55dGhpbmcgdG91Z2hlciB0aGFuIHN1ZXQ7CllldCB5b3UgZmluaXNoZWQgdGhlIGdv
@@ -198,7 +194,6 @@ Content-Type: application/octet-stream; name="msg.24"
 Content-ID: <address@hidden>
 Content-Description: Father William Part IV
 Content-Transfer-Encoding: base64
-X-Envelope-Sender: address@hidden
 
 YFlvdSBhcmUgb2xkLCcgc2FpZCB0aGUgeW91dGgsIGBvbmUgd291bGQgaGFyZGx5IHN1cHBvc2UK
 VGhhdCB5b3VyIGV5ZSB3YXMgYXMgc3RlYWR5IGFzIGV2ZXI7CllldCB5b3UgYmFsYW5jZWQgYW4g


hooks/post-receive
-- 
GNU Mailutils



reply via email to

[Prev in Thread] Current Thread [Next in Thread]