Changeset c505e59 in github
- Timestamp:
- Sep 5, 2008 5:29:06 AM (5 years ago)
- Branches:
- master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
- Children:
- a6d7a9f
- Parents:
- c8a21d6
- Files:
-
- 4 edited
-
CHANGELOG (modified) (1 diff)
-
program/include/rcube_imap.php (modified) (1 diff)
-
program/include/rcube_message.php (modified) (2 diffs)
-
program/lib/washtml.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
CHANGELOG
r0dbac32 rc505e59 2 2 --------------------------- 3 3 4 2008/09/0 4(thomasb)4 2008/09/05 (thomasb) 5 5 ---------- 6 6 - Enable export of address book contacts as vCard 7 - Respect Content-Location headers in multipart/related messages according to RFC2110 (#1484946) 7 8 8 9 2008/09/04 (alec) -
program/include/rcube_imap.php
r97e9d16 rc505e59 1150 1150 $struct->disposition = 'inline'; 1151 1151 } 1152 1153 // fetch message headers if message/rfc822 1154 if ($struct->ctype_primary=='message') 1155 { 1156 $headers = iil_C_FetchPartBody($this->conn, $this->mailbox, $this->_msg_id, $struct->mime_id.'.HEADER'); 1157 $struct->headers = $this->_parse_headers($headers); 1158 1152 1153 // fetch message headers if message/rfc822 or named part (could contain Content-Location header) 1154 if ($struct->ctype_primary == 'message' || ($struct->ctype_parameters['name'] && !$struct->content_id)) { 1155 $part_headers = iil_C_FetchPartHeader($this->conn, $this->mailbox, $this->_msg_id, $struct->mime_id); 1156 $struct->headers = $this->_parse_headers($part_headers) + $struct->headers; 1157 } 1158 1159 if ($struct->ctype_primary=='message') { 1159 1160 if (is_array($part[8]) && empty($struct->parts)) 1160 1161 $struct->parts[] = $this->_structure_part($part[8], ++$count, $struct->mime_id); 1161 }1162 } 1162 1163 1163 1164 // normalize filename property -
program/include/rcube_message.php
r82bac87 rc505e59 357 357 $this->inline_parts[] = $mail_part; 358 358 } 359 else if ($message_ctype_secondary == 'related' && $mail_part->headers['content-location']) { 360 $mail_part->content_location = $mail_part->headers['content-base'] . $mail_part->headers['content-location']; 361 $this->inline_parts[] = $mail_part; 362 } 359 363 // is regular attachment 360 364 else { … … 371 375 372 376 foreach ($this->inline_parts as $inline_object) { 373 $a_replaces['cid:'.$inline_object->content_id] = $this->get_part_url($inline_object->mime_id); 377 $part_url = $this->get_part_url($inline_object->mime_id); 378 if ($inline_object->content_id) 379 $a_replaces['cid:'.$inline_object->content_id] = $part_url; 380 if ($inline_object->content_location) 381 $a_replaces[$inline_object->content_location] = $part_url; 374 382 } 375 383 -
program/lib/washtml.php
rd368a68 rc505e59 133 133 ')\s*/i', $str, $match)) { 134 134 if($match[2]) { 135 if(preg_match('/^(http|https|ftp):.*$/i', $match[2], $url)) { 135 if($src = $this->config['cid_map'][$match[2]]) 136 $value .= ' url(\''.htmlspecialchars($src, ENT_QUOTES) . '\')'; 137 else if(preg_match('/^(http|https|ftp):.*$/i', $match[2], $url)) { 136 138 if($this->config['allow_remote']) 137 139 $value .= ' url(\''.htmlspecialchars($url[0], ENT_QUOTES).'\')'; 138 140 else 139 141 $this->extlinks = true; 140 } else if(preg_match('/^cid:(.*)$/i', $match[2], $cid)) 141 $value .= ' url(\''.htmlspecialchars($this->config['cid_map']['cid:'.$cid[1]], ENT_QUOTES) . '\')'; 142 } 142 143 } else if($match[0] != 'url' && $match[0] != 'rbg')//whitelist ? 143 144 $value .= ' ' . $match[0]; … … 165 166 $t .= ' style="' . $style . '"'; 166 167 else if($key == 'src' && strtolower($node->tagName) == 'img') { //check tagName anyway 167 if(preg_match('/^(http|https|ftp):.*/i', $value)) { 168 if($src = $this->config['cid_map'][$value]) { 169 $t .= ' ' . $key . '="' . htmlspecialchars($src, ENT_QUOTES) . '"'; 170 } 171 else if(preg_match('/^(http|https|ftp):.*/i', $value)) { 168 172 if($this->config['allow_remote']) 169 173 $t .= ' ' . $key . '="' . htmlspecialchars($value, ENT_QUOTES) . '"'; … … 173 177 $t .= ' src="' . htmlspecialchars($this->config['blocked_src'], ENT_QUOTES) . '"'; 174 178 } 175 } else if(preg_match('/^cid:(.*)$/i', $value, $cid)) 176 $t .= ' ' . $key . '="' . htmlspecialchars($this->config['cid_map']['cid:'.$cid[1]], ENT_QUOTES) . '"'; 179 } 177 180 } else 178 181 $washed .= ($washed?' ':'') . $key;
Note: See TracChangeset
for help on using the changeset viewer.
