diff options
author | Fabiano Fidêncio <fidencio@redhat.com> | 2017-03-26 00:27:50 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2017-03-29 14:00:17 +0200 |
commit | 66c8e92eb5a4985bb7f64c349a53b08030a000cf (patch) | |
tree | 7481643c4a8149067da217b4f9b8f5cfa12562c6 /Makefile.am | |
parent | 34228050af1e25706f61ec9df648852284b61c2b (diff) | |
download | sssd-66c8e92eb5a4985bb7f64c349a53b08030a000cf.tar.gz sssd-66c8e92eb5a4985bb7f64c349a53b08030a000cf.tar.xz sssd-66c8e92eb5a4985bb7f64c349a53b08030a000cf.zip |
CACHE_REQ: Make use of domainResolutionOrder
domainResolutionOrder has been introduced in the previous commits and
allows the admin to set up a specific order which the domains will be
resolved during a lookup and with this patch we can take advantage of
this.
In order to have it working a new structure has been added
(struct domain_resolution_order) to the responder context and will be
used by the cache_req to perform the lookups based on this list.
As the ipaDomainResolutionOrder may be set globally on IPA or per View,
SSSD does respect the following precedence order: View > Globally.
The way the list is built is quite simple, basically having the domains
present on ipaDomainResolutionOrder as the first domains (in that
specific order) and then appending the remaining domains to this list.
The final result is a completely flat list with all the domains
respecting the specified order (it's important to remember that the
domains not specified won't follow any specific order, they're just
"random" based on the domains list present in the responder context.
Related:
https://pagure.io/SSSD/sssd/issue/3001
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Sumit Bose <sbose@redhat.com>
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am index 450785bf4..573b37c52 100644 --- a/Makefile.am +++ b/Makefile.am @@ -528,6 +528,7 @@ SSSD_CACHE_REQ_OBJ = \ src/responder/common/cache_req/cache_req_result.c \ src/responder/common/cache_req/cache_req_search.c \ src/responder/common/cache_req/cache_req_data.c \ + src/responder/common/cache_req/cache_req_domain.c \ src/responder/common/cache_req/plugins/cache_req_common.c \ src/responder/common/cache_req/plugins/cache_req_enum_users.c \ src/responder/common/cache_req/plugins/cache_req_enum_groups.c \ @@ -689,6 +690,7 @@ dist_noinst_HEADERS = \ src/responder/common/iface/responder_iface.h \ src/responder/common/iface/responder_iface_generated.h \ src/responder/common/cache_req/cache_req.h \ + src/responder/common/cache_req/cache_req_domain.h \ src/responder/common/cache_req/cache_req_plugin.h \ src/responder/common/cache_req/cache_req_private.h \ src/responder/common/data_provider/rdp.h \ @@ -2199,6 +2201,7 @@ responder_socket_access_tests_SOURCES = \ src/responder/common/responder_common.c \ src/responder/common/responder_packet.c \ src/responder/common/responder_cmd.c \ + src/responder/common/cache_req/cache_req_domain.c \ src/responder/common/data_provider/rdp_message.c \ src/responder/common/data_provider/rdp_client.c \ $(SSSD_RESPONDER_IFACE_OBJ) \ |