s3: Lift talloc_autofree_context() from make_auth_context_subsystem()
authorVolker Lendecke <vl@samba.org>
Sat, 25 Sep 2010 22:31:29 +0000 (15:31 -0700)
committerVolker Lendecke <vl@samba.org>
Sat, 25 Sep 2010 23:12:37 +0000 (01:12 +0200)
source3/auth/auth.c
source3/auth/auth_compat.c
source3/auth/auth_ntlmssp.c
source3/include/proto.h
source3/rpc_server/srv_netlog_nt.c
source3/smbd/negprot.c
source3/smbd/sesssetup.c

index 8a3e3497be19c00512f71d179cb87aa82cc2053a..4eb0845ba010fb4685a1bfc9bec12d96eebfa095 100644 (file)
@@ -455,7 +455,8 @@ static NTSTATUS make_auth_context_text_list(TALLOC_CTX *mem_ctx,
  Make a auth_context struct for the auth subsystem
 ***************************************************************************/
 
-NTSTATUS make_auth_context_subsystem(struct auth_context **auth_context) 
+NTSTATUS make_auth_context_subsystem(TALLOC_CTX *mem_ctx,
+                                    struct auth_context **auth_context)
 {
        char **auth_method_list = NULL; 
        NTSTATUS nt_status;
@@ -526,8 +527,7 @@ NTSTATUS make_auth_context_subsystem(struct auth_context **auth_context)
                DEBUG(5,("Using specified auth order\n"));
        }
 
-       nt_status = make_auth_context_text_list(talloc_autofree_context(),
-                                               auth_context,
+       nt_status = make_auth_context_text_list(mem_ctx, auth_context,
                                                auth_method_list);
 
        TALLOC_FREE(auth_method_list);
@@ -541,7 +541,9 @@ NTSTATUS make_auth_context_subsystem(struct auth_context **auth_context)
 NTSTATUS make_auth_context_fixed(struct auth_context **auth_context, uchar chal[8]) 
 {
        NTSTATUS nt_status;
-       if (!NT_STATUS_IS_OK(nt_status = make_auth_context_subsystem(auth_context))) {
+       nt_status = make_auth_context_subsystem(talloc_autofree_context(),
+                                               auth_context);
+       if (!NT_STATUS_IS_OK(nt_status)) {
                return nt_status;
        }
 
index bd4c433ab99dbfe5a47e0ae88336a53a7bb1532e..ffad36e9f2e0e3162e3ab06ac7e90bd9faa4676d 100644 (file)
@@ -42,7 +42,10 @@ NTSTATUS check_plaintext_password(const char *smb_name,
        struct auth_usersupplied_info *user_info = NULL;
        uint8_t chal[8];
        NTSTATUS nt_status;
-       if (!NT_STATUS_IS_OK(nt_status = make_auth_context_subsystem(&plaintext_auth_context))) {
+
+       nt_status = make_auth_context_subsystem(talloc_tos(),
+                                               &plaintext_auth_context);
+       if (!NT_STATUS_IS_OK(nt_status)) {
                return nt_status;
        }
 
index af3a6f382787390c726e37e77a0a86455545f551..3905914884c0b7b2c8dfe6ea957ab44871f4487c 100644 (file)
@@ -229,7 +229,7 @@ NTSTATUS auth_ntlmssp_start(struct auth_ntlmssp_state **auth_ntlmssp_state)
                return nt_status;
        }
 
-       nt_status = make_auth_context_subsystem(&auth_context);
+       nt_status = make_auth_context_subsystem(talloc_tos(), &auth_context);
        if (!NT_STATUS_IS_OK(nt_status)) {
                return nt_status;
        }
index 849a06223064b6a33d817e8ac5f5ec69a79f5b17..38ee2818ad7cb5d7fc1e9a7046b53d0cab517fdf 100644 (file)
@@ -29,7 +29,8 @@
 NTSTATUS smb_register_auth(int version, const char *name, auth_init_function init);
 bool load_auth_module(struct auth_context *auth_context, 
                      const char *module, auth_methods **ret) ;
-NTSTATUS make_auth_context_subsystem(struct auth_context **auth_context) ;
+NTSTATUS make_auth_context_subsystem(TALLOC_CTX *mem_ctx,
+                                    struct auth_context **auth_context);
 NTSTATUS make_auth_context_fixed(struct auth_context **auth_context, uchar chal[8]) ;
 
 /* The following definitions come from auth/auth_builtin.c  */
index d821b04cdc5f2234663d38e9e1c216da5c5ccdde..963737f8970c3f348ee41bb0f90a1f5771b87bf0 100644 (file)
@@ -1360,7 +1360,9 @@ static NTSTATUS _netr_LogonSamLogon_base(struct pipes_struct *p,
        {
                uint8_t chal[8];
 
-               if (!NT_STATUS_IS_OK(status = make_auth_context_subsystem(&auth_context))) {
+               status = make_auth_context_subsystem(talloc_tos(),
+                                                    &auth_context);
+               if (!NT_STATUS_IS_OK(status)) {
                        return status;
                }
 
index 463e1c808362db07e9be066f053d8ea18e768ce5..51f2d0c1deb42f3f376ebdf1906cff5c8ed6a45a 100644 (file)
@@ -38,7 +38,7 @@ static void get_challenge(struct smbd_server_connection *sconn, uint8 buff[8])
 
        DEBUG(10, ("get challenge: creating negprot_global_auth_context\n"));
        nt_status = make_auth_context_subsystem(
-               &sconn->smb1.negprot.auth_context);
+               sconn, &sconn->smb1.negprot.auth_context);
        if (!NT_STATUS_IS_OK(nt_status)) {
                DEBUG(0, ("make_auth_context_subsystem returned %s",
                          nt_errstr(nt_status)));
index b227d2bc9e4e5fef05b8723f72b56d1512e3a979..68b91b7f1b2985022c11447317f8dc442af46d71 100644 (file)
@@ -1589,7 +1589,7 @@ void reply_sesssetup_and_X(struct smb_request *req)
                struct auth_context *plaintext_auth_context = NULL;
 
                nt_status = make_auth_context_subsystem(
-                               &plaintext_auth_context);
+                       talloc_tos(), &plaintext_auth_context);
 
                if (NT_STATUS_IS_OK(nt_status)) {
                        uint8_t chal[8];