]> The Tcpdump Group git mirrors - tcpdump/commitdiff
According to RFC 2516, use of the End-Of-List tag is not required, and
authorguy <guy>
Tue, 26 Apr 2005 19:48:38 +0000 (19:48 +0000)
committerguy <guy>
Tue, 26 Apr 2005 19:48:38 +0000 (19:48 +0000)
at least one PPPoE implementation doesn't put that tag into the tag
list, so we can't ignore the payload length.

print-pppoe.c

index 0c0b8f7b1a1feab384b91fc5c7c4c7c13a508da0..7abc787832e3d0ec0a65ae72faa9f37cca6ee32c 100644 (file)
@@ -23,7 +23,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
-"@(#) $Header: /tcpdump/master/tcpdump/print-pppoe.c,v 1.30 2004-08-27 03:57:41 guy Exp $ (LBL)";
+"@(#) $Header: /tcpdump/master/tcpdump/print-pppoe.c,v 1.31 2005-04-26 19:48:38 guy Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -138,21 +138,6 @@ pppoe_print(register const u_char *bp, u_int length)
                printf(" [ses 0x%x]", pppoe_sessionid);
        }
 
-       if (pppoe_length < length && length + ETHER_HDRLEN > 60) {
-               /* (small packets are probably just padded up to the ethernet
-                  minimum of 60 bytes of data + 4 bytes of CRC) */
-               printf(" [length %u (%u extra bytes)]",
-                   pppoe_length, length - pppoe_length);
-#if RESPECT_PAYLOAD_LENGTH
-               if (snaplend > pppoe_payload+pppoe_length)
-                       snapend = pppoe_payload+pppoe_length;
-#else
-               /* Actual PPPoE implementations appear to ignore the payload
-                  length and use the full ethernet frame anyways */
-               pppoe_length = length;
-#endif
-       }
-
        if (pppoe_code) {
                /* PPP session packets don't contain tags */
                u_short tag_type = 0xffff, tag_len;