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/web | |
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/web')
-rw-r--r-- | source3/web/cgi.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/web/cgi.c b/source3/web/cgi.c index 9c9a365457..794152cd99 100644 --- a/source3/web/cgi.c +++ b/source3/web/cgi.c @@ -339,6 +339,8 @@ static bool cgi_handle_authorization(char *line) char *p; fstring user, user_pass; struct passwd *pass = NULL; + const char *rhost; + char addr[INET6_ADDRSTRLEN]; if (!strnequal(line,"Basic ", 6)) { goto err; @@ -369,11 +371,15 @@ static bool cgi_handle_authorization(char *line) pass = getpwnam_alloc(talloc_autofree_context(), user); + rhost = client_name(1); + if (strequal(rhost,"UNKNOWN")) + rhost = client_addr(1, addr, sizeof(addr)); + /* * Validate the password they have given. */ - if NT_STATUS_IS_OK(pass_check(pass, user, user_pass, false)) { + if NT_STATUS_IS_OK(pass_check(pass, user, rhost, user_pass, false)) { if (pass) { /* * Password was ok. |