X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fplugins%2Fpppoe%2Fcommon.c;h=9140ea90cbee2d8d2cda656157f8505b09ae8910;hb=379943e12ea96f9133f3765e5c36c3405babada2;hp=9ea7fd609c8774aafbaf2cbe9bb6a6d86679b516;hpb=b2c36e6c0e1655aea9b1b0a03a8160f42a26c884;p=ppp.git diff --git a/pppd/plugins/pppoe/common.c b/pppd/plugins/pppoe/common.c index 9ea7fd6..9140ea9 100644 --- a/pppd/plugins/pppoe/common.c +++ b/pppd/plugins/pppoe/common.c @@ -160,6 +160,42 @@ sendPADT(PPPoEConnection *conn, char const *msg) info("Sent PADT"); } +static void +pppoe_printpkt_hex(void (*printer)(void *, char *, ...), void *arg, unsigned char const *buf, int len) +{ + int i; + int base; + + /* do NOT dump PAP packets */ + if (len >= 2 && buf[0] == 0xC0 && buf[1] == 0x23) { + printer(arg, "(PAP Authentication Frame -- Contents not dumped)\n"); + return; + } + + for (base=0; baseethHdr.h_dest)); printer(arg, " src %02x:%02x:%02x:%02x:%02x:%02x\n", EH(packet->ethHdr.h_source)); + if (pppoe_verbose >= 2) + pppoe_printpkt_hex(printer, arg, packet->payload, ntohs(packet->length)); if (ntohs(packet->ethHdr.h_proto) != ETH_PPPOE_DISCOVERY) return;