password server = * is broken

Andrew Esh aesh at tricord.com
Mon Apr 8 14:32:01 GMT 2002


I was testing the smb.conf parameter "password server", and had no problems in
a domain with a PDC and two BDC's, but I listed the servers by name in the 
parameter. When I switched to using "*", the client could no longer authenticate.

The problem appears to be the representation of the user name. In a successful
case, the code does this:


[2002/04/08 15:26:29, 3, pid=9645, effective(0, 0), real(0, 0)] smbd/reply.c:reply_sesssetup_and_X(847)
  Domain=[CENTRAL]  NativeOS=[Windows NT 1381] NativeLanMan=[]
[2002/04/08 15:26:29, 3, pid=9645, effective(0, 0), real(0, 0)] smbd/reply.c:reply_sesssetup_and_X(858)
  sesssetupX:name=[AndrewE]
[2002/04/08 15:26:29, 6, pid=9645, effective(0, 0), real(0, 0)] param/loadparm.c:lp_file_list_changed(2247)
  lp_file_list_changed()
  file /usr/local/tsms/etc/replication.readonly -> /usr/local/tsms/etc/replication.readonly  last mod_time: Wed Dec 31 18:00:00 1969
  
  file /usr/local/tsms/etc/netbios.aliases -> /usr/local/tsms/etc/netbios.aliases  last mod_time: Wed Dec 31 18:00:00 1969
  
  file /usr/local/tsms/etc/unix_masks_and_modes -> /usr/local/tsms/etc/unix_masks_and_modes  last mod_time: Mon Feb 18 17:27:30 2002
  
  file /usr/local/tsms/etc/application.appliance.smb.conf -> /usr/local/tsms/etc/application.appliance.smb.conf  last mod_time: Wed Dec 31 18:00:00 1969
  
  file /usr/local/samba/lib/smb.conf -> /usr/local/samba/lib/smb.conf  last mod_time: Mon Apr  8 15:26:23 2002
  
[2002/04/08 15:26:30, 3, pid=9645, effective(0, 0), real(0, 0)] smbd/reply.c:reply_sesssetup_and_X(919)
  Using unix username CENTRAL+AndrewE

... and everything is fine from there on.



In the failing case, the code starts the same:


[2002/04/08 15:13:17, 3, pid=9521, effective(0, 0), real(0, 0)] smbd/reply.c:reply_sesssetup_and_X(847)
  Domain=[CENTRAL]  NativeOS=[Windows NT 1381] NativeLanMan=[]
[2002/04/08 15:13:17, 3, pid=9521, effective(0, 0), real(0, 0)] smbd/reply.c:reply_sesssetup_and_X(858)
  sesssetupX:name=[AndrewE]


 ... fails to get into line 919, and skips down to line 1018, which fails because of a bad user name:


[2002/04/08 15:13:18, 3, pid=9521, effective(0, 0), real(0, 0)] smbd/reply.c:reply_sesssetup_and_X(1018)
  No such user andrewe [CENTRAL] - using guest account
[2002/04/08 15:13:18, 10, pid=9521, effective(0, 0), real(0, 0)] smbd/password.c:register_vuid(288)
  register_vuid: (99,99) nobody AndrewE CENTRAL guest=1


What happened to "CENTRAL+AndrewE"? Why does this code near line 919 fail? :


    if (sys_getpwnam(dom_user) != NULL) {
      pstrcpy(user, dom_user);
      DEBUG(3,("Using unix username %s\n", dom_user));
    }


If this a code ordering problem? Is it trying to look up the user before it has a domain controller located?

I'll keep digging, but if this one looks familiar, save me the time, please.

-- 
Andrew C. Esh              mail:Andrew.Esh at tricord.com
Tricord Systems, Inc.
2905 Northwest Blvd., Suite 20   763-557-9005 (main)
Plymouth, MN 55441-2644 USA      763-551-6418 (direct)
http://www.tricord.com - Tricord Home Page




More information about the samba-technical mailing list