Lines Matching refs:req

12 int ldap_connect_next_message(struct ldap_connection *conn, struct ldap_op_queue_entry *req, bool *finished_r);
14 void ldap_connection_abort_request(struct ldap_op_queue_entry *req);
16 void ldap_connection_request_destroy(struct ldap_op_queue_entry **req);
210 struct ldap_op_queue_entry *req,
218 if (req->result_callback != NULL)
219 req->result_callback(&res, req->result_callback_ctx);
227 struct ldap_op_queue_entry *req)
233 if (req->result_callback != NULL)
234 req->result_callback(&res, req->result_callback_ctx);
241 struct ldap_op_queue_entry *req;
257 req = NULL;
267 req = *reqp;
273 if (req == NULL) return;
275 i_assert(req->msgid == -1);
279 if ((ret = req->send_request_cb(conn, req, &error)) != LDAP_SUCCESS) {
286 if (req->result_callback != NULL)
287 req->result_callback(&res, req->result_callback_ctx);
289 ldap_connection_request_destroy(&req);
297 struct ldap_op_queue_entry *req = *_req;
301 timeout_remove(&req->to_abort);
302 pool_unref(&req->pool);
305 void ldap_connection_queue_request(struct ldap_connection *conn, struct ldap_op_queue_entry *req)
307 req->msgid = -1;
308 req->conn = conn;
309 aqueue_append(conn->request_queue, &req);
310 if (req->timeout_secs > 0)
311 req->to_abort = timeout_add(req->timeout_secs * 1000, ldap_connection_abort_request, req);
318 struct ldap_op_queue_entry *req,
336 ldap_connection_result_failure(conn, req, ret, t_strdup_printf(
342 ldap_connection_result_failure(conn, req, result_err, t_strdup_printf(
355 ldap_connection_result_failure(conn, req, ret, t_strdup_printf(
363 ldap_connection_result_failure(conn, req, ret, t_strdup_printf(
375 return ldap_connect_next_message(conn, req, finished_r);
378 ldap_connection_result_failure(conn, req, ret, t_strdup_printf(
386 ldap_connection_result_failure(conn, req, result_err, t_strdup_printf(
396 ldap_connection_result_failure(conn, req, ret, error);
400 return ldap_connect_next_message(conn, req, finished_r);
408 void ldap_connection_abort_request(struct ldap_op_queue_entry *req)
413 timeout_remove(&req->to_abort);
414 if (req->msgid > -1)
415 ldap_abandon_ext(req->conn->conn, req->msgid, NULL, NULL);
420 if (req->result_callback != NULL)
421 req->result_callback(&res, req->result_callback_ctx);
423 unsigned int n = aqueue_count(req->conn->request_queue);
426 array_idx(&req->conn->request_array,
427 aqueue_idx(req->conn->request_queue, i));
428 if (req == *reqp) {
429 aqueue_delete(req->conn->request_queue, i);
430 ldap_connection_request_destroy(&req);
460 struct ldap_op_queue_entry *req, bool *finished_r)
470 ret = ldap_start_tls(conn->conn, NULL, NULL, &req->msgid);
472 ldap_connection_result_failure(conn, req, ret, t_strdup_printf(
489 &req->msgid);
491 ldap_connection_result_failure(conn, req, ret, t_strdup_printf(
498 ldap_connection_result_success(conn, req);
504 req->conn = conn;
524 struct ldap_op_queue_entry *req = p_new(pool, struct ldap_op_queue_entry, 1);
525 req->pool = pool;
527 req->internal_response_cb = ldap_connection_connect_parse;
528 req->timeout_secs = conn->set.timeout_secs;
530 if (ldap_connect_next_message(conn, req, &finished) != LDAP_SUCCESS ||
536 aqueue_append(conn->request_queue, &req);
538 if (req->timeout_secs > 0)
539 req->to_abort = timeout_add(req->timeout_secs * 1000, ldap_connection_abort_request, req);
602 struct ldap_op_queue_entry *req;
608 req = ldap_connection_find_req_by_msgid(conn, ldap_msgid(message), &i);
609 if (req != NULL)
610 err = req->internal_response_cb(conn, req, message, &finished);
657 i_assert(req != NULL);
658 ldap_connection_request_destroy(&req);