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