[PATCH] ppp: discard non-LCP packets when in Establishment phase

Kristen Carlson Accardi kristen at linux.intel.com
Mon Apr 26 10:28:41 PDT 2010


---
 gatchat/gatppp.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c
index fc6769c..1547a75 100644
--- a/gatchat/gatppp.c
+++ b/gatchat/gatppp.c
@@ -169,6 +169,13 @@ static void ppp_recv(GAtPPP *ppp, struct frame_buffer *frame)
 	guint16 protocol = ppp_proto(frame->bytes);
 	guint8 *packet = ppp_info(frame->bytes);
 
+	/*
+	 * Any non-LCP packets received during Link Establishment
+	 * phase must be silently discarded.
+	 */
+	if (ppp->phase == PPP_PHASE_ESTABLISHMENT && protocol != LCP_PROTOCOL)
+		return;
+
 	switch (protocol) {
 	case PPP_IP_PROTO:
 		/* If network is up & open, process the packet, if not, drop */
-- 
1.6.6.1



More information about the ofono mailing list