summaryrefslogtreecommitdiff
path: root/source3/passdb/util_sam_sid.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2002-06-07 14:33:33 +0000
committerAndrew Bartlett <abartlet@samba.org>2002-06-07 14:33:33 +0000
commitb0ffabdcca53507a99ce8f00fccf2d4cac78fd6d (patch)
tree5e9307e48779739a66fc7b540141b17271526b8f /source3/passdb/util_sam_sid.c
parent39d0a1b832793b18c3790482a2240171e31017c7 (diff)
downloadsamba-b0ffabdcca53507a99ce8f00fccf2d4cac78fd6d.tar.gz
samba-b0ffabdcca53507a99ce8f00fccf2d4cac78fd6d.tar.bz2
samba-b0ffabdcca53507a99ce8f00fccf2d4cac78fd6d.zip
Globally replace 'global_sam_sid' with get_global_sam_sid(), a self
initialising function. This patch thanks to the work of "Stefan (metze) Metzmacher" <metze@metzemix.de> This is partly to enable the transition to SIDs in the the passdb. Andrew Bartlett (This used to be commit 96afea638e15d4cbadc57023a511094a770c6adc)
Diffstat (limited to 'source3/passdb/util_sam_sid.c')
-rw-r--r--source3/passdb/util_sam_sid.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/source3/passdb/util_sam_sid.c b/source3/passdb/util_sam_sid.c
index a9cec5c5ca..2c574f4a61 100644
--- a/source3/passdb/util_sam_sid.c
+++ b/source3/passdb/util_sam_sid.c
@@ -22,14 +22,9 @@
#include "includes.h"
-DOM_SID global_sam_sid;
extern pstring global_myname;
extern fstring global_myworkgroup;
-/* NOTE! the global_sam_sid is the SID of our local SAM. This is only
- equal to the domain SID when we are a DC, otherwise its our
- workstation SID */
-
#define MAX_SID_NAMES 7
typedef struct _known_sid_users {
@@ -99,17 +94,17 @@ static void init_sid_name_map (void)
generate_wellknown_sids();
if ((lp_security() == SEC_USER) && lp_domain_logons()) {
- sid_name_map[i].sid = &global_sam_sid;
+ sid_name_map[i].sid = get_global_sam_sid();
sid_name_map[i].name = global_myworkgroup;
sid_name_map[i].known_users = NULL;
i++;
- sid_name_map[i].sid = &global_sam_sid;
+ sid_name_map[i].sid = get_global_sam_sid();
sid_name_map[i].name = global_myname;
sid_name_map[i].known_users = NULL;
i++;
}
else {
- sid_name_map[i].sid = &global_sam_sid;
+ sid_name_map[i].sid = get_global_sam_sid();
sid_name_map[i].name = global_myname;
sid_name_map[i].known_users = NULL;
i++;
@@ -224,14 +219,14 @@ BOOL map_domain_name_to_sid(DOM_SID *sid, char *nt_domain)
if (nt_domain == NULL) {
DEBUG(5,("map_domain_name_to_sid: mapping NULL domain to our SID.\n"));
- sid_copy(sid, &global_sam_sid);
+ sid_copy(sid, get_global_sam_sid());
return True;
}
if (nt_domain[0] == 0) {
fstrcpy(nt_domain, global_myname);
DEBUG(5,("map_domain_name_to_sid: overriding blank name to %s\n", nt_domain));
- sid_copy(sid, &global_sam_sid);
+ sid_copy(sid, get_global_sam_sid());
return True;
}
@@ -261,7 +256,7 @@ BOOL map_domain_name_to_sid(DOM_SID *sid, char *nt_domain)
*****************************************************************/
BOOL sid_check_is_domain(const DOM_SID *sid)
{
- return sid_equal(sid, &global_sam_sid);
+ return sid_equal(sid, get_global_sam_sid());
}
/*****************************************************************
@@ -275,6 +270,6 @@ BOOL sid_check_is_in_our_domain(const DOM_SID *sid)
sid_copy(&dom_sid, sid);
sid_split_rid(&dom_sid, &rid);
- return sid_equal(&dom_sid, &global_sam_sid);
+ return sid_equal(&dom_sid, get_global_sam_sid());
}