Branch '2.3-stable' - pear/Kolab_Freebusy release-notes.txt

Gunnar Wrobel wrobel at kolabsys.com
Wed Aug 31 09:18:51 CEST 2011


 pear/Kolab_Freebusy/ChangeLog                                    |    6 
 pear/Kolab_Freebusy/Kolab_FreeBusy.spec                          |    2 
 pear/Kolab_Freebusy/package.info                                 |    2 
 pear/Kolab_Freebusy/patches/Kolab_FreeBusy-0.5.2/issue4765.patch |  165 ++++++++++
 release-notes.txt                                                |    4 
 5 files changed, 177 insertions(+), 2 deletions(-)

New commits:
commit 1a1c8706b4873f6356d4f11f1ad3255ddb077a64
Author: Gunnar Wrobel <p at rdus.de>
Date:   Wed Aug 31 07:18:40 2011 +0000

    kolab/issue4765 (Freebusy trigger fails if using localpart of user)

diff --git a/pear/Kolab_Freebusy/ChangeLog b/pear/Kolab_Freebusy/ChangeLog
index ba5dbb9..e3ab463 100644
--- a/pear/Kolab_Freebusy/ChangeLog
+++ b/pear/Kolab_Freebusy/ChangeLog
@@ -1,3 +1,9 @@
+2011-08-26  Gunnar Wrobel  <p at rdus.de>
+
+	* patches/Kolab_FreeBusy-0.5.2/issue4765.patch:
+
+	kolab/issue4765 (Freebusy trigger fails if using localpart of user)
+
 2011-05-30  Gunnar Wrobel  <p at rdus.de>
 
 	* Kolab_FreeBusy.spec: Update to 0.5.2
diff --git a/pear/Kolab_Freebusy/Kolab_FreeBusy.spec b/pear/Kolab_Freebusy/Kolab_FreeBusy.spec
index 393fe1c..0dba916 100644
--- a/pear/Kolab_Freebusy/Kolab_FreeBusy.spec
+++ b/pear/Kolab_Freebusy/Kolab_FreeBusy.spec
@@ -7,7 +7,7 @@
 %define         V_repo_commit 
 %define         V_repo_release 
 %define         V_version 0.5.2
-%define         V_release 20110530
+%define         V_release 20110826
 %define         V_sourceurl http://pear.horde.org/get
 %define         V_php_lib_loc php
 %define         V_www_loc freebusy
diff --git a/pear/Kolab_Freebusy/package.info b/pear/Kolab_Freebusy/package.info
index 9d3b071..078fa93 100644
--- a/pear/Kolab_Freebusy/package.info
+++ b/pear/Kolab_Freebusy/package.info
@@ -16,7 +16,7 @@ package_origin='WGET'
 version='0.5.2'
 
 # Package release number
-release='20110530'
+release='20110826'
 
 # Source URL to download from
 sourceurl='http://files.kolab.org/server/development-2.3/externals'
diff --git a/pear/Kolab_Freebusy/patches/Kolab_FreeBusy-0.5.2/issue4765.patch b/pear/Kolab_Freebusy/patches/Kolab_FreeBusy-0.5.2/issue4765.patch
new file mode 100644
index 0000000..04cf4f3
--- /dev/null
+++ b/pear/Kolab_Freebusy/patches/Kolab_FreeBusy-0.5.2/issue4765.patch
@@ -0,0 +1,165 @@
+From: Gunnar Wrobel <wrobel at pardus.de>
+Subject: [PATCH] issue4765.patch
+
+kolab/issue4765 (Freebusy trigger fails if using localpart of user)
+
+STATUS: MERGED
+
+Signed-off-by: Gunnar Wrobel <wrobel at pardus.de>
+
+diff -u -B -r1.1.2.1 Kolab.php
+--- a/framework/Kolab_FreeBusy/lib/Horde/Kolab/FreeBusy/UserDb/User/Kolab.php	10 Oct 2010 16:26:50 -0000
++++ b/framework/Kolab_FreeBusy/lib/Horde/Kolab/FreeBusy/UserDb/User/Kolab.php	13 Jul 2011 07:54:11 -0000
+@@ -104,6 +104,9 @@
+         $this->_guid = $this->_validate(
+             $this->_db->uidForMailOrIdOrAlias($owner)
+         );
++        if ($this->_guid === false) {
++            throw new Horde_Kolab_FreeBusy_Exception(sprintf('Unknown owner "%s"!', $owner));
++        }
+         return $this->_validate(
+             $this->_db->fetch($this->_guid, KOLAB_OBJECT_USER)
+         );
+@@ -147,7 +150,7 @@
+      */
+     public function getDomain()
+     {
+-        $mail = $this->getUserDbUser()->getMail();
++        $mail = $this->getMail();
+         $idx = strpos($mail, '@');
+         if ($idx !== false) {
+             return substr($mail, $idx + 1);
+--- a/framework/Kolab_FreeBusy/lib/Horde/Kolab/FreeBusy/Owner/Kolab.php	10 Oct 2010 16:26:48 -0000	1.1.2.1
++++ b/framework/Kolab_FreeBusy/lib/Horde/Kolab/FreeBusy/Owner/Kolab.php	19 Jul 2011 15:01:33 -0000	1.1.2.2
+@@ -87,12 +97,14 @@
+         } catch (Horde_Kolab_FreeBusy_Exception $e) {
+             $domain = $this->_user->getDomain();
+             if (!empty($domain)) {
+-                return $this->fetchOwner(
+-                    $this->_owner->getOwner() . '@' . $this->_user->getDomain()
+-                );
+-            } else {
+-                throw $e;
++                try {
++                    return $this->fetchUserByPrimaryId(
++                        $this->_owner->getOwner() . '@' . $this->_user->getDomain()
++                    );
++                } catch (Horde_Kolab_FreeBusy_Exception $f) {
++                }
+             }
++            throw $e;
+         }
+     }
+ }
+--- a/framework/Kolab_FreeBusy/lib/Horde/Kolab/FreeBusy/UserDb/User/Kolab.php	10 Oct 2010 16:26:48 -0000	1.1.2.1
++++ b/framework/Kolab_FreeBusy/lib/Horde/Kolab/FreeBusy/UserDb/User/Kolab.php	19 Jul 2011 15:01:33 -0000	1.1.2.2
+@@ -114,0 +115,13 @@ abstract class Horde_Kolab_FreeBusy_User
++    protected function fetchUserByPrimaryId($id)
++    {
++        $this->_guid = $this->_validate(
++            $this->_db->uidForMail($id)
++        );
++        if ($this->_guid === false) {
++            throw new Horde_Kolab_FreeBusy_Exception(sprintf('Unknown owner "%s"!', $id));
++        }
++        return $this->_validate(
++            $this->_db->fetch($this->_guid, KOLAB_OBJECT_USER)
++        );
++    }
++
+--- a/framework/Kolab_FreeBusy/lib/Horde/Kolab/FreeBusy/Params/Freebusy/Resource/Kolab.php	25 Jul 2011 04:04:53 -0000	1.1.2.2
++++ b/framework/Kolab_FreeBusy/lib/Horde/Kolab/FreeBusy/Params/Freebusy/Resource/Kolab.php	31 Aug 2011 06:59:55 -0000
+@@ -36,11 +36,18 @@
+     /**
+      * The current user.
+      *
+-     * @var Horde_Kolab_FreeBusy_Params_User
++     * @var Horde_Kolab_FreeBusy_User
+      */
+     private $_user;
+ 
+     /**
++     * The resource owner.
++     *
++     * @var Horde_Kolab_FreeBusy_Owner
++     */
++    private $_owner;
++
++    /**
+      * The requested folder.
+      *
+      * @var Horde_Kolab_FreeBusy_Params_Freebusy_Folder
+@@ -50,15 +57,18 @@
+     /**
+      * Constructor.
+      *
+-     * @param Horde_Kolab_FreeBusy_Params_User             $user  The current user.
++     * @param Horde_Kolab_FreeBusy_User                   $user   The current user.
++     * @param Horde_Kolab_FreeBusy_Owner                  $owner  The resource owner.
+      * @param Horde_Kolab_FreeBusy_Params_Freebusy_Folder $folder The requested
+      *                                                            folder.
+      */
+     public function __construct(
+         Horde_Kolab_FreeBusy_User $user,
++        Horde_Kolab_FreeBusy_Owner $owner,
+         Horde_Kolab_FreeBusy_Params_Freebusy_Folder $folder
+     ) {
+         $this->_user = $user;
++        $this->_owner = $owner;
+         $this->_folder = $folder;
+     }
+ 
+@@ -83,7 +83,7 @@
+             $this->_user->getPrimaryId()
+         );
+         list($owner, $ownerdom) = $this->_splitMailAddress(
+-            $this->_folder->getOwner()
++            $this->_owner->getPrimaryId()
+         );
+
+         //@todo: This should be based on the namespaces.
+--- a/framework/Kolab_FreeBusy/lib/Horde/Kolab/FreeBusy.php	25 Jul 2011 04:04:53 -0000	1.1.2.2
++++ b/framework/Kolab_FreeBusy/lib/Horde/Kolab/FreeBusy.php	31 Aug 2011 06:59:55 -0000
+@@ -102,7 +102,11 @@
+         $req_extended = Util::getFormData('extended', false);
+
+         /* Try to fetch the data if it is stored on a remote server */
+-        $result = $this->fetchRemote($user, $owner, $folder, true, $req_extended);
++        try {
++           $result = $this->fetchRemote($user, $owner, $folder, true, $req_extended);
++        } catch (Horde_Kolab_FreeBusy_Exception $e) {
++            $result = false;
++        }
+         if (is_a($result, 'PEAR_Error')) {
+             $error = array('type' => FREEBUSY_ERROR_UNAUTHORIZED,
+                            'error' => $result);
+@@ -126,7 +130,11 @@
+                 return $view;
+             }
+
+-            $id = $db_owner->getPrimaryId();
++            try {
++                $id = $db_owner->getPrimaryId();
++            } catch (Horde_Kolab_FreeBusy_Exception $e) {
++                $id = false;
++            }
+             if (empty($id)) {
+                 $message = sprintf(_("No such account %s!"),
+                                    htmlentities($owner->getOwner()));
+@@ -545,7 +554,7 @@
+         list($user, $owner, $folder) = $this->_getAccess();
+         require_once 'Horde/Kolab/FreeBusy/Params/Freebusy/Resource/Kolab.php';
+         return new Horde_Kolab_FreeBusy_Params_Freebusy_Resource_Kolab(
+-            $this->_getDbUser(), $folder
++            $this->_getDbUser(), $this->_getDbOwner(), $folder
+         );
+     }
+ 
+@@ -557,6 +566,7 @@
+         require_once 'Horde/Kolab/FreeBusy/Params/Freebusy/Folder/Named.php';
+         return new Horde_Kolab_FreeBusy_Params_Freebusy_Resource_Kolab(
+             $this->_getDbUser(),
++            $this->_getDbOwner(),
+             new Horde_Kolab_FreeBusy_Params_Freebusy_Folder_Named(
+                 $name
+             )
diff --git a/release-notes.txt b/release-notes.txt
index 09c4be3..f4ebf7e 100644
--- a/release-notes.txt
+++ b/release-notes.txt
@@ -17,6 +17,10 @@ the 1st.README file in the package directory.
 
 	kolab/issue4690 (Umlaut problems in system folders)
 
+    - Kolab_FreeBusy-0.5.2-20110826
+
+	kolab/issue4765 (Freebusy trigger fails if using localpart of user)
+
     - Kolab_Storage-0.5.2-20110729
 
 	kolab/issue4466 (Horde warning "Invalid shutdown callback" in





More information about the commits mailing list