From 4002c18065eb324e983a1ecb997af9d2f9b18dde Mon Sep 17 00:00:00 2001 From: Eric Helgeson Date: Fri, 18 Dec 2009 18:27:45 -0600 Subject: [PATCH] Allow caching of ldap schema, greatly improves performance. --- plugins/LdapAuthentication/LdapAuthenticationPlugin.php | 9 +++++++++ plugins/LdapAuthentication/README | 2 ++ 2 files changed, 11 insertions(+) diff --git a/plugins/LdapAuthentication/LdapAuthenticationPlugin.php b/plugins/LdapAuthentication/LdapAuthenticationPlugin.php index f688a3f7e0..0ce08bd782 100644 --- a/plugins/LdapAuthentication/LdapAuthenticationPlugin.php +++ b/plugins/LdapAuthentication/LdapAuthenticationPlugin.php @@ -174,6 +174,15 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin return false; } if($config == null) $this->default_ldap=$ldap; + + if (isset($this->schema_cachefile)) { + $cacheConfig = array( + 'path' => $this->schema_cachefile, + 'max_age' => (isset($this->schema_maxage) ? $this->schema_maxage : 1200 ) + ); + $cacheObj = new Net_LDAP2_SimpleFileSchemaCache($cacheConfig); + $ldap->registerSchemaCache($cacheObj); + } return $ldap; } diff --git a/plugins/LdapAuthentication/README b/plugins/LdapAuthentication/README index 2226159c2e..0460fb6396 100644 --- a/plugins/LdapAuthentication/README +++ b/plugins/LdapAuthentication/README @@ -42,6 +42,8 @@ filter: Default search filter. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php scope: Default search scope. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php +schema_cachefile: File location to store ldap schema. +schema_maxage: TTL for cache file. attributes: an array that relates StatusNet user attributes to LDAP ones username*: LDAP attribute value entered when authenticating to StatusNet