summaryrefslogtreecommitdiffstats
path: root/print-udp.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-19 04:52:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-19 04:52:31 +0000
commit31cd589d20ba8d3d6b3fc4fccacc40d38a163c5d (patch)
tree99d6c086833d530e5d1d33a8128961f8149843f0 /print-udp.c
parentAdding upstream version 4.99.4. (diff)
downloadtcpdump-upstream/4.99.5.tar.xz
tcpdump-upstream/4.99.5.zip
Adding upstream version 4.99.5.upstream/4.99.5upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--print-udp.c101
1 files changed, 50 insertions, 51 deletions
diff --git a/print-udp.c b/print-udp.c
index 769cbe4..26371f0 100644
--- a/print-udp.c
+++ b/print-udp.c
@@ -21,9 +21,7 @@
/* \summary: UDP printer */
-#ifdef HAVE_CONFIG_H
#include <config.h>
-#endif
#include "netdissect-stdinc.h"
@@ -479,8 +477,7 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length,
case PT_AODV:
udpipaddr_print(ndo, ip, sport, dport);
- aodv_print(ndo, cp, length,
- ip6 != NULL);
+ aodv_print(ndo, cp, length, IP_V(ip) == 6);
break;
case PT_RADIUS:
@@ -572,8 +569,7 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length,
} else
ND_PRINT("[udp sum ok] ");
}
- }
- else if (IP_V(ip) == 6) {
+ } else if (IP_V(ip) == 6) {
/* for IPv6, UDP checksum is mandatory */
if (ND_TTEST_LEN(cp, length)) {
sum = udp6_cksum(ndo, ip6, up, length + sizeof(struct udphdr));
@@ -593,40 +589,63 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length,
if (IS_SRC_OR_DST_PORT(NAMESERVER_PORT))
/* over_tcp: FALSE, is_mdns: FALSE */
domain_print(ndo, cp, length, FALSE, FALSE);
- else if (IS_SRC_OR_DST_PORT(MULTICASTDNS_PORT))
- /* over_tcp: FALSE, is_mdns: TRUE */
- domain_print(ndo, cp, length, FALSE, TRUE);
- else if (IS_SRC_OR_DST_PORT(TIMED_PORT))
- timed_print(ndo, (const u_char *)cp);
+ else if (IS_SRC_OR_DST_PORT(BOOTPC_PORT) ||
+ IS_SRC_OR_DST_PORT(BOOTPS_PORT))
+ bootp_print(ndo, cp, length);
else if (IS_SRC_OR_DST_PORT(TFTP_PORT))
tftp_print(ndo, cp, length);
- else if (IS_SRC_OR_DST_PORT(BOOTPC_PORT) || IS_SRC_OR_DST_PORT(BOOTPS_PORT))
- bootp_print(ndo, cp, length);
+ else if (IS_SRC_OR_DST_PORT(KERBEROS_PORT))
+ krb_print(ndo, (const u_char *)cp);
+ else if (IS_SRC_OR_DST_PORT(NTP_PORT))
+ ntp_print(ndo, cp, length);
+#ifdef ENABLE_SMB
+ else if (IS_SRC_OR_DST_PORT(NETBIOS_NS_PORT))
+ nbt_udp137_print(ndo, cp, length);
+ else if (IS_SRC_OR_DST_PORT(NETBIOS_DGRAM_PORT))
+ nbt_udp138_print(ndo, cp, length);
+#endif
+ else if (IS_SRC_OR_DST_PORT(SNMP_PORT) ||
+ IS_SRC_OR_DST_PORT(SNMPTRAP_PORT))
+ snmp_print(ndo, cp, length);
+ else if (IS_SRC_OR_DST_PORT(PTP_EVENT_PORT) ||
+ IS_SRC_OR_DST_PORT(PTP_GENERAL_PORT))
+ ptp_print(ndo, cp, length);
+ else if (IS_SRC_OR_DST_PORT(CISCO_AUTORP_PORT))
+ cisco_autorp_print(ndo, cp, length);
+ else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT))
+ isakmp_print(ndo, cp, length, bp2);
+ else if (IS_SRC_OR_DST_PORT(SYSLOG_PORT))
+ syslog_print(ndo, cp, length);
else if (IS_SRC_OR_DST_PORT(RIP_PORT))
rip_print(ndo, cp, length);
+ else if (IS_SRC_OR_DST_PORT(RIPNG_PORT))
+ ripng_print(ndo, cp, length);
+ else if (IS_SRC_OR_DST_PORT(TIMED_PORT))
+ timed_print(ndo, (const u_char *)cp);
+ else if (IS_SRC_OR_DST_PORT(DHCP6_SERV_PORT) ||
+ IS_SRC_OR_DST_PORT(DHCP6_CLI_PORT))
+ dhcp6_print(ndo, cp, length);
+ else if (IS_SRC_OR_DST_PORT(LDP_PORT))
+ ldp_print(ndo, cp, length);
else if (IS_SRC_OR_DST_PORT(AODV_PORT))
- aodv_print(ndo, cp, length,
- ip6 != NULL);
- else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT))
- isakmp_print(ndo, cp, length, bp2);
+ aodv_print(ndo, cp, length, IP_V(ip) == 6);
+ else if (IS_SRC_OR_DST_PORT(OLSR_PORT))
+ olsr_print(ndo, cp, length, IP_V(ip) == 6);
+ else if (IS_SRC_OR_DST_PORT(LMP_PORT))
+ lmp_print(ndo, cp, length);
+ else if (IS_SRC_OR_DST_PORT(KERBEROS_SEC_PORT))
+ krb_print(ndo, (const u_char *)cp);
+ else if (IS_SRC_OR_DST_PORT(LWRES_PORT))
+ lwres_print(ndo, cp, length);
+ else if (IS_SRC_OR_DST_PORT(MULTICASTDNS_PORT))
+ /* over_tcp: FALSE, is_mdns: TRUE */
+ domain_print(ndo, cp, length, FALSE, TRUE);
else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT_NATT))
isakmp_rfc3948_print(ndo, cp, length, bp2, IP_V(ip), fragmented, ttl_hl);
else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT_USER1) || IS_SRC_OR_DST_PORT(ISAKMP_PORT_USER2))
isakmp_print(ndo, cp, length, bp2);
- else if (IS_SRC_OR_DST_PORT(SNMP_PORT) || IS_SRC_OR_DST_PORT(SNMPTRAP_PORT))
- snmp_print(ndo, cp, length);
- else if (IS_SRC_OR_DST_PORT(NTP_PORT))
- ntp_print(ndo, cp, length);
- else if (IS_SRC_OR_DST_PORT(KERBEROS_PORT) || IS_SRC_OR_DST_PORT(KERBEROS_SEC_PORT))
- krb_print(ndo, (const u_char *)cp);
else if (IS_SRC_OR_DST_PORT(L2TP_PORT))
l2tp_print(ndo, cp, length);
-#ifdef ENABLE_SMB
- else if (IS_SRC_OR_DST_PORT(NETBIOS_NS_PORT))
- nbt_udp137_print(ndo, cp, length);
- else if (IS_SRC_OR_DST_PORT(NETBIOS_DGRAM_PORT))
- nbt_udp138_print(ndo, cp, length);
-#endif
else if (dport == VAT_PORT)
vat_print(ndo, cp, length);
else if (IS_SRC_OR_DST_PORT(ZEPHYR_SRV_PORT) || IS_SRC_OR_DST_PORT(ZEPHYR_CLT_PORT))
@@ -639,10 +658,6 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length,
(dport >= RX_PORT_LOW && dport <= RX_PORT_HIGH))
rx_print(ndo, cp, length, sport, dport,
(const u_char *) ip);
- else if (IS_SRC_OR_DST_PORT(RIPNG_PORT))
- ripng_print(ndo, cp, length);
- else if (IS_SRC_OR_DST_PORT(DHCP6_SERV_PORT) || IS_SRC_OR_DST_PORT(DHCP6_CLI_PORT))
- dhcp6_print(ndo, cp, length);
else if (IS_SRC_OR_DST_PORT(AHCP_PORT))
ahcp_print(ndo, cp, length);
else if (IS_SRC_OR_DST_PORT(BABEL_PORT) || IS_SRC_OR_DST_PORT(BABEL_PORT_OLD))
@@ -654,8 +669,6 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length,
*/
else if (dport == WB_PORT)
wb_print(ndo, cp, length);
- else if (IS_SRC_OR_DST_PORT(CISCO_AUTORP_PORT))
- cisco_autorp_print(ndo, cp, length);
else if (IS_SRC_OR_DST_PORT(RADIUS_PORT) ||
IS_SRC_OR_DST_PORT(RADIUS_NEW_PORT) ||
IS_SRC_OR_DST_PORT(RADIUS_ACCOUNTING_PORT) ||
@@ -665,24 +678,13 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length,
radius_print(ndo, cp, length);
else if (dport == HSRP_PORT)
hsrp_print(ndo, cp, length);
- else if (IS_SRC_OR_DST_PORT(LWRES_PORT))
- lwres_print(ndo, cp, length);
- else if (IS_SRC_OR_DST_PORT(LDP_PORT))
- ldp_print(ndo, cp, length);
- else if (IS_SRC_OR_DST_PORT(OLSR_PORT))
- olsr_print(ndo, cp, length,
- (IP_V(ip) == 6) ? 1 : 0);
else if (IS_SRC_OR_DST_PORT(MPLS_LSP_PING_PORT))
lspping_print(ndo, cp, length);
- else if (sport == BCM_LI_PORT)
- bcm_li_print(ndo, cp, length);
else if (dport == BFD_CONTROL_PORT ||
dport == BFD_MULTIHOP_PORT ||
dport == BFD_LAG_PORT ||
dport == BFD_ECHO_PORT )
bfd_print(ndo, cp, length, dport);
- else if (IS_SRC_OR_DST_PORT(LMP_PORT))
- lmp_print(ndo, cp, length);
else if (IS_SRC_OR_DST_PORT(VQP_PORT))
vqp_print(ndo, cp, length);
else if (IS_SRC_OR_DST_PORT(SFLOW_PORT))
@@ -695,8 +697,6 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length,
lwapp_data_print(ndo, cp, length);
else if (IS_SRC_OR_DST_PORT(SIP_PORT))
sip_print(ndo, cp, length);
- else if (IS_SRC_OR_DST_PORT(SYSLOG_PORT))
- syslog_print(ndo, cp, length);
else if (IS_SRC_OR_DST_PORT(OTV_PORT))
otv_print(ndo, cp, length);
else if (IS_SRC_OR_DST_PORT(VXLAN_PORT))
@@ -717,11 +717,10 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length,
if (ndo->ndo_vflag)
ND_PRINT("kip ");
llap_print(ndo, cp, length);
- } else if (IS_SRC_OR_DST_PORT(PTP_EVENT_PORT) ||
- IS_SRC_OR_DST_PORT(PTP_GENERAL_PORT)) {
- ptp_print(ndo, cp, length);
} else if (IS_SRC_OR_DST_PORT(SOMEIP_PORT))
someip_print(ndo, cp, length);
+ else if (sport == BCM_LI_PORT)
+ bcm_li_print(ndo, cp, length);
else {
if (ulen > length && !fragmented)
ND_PRINT("UDP, bad length %u > %u",