dovecot: If sending auth request to dovecot-auth fails, don't cr...
dovecot at dovecot.org
dovecot at dovecot.org
Mon Aug 13 18:00:28 EEST 2007
details: http://hg.dovecot.org/dovecot/rev/b04d136f8174
changeset: 6290:b04d136f8174
user: Timo Sirainen <tss at iki.fi>
date: Mon Aug 13 18:00:19 2007 +0300
description:
If sending auth request to dovecot-auth fails, don't crash.
diffstat:
1 file changed, 7 insertions(+), 3 deletions(-)
src/lib-auth/auth-server-request.c | 10 +++++++---
diffs (28 lines):
diff -r 4a57baddc8b8 -r b04d136f8174 src/lib-auth/auth-server-request.c
--- a/src/lib-auth/auth-server-request.c Mon Aug 13 17:19:59 2007 +0300
+++ b/src/lib-auth/auth-server-request.c Mon Aug 13 18:00:19 2007 +0300
@@ -326,6 +326,8 @@ auth_client_request_new(struct auth_clie
struct auth_server_connection *conn;
struct auth_request *request;
+ *error_r = "Temporary authentication failure.";
+
if (id == NULL) {
conn = auth_server_connection_find_mech(client,
request_info->mech,
@@ -365,10 +367,12 @@ auth_client_request_new(struct auth_clie
request->callback = callback;
request->context = context;
- hash_insert(conn->requests, POINTER_CAST(request->id), request);
-
- if (auth_server_send_new_request(conn, request, error_r) < 0)
+ if (auth_server_send_new_request(conn, request, error_r) == 0)
+ hash_insert(conn->requests, POINTER_CAST(request->id), request);
+ else {
+ auth_client_request_free(request);
request = NULL;
+ }
return request;
}
More information about the dovecot-cvs
mailing list