summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gatchat/gatppp.c5
-rw-r--r--gatchat/ppp.h1
-rw-r--r--gatchat/ppp_ipcp.c1
3 files changed, 7 insertions, 0 deletions
diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c
index c49223ff..dc26f29c 100644
--- a/gatchat/gatppp.c
+++ b/gatchat/gatppp.c
@@ -418,6 +418,11 @@ void ppp_net_up_notify(GAtPPP *ppp, const char *ip,
ip, dns1, dns2, ppp->connect_data);
}
+void ppp_net_down_notify(GAtPPP *ppp)
+{
+ ppp_net_close(ppp->net);
+}
+
void ppp_set_recv_accm(GAtPPP *ppp, guint32 accm)
{
ppp->recv_accm = accm;
diff --git a/gatchat/ppp.h b/gatchat/ppp.h
index f3b325e2..867dcc7a 100644
--- a/gatchat/ppp.h
+++ b/gatchat/ppp.h
@@ -81,6 +81,7 @@ void ppp_set_auth(GAtPPP *ppp, const guint8 *auth_data);
void ppp_auth_notify(GAtPPP *ppp, gboolean success);
void ppp_net_up_notify(GAtPPP *ppp, const char *ip,
const char *dns1, const char *dns2);
+void ppp_net_down_notify(GAtPPP *ppp);
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);
diff --git a/gatchat/ppp_ipcp.c b/gatchat/ppp_ipcp.c
index 1eebd21f..7402f9a9 100644
--- a/gatchat/ppp_ipcp.c
+++ b/gatchat/ppp_ipcp.c
@@ -146,6 +146,7 @@ static void ipcp_down(struct pppcp_data *pppcp)
ipcp_reset_config_options(ipcp);
pppcp_set_local_options(pppcp, ipcp->options, ipcp->options_len);
+ ppp_net_down_notify(pppcp_get_ppp(pppcp));
}
static void ipcp_finished(struct pppcp_data *pppcp)