X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Fplugins%2Frp-pppoe%2Fpppoe-discovery.c;h=55037dffb02322e6d92cf099270b5e41739f46b4;hp=318f8583f98b246d99482330e7e33e3429c3f416;hb=a3f379befd11934466271aaca76b2809ae8595d0;hpb=427e3d851c86e35655e14f1dfa9c831a8fab94d9;ds=sidebyside diff --git a/pppd/plugins/rp-pppoe/pppoe-discovery.c b/pppd/plugins/rp-pppoe/pppoe-discovery.c index 318f858..55037df 100644 --- a/pppd/plugins/rp-pppoe/pppoe-discovery.c +++ b/pppd/plugins/rp-pppoe/pppoe-discovery.c @@ -9,6 +9,7 @@ * */ +#include #include #include #include @@ -55,6 +56,14 @@ void die(int status) exit(status); } +void error(char *fmt, ...) +{ + va_list pvar; + va_start(pvar, fmt); + vfprintf(stderr, fmt, pvar); + va_end(pvar); +} + /* Initialize frame types to RFC 2516 values. Some broken peers apparently use different frame types... sigh... */ @@ -277,7 +286,7 @@ parsePacket(PPPoEPacket *packet, ParseFunc *func, void *extra) } /* Do some sanity checks on packet */ - if (len > ETH_DATA_LEN - 6) { /* 6-byte overhead for PPPoE header */ + if (len > ETH_JUMBO_LEN - PPPOE_OVERHEAD) { /* 6-byte overhead for PPPoE header */ fprintf(stderr, "Invalid PPPoE packet length (%u)\n", len); return -1; }