diff options
author | Andrew Tridgell <tridge@samba.org> | 2002-01-31 09:37:26 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2002-01-31 09:37:26 +0000 |
commit | b48750fba603f9e04b08e346744bcc9c6a49a1af (patch) | |
tree | a7d5bb9c5da83d629e5bc9a582860b9876577973 /source3 | |
parent | 3e5fe964f9a74f1b28dbefd43c8e1b19f1e709bd (diff) | |
download | samba-b48750fba603f9e04b08e346744bcc9c6a49a1af.tar.gz samba-b48750fba603f9e04b08e346744bcc9c6a49a1af.tar.bz2 samba-b48750fba603f9e04b08e346744bcc9c6a49a1af.zip |
this fixes the problem of not being able to add a SD to a file on a
non-domain Samba server from a NT4 client.
Note that this exactly reverses a change by Jeremy on the 18th of
December 2001, reverting the code back to what JF originally wrote. I
have looked carefully with a sniffer and JFs original NULL sid is
correct (ie. it matches what NT4 does) and also fixes the problem.
Sending a blank sid (which is what jeremy's patch did) causes NT4 to
give a classic "parameter is incorrect error" and prevents the
addition of new ACLs.
(This used to be commit 9930cf97330dd93985c5558cec6b24406e90c228)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/lib/util_sid.c | 2 | ||||
-rw-r--r-- | source3/rpc_server/srv_lsa_nt.c | 3 |
2 files changed, 1 insertions, 4 deletions
diff --git a/source3/lib/util_sid.c b/source3/lib/util_sid.c index d4f8abb089..436f045e97 100644 --- a/source3/lib/util_sid.c +++ b/source3/lib/util_sid.c @@ -41,7 +41,6 @@ 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,7 +181,6 @@ 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); diff --git a/source3/rpc_server/srv_lsa_nt.c b/source3/rpc_server/srv_lsa_nt.c index 97361cab4c..c044340456 100644 --- a/source3/rpc_server/srv_lsa_nt.c +++ b/source3/rpc_server/srv_lsa_nt.c @@ -441,7 +441,6 @@ 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; @@ -494,7 +493,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 = &global_sid_nonexistent; + sid = NULL; break; default: return NT_STATUS_CANT_ACCESS_DOMAIN_INFO; |