# Run in the foreground Foreground
# Log to stdout LogStdout
# Show everything up to and including INFO level Trace 3
LogTraceId flag parameter allows logging
                  messages related to an authentication exchange and to its subsequent
                  accounting session with a tracing identifier.
                  LogTraceId can be configured for global level and Log
                  clause level. LogTraceId enables prepending a tracing
                  ID to messages logged to STDOUT, when LogStdout is
                  enabled, and to log file configured with <Log
                     FILE> and <Log SYSLOG>. For more
                  information, see Section 3.7.2. LogStdout.# Prepend tracing id to log messages LogTraceId
/etc/services/ (or its equivalent on your system).
                  Multiple comma-separated ports may be specified. The default port is 1645.
                  Note that the officially assigned port number for RADIUS authentication
                  has been changed to 1812. AuthPort may contain special formatting
                  characters. A typical use of special formatting characters is with
                  GlobalVar and command line arguments.# Listen for authentication requests on port 1812 as per RFC # 2865 AuthPort 1812
# Do not bind to an auth port: AuthPort
AuthPort %{GlobalVar:authport}
                     radiusd authport=1810 ...
AuthPort 1645,1812
/etc/services (or equivalent on your system).
                  Multiple comma-separated ports may be specified. The default port is 1646.
                  Note that the officially assigned port number for RADIUS accounting has
                  been changed to 1813. AcctPort may contain special formatting characters.
                  A typical use of special formatting characters is with GlobalVar and
                  command line arguments.# Listen for accounting requests on port 1813 as # per RFC 2866 AcctPort 1813
# Do not bind to an accounting port: AcctPort
AcctPort 1646,1813
# Only listen on one network address BindAddress 203.63.154.1
BindAddress 200.10.5.4,200.10.7.3,::1
BindAddress 2001:db8:0100:f101:0210:a4ff:fee3:9566
IPV6_V6ONLY option for the sockets listening to IPv6
                  wildcard address.IPV6_V6ONLY.
                  When this option is turned off, IPv6 wildcard listen socket can receive
                  both IPv6 and IPv4 packets. Received IPv4 packets use special IPv4-mapped
                  address format where the IPv4 address is encoded after the 96-bit prefix
                  0:0:0:0:FFFF.Client clause as <Client
                     ::ffff:172.16.172.2>IPV6_V6ONLY
                  socket option is by default turned on by some operating systems and off by
                  some others.Socket.pm CPAN module is required for this
                  parameter./usr/local/etc/raddb on Unix and Windows.
                  For convenience, the DbDir directory name can be referred to as %D in any
                  file name path in this configuration file.# Look in /opt/etc/raddb for username database DbDir /opt/etc/raddb
/var/log/radius on Unix and Windows. For
                  convenience, the LogDir directory name can be referred to as %L in any
                  file name path in this configuration file.# Put log files in /opt/radius instead LogDir /opt/radius
%L/logfile, i.e. a file named
                  logfile in LogDir. For more
                  information, see Section 3.7.12. LogDir.# Log file goes in /var/log, with year number LogFile /var/log/%Y-radius.log
LogFile to be the empty
                  string:# Disable logging to log file completely LogFile
| then the rest of the filename is assumed to be a
                  program to which the output is to be piped. Otherwise the output is
                  appended to the named file.# Pipe to my-log-prog LogFile |/usr/local/bin/my-log-prog
LogFile is defined in your configuration file,
                     <Log FILE> is invisibly created to handle it.
                     For more information, see Section 3.25. <Log FILE>. You can customise the logging format,
                     and also log microseconds by using <Log FILE>
                     and its parameters instead of
                     LogFile.LogMicroseconds
                  requires Time::HiRes Perl module. If this module is not
                  installed, the microseconds part in the time stamp will be all zeroes
                  000000. Time::HiRes is
                  typically part of the Perl default installation or packaged separately on
                  some systems such as Red Hat derived systems where the RPM is called
                  perl-Time-HiResLogMicroseconds parameter in the respective Log
                     clause.radiusd will
                  write its process ID (PID) at start-up. Defaults to
                  %L/radiusd.pid on Unix and Windows. The file name can
                  include special path name characters as defined in Section 3.3. Special formatters. If the directory
                  containing the file does not exist, it will attempt to create the
                  directory first.PidFile is defined in
                  configuration with no value, no file is written.# So we do not conflict with another radiusd PidFile /tmp/radiusd2.pid
