[Pkg-owncloud-commits] [php-sabredav] 35/42: IMipHandler did not strip mailto: frome email addresses.

David Prévot taffit at moszumanska.debian.org
Fri Nov 28 22:47:51 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository php-sabredav.

commit 60fcd59c04bf3d14bd9e9741342fc0d8a629aec6
Author: Evert Pot <me at evertpot.com>
Date:   Thu Nov 20 11:49:28 2014 -0500

    IMipHandler did not strip mailto: frome email addresses.
    
    Also, the unittest was wrong ;)
    
    Fixes #561
---
 ChangeLog.md                                   |  6 ++++
 lib/CalDAV/Schedule/IMipPlugin.php             | 11 ++++--
 lib/DAV/Version.php                            |  2 +-
 tests/Sabre/CalDAV/Schedule/IMipPluginTest.php | 46 +++++++++++++++++++++-----
 4 files changed, 54 insertions(+), 11 deletions(-)

diff --git a/ChangeLog.md b/ChangeLog.md
index 20c3837..4e05576 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,6 +1,12 @@
 ChangeLog
 =========
 
+2.1.1 (2014-??-??)
+------------------
+
+* #561: IMip Plugin didn't strip mailto: from email addresses.
+
+
 2.1.0 (2014-11-19)
 ------------------
 
diff --git a/lib/CalDAV/Schedule/IMipPlugin.php b/lib/CalDAV/Schedule/IMipPlugin.php
index 5b0f9de..0e2132d 100644
--- a/lib/CalDAV/Schedule/IMipPlugin.php
+++ b/lib/CalDAV/Schedule/IMipPlugin.php
@@ -107,11 +107,18 @@ class IMipPlugin extends DAV\ServerPlugin {
 
         $summary = $iTipMessage->message->VEVENT->SUMMARY;
 
-        $sender = $iTipMessage->sender;
+        if (parse_url($iTipMessage->sender, PHP_URL_SCHEME)!=='mailto')
+            return;
+
+        if (parse_url($iTipMessage->recipient, PHP_URL_SCHEME)!=='mailto')
+            return;
+
+        $sender = substr($iTipMessage->sender,7);
+        $recipient = substr($iTipMessage->recipient,7);
+
         if ($iTipMessage->senderName) {
             $sender = $iTipMessage->senderName . ' <' . $sender . '>';
         }
-        $recipient = $iTipMessage->recipient;
         if ($iTipMessage->recipientName) {
             $recipient = $iTipMessage->recipientName . ' <' . $recipient . '>';
         }
diff --git a/lib/DAV/Version.php b/lib/DAV/Version.php
index 918d505..fbb5cac 100644
--- a/lib/DAV/Version.php
+++ b/lib/DAV/Version.php
@@ -14,6 +14,6 @@ class Version {
     /**
      * Full version number
      */
-    const VERSION = '2.1.0';
+    const VERSION = '2.1.1';
 
 }
diff --git a/tests/Sabre/CalDAV/Schedule/IMipPluginTest.php b/tests/Sabre/CalDAV/Schedule/IMipPluginTest.php
index f1062fd..e2ab17b 100644
--- a/tests/Sabre/CalDAV/Schedule/IMipPluginTest.php
+++ b/tests/Sabre/CalDAV/Schedule/IMipPluginTest.php
@@ -11,9 +11,9 @@ class IMipPluginTest extends \PHPUnit_Framework_TestCase {
     function testDeliverReply() {
 
         $message = new Message();
-        $message->sender = 'sender at example.org';
+        $message->sender = 'mailto:sender at example.org';
         $message->senderName = 'Sender';
-        $message->recipient = 'recipient at example.org';
+        $message->recipient = 'mailto:recipient at example.org';
         $message->recipientName = 'Recipient';
         $message->method = 'REPLY';
 
@@ -50,12 +50,42 @@ ICS;
 
     }
 
+    function testDeliverReplyNoMailto() {
+
+        $message = new Message();
+        $message->sender = 'mailto:sender at example.org';
+        $message->senderName = 'Sender';
+        $message->recipient = 'http://example.org/recipient';
+        $message->recipientName = 'Recipient';
+        $message->method = 'REPLY';
+
+        $ics = <<<ICS
+BEGIN:VCALENDAR\r
+METHOD:REPLY\r
+BEGIN:VEVENT\r
+SUMMARY:Birthday party\r
+END:VEVENT\r
+END:VCALENDAR\r
+
+ICS;
+
+
+        $message->message = Reader::read($ics);
+
+        $result = $this->schedule($message);
+
+        $expected = [];
+
+        $this->assertEquals($expected, $result);
+
+    }
+
     function testDeliverRequest() {
 
         $message = new Message();
-        $message->sender = 'sender at example.org';
+        $message->sender = 'mailto:sender at example.org';
         $message->senderName = 'Sender';
-        $message->recipient = 'recipient at example.org';
+        $message->recipient = 'mailto:recipient at example.org';
         $message->recipientName = 'Recipient';
         $message->method = 'REQUEST';
 
@@ -95,9 +125,9 @@ ICS;
     function testDeliverCancel() {
 
         $message = new Message();
-        $message->sender = 'sender at example.org';
+        $message->sender = 'mailto:sender at example.org';
         $message->senderName = 'Sender';
-        $message->recipient = 'recipient at example.org';
+        $message->recipient = 'mailto:recipient at example.org';
         $message->recipientName = 'Recipient';
         $message->method = 'CANCEL';
 
@@ -150,9 +180,9 @@ ICS;
     function testDeliverInsignificantRequest() {
 
         $message = new Message();
-        $message->sender = 'sender at example.org';
+        $message->sender = 'mailto:sender at example.org';
         $message->senderName = 'Sender';
-        $message->recipient = 'recipient at example.org';
+        $message->recipient = 'mailto:recipient at example.org';
         $message->recipientName = 'Recipient';
         $message->method = 'REQUEST';
         $message->significantChange = false;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/php-sabredav.git



More information about the Pkg-owncloud-commits mailing list