diff options
| author | Andrew Tridgell <tridge@samba.org> | 1997-10-21 09:34:33 +0000 | 
|---|---|---|
| committer | Andrew Tridgell <tridge@samba.org> | 1997-10-21 09:34:33 +0000 | 
| commit | 0891bb6a910841455162876be09a92107cd9df00 (patch) | |
| tree | bae8a4b2bac095c5828091f8f193019d72828931 /source3/smbd/reply.c | |
| parent | 8adc95a55ab51597cce665705c2a866294b743ac (diff) | |
| download | samba-0891bb6a910841455162876be09a92107cd9df00.tar.gz samba-0891bb6a910841455162876be09a92107cd9df00.tar.bz2 samba-0891bb6a910841455162876be09a92107cd9df00.zip | |
rewrote the password server code using the new clientgen.c client
interface
The new code uses a source netbios name equal to the Samba servers
name, not the client name. It also uses NetWkstaUserLogon to do a full
network logon. This means it will honour the servers logon
restrictions (such as login times etc).
(This used to be commit 11de90f972f6d83974425e80014f54e15d495413)
Diffstat (limited to 'source3/smbd/reply.c')
| -rw-r--r-- | source3/smbd/reply.c | 11 | 
1 files changed, 9 insertions, 2 deletions
| diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 424c7d8183..3643b6eed0 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -379,8 +379,10 @@ int reply_sesssetup_and_X(char *inbuf,char *outbuf,int length,int bufsize)    BOOL computer_id=False;    static BOOL done_sesssetup = False;    BOOL doencrypt = SMBENCRYPT(); +  char *domain = "";    *smb_apasswd = 0; +  *smb_ntpasswd = 0;    smb_bufsize = SVAL(inbuf,smb_vwv2);    smb_mpxmax = SVAL(inbuf,smb_vwv3); @@ -469,8 +471,10 @@ int reply_sesssetup_and_X(char *inbuf,char *outbuf,int length,int bufsize)      p += passlen1 + passlen2;      fstrcpy(user,p); p = skip_string(p,1); +    domain = p; +      DEBUG(3,("Domain=[%s]  NativeOS=[%s] NativeLanMan=[%s]\n", -	     p,skip_string(p,1),skip_string(p,2))); +	     domain,skip_string(p,1),skip_string(p,2)));    } @@ -533,7 +537,10 @@ int reply_sesssetup_and_X(char *inbuf,char *outbuf,int length,int bufsize)    if(!guest && strequal(user,lp_guestaccount(-1)) && (*smb_apasswd == 0))      guest = True; -  if (!guest && !(lp_security() == SEC_SERVER && server_validate(inbuf)) && +  if (!guest && !(lp_security() == SEC_SERVER &&  +		  server_validate(user, domain,  +				  smb_apasswd, smb_apasslen,  +				  smb_ntpasswd, smb_ntpasslen)) &&        !check_hosts_equiv(user))      { | 
