summaryrefslogtreecommitdiff
path: root/print-pppoe.c
diff options
context:
space:
mode:
authorguy <guy>2005-04-26 19:48:38 +0000
committerguy <guy>2005-04-26 19:48:38 +0000
commit1fa41f131370de2889fc23a2392ffc91302cfc5b (patch)
treec47e6632111fd624646bc24e8453fd8f0d0c2932 /print-pppoe.c
parente19e0a890a5127b3a077b85ec9f1de65075662fe (diff)
downloadtcpdump-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.c17
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;