@ -147,7 +147,7 @@
strlcpy(ppp_devnam, devnam, sizeof(ppp_devnam));
--- a/pppd/plugins/rp-pppoe/pppoe-discovery.c
+++ b/pppd/plugins/rp-pppoe/pppoe-discovery.c
@@ -35 6,7 +356 ,7 @@ packetIsForMe(PPPoEConnection *conn, PPP
@@ -35 7,7 +357 ,7 @@ packetIsForMe(PPPoEConnection *conn, PPP
if (memcmp(packet->ethHdr.h_dest, conn->myEth, ETH_ALEN)) return 0;
/* If we're not using the Host-Unique tag, then accept the packet */
@ -156,7 +156,7 @@
parsePacket(packet, parseForHostUniq, &forMe);
return forMe;
@@ -49 4,16 +494 ,12 @@ sendPADI(PPPoEConnection *conn)
@@ -49 5,16 +495 ,12 @@ sendPADI(PPPoEConnection *conn)
cursor += namelen + TAG_HDR_SIZE;
/* If we're using Host-Uniq, copy it over */
@ -179,7 +179,7 @@
}
packet.length = htons(plen);
@@ -6 69,7 +665 ,7 @@ int main(int argc, char *argv[])
@@ -6 70,7 +666 ,7 @@ int main(int argc, char *argv[])
conn->discoveryTimeout = PADI_TIMEOUT;
conn->discoveryAttempts = MAX_PADI_ATTEMPTS;
@ -188,7 +188,7 @@
switch(opt) {
case 'S':
conn->serviceName = xstrdup(optarg);
@@ -69 6,7 +692 ,23 @@ int main(int argc, char *argv[])
@@ -69 7,7 +693 ,23 @@ int main(int argc, char *argv[])
}
break;
case 'U':
@ -222,9 +222,9 @@
+#include <ctype.h>
+#include <string.h>
/* How do we access raw Ethernet devices? */
#undef USE_LINUX_PACKET
@@ -2 19,7 +221 ,7 @@ typedef struct PPPoEConnectionStruct {
#include "pppd/pppd.h" /* For error */
@@ -2 21,7 +223 ,7 @@ typedef struct PPPoEConnectionStruct {
char *serviceName; /* Desired service name, if any */
char *acName; /* Desired AC name, if any */
int synchronous; /* Use synchronous PPP */
@ -233,7 +233,7 @@
int printACNames; /* Just print AC names */
FILE *debugFile; /* Debug file for dumping packets */
int numPADOs; /* Number of PADO packets received */
@@ -27 6,6 +278 ,33 @@ void pppoe_printpkt(PPPoEPacket *packet,
@@ -27 8,6 +280 ,33 @@ void pppoe_printpkt(PPPoEPacket *packet,
void (*printer)(void *, char *, ...), void *arg);
void pppoe_log_packet(const char *prefix, PPPoEPacket *packet);