diff --git a/package/network/services/ppp/Makefile b/package/network/services/ppp/Makefile
index c01635a14da4a3b481887f2ea4773f250f10ca1f..a4122a4f934470e2d9a0bb72a2cb76708c4da807 100644
--- a/package/network/services/ppp/Makefile
+++ b/package/network/services/ppp/Makefile
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=ppp
 PKG_VERSION:=2.4.7
-PKG_RELEASE:=6
+PKG_RELEASE:=7
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://download.samba.org/pub/ppp/
diff --git a/package/network/services/ppp/patches/001-honor-ldflags.patch b/package/network/services/ppp/patches/001-honor-ldflags.patch
new file mode 100644
index 0000000000000000000000000000000000000000..13288115370edf17a9870c55985be64106ff0991
--- /dev/null
+++ b/package/network/services/ppp/patches/001-honor-ldflags.patch
@@ -0,0 +1,39 @@
+--- a/pppd/plugins/radius/Makefile.linux
++++ b/pppd/plugins/radius/Makefile.linux
+@@ -43,13 +43,13 @@ install: all
+ 	$(INSTALL) -c -m 444 pppd-radattr.8 $(MANDIR)
+ 
+ radius.so: radius.o libradiusclient.a
+-	$(CC) -o radius.so -shared radius.o libradiusclient.a
++	$(CC) $(COPTS) -o radius.so -shared radius.o libradiusclient.a
+ 
+ radattr.so: radattr.o
+-	$(CC) -o radattr.so -shared radattr.o
++	$(CC) $(COPTS) -o radattr.so -shared radattr.o
+ 
+ radrealms.so: radrealms.o
+-	$(CC) -o radrealms.so -shared radrealms.o
++	$(CC) $(COPTS) -o radrealms.so -shared radrealms.o
+ 
+ CLIENTOBJS = avpair.o buildreq.o config.o dict.o ip_util.o \
+ 	clientid.o sendserver.o lock.o util.o md5.o
+--- a/pppd/plugins/rp-pppoe/Makefile.linux
++++ b/pppd/plugins/rp-pppoe/Makefile.linux
+@@ -30,7 +30,7 @@ CFLAGS=$(COPTS) -I../../../include '-DRP
+ all: rp-pppoe.so pppoe-discovery
+ 
+ pppoe-discovery: pppoe-discovery.o debug.o
+-	$(CC) -o pppoe-discovery pppoe-discovery.o debug.o
++	$(CC) $(CFLAGS) -o pppoe-discovery pppoe-discovery.o debug.o
+ 
+ pppoe-discovery.o: pppoe-discovery.c
+ 	$(CC) $(CFLAGS) -c -o pppoe-discovery.o pppoe-discovery.c
+@@ -39,7 +39,7 @@ debug.o: debug.c
+ 	$(CC) $(CFLAGS) -c -o debug.o debug.c
+ 
+ rp-pppoe.so: plugin.o discovery.o if.o common.o
+-	$(CC) -o rp-pppoe.so -shared plugin.o discovery.o if.o common.o
++	$(CC) $(CFLAGS) -o rp-pppoe.so -shared plugin.o discovery.o if.o common.o
+ 
+ install: all
+ 	$(INSTALL) -d -m 755 $(LIBDIR)
diff --git a/package/network/services/ppp/patches/140-pppoe_compile_fix.patch b/package/network/services/ppp/patches/140-pppoe_compile_fix.patch
index 71f96ff99864dc6ea32b379484574db9cf23d223..2983a75c42270753efc5f7c0be5dd9f476ff205c 100644
--- a/package/network/services/ppp/patches/140-pppoe_compile_fix.patch
+++ b/package/network/services/ppp/patches/140-pppoe_compile_fix.patch
@@ -91,7 +91,7 @@
 --- a/pppd/plugins/rp-pppoe/Makefile.linux
 +++ b/pppd/plugins/rp-pppoe/Makefile.linux
 @@ -33,7 +33,7 @@ pppoe-discovery: pppoe-discovery.o debug
- 	$(CC) -o pppoe-discovery pppoe-discovery.o debug.o
+ 	$(CC) $(CFLAGS) -o pppoe-discovery pppoe-discovery.o debug.o
  
  pppoe-discovery.o: pppoe-discovery.c
 -	$(CC) $(CFLAGS) -c -o pppoe-discovery.o pppoe-discovery.c
diff --git a/package/network/services/ppp/patches/530-pppoe_send_padt.patch b/package/network/services/ppp/patches/530-pppoe_send_padt.patch
index d4df88e6301927cc5f6bb291662a32e5929df514..40fa420216d789281da626fc5ee7018fa74df21b 100644
--- a/package/network/services/ppp/patches/530-pppoe_send_padt.patch
+++ b/package/network/services/ppp/patches/530-pppoe_send_padt.patch
@@ -1,6 +1,6 @@
 --- a/pppd/plugins/rp-pppoe/plugin.c
 +++ b/pppd/plugins/rp-pppoe/plugin.c
-@@ -276,7 +276,7 @@ PPPOEDisconnectDevice(void)
+@@ -275,7 +275,7 @@ PPPOEDisconnectDevice(void)
  		sizeof(struct sockaddr_pppox)) < 0)
  	error("Failed to disconnect PPPoE socket: %d %m", errno);
      close(conn->sessionSocket);