summaryrefslogtreecommitdiffstats
path: root/gatchat/gatppp.c
diff options
context:
space:
mode:
Diffstat (limited to 'gatchat/gatppp.c')
-rw-r--r--gatchat/gatppp.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c
index 6d4950d9..c38c20a9 100644
--- a/gatchat/gatppp.c
+++ b/gatchat/gatppp.c
@@ -389,11 +389,10 @@ static void ppp_dead(GAtPPP *ppp)
g_source_remove(ppp->modem_watch);
g_io_channel_unref(ppp->modem);
- /* remove lcp */
lcp_free(ppp->lcp);
-
- /* remove auth */
auth_free(ppp->auth);
+ ipcp_free(ppp->ipcp);
+ ppp_net_free(ppp->net);
g_free(ppp);
}
@@ -427,6 +426,7 @@ static void ppp_transition_phase(GAtPPP *ppp, enum ppp_phase phase)
case PPP_NETWORK:
/* bring network phase up */
ppp_net_open(ppp->net);
+ pppcp_generate_event(ppp->ipcp, OPEN, NULL, 0);
break;
}
}
@@ -625,6 +625,9 @@ GAtPPP *g_at_ppp_new(GIOChannel *modem)
/* initialize the autentication state */
ppp->auth = auth_new(ppp);
+ /* initialize IPCP state */
+ ppp->ipcp = ipcp_new(ppp);
+
/* intialize the network state */
ppp->net = ppp_net_new(ppp);