We have received a reply, so it is no longer outstanding.
Also libldap can reuse msgid values so there could be a conflict between
a query whose reply has been received and a new query.
{
int i;
- /*
- * Remove the query from the tree of outstanding queries
- */
- if (query->ldap_conn) fr_rb_remove(query->ldap_conn->queries, query);
-
/*
* Free any results which were retrieved
*/
continue;
}
+ /*
+ * Remove the query from the tree of outstanding queries
+ */
+ fr_rb_remove(ldap_conn->queries, query);
+
/*
* This really shouldn't happen - as we only retrieve complete sets of results -
* but as the query data structure will last until its results are fully handled
int referral_no = -1;
fr_ldap_referral_t *referral;
- /*
- * In following a referral, firstly remove the query from the
- * tree of pending queries clear the message id.
- */
- fr_rb_remove(query->ldap_conn->queries, query);
- query->msgid = 0;
fr_trunk_request_signal_complete(query->treq);
query->treq = NULL;