mirror of git://git.sysmocom.de/ofono
Add support for NBNS server options
This commit is contained in:
parent
c31bee9fff
commit
95bceddba4
|
@ -48,6 +48,8 @@ struct ipcp_data {
|
||||||
guint8 ip_address[4];
|
guint8 ip_address[4];
|
||||||
guint8 primary_dns[4];
|
guint8 primary_dns[4];
|
||||||
guint8 secondary_dns[4];
|
guint8 secondary_dns[4];
|
||||||
|
guint8 primary_nbns[4];
|
||||||
|
guint8 secondary_nbns[4];
|
||||||
struct pppcp_data *pppcp;
|
struct pppcp_data *pppcp;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -212,7 +214,9 @@ enum ipcp_option_types {
|
||||||
IP_COMPRESSION_PROTO = 2,
|
IP_COMPRESSION_PROTO = 2,
|
||||||
IP_ADDRESS = 3,
|
IP_ADDRESS = 3,
|
||||||
PRIMARY_DNS_SERVER = 129,
|
PRIMARY_DNS_SERVER = 129,
|
||||||
|
PRIMARY_NBNS_SERVER = 130,
|
||||||
SECONDARY_DNS_SERVER = 131,
|
SECONDARY_DNS_SERVER = 131,
|
||||||
|
SECONDARY_NBNS_SERVER = 132,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void ipcp_up(struct pppcp_data *pppcp)
|
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) {
|
switch (option->type) {
|
||||||
case IP_ADDRESS:
|
case IP_ADDRESS:
|
||||||
case PRIMARY_DNS_SERVER:
|
case PRIMARY_DNS_SERVER:
|
||||||
|
case PRIMARY_NBNS_SERVER:
|
||||||
case SECONDARY_DNS_SERVER:
|
case SECONDARY_DNS_SERVER:
|
||||||
|
case SECONDARY_NBNS_SERVER:
|
||||||
return OPTION_ACCEPT;
|
return OPTION_ACCEPT;
|
||||||
default:
|
default:
|
||||||
g_printerr("Unknown ipcp option type %d\n", option->type);
|
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:
|
case PRIMARY_DNS_SERVER:
|
||||||
memcpy(ipcp->primary_dns, option->data, 4);
|
memcpy(ipcp->primary_dns, option->data, 4);
|
||||||
break;
|
break;
|
||||||
|
case PRIMARY_NBNS_SERVER:
|
||||||
|
memcpy(ipcp->primary_nbns, option->data, 4);
|
||||||
|
break;
|
||||||
case SECONDARY_DNS_SERVER:
|
case SECONDARY_DNS_SERVER:
|
||||||
memcpy(ipcp->secondary_dns, option->data, 4);
|
memcpy(ipcp->secondary_dns, option->data, 4);
|
||||||
break;
|
break;
|
||||||
|
case SECONDARY_NBNS_SERVER:
|
||||||
|
memcpy(ipcp->secondary_nbns, option->data, 4);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
g_printerr("Unable to process unknown option %d\n", option->type);
|
g_printerr("Unable to process unknown option %d\n", option->type);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue