r4339: - rename auth_guest to auth_anonymous
[samba.git] / source4 / auth / auth_util.c
index 4a60c3f847a33f6edb313de8019f9847c7dc128e..9af4410a93a63f0927e27d6e428d0d8e142e31f6 100644 (file)
@@ -353,6 +353,7 @@ NTSTATUS create_security_token(TALLOC_CTX *mem_ctx,
 {
        struct security_token *ptoken;
        int i;
+       NTSTATUS status;
 
        ptoken = security_token_initialise(mem_ctx);
        if (ptoken == NULL) {
@@ -397,6 +398,13 @@ NTSTATUS create_security_token(TALLOC_CTX *mem_ctx,
                        ptoken->sids[ptoken->num_sids++] = groupSIDs[i];
                }
        }
+
+       /* setup the privilege mask for this token */
+       status = samdb_privilege_setup(ptoken);
+       if (!NT_STATUS_IS_OK(status)) {
+               talloc_free(ptoken);
+               return status;
+       }
        
        debug_security_token(DBGC_AUTH, 10, ptoken);
        
@@ -422,57 +430,6 @@ NTSTATUS make_server_info(const TALLOC_CTX *mem_ctx,
        return NT_STATUS_OK;
 }
 
-/***************************************************************************
- Make (and fill) a user_info struct for a guest login.
-***************************************************************************/
-NTSTATUS make_server_info_guest(TALLOC_CTX *mem_ctx, struct auth_serversupplied_info **server_info)
-{
-       NTSTATUS nt_status;
-
-       nt_status = make_server_info(mem_ctx, server_info, "");
-
-       if (!NT_STATUS_IS_OK(nt_status)) {
-               return nt_status;
-       }
-       
-       (*server_info)->guest = True;
-
-       (*server_info)->user_sid = dom_sid_parse_talloc((*server_info), SID_NT_ANONYMOUS);
-       (*server_info)->primary_group_sid = dom_sid_parse_talloc((*server_info), SID_BUILTIN_GUESTS);
-       (*server_info)->n_domain_groups = 0;
-       (*server_info)->domain_groups = NULL;
-       
-       /* annoying, but the Guest really does have a session key, 
-          and it is all zeros! */
-       (*server_info)->user_session_key = data_blob_talloc(*server_info, NULL, 16);
-       (*server_info)->lm_session_key = data_blob_talloc(*server_info, NULL, 16);
-
-       data_blob_clear(&(*server_info)->user_session_key);
-       data_blob_clear(&(*server_info)->lm_session_key);
-
-       (*server_info)->account_name = "";
-       (*server_info)->domain = "";
-       (*server_info)->full_name = "Anonymous";
-       (*server_info)->logon_script = "";
-       (*server_info)->profile_path = "";
-       (*server_info)->home_directory = "";
-       (*server_info)->home_drive = "";
-
-       (*server_info)->last_logon = 0;
-       (*server_info)->last_logoff = 0;
-       (*server_info)->acct_expiry = 0;
-       (*server_info)->last_password_change = 0;
-       (*server_info)->allow_password_change = 0;
-       (*server_info)->force_password_change = 0;
-
-       (*server_info)->logon_count = 0;
-       (*server_info)->bad_password_count = 0;
-
-       (*server_info)->acct_flags = ACB_NORMAL;
-
-       return nt_status;
-}
-
 /***************************************************************************
  Make a server_info struct from the info3 returned by a domain logon 
 ***************************************************************************/