Skip to content

v1.0.0

Choose a tag to compare

@iceking2nd iceking2nd released this 24 Jun 09:38
0bbd14e

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, and Config.Timeout fallback.
  • Server with Handler interface, 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.0

See README for
usage examples.

Test plan