openldap: add missing support for "Timeout" config option
authorMarc Fournier <marc.fournier@camptocamp.com>
Wed, 20 Aug 2014 10:13:31 +0000 (12:13 +0200)
committerMarc Fournier <marc.fournier@camptocamp.com>
Fri, 29 Aug 2014 13:09:55 +0000 (15:09 +0200)
src/collectd.conf.pod
src/openldap.c

index a296170..74fb19f 100644 (file)
@@ -4278,6 +4278,11 @@ File that holds one or more SSL certificates. If you want to use TLS/SSL you may
 possibly need this option. What CA certificates come bundled with C<libldap>
 and are checked by default depends on the distribution you use.
 
+=item B<Timeout> I<Seconds>
+
+Set the timeout value for ldap operations. Defaults to B<-1> which results in
+an infinite timeout.
+
 =back
 
 =head2 Plugin C<openvpn>
index 9763a06..08c6503 100644 (file)
@@ -77,6 +77,9 @@ static int ldap_init_host (ldap_t *st) /* {{{ */
 
        ldap_set_option (st->ld, LDAP_OPT_PROTOCOL_VERSION, &st->version);
 
+       ldap_set_option (st->ld, LDAP_OPT_TIMEOUT,
+               &(const struct timeval){st->timeout, 0});
+
        if(st->cacert != NULL)
                ldap_set_option (st->ld, LDAP_OPT_X_TLS_CACERTFILE, st->cacert);
 
@@ -624,6 +627,7 @@ static int ldap_config_add (oconfig_item_t *ci) /* {{{ */
                return (status);
        }
 
+       st->timeout = -1;
        st->verifyhost = 1;
        st->version = LDAP_VERSION3;