From 900ca326699fe7cba94c534173fd85d67cf1cef7 Mon Sep 17 00:00:00 2001 From: brian Date: Wed, 12 Jun 2002 00:21:07 +0000 Subject: 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 --- lib/libradius/radlib.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'lib/libradius/radlib.c') 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); +} -- cgit v1.1