From e7eb12ea5db5285c0e23887ec7e2dea28e62455a Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 17 Nov 2010 08:56:28 -0700 Subject: [PATCH] s3: Make winbind recover from a signing error When winbind sees a signing error on the smb connection to a DC (for whatever reason, our bug, network glitch, etc) it should recover properly. The "old" code in clientgen.c just closed the socket in this case. This is the right thing to do, this connection is spoiled anyway. The new, async code did not do this so far, which led to the code in winbindd_cm.c not detect that we need to reconnect. --- source3/libsmb/async_smb.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/source3/libsmb/async_smb.c b/source3/libsmb/async_smb.c index e683e37..0336ff2 100644 --- a/source3/libsmb/async_smb.c +++ b/source3/libsmb/async_smb.c @@ -848,6 +848,8 @@ static NTSTATUS validate_smb_crypto(struct cli_state *cli, char *pdu) if (!cli_check_sign_mac(cli, pdu)) { DEBUG(10, ("cli_check_sign_mac failed\n")); + close(cli->fd); + cli->fd = -1; return NT_STATUS_ACCESS_DENIED; } -- 1.6.5.7