diff options
author | Volker Lendecke <vl@samba.org> | 2010-08-21 14:57:16 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2010-08-28 11:12:13 +0200 |
commit | 92fd03c5f08055283af55f5a1dffaf84edb7e9ce (patch) | |
tree | ca64a5af98ea007eca9d7720d5d7e261672cd70c /source3/auth/auth_unix.c | |
parent | a3995ef31cfbd798921bf5fd34721b4251e173be (diff) | |
download | samba-92fd03c5f08055283af55f5a1dffaf84edb7e9ce.tar.gz samba-92fd03c5f08055283af55f5a1dffaf84edb7e9ce.tar.bz2 samba-92fd03c5f08055283af55f5a1dffaf84edb7e9ce.zip |
s3: Lift smbd_server_fd() from pass_check()
Diffstat (limited to 'source3/auth/auth_unix.c')
-rw-r--r-- | source3/auth/auth_unix.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/auth/auth_unix.c b/source3/auth/auth_unix.c index c50ac78ee4..87cfdb9dd5 100644 --- a/source3/auth/auth_unix.c +++ b/source3/auth/auth_unix.c @@ -37,16 +37,23 @@ static NTSTATUS check_unix_security(const struct auth_context *auth_context, { NTSTATUS nt_status; struct passwd *pass = NULL; + const char *rhost; + char addr[INET6_ADDRSTRLEN]; DEBUG(10, ("Check auth for: [%s]\n", user_info->mapped.account_name)); become_root(); pass = Get_Pwnam_alloc(talloc_tos(), user_info->mapped.account_name); + rhost = client_name(smbd_server_fd()); + if (strequal(rhost,"UNKNOWN")) + rhost = client_addr(smbd_server_fd(), addr, sizeof(addr)); + /** @todo This call assumes a ASCII password, no charset transformation is done. We may need to revisit this **/ nt_status = pass_check(pass, pass ? pass->pw_name : user_info->mapped.account_name, + rhost, user_info->password.plaintext, true); |