diff options
Diffstat (limited to 'ares')
-rw-r--r-- | ares/CHANGES | 2 | ||||
-rw-r--r-- | ares/adig.c | 36 |
2 files changed, 38 insertions, 0 deletions
diff --git a/ares/CHANGES b/ares/CHANGES index a54ba41d4..487f7b300 100644 --- a/ares/CHANGES +++ b/ares/CHANGES @@ -4,6 +4,8 @@ - Eino Tuominen improved the code when a file is used to seed the randomizer. +- Alexey Simak made adig support NAPTR records + * December 11 2007 (Gisle Vanem) - Added another sample application; acountry.c which converts an diff --git a/ares/adig.c b/ares/adig.c index b4fd20536..3a8b1f7f1 100644 --- a/ares/adig.c +++ b/ares/adig.c @@ -110,6 +110,7 @@ static const struct nv types[] = { { "AXFR", T_AXFR }, { "MAILB", T_MAILB }, { "MAILA", T_MAILA }, + { "NAPTR", T_NAPTR }, { "ANY", T_ANY } }; static const int ntypes = sizeof(types) / sizeof(types[0]); @@ -603,6 +604,41 @@ static const unsigned char *display_rr(const unsigned char *aptr, ares_free_string(name); break; + case T_NAPTR: + + printf("\t%d", DNS__16BIT(aptr)); // order + printf(" %d\n", DNS__16BIT(aptr + 2)); // preference + + p = aptr + 4; + status = ares_expand_string(p, abuf, alen, &name, &len); + if (status != ARES_SUCCESS) + return NULL; + printf("\t\t\t\t\t\t%s\n", name); + ares_free_string(name); + p += len; + + status = ares_expand_string(p, abuf, alen, &name, &len); + if (status != ARES_SUCCESS) + return NULL; + printf("\t\t\t\t\t\t%s\n", name); + ares_free_string(name); + p += len; + + status = ares_expand_string(p, abuf, alen, &name, &len); + if (status != ARES_SUCCESS) + return NULL; + printf("\t\t\t\t\t\t%s\n", name); + ares_free_string(name); + p += len; + + status = ares_expand_string(p, abuf, alen, &name, &len); + if (status != ARES_SUCCESS) + return NULL; + printf("\t\t\t\t\t\t%s", name); + ares_free_string(name); + break; + + default: printf("\t[Unknown RR; cannot parse]"); break; |