From 197203727417a03d87053a47e5aa5175a76e3e0b Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 17 Oct 2013 04:24:53 -0400
Subject: [PATCH] Fix vulnerability in handling _session argument of utils/save-prefs (#1489382)

---
 program/steps/mail/sendmdn.inc |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/program/steps/mail/sendmdn.inc b/program/steps/mail/sendmdn.inc
index 530dcac..8973cda 100644
--- a/program/steps/mail/sendmdn.inc
+++ b/program/steps/mail/sendmdn.inc
@@ -4,8 +4,8 @@
  +-----------------------------------------------------------------------+
  | program/steps/mail/sendmdn.inc                                        |
  |                                                                       |
- | This file is part of the RoundCube Webmail client                     |
- | Copyright (C) 2008, RoundCube Dev. - Switzerland                      |
+ | This file is part of the Roundcube Webmail client                     |
+ | Copyright (C) 2008-2009, The Roundcube Dev Team                       |
  | Licensed under the GNU GPL                                            |
  |                                                                       |
  | PURPOSE:                                                              |
@@ -15,15 +15,16 @@
  | Author: Thomas Bruederli <roundcube@gmail.com>                        |
  +-----------------------------------------------------------------------+
 
- $Id: sendmail.inc 930 2007-11-25 17:34:19Z thomasb $
+ $Id$
 
 */
 
-require_once('lib/rc_mail_mime.inc');
-
+// only process ajax requests
+if (!$OUTPUT->ajax_call)
+  return;
 
 if (!empty($_POST['_uid'])) {
-  $sent = rcmail_send_mdn(get_input_value('_uid', RCUBE_INPUT_POST));
+  $sent = rcmail_send_mdn(get_input_value('_uid', RCUBE_INPUT_POST), $smtp_error);
 }
 
 // show either confirm or error message
@@ -31,10 +32,11 @@
   $OUTPUT->set_env('mdn_request', false);
   $OUTPUT->show_message('receiptsent', 'confirmation');
 }
+else if ($smtp_error) {
+  $OUTPUT->show_message($smtp_error['label'], 'error', $smtp_error['vars']);
+}
 else {
   $OUTPUT->show_message('errorsendingreceipt', 'error');
 }
 
 $OUTPUT->send();
-
-?>
\ No newline at end of file

--
Gitblit v1.9.1