|
|
|
@ -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
|
|
|
|
|
@@ -344,7 +344,7 @@ packetIsForMe(PPPoEConnection *conn, PPP
|
|
|
|
|
@@ -348,7 +348,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;
|
|
|
|
|
@@ -470,16 +470,12 @@ sendPADI(PPPoEConnection *conn)
|
|
|
|
|
@@ -474,16 +474,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);
|
|
|
|
|
@@ -641,7 +637,7 @@ int main(int argc, char *argv[])
|
|
|
|
|
@@ -645,7 +641,7 @@ int main(int argc, char *argv[])
|
|
|
|
|
|
|
|
|
|
memset(conn, 0, sizeof(PPPoEConnection));
|
|
|
|
|
|
|
|
|
@ -188,7 +188,7 @@ |
|
|
|
|
switch(opt) {
|
|
|
|
|
case 'S':
|
|
|
|
|
conn->serviceName = xstrdup(optarg);
|
|
|
|
|
@@ -650,7 +646,23 @@ int main(int argc, char *argv[])
|
|
|
|
|
@@ -654,7 +650,23 @@ int main(int argc, char *argv[])
|
|
|
|
|
conn->acName = xstrdup(optarg);
|
|
|
|
|
break;
|
|
|
|
|
case 'U':
|
|
|
|
@ -224,7 +224,7 @@ |
|
|
|
|
|
|
|
|
|
/* How do we access raw Ethernet devices? */
|
|
|
|
|
#undef USE_LINUX_PACKET
|
|
|
|
|
@@ -224,7 +226,7 @@ typedef struct PPPoEConnectionStruct {
|
|
|
|
|
@@ -217,7 +219,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 */
|
|
|
|
|
@@ -280,6 +282,33 @@ void pppoe_printpkt(PPPoEPacket *packet,
|
|
|
|
|
@@ -273,6 +275,33 @@ void pppoe_printpkt(PPPoEPacket *packet,
|
|
|
|
|
void (*printer)(void *, char *, ...), void *arg);
|
|
|
|
|
void pppoe_log_packet(const char *prefix, PPPoEPacket *packet);
|
|
|
|
|
|
|
|
|
|