---
 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

_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono

Reply via email to