%D/dictionary, i.e. a file called “dictionary” in DbDir.
                  A dictionary file called “dictionary” that will work with most NASs and
                  Terminal Servers is included in the Radiator distribution.# Dictionary file is in the default installation directory DictionaryFile /opt/radiator/radiator/dictionary
# Need the old Ascend non-vendor-specific attributes too DictionaryFile /opt/radiator/radiator/dictionary, %D/dictionary.local
DiameterDictionaryFile can replace or override any of
                  the default entries hardwired into DiaDict.pm. Unlike
                  DictionaryFile, only one dictionary file name can be
                  specified. The Diameter dictionary is only used if you have a
                  ServerDIAMETER clause in your configuration file. The
                  file name can include special path name characters as defined in Section 3.3. Special formatters. The
                  default is to use only the hardwired dictionary in
                  DiaDict.pm.DiameterDictionaryFile %D/my_private_diameter_attrs.dat
# Check every 30 minutes for dictionary changes DictionaryReloadInterval 1800
radiusd
                  reads its license configuration parameters. There is no default. The file
                  name can include special path name characters as defined in Section 3.3. Special formatters. If the
                  file does not exist, or Radiator is fully licensed,
                  LicenseFile and its contents are
                  ignored.# Read custom parameters for this evaluation license LicenseFile %D/license.conf
/usr/bin/snmpget. . Do not use the snmpget from CMU: its
                     style of output is not understood by Radiator.
. Do not use the snmpget from CMU: its
                     style of output is not understood by Radiator.
                     SnmpgetProg /usr/local/bin/snmpget
/usr/bin/snmpwalk. . Do not
                     use the snmpwalk from CMU: its style of output is not understood by
                     Radiator.
. Do not
                     use the snmpwalk from CMU: its style of output is not understood by
                     Radiator.
                     SnmpwalkProg /usr/local/bin/snmpwalk
FingerProg /usr/local/bin/finger
/usr/local/sbin/pmwho.PmwhoProg /usr/local/bin/pmwho
# Make a long queue length SocketQueueLength 1000000
DefineFormattedGlobalVar variablename value
variablename
                  to be the string value. The value can be accessed where
                  special formatting characters are permitted with
                  %{GlobalVar:variablename}../detail-server1:DefineFormattedGlobalVar servername server1
LogFile ./detail-%{GlobalVar:servername}
            DefineFormattedGlobalVar,
                  except that special formatting characters in value are not
                  honoured.undef
                  during startup and 1 for a restart (usually due to a SIGHUP).# Set up a umask to use for the life of this process
StartupHook sub { umask(0222);}
            # Delete a lock file
ShutdownHook sub { unlink '/tmp/xyzzy.lck';}
            radiusd to
                  delay restart or termination for the configured time. When the configured
                  time has passed, restart or termination is done when there are no more
                  requests to serve from the sockets.radiusd to process any queued
                  requests before restart or termination. # When shutdown is triggered, wait for Radius clients to stop sending DelayedShutdownTime 5
radiusd is signalled to restart or terminate, and
                  DelayedShutdownTime has been set. This hook can, for
                  example, signal upstream proxies about the impending shutdown.DelayedShutdownHook is passed the following
                  argument:restart or termination# Tell NASes to stop sending traffic to us DelayedShutdownHook file:"%D/delayed-shutdown-hook.pl"
PreClientHook is called for each request before it
                  passed to a Client clause. A reference to the current
                  request is passed as the only argument.Service-Type and
                     NAS-IP-Address, have not yet been unpacked and decoded,
                     and encrypted attributes have not yet been decrypted. If you need
                     unpacked, decrypted versions of these attributes, consider using a
                     per-client ClientHook instead.PreClientHook can be an
                  arbitrarily complicated Perl function, that might run external processes,
                  consult databases, change the contents of the current request or many
                  other things. The current request has its {Client}
                  member set to a pointer to the Client clause handling
                  the request.# Fake a new attribute into the request
