summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2001-12-18 19:44:14 +0000
committerJeremy Allison <jra@samba.org>2001-12-18 19:44:14 +0000
commit7b8fb8d85c406b8755f60cf14dc2377bc59eda53 (patch)
tree9293e0a6aab24e4fa3e40954ad338ed1fb1e973b /source
parent2a1b531a1c4f1a4772c95c867f35eac50ed1c7fa (diff)
downloadsamba-7b8fb8d85c406b8755f60cf14dc2377bc59eda53.tar.gz
Fixup JF's weird SID return :-).
Jeremy
Diffstat (limited to 'source')
-rw-r--r--source/lib/util_sid.c6
-rw-r--r--source/rpc_server/srv_lsa_nt.c3
-rw-r--r--source/utils/smbcacls.c2
3 files changed, 7 insertions, 4 deletions
diff --git a/source/lib/util_sid.c b/source/lib/util_sid.c
index 72365f5e46d..1e0feac049c 100644
--- a/source/lib/util_sid.c
+++ b/source/lib/util_sid.c
@@ -42,6 +42,7 @@ DOM_SID global_sid_Builtin_Guests; /* Builtin guest users */
DOM_SID global_sid_Authenticated_Users; /* All authenticated rids */
DOM_SID global_sid_Network; /* Network rids */
DOM_SID global_sid_Anonymous; /* Anonymous login */
+DOM_SID global_sid_nonexistent; /* S-0-0. Used in Lsa level 3. */
const DOM_SID *global_sid_everyone = &global_sid_World;
@@ -182,6 +183,7 @@ void generate_wellknown_sids(void)
string_to_sid(&global_sid_Authenticated_Users, "S-1-5-11");
string_to_sid(&global_sid_Network, "S-1-5-2");
string_to_sid(&global_sid_Anonymous, "S-1-5-7");
+ string_to_sid(&global_sid_nonexistent, "S-0-0"); /* Used in Lsa level 3. */
/* Create the anon token. */
sid_copy( &anonymous_token.user_sids[0], &global_sid_World);
@@ -360,10 +362,10 @@ char *sid_to_string(fstring sidstr_out, DOM_SID *sid)
Convert a string to a SID. Returns True on success, False on fail.
*****************************************************************/
-BOOL string_to_sid(DOM_SID *sidout, char *sidstr)
+BOOL string_to_sid(DOM_SID *sidout, const char *sidstr)
{
pstring tok;
- char *p = sidstr;
+ const char *p = sidstr;
/* BIG NOTE: this function only does SIDS where the identauth is not >= 2^32 */
uint32 ia;
diff --git a/source/rpc_server/srv_lsa_nt.c b/source/rpc_server/srv_lsa_nt.c
index 4791e2ac087..432f20a40c9 100644
--- a/source/rpc_server/srv_lsa_nt.c
+++ b/source/rpc_server/srv_lsa_nt.c
@@ -438,6 +438,7 @@ NTSTATUS _lsa_enum_trust_dom(pipes_struct *p, LSA_Q_ENUM_TRUST_DOM *q_u, LSA_R_E
NTSTATUS _lsa_query_info(pipes_struct *p, LSA_Q_QUERY_INFO *q_u, LSA_R_QUERY_INFO *r_u)
{
+ extern DOM_SID global_sid_nonexistent;
struct lsa_info *handle;
LSA_INFO_UNION *info = &r_u->dom;
DOM_SID domain_sid;
@@ -490,7 +491,7 @@ NTSTATUS _lsa_query_info(pipes_struct *p, LSA_Q_QUERY_INFO *q_u, LSA_R_QUERY_INF
break;
case ROLE_STANDALONE:
name = global_myworkgroup;
- sid = NULL; /* Tell it we're not in a domain. */
+ sid = &global_sid_nonexistent;
break;
default:
return NT_STATUS_CANT_ACCESS_DOMAIN_INFO;
diff --git a/source/utils/smbcacls.c b/source/utils/smbcacls.c
index 8a3f3978e5e..94eada5c3d6 100644
--- a/source/utils/smbcacls.c
+++ b/source/utils/smbcacls.c
@@ -129,7 +129,7 @@ static void SidToString(fstring str, DOM_SID *sid)
}
/* convert a string to a SID, either numeric or username/group */
-static BOOL StringToSid(DOM_SID *sid, char *str)
+static BOOL StringToSid(DOM_SID *sid, const char *str)
{
uint32 *types = NULL;
DOM_SID *sids = NULL;