s4:kdc: Add resource SID compression
[samba.git] / auth / auth_sam_reply.h
index 22e3c77e267c522b1191b8d84086cd7dab98cfec..57a98249b08c5a525e5d4a025127865823ce3c01 100644 (file)
 #ifndef __AUTH_AUTH_SAM_REPLY_H__
 #define __AUTH_AUTH_SAM_REPLY_H__
 
+#include "libcli/util/ntstatus.h"
+#include "libcli/util/werror.h"
+#include "librpc/gen_ndr/auth.h"
+
 #undef _PRINTF_ATTRIBUTE
 #define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)
 /* this file contains prototypes for functions that are private
 /* The following definitions come from auth/auth_sam_reply.c  */
 
 NTSTATUS make_user_info_SamBaseInfo(TALLOC_CTX *mem_ctx,
-                                   const const char *account_name,
+                                   const char *account_name,
                                    const struct netr_SamBaseInfo *base,
                                    bool authenticated,
                                    struct auth_user_info **_user_info);
 
-NTSTATUS auth_convert_user_info_dc_sambaseinfo(TALLOC_CTX *mem_ctx,
-                                             const struct auth_user_info_dc *user_info_dc,
-                                             struct netr_SamBaseInfo **_sam);
+struct auth_user_info *auth_user_info_copy(TALLOC_CTX *mem_ctx,
+                                          const struct auth_user_info *src);
+
 NTSTATUS auth_convert_user_info_dc_saminfo6(TALLOC_CTX *mem_ctx,
                                           const struct auth_user_info_dc *user_info_dc,
-                                          struct netr_SamInfo6 **_sam6);
+                                          enum auth_group_inclusion group_inclusion,
+                                          struct netr_SamInfo6 **_sam6,
+                                          struct PAC_DOMAIN_GROUP_MEMBERSHIP **_resource_groups);
 NTSTATUS auth_convert_user_info_dc_saminfo2(TALLOC_CTX *mem_ctx,
                                           const struct auth_user_info_dc *user_info_dc,
+                                          enum auth_group_inclusion group_inclusion,
                                           struct netr_SamInfo2 **_sam2);
 NTSTATUS auth_convert_user_info_dc_saminfo3(TALLOC_CTX *mem_ctx,
                                           const struct auth_user_info_dc *user_info_dc,
-                                          struct netr_SamInfo3 **_sam3);
+                                          enum auth_group_inclusion group_inclusion,
+                                          struct netr_SamInfo3 **_sam3,
+                                          struct PAC_DOMAIN_GROUP_MEMBERSHIP **_resource_groups);
 
 /**
  * Make a user_info_dc struct from the info3 returned by a domain logon
@@ -66,6 +75,8 @@ NTSTATUS make_user_info_dc_netlogon_validation(TALLOC_CTX *mem_ctx,
  */
 NTSTATUS make_user_info_dc_pac(TALLOC_CTX *mem_ctx,
                              const struct PAC_LOGON_INFO *pac_logon_info,
+                             const struct PAC_UPN_DNS_INFO *pac_upn_dns_info,
+                             enum auth_group_inclusion group_inclusion,
                              struct auth_user_info_dc **_user_info_dc);
 
 /* The following definitions come from auth/wbc_auth_util.c  */