diff options
author | Andrew Bartlett <abartlet@samba.org> | 2006-01-09 22:12:53 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:49:57 -0500 |
commit | f55ea8bb3dca868e21663cd90eaea7a35cd7886c (patch) | |
tree | 80aab2a3f10310e1946821603752cd407e435214 /source4/scripting | |
parent | 806b3fdbc12b3284ab9872a4ecae3a7ee34ea171 (diff) | |
download | samba-f55ea8bb3dca868e21663cd90eaea7a35cd7886c.tar.gz samba-f55ea8bb3dca868e21663cd90eaea7a35cd7886c.tar.bz2 samba-f55ea8bb3dca868e21663cd90eaea7a35cd7886c.zip |
r12804: This patch reworks the Samba4 sockets layer to use a socket_address
structure that is more generic than just 'IP/port'.
It now passes make test, and has been reviewed and updated by
metze. (Thankyou *very* much).
This passes 'make test' as well as kerberos use (not currently in the
testsuite).
The original purpose of this patch was to have Samba able to pass a
socket address stucture from the BSD layer into the kerberos routines
and back again. It also removes nbt_peer_addr, which was being used
for a similar purpose.
It is a large change, but worthwhile I feel.
Andrew Bartlett
(This used to be commit 88198c4881d8620a37086f80e4da5a5b71c5bbb2)
Diffstat (limited to 'source4/scripting')
-rw-r--r-- | source4/scripting/ejs/smbcalls_auth.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/source4/scripting/ejs/smbcalls_auth.c b/source4/scripting/ejs/smbcalls_auth.c index 3ec376f4fe..c79f2af0ac 100644 --- a/source4/scripting/ejs/smbcalls_auth.c +++ b/source4/scripting/ejs/smbcalls_auth.c @@ -28,7 +28,7 @@ static int ejs_doauth(MprVarHandle eid, TALLOC_CTX *tmp_ctx, struct MprVar *auth, const char *username, - const char *password, const char *domain, const char *remote_host, + const char *password, const char *domain, const char *workstation, const char *authtype) { struct auth_usersupplied_info *user_info = NULL; @@ -61,9 +61,9 @@ static int ejs_doauth(MprVarHandle eid, user_info->client.domain_name = domain; user_info->mapped.domain_name = domain; - user_info->workstation_name = remote_host; + user_info->workstation_name = workstation; - user_info->remote_host = remote_host; + user_info->remote_host = NULL; user_info->password_state = AUTH_PASSWORD_PLAIN; user_info->password.plaintext = talloc_strdup(user_info, password); @@ -101,13 +101,6 @@ done: /* perform user authentication, returning an array of results - syntax: - var authinfo = new Object(); - authinfo.username = myname; - authinfo.password = mypass; - authinfo.domain = mydom; - authinfo.rhost = request['REMOTE_HOST']; - auth = userAuth(authinfo); */ static int ejs_userAuth(MprVarHandle eid, int argc, struct MprVar **argv) { @@ -115,7 +108,7 @@ static int ejs_userAuth(MprVarHandle eid, int argc, struct MprVar **argv) const char *username; const char *password; const char *domain; - const char *remote_host; + const char *workstation; struct MprVar auth; struct cli_credentials *creds; @@ -136,7 +129,7 @@ static int ejs_userAuth(MprVarHandle eid, int argc, struct MprVar **argv) username = cli_credentials_get_username(creds); password = cli_credentials_get_password(creds); domain = cli_credentials_get_domain(creds); - remote_host = cli_credentials_get_workstation(creds); + workstation = cli_credentials_get_workstation(creds); if (username == NULL || password == NULL || domain == NULL) { mpr_Return(eid, mprCreateUndefinedVar()); @@ -147,9 +140,9 @@ static int ejs_userAuth(MprVarHandle eid, int argc, struct MprVar **argv) auth = mprObject("auth"); if (domain && (strcmp("System User", domain) == 0)) { - ejs_doauth(eid, tmp_ctx, &auth, username, password, domain, remote_host, "unix"); + ejs_doauth(eid, tmp_ctx, &auth, username, password, domain, workstation, "unix"); } else { - ejs_doauth(eid, tmp_ctx, &auth, username, password, domain, remote_host, "sam"); + ejs_doauth(eid, tmp_ctx, &auth, username, password, domain, workstation, "sam"); } mpr_Return(eid, auth); |