Skip to content
Snippets Groups Projects
Commit 0864531e authored by Pierangelo Masarati's avatar Pierangelo Masarati
Browse files

add network timeout (ITS#2413 reworked)

parent 8c880563
Branches
Tags
No related merge requests found
......@@ -146,6 +146,7 @@ struct metadncache {
struct metainfo {
int ntargets;
int defaulttarget;
int network_timeout;
#define META_DEFAULT_TARGET_NONE -1
struct metatarget **targets;
......
......@@ -312,6 +312,16 @@ meta_back_db_config(
li->cache.ttl = atol( argv[ 1 ] );
}
/* network timeout when connecting to ldap servers */
} else if ( strcasecmp( argv[ 0 ], "network-timeout" ) == 0 ) {
if ( argc != 2 ) {
fprintf( stderr,
"%s: line %d: missing network timeout in \"network-timeout <seconds>\" line\n",
fname, lineno );
return 1;
}
li->network_timeout = atol(argv[ 1 ]);
/* name to use for meta_back_group */
} else if ( strcasecmp( argv[ 0 ], "binddn" ) == 0 ) {
int i = li->ntargets-1;
......
......@@ -235,6 +235,7 @@ init_one_conn(
struct metasingleconn *lsc
)
{
struct metainfo *li = ( struct metainfo * )op->o_bd->be_private;
int vers;
dncookie dc;
......@@ -262,6 +263,18 @@ init_one_conn(
/* FIXME: configurable? */
ldap_set_option(lsc->ld, LDAP_OPT_REFERRALS, LDAP_OPT_ON);
/*
* Set the network timeout if set
*/
if (li->network_timeout != 0){
struct timeval network_timeout;
network_timeout.tv_usec = 0;
network_timeout.tv_sec = li->network_timeout;
ldap_set_option( lsc->ld, LDAP_OPT_NETWORK_TIMEOUT, (void *) &network_timeout);
}
/*
* Sets a cookie for the rewrite session
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment