From cf05ba5b3210e9258dd4a1126bd29a1e696ec957 Mon Sep 17 00:00:00 2001 From: Justin Maggard Date: Wed, 13 Jan 2016 16:25:34 -0800 Subject: [PATCH] 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 Reviewed-by: Jeremy Allison Reviewed-by: Volker Lendecke Autobuild-User(master): Volker Lendecke Autobuild-Date(master): Fri Jan 15 03:59:16 CET 2016 on sn-devel-144 --- source3/libads/ads_struct.c | 4 ++-- source3/libads/ldap_utils.c | 4 +++- 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)); -- 2.34.1