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@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