diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-20 15:22:35 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-20 15:22:35 +0000 |
commit | 5d14aabf1d1d96dd8f6ec594ee65863ddbfc087a (patch) | |
tree | e2579d97e9db101bab6d2512206b2911d91f7c35 /src/providers/ldap/sdap.c | |
parent | Adding debian version 2.9.4-2. (diff) | |
download | sssd-5d14aabf1d1d96dd8f6ec594ee65863ddbfc087a.tar.xz sssd-5d14aabf1d1d96dd8f6ec594ee65863ddbfc087a.zip |
Merging upstream version 2.9.5.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/providers/ldap/sdap.c')
-rw-r--r-- | src/providers/ldap/sdap.c | 36 |
1 files changed, 13 insertions, 23 deletions
diff --git a/src/providers/ldap/sdap.c b/src/providers/ldap/sdap.c index f5637c5..956eba9 100644 --- a/src/providers/ldap/sdap.c +++ b/src/providers/ldap/sdap.c @@ -1252,19 +1252,10 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse, struct sdap_domain *sdom) { int ret; - char *naming_context = NULL; - if (!sdom->search_bases - || !sdom->user_search_bases - || !sdom->group_search_bases - || !sdom->netgroup_search_bases - || !sdom->host_search_bases - || !sdom->sudo_search_bases - || !sdom->iphost_search_bases - || !sdom->ipnetwork_search_bases - || !sdom->autofs_search_bases) { - naming_context = get_naming_context(opts->basic, rootdse); - if (naming_context == NULL) { + if (!sdom->naming_context) { + sdom->naming_context = get_naming_context(sdom, rootdse); + if (sdom->naming_context == NULL) { DEBUG(SSSDBG_CRIT_FAILURE, "get_naming_context failed.\n"); /* This has to be non-fatal, since some servers offer @@ -1280,7 +1271,7 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse, if (!sdom->search_bases) { ret = sdap_set_search_base(opts, sdom, SDAP_SEARCH_BASE, - naming_context); + sdom->naming_context); if (ret != EOK) goto done; } @@ -1288,7 +1279,7 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse, if (!sdom->user_search_bases) { ret = sdap_set_search_base(opts, sdom, SDAP_USER_SEARCH_BASE, - naming_context); + sdom->naming_context); if (ret != EOK) goto done; } @@ -1296,7 +1287,7 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse, if (!sdom->group_search_bases) { ret = sdap_set_search_base(opts, sdom, SDAP_GROUP_SEARCH_BASE, - naming_context); + sdom->naming_context); if (ret != EOK) goto done; } @@ -1304,7 +1295,7 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse, if (!sdom->netgroup_search_bases) { ret = sdap_set_search_base(opts, sdom, SDAP_NETGROUP_SEARCH_BASE, - naming_context); + sdom->naming_context); if (ret != EOK) goto done; } @@ -1312,7 +1303,7 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse, if (!sdom->host_search_bases) { ret = sdap_set_search_base(opts, sdom, SDAP_HOST_SEARCH_BASE, - naming_context); + sdom->naming_context); if (ret != EOK) goto done; } @@ -1320,7 +1311,7 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse, if (!sdom->sudo_search_bases) { ret = sdap_set_search_base(opts, sdom, SDAP_SUDO_SEARCH_BASE, - naming_context); + sdom->naming_context); if (ret != EOK) goto done; } @@ -1328,7 +1319,7 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse, if (!sdom->service_search_bases) { ret = sdap_set_search_base(opts, sdom, SDAP_SERVICE_SEARCH_BASE, - naming_context); + sdom->naming_context); if (ret != EOK) goto done; } @@ -1336,7 +1327,7 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse, if (!sdom->autofs_search_bases) { ret = sdap_set_search_base(opts, sdom, SDAP_AUTOFS_SEARCH_BASE, - naming_context); + sdom->naming_context); if (ret != EOK) goto done; } @@ -1344,7 +1335,7 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse, if (!sdom->iphost_search_bases) { ret = sdap_set_search_base(opts, sdom, SDAP_IPHOST_SEARCH_BASE, - naming_context); + sdom->naming_context); if (ret != EOK) goto done; } @@ -1352,14 +1343,13 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse, if (!sdom->ipnetwork_search_bases) { ret = sdap_set_search_base(opts, sdom, SDAP_IPNETWORK_SEARCH_BASE, - naming_context); + sdom->naming_context); if (ret != EOK) goto done; } ret = EOK; done: - talloc_free(naming_context); return ret; } |