PreClientHook sub { ${$_[0]}->add_attr('test-attr', \
      'test-value');}
            goodies/handler-find-hook.cfg for a configuration
                  sample.UsernameCharset is available as
                  a global and Handler level parameter. The character set checks are done
                  for both User-Name attribute and EAP identity.UsernameCharset checks. When an
                  EAP-Response/Identity message is handled by an AuthBy, the EAP identity
                  must pass both global and per Handler UsernameCharset
                  checks. The Handler is the last Handler that processed the request before
                  it was passed to the AuthBy.UsernameCharset a-zA-Z0-9._@-
radiusd runs as, provided
                  radiusd starts as a suitably privileged user, such as
                  root. The value can be a valid Unix user name or an integer
                  UID.radiusd runs as, provided
                  radiusd starts as a suitably privileged user, such as
                  root. The value can be a comma-separated list of valid Unix group names or
                  integer GIDs. The first group is set as the effective group ID.# Log if request handling takes more than 0.1 seconds ResponseTimeThreshold 100
GlobalMessageLog
                  parameters, typically one for each protocol. The general format
                  is:GlobalMessageLog protocol, identifier[, extras
                     ...]protocol defines the protocol. The possible
                     values are:
                     radiusradsecdiametertacacsplusidentifier is the Identifier or the
                     MessageLog clause that does the logging.extras is currently unused.GlobalMessageLog:# Log all RADIUS and Diameter messages with separage MessageLog clauses GlobalMessageLog radius,messagelograd GlobalMessageLog diameter,messagelogdia
radsec.FarmSize is
                  configured, a shared duplicate cache is also strongly recommended. For
                  more information, see DupCache.LogFarmInstance flag parameter allows
                  logging server farm instance number of a worker.
                  LogFarmInstance can be configured for global level
                  and Log clause level. LogFarmInstance enables
                  prepending server farm instance number to the messages logged to STDOUT,
                  when LogStdout is enabled, and to log file configured
                  with <Log FILE> and <Log
                     SYSLOG>. For more information, see Section 3.7.2. LogStdout.FarmSize parameter is set. When
                        FarmSize is set, the farm supervisor logs with
                        instance number 0. When FarmSize is not set, instance
                        number is always 0.# Enable server farm and prepend farm instance number to log messages FarmSize 5 LogFarmInstance
local.goodies/farmsize.cfg.local: Local to each process. The duplicate cache
                     is not sharedshared: Shared between processes on the same
                     server. Requires Cache::FastMmap Perl module.global: Shared between processes using the Gossip
                     framework# See DupCacheFile for the shared file location DupCache shared
/tmp/radiator-dupcache-sharefile%0 or
                  C:\radiator-dupcache-sharefile%0 on Windows.# For example: /var/run/radiator/hashbalance-dupcache-38479-1473082581-9264 DupCacheFile /var/run/radiator/hashbalance-dupcache%0
EAP_UseState, currently set to off by
               default, enables or disables the use of State
               attribute with EAP for the whole server. 
               <AuthBy EAPBALANCE>, consider switching to
                  another AuthBy, such as <AuthBy HASHALANCE>, to
                  avoid adding a second State in the proxied
                  requests.EAP_UseState:# Use State attribute for identifying all EAP authentication conversations EAP_UseState
radiusd server instance, similar to Identifier for an
                  AuthBy, Handler, and any other clause. This allows hooks, logging, Gossip
                  framework, and other code to use a name that uniquely identifies a
                  radiusd instance. The global Instance parameter does
                  not have a value by default. Special formatting characters are
                  supported.# Set identifier based on the hostname and server farm instance number Identifier Radiator-%h-%O
PacketDumpOmitAttributes EAP-Message,User-Password
StatusServer to one of the
                  following values:offminimaluptimedefaultCVE-2014-0160 - the OpenSSL vulnerability
                     commonly called HeartbleedDigest::MD4 - MD4 is required by MSCHAP and
                     MSCHAP-v2 and their derivatives# Our OpenSSL is patched but still reports vulnerable version DisabledRuntimeChecks CVE-2014-0160
100.200000.