summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd_cm.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2012-10-22 14:31:20 +0200
committerMichael Adam <obnox@samba.org>2012-11-01 16:27:14 +0100
commit45105afffc5678082b23165ff74610d67e57a82a (patch)
tree423702d3d0e2804bf246f3e506c7072ad2a7bbe9 /source3/winbindd/winbindd_cm.c
parentc5cd22b5bbce724dcd68fe94320382b3f772cabf (diff)
downloadsamba-45105afffc5678082b23165ff74610d67e57a82a.tar.gz
samba-45105afffc5678082b23165ff74610d67e57a82a.tar.bz2
samba-45105afffc5678082b23165ff74610d67e57a82a.zip
s3:winbindd: disconnection after getting NETWORK_SESSION_EXPIRED (bug #9175)
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'source3/winbindd/winbindd_cm.c')
-rw-r--r--source3/winbindd/winbindd_cm.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c
index 0639be1fb5..c403b32b20 100644
--- a/source3/winbindd/winbindd_cm.c
+++ b/source3/winbindd/winbindd_cm.c
@@ -979,6 +979,17 @@ static NTSTATUS cm_prepare_connection(const struct winbindd_domain *domain,
session_setup_done:
+ /*
+ * This should be a short term hack until
+ * dynamic re-authentication is implemented.
+ *
+ * See Bug 9175 - winbindd doesn't recover from
+ * NT_STATUS_NETWORK_SESSION_EXPIRED
+ */
+ if (smbXcli_conn_protocol((*cli)->conn) >= PROTOCOL_SMB2_02) {
+ smbXcli_session_set_disconnect_expired((*cli)->smb2.session);
+ }
+
/* cache the server name for later connections */
saf_store(domain->name, controller);