Prepending "\" to user name w/Win98 Domain Login

Jeff Mandel jeff.mandel at probes.com
Sun Aug 11 11:02:00 GMT 2002


Using samba as a PDC, logins from win98 don't seem to send a domain name 
with the user name when using a domain login. As a result, there's some 
kind of null domain which causes a leading slash to be prepended to the 
user name. I believe this is the separator character of <domain>\<user> 
syntax.

If the domain is somhow blank, as shown in Domain=[], I would expect the 
user name to just be <user> not <\user>,  which fails login every time 
:) Works OK on win2K.

[2002/08/11 12:21:44, 3] smbd/sec_ctx.c:set_sec_ctx(314)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2002/08/11 12:21:44, 3] smbd/reply.c:reply_sesssetup_and_X(858)
  Domain=[]  NativeOS=[Windows 4.0] NativeLanMan=[Windows 4.0]
[2002/08/11 12:21:44, 3] smbd/reply.c:reply_sesssetup_and_X(868)
  sesssetupX:name=[JEFF]
[2002/08/11 12:21:44, 3] smbd/reply.c:reply_sesssetup_and_X(929)
  Using unix username \JEFF
[2002/08/11 12:21:44, 2] smbd/reply.c:reply_sesssetup_and_X(982)
  Defaulting to Lanman password for \jeff
[2002/08/11 12:21:44, 1] smbd/password.c:pass_check_smb(545)
  Couldn't find user '\jeff' in passdb.
[2002/08/11 12:21:44, 1] smbd/reply.c:reply_sesssetup_and_X(998)
  Rejecting user '\jeff': authentication failed
[2002/08/11 12:21:44, 3] smbd/error.c:error_packet(91)
  error string = No such file or directory
[2002/08/11 12:21:44, 3] smbd/error.c:error_packet(126)
  error packet at smbd/reply.c(1000) cmd=115 (SMBsesssetupX) eclass=2 
ecode=2
[2002/08/11 12:21:44, 3] smbd/process.c:timeout_processing(1102)
  end of file from client
[2002/08/11 12:21:44, 3] smbd/sec_ctx.c:set_sec_ctx(314)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2002/08/11 12:21:44, 2] smbd/server.c:exit_server(461)
  Closing connections
[2002/08/11 12:21:44, 3] smbd/connection.c:yield_connection(48)
  Yielding connection to
[2002/08/11 12:21:44, 3] smbd/server.c:exit_server(495)
  Server exit (normal exit)


I made a change to reply.c in 2.2.2, but the funcion has been changed 
and no longer take two args.

root at mp5# diff reply.c reply.c.orig
737,739c737
<     DEBUG(3,("Not PROTOCOL_NT1 user=[%s]\n", user));
<       pstrcpy(user,dos_to_unix(user,False));
<     DEBUG(3,("Not PROTOCOL_NT1 dos_to_unix user=[%s]\n", user));
---
 >     pstrcpy(user,dos_to_unix(user,False));
744,746d741
<  
<  
<  
927d921
<     DEBUG(3,("Using username %s\n", user));
930d923
<     DEBUG(3,("Using dom_user %s\n", dom_user));
932c925
<     if (sys_getpwnam(dom_user) != NULL && strlen(domain) > 0 ) {
---
 >     if (sys_getpwnam(dom_user) != NULL) {


Ideas?
Thanks,
Jeff




More information about the samba-technical mailing list