From 95bceddba43dcbf749e7037f92cb90fd3d4c6777 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Fri, 26 Mar 2010 19:25:56 -0700 Subject: Add support for NBNS server options --- gatchat/ppp_net.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gatchat/ppp_net.c') 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; -- cgit v1.2.3