mirror of
https://frontier.innolan.net/rainlance/c-ares.git
synced 2025-12-07 02:53:14 +00:00
adig: RFC4034 resource record type detection
Can be tested with: adig -s 8.8.8.8 -t ANY example.com
This commit is contained in:
34
adig.c
34
adig.c
@ -77,14 +77,26 @@
|
|||||||
#undef WIN32 /* Redefined in MingW headers */
|
#undef WIN32 /* Redefined in MingW headers */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Mac OS X portability check */
|
|
||||||
#ifndef T_SRV
|
#ifndef T_SRV
|
||||||
#define T_SRV 33 /* server selection */
|
# define T_SRV 33 /* Server selection */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* AIX portability check */
|
|
||||||
#ifndef T_NAPTR
|
#ifndef T_NAPTR
|
||||||
#define T_NAPTR 35 /* naming authority pointer */
|
# define T_NAPTR 35 /* Naming authority pointer */
|
||||||
|
#endif
|
||||||
|
#ifndef T_DS
|
||||||
|
# define T_DS 43 /* Delegation Signer (RFC4034) */
|
||||||
|
#endif
|
||||||
|
#ifndef T_SSHFP
|
||||||
|
# define T_SSHFP 44 /* SSH Key Fingerprint (RFC4255) */
|
||||||
|
#endif
|
||||||
|
#ifndef T_RRSIG
|
||||||
|
# define T_RRSIG 46 /* Resource Record Signature (RFC4034) */
|
||||||
|
#endif
|
||||||
|
#ifndef T_NSEC
|
||||||
|
# define T_NSEC 47 /* Next Secure (RFC4034) */
|
||||||
|
#endif
|
||||||
|
#ifndef T_DNSKEY
|
||||||
|
# define T_DNSKEY 48 /* DNS Public Key (RFC4034) */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct nv {
|
struct nv {
|
||||||
@ -145,6 +157,11 @@ static const struct nv types[] = {
|
|||||||
{ "MAILB", T_MAILB },
|
{ "MAILB", T_MAILB },
|
||||||
{ "MAILA", T_MAILA },
|
{ "MAILA", T_MAILA },
|
||||||
{ "NAPTR", T_NAPTR },
|
{ "NAPTR", T_NAPTR },
|
||||||
|
{ "DS", T_DS },
|
||||||
|
{ "SSHFP", T_SSHFP },
|
||||||
|
{ "RRSIG", T_RRSIG },
|
||||||
|
{ "NSEC", T_NSEC },
|
||||||
|
{ "DNSKEY", T_DNSKEY },
|
||||||
{ "ANY", T_ANY }
|
{ "ANY", T_ANY }
|
||||||
};
|
};
|
||||||
static const int ntypes = sizeof(types) / sizeof(types[0]);
|
static const int ntypes = sizeof(types) / sizeof(types[0]);
|
||||||
@ -750,6 +767,13 @@ static const unsigned char *display_rr(const unsigned char *aptr,
|
|||||||
ares_free_string(name.as_char);
|
ares_free_string(name.as_char);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case T_DS:
|
||||||
|
case T_SSHFP:
|
||||||
|
case T_RRSIG:
|
||||||
|
case T_NSEC:
|
||||||
|
case T_DNSKEY:
|
||||||
|
printf("\t[RR type parsing unavailable]");
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
printf("\t[Unknown RR; cannot parse]");
|
printf("\t[Unknown RR; cannot parse]");
|
||||||
|
|||||||
Reference in New Issue
Block a user