svn commit: samba r7675 - in branches/SAMBA_4_0/source: smb_server torture/raw

abartlet at samba.org abartlet at samba.org
Fri Jun 17 06:30:04 GMT 2005


Author: abartlet
Date: 2005-06-17 06:30:03 +0000 (Fri, 17 Jun 2005)
New Revision: 7675

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=7675

Log:
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

Modified:
   branches/SAMBA_4_0/source/smb_server/sesssetup.c
   branches/SAMBA_4_0/source/torture/raw/context.c


Changeset:
Modified: branches/SAMBA_4_0/source/smb_server/sesssetup.c
===================================================================
--- branches/SAMBA_4_0/source/smb_server/sesssetup.c	2005-06-17 06:13:47 UTC (rev 7674)
+++ branches/SAMBA_4_0/source/smb_server/sesssetup.c	2005-06-17 06:30:03 UTC (rev 7675)
@@ -142,14 +142,14 @@
 			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)) {

Modified: branches/SAMBA_4_0/source/torture/raw/context.c
===================================================================
--- branches/SAMBA_4_0/source/torture/raw/context.c	2005-06-17 06:13:47 UTC (rev 7674)
+++ branches/SAMBA_4_0/source/torture/raw/context.c	2005-06-17 06:30:03 UTC (rev 7675)
@@ -62,6 +62,8 @@
 	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 @@
 		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");



More information about the samba-cvs mailing list