#ifndef lint
static const char rcsid[] _U_ =
- "@(#) $Header: /tcpdump/master/tcpdump/print-domain.c,v 1.89.2.2 2006-04-07 08:48:09 guy Exp $ (LBL)";
+ "@(#) $Header: /tcpdump/master/tcpdump/print-domain.c,v 1.89.2.3 2006-04-07 08:58:43 guy Exp $ (LBL)";
#endif
#ifdef HAVE_CONFIG_H
static const u_char *
ns_rprint(register const u_char *cp, register const u_char *bp, int is_mdns)
{
- register u_int class;
+ register u_int class, opt_flags = 0;
register u_short typ, len;
register const u_char *rp;
printf(" %s", tok2str(ns_class2str, "(Class %d)", class));
/* ignore ttl */
- cp += 4;
+ cp += 2;
+ /* if T_OPT, save opt_flags */
+ if (typ == T_OPT)
+ opt_flags = EXTRACT_16BITS(cp);
+ /* ignore rest of ttl */
+ cp += 2;
len = EXTRACT_16BITS(cp);
cp += 2;
case T_OPT:
printf(" UDPsize=%u", class);
+ if (opt_flags & 0x8000)
+ printf(" OK");
break;
case T_UNSPECA: /* One long string */