diff options
Diffstat (limited to 'src/radius/radius.c')
-rw-r--r-- | src/radius/radius.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/radius/radius.c b/src/radius/radius.c index ed0a9de..66e053a 100644 --- a/src/radius/radius.c +++ b/src/radius/radius.c @@ -1552,3 +1552,24 @@ int radius_copy_class(struct radius_class_data *dst, return 0; } + + +u8 radius_msg_find_unlisted_attr(struct radius_msg *msg, u8 *attrs) +{ + size_t i, j; + struct radius_attr_hdr *attr; + + for (i = 0; i < msg->attr_used; i++) { + attr = radius_get_attr_hdr(msg, i); + + for (j = 0; attrs[j]; j++) { + if (attr->type == attrs[j]) + break; + } + + if (attrs[j] == 0) + return attr->type; /* unlisted attr */ + } + + return 0; +} |