From f7676544788ff47cd51e99256f6d44ed436b05aa Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Sun, 20 Jun 2010 05:27:32 -0400 Subject: [PATCH] - Add %dc variable support in base_dn/bind_dn config (#1486779) --- CHANGELOG | 1 + program/include/rcube_ldap.php | 7 ++++--- config/main.inc.php.dist | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index c4f7008..c87ef05 100644 --- a/CHANGELOG +++ b/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/config/main.inc.php.dist b/config/main.inc.php.dist index 0f32b57..1d05958 100644 --- a/config/main.inc.php.dist +++ b/config/main.inc.php.dist @@ -409,6 +409,7 @@ // 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/program/include/rcube_ldap.php b/program/include/rcube_ldap.php index 63c193f..b548276 100644 --- a/program/include/rcube_ldap.php +++ b/program/include/rcube_ldap.php @@ -132,13 +132,14 @@ // 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']); } -- Gitblit v1.9.1