Versions in this module Expand all Collapse all v1 v1.0.0 Nov 16, 2021 Changes in this version + const MaxPacketLength + var DefaultClient = &Client + var ErrNoAttribute = errors.New("radius: attribute not found") + var ErrServerShutdown = errors.New("radius: server shutdown") + func AttributesEncodedLen(a Attributes) (int, error) + func Bytes(a Attribute) []byte + func Date(a Attribute) (time.Time, error) + func IFID(a Attribute) (net.HardwareAddr, error) + func IPAddr(a Attribute) (net.IP, error) + func IPv6Addr(a Attribute) (net.IP, error) + func IPv6Prefix(a Attribute) (*net.IPNet, error) + func Integer(a Attribute) (uint32, error) + func Integer64(a Attribute) (uint64, error) + func IsAuthenticRequest(request, secret []byte) bool + func IsAuthenticResponse(response, request, secret []byte) bool + func Short(a Attribute) (uint16, error) + func String(a Attribute) string + func TunnelPassword(a Attribute, secret, requestAuthenticator []byte) (password, salt []byte, err error) + func UserPassword(a Attribute, secret, requestAuthenticator []byte) ([]byte, error) + type AVP struct + type Attribute []byte + func NewBytes(b []byte) (Attribute, error) + func NewDate(t time.Time) (Attribute, error) + func NewIFID(addr net.HardwareAddr) (Attribute, error) + func NewIPAddr(a net.IP) (Attribute, error) + func NewIPv6Addr(a net.IP) (Attribute, error) + func NewIPv6Prefix(prefix *net.IPNet) (Attribute, error) + func NewInteger(i uint32) Attribute + func NewInteger64(i uint64) Attribute + func NewShort(i uint16) Attribute + func NewString(s string) (Attribute, error) + func NewTLV(tlvType byte, tlvValue Attribute) (Attribute, error) + func NewTunnelPassword(password, salt, secret, requestAuthenticator []byte) (Attribute, error) + func NewUserPassword(plaintext, secret, requestAuthenticator []byte) (Attribute, error) + func NewVendorSpecific(vendorID uint32, value Attribute) (Attribute, error) + func TLV(a Attribute) (tlvType byte, tlvValue Attribute, err error) + func VendorSpecific(a Attribute) (vendorID uint32, value Attribute, err error) + type Attributes []*AVP + func ParseAttributes(b []byte) (Attributes, error) + func (a *Attributes) Add(key Type, value Attribute) + func (a *Attributes) Del(key Type) + func (a *Attributes) Get(key Type) Attribute + func (a *Attributes) Lookup(key Type) (Attribute, bool) + func (a *Attributes) Set(key Type, value Attribute) + type Client struct + Dialer net.Dialer + InsecureSkipVerify bool + MaxPacketErrors int + Net string + Retry time.Duration + func (c *Client) Exchange(ctx context.Context, packet *Packet, addr string) (*Packet, error) + type Code int + const CodeAccessAccept + const CodeAccessChallenge + const CodeAccessReject + const CodeAccessRequest + const CodeAccountingRequest + const CodeAccountingResponse + const CodeCoAACK + const CodeCoANAK + const CodeCoARequest + const CodeDisconnectACK + const CodeDisconnectNAK + const CodeDisconnectRequest + const CodeReserved + const CodeStatusClient + const CodeStatusServer + func (c Code) String() string + type Handler interface + ServeRADIUS func(w ResponseWriter, r *Request) + type HandlerFunc func(w ResponseWriter, r *Request) + func (h HandlerFunc) ServeRADIUS(w ResponseWriter, r *Request) + type NonAuthenticResponseError struct + func (e *NonAuthenticResponseError) Error() string + type Packet struct + Authenticator [16]byte + Code Code + CryptoAuthenticator [16]byte + Identifier byte + Secret []byte + func Exchange(ctx context.Context, packet *Packet, addr string) (*Packet, error) + func New(code Code, secret []byte) *Packet + func Parse(b []byte, cryptoAuthenticator []byte, secret []byte) (*Packet, error) + func (p *Packet) Encode() ([]byte, error) + func (p *Packet) MarshalBinary() ([]byte, error) + func (p *Packet) Response(code Code) *Packet + type PacketServer struct + Addr string + ErrorLog *log.Logger + Handler Handler + InsecureSkipVerify bool + Network string + SecretSource SecretSource + func (s *PacketServer) ListenAndServe() error + func (s *PacketServer) Serve(conn net.PacketConn) error + func (s *PacketServer) Shutdown(ctx context.Context) error + type Request struct + LocalAddr net.Addr + RemoteAddr net.Addr + func (r *Request) Context() context.Context + func (r *Request) WithContext(ctx context.Context) *Request + type ResponseWriter interface + Write func(packet *Packet) error + type SecretSource interface + RADIUSSecret func(ctx context.Context, remoteAddr net.Addr) ([]byte, error) + func StaticSecretSource(secret []byte) SecretSource + type Type int + const TypeInvalid