tcpdump matches any udp traffic on port 1589 as Cizco-eee vlan query
protocol. Really, it should only match udp traffic to *destination*
port 1589 like this.

Problem noted by tdm on silc.

ok?

Index: print-udp.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/print-udp.c,v
retrieving revision 1.30
diff -u -p -u -7 -r1.30 print-udp.c
--- print-udp.c 7 Oct 2007 16:41:05 -0000       1.30
+++ print-udp.c 26 May 2009 16:38:55 -0000
@@ -606,15 +606,15 @@ udp_print(register const u_char *bp, u_i
                          ISPORT(RADIUS_AUTH_PORT)     ||
                          ISPORT(RADIUS_ACCT_PORT))
                         radius_print((const u_char *)(up + 1), length);
                else if (dport == 3456)
                        vat_print((const void *)(up + 1), length, up);
                else if (ISPORT(IAPP_PORT) || ISPORT(IAPP_OLD_PORT))
                        iapp_print((const u_char *)(up + 1), length);
-               else if (ISPORT(VQP_PORT))
+               else if (dport == VQP_PORT)
                        vqp_print((const u_char *)(up + 1), length);
 #ifdef INET6
                else if (ISPORT(RIPNG_PORT))
                        ripng_print((const u_char *)(up + 1), length);
                else if (ISPORT(DHCP6_PORT1) || ISPORT(DHCP6_PORT2)) {
                        dhcp6_print((const u_char *)(up + 1), length,
                                sport, dport);

Reply via email to