diff options
author | Andrew Bartlett <abartlet@samba.org> | 2001-09-20 10:26:50 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2001-09-20 10:26:50 +0000 |
commit | 994a4497032084cb744a644382e68cde464d19be (patch) | |
tree | ee31377ae1bb7751fe9b335e4953c91f9b7fd5c7 /source3/smbd/auth_rhosts.c | |
parent | 5377944635137126913370e88be0399bf4a254d0 (diff) | |
download | samba-994a4497032084cb744a644382e68cde464d19be.tar.gz samba-994a4497032084cb744a644382e68cde464d19be.tar.bz2 samba-994a4497032084cb744a644382e68cde464d19be.zip |
We are not meant to touch the username, so use the pass->pw_name output rather
than Get_Pwnam(user, True).
(This used to be commit bf81f0021328da97afe58cc17317b15ec1b3cc96)
Diffstat (limited to 'source3/smbd/auth_rhosts.c')
-rw-r--r-- | source3/smbd/auth_rhosts.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/source3/smbd/auth_rhosts.c b/source3/smbd/auth_rhosts.c index 2492a2a68b..e319d8d5f8 100644 --- a/source3/smbd/auth_rhosts.c +++ b/source3/smbd/auth_rhosts.c @@ -29,7 +29,7 @@ extern int DEBUGLEVEL; allows this user from this machine. ****************************************************************************/ -static BOOL check_user_equiv(char *user, char *remote, char *equiv_file) +static BOOL check_user_equiv(const char *user, const char *remote, const char *equiv_file) { int plus_allowed = 1; char *file_host; @@ -134,11 +134,11 @@ static BOOL check_user_equiv(char *user, char *remote, char *equiv_file) /**************************************************************************** check for a possible hosts equiv or rhosts entry for the user ****************************************************************************/ -static BOOL check_hosts_equiv(char *user) +static BOOL check_hosts_equiv(char *user) /* should be const... */ { char *fname = NULL; pstring rhostsfile; - struct passwd *pass = Get_Pwnam(user,True); + struct passwd *pass = Get_Pwnam(user,False); if (!pass) return(False); @@ -147,16 +147,16 @@ static BOOL check_hosts_equiv(char *user) /* note: don't allow hosts.equiv on root */ if (fname && *fname && (pass->pw_uid != 0)) { - if (check_user_equiv(user,client_name(),fname)) + if (check_user_equiv(pass->pw_name,client_name(),fname)) return(True); } if (lp_use_rhosts()) { - char *home = get_user_home_dir(user); + char *home = pass->pw_dir; if (home) { slprintf(rhostsfile, sizeof(rhostsfile)-1, "%s/.rhosts", home); - if (check_user_equiv(user,client_name(),rhostsfile)) + if (check_user_equiv(pass->pw_name,client_name(),rhostsfile)) return(True); } } |