diff options
author | Ralph Boehme <slow@samba.org> | 2018-11-28 15:39:21 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2018-12-07 16:15:58 +0100 |
commit | 064f8f2d8cd8292c09310c4f13258d843597c5e8 (patch) | |
tree | eb4209504e8e04dc59a6c2df53e8619512a601a4 /source3 | |
parent | bd464e2892c212287658146f544364ebafb36050 (diff) | |
download | samba-064f8f2d8cd8292c09310c4f13258d843597c5e8.tar.gz |
winbindd: Route predefined domains through the BUILTIN domain child
Without this eg "NT Authority" didn't work:
$ bin/wbinfo -n "NT Authority/Authenticated Users"
failed to call wbcLookupName: WBC_ERR_DOMAIN_NOT_FOUND
Could not lookup name NT Authority/Authenticated Users
$ bin/wbinfo --group-info="NT Authority/Authenticated Users"
failed to call wbcGetgrnam: WBC_ERR_DOMAIN_NOT_FOUND
Could not get info for group NT Authority/Authenticated Users
With the patch:
$ bin/wbinfo -n "NT Authority/Authenticated Users"
S-1-5-11 SID_WKN_GROUP (5)
$ bin/wbinfo --group-info="NT Authority/Authenticated Users"
NT AUTHORITY\authenticated users:x:10002:
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12164
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: David Mulder <dmulder@suse.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Wed Dec 5 11:27:22 CET 2018 on sn-devel-144
(cherry picked from commit 8b8d9fdad4a4e2c479141b3d40e9a7320a49c0dd)
Autobuild-User(v4-8-test): Karolin Seeger <kseeger@samba.org>
Autobuild-Date(v4-8-test): Fri Dec 7 16:15:58 CET 2018 on sn-devel-144
Diffstat (limited to 'source3')
-rw-r--r-- | source3/winbindd/winbindd_util.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd_util.c b/source3/winbindd/winbindd_util.c index dddd58c23e2..9b515cb6560 100644 --- a/source3/winbindd/winbindd_util.c +++ b/source3/winbindd/winbindd_util.c @@ -1504,6 +1504,8 @@ struct winbindd_domain *find_lookup_domain_from_sid(const struct dom_sid *sid) struct winbindd_domain *find_lookup_domain_from_name(const char *domain_name) { + bool predefined; + if ( strequal(domain_name, unix_users_domain_name() ) || strequal(domain_name, unix_groups_domain_name() ) ) { @@ -1519,6 +1521,11 @@ struct winbindd_domain *find_lookup_domain_from_name(const char *domain_name) return find_domain_from_name_noinit(domain_name); } + predefined = dom_sid_lookup_is_predefined_domain(domain_name); + if (predefined) { + return find_domain_from_name_noinit(builtin_domain_name()); + } + if (IS_DC) { struct winbindd_domain *domain = NULL; |