mirror of
https://bitbucket.org/jsuto/piler.git
synced 2024-11-08 04:11:59 +01:00
Sanitize emails after retrieving the from archive by adding proper CRLF line termination
Signed-off-by: Janos SUTO <sj@acts.hu>
This commit is contained in:
parent
0dfccc1473
commit
230ee7302f
@ -40,6 +40,12 @@ class ModelSearchMessage extends Model {
|
||||
}
|
||||
|
||||
|
||||
private function normalize_message($data = '') {
|
||||
$a = preg_split("/\r?\n/", $data);
|
||||
return implode("\r\n", $a);
|
||||
}
|
||||
|
||||
|
||||
public function get_raw_message($id = '') {
|
||||
$s = '';
|
||||
|
||||
@ -65,6 +71,8 @@ class ModelSearchMessage extends Model {
|
||||
$this->verification = $this->verify_message($id, $s);
|
||||
}
|
||||
|
||||
$s = $this->normalize_message($s);
|
||||
|
||||
if(Registry::get('auditor_user') == 0 && HEADER_LINE_TO_HIDE) {
|
||||
$s = preg_replace("/" . HEADER_LINE_TO_HIDE . ".{1,}(\n(\ |\t){1,}.{1,}){0,}" . "\n/i", "", $s);
|
||||
}
|
||||
|
@ -144,22 +144,12 @@ class Piler_Mime_Decode {
|
||||
public static function removeJournal(&$message, $EOL = "\n") {
|
||||
$has_journal = 0;
|
||||
|
||||
$crlfs = substr_count($message, "\r\n");
|
||||
|
||||
self::splitMessageRaw($message, $headers, $journal, $body);
|
||||
|
||||
if($journal) {
|
||||
$has_journal = 1;
|
||||
}
|
||||
|
||||
// If the message has >10 CRLF sequences, then we assume
|
||||
// that we need to restore the removed LF characters
|
||||
if($crlfs > 10) {
|
||||
$headers = str_replace("\n", "\r\n", $headers);
|
||||
$body = str_replace("\n", "\r\n", $body);
|
||||
$EOL = "\r\n";
|
||||
}
|
||||
|
||||
$message = $headers . $EOL . $EOL . $body;
|
||||
|
||||
return $has_journal;
|
||||
|
Loading…
Reference in New Issue
Block a user