From 28749c59a24b277ca3f6e1bdf262c54155126f2a Mon Sep 17 00:00:00 2001 From: Vladislav Grishenko Date: Mon, 12 Nov 2012 16:36:46 +0400 Subject: ppp: add NBNS (WINS) support --- accel-pppd/radius/radius.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'accel-pppd/radius') diff --git a/accel-pppd/radius/radius.c b/accel-pppd/radius/radius.c index 8f17fcc9..b6a0b5f5 100644 --- a/accel-pppd/radius/radius.c +++ b/accel-pppd/radius/radius.c @@ -58,9 +58,11 @@ int rad_proc_attrs(struct rad_req_t *req) struct rad_attr_t *attr; struct ipv6db_addr_t *a; struct ev_dns_t dns; + struct ev_wins_t wins; int res = 0; dns.ppp = NULL; + wins.ppp = NULL; req->rpd->acct_interim_interval = conf_acct_interim_interval; list_for_each_entry(attr, &req->reply->attrs, entry) { @@ -74,6 +76,14 @@ int rad_proc_attrs(struct rad_req_t *req) dns.ppp = req->rpd->ppp; dns.dns2 = attr->val.ipaddr; break; + case MS_Primary_NBNS_Server: + wins.ppp = req->rpd->ppp; + wins.wins1 = attr->val.ipaddr; + break; + case MS_Secondary_NBNS_Server: + wins.ppp = req->rpd->ppp; + wins.wins2 = attr->val.ipaddr; + break; } continue; } else if (attr->vendor) @@ -134,6 +144,8 @@ int rad_proc_attrs(struct rad_req_t *req) if (dns.ppp) triton_event_fire(EV_DNS, &dns); + if (wins.ppp) + triton_event_fire(EV_WINS, &wins); return res; } -- cgit v1.2.3