summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-06-20 09:27:32 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-06-20 09:27:32 +0000
commit96c9a2e39b7571396523d57873dd7adb725f6575 (patch)
tree64302e1038aa7e8e8172589eea2af3c0c30f140b
parent9f388d58749c4613ce015e8a31195547a3884f08 (diff)
- Add %dc variable support in base_dn/bind_dn config (#1486779)
git-svn-id: https://svn.roundcube.net/trunk@3773 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/CHANGELOG1
-rw-r--r--roundcubemail/config/main.inc.php.dist1
-rw-r--r--roundcubemail/program/include/rcube_ldap.php7
3 files changed, 6 insertions, 3 deletions
diff --git a/roundcubemail/CHANGELOG b/roundcubemail/CHANGELOG
index c4f70080b..c87ef05a4 100644
--- a/roundcubemail/CHANGELOG
+++ b/roundcubemail/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail
===========================
+- Add %dc variable support in base_dn/bind_dn config (#1486779)
- Add button to hide/unhide the preview pane (#1484215)
- Fix no-cache headers on https to prevent content caching by proxies (#1486798)
- Fix attachment filenames broken with TNEF decoder using long filenames (#1486795)
diff --git a/roundcubemail/config/main.inc.php.dist b/roundcubemail/config/main.inc.php.dist
index 0f32b5788..1d0595853 100644
--- a/roundcubemail/config/main.inc.php.dist
+++ b/roundcubemail/config/main.inc.php.dist
@@ -409,6 +409,7 @@ $rcmail_config['ldap_public']['Verisign'] = array(
// address, uses the username_domain value if not an email address.
// %u - The username prior to the '@'.
// %d - The domain name after the '@'.
+ // %dc - The domain name hierarchal string e.g. "dc=test,dc=domain,dc=com"
'base_dn' => '',
'bind_dn' => '',
'bind_pass' => '',
diff --git a/roundcubemail/program/include/rcube_ldap.php b/roundcubemail/program/include/rcube_ldap.php
index 63c193ff6..b54827691 100644
--- a/roundcubemail/program/include/rcube_ldap.php
+++ b/roundcubemail/program/include/rcube_ldap.php
@@ -132,13 +132,14 @@ class rcube_ldap extends rcube_addressbook
// Get the pieces needed for variable replacement.
$fu = $RCMAIL->user->get_username();
list($u, $d) = explode('@', $fu);
-
+ $dc = 'dc='.strtr($d, array('.' => ',dc=')); // hierarchal domain string
+
// Replace the bind_dn and base_dn variables.
- $replaces = array('%fu' => $fu, '%u' => $u, '%d' => $d);
+ $replaces = array('%dc' => $dc, '%d' => $d, '%fu' => $fu, '%u' => $u);
$this->prop['bind_dn'] = strtr($this->prop['bind_dn'], $replaces);
$this->prop['base_dn'] = strtr($this->prop['base_dn'], $replaces);
}
-
+
if (!empty($this->prop['bind_dn']) && !empty($this->prop['bind_pass']))
$this->ready = $this->bind($this->prop['bind_dn'], $this->prop['bind_pass']);
}