diff options
author | Greg Hudson <ghudson@mit.edu> | 2013-08-12 14:29:28 -0400 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2013-08-12 14:29:28 -0400 |
commit | 161fec8b48c82d19b04ebdace6ea214a84ce8027 (patch) | |
tree | ecc896e7ce334dea5a2a0b1cea857cae0c3afe8e /src/lib/krb5 | |
parent | 2e956074b228ff4df3b7462037ab69e4e88ffffe (diff) | |
download | krb5-161fec8b48c82d19b04ebdace6ea214a84ce8027.tar.gz krb5-161fec8b48c82d19b04ebdace6ea214a84ce8027.tar.xz krb5-161fec8b48c82d19b04ebdace6ea214a84ce8027.zip |
Add trace logging for TXT lookups
Rename krb5_try_realm_txt_rr (an internal function despite the name)
and add a context parameter. Generate trace logs when we successfully
look up a record and when a record is not found.
Diffstat (limited to 'src/lib/krb5')
-rw-r--r-- | src/lib/krb5/libkrb5.exports | 1 | ||||
-rw-r--r-- | src/lib/krb5/os/def_realm.c | 12 | ||||
-rw-r--r-- | src/lib/krb5/os/dnsglue.c | 8 | ||||
-rw-r--r-- | src/lib/krb5/os/hst_realm.c | 2 | ||||
-rw-r--r-- | src/lib/krb5/os/os-proto.h | 4 |
5 files changed, 15 insertions, 12 deletions
diff --git a/src/lib/krb5/libkrb5.exports b/src/lib/krb5/libkrb5.exports index 471671bf1b..3ade55f3da 100644 --- a/src/lib/krb5/libkrb5.exports +++ b/src/lib/krb5/libkrb5.exports @@ -580,7 +580,6 @@ krb5_tkt_creds_step krb5_timeofday krb5_timestamp_to_sfstring krb5_timestamp_to_string -krb5_try_realm_txt_rr krb5_unlock_file krb5_unpack_full_ipaddr krb5_unparse_name diff --git a/src/lib/krb5/os/def_realm.c b/src/lib/krb5/os/def_realm.c index 0ebe9db697..81ad6f2ff9 100644 --- a/src/lib/krb5/os/def_realm.c +++ b/src/lib/krb5/os/def_realm.c @@ -122,19 +122,19 @@ krb5_get_default_realm(krb5_context context, char **lrealm) if ( localhost[0] ) { p = localhost; do { - retval = krb5_try_realm_txt_rr("_kerberos", p, - &context->default_realm); + retval = k5_try_realm_txt_rr(context, "_kerberos", p, + &context->default_realm); p = strchr(p,'.'); if (p) p++; } while (retval && p && p[0]); if (retval) - retval = krb5_try_realm_txt_rr("_kerberos", "", - &context->default_realm); + retval = k5_try_realm_txt_rr(context, "_kerberos", "", + &context->default_realm); } else { - retval = krb5_try_realm_txt_rr("_kerberos", "", - &context->default_realm); + retval = k5_try_realm_txt_rr(context, "_kerberos", "", + &context->default_realm); } if (retval) { return(KRB5_CONFIG_NODEFREALM); diff --git a/src/lib/krb5/os/dnsglue.c b/src/lib/krb5/os/dnsglue.c index c4adbad110..fcb99ff7cf 100644 --- a/src/lib/krb5/os/dnsglue.c +++ b/src/lib/krb5/os/dnsglue.c @@ -359,7 +359,8 @@ out: */ krb5_error_code -krb5_try_realm_txt_rr(const char *prefix, const char *name, char **realm) +k5_try_realm_txt_rr(krb5_context context, const char *prefix, const char *name, + char **realm) { krb5_error_code retval = KRB5_ERR_HOST_REALM_UNKNOWN; const unsigned char *p, *base; @@ -395,8 +396,10 @@ krb5_try_realm_txt_rr(const char *prefix, const char *name, char **realm) if (k5_buf_data(&buf) == NULL) return KRB5_ERR_HOST_REALM_UNKNOWN; ret = krb5int_dns_init(&ds, host, C_IN, T_TXT); - if (ret < 0) + if (ret < 0) { + TRACE_TXT_LOOKUP_NOTFOUND(context, host); goto errout; + } ret = krb5int_dns_nextans(ds, &base, &rdlen); if (ret < 0 || base == NULL) @@ -417,6 +420,7 @@ krb5_try_realm_txt_rr(const char *prefix, const char *name, char **realm) if ( (*realm)[len-1] == '.' ) (*realm)[len-1] = '\0'; retval = 0; + TRACE_TXT_LOOKUP_SUCCESS(context, host, *realm); errout: if (ds != NULL) { diff --git a/src/lib/krb5/os/hst_realm.c b/src/lib/krb5/os/hst_realm.c index 3bcc7923cc..0c1579b689 100644 --- a/src/lib/krb5/os/hst_realm.c +++ b/src/lib/krb5/os/hst_realm.c @@ -305,7 +305,7 @@ krb5_get_fallback_host_realm(krb5_context context, krb5_data *hdata, if (_krb5_use_dns_realm(context) && !is_numeric) { p = cleanname; do { - ret = krb5_try_realm_txt_rr("_kerberos", p, &realm); + ret = k5_try_realm_txt_rr(context, "_kerberos", p, &realm); p = strchr(p, '.'); if (p != NULL) p++; diff --git a/src/lib/krb5/os/os-proto.h b/src/lib/krb5/os/os-proto.h index 0acf473353..18c4dc4bc4 100644 --- a/src/lib/krb5/os/os-proto.h +++ b/src/lib/krb5/os/os-proto.h @@ -91,8 +91,8 @@ krb5_error_code krb5_make_full_ipaddr(krb5_context, #endif /* HAVE_NETINET_IN_H */ -krb5_error_code krb5_try_realm_txt_rr(const char *, const char *, - char **realm); +krb5_error_code k5_try_realm_txt_rr(krb5_context context, const char *prefix, + const char *name, char **realm); int _krb5_use_dns_realm (krb5_context); int _krb5_use_dns_kdc (krb5_context); |