diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-12-30 16:53:08 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2010-03-24 17:34:56 +0100 |
commit | dee63fe4ca5d8dad820ff8b5f15edba41e6be65f (patch) | |
tree | a88813584a5ac1f728f3073d71d5cd76e9687801 | |
parent | 2dfc78a41a34e181ba9dcacf58010ddb0883a619 (diff) | |
download | samba-dee63fe4ca5d8dad820ff8b5f15edba41e6be65f.tar.gz samba-dee63fe4ca5d8dad820ff8b5f15edba41e6be65f.tar.bz2 samba-dee63fe4ca5d8dad820ff8b5f15edba41e6be65f.zip |
s3:ntlmssp: use client.netbios_name instead of workstation
metze
Signed-off-by: Günther Deschner <gd@samba.org>
-rw-r--r-- | source3/auth/auth_ntlmssp.c | 4 | ||||
-rw-r--r-- | source3/include/ntlmssp.h | 1 | ||||
-rw-r--r-- | source3/libsmb/ntlmssp.c | 10 | ||||
-rw-r--r-- | source3/rpc_server/srv_pipe.c | 3 | ||||
-rw-r--r-- | source3/utils/ntlm_auth.c | 7 |
5 files changed, 14 insertions, 11 deletions
diff --git a/source3/auth/auth_ntlmssp.c b/source3/auth/auth_ntlmssp.c index 1609c71fff..a62d429008 100644 --- a/source3/auth/auth_ntlmssp.c +++ b/source3/auth/auth_ntlmssp.c @@ -92,7 +92,7 @@ static NTSTATUS auth_ntlmssp_check_password(struct ntlmssp_state *ntlmssp_state, /* the client has given us its machine name (which we otherwise would not get on port 445). we need to possibly reload smb.conf if smb.conf includes depend on the machine name */ - set_remote_machine_name(auth_ntlmssp_state->ntlmssp_state->workstation, True); + set_remote_machine_name(auth_ntlmssp_state->ntlmssp_state->client.netbios_name, True); /* setup the string used by %U */ /* sub_set_smb_name checks for weird internally */ @@ -103,7 +103,7 @@ static NTSTATUS auth_ntlmssp_check_password(struct ntlmssp_state *ntlmssp_state, nt_status = make_user_info_map(&user_info, auth_ntlmssp_state->ntlmssp_state->user, auth_ntlmssp_state->ntlmssp_state->domain, - auth_ntlmssp_state->ntlmssp_state->workstation, + auth_ntlmssp_state->ntlmssp_state->client.netbios_name, auth_ntlmssp_state->ntlmssp_state->lm_resp.data ? &auth_ntlmssp_state->ntlmssp_state->lm_resp : NULL, auth_ntlmssp_state->ntlmssp_state->nt_resp.data ? &auth_ntlmssp_state->ntlmssp_state->nt_resp : NULL, NULL, NULL, NULL, diff --git a/source3/include/ntlmssp.h b/source3/include/ntlmssp.h index 8774a0b1a9..55ab9225f4 100644 --- a/source3/include/ntlmssp.h +++ b/source3/include/ntlmssp.h @@ -54,7 +54,6 @@ struct ntlmssp_state bool use_ccache; const char *user; const char *domain; - const char *workstation; unsigned char *nt_hash; unsigned char *lm_hash; diff --git a/source3/libsmb/ntlmssp.c b/source3/libsmb/ntlmssp.c index 58935ed19b..5e48b1aba8 100644 --- a/source3/libsmb/ntlmssp.c +++ b/source3/libsmb/ntlmssp.c @@ -599,7 +599,6 @@ static NTSTATUS ntlmssp_server_auth(struct ntlmssp_state *ntlmssp_state, ntlmssp_state->user = NULL; ntlmssp_state->domain = NULL; - ntlmssp_state->workstation = NULL; /* now the NTLMSSP encoded auth hashes */ if (!msrpc_parse(ntlmssp_state, &request, parse_string, @@ -609,7 +608,7 @@ static NTSTATUS ntlmssp_server_auth(struct ntlmssp_state *ntlmssp_state, &ntlmssp_state->nt_resp, &ntlmssp_state->domain, &ntlmssp_state->user, - &ntlmssp_state->workstation, + &ntlmssp_state->client.netbios_name, &encrypted_session_key, &auth_flags)) { auth_flags = 0; @@ -629,7 +628,7 @@ static NTSTATUS ntlmssp_server_auth(struct ntlmssp_state *ntlmssp_state, &ntlmssp_state->nt_resp, &ntlmssp_state->domain, &ntlmssp_state->user, - &ntlmssp_state->workstation)) { + &ntlmssp_state->client.netbios_name)) { DEBUG(1, ("ntlmssp_server_auth: failed to parse NTLMSSP (tried both formats):\n")); dump_data(2, request.data, request.length); @@ -651,7 +650,10 @@ static NTSTATUS ntlmssp_server_auth(struct ntlmssp_state *ntlmssp_state, } DEBUG(3,("Got user=[%s] domain=[%s] workstation=[%s] len1=%lu len2=%lu\n", - ntlmssp_state->user, ntlmssp_state->domain, ntlmssp_state->workstation, (unsigned long)ntlmssp_state->lm_resp.length, (unsigned long)ntlmssp_state->nt_resp.length)); + ntlmssp_state->user, ntlmssp_state->domain, + ntlmssp_state->client.netbios_name, + (unsigned long)ntlmssp_state->lm_resp.length, + (unsigned long)ntlmssp_state->nt_resp.length)); #if 0 file_save("nthash1.dat", &ntlmssp_state->nt_resp.data, &ntlmssp_state->nt_resp.length); diff --git a/source3/rpc_server/srv_pipe.c b/source3/rpc_server/srv_pipe.c index f6ed50c945..7b02ac8b1f 100644 --- a/source3/rpc_server/srv_pipe.c +++ b/source3/rpc_server/srv_pipe.c @@ -704,7 +704,8 @@ static bool pipe_ntlmssp_verify_final(pipes_struct *p, DATA_BLOB *p_resp_blob) DEBUG(5, ("pipe_ntlmssp_verify_final: OK: user: %s domain: %s " "workstation: %s\n", a->ntlmssp_state->user, - a->ntlmssp_state->domain, a->ntlmssp_state->workstation)); + a->ntlmssp_state->domain, + a->ntlmssp_state->client.netbios_name)); if (a->server_info->ptok == NULL) { DEBUG(1,("Error: Authmodule failed to provide nt_user_token\n")); diff --git a/source3/utils/ntlm_auth.c b/source3/utils/ntlm_auth.c index 3eb34a7d9a..049aa309e6 100644 --- a/source3/utils/ntlm_auth.c +++ b/source3/utils/ntlm_auth.c @@ -571,7 +571,7 @@ static NTSTATUS winbind_pw_check(struct ntlmssp_state *ntlmssp_state, DATA_BLOB char *unix_name = NULL; nt_status = contact_winbind_auth_crap(ntlmssp_state->user, ntlmssp_state->domain, - ntlmssp_state->workstation, + ntlmssp_state->client.netbios_name, &ntlmssp_state->chal, &ntlmssp_state->lm_resp, &ntlmssp_state->nt_resp, @@ -595,7 +595,7 @@ static NTSTATUS winbind_pw_check(struct ntlmssp_state *ntlmssp_state, DATA_BLOB DEBUG(NT_STATUS_EQUAL(nt_status, NT_STATUS_ACCESS_DENIED) ? 0 : 3, ("Login for user [%s]\\[%s]@[%s] failed due to [%s]\n", ntlmssp_state->domain, ntlmssp_state->user, - ntlmssp_state->workstation, + ntlmssp_state->client.netbios_name, error_string ? error_string : "unknown error (NULL)")); ntlmssp_state->callback_private = NULL; } @@ -629,7 +629,8 @@ static NTSTATUS local_pw_check(struct ntlmssp_state *ntlmssp_state, DATA_BLOB *u ntlmssp_state->user); } else { DEBUG(3, ("Login for user [%s]\\[%s]@[%s] failed due to [%s]\n", - ntlmssp_state->domain, ntlmssp_state->user, ntlmssp_state->workstation, + ntlmssp_state->domain, ntlmssp_state->user, + ntlmssp_state->client.netbios_name, nt_errstr(nt_status))); ntlmssp_state->callback_private = NULL; } |