gunnar: server/patches/horde-webmail/1.2.0 horde-webmail-1.2.0_kolab_openpkg.patch, 1.32.2.4.2.5, 1.32.2.4.2.6

cvs at kolab.org cvs at kolab.org
Fri Apr 24 19:42:22 CEST 2009


Author: gunnar

Update of /kolabrepository/server/patches/horde-webmail/1.2.0
In directory doto:/tmp/cvs-serv30845/patches/horde-webmail/1.2.0

Modified Files:
      Tag: suc_branch
	horde-webmail-1.2.0_kolab_openpkg.patch 
Log Message:
Additional fixes for configurable mapping
        of LDAP attributes.

Index: horde-webmail-1.2.0_kolab_openpkg.patch
===================================================================
RCS file: /kolabrepository/server/patches/horde-webmail/1.2.0/horde-webmail-1.2.0_kolab_openpkg.patch,v
retrieving revision 1.32.2.4.2.5
retrieving revision 1.32.2.4.2.6
diff -u -d -r1.32.2.4.2.5 -r1.32.2.4.2.6
--- horde-webmail-1.2.0_kolab_openpkg.patch	23 Apr 2009 12:05:09 -0000	1.32.2.4.2.5
+++ horde-webmail-1.2.0_kolab_openpkg.patch	24 Apr 2009 17:42:20 -0000	1.32.2.4.2.6
@@ -26040,13 +26040,13 @@
  .../lib/Horde/Kolab/Server/Object/address.php      |   33 ++-
  .../lib/Horde/Kolab/Server/Object/adminrole.php    |   35 ++-
  .../lib/Horde/Kolab/Server/Object/distlist.php     |   30 ++-
- .../lib/Horde/Kolab/Server/Object/group.php        |   23 ++-
+ .../lib/Horde/Kolab/Server/Object/group.php        |   23 +-
  .../lib/Horde/Kolab/Server/Object/server.php       |   21 ++-
- .../lib/Horde/Kolab/Server/Object/sharedfolder.php |   23 ++-
+ .../lib/Horde/Kolab/Server/Object/sharedfolder.php |   23 +-
  .../lib/Horde/Kolab/Server/Object/user.php         |   32 ++-
- horde-webmail/lib/Horde/Kolab/Server/ldap.php      |  276 +++++++++++++++++++-
+ horde-webmail/lib/Horde/Kolab/Server/ldap.php      |  308 ++++++++++++++++++--
  horde-webmail/lib/Horde/Kolab/Server/test.php      |   20 ++-
- 11 files changed, 442 insertions(+), 68 deletions(-)
+ 11 files changed, 467 insertions(+), 75 deletions(-)
 
 diff --git a/horde-webmail/lib/Horde/Kolab/Server.php b/horde-webmail/lib/Horde/Kolab/Server.php
 index bf251f5..fd0bda7 100644
@@ -26432,9 +26432,18 @@
       *
       * @param string $attrs The attributes to return.
 diff --git a/horde-webmail/lib/Horde/Kolab/Server/ldap.php b/horde-webmail/lib/Horde/Kolab/Server/ldap.php
-index a50ba2c..2f39d47 100644
+index a50ba2c..ea73b4f 100644
 --- a/horde-webmail/lib/Horde/Kolab/Server/ldap.php
 +++ b/horde-webmail/lib/Horde/Kolab/Server/ldap.php
+@@ -2,7 +2,7 @@
+ /**
+  * The driver for accessing the Kolab user database stored in LDAP.
+  *
+- * $Horde: framework/Kolab_Server/lib/Horde/Kolab/Server/ldap.php,v 1.2.2.2 2008/08/01 07:56:19 wrobel Exp $
++ * $Horde: framework/Kolab_Server/lib/Horde/Kolab/Server/ldap.php,v 1.2.2.10 2009/02/24 07:39:47 wrobel Exp $
+  *
+  * PHP version 4
+  *
 @@ -210,6 +210,7 @@ class Horde_Kolab_Server_ldap extends Horde_Kolab_Server {
          }
  
@@ -26443,10 +26452,21 @@
              $result = @ldap_read($this->_connection, $dn, '(objectclass=*)', $attrs);
          } else {
              $result = @ldap_read($this->_connection, $dn, '(objectclass=*)');
-@@ -230,6 +231,9 @@ class Horde_Kolab_Server_ldap extends Horde_Kolab_Server {
+@@ -220,7 +221,7 @@ class Horde_Kolab_Server_ldap extends Horde_Kolab_Server {
+         }
+         $entry = $this->_firstEntry($result);
+         if (!$entry) {
+-            ldap_free_result($result);
++            @ldap_free_result($result);
+             return PEAR::raiseError(sprintf(_("LDAP Error: Empty result for: %s."),
+                                             $dn));
+         }
+@@ -229,7 +230,10 @@ class Horde_Kolab_Server_ldap extends Horde_Kolab_Server {
+             return PEAR::raiseError(sprintf(_("LDAP Error: No such dn: %s: %s"),
                                              $dn, $this->_error()));
          }
-         ldap_free_result($result);
+-        ldap_free_result($result);
++        @ldap_free_result($result);
 +
 +        $this->unmapAttributes($object);
 +
@@ -26580,7 +26600,47 @@
          return $this->_dnForFilter($filter);
      }
  
-@@ -874,7 +944,13 @@ class Horde_Kolab_Server_ldap extends Horde_Kolab_Server {
+@@ -788,8 +858,17 @@ class Horde_Kolab_Server_ldap extends Horde_Kolab_Server {
+     function uidForAttr($attr, $value,
+                        $restrict = KOLAB_SERVER_RESULT_SINGLE)
+     {
+-        $filter = '(&(objectClass=kolabInetOrgPerson)(' . $attr .
+-            '=' . Horde_LDAP::quote($value) . '))';
++        $criteria = array('AND' =>
++                         array(
++                             array('field' => KOLAB_ATTR_OC,
++                                   'op'    => '=',
++                                   'test'  => KOLAB_OC_KOLABINETORGPERSON),
++			     array('field' => $attr,
++				   'op'    => '=',
++				   'test'  => $value),
++                             ),
++        );
++        $filter   = $this->searchQuery($criteria);
+         return $this->_dnForFilter($filter, $restrict);
+     }
+ 
+@@ -806,8 +885,17 @@ class Horde_Kolab_Server_ldap extends Horde_Kolab_Server {
+     function gidForAttr($attr, $value,
+                        $restrict = KOLAB_SERVER_RESULT_SINGLE)
+     {
+-        $filter = '(&(objectClass=kolabGroupOfNames)(' . $attr .
+-            '=' . Horde_LDAP::quote($value) . '))';
++        $criteria = array('AND' =>
++                         array(
++                             array('field' => KOLAB_ATTR_OC,
++                                   'op'    => '=',
++                                   'test'  => KOLAB_OC_KOLABGROUPOFNAMES),
++			     array('field' => $attr,
++				   'op'    => '=',
++				   'test'  => $value),
++                             ),
++        );
++        $filter   = $this->searchQuery($criteria);
+         return $this->_dnForFilter($filter, $restrict);
+     }
+ 
+@@ -874,7 +962,13 @@ class Horde_Kolab_Server_ldap extends Horde_Kolab_Server {
              return $result;
          }
          $vars   = get_class_vars($type);
@@ -26595,7 +26655,7 @@
          $sort   = $vars['sort_by'];
  
          if (isset($params['sort'])) {
-@@ -993,4 +1069,176 @@ class Horde_Kolab_Server_ldap extends Horde_Kolab_Server {
+@@ -993,4 +1087,176 @@ class Horde_Kolab_Server_ldap extends Horde_Kolab_Server {
          }
      }
  
@@ -26746,9 +26806,9 @@
 +    {
 +        if (!empty($this->_params['map'])) {
 +            foreach ($this->_params['map'] as $attribute => $map) {
-+                if (in_array($attribute, $keys)) {
-+                    $keys = array_diff($keys, array($attribute));
-+                    $keys[] = $map;
++                $key = array_search($attribute, $keys);
++                if ($key !== false) {
++                    $keys[$key] = $map;
 +                }
 +            }
 +        }
@@ -26844,6 +26904,12 @@
 -- 
 TOPGIT patch commit log
 =======================
+
+commit 296112ac1021e0433ca9578a700c8f066bc139a9
+Author: Gunnar Wrobel <p at rdus.de>
+Date:   Fri Apr 24 19:30:10 2009 +0200
+
+    Fixed mapping of attributes. Fixed uidForAttr and gidForAttr.
 
 commit a2525f3bf8a77431e4cd28bd92e1cb9fec14e392
 Author: Gunnar Wrobel <p at rdus.de>





More information about the commits mailing list