NDEBUG_UNUSED ldap_sasl *sasl,
#endif
bool retry,
+ struct timeval *timeout,
LDAPControl **serverctrls, LDAPControl **clientctrls)
{
ldap_rcode_t status = LDAP_PROC_ERROR;
ROPTIONAL(RDEBUG2, DEBUG2, "Waiting for bind result...");
}
- status = rlm_ldap_result(inst, *pconn, msgid, dn, NULL, NULL, &error, &extra);
+ status = rlm_ldap_result(inst, *pconn, msgid, dn, timeout, NULL, &error, &extra);
}
switch (status) {
if ((*pconn)->rebound) {
status = rlm_ldap_bind(inst, request, pconn, (*pconn)->inst->admin_identity,
(*pconn)->inst->admin_password, &(*pconn)->inst->admin_sasl, true,
- NULL, NULL);
+ NULL, NULL, NULL);
if (status != LDAP_PROC_SUCCESS) {
return LDAP_PROC_ERROR;
}
if ((*pconn)->rebound) {
status = rlm_ldap_bind(inst, request, pconn, (*pconn)->inst->admin_identity,
(*pconn)->inst->admin_password, &(*pconn)->inst->admin_sasl, true,
- NULL, NULL);
+ NULL, NULL, NULL);
if (status != LDAP_PROC_SUCCESS) {
return LDAP_PROC_ERROR;
}
if ((*pconn)->rebound) {
status = rlm_ldap_bind(inst, request, pconn, (*pconn)->inst->admin_identity,
(*pconn)->inst->admin_password, &(*pconn)->inst->admin_sasl, true,
- NULL, NULL);
+ NULL, NULL, NULL);
if (status != LDAP_PROC_SUCCESS) {
*rcode = RLM_MODULE_FAIL;
return NULL;
}
status = rlm_ldap_bind(inst, NULL, &conn, admin_identity, admin_password,
- &inst->admin_sasl, false, NULL, NULL);
+ &inst->admin_sasl, false, NULL, NULL, NULL);
if (status != LDAP_PROC_SUCCESS) {
ldap_get_option(handle, LDAP_OPT_ERROR_NUMBER, &ldap_errno);
#endif /* HAVE_LDAP_START_TLS_S */
status = rlm_ldap_bind(inst, NULL, &conn, conn->inst->admin_identity, conn->inst->admin_password,
- &(conn->inst->admin_sasl), false, NULL, NULL);
+ &(conn->inst->admin_sasl), false, NULL, NULL, NULL);
if (status != LDAP_PROC_SUCCESS) goto error;
/*
}
conn->rebound = true;
status = rlm_ldap_bind(inst, request, &conn, dn, request->password->vp_strvalue,
- conn->inst->user_sasl.mech ? &sasl : NULL, true, NULL, NULL);
+ conn->inst->user_sasl.mech ? &sasl : NULL, true, NULL, NULL, NULL);
switch (status) {
case LDAP_PROC_SUCCESS:
rcode = RLM_MODULE_OK;
* Bind as the user
*/
conn->rebound = true;
- status = rlm_ldap_bind(inst, request, &conn, dn, vp->vp_strvalue, NULL, true, NULL, NULL);
+ status = rlm_ldap_bind(inst, request, &conn, dn, vp->vp_strvalue, NULL, true, NULL, NULL, NULL);
switch (status) {
case LDAP_PROC_SUCCESS:
rcode = RLM_MODULE_OK;
ssize_t rlm_ldap_xlat_filter(REQUEST *request, char const **sub, size_t sublen, char *out, size_t outlen);
ldap_rcode_t rlm_ldap_bind(rlm_ldap_t const *inst, REQUEST *request, ldap_handle_t **pconn, char const *dn,
- char const *password, ldap_sasl *sasl, bool retry,
+ char const *password, ldap_sasl *sasl, bool retry, struct timeval *timeout,
LDAPControl **serverctrls, LDAPControl **clientctrls);
char const *rlm_ldap_error_str(ldap_handle_t const *conn);