X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/69cb46af9119e8b5554bcc4bf1bf36f39cb82131..d6aacc676d8540f31d1df72b12b43fc9cde93df6:/print-udp.c diff --git a/print-udp.c b/print-udp.c index dc161abf..2b63318a 100644 --- a/print-udp.c +++ b/print-udp.c @@ -23,9 +23,9 @@ #include "config.h" #endif -#include +#include -#include "interface.h" +#include "netdissect.h" #include "addrtoname.h" #include "extract.h" #include "appletalk.h" @@ -33,14 +33,11 @@ #include "udp.h" #include "ip.h" -#ifdef INET6 #include "ip6.h" -#endif #include "ipproto.h" #include "rpc_auth.h" #include "rpc_msg.h" -#include "nameser.h" #include "nfs.h" struct rtcphdr { @@ -278,19 +275,16 @@ static int udp_cksum(netdissect_options *ndo, register const struct ip *ip, 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 uint8_t *)(const void *)up, len, len, IPPROTO_UDP); } -#endif static void udpipaddr_print(netdissect_options *ndo, const struct ip *ip, int sport, int dport) { -#ifdef INET6 const struct ip6_hdr *ip6; if (IP_V(ip) == 6) @@ -307,20 +301,18 @@ udpipaddr_print(netdissect_options *ndo, const struct ip *ip, int sport, int dpo } else { ND_PRINT((ndo, "%s.%s > %s.%s: ", ip6addr_string(ndo, &ip6->ip6_src), - udpport_string(sport), + udpport_string(ndo, sport), ip6addr_string(ndo, &ip6->ip6_dst), - udpport_string(dport))); + udpport_string(ndo, dport))); } } else { if (sport != -1) { ND_PRINT((ndo, "%s > %s: ", - udpport_string(sport), - udpport_string(dport))); + udpport_string(ndo, sport), + udpport_string(ndo, dport))); } } - } else -#endif /*INET6*/ - { + } else { if (ip->ip_p == IPPROTO_UDP) { if (sport == -1) { ND_PRINT((ndo, "%s > %s: ", @@ -329,15 +321,15 @@ udpipaddr_print(netdissect_options *ndo, const struct ip *ip, int sport, int dpo } else { ND_PRINT((ndo, "%s.%s > %s.%s: ", ipaddr_string(ndo, &ip->ip_src), - udpport_string(sport), + udpport_string(ndo, sport), ipaddr_string(ndo, &ip->ip_dst), - udpport_string(dport))); + udpport_string(ndo, dport))); } } else { if (sport != -1) { ND_PRINT((ndo, "%s > %s: ", - udpport_string(sport), - udpport_string(dport))); + udpport_string(ndo, sport), + udpport_string(ndo, dport))); } } } @@ -352,20 +344,16 @@ udp_print(netdissect_options *ndo, register const u_char *bp, u_int length, register const u_char *cp; register const u_char *ep = bp + length; uint16_t sport, dport, ulen; -#ifdef INET6 register const struct ip6_hdr *ip6; -#endif if (ep > ndo->ndo_snapend) ep = ndo->ndo_snapend; up = (const struct udphdr *)bp; ip = (const struct ip *)bp2; -#ifdef INET6 if (IP_V(ip) == 6) ip6 = (const struct ip6_hdr *)bp2; else ip6 = NULL; -#endif /*INET6*/ if (!ND_TTEST(up->uh_dport)) { udpipaddr_print(ndo, ip, -1, -1); ND_PRINT((ndo, "[|udp]")); @@ -454,11 +442,7 @@ udp_print(netdissect_options *ndo, register const u_char *bp, u_int length, case PT_AODV: udpipaddr_print(ndo, ip, sport, dport); aodv_print(ndo, (const u_char *)(up + 1), length, -#ifdef INET6 ip6 != NULL); -#else - 0); -#endif break; case PT_RADIUS: @@ -544,7 +528,6 @@ udp_print(netdissect_options *ndo, register const u_char *bp, u_int length, ND_PRINT((ndo, "[udp sum ok] ")); } } -#ifdef INET6 else if (IP_V(ip) == 6 && ip6->ip6_plen) { /* for IPv6, UDP checksum is mandatory */ if (ND_TTEST2(cp[0], length)) { @@ -559,7 +542,6 @@ udp_print(netdissect_options *ndo, register const u_char *bp, u_int length, ND_PRINT((ndo, "[udp sum ok] ")); } } -#endif } if (!ndo->ndo_qflag) { @@ -578,11 +560,7 @@ udp_print(netdissect_options *ndo, register const u_char *bp, u_int length, rip_print(ndo, (const u_char *)(up + 1), length); else if (ISPORT(AODV_PORT)) aodv_print(ndo, (const u_char *)(up + 1), length, -#ifdef INET6 ip6 != NULL); -#else - 0); -#endif else if (ISPORT(ISAKMP_PORT)) isakmp_print(ndo, (const u_char *)(up + 1), length, bp2); else if (ISPORT(ISAKMP_PORT_NATT)) @@ -599,7 +577,7 @@ udp_print(netdissect_options *ndo, register const u_char *bp, u_int length, krb_print(ndo, (const void *)(up + 1)); else if (ISPORT(L2TP_PORT)) l2tp_print(ndo, (const u_char *)(up + 1), length); -#ifdef TCPDUMP_DO_SMB +#ifdef ENABLE_SMB else if (ISPORT(NETBIOS_NS_PORT)) nbt_udp137_print(ndo, (const u_char *)(up + 1), length); else if (ISPORT(NETBIOS_DGRAM_PORT)) @@ -617,7 +595,6 @@ udp_print(netdissect_options *ndo, register const u_char *bp, u_int length, (dport >= RX_PORT_LOW && dport <= RX_PORT_HIGH)) rx_print(ndo, (const void *)(up + 1), length, sport, dport, (const u_char *) ip); -#ifdef INET6 else if (ISPORT(RIPNG_PORT)) ripng_print(ndo, (const u_char *)(up + 1), length); else if (ISPORT(DHCP6_SERV_PORT) || ISPORT(DHCP6_CLI_PORT)) @@ -626,7 +603,6 @@ udp_print(netdissect_options *ndo, register const u_char *bp, u_int length, ahcp_print(ndo, (const u_char *)(up + 1), length); else if (ISPORT(BABEL_PORT) || ISPORT(BABEL_PORT_OLD)) babel_print(ndo, (const u_char *)(up + 1), length); -#endif /*INET6*/ /* * Kludge in test for whiteboard packets. */ @@ -648,11 +624,7 @@ udp_print(netdissect_options *ndo, register const u_char *bp, u_int length, ldp_print(ndo, (const u_char *)(up + 1), length); else if (ISPORT(OLSR_PORT)) olsr_print(ndo, (const u_char *)(up + 1), length, -#if INET6 (IP_V(ip) == 6) ? 1 : 0); -#else - 0); -#endif else if (ISPORT(MPLS_LSP_PING_PORT)) lspping_print(ndo, (const u_char *)(up + 1), length); else if (dport == BFD_CONTROL_PORT || @@ -680,6 +652,8 @@ udp_print(netdissect_options *ndo, register const u_char *bp, u_int length, vxlan_print(ndo, (const u_char *)(up + 1), length); else if (ISPORT(GENEVE_PORT)) geneve_print(ndo, (const u_char *)(up + 1), length); + else if (ISPORT(LISP_CONTROL_PORT)) + lisp_print(ndo, (const u_char *)(up + 1), length); else { if (ulen > length) ND_PRINT((ndo, "UDP, bad length %u > %u",