alecpl
2010-07-06 9bb1fc7b0b7517412e16231685edf2ac264dbea0
- Make sure attachment name doesn't contain \r\n (#1486832)


1 files modified
13 ■■■■ changed files
program/steps/mail/get.inc 13 ●●●● patch | view | raw | blame | history
program/steps/mail/get.inc
@@ -55,7 +55,7 @@
    $ctype_primary = strtolower($part->ctype_primary);
    $ctype_secondary = strtolower($part->ctype_secondary);
    $mimetype = sprintf('%s/%s', $ctype_primary, $ctype_secondary);
    $browser = new rcube_browser;
    // send download headers
@@ -84,20 +84,21 @@
    else {
      // don't kill the connection if download takes more than 30 sec.
      @set_time_limit(0);
      $filename = $part->filename ? $part->filename : ($MESSAGE->subject ? $MESSAGE->subject : 'roundcube') . '.'.$ctype_secondary;
      $filename = preg_replace('[\r\n]', '', $filename);
      if ($browser->ie && $browser->ver < 7)
        $filename = rawurlencode(abbreviate_string($filename, 55));
      else if ($browser->ie)
        $filename = rawurlencode($filename);
      else
        $filename = addcslashes($filename, '"');
      $disposition = !empty($_GET['_download']) ? 'attachment' : 'inline';
      header("Content-Disposition: $disposition; filename=\"$filename\"");
      // turn off output buffering and print part content
      if ($part->body)
        echo $part->body;