X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/001fc8411f90713c3495a1f3fcf8c67dbd3afa1b..2bd202a06727928f0845c9e4cec573880c58fc5a:/print-udp.c diff --git a/print-udp.c b/print-udp.c index 902054e0..2bddae9c 100644 --- a/print-udp.c +++ b/print-udp.c @@ -19,11 +19,6 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#ifndef lint -static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-udp.c,v 1.142 2007-08-08 17:20:58 hannes Exp $ (LBL)"; -#endif - #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -286,16 +281,16 @@ static int udp_cksum(register const struct ip *ip, register const struct udphdr *up, register u_int len) { - return (nextproto4_cksum(ip, (const u_int8_t *)(void *)up, len, - IPPROTO_UDP)); + return nextproto4_cksum(ip, (const u_int8_t *)(void *)up, len, len, + IPPROTO_UDP); } #ifdef INET6 static int udp6_cksum(const struct ip6_hdr *ip6, const struct udphdr *up, u_int len) { - return (nextproto6_cksum(ip6, (const u_int8_t *)(void *)up, len, - IPPROTO_UDP)); + return nextproto6_cksum(ip6, (const u_int8_t *)(void *)up, len, len, + IPPROTO_UDP); } #endif @@ -485,10 +480,15 @@ udp_print(register const u_char *bp, u_int length, udpipaddr_print(ip, sport, dport); pgm_print(cp, length, bp2); break; + case PT_LMP: + udpipaddr_print(ip, sport, dport); + lmp_print(cp, length); + break; } return; } + udpipaddr_print(ip, sport, dport); if (!qflag) { register struct sunrpc_msg *rp; enum sunrpc_msg_type direction; @@ -497,12 +497,14 @@ udp_print(register const u_char *bp, u_int length, if (TTEST(rp->rm_direction)) { direction = (enum sunrpc_msg_type)EXTRACT_32BITS(&rp->rm_direction); if (dport == NFS_PORT && direction == SUNRPC_CALL) { - nfsreq_print((u_char *)rp, length, + (void)printf("NFS request xid %u ", EXTRACT_32BITS(&rp->rm_xid)); + nfsreq_print_noaddr((u_char *)rp, length, (u_char *)ip); return; } if (sport == NFS_PORT && direction == SUNRPC_REPLY) { - nfsreply_print((u_char *)rp, length, + (void)printf("NFS reply xid %u ", EXTRACT_32BITS(&rp->rm_xid)); + nfsreply_print_noaddr((u_char *)rp, length, (u_char *)ip); return; } @@ -522,7 +524,6 @@ udp_print(register const u_char *bp, u_int length, return; } } - udpipaddr_print(ip, sport, dport); if (vflag && !Kflag && !fragmented) { /* Check the checksum, if possible. */ @@ -625,6 +626,8 @@ udp_print(register const u_char *bp, u_int length, ripng_print((const u_char *)(up + 1), length); else if (ISPORT(DHCP6_SERV_PORT) || ISPORT(DHCP6_CLI_PORT)) dhcp6_print((const u_char *)(up + 1), length); + else if (ISPORT(AHCP_PORT)) + ahcp_print((const u_char *)(up + 1), length); else if (ISPORT(BABEL_PORT) || ISPORT(BABEL_PORT_OLD)) babel_print((const u_char *)(up + 1), length); #endif /*INET6*/ @@ -641,7 +644,7 @@ udp_print(register const u_char *bp, u_int length, ISPORT(RADIUS_NEW_ACCOUNTING_PORT) ) radius_print((const u_char *)(up+1), length); else if (dport == HSRP_PORT) - hsrp_print((const u_char *)(up + 1), length); + hsrp_print(gndo, (const u_char *)(up + 1), length); else if (ISPORT(LWRES_PORT)) lwres_print((const u_char *)(up + 1), length); else if (ISPORT(LDP_PORT))