summaryrefslogtreecommitdiffstats
path: root/gatchat/ppp_net.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2010-03-26 19:25:56 -0700
committerMarcel Holtmann <marcel@holtmann.org>2010-03-26 19:25:56 -0700
commit95bceddba43dcbf749e7037f92cb90fd3d4c6777 (patch)
tree43ddab0c0a604dd0341be31f31c11f6551d8ffae /gatchat/ppp_net.c
parentc31bee9fff2d3b07ba9a8385e9a6180c4e06af3e (diff)
downloadofono-95bceddba43dcbf749e7037f92cb90fd3d4c6777.tar.bz2
Add support for NBNS server options
Diffstat (limited to 'gatchat/ppp_net.c')
-rw-r--r--gatchat/ppp_net.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gatchat/ppp_net.c b/gatchat/ppp_net.c
index d8df896e..4b459ade 100644
--- a/gatchat/ppp_net.c
+++ b/gatchat/ppp_net.c
@@ -48,6 +48,8 @@ struct ipcp_data {
guint8 ip_address[4];
guint8 primary_dns[4];
guint8 secondary_dns[4];
+ guint8 primary_nbns[4];
+ guint8 secondary_nbns[4];
struct pppcp_data *pppcp;
};
@@ -212,7 +214,9 @@ enum ipcp_option_types {
IP_COMPRESSION_PROTO = 2,
IP_ADDRESS = 3,
PRIMARY_DNS_SERVER = 129,
+ PRIMARY_NBNS_SERVER = 130,
SECONDARY_DNS_SERVER = 131,
+ SECONDARY_NBNS_SERVER = 132,
};
static void ipcp_up(struct pppcp_data *pppcp)
@@ -278,7 +282,9 @@ static guint ipcp_option_scan(struct ppp_option *option, gpointer user)
switch (option->type) {
case IP_ADDRESS:
case PRIMARY_DNS_SERVER:
+ case PRIMARY_NBNS_SERVER:
case SECONDARY_DNS_SERVER:
+ case SECONDARY_NBNS_SERVER:
return OPTION_ACCEPT;
default:
g_printerr("Unknown ipcp option type %d\n", option->type);
@@ -301,9 +307,15 @@ static void ipcp_option_process(gpointer data, gpointer user)
case PRIMARY_DNS_SERVER:
memcpy(ipcp->primary_dns, option->data, 4);
break;
+ case PRIMARY_NBNS_SERVER:
+ memcpy(ipcp->primary_nbns, option->data, 4);
+ break;
case SECONDARY_DNS_SERVER:
memcpy(ipcp->secondary_dns, option->data, 4);
break;
+ case SECONDARY_NBNS_SERVER:
+ memcpy(ipcp->secondary_nbns, option->data, 4);
+ break;
default:
g_printerr("Unable to process unknown option %d\n", option->type);
break;