summaryrefslogtreecommitdiff
path: root/source/passdb/util_sam_sid.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/passdb/util_sam_sid.c')
-rw-r--r--source/passdb/util_sam_sid.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/passdb/util_sam_sid.c b/source/passdb/util_sam_sid.c
index a9e1921e0d0..1fddfc79255 100644
--- a/source/passdb/util_sam_sid.c
+++ b/source/passdb/util_sam_sid.c
@@ -32,11 +32,17 @@ typedef struct _known_sid_users {
static struct sid_name_map_info
{
- const DOM_SID *sid;
+ DOM_SID *sid;
const char *name;
const known_sid_users *known_users;
} sid_name_map[MAX_SID_NAMES];
+extern DOM_SID global_sid_Builtin; /* Local well-known domain */
+extern DOM_SID global_sid_World_Domain; /* Everyone domain */
+extern DOM_SID global_sid_Creator_Owner_Domain; /* Creator Owner domain */
+extern DOM_SID global_sid_NT_Authority; /* NT Authority */
+
+
static BOOL sid_name_map_initialized = False;
/* static known_sid_users no_users[] = {{0, 0, NULL}}; */
@@ -93,6 +99,8 @@ static void init_sid_name_map (void)
if (sid_name_map_initialized) return;
+ generate_wellknown_sids();
+
if ((lp_security() == SEC_USER) && lp_domain_logons()) {
sid_name_map[i].sid = get_global_sam_sid();
/* This is not lp_workgroup() for good reason: