ppp: do not warn if connect() before close() on pppoe terminate fails (fixes #19651)
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 26 May 2015 07:02:49 +0000 (07:02 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 26 May 2015 07:02:49 +0000 (07:02 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45755 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/network/services/ppp/patches/531-pppoe_no_disconnect_warning.patch [new file with mode: 0644]

diff --git a/package/network/services/ppp/patches/531-pppoe_no_disconnect_warning.patch b/package/network/services/ppp/patches/531-pppoe_no_disconnect_warning.patch
new file mode 100644 (file)
index 0000000..799e961
--- /dev/null
@@ -0,0 +1,14 @@
+--- a/pppd/plugins/rp-pppoe/plugin.c
++++ b/pppd/plugins/rp-pppoe/plugin.c
+@@ -271,9 +271,8 @@ PPPOEDisconnectDevice(void)
+     sp.sa_addr.pppoe.sid = 0;
+     memcpy(sp.sa_addr.pppoe.dev, conn->ifName, IFNAMSIZ);
+     memcpy(sp.sa_addr.pppoe.remote, conn->peerEth, ETH_ALEN);
+-    if (connect(conn->sessionSocket, (struct sockaddr *) &sp,
+-              sizeof(struct sockaddr_pppox)) < 0)
+-      error("Failed to disconnect PPPoE socket: %d %m", errno);
++    connect(conn->sessionSocket, (struct sockaddr *) &sp,
++          sizeof(struct sockaddr_pppox));
+     close(conn->sessionSocket);
+     sendPADT(conn, NULL);
+     if (conn->discoverySocket >= 0)