summaryrefslogtreecommitdiff
path: root/usr/src/lib/libadutils/common
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libadutils/common')
-rw-r--r--usr/src/lib/libadutils/common/addisc.c16
-rw-r--r--usr/src/lib/libadutils/common/adutils.c22
-rw-r--r--usr/src/lib/libadutils/common/libadutils.h4
-rw-r--r--usr/src/lib/libadutils/common/mapfile-vers1
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:
*;
};