mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
r7675: Use correct memory context for anonymous session setup auth context
(no need for it to hang around forever). Add test for this behaviour. Andrew Bartlett (This used to be commit 36dc2491d778fbbff32c4abdf95faa9f83024e12)
This commit is contained in:
parent
b11efd3e50
commit
b523bde499
@ -142,14 +142,14 @@ static NTSTATUS sesssetup_nt1(struct smbsrv_request *req, union smb_sesssetup *s
|
||||
return NT_STATUS_ACCESS_DENIED;
|
||||
}
|
||||
|
||||
status = make_user_info_anonymous(req->smb_conn, &user_info);
|
||||
status = make_user_info_anonymous(mem_ctx, &user_info);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
talloc_free(mem_ctx);
|
||||
return status;
|
||||
}
|
||||
|
||||
/* TODO: should we use just "anonymous" here? */
|
||||
status = auth_context_create(req->smb_conn, lp_auth_methods(),
|
||||
status = auth_context_create(mem_ctx, lp_auth_methods(),
|
||||
&auth_context,
|
||||
req->smb_conn->connection->event.ctx);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
|
@ -62,6 +62,8 @@ static BOOL test_session(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
||||
struct smbcli_session *session;
|
||||
struct smbcli_session *session2;
|
||||
struct smbcli_session *session3;
|
||||
struct smbcli_session *session4;
|
||||
struct cli_credentials *anon_creds;
|
||||
struct smbcli_session *sessions[15];
|
||||
struct composite_context *composite_contexts[15];
|
||||
struct smbcli_tree *tree;
|
||||
@ -137,6 +139,25 @@ static BOOL test_session(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
||||
CHECK_STATUS(status, NT_STATUS_ACCESS_DENIED);
|
||||
|
||||
talloc_free(session3);
|
||||
|
||||
printf("create a fouth anonymous security context on the same transport, without extended security\n");
|
||||
session4 = smbcli_session_init(cli->transport, mem_ctx, False);
|
||||
|
||||
session4->vuid = session->vuid;
|
||||
setup.in.sesskey = cli->transport->negotiate.sesskey;
|
||||
setup.in.capabilities = 0; /* force a non extended security login (should fail) */
|
||||
setup.in.workgroup = lp_workgroup();
|
||||
|
||||
anon_creds = cli_credentials_init(mem_ctx);
|
||||
cli_credentials_set_conf(anon_creds);
|
||||
cli_credentials_set_anonymous(anon_creds);
|
||||
|
||||
setup.in.credentials = anon_creds;
|
||||
|
||||
status = smb_composite_sesssetup(session3, &setup);
|
||||
CHECK_STATUS(status, NT_STATUS_OK);
|
||||
|
||||
talloc_free(session4);
|
||||
}
|
||||
|
||||
printf("use the same tree as the existing connection\n");
|
||||
|
Loading…
x
Reference in New Issue
Block a user