s4:libcli/smb_composite: make use of smb1cli_session_set_session_key()
authorStefan Metzmacher <metze@samba.org>
Wed, 1 Aug 2012 06:57:40 +0000 (08:57 +0200)
committerStefan Metzmacher <metze@samba.org>
Wed, 1 Aug 2012 12:17:12 +0000 (14:17 +0200)
metze

source4/libcli/smb_composite/sesssetup.c

index a69d300b527398fcf6e00a363ba0cf11569e2887..fab2ce9c8587e2e4830978e096218d9f0c5946c1 100644 (file)
@@ -208,7 +208,13 @@ static void request_handler(struct smbcli_request *req)
                                                              null_data_blob);
                        }
                        set_user_session_key(session, &session_key);
+
+                       c->status = smb1cli_session_set_session_key(session->smbXcli,
+                                                                   session_key);
                        data_blob_free(&session_key);
+                       if (!NT_STATUS_IS_OK(c->status)) {
+                               break;
+                       }
                }
 
                if (state->setup.spnego.in.secblob.length) {
@@ -346,7 +352,12 @@ static NTSTATUS session_setup_nt1(struct composite_context *c,
                                              state->setup.nt1.in.password2);
                set_user_session_key(session, &session_key);
 
+               nt_status = smb1cli_session_set_session_key(session->smbXcli,
+                                                           session_key);
                data_blob_free(&session_key);
+               if (!NT_STATUS_IS_OK(nt_status)) {
+                       return nt_status;
+               }
        }
 
        return (*req)->status;
@@ -405,8 +416,13 @@ static NTSTATUS session_setup_old(struct composite_context *c,
                                                              NULL, &session_key);
                NT_STATUS_NOT_OK_RETURN(nt_status);
                set_user_session_key(session, &session_key);
-               
+
+               nt_status = smb1cli_session_set_session_key(session->smbXcli,
+                                                           session_key);
                data_blob_free(&session_key);
+               if (!NT_STATUS_IS_OK(nt_status)) {
+                       return nt_status;
+               }
        } else if (session->options.plaintext_auth) {
                state->setup.old.in.password = data_blob_talloc(state, password, strlen(password));
        } else {