diff options
author | guy <guy> | 2005-04-26 19:48:38 +0000 |
---|---|---|
committer | guy <guy> | 2005-04-26 19:48:38 +0000 |
commit | 1fa41f131370de2889fc23a2392ffc91302cfc5b (patch) | |
tree | c47e6632111fd624646bc24e8453fd8f0d0c2932 /print-pppoe.c | |
parent | e19e0a890a5127b3a077b85ec9f1de65075662fe (diff) | |
download | tcpdump-1fa41f131370de2889fc23a2392ffc91302cfc5b.tar.gz |
According to RFC 2516, use of the End-Of-List tag is not required, and
at least one PPPoE implementation doesn't put that tag into the tag
list, so we can't ignore the payload length.
Diffstat (limited to 'print-pppoe.c')
-rw-r--r-- | print-pppoe.c | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/print-pppoe.c b/print-pppoe.c index 0c0b8f7b..7abc7878 100644 --- a/print-pppoe.c +++ b/print-pppoe.c @@ -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; |