freeradius

package
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2024 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ChownR

func ChownR(path string, uid, gid int, logger *log.Entry) error

func GetDefaultConfigurationValue

func GetDefaultConfigurationValue(name string) (string, error)

Types

type Configuration

type Configuration struct {
	// Path to the FreeRadius binary
	Binary string `yaml:"binary"`
	// Launch Freeradius in debug mode (-X)
	BinaryDebug bool `yaml:"debug"`
	// Write Freeradius std{out,err} to this file
	BinaryLog string `yaml:"log_file"`
	// Make Freeradius listen on this interface
	Interface    string `yaml:"interface"`
	InterfaceNet string `yaml:"-"`
	InterfaceIP  string `yaml:"-"`
	// Make Freeradius listen on this port
	Port uint32 `yaml:"port" default:"1812"`
	// Base directory for configuration files
	RunDirectory string `yaml:"run_directory"`
	CleanOnStop  bool   `yaml:"clean_on_stop"`
	StayRoot     bool   `yaml:"stay_root"`
	// Freeradius secret
	Secret          string `yaml:"secret"`
	CA              string `yaml:"ca"`
	EnableAutoChain bool   `yaml:"enable_auto_chain"`
	NoBundle        bool   `yaml:"no_bundle"`
	Certificate     string `yaml:"certificate"`
	Key             string `yaml:"key"`
	ApiToken        string
	ApiHost         string
	ApiPort         uint32
	EnableAdmin     bool   `yaml:"enable_admin"`
	ClientNet       string `yaml:"client_net" validate:"isdefault|cidrv4"`
	// radiusd.conf tuning
	// MaxRequestTime The maximum time (in seconds) to handle a request (5 to 120).
	MaxRequestTime uint8 `yaml:"max_request_time" default:"30"`
	// CleanupDelayThe time to wait (in seconds) before cleaning up (2 to 10)
	CleanupDelay uint8 `yaml:"cleanup_delay" default:"5"`
	// MaxRequests: The maximum number of requests which the server keeps
	// track of.  This should be 256 multiplied by the number of clients.
	// (min 256)
	MaxRequests uint64 `yaml:"max_requests" default:"16384"`
	LogAuth     bool   `yaml:"log_auth"`
	// StartServers: Number of servers to start initially
	StartServers uint16 `yaml:"start_servers" default:"5"`
	// MaxServers: Limit on the total number of servers running.
	MaxServers uint16 `yaml:"max_servers" default:"32"`
	// Server-pool size regulation
	MinSpareServers uint16 `yaml:"min_spare_servers" default:"3"`
	MaxSpareServers uint16 `yaml:"max_spare_servers" default:"10"`
	MaxQueueSize    uint32 `yaml:"max_queue_size" default:"65536"`
}

Configuration holds the parameters needed to manage a dedicated Freeradius daemon

func (*Configuration) Check

func (c *Configuration) Check() error

type Freeradius

type Freeradius struct {
	// contains filtered or unexported fields
}

func New

func New(logger *log.Entry, config *Configuration) (*Freeradius, error)

func (*Freeradius) Configure

func (f *Freeradius) Configure() error

func (*Freeradius) Start

func (f *Freeradius) Start() error

func (*Freeradius) Stop

func (f *Freeradius) Stop() error

type TemplatesConfiguration

type TemplatesConfiguration struct {
	RadiusConfDir              string
	RadiusLibDir               string
	RadiusPrivateKey           string
	RadiusCertificateBundle    string
	RadiusCertificateAuthority string
	RadiusAutoChain            string
	RadiusDHParam              string
	RadiusSecret               string
	ApiServer                  string
	ApiToken                   string
	ApiAuthorizePath           string
	ApiDynamicPath             string
	FreeradiusChangeUser       bool
	FreeRadiusUser             string
	FreeRadiusGroup            string
	ListenAddress              string
	ListenPort                 uint32
	ClientNet                  string
	PrefixDirectory            string
	MaxRequestTime             uint8
	CleanupDelay               uint8
	MaxRequests                uint64
	LogAuth                    string
	StartServers               uint16
	MaxServers                 uint16
	MinSpareServers            uint16
	MaxSpareServers            uint16
	MaxQueueSize               uint32
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL