From 037af6890fe6fdb84a08d3c86083e847c90ec0ad Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Tue, 22 Oct 2013 08:17:26 -0400
Subject: [PATCH] Fix vulnerability in handling _session argument of utils/save-prefs (#1489382)

---
 plugins/zipdownload/zipdownload.php |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/plugins/zipdownload/zipdownload.php b/plugins/zipdownload/zipdownload.php
index 8bad9b3..443fef7 100644
--- a/plugins/zipdownload/zipdownload.php
+++ b/plugins/zipdownload/zipdownload.php
@@ -30,9 +30,9 @@
 		}
 
 		$rcmail = rcmail::get_instance();
-		$this->charset = $rcmail->config->get('zipdownload_charset', RCMAIL_CHARSET);
 
 		$this->load_config();
+		$this->charset = $rcmail->config->get('zipdownload_charset', RCUBE_CHARSET);
 		$this->add_texts('localization');
 
 		if ($rcmail->config->get('zipdownload_attachments', 1) > -1 && ($rcmail->action == 'show' || $rcmail->action == 'preview'))
@@ -105,7 +105,7 @@
 		foreach ($message->attachments as $part) {
 			$pid = $part->mime_id;
 			$part = $message->mime_parts[$pid];
-			$disp_name = $this->_convert_filename($part->filename, $part->charset);
+			$disp_name = $this->_convert_filename($part->filename);
 
 			if ($part->body) {
 				$orig_message_raw = $part->body;
@@ -208,7 +208,7 @@
 				$disp_name = "message_rfc822.eml";
 
 			$disp_name = $uid . "_" . $disp_name;
-			
+
 			$tmpfn = tempnam($temp_dir, 'zipmessage');
 			$tmpfp = fopen($tmpfn, 'w');
 			$imap->get_raw_body($uid, $tmpfp);
@@ -258,10 +258,10 @@
 	/**
 	 * Helper function to convert filenames to the configured charset
 	 */
-	private function _convert_filename($str, $from = RCMAIL_CHARSET)
+	private function _convert_filename($str)
 	{
-		return strtr(rcube_charset_convert($str, $from, $this->charset), array(':'=>'', '/'=>'-'));
+        $str = rcube_charset::convert($str, RCUBE_CHARSET, $this->charset);
+
+		return strtr($str, array(':'=>'', '/'=>'-'));
 	}
 }
-
-?>
\ No newline at end of file

--
Gitblit v1.9.1