The Samba-Bugzilla – Attachment 3304 Details for
Bug 4544
LDAP redundancy does not work
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch adding ldap connection timeout feature
ldap-connection-timeout.patch (text/plain), 3.29 KB, created by
Björn Jacke
on 2008-05-22 10:46:57 UTC
(
hide
)
Description:
patch adding ldap connection timeout feature
Filename:
MIME Type:
Creator:
Björn Jacke
Created:
2008-05-22 10:46:57 UTC
Size:
3.29 KB
patch
obsolete
>diff --git a/source/include/smbldap.h b/source/include/smbldap.h >index d9d7aca..79e0a38 100644 >--- a/source/include/smbldap.h >+++ b/source/include/smbldap.h >@@ -220,7 +220,8 @@ const char *smbldap_talloc_dn(TALLOC_CTX *mem_ctx, LDAP *ld, > > #endif /* HAVE_LDAP */ > >-#define LDAP_CONNECT_DEFAULT_TIMEOUT 15 >+#define LDAP_DEFAULT_TIMEOUT 15 >+#define LDAP_CONNECTION_DEFAULT_TIMEOUT 2 > #define LDAP_PAGE_SIZE 1024 > > #endif /* _SMBLDAP_H */ >diff --git a/source/lib/smbldap.c b/source/lib/smbldap.c >index 65a039b..8263127 100644 >--- a/source/lib/smbldap.c >+++ b/source/lib/smbldap.c >@@ -670,9 +670,33 @@ int smb_ldap_setup_conn(LDAP **ldap_struct, const char *uri) > return LDAP_OPERATIONS_ERROR; > #endif /* LDAP_OPT_X_TLS */ > } >- > } > #endif /* HAVE_LDAP_INITIALIZE */ >+ >+ >+ /* now set connection timeout */ >+#ifdef LDAP_X_OPT_CONNECT_TIMEOUT /* Netscape */ >+ { >+ int ct = lp_ldap_connection_timeout()*1000; >+ rc = ldap_set_option(*ldap_struct, LDAP_X_OPT_CONNECT_TIMEOUT, &ct); >+ if (rc != LDAP_SUCCESS) { >+ DEBUG(0,("Failed to setup a ldap connection timeout %d: %s\n", >+ ct, ldap_err2string(rc))); >+ } >+ } >+#elif defined (LDAP_OPT_NETWORK_TIMEOUT) /* OpenLDAP */ >+ { >+ struct timeval ct; >+ ct.tv_usec = 0; >+ ct.tv_sec = lp_ldap_connection_timeout(); >+ rc = ldap_set_option(*ldap_struct, LDAP_OPT_NETWORK_TIMEOUT, &ct); >+ if (rc != LDAP_SUCCESS) { >+ DEBUG(0,("Failed to setup a ldap connection timeout %d: %s\n", >+ ct, ldap_err2string(rc))); >+ } >+ } >+#endif >+ > return LDAP_SUCCESS; > } > >diff --git a/source/param/loadparm.c b/source/param/loadparm.c >index b539684..c6a7489 100644 >--- a/source/param/loadparm.c >+++ b/source/param/loadparm.c >@@ -264,6 +264,7 @@ struct global { > int ldap_passwd_sync; > int ldap_replication_sleep; > int ldap_timeout; /* This is initialised in init_globals */ >+ int ldap_connection_timeout; > int ldap_page_size; > bool ldap_delete_dn; > bool bMsAddPrinterWizard; >@@ -3563,6 +3564,15 @@ static struct parm_struct parm_table[] = { > .flags = FLAG_ADVANCED, > }, > { >+ .label = "ldap connection timeout", >+ .type = P_INTEGER, >+ .p_class = P_GLOBAL, >+ .ptr = &Globals.ldap_connection_timeout, >+ .special = NULL, >+ .enum_list = NULL, >+ .flags = FLAG_ADVANCED, >+ }, >+ { > .label = "ldap page size", > .type = P_INTEGER, > .p_class = P_GLOBAL, >@@ -4756,7 +4766,8 @@ static void init_globals(bool first_time_only) > Globals.ldap_passwd_sync = LDAP_PASSWD_SYNC_OFF; > Globals.ldap_delete_dn = False; > Globals.ldap_replication_sleep = 1000; /* wait 1 sec for replication */ >- Globals.ldap_timeout = LDAP_CONNECT_DEFAULT_TIMEOUT; >+ Globals.ldap_timeout = LDAP_DEFAULT_TIMEOUT; >+ Globals.ldap_connection_timeout = LDAP_CONNECTION_DEFAULT_TIMEOUT; > Globals.ldap_page_size = LDAP_PAGE_SIZE; > > Globals.ldap_debug_level = 0; >@@ -5075,6 +5086,7 @@ FN_GLOBAL_INTEGER(lp_ldap_passwd_sync, &Globals.ldap_passwd_sync) > FN_GLOBAL_BOOL(lp_ldap_delete_dn, &Globals.ldap_delete_dn) > FN_GLOBAL_INTEGER(lp_ldap_replication_sleep, &Globals.ldap_replication_sleep) > FN_GLOBAL_INTEGER(lp_ldap_timeout, &Globals.ldap_timeout) >+FN_GLOBAL_INTEGER(lp_ldap_connection_timeout, &Globals.ldap_connection_timeout) > FN_GLOBAL_INTEGER(lp_ldap_page_size, &Globals.ldap_page_size) > FN_GLOBAL_INTEGER(lp_ldap_debug_level, &Globals.ldap_debug_level) > FN_GLOBAL_INTEGER(lp_ldap_debug_threshold, &Globals.ldap_debug_threshold)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 4544
:
2412
| 3304