changeset 11505:a859ab0d760e HEAD

login: If master login fails, make sure the client gets disconnected.
author Timo Sirainen <tss@iki.fi>
date Wed, 09 Jun 2010 16:38:33 +0100
parents 279bf7435603
children 7385d8090890
files src/login-common/client-common-auth.c
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/login-common/client-common-auth.c	Wed Jun 09 16:37:57 2010 +0100
+++ b/src/login-common/client-common-auth.c	Wed Jun 09 16:38:33 2010 +0100
@@ -429,6 +429,11 @@
 					 CLIENT_CMD_REPLY_AUTH_FAIL_TEMP, data);
 		}
 
+		/* the fd may still be hanging somewhere in kernel or another
+		   process. make sure the client gets disconnected. */
+		if (shutdown(client->fd, SHUT_RDWR) < 0)
+			i_error("shutdown() failed: %m");
+
 		if (data == NULL)
 			client_destroy_internal_failure(client);
 		else