diff options
author | mav <mav@FreeBSD.org> | 2009-09-11 11:42:56 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2009-09-11 11:42:56 +0000 |
commit | 972d9b272230173e6ef0275570d6cc08fe5163c9 (patch) | |
tree | 62d154acac53838b9afff7d63c697fe60f8f19bc /lib/libradius/radlib.h | |
parent | 115c0d027c275a438e6a64297b2380f71c326821 (diff) | |
download | FreeBSD-src-972d9b272230173e6ef0275570d6cc08fe5163c9.zip FreeBSD-src-972d9b272230173e6ef0275570d6cc08fe5163c9.tar.gz |
Add simple embedded RADIUS server support to libradius, by extending existing
API, keeping backward compatibility.
First consumer for this functionality is going to become forthcoming MPD-5.4,
supporting CoA and DR of RFC 3576: Dynamic Authorization Extensions to RADIUS.
MFC after: 1 month
Diffstat (limited to 'lib/libradius/radlib.h')
-rw-r--r-- | lib/libradius/radlib.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/libradius/radlib.h b/lib/libradius/radlib.h index 2c42c3a..b26be41 100644 --- a/lib/libradius/radlib.h +++ b/lib/libradius/radlib.h @@ -42,6 +42,12 @@ #define RAD_ACCOUNTING_REQUEST 4 #define RAD_ACCOUNTING_RESPONSE 5 #define RAD_ACCESS_CHALLENGE 11 +#define RAD_DISCONNECT_REQUEST 40 +#define RAD_DISCONNECT_ACK 41 +#define RAD_DISCONNECT_NAK 42 +#define RAD_COA_REQUEST 43 +#define RAD_COA_ACK 44 +#define RAD_COA_NAK 45 /* Attribute types and values */ #define RAD_USER_NAME 1 /* String */ @@ -179,6 +185,8 @@ #define RAD_ACCT_MULTI_SESSION_ID 50 /* String */ #define RAD_ACCT_LINK_COUNT 51 /* Integer */ +#define RAD_ERROR_CAUSE 101 /* Integer */ + struct rad_handle; struct timeval; @@ -192,6 +200,7 @@ int rad_config(struct rad_handle *, const char *); int rad_continue_send_request(struct rad_handle *, int, int *, struct timeval *); int rad_create_request(struct rad_handle *, int); +int rad_create_response(struct rad_handle *, int); struct in_addr rad_cvt_addr(const void *); u_int32_t rad_cvt_int(const void *); char *rad_cvt_string(const void *, size_t); @@ -209,7 +218,10 @@ int rad_put_string(struct rad_handle *, int, int rad_put_message_authentic(struct rad_handle *); ssize_t rad_request_authenticator(struct rad_handle *, char *, size_t); +int rad_receive_request(struct rad_handle *); int rad_send_request(struct rad_handle *); +int rad_send_response(struct rad_handle *); +struct rad_handle *rad_server_open(int fd); const char *rad_server_secret(struct rad_handle *); const char *rad_strerror(struct rad_handle *); u_char *rad_demangle(struct rad_handle *, const void *, |