master_request);
/* the auth request is finished, we don't need it anymore */
- mech_request_free(client_conn, auth_request, request->id);
+ mech_request_free(auth_request, request->id);
}
}
} else {
if (!auth_request->auth_continue(auth_request,
request, data, callback))
- mech_request_free(conn, auth_request, request->id);
+ mech_request_free(auth_request, request->id);
}
}
-void mech_request_free(struct auth_client_connection *conn,
- struct auth_request *auth_request, unsigned int id)
+void mech_request_free(struct auth_request *auth_request, unsigned int id)
{
+ if (auth_request->conn != NULL) {
+ hash_remove(auth_request->conn->auth_requests,
+ POINTER_CAST(id));
+ }
auth_request_unref(auth_request);
- hash_remove(conn->auth_requests, POINTER_CAST(id));
}
void mech_init_auth_client_reply(struct auth_client_request_reply *reply)
auth_request->callback(&reply, reply_data, auth_request->conn);
- if (!success) {
- mech_request_free(auth_request->conn, auth_request,
- auth_request->id);
- }
+ if (!success)
+ mech_request_free(auth_request, auth_request->id);
}
int mech_is_valid_username(const char *username)
struct auth_client_request_continue *request,
const unsigned char *data,
mech_callback_t *callback);
-void mech_request_free(struct auth_client_connection *conn,
- struct auth_request *auth_request, unsigned int id);
+void mech_request_free(struct auth_request *auth_request, unsigned int id);
void mech_init_auth_client_reply(struct auth_client_request_reply *reply);
void *mech_auth_success(struct auth_client_request_reply *reply,