v1.0.0
First stable release. The public API follows semantic versioning from
this point forward; breaking changes will be reserved for v2.
Supported RFCs
| RFC | Title |
|---|---|
| 2865 | RADIUS (core authentication) |
| 2866 | RADIUS Accounting |
| 2867 | Accounting Modifications for Tunnel Protocol Support |
| 2868 | RADIUS Attributes for Tunnel Protocol Support |
| 2869 | RADIUS Extensions |
| 3162 | RADIUS and IPv6 |
| 5176 | Dynamic Authorization Extensions (CoA/DM) |
| 6613 | RADIUS over TCP |
| 6929 | RADIUS Protocol Extensions |
| 9445 | RADIUS Extensions for DHCP-Configured Services |
Highlights
- Packet codec with response authenticator verification (RFC 2865 §3).
- Crypto primitives: User-Password (RFC 2865 §5.2), Tunnel-Password
(RFC 2868 §3.3), Message-Authenticator HMAC-MD5 (RFC 2869 §5.14). - Transports: UDP with retransmission and per-attempt timeouts;
TCP (RFC 6613) with single-attempt semantics. - High-level Client (
client.UDPClient/client.TCPClient) with
retransmission policy, identifier pool, andConfig.Timeoutfallback. - Server with
Handlerinterface,SecretLookup, and per-request
context. - RFC 6929 extended attributes: types 241/243/244 (3-byte header)
and 242 long-extended (4-byte header with More flag, fragmenting up
to 4111 bytes). - RFC 2868 tunnel attributes: tag prefix encoding/decoding and
Tunnel-Password encryption with salt + RA-seeded MD5 chain. - CLI tool (
radius-tool) for client mode (auth/acct/coa/dm) and
a lightweight test server mode.
Installation
go get github.com/wxccs/radius@v1.0.0See README for
usage examples.
Test plan
-
go test -race ./...— all packages green -
golangci-lint run— 0 issues -
go-licenses check— all deps MIT/BSD-3-Clause/ISC/Apache-2.0 - Coverage: 72.9% total (library code >90%)
- CI: https://github.com/wxccs/radius/actions/runs/28089244403