summaryrefslogtreecommitdiff
path: root/source3/libads
diff options
context:
space:
mode:
authorJustin Maggard <jmaggard10@gmail.com>2016-01-13 16:25:34 -0800
committerVolker Lendecke <vl@samba.org>2016-01-15 03:59:16 +0100
commitcf05ba5b3210e9258dd4a1126bd29a1e696ec957 (patch)
treefefd9bb8f9fb40bd1fe36e90b221ab107971a255 /source3/libads
parent8c2609f3186d40afb5954737dc174ce190cd368a (diff)
downloadsamba-cf05ba5b3210e9258dd4a1126bd29a1e696ec957.tar.gz
s3-libads: Use the configured LDAP page size.
We already allow the user to configure LDAP page size, and use it in pdb_ldap. But then we hard-code the initial LDAP page size value to 1000 in ads_init, so it doesn't take effect there. So let's use the configured LDAP page size value in ads_init also, which defaults to 1000. Signed-off-by: Justin Maggard <jmaggard@netgear.com> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Fri Jan 15 03:59:16 CET 2016 on sn-devel-144
Diffstat (limited to 'source3/libads')
-rw-r--r--source3/libads/ads_struct.c4
-rw-r--r--source3/libads/ldap_utils.c4
2 files changed, 5 insertions, 3 deletions
diff --git a/source3/libads/ads_struct.c b/source3/libads/ads_struct.c
index 27af4d6c755..0dc7b11d400 100644
--- a/source3/libads/ads_struct.c
+++ b/source3/libads/ads_struct.c
@@ -154,9 +154,9 @@ ADS_STRUCT *ads_init(const char *realm,
ads->auth.flags = wrap_flags;
- /* Start with a page size of 1000 when the connection is new,
+ /* Start with the configured page size when the connection is new,
* we will drop it by half we get a timeout. */
- ads->config.ldap_page_size = 1000;
+ ads->config.ldap_page_size = lp_ldap_page_size();
return ads;
}
diff --git a/source3/libads/ldap_utils.c b/source3/libads/ldap_utils.c
index 157f6945421..a4adbc09524 100644
--- a/source3/libads/ldap_utils.c
+++ b/source3/libads/ldap_utils.c
@@ -85,7 +85,9 @@ static ADS_STATUS ads_do_search_retry_internal(ADS_STRUCT *ads, const char *bind
while (--count) {
- if (NT_STATUS_EQUAL(ads_ntstatus(status), NT_STATUS_IO_TIMEOUT) && ads->config.ldap_page_size >= 250) {
+ if (NT_STATUS_EQUAL(ads_ntstatus(status), NT_STATUS_IO_TIMEOUT) &&
+ ads->config.ldap_page_size >= (lp_ldap_page_size() / 4) &&
+ lp_ldap_page_size() > 4) {
int new_page_size = (ads->config.ldap_page_size / 2);
DEBUG(1, ("Reducing LDAP page size from %d to %d due to IO_TIMEOUT\n",
ads->config.ldap_page_size, new_page_size));