Ethereal-dev: [Ethereal-dev] New style DNSsec Records

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: David Fort <david.fort@xxxxxxxx>
Date: Wed, 21 Jan 2004 19:03:36 +0100
Hi this little patch adds decoding for RRs for the updated RFC2535bis.
BIND 9.4 snapshot already supports this kind or RR(there's no support for
the older rfc2535 style ones), basically the new RR have almost the same format
as older ones but have different type id.

--
Fort David, Projet IDsA
IRISA-INRIA, Campus de Beaulieu, 35042 Rennes cedex, France
Tél: +33 (0) 2 99 84 71 33


Index: packet-dns.c
===================================================================
RCS file: /cvsroot/ethereal/packet-dns.c,v
retrieving revision 1.118
diff -r1.118 packet-dns.c
140a141,143
> #define T_RRSIG         46              /* future RFC 2535bis */
> #define T_NSEC          47              /* future RFC 2535bis */
> #define T_DNSKEY        48              /* future RFC 2535bis */
334c337,342
<     "DS"				/* RFC 3658 */
---
>     "DS",				/* RFC 3658 */
>     NULL,
>     NULL,
>     "RRSIG",                            /* future RFC 2535bis */
>     "NSEC",                             /* future RFC 2535bis */
>     "DNSKEY"                            /* future RFC 2535bis */
428c436,441
<     "Delegation Signer"                 /* RFC 3658 */
---
>     "Delegation Signer",                /* RFC 3658 */
>     NULL,
>     NULL,
>     "RR signature",                     /* future RFC 2535bis */
>     "Next secured",                     /* future RFC 2535bis */
>     "DNS public key"                    /* future RFC 2535bis */
1245a1259
>   case T_RRSIG:
1322a1337
>   case T_DNSKEY:  
1372,1374c1387,1394
< 	  proto_tree_add_text(flags_tree, tvb, cur_offset, 2, "%s",
< 		decode_numeric_bitfield(flags, 0x000F,
< 		  2*8, "Signatory = %u"));
---
> 	  if( type != T_DNSKEY )
> 	        proto_tree_add_text(flags_tree, tvb, cur_offset, 2, "%s",
> 		    decode_numeric_bitfield(flags, 0x000F,
> 		       2*8, "Signatory = %u"));
> 	    else proto_tree_add_text(flags_tree, tvb, cur_offset, 2, "%s",
>  	            decode_boolean_bitfield(flags, 0x0001, 
> 		       2*8, "Key is a Key Signing Key",
> 		            "Key is a Zone Signing Key") );
1538a1559
>   case T_NSEC: