diff options
| author | Bill Fenner <fenner@FreeBSD.org> | 2000-01-30 01:05:24 +0000 | 
|---|---|---|
| committer | Bill Fenner <fenner@FreeBSD.org> | 2000-01-30 01:05:24 +0000 | 
| commit | a88113a83091fa398943e3c86bacb00932e947bf (patch) | |
| tree | 4d47667925c759c59c65373ef3c7f07462240060 /contrib/tcpdump/print-domain.c | |
| parent | 623fbbc49cc5bb858ec4609c20af5c96e5da6c54 (diff) | |
Notes
Diffstat (limited to 'contrib/tcpdump/print-domain.c')
| -rw-r--r-- | contrib/tcpdump/print-domain.c | 62 | 
1 files changed, 59 insertions, 3 deletions
diff --git a/contrib/tcpdump/print-domain.c b/contrib/tcpdump/print-domain.c index 7eb2e0c2803b..50f2ce2b63b5 100644 --- a/contrib/tcpdump/print-domain.c +++ b/contrib/tcpdump/print-domain.c @@ -17,11 +17,17 @@   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED   * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF   * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + * + * $FreeBSD$   */  #ifndef lint  static const char rcsid[] = -    "@(#) $Header: print-domain.c,v 1.39 97/06/13 12:56:28 leres Exp $ (LBL)"; +    "@(#) $Header: /tcpdump/master/tcpdump/print-domain.c,v 1.42 1999/11/21 09:36:50 fenner Exp $ (LBL)"; +#endif + +#ifdef HAVE_CONFIG_H +#include "config.h"  #endif  #include <sys/param.h> @@ -42,7 +48,6 @@ struct rtentry;  #include <netinet/udp.h>  #include <netinet/udp_var.h>  #include <netinet/tcp.h> -#include <netinet/tcpip.h>  #ifdef NOERROR  #undef NOERROR					/* Solaris sucks */ @@ -53,6 +58,7 @@ struct rtentry;  #include <arpa/nameser.h>  #include <stdio.h> +#include <string.h>  #include "interface.h"  #include "addrtoname.h" @@ -101,6 +107,27 @@ struct rtentry;  #ifndef T_LOC  #define T_LOC		29		/* Location Information */  #endif +#ifndef T_NXT +#define T_NXT		30		/* Next Valid Name in Zone */ +#endif +#ifndef T_EID +#define T_EID		31		/* Endpoint identifier */ +#endif +#ifndef T_NIMLOC +#define T_NIMLOC	32		/* Nimrod locator */ +#endif +#ifndef T_SRV +#define T_SRV		33		/* Server selection */ +#endif +#ifndef T_ATMA +#define T_ATMA		34		/* ATM Address */ +#endif +#ifndef T_NAPTR +#define T_NAPTR		35		/* Naming Authority PoinTeR */ +#endif +#ifndef T_A6 +#define T_A6		38		/* IP6 address (ipngwg-dns-lookups) */ +#endif  #ifndef T_UNSPEC  #define T_UNSPEC	103		/* Unspecified format (binary data) */ @@ -219,7 +246,14 @@ static struct tok type2str[] = {  	{ T_PX,		"PX" },  	{ T_GPOS,	"GPOS" },  	{ T_AAAA,	"AAAA" }, -	{ T_LOC ,	"LOC " }, +	{ T_LOC,	"LOC " }, +	{ T_NXT,	"NXT " }, +	{ T_EID,	"EID " }, +	{ T_NIMLOC,	"NIMLOC " }, +	{ T_SRV,	"SRV " }, +	{ T_ATMA,	"ATMA " }, +	{ T_NAPTR,	"NAPTR " }, +	{ T_A6,		"A6 " },  #ifndef T_UINFO  #define T_UINFO 100  #endif @@ -317,6 +351,9 @@ ns_rprint(register const u_char *cp, register const u_char *bp)  	case T_NS:  	case T_CNAME:  	case T_PTR: +#ifdef T_DNAME +	case T_DNAME:	/*XXX not checked as there's no server support yet*/ +#endif  		putchar(' ');  		(void)ns_nprint(cp, bp);  		break; @@ -332,6 +369,25 @@ ns_rprint(register const u_char *cp, register const u_char *bp)  		(void)ns_cprint(cp, bp);  		break; +#ifdef INET6 +	case T_AAAA: +		printf(" %s", ip6addr_string(cp)); +		break; + +	case T_A6:	/*XXX not checked as there's no server support yet*/ +	    { +		struct in6_addr a; +		int pbyte; + +		pbyte = (*cp + 7) / 8; +		memset(&a, 0, sizeof(a)); +		memcpy(&a, cp + 1, pbyte); +		printf(" %u %s ", *cp, ip6addr_string(&a)); +		(void)ns_nprint(cp + 1 + pbyte, bp); +		break; +	    } +#endif /*INET6*/ +  	case T_UNSPECA:		/* One long string */  	        printf(" %.*s", len, cp);  		break;  | 
