static int soh_postauth(UNUSED void * instance, REQUEST *request)
{
#ifdef WITH_DHCP
+ int rcode;
VALUE_PAIR *vp;
vp = pairfind(request->packet->vps, DHCP2ATTR(43));
} else {
RDEBUG("SoH decoding NAP from DHCP request");
/* SoH payload */
- soh_verify(request->packet->vps, data, vlen);
+ rcode = soh_verify(request, request->packet->vps, data, vlen);
+ if (rcode < 0) {
+ return RLM_MODULE_FAIL;
+ }
}
break;
default:
RDEBUG("SoH radius VP found");
/* decode it */
- rv = soh_verify(request->packet->vps, vp->vp_octets, vp->length);
+ rv = soh_verify(request, request->packet->vps, vp->vp_octets, vp->length);
+ if (rv < 0) {
+ return RLM_MODULE_FAIL;
+ }
return RLM_MODULE_OK;
}