Store the server domain from the ntlmssp challenge in the client struct
authorVolker Lendecke <vlendec@samba.org>
Sun, 10 Aug 2003 20:18:05 +0000 (20:18 +0000)
committerVolker Lendecke <vlendec@samba.org>
Sun, 10 Aug 2003 20:18:05 +0000 (20:18 +0000)
to be able to ask a LMB for the servers in its workgroup. Against
W2k this only works on port 139....

Volker
(This used to be commit 62b04d7776852098dd768268500f36c3a362f688)

source3/include/ntlmssp.h
source3/libsmb/cliconnect.c
source3/libsmb/ntlmssp.c

index 562e4853ccc76577e984d1674e1c330a7440514a..f1b1bc25e43ea6d7dfc5c6f19db23d29c44f7b46 100644 (file)
@@ -100,6 +100,7 @@ typedef struct ntlmssp_client_state
        char *domain;
        char *workstation;
        char *password;
+       char *server_domain;
 
        const char *(*get_global_myname)(void);
        const char *(*get_domain)(void);
index 94fe04a480d081db48e1e9b81bacaba275920cf1..a1a207d19760b607160ea70fd5c6eddb8caa3fb3 100644 (file)
@@ -610,6 +610,7 @@ static BOOL cli_session_setup_ntlmssp(struct cli_state *cli, const char *user,
        } while (NT_STATUS_EQUAL(nt_status, NT_STATUS_MORE_PROCESSING_REQUIRED));
 
        if (NT_STATUS_IS_OK(nt_status)) {
+               fstrcpy(cli->server_domain, ntlmssp_state->server_domain);
                set_cli_session_key(cli, ntlmssp_state->session_key);
        }
 
index a50ae9b70ff479709b69067116d4f1f8a8c9a086..e76ad75e6ecea028d2de5dce5687d52f4bf8722d 100644 (file)
@@ -529,6 +529,9 @@ static NTSTATUS ntlmssp_client_challenge(struct ntlmssp_client_state *ntlmssp_st
                return NT_STATUS_INVALID_PARAMETER;
        }
 
+       ntlmssp_state->server_domain = talloc_strdup(ntlmssp_state->mem_ctx,
+                                                    server_domain);
+
        SAFE_FREE(server_domain);
        if (challenge_blob.length != 8) {
                data_blob_free(&struct_blob);