2010-11-17 [colin] 3.7.6cvs64
authorColin Leroy <colin@colino.net>
Wed, 17 Nov 2010 19:32:19 +0000 (19:32 +0000)
committerColin Leroy <colin@colino.net>
Wed, 17 Nov 2010 19:32:19 +0000 (19:32 +0000)
* src/common/utils.c
Fix multiple @ in generated message-ids.
That's not allowed in RFC 2822.

ChangeLog
PATCHSETS
configure.ac
src/common/utils.c

index ba4b96cd93d4dbc0a75360927faaec8f50ecd783..fbdbaddecca9f835690e89dfff3b1833d7b30721 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-11-17 [colin]     3.7.6cvs64
+
+       * src/common/utils.c
+               Fix multiple @ in generated message-ids.
+               That's not allowed in RFC 2822.
+
 2010-11-16 [mones]     3.7.6cvs63
 
        * manual/es/advanced.xml
index 8eb54d01ee6e13e258590655d13f66be0d2cedae..c953c5b470126cdc5dbd024c7cdf1e276269c40e 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.28.2.43 -r 1.28.2.44 src/addrindex.c;  ) > 3.7.6cvs61.patchset
 ( cvs diff -u -r 1.60.2.55 -r 1.60.2.56 src/filtering.c;  ) > 3.7.6cvs62.patchset
 ( cvs diff -u -r 1.1.2.15 -r 1.1.2.16 manual/es/advanced.xml;  ) > 3.7.6cvs63.patchset
+( cvs diff -u -r 1.36.2.187 -r 1.36.2.188 src/common/utils.c;  ) > 3.7.6cvs64.patchset
index 28f9e32e6b4d1da330f5459064ca5bdca50c8ab7..6fa9b2e13b7aac691196fad27be01ddfb481eaed 100644 (file)
@@ -12,7 +12,7 @@ MINOR_VERSION=7
 MICRO_VERSION=6
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=63
+EXTRA_VERSION=64
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 01467f6faf138df6de0801d052fbd4a81f0c9dcc..03f81a3869af7c0cc1831f05cecf0c1710f07567 100644 (file)
@@ -3870,6 +3870,12 @@ gchar *generate_msgid(gchar *buf, gint len, gchar *user_addr)
                }
        }
 
+       /* Replace all @ but the last one in addr, with underscores.
+        * RFC 2822 States that msg-id syntax only allows one @.
+        */
+       while (strchr(addr, '@') != NULL && strchr(addr, '@') != strrchr(addr, '@'))
+               *(strchr(addr, '@')) = '_';
+
        g_snprintf(buf, len, "%04d%02d%02d%02d%02d%02d.%08x%s",
                   lt->tm_year + 1900, lt->tm_mon + 1,
                   lt->tm_mday, lt->tm_hour,