summaryrefslogtreecommitdiff
path: root/source3/rpc_server
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2004-03-18 07:36:36 +0000
committerVolker Lendecke <vlendec@samba.org>2004-03-18 07:36:36 +0000
commit60a237b0b5444b5dc1ba84f31891723e7d7f804d (patch)
tree58f3397941f394cfd3dbad25b5d8849d6d6fc188 /source3/rpc_server
parentef4a7b3c408d21f9979a52ac3ad84cc566a58e91 (diff)
downloadsamba-60a237b0b5444b5dc1ba84f31891723e7d7f804d.tar.gz
samba-60a237b0b5444b5dc1ba84f31891723e7d7f804d.tar.bz2
samba-60a237b0b5444b5dc1ba84f31891723e7d7f804d.zip
Fix sambaUserWorkstations for network samlogons against us as DC. Strip
the \\ off the workstation. Volker (This used to be commit d01cb00aad76f8be9767fdcfd92c88ea5d8c4f14)
Diffstat (limited to 'source3/rpc_server')
-rw-r--r--source3/rpc_server/srv_netlog_nt.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source3/rpc_server/srv_netlog_nt.c b/source3/rpc_server/srv_netlog_nt.c
index e8bc6345de..bf0e81f5c8 100644
--- a/source3/rpc_server/srv_netlog_nt.c
+++ b/source3/rpc_server/srv_netlog_nt.c
@@ -598,14 +598,22 @@ NTSTATUS _net_sam_logon(pipes_struct *p, NET_Q_SAM_LOGON *q_u, NET_R_SAM_LOGON *
switch (ctr->switch_value) {
case NET_LOGON_TYPE:
{
+ const char *wksname = nt_workstation;
+
if (!NT_STATUS_IS_OK(status = make_auth_context_fixed(&auth_context, ctr->auth.id2.lm_chal))) {
return status;
}
+ /* For a network logon, the workstation name comes in with two
+ * backslashes in the front. Strip them if they are there. */
+
+ if (*wksname == '\\') wksname++;
+ if (*wksname == '\\') wksname++;
+
/* Standard challenge/response authenticaion */
if (!make_user_info_netlogon_network(&user_info,
nt_username, nt_domain,
- nt_workstation,
+ wksname,
ctr->auth.id2.lm_chal_resp.buffer,
ctr->auth.id2.lm_chal_resp.str_str_len,
ctr->auth.id2.nt_chal_resp.buffer,