From 1a7e668977ebdcc799c656dfbc11dd31a991282b Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 30 Mar 2015 10:56:23 -0400
Subject: [PATCH] Fix handling of %-encoded entities in mailto: URLs (#1490346)

---
 CHANGELOG                      |    1 +
 program/steps/mail/compose.inc |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 9877a08..be9ac21 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -5,6 +5,7 @@
 - Add initdb.sh to create database from initial.sql script with prefix support (#1490188)
 - Plugin API: Added message_part_body hook
 - Plugin API: Add special onload() method to execute plugin actions before startup (session and GUI initialization)
+- Fix handling of %-encoded entities in mailto: URLs (#1490346)
 
 RELEASE 1.1.1
 -------------
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index 4c3ecfb..007efc5 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -448,6 +448,8 @@
 
         // #1486037: remove "mailto:" prefix
         $COMPOSE['param']['to'] = preg_replace('/^mailto:/i', '', $mailto[0]);
+        // #1490346: decode the recipient address
+        $COMPOSE['param']['to'] = urldecode($COMPOSE['param']['to']);
 
         // Supported case-insensitive tokens in mailto URL
         $url_tokens = array('to', 'cc', 'bcc', 'reply-to', 'in-reply-to', 'references', 'subject', 'body');

--
Gitblit v1.9.1