summaryrefslogtreecommitdiff
path: root/accel-pppd/radius/dm_coa.c
diff options
context:
space:
mode:
authorDenys Fedoryshchenko <denys.f@collabora.com>2026-09-28 21:50:27 +0300
committerGitHub <noreply@github.com>2026-09-28 21:50:27 +0300
commit50c54c477624d5a9b668225fde2b9844d362760a (patch)
treed1fe53a3c637f8b963027aa483053ae7afb55b5e /accel-pppd/radius/dm_coa.c
parentc9d938173838d6955c824d141f24672d7037eb4e (diff)
parent06aa0ef737d6993fd18e7db1bc8fc35601079505 (diff)
downloadaccel-ppp-50c54c477624d5a9b668225fde2b9844d362760a.tar.gz
accel-ppp-50c54c477624d5a9b668225fde2b9844d362760a.zip
Merge pull request #362 from nuclearcat/fix/ng40-additional-safeguardsHEADmaster
Additional safeguards
Diffstat (limited to 'accel-pppd/radius/dm_coa.c')
-rw-r--r--accel-pppd/radius/dm_coa.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/accel-pppd/radius/dm_coa.c b/accel-pppd/radius/dm_coa.c
index df8cdf3e..728fd938 100644
--- a/accel-pppd/radius/dm_coa.c
+++ b/accel-pppd/radius/dm_coa.c
@@ -146,16 +146,16 @@ static void disconnect_request(struct radius_pd_t *rpd)
}
#ifdef HAVE_VRF
-int rad_update_vrf(struct radius_pd_t *rpd, const char *vrf_name)
+static int rad_update_vrf(struct radius_pd_t *rpd, const char *vrf_name, int len)
{
- if (*vrf_name == '0') {
+ if (len == 1 && *vrf_name == '0') {
// Delete interface from VRF
if (!ap_session_vrf(rpd->ses, NULL, 0))
return 1;
}
else {
// Add interface to VRF
- if(!ap_session_vrf(rpd->ses, vrf_name, -1))
+ if(!ap_session_vrf(rpd->ses, vrf_name, len))
return 1;
}
@@ -215,7 +215,7 @@ static void coa_request(struct radius_pd_t *rpd)
#ifdef HAVE_VRF
attr = rad_packet_find_attr(rpd->dm_coa_req, "Accel-PPP", "Accel-VRF-Name");
if (attr){
- if(!rad_update_vrf(rpd, attr->val.string)){
+ if(!rad_update_vrf(rpd, attr->val.string, attr->len)){
goto out;
}
}