libcli/smb: we should not force a session key for anonymous connections
authorStefan Metzmacher <metze@samba.org>
Mon, 16 Apr 2012 10:41:30 +0000 (12:41 +0200)
committerStefan Metzmacher <metze@samba.org>
Mon, 16 Apr 2012 10:54:52 +0000 (12:54 +0200)
smb2cli_session_set_session_key() should not check for a valid session
key, if the connection is a guest or null session.

metze

libcli/smb/smbXcli_base.c

index 67ab3d0565d9e87611373a06b85c31c49483f055..9b924ad74742e5a86246ac23f6fabbcf12df61f0 100644 (file)
@@ -4121,10 +4121,6 @@ NTSTATUS smb2cli_session_set_session_key(struct smbXcli_session *session,
                return NT_STATUS_INVALID_PARAMETER_MIX;
        }
 
-       if (session->smb2.signing_key.length != 0) {
-               return NT_STATUS_INVALID_PARAMETER_MIX;
-       }
-
        no_sign_flags = SMB2_SESSION_FLAG_IS_GUEST | SMB2_SESSION_FLAG_IS_NULL;
 
        if (session->smb2.session_flags & no_sign_flags) {
@@ -4132,6 +4128,10 @@ NTSTATUS smb2cli_session_set_session_key(struct smbXcli_session *session,
                return NT_STATUS_OK;
        }
 
+       if (session->smb2.signing_key.length != 0) {
+               return NT_STATUS_INVALID_PARAMETER_MIX;
+       }
+
        ZERO_STRUCT(session_key);
        memcpy(session_key, _session_key.data,
               MIN(_session_key.length, sizeof(session_key)));