Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 }
Click to show internal directories.
Click to hide internal directories.