Author: glen Date: Sat Mar 18 19:14:10 2006 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- message-id header case insensitivity fix
---- Files affected:
SOURCES:
eventum-msgid-case.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/eventum-msgid-case.patch
diff -u /dev/null SOURCES/eventum-msgid-case.patch:1.1
--- /dev/null Sat Mar 18 20:14:10 2006
+++ SOURCES/eventum-msgid-case.patch Sat Mar 18 20:14:04 2006
@@ -0,0 +1,74 @@
+Message-ID header can appear as Message-Id in some cases
+
+--- eventum-20060314/include/class.mail.php.orig 2006-03-15
16:09:19.000000000 +0200
++++ eventum-20060314/include/class.mail.php 2006-03-15 16:08:58.000000000
+0200
+@@ -786,10 +786,10 @@
+ function getReferenceMessageID($text_headers)
+ {
+ $references = array();
+- if (preg_match('/^In-Reply-To: (.*)/m', $text_headers, $matches)) {
++ if (preg_match('/^In-Reply-To: (.*)/mi', $text_headers, $matches)) {
+ return trim($matches[1]);
+ }
+- if (preg_match('/^References: (.+?)(\r?\n\r?\n|\r?\n\r?\S)/sm',
$text_headers, $matches)) {
++ if (preg_match('/^References: (.+?)(\r?\n\r?\n|\r?\n\r?\S)/smi',
$text_headers, $matches)) {
+ $references = explode(" ", Mail_API::unfold(trim($matches[1])));
+ $references = array_map('trim', $references);
+ // return the first message-id in the list of references
+@@ -809,10 +809,10 @@
+ function getAllReferences($text_headers)
+ {
+ $references = array();
+- if (preg_match('/^In-Reply-To: (.*)/m', $text_headers, $matches)) {
++ if (preg_match('/^In-Reply-To: (.*)/mi', $text_headers, $matches)) {
+ $references[] = trim($matches[1]);
+ }
+- if (preg_match('/^References: (.+?)(\r?\n\r?\n|\r?\n\r?\S)/sm',
$text_headers, $matches)) {
++ if (preg_match('/^References: (.+?)(\r?\n\r?\n|\r?\n\r?\S)/smi',
$text_headers, $matches)) {
+ $references = array_merge($references, explode(" ",
Mail_API::unfold(trim($matches[1]))));
+ $references = array_map('trim', $references);
+ $references = array_unique($references);
+@@ -863,20 +863,20 @@
+ $headers['message-id'] = $msg_id;
+ }
+
+- if (preg_match('/^In-Reply-To: (.*)/m', $text_headers) > 0) {
++ if (preg_match('/^In-Reply-To: (.*)/mi', $text_headers) > 0) {
+ // replace existing header
+- $text_headers = preg_replace('/^In-Reply-To: (.*)/m',
'In-Reply-To: ' . $reference_msg_id, $text_headers, 1);
++ $text_headers = preg_replace('/^In-Reply-To: (.*)/mi',
'In-Reply-To: ' . $reference_msg_id, $text_headers, 1);
+ } else {
+ // add new header after message ID
+- $text_headers = preg_replace('/^Message-ID: (.*)$/m',
"Message-ID: $1\r\nIn-Reply-To: $reference_msg_id", $text_headers, 1);
++ $text_headers = preg_replace('/^Message-ID: (.*)$/mi',
"Message-ID: $1\r\nIn-Reply-To: $reference_msg_id", $text_headers, 1);
+ }
+ $headers['in-reply-to'] = $reference_msg_id;
+- if (preg_match('/^References: (.*)/m', $text_headers) > 0) {
++ if (preg_match('/^References: (.*)/mi', $text_headers) > 0) {
+ // replace existing header
+- $text_headers = preg_replace('/^References: (.*)/m', 'References:
' . Mail_API::fold(join(' ', $references)), $text_headers, 1);
++ $text_headers = preg_replace('/^References: (.*)/mi',
'References: ' . Mail_API::fold(join(' ', $references)), $text_headers, 1);
+ } else {
+ // add new header after In-Reply-To
+- $text_headers = preg_replace('/^In-Reply-To: (.*)$/m',
"In-Reply-To: $1\r\nReferences: " . Mail_API::fold(join(' ', $references)),
$text_headers, 1);
++ $text_headers = preg_replace('/^In-Reply-To: (.*)$/mi',
"In-Reply-To: $1\r\nReferences: " . Mail_API::fold(join(' ', $references)),
$text_headers, 1);
+ }
+ $headers['references'] = Mail_API::fold(join(' ', $references));
+ return array($text_headers . "\r\n\r\n" . $body, $headers);
+@@ -976,7 +976,7 @@
+ function getMessageID($headers, $body)
+ {
+ // try to parse out actual message-id header
+- if (preg_match('/^Message-ID: (.*)/m', $headers, $matches)) {
++ if (preg_match('/^Message-ID: (.*)/mi', $headers, $matches)) {
+ return trim($matches[1]);
+ } else {
+ // no match, calculate hash to make fake message ID
+@@ -980,7 +980,6 @@
+ return trim($matches[1]);
+ } else {
+ // no match, calculate hash to make fake message ID
+- $md5 = md5($headers.$body);
+ $first = base_convert(md5($headers), 10, 36);
+ $second = base_convert(md5($body), 10, 36);
+ return "<eventum.." . $first . "." . $second . "@" . APP_HOSTNAME
. ">";
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit