ppp: update to version 2.4.7.git-2019-05-06
[openwrt/staging/lynxis.git] / package / network / services / ppp / patches / 520-uniq.patch
index 54c0d6271254d136fec20efde4c73c55f33c5dea..38d52dca07b313b8126436c2c46405d4e6b06af2 100644 (file)
      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
+@@ -357,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 */
  
      parsePacket(packet, parseForHostUniq, &forMe);
      return forMe;
-@@ -470,16 +470,12 @@ sendPADI(PPPoEConnection *conn)
+@@ -495,16 +495,12 @@ sendPADI(PPPoEConnection *conn)
      cursor += namelen + TAG_HDR_SIZE;
  
      /* If we're using Host-Uniq, copy it over */
      }
  
      packet.length = htons(plen);
-@@ -641,7 +637,7 @@ int main(int argc, char *argv[])
-     memset(conn, 0, sizeof(PPPoEConnection));
+@@ -670,7 +666,7 @@ int main(int argc, char *argv[])
+     conn->discoveryTimeout = PADI_TIMEOUT;
+     conn->discoveryAttempts = MAX_PADI_ATTEMPTS;
  
--    while ((opt = getopt(argc, argv, "I:D:VUAS:C:h")) > 0) {
-+    while ((opt = getopt(argc, argv, "I:D:VUW:AS:C:h")) > 0) {
+-    while ((opt = getopt(argc, argv, "I:D:VUQS:C:t:a:h")) > 0) {
++    while ((opt = getopt(argc, argv, "I:D:VUW:QS:C:t:a:h")) > 0) {
        switch(opt) {
        case 'S':
            conn->serviceName = xstrdup(optarg);
-@@ -650,7 +646,23 @@ int main(int argc, char *argv[])
-           conn->acName = xstrdup(optarg);
+@@ -697,7 +693,23 @@ int main(int argc, char *argv[])
+           }
            break;
        case 'U':
 -          conn->useHostUniq = 1;
 +#include <ctype.h>
 +#include <string.h>
  
/* How do we access raw Ethernet devices? */
- #undef USE_LINUX_PACKET
-@@ -224,7 +226,7 @@ typedef struct PPPoEConnectionStruct {
#include "pppd/pppd.h"                /* For error */
+@@ -221,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 */
      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,
+@@ -278,6 +280,33 @@ void pppoe_printpkt(PPPoEPacket *packet,
                    void (*printer)(void *, char *, ...), void *arg);
  void pppoe_log_packet(const char *prefix, PPPoEPacket *packet);