diff options
author | Andreas Schneider <asn@samba.org> | 2021-03-18 11:14:39 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2021-03-24 00:55:32 +0000 |
commit | fd78554d11a60c75c0e6d2c8606a82bc20526c8a (patch) | |
tree | df32367688dff324232374cac3cbca7baffe0b42 /source3 | |
parent | 0aeca4e5a131c38328c7768e173b845f594c3470 (diff) | |
download | samba-fd78554d11a60c75c0e6d2c8606a82bc20526c8a.tar.gz |
s3:netapi: Use public functions for username/password
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Diffstat (limited to 'source3')
-rw-r--r-- | source3/lib/netapi/cm.c | 26 | ||||
-rw-r--r-- | source3/lib/netapi/joindomain.c | 8 |
2 files changed, 27 insertions, 7 deletions
diff --git a/source3/lib/netapi/cm.c b/source3/lib/netapi/cm.c index 3f4e188b396..fd5cc56786d 100644 --- a/source3/lib/netapi/cm.c +++ b/source3/lib/netapi/cm.c @@ -72,6 +72,9 @@ static WERROR libnetapi_open_ipc_connection(struct libnetapi_ctx *ctx, struct client_ipc_connection *p; NTSTATUS status; struct cli_credentials *creds = NULL; + const char *username = NULL; + const char *password = NULL; + NET_API_STATUS rc; if (!ctx || !pp || !server_name) { return WERR_INVALID_PARAMETER; @@ -89,17 +92,30 @@ static WERROR libnetapi_open_ipc_connection(struct libnetapi_ctx *ctx, if (!auth_info) { return WERR_NOT_ENOUGH_MEMORY; } + + rc = libnetapi_get_username(ctx, &username); + if (rc != 0) { + TALLOC_FREE(auth_info); + return WERR_INTERNAL_ERROR; + } + + rc = libnetapi_get_password(ctx, &password); + if (rc != 0) { + TALLOC_FREE(auth_info); + return WERR_INTERNAL_ERROR; + } + set_cmdline_auth_info_signing_state_raw(auth_info, SMB_SIGNING_IPC_DEFAULT); set_cmdline_auth_info_use_kerberos(auth_info, ctx->use_kerberos); - set_cmdline_auth_info_username(auth_info, ctx->username); - if (ctx->password) { - set_cmdline_auth_info_password(auth_info, ctx->password); + set_cmdline_auth_info_username(auth_info, username); + if (password != NULL) { + set_cmdline_auth_info_password(auth_info, password); } else { set_cmdline_auth_info_getpass(auth_info); } - if (ctx->username && ctx->username[0] && - ctx->password && ctx->password[0] && + if (username && username[0] && + password && password[0] && ctx->use_kerberos) { set_cmdline_auth_info_fallback_after_kerberos(auth_info, true); } diff --git a/source3/lib/netapi/joindomain.c b/source3/lib/netapi/joindomain.c index afb1de45a71..90a58824fe5 100644 --- a/source3/lib/netapi/joindomain.c +++ b/source3/lib/netapi/joindomain.c @@ -429,7 +429,9 @@ WERROR NetGetJoinableOUs_l(struct libnetapi_ctx *ctx, if (r->in.account) { ads->auth.user_name = SMB_STRDUP(r->in.account); } else { - const char *username = cli_credentials_get_username(ctx->creds); + const char *username = NULL; + + libnetapi_get_username(ctx, &username); if (username != NULL) { ads->auth.user_name = SMB_STRDUP(username); } @@ -439,7 +441,9 @@ WERROR NetGetJoinableOUs_l(struct libnetapi_ctx *ctx, if (r->in.password) { ads->auth.password = SMB_STRDUP(r->in.password); } else { - const char *password = cli_credentials_get_password(ctx->creds); + const char *password = NULL; + + libnetapi_get_password(ctx, &password); if (password != NULL) { ads->auth.password = SMB_STRDUP(password); } |