X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/c0c93f3a653f3aa56631c3bf6ee60772ec417e5e..2e065e6bcde70f8c54a19d9ff7e4710f60f296af:/print-udp.c?ds=sidebyside diff --git a/print-udp.c b/print-udp.c index 7b4e535e..e44cabff 100644 --- a/print-udp.c +++ b/print-udp.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/tcpdump/print-udp.c,v 1.69 1999-11-23 08:27:41 fenner Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-udp.c,v 1.73 2000-04-27 11:09:08 itojun Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -67,14 +67,14 @@ static const char rcsid[] = #include "bootp.h" struct rtcphdr { - u_short rh_flags; /* T:2 P:1 CNT:5 PT:8 */ - u_short rh_len; /* length of message (in words) */ - u_int rh_ssrc; /* synchronization src id */ + u_int16_t rh_flags; /* T:2 P:1 CNT:5 PT:8 */ + u_int16_t rh_len; /* length of message (in words) */ + u_int32_t rh_ssrc; /* synchronization src id */ }; typedef struct { - u_int upper; /* more significant 32 bits */ - u_int lower; /* less significant 32 bits */ + u_int32_t upper; /* more significant 32 bits */ + u_int32_t lower; /* less significant 32 bits */ } ntp64; /* @@ -82,9 +82,9 @@ typedef struct { */ struct rtcp_sr { ntp64 sr_ntp; /* 64-bit ntp timestamp */ - u_int sr_ts; /* reference media timestamp */ - u_int sr_np; /* no. packets sent */ - u_int sr_nb; /* no. bytes sent */ + u_int32_t sr_ts; /* reference media timestamp */ + u_int32_t sr_np; /* no. packets sent */ + u_int32_t sr_nb; /* no. bytes sent */ }; /* @@ -92,12 +92,12 @@ struct rtcp_sr { * Time stamps are middle 32-bits of ntp timestamp. */ struct rtcp_rr { - u_int rr_srcid; /* sender being reported */ - u_int rr_nl; /* no. packets lost */ - u_int rr_ls; /* extended last seq number received */ - u_int rr_dv; /* jitter (delay variance) */ - u_int rr_lsr; /* orig. ts from last rr from this src */ - u_int rr_dlsr; /* time from recpt of last rr to xmit time */ + u_int32_t rr_srcid; /* sender being reported */ + u_int32_t rr_nl; /* no. packets lost */ + u_int32_t rr_ls; /* extended last seq number received */ + u_int32_t rr_dv; /* jitter (delay variance) */ + u_int32_t rr_lsr; /* orig. ts from last rr from this src */ + u_int32_t rr_dlsr; /* time from recpt of last rr to xmit time */ }; /*XXX*/ @@ -119,7 +119,7 @@ static void vat_print(const void *hdr, u_int len, register const struct udphdr *up) { /* vat/vt audio */ - u_int ts = *(u_short *)hdr; + u_int ts = *(u_int16_t *)hdr; if ((ts & 0xf060) != 0) { /* probably vt */ (void)printf(" udp/vt %u %d / %d", @@ -127,8 +127,8 @@ vat_print(const void *hdr, u_int len, register const struct udphdr *up) ts & 0x3ff, ts >> 10); } else { /* probably vat */ - u_int i0 = ntohl(((u_int *)hdr)[0]); - u_int i1 = ntohl(((u_int *)hdr)[1]); + u_int32_t i0 = (u_int32_t)ntohl(((u_int *)hdr)[0]); + u_int32_t i1 = (u_int32_t)ntohl(((u_int *)hdr)[1]); printf(" udp/vat %u c%d %u%s", (u_int32_t)(ntohs(up->uh_ulen) - sizeof(*up) - 8), i0 & 0xffff, @@ -147,8 +147,8 @@ rtp_print(const void *hdr, u_int len, register const struct udphdr *up) /* rtp v1 or v2 */ u_int *ip = (u_int *)hdr; u_int hasopt, hasext, contype, hasmarker; - u_int i0 = ntohl(((u_int *)hdr)[0]); - u_int i1 = ntohl(((u_int *)hdr)[1]); + u_int32_t i0 = (u_int32_t)ntohl(((u_int *)hdr)[0]); + u_int32_t i1 = (u_int32_t)ntohl(((u_int *)hdr)[1]); u_int dlen = ntohs(up->uh_ulen) - sizeof(*up) - 8; const char * ptype; @@ -219,7 +219,7 @@ rtcp_print(const u_char *hdr, const u_char *ep) struct rtcp_sr *sr; struct rtcphdr *rh = (struct rtcphdr *)hdr; u_int len; - u_short flags; + u_int16_t flags; int cnt; double ts, dts; if ((u_char *)(rh + 1) > ep) { @@ -236,7 +236,7 @@ rtcp_print(const u_char *hdr, const u_char *ep) if (len != cnt * sizeof(*rr) + sizeof(*sr) + sizeof(*rh)) printf(" [%d]", len); if (vflag) - printf(" %u", (u_int32_t)ntohl(rh->rh_ssrc)); + printf(" %u", (u_int32_t)ntohl(rh->rh_ssrc)); if ((u_char *)(sr + 1) > ep) { printf(" [|rtcp]"); return (ep); @@ -254,18 +254,18 @@ rtcp_print(const u_char *hdr, const u_char *ep) printf(" [%d]", len); rr = (struct rtcp_rr *)(rh + 1); if (vflag) - printf(" %u", (u_int32_t)ntohl(rh->rh_ssrc)); + printf(" %u", (u_int32_t)ntohl(rh->rh_ssrc)); break; case RTCP_PT_SDES: printf(" sdes %d", len); if (vflag) - printf(" %u", (u_int32_t)ntohl(rh->rh_ssrc)); + printf(" %u", (u_int32_t)ntohl(rh->rh_ssrc)); cnt = 0; break; case RTCP_PT_BYE: printf(" bye %d", len); if (vflag) - printf(" %u", (u_int32_t)ntohl(rh->rh_ssrc)); + printf(" %u", (u_int32_t)ntohl(rh->rh_ssrc)); cnt = 0; break; default: @@ -324,7 +324,7 @@ udp_print(register const u_char *bp, u_int length, register const u_char *bp2) register const struct ip *ip; register const u_char *cp; register const u_char *ep = bp + length; - u_short sport, dport, ulen; + u_int16_t sport, dport, ulen; #ifdef INET6 register const struct ip6_hdr *ip6; #endif @@ -418,6 +418,15 @@ udp_print(register const u_char *bp, u_int length, register const u_char *bp2) udpport_string(dport)); snmp_print((const u_char *)(up + 1), length); break; + + case PT_CNFP: + (void)printf("%s.%s > %s.%s:", + ipaddr_string(&ip->ip_src), + udpport_string(sport), + ipaddr_string(&ip->ip_dst), + udpport_string(dport)); + cnfp_print(cp, length, (const u_char *)ip); + break; } return; } @@ -514,10 +523,10 @@ udp_print(register const u_char *bp, u_int length, register const u_char *bp2) else if (ISPORT(L2TP_PORT)) l2tp_print((const u_char *)(up + 1), length); else if (ISPORT(NETBIOS_NS_PORT)) { - nbt_udp137_print((const u_char *)(up + 1), length); + nbt_udp137_print((const u_char *)(up + 1), length); } else if (ISPORT(NETBIOS_DGRAM_PORT)) { - nbt_udp138_print((const u_char *)(up + 1), length); + nbt_udp138_print((const u_char *)(up + 1), length); } else if (dport == 3456) vat_print((const void *)(up + 1), length, up);