diff options
author | Vladislav Grishenko <themiron@mail.ru> | 2012-11-12 16:36:46 +0400 |
---|---|---|
committer | Kozlov Dmitry <xeb@mail.ru> | 2012-11-12 16:36:46 +0400 |
commit | 28749c59a24b277ca3f6e1bdf262c54155126f2a (patch) | |
tree | b51991afa16d80c51d9e0186c7a231b076db5c62 /accel-pppd/radius | |
parent | ce56e6c72c0363cd02a77cd7c7b37f9f0b50d8a4 (diff) | |
download | accel-ppp-28749c59a24b277ca3f6e1bdf262c54155126f2a.tar.gz accel-ppp-28749c59a24b277ca3f6e1bdf262c54155126f2a.zip |
ppp: add NBNS (WINS) support
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; } |