gunnar: server/php-kolab/Kolab_Storage/patches/Kolab_Storage-0.4.0 Kolab_Storage_0.4.0_p1.patch, NONE, 1.1 Kolab_Storage_0.4.0_p2.patch, NONE, 1.1 t_framework_HK_SW_Kolab__Storage_DovecotSharedFolderOwner.patch, NONE, 1.1

cvs at kolab.org cvs at kolab.org
Mon Jan 18 10:45:12 CET 2010


Author: gunnar

Update of /kolabrepository/server/php-kolab/Kolab_Storage/patches/Kolab_Storage-0.4.0
In directory doto:/tmp/cvs-serv22898/patches/Kolab_Storage-0.4.0

Added Files:
	Kolab_Storage_0.4.0_p1.patch Kolab_Storage_0.4.0_p2.patch 
	t_framework_HK_SW_Kolab__Storage_DovecotSharedFolderOwner.patch 
Log Message:
Correct patch location for new build system. Remove the spec file. It is being generated now.

--- NEW FILE: Kolab_Storage_0.4.0_p1.patch ---
From: Gunnar Wrobel <wrobel at pardus.de>
Subject: [PATCH] Kolab_Storage_0.4.0_p1.patch

Fixes a unit test.

STATUS: MERGED

http://cvs.horde.org/diff.php/framework/Kolab_Storage/test/Horde/Kolab/Storage/FolderTest.php?r1=1.2.2.8&r2=1.2.2.9

Signed-off-by: Gunnar Wrobel <wrobel at pardus.de>

Index: a/framework/Kolab_Storage/test/Horde/Kolab/Storage/FolderTest.php
===================================================================
RCS file: /repository/framework/Kolab_Storage/test/Horde/Kolab/Storage/FolderTest.php,v
retrieving revision 1.2.2.8
diff -u -B -r1.2.2.8 FolderTest.php
--- a/framework/Kolab_Storage/test/Horde/Kolab/Storage/FolderTest.php     6 Jan 2009 15:23:18 -0000       1.2.2.8
+++ b/framework/Kolab_Storage/test/Horde/Kolab/Storage/FolderTest.php     24 Apr 2009 07:51:45 -0000
@@ -162,7 +162,7 @@
      */
     public function testGetImapFailNoServer()
     {
-        $session = &new Horde_Kolab_Session();
+        $session = Horde_Kolab_Session::singleton('anonymous', null, true);
         $imap = $session->getImapParams();
         $this->assertEquals('localhost', $imap['hostspec']);
     }

--- NEW FILE: Kolab_Storage_0.4.0_p2.patch ---
From: Gunnar Wrobel <wrobel at pardus.de>
Subject: [PATCH] Kolab_Storage_0.4.0_p2.patch

Fixes unit testing in Kolab_FreeBusy.

STATUS: MERGED

http://lists.horde.org/archives/cvs/Week-of-Mon-20090420/087649.html
http://lists.horde.org/archives/cvs/Week-of-Mon-20090420/087650.html

Signed-off-by: Gunnar Wrobel <wrobel at pardus.de>

Index: a/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Folder.php
===================================================================
RCS file: /repository/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Folder.php,v
retrieving revision 1.7.2.19
diff -u -B -r1.7.2.19 Folder.php
--- a/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Folder.php	24 Feb 2009 07:40:40 -0000	1.7.2.19
+++ b/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Folder.php	25 Apr 2009 18:41:09 -0000
@@ -1422,6 +1422,11 @@
             return $iresult;
         }
 
+        if (!empty($this->_perms)) {
+            /** Refresh the cache after changing the permissions */
+            $this->_perms->getPerm();
+        }
+
         $result = $this->trigger();
         if (is_a($result, 'PEAR_Error')) {
             Horde::logMessage(sprintf('Failed triggering folder %s! Error was: %s',
Index: a/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List.php
===================================================================
RCS file: /repository/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List.php,v
retrieving revision 1.3.2.7
diff -u -B -r1.3.2.7 List.php
--- a/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List.php	23 Feb 2009 21:33:19 -0000	1.3.2.7
+++ b/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List.php	25 Apr 2009 18:41:10 -0000
@@ -96,7 +96,7 @@
      *
      * @return Kolab_Folders_List  The concrete List reference.
      */
-    function &singleton()
+    function &singleton($destruct = false)
     {
         static $list;
 
@@ -107,7 +107,7 @@
             $list = $session->query('kolab_folderlist');
         }
 
-        if (empty($list[Auth::getAuth()])) {
+        if (empty($list[Auth::getAuth()]) || $destruct) {
             $list[Auth::getAuth()] = new Kolab_List();
         }
 
Index: a/framework/Kolab_Storage/lib/Horde/Kolab/Test/Storage.php
===================================================================
RCS file: /repository/framework/Kolab_Storage/lib/Horde/Kolab/Test/Storage.php,v
retrieving revision 1.1.2.4
diff -u -B -r1.1.2.4 Storage.php
--- a/framework/Kolab_Storage/lib/Horde/Kolab/Test/Storage.php	24 Feb 2009 07:40:40 -0000	1.1.2.4
+++ b/framework/Kolab_Storage/lib/Horde/Kolab/Test/Storage.php	25 Apr 2009 18:41:10 -0000
@@ -92,6 +92,11 @@
             $folder->setName($arguments[0]);
             $world['folder_creation'] = $folder->save(array('type' => 'event',
                                                             'default' => true));
+            $folder->setACL(Auth::getAuth(), 'alrid');
+            break;
+        case 'allow a group full access to a folder':
+            $folder = $world['storage']->getFolder($arguments[1]);
+            $folder->setACL($arguments[0], 'alrid');
             break;
         case 'retrieving the list of shares for the application':
             require_once 'Horde/Share.php';
@@ -100,6 +105,11 @@
 
             $world['list'] = $shares->listShares(Auth::getAuth());
             break;
+        case 'logging in as a user with a password':
+            $world['login'] = $world['auth']->authenticate($arguments[0],
+                                                           array('password' => $arguments[1]));
+            $world['storage'] = &$this->prepareEmptyKolabStorage();
+            return parent::runWhen($world, $action, $arguments);
         default:
             return parent::runWhen($world, $action, $arguments);
         }
@@ -153,7 +163,7 @@
         $GLOBALS['KOLAB_TESTING'] = array();
 
         /** Prepare a Kolab test storage */
-        $storage = Kolab_List::singleton();
+        $storage = Kolab_List::singleton(true);
         return $storage;
     }
 

--- NEW FILE: t_framework_HK_SW_Kolab__Storage_DovecotSharedFolderOwner.patch ---
In the Kolab Cyrus Imap server mailboxes shared by other users are
named following the pattern:

  user/USERNAME/MAILBOX

Where USERNAME is the sharing users name _without_ the domain part.
Other IMAP servers however might specify the USERNAME including the
domain -- this is the case for example with some Dovecot setups.

The current code assumes the behavior of Cyrus and adds the users
domain to construct the fully qualified owner of an shared folder.

This Patch looks at the extracted USERNAME and if it already contains
an at-sign, if so no extra domain part is added.


diff -c a/a/horde-webmail/lib/Horde/Kolab/Storage/Folder.php b/horde-webmail/lib/Horde/Kolab/Storage/Folder.php
--- a/a/horde-webmail/lib/Horde/Kolab/Storage/Folder.php
+++ b/a/horde-webmail/lib/Horde/Kolab/Storage/Folder.php
@@ -494,9 +494,13 @@
             if (substr($matches[1], 0, 6) == 'INBOX/') {
                 $this->_owner = Auth::getAuth();
             } elseif (substr($matches[1], 0, 5) == 'user/') {
-                $domain = strstr(Auth::getAuth(), '@');
-                $user_domain = isset($matches[4]) ? $matches[4] : $domain;
-                $this->_owner = $matches[2] . $user_domain;
+                if (strpos($matches[2], '@') === FALSE) {
+                    $domain = strstr(Auth::getAuth(), '@');
+                    $user_domain = isset($matches[4]) ? $matches[4] : $domain;
+                    $this->_owner = $matches[2] . $user_domain;
+                } else {
+                    $this->_owner = $matches[2];
+                }
             } elseif ($matches[1] == 'shared.') {
                 $this->_owner =  'anonymous';
             }

Diff finished.  Wed Feb 18 17:55:20 2009





More information about the commits mailing list