summaryrefslogtreecommitdiffstats
path: root/lib/libradius/radlib.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>2002-06-12 00:21:07 +0000
committerbrian <brian@FreeBSD.org>2002-06-12 00:21:07 +0000
commit900ca326699fe7cba94c534173fd85d67cf1cef7 (patch)
tree79d1bcfaed665df1da22adebe3ca6d09c471e256 /lib/libradius/radlib.c
parent78fa6fde27e14770f1580e9d55a743a3654be4d9 (diff)
downloadFreeBSD-src-900ca326699fe7cba94c534173fd85d67cf1cef7.zip
FreeBSD-src-900ca326699fe7cba94c534173fd85d67cf1cef7.tar.gz
Add the following functions:
rad_request_authenticator() Returns the Request-Authenticator relevant to the most recently received RADIUS response. rad_server_secret() Returns the Shared Secret relevant to the most recently received RADIUS response. Neither of these functions should be necessary, however, the MS-MPPE-Recv-Key and MS-MPPE-Send-Key Microsoft Vendor Specific attributes are supplied in a mangled (encrypted) format, requiring this information to demangle. It's not clear whether these functions should be replaced with a rad_demangle() function or whether these attributes are one-offs. Sponsored by: Monzoon
Diffstat (limited to 'lib/libradius/radlib.c')
-rw-r--r--lib/libradius/radlib.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/libradius/radlib.c b/lib/libradius/radlib.c
index bc3679e..702b06f 100644
--- a/lib/libradius/radlib.c
+++ b/lib/libradius/radlib.c
@@ -928,3 +928,20 @@ rad_put_vendor_string(struct rad_handle *h, int vendor, int type,
{
return (rad_put_vendor_attr(h, vendor, type, str, strlen(str)));
}
+
+ssize_t
+rad_request_authenticator(struct rad_handle *h, char *buf, size_t len)
+{
+ if (len < LEN_AUTH)
+ return (-1);
+ memcpy(buf, h->request + POS_AUTH, LEN_AUTH);
+ if (len > LEN_AUTH)
+ buf[LEN_AUTH] = '\0';
+ return (LEN_AUTH);
+}
+
+const char *
+rad_server_secret(struct rad_handle *h)
+{
+ return (h->servers[h->srv].secret);
+}
OpenPOWER on IntegriCloud