summaryrefslogtreecommitdiff
path: root/source3/smbd
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/smbd
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/smbd')
-rw-r--r--source3/smbd/groupname.c5
-rw-r--r--source3/smbd/server.c2
-rw-r--r--source3/smbd/uid.c4
3 files changed, 5 insertions, 6 deletions
diff --git a/source3/smbd/groupname.c b/source3/smbd/groupname.c
index 812488571a..5147ae4b95 100644
--- a/source3/smbd/groupname.c
+++ b/source3/smbd/groupname.c
@@ -21,7 +21,6 @@
#ifdef USING_GROUPNAME_MAP
#include "includes.h"
-extern DOM_SID global_sam_sid;
/**************************************************************************
Groupname map functionality. The code loads a groupname map file and
@@ -160,7 +159,7 @@ Error was %s.\n", unixname, strerror(errno) ));
* It's not a well known name, convert the UNIX gid_t
* to a rid within this domain SID.
*/
- tmp_sid = global_sam_sid;
+ sid_copy(&tmp_sid,get_global_sam_sid());
tmp_sid.sub_auths[tmp_sid.num_auths++] =
pdb_gid_to_group_rid(gid);
}
@@ -228,7 +227,7 @@ void map_gid_to_sid( gid_t gid, DOM_SID *psid)
* If there's no map, convert the UNIX gid_t
* to a rid within this domain SID.
*/
- *psid = global_sam_sid;
+ sid_copy(psid,get_global_sam_sid());
psid->sub_auths[psid->num_auths++] = pdb_gid_to_group_rid(gid);
return;
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 5f8f7044a6..6296e13f1c 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -860,7 +860,7 @@ static void usage(char *pname)
/* possibly reload the services file. */
reload_services(True);
- if(!pdb_generate_sam_sid()) {
+ if(!get_global_sam_sid()) {
DEBUG(0,("ERROR: Samba cannot create a SAM SID.\n"));
exit(1);
}
diff --git a/source3/smbd/uid.c b/source3/smbd/uid.c
index 8b0ffbd73f..cb4a975881 100644
--- a/source3/smbd/uid.c
+++ b/source3/smbd/uid.c
@@ -504,7 +504,7 @@ BOOL lookup_sid(DOM_SID *sid, fstring dom_name, fstring name, enum SID_NAME_USE
sid_copy(&tmp_sid, sid);
sid_split_rid(&tmp_sid, &rid);
- if (sid_equal(&global_sam_sid, &tmp_sid)) {
+ if (sid_equal(get_global_sam_sid(), &tmp_sid)) {
return map_domain_sid_to_name(&tmp_sid, dom_name) &&
local_lookup_sid(sid, name, name_type);
@@ -598,7 +598,7 @@ BOOL sid_to_uid(DOM_SID *psid, uid_t *puid, enum SID_NAME_USE *sidtype)
fstring sid_str;
/* if we know its local then don't try winbindd */
- if (sid_compare_domain(&global_sam_sid, psid) == 0) {
+ if (sid_compare_domain(get_global_sam_sid(), psid) == 0) {
return local_sid_to_uid(puid, psid, sidtype);
}