[dovecot-cvs] dovecot/src/login-common auth-connection.c,1.5,1.6

cras at procontrol.fi cras at procontrol.fi
Sat Feb 8 14:24:56 EET 2003


Update of /home/cvs/dovecot/src/login-common
In directory danu:/tmp/cvs-serv10724

Modified Files:
	auth-connection.c 
Log Message:
Warn if auth process disconnected.



Index: auth-connection.c
===================================================================
RCS file: /home/cvs/dovecot/src/login-common/auth-connection.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- auth-connection.c	8 Feb 2003 08:07:31 -0000	1.5
+++ auth-connection.c	8 Feb 2003 12:24:54 -0000	1.6
@@ -79,7 +79,9 @@
 	memset(&handshake, 0, sizeof(handshake));
 	handshake.pid = login_process_uid;
 	if (o_stream_send(conn->output, &handshake, sizeof(handshake)) < 0) {
-                auth_connection_destroy(conn);
+		errno = conn->output->stream_errno;
+		i_warning("Error sending handshake to auth process: %m");
+		auth_connection_destroy(conn);
 		return NULL;
 	}
 	return conn;
@@ -234,6 +236,7 @@
 	case -1:
 		/* disconnected */
                 auth_reconnect = TRUE;
+		i_warning("Auth process disconnected unexpectedly");
 		auth_connection_destroy(conn);
 		return;
 	case -2:
@@ -315,8 +318,11 @@
 	auth_request.mech = request->mech;
 	auth_request.id = request->id;
 	if (o_stream_send(request->conn->output, &auth_request,
-			  sizeof(auth_request)) < 0)
+			  sizeof(auth_request)) < 0) {
+		errno = request->conn->output->stream_errno;
+		i_warning("Error sending request to auth process: %m");
 		auth_connection_destroy(request->conn);
+	}
 	return TRUE;
 }
 
@@ -331,10 +337,12 @@
 	auth_request.data_size = data_size;
 
 	if (o_stream_send(request->conn->output, &auth_request,
-			  sizeof(auth_request)) < 0)
-		auth_connection_destroy(request->conn);
-	else if (o_stream_send(request->conn->output, data, data_size) < 0)
+			  sizeof(auth_request)) < 0 ||
+	    o_stream_send(request->conn->output, data, data_size) < 0) {
+		errno = request->conn->output->stream_errno;
+		i_warning("Error sending continue request to auth process: %m");
 		auth_connection_destroy(request->conn);
+	}
 }
 
 void auth_abort_request(struct auth_request *request)




More information about the dovecot-cvs mailing list