diff options
author | Andreas Schneider <asn@samba.org> | 2020-09-07 09:19:43 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2020-09-07 13:22:26 +0000 |
commit | 0b742ec6a0558397d5cf01b99a401f8e2bc0e2e0 (patch) | |
tree | 4373fee18a2c0c97bbcd06ee72ea3028d3297a67 /source4/smb_server | |
parent | 6c94ebf77fdb7383be2042f5e20ba2ef598cd4a4 (diff) | |
download | samba-0b742ec6a0558397d5cf01b99a401f8e2bc0e2e0.tar.gz |
s4:smb_server: Use cli_credentials_init_server() for negprot
Signed-off-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Mon Sep 7 13:22:26 UTC 2020 on sn-devel-184
Diffstat (limited to 'source4/smb_server')
-rw-r--r-- | source4/smb_server/smb/negprot.c | 28 | ||||
-rw-r--r-- | source4/smb_server/smb2/negprot.c | 25 |
2 files changed, 27 insertions, 26 deletions
diff --git a/source4/smb_server/smb/negprot.c b/source4/smb_server/smb/negprot.c index a6177a72019..04b69dd9883 100644 --- a/source4/smb_server/smb/negprot.c +++ b/source4/smb_server/smb/negprot.c @@ -374,22 +374,22 @@ static void reply_nt1(struct smbsrv_request *req, uint16_t choice) DATA_BLOB blob = data_blob_null; const char *oid; NTSTATUS nt_status; - - server_credentials - = cli_credentials_init(req); - if (!server_credentials) { - smbsrv_terminate_connection(req->smb_conn, "Failed to init server credentials\n"); - return; - } - - cli_credentials_set_conf(server_credentials, req->smb_conn->lp_ctx); - nt_status = cli_credentials_set_machine_account(server_credentials, req->smb_conn->lp_ctx); - if (!NT_STATUS_IS_OK(nt_status)) { - DEBUG(10, ("Failed to obtain server credentials, perhaps a standalone server?: %s\n", nt_errstr(nt_status))); + + server_credentials = + cli_credentials_init_server(req, req->smb_conn->lp_ctx); + if (server_credentials == NULL) { + DBG_DEBUG("Failed to obtain server credentials, " + "perhaps a standalone server?\n"); /* - * We keep the server_credentials as anonymous - * this is required for the spoolss.notify test + * Create anon server credentials for for the + * spoolss.notify test. */ + server_credentials = cli_credentials_init_anon(req); + if (server_credentials == NULL) { + smbsrv_terminate_connection(req->smb_conn, + "Failed to init server credentials\n"); + return; + } } nt_status = samba_server_gensec_start(req, diff --git a/source4/smb_server/smb2/negprot.c b/source4/smb_server/smb2/negprot.c index 4aaaf46793b..c433eb194bd 100644 --- a/source4/smb_server/smb2/negprot.c +++ b/source4/smb_server/smb2/negprot.c @@ -39,20 +39,21 @@ static NTSTATUS smb2srv_negprot_secblob(struct smb2srv_request *req, DATA_BLOB * NTSTATUS nt_status; struct cli_credentials *server_credentials; - server_credentials = cli_credentials_init(req); - if (!server_credentials) { - smbsrv_terminate_connection(req->smb_conn, "Failed to init server credentials\n"); - return NT_STATUS_NO_MEMORY; - } - - cli_credentials_set_conf(server_credentials, req->smb_conn->lp_ctx); - nt_status = cli_credentials_set_machine_account(server_credentials, req->smb_conn->lp_ctx); - if (!NT_STATUS_IS_OK(nt_status)) { - DEBUG(10, ("Failed to obtain server credentials, perhaps a standalone server?: %s\n", nt_errstr(nt_status))); + server_credentials = + cli_credentials_init_server(req, req->smb_conn->lp_ctx); + if (server_credentials == NULL) { + DBG_DEBUG("Failed to obtain server credentials, " + "perhaps a standalone server?\n"); /* - * We keep the server_credentials as anonymous - * this is required for the spoolss.notify test + * Create anon server credentials for for the + * spoolss.notify test. */ + server_credentials = cli_credentials_init_anon(req); + if (server_credentials == NULL) { + smbsrv_terminate_connection(req->smb_conn, + "Failed to init server credentials\n"); + return NT_STATUS_NO_MEMORY; + } } req->smb_conn->negotiate.server_credentials = talloc_steal(req->smb_conn, server_credentials); |