diff options
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/domain_info_utils.c | 17 | ||||
-rw-r--r-- | src/util/util.h | 3 |
2 files changed, 17 insertions, 3 deletions
diff --git a/src/util/domain_info_utils.c b/src/util/domain_info_utils.c index 4eabcff7a..dc988bb27 100644 --- a/src/util/domain_info_utils.c +++ b/src/util/domain_info_utils.c @@ -50,7 +50,7 @@ struct sss_domain_info *get_next_domain(struct sss_domain_info *domain, } else { dom = NULL; } - if (dom && !dom->disabled) break; + if (dom && sss_domain_get_state(dom) != DOM_DISABLED) break; } return dom; @@ -91,7 +91,7 @@ struct sss_domain_info *find_domain_by_name(struct sss_domain_info *domain, return NULL; } - while (dom && dom->disabled) { + while (dom && sss_domain_get_state(dom) == DOM_DISABLED) { dom = get_next_domain(dom, true); } while (dom) { @@ -119,7 +119,7 @@ struct sss_domain_info *find_domain_by_sid(struct sss_domain_info *domain, sid_len = strlen(sid); - while (dom && dom->disabled) { + while (dom && sss_domain_get_state(dom) == DOM_DISABLED) { dom = get_next_domain(dom, true); } @@ -730,3 +730,14 @@ done: return ret; } + +enum sss_domain_state sss_domain_get_state(struct sss_domain_info *dom) +{ + return dom->state; +} + +void sss_domain_set_state(struct sss_domain_info *dom, + enum sss_domain_state state) +{ + dom->state = state; +} diff --git a/src/util/util.h b/src/util/util.h index 3e29e7487..f9fe1ca71 100644 --- a/src/util/util.h +++ b/src/util/util.h @@ -566,6 +566,9 @@ struct sss_domain_info *find_domain_by_name(struct sss_domain_info *domain, bool match_any); struct sss_domain_info *find_domain_by_sid(struct sss_domain_info *domain, const char *sid); +enum sss_domain_state sss_domain_get_state(struct sss_domain_info *dom); +void sss_domain_set_state(struct sss_domain_info *dom, + enum sss_domain_state state); struct sss_domain_info* sss_get_domain_by_sid_ldap_fallback(struct sss_domain_info *domain, |