diff options
| author | Zhanna Tsitkov <tsitkova@mit.edu> | 2009-12-30 19:53:16 +0000 |
|---|---|---|
| committer | Zhanna Tsitkov <tsitkova@mit.edu> | 2009-12-30 19:53:16 +0000 |
| commit | 913be2d995a7ea9cb8eea13f52fa06bef9c5fb40 (patch) | |
| tree | c8def5964c0920a835652b050313f2c634174140 /src/lib | |
| parent | f164653ce35ed781acf29e59ab988fee89853166 (diff) | |
| download | krb5-913be2d995a7ea9cb8eea13f52fa06bef9c5fb40.tar.gz krb5-913be2d995a7ea9cb8eea13f52fa06bef9c5fb40.tar.xz krb5-913be2d995a7ea9cb8eea13f52fa06bef9c5fb40.zip | |
Move krb5int_get_domain_realm_mapping into kdc_util.c as this function is a helper in kdc code
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23546 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb5/libkrb5.exports | 2 | ||||
| -rw-r--r-- | src/lib/krb5/os/def_realm.c | 59 |
2 files changed, 1 insertions, 60 deletions
diff --git a/src/lib/krb5/libkrb5.exports b/src/lib/krb5/libkrb5.exports index e7c191b63..acfa2eaac 100644 --- a/src/lib/krb5/libkrb5.exports +++ b/src/lib/krb5/libkrb5.exports @@ -572,6 +572,7 @@ krb5_write_message krb5int_accessor krb5int_cc_default krb5int_cleanup_library +krb5int_clean_hostname krb5int_cm_call_select krb5int_copy_data_contents_add0 krb5int_find_authdata @@ -580,7 +581,6 @@ krb5int_foreach_localaddr krb5int_free_addrlist krb5int_free_data_list krb5int_get_authdata_containee_types -krb5int_get_domain_realm_mapping krb5int_init_context_kdc krb5int_initialize_library krb5int_pac_sign diff --git a/src/lib/krb5/os/def_realm.c b/src/lib/krb5/os/def_realm.c index 5b6f88d7e..878aa2906 100644 --- a/src/lib/krb5/os/def_realm.c +++ b/src/lib/krb5/os/def_realm.c @@ -51,8 +51,6 @@ #define MAXHOSTNAMELEN 64 #endif -#define MAX_DNS_NAMELEN (15*(MAXHOSTNAMELEN + 1)+1) - #endif /* KRB5_DNS_LOOKUP */ /* @@ -188,60 +186,3 @@ krb5_free_default_realm(krb5_context context, char *lrealm) { free (lrealm); } - -krb5_error_code -krb5int_get_domain_realm_mapping(krb5_context context, const char *host, char ***realmsp) -{ - char **retrealms; - char *realm, *cp, *temp_realm; - krb5_error_code retval; - char temp_host[MAX_DNS_NAMELEN+1]; - - /* do sanity check and lower-case */ - retval = krb5int_clean_hostname(context, host, temp_host, sizeof temp_host); - if (retval) - return retval; - /* - Search for the best match for the host or domain. - Example: Given a host a.b.c.d, try to match on: - 1) a.b.c.d 2) .b.c.d. 3) b.c.d 4) .c.d 5) c.d 6) .d 7) d - */ - - cp = temp_host; - realm = (char *)NULL; - temp_realm = 0; - while (cp ) { - retval = profile_get_string(context->profile, KRB5_CONF_DOMAIN_REALM, cp, - 0, (char *)NULL, &temp_realm); - if (retval) - return retval; - if (temp_realm != (char *)NULL) - break; /* Match found */ - - /* Setup for another test */ - if (*cp == '.') { - cp++; - } else { - cp = strchr(cp, '.'); - } - } - if (temp_realm != (char*)NULL) { - realm = strdup(temp_realm); - profile_release_string(temp_realm); - if (!realm) { - return ENOMEM; - } - } - retrealms = (char **)calloc(2, sizeof(*retrealms)); - if (!retrealms) { - if (realm != (char *)NULL) - free(realm); - return ENOMEM; - } - - retrealms[0] = realm; - retrealms[1] = 0; - - *realmsp = retrealms; - return 0; -} |
