diff options
Diffstat (limited to 'accel-pppd/radius')
-rw-r--r-- | accel-pppd/radius/radius.c | 12 |
1 files changed, 12 insertions, 0 deletions
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; } |