diff options
Diffstat (limited to 'usr/src/lib/libadutils/common')
| -rw-r--r-- | usr/src/lib/libadutils/common/addisc.c | 16 | ||||
| -rw-r--r-- | usr/src/lib/libadutils/common/adutils.c | 22 | ||||
| -rw-r--r-- | usr/src/lib/libadutils/common/libadutils.h | 4 | ||||
| -rw-r--r-- | usr/src/lib/libadutils/common/mapfile-vers | 1 |
4 files changed, 23 insertions, 20 deletions
diff --git a/usr/src/lib/libadutils/common/addisc.c b/usr/src/lib/libadutils/common/addisc.c index 1cae94fe01..aeda77fbe2 100644 --- a/usr/src/lib/libadutils/common/addisc.c +++ b/usr/src/lib/libadutils/common/addisc.c @@ -314,7 +314,6 @@ ad_disc_compare_trusteddomains(ad_disc_trusteddomains_t *td1, int num_td1; int num_td2; boolean_t match; - int err; for (i = 0; td1[i].domain[0] != '\0'; i++) continue; @@ -330,9 +329,7 @@ ad_disc_compare_trusteddomains(ad_disc_trusteddomains_t *td1, for (i = 0; i < num_td1; i++) { match = B_FALSE; for (j = 0; j < num_td2; j++) { - if (u8_strcmp(td1[i].domain, td2[j].domain, 0, - U8_STRCMP_CI_LOWER, U8_UNICODE_LATEST, &err) == 0 && - err == 0) { + if (domain_eq(td1[i].domain, td2[j].domain)) { match = B_TRUE; break; } @@ -373,7 +370,6 @@ ad_disc_compare_domainsinforest(ad_disc_domainsinforest_t *df1, int num_df1; int num_df2; boolean_t match; - int err; for (i = 0; df1[i].domain[0] != '\0'; i++) continue; @@ -389,9 +385,7 @@ ad_disc_compare_domainsinforest(ad_disc_domainsinforest_t *df1, for (i = 0; i < num_df1; i++) { match = B_FALSE; for (j = 0; j < num_df2; j++) { - if (u8_strcmp(df1[i].domain, df2[j].domain, 0, - U8_STRCMP_CI_LOWER, U8_UNICODE_LATEST, &err) == 0 && - err == 0 && + if (domain_eq(df1[i].domain, df2[j].domain) && strcmp(df1[i].sid, df2[j].sid) == 0) { match = B_TRUE; break; @@ -1077,7 +1071,7 @@ ldap_lookup_domains_in_forest(LDAP **ld, idmap_ad_disc_ds_t *globalCatalogs) if (ndomains < nresults) { ad_disc_domainsinforest_t *tmp; - tmp = realloc(domains, (ndomains+1) * sizeof (*domains)); + tmp = realloc(domains, (ndomains + 1) * sizeof (*domains)); if (tmp == NULL) goto err; domains = tmp; @@ -1241,8 +1235,8 @@ validate_DomainName(ad_disc_t ctx) /* Eat any trailing dot */ len = strlen(dname); - if (len > 0 && dname[len-1] == '.') - dname[len-1] = '\0'; + if (len > 0 && dname[len - 1] == '.') + dname[len - 1] = '\0'; update_item(&ctx->domain_name, dname, AD_STATE_AUTO, ttl); diff --git a/usr/src/lib/libadutils/common/adutils.c b/usr/src/lib/libadutils/common/adutils.c index 086e5338e4..006236789e 100644 --- a/usr/src/lib/libadutils/common/adutils.c +++ b/usr/src/lib/libadutils/common/adutils.c @@ -863,12 +863,10 @@ int adutils_lookup_check_domain(adutils_query_state_t *qs, const char *domain) { adutils_ad_t *ad = qs->qadh->owner; - int i, err; + int i; for (i = 0; i < ad->num_known_domains; i++) { - if (u8_strcmp(domain, ad->known_domains[i].name, 0, - U8_STRCMP_CI_LOWER, U8_UNICODE_LATEST, &err) == 0 && - err == 0) + if (domain_eq(domain, ad->known_domains[i].name)) return (1); } @@ -1116,7 +1114,7 @@ make_entry(adutils_q_t *q, adutils_host_t *adh, LDAPMessage *search_res, char *attr = NULL, *dn = NULL, *domain = NULL; adutils_entry_t *ep; adutils_attr_t *ap; - int i, j, b, err = 0, ret = -2; + int i, j, b, ret = -2; *entry = NULL; @@ -1128,8 +1126,7 @@ make_entry(adutils_q_t *q, adutils_host_t *adh, LDAPMessage *search_res, return (-2); } if (q->edomain != NULL) { - if (u8_strcmp(q->edomain, domain, 0, U8_STRCMP_CI_LOWER, - U8_UNICODE_LATEST, &err) != 0 || err != 0) { + if (!domain_eq(q->edomain, domain)) { ldap_memfree(dn); free(domain); return (-1); @@ -1560,7 +1557,7 @@ adutils_lookup_batch_getdefdomain(adutils_query_state_t *state) */ adutils_rc adutils_lookup_batch_add(adutils_query_state_t *state, - const char *filter, const char **attrs, const char *edomain, + const char *filter, const char * const *attrs, const char *edomain, adutils_result_t **result, adutils_rc *rc) { adutils_rc retcode = ADUTILS_SUCCESS; @@ -1675,3 +1672,12 @@ adutils_lookup(adutils_ad_t *ad, const char *filter, const char **attrs, return (rc); return (brc); } + +boolean_t +domain_eq(const char *a, const char *b) +{ + int err; + + return (u8_strcmp(a, b, 0, U8_STRCMP_CI_LOWER, U8_UNICODE_LATEST, &err) + == 0 && err == 0); +} diff --git a/usr/src/lib/libadutils/common/libadutils.h b/usr/src/lib/libadutils/common/libadutils.h index be05c3912f..39adf1a677 100644 --- a/usr/src/lib/libadutils/common/libadutils.h +++ b/usr/src/lib/libadutils/common/libadutils.h @@ -164,7 +164,7 @@ extern adutils_rc adutils_lookup_batch_start(adutils_ad_t *ad, void *ldap_res_search_argp, adutils_query_state_t **state); extern adutils_rc adutils_lookup_batch_add(adutils_query_state_t *state, - const char *filter, const char **attrs, + const char *filter, const char * const *attrs, const char *edomain, adutils_result_t **result, adutils_rc *rc); extern adutils_rc adutils_lookup_batch_end( @@ -181,6 +181,8 @@ extern int adutils_lookup_check_sid_prefix( const char *sid); extern void adutils_set_logger(adutils_logger logger); +extern boolean_t domain_eq(const char *a, const char *b); + #ifdef __cplusplus } #endif diff --git a/usr/src/lib/libadutils/common/mapfile-vers b/usr/src/lib/libadutils/common/mapfile-vers index a40538f6fb..ffde67ee30 100644 --- a/usr/src/lib/libadutils/common/mapfile-vers +++ b/usr/src/lib/libadutils/common/mapfile-vers @@ -80,6 +80,7 @@ SUNWprivate { ad_disc_get_SiteName; ad_disc_get_TrustedDomains; ad_disc_get_DomainsInForest; + domain_eq; local: *; }; |
