1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-26 21:57:41 +03:00

ldb-samba: fix the timeout setup in ildb_request_send()

We need to use the startime as reference not the current time.

We also allow timeout == -1 to indicate no timeout at all.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Stefan Metzmacher 2016-01-22 08:53:57 +01:00 committed by Garming Sam
parent cd77b0bba4
commit 5db9f865bc

View File

@ -418,11 +418,13 @@ static int ildb_request_send(struct ildb_context *ac, struct ldap_message *msg)
return LDB_ERR_OPERATIONS_ERROR;
}
talloc_free(req->time_event);
req->time_event = NULL;
if (ac->req->timeout) {
req->time_event = tevent_add_timer(ac->ildb->event_ctx, ac,
timeval_current_ofs(ac->req->timeout, 0),
TALLOC_FREE(req->time_event);
if (ac->req->timeout > 0) {
struct timeval tv = {
.tv_sec = ac->req->starttime + ac->req->timeout,
};
req->time_event = tevent_add_timer(ac->ildb->event_ctx, ac, tv,
ildb_request_timeout, ac);
}