summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-04-13 14:19:04 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-04-13 14:21:16 -0500
commit42f6e8ec6ecbf3c4ff74aa52f77cf5e39c4682eb (patch)
tree7d1a8c12fc18dfb67633ccdd294e041fbe255f71
parente21bb72df0cebd0c8b340d46a5f13f4deda33cea (diff)
downloadofono-42f6e8ec6ecbf3c4ff74aa52f77cf5e39c4682eb.tar.bz2
ppp: introduce ppp_auth_notify
This function will be notified whenever authentication has succeeded / failed. This can happen in the authentication phase or during the network phase. If auth fails, then we should proceed to the terminate phase.
-rw-r--r--gatchat/gatppp.c8
-rw-r--r--gatchat/ppp.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c
index eb440300..d9ab89ce 100644
--- a/gatchat/gatppp.c
+++ b/gatchat/gatppp.c
@@ -407,6 +407,14 @@ void ppp_set_auth(GAtPPP *ppp, const guint8* auth_data)
}
}
+void ppp_auth_notify(GAtPPP *ppp, gboolean success)
+{
+ if (success)
+ ppp_enter_phase(ppp, PPP_PHASE_NETWORK);
+ else
+ ppp_enter_phase(ppp, PPP_PHASE_TERMINATION);
+}
+
void ppp_set_recv_accm(GAtPPP *ppp, guint32 accm)
{
ppp->recv_accm = accm;
diff --git a/gatchat/ppp.h b/gatchat/ppp.h
index e975c21b..565a9fa0 100644
--- a/gatchat/ppp.h
+++ b/gatchat/ppp.h
@@ -91,6 +91,7 @@ void ppp_debug(GAtPPP *ppp, const char *str);
void ppp_enter_phase(GAtPPP *ppp, enum ppp_phase phase);
void ppp_transmit(GAtPPP *ppp, guint8 *packet, guint infolen);
void ppp_set_auth(GAtPPP *ppp, const guint8 *auth_data);
+void ppp_auth_notify(GAtPPP *ppp, gboolean success);
void ppp_set_recv_accm(GAtPPP *ppp, guint32 accm);
void ppp_set_xmit_accm(GAtPPP *ppp, guint32 accm);
void ppp_set_pfc(GAtPPP *ppp, gboolean pfc);