[package] update ppp to v2.4.4 (#5102)
[openwrt.git] / package / ppp / patches / 207-lcp_mtu_max.patch
diff --git a/package/ppp/patches/207-lcp_mtu_max.patch b/package/ppp/patches/207-lcp_mtu_max.patch
new file mode 100644 (file)
index 0000000..9977f01
--- /dev/null
@@ -0,0 +1,36 @@
+diff -Naur ppp-2.4.4.orig/pppd/lcp.c ppp-2.4.4/pppd/lcp.c
+--- ppp-2.4.4.orig/pppd/lcp.c  2009-05-07 22:24:09.000000000 -0400
++++ ppp-2.4.4/pppd/lcp.c       2009-05-07 22:26:57.000000000 -0400
+@@ -1904,12 +1904,12 @@
+      * the interface MTU is set to the lowest of that, the
+      * MTU we want to use, and our link MRU.
+      */
+-    mtu = ho->neg_mru? ho->mru: PPP_MRU;
++    mtu = MIN(ho->neg_mru? ho->mru: PPP_MRU, ao->mru);
+     mru = go->neg_mru? MAX(wo->mru, go->mru): PPP_MRU;
+ #ifdef HAVE_MULTILINK
+     if (!(multilink && go->neg_mrru && ho->neg_mrru))
+ #endif /* HAVE_MULTILINK */
+-      netif_set_mtu(f->unit, MIN(MIN(mtu, mru), ao->mru));
++      netif_set_mtu(f->unit, MIN(mtu, mru));
+     ppp_send_config(f->unit, mtu,
+                   (ho->neg_asyncmap? ho->asyncmap: 0xffffffff),
+                   ho->neg_pcompression, ho->neg_accompression);
+diff -Naur ppp-2.4.4.orig/pppd/lcp.c ppp-2.4.4/pppd/lcp.c
+--- ppp-2.4.4.orig/pppd/lcp.c  2009-05-07 22:24:09.000000000 -0400
++++ ppp-2.4.4/pppd/lcp.c       2009-05-07 22:26:57.000000000 -0400
+@@ -1904,12 +1904,12 @@
+      * the interface MTU is set to the lowest of that, the
+      * MTU we want to use, and our link MRU.
+      */
+-    mtu = ho->neg_mru? ho->mru: PPP_MRU;
++    mtu = MIN(ho->neg_mru? ho->mru: PPP_MRU, ao->mru);
+     mru = go->neg_mru? MAX(wo->mru, go->mru): PPP_MRU;
+ #ifdef HAVE_MULTILINK
+     if (!(multilink && go->neg_mrru && ho->neg_mrru))
+ #endif /* HAVE_MULTILINK */
+-      netif_set_mtu(f->unit, MIN(MIN(mtu, mru), ao->mru));
++      netif_set_mtu(f->unit, MIN(mtu, mru));
+     ppp_send_config(f->unit, mtu,
+                   (ho->neg_asyncmap? ho->asyncmap: 0xffffffff),
+                   ho->neg_pcompression, ho->neg_accompression);