New build path variable
[freeradius.git] / raddb / experimental.conf
index 0f4c96c..e2488af 100644 (file)
                mod_accounting = radiusd_test
                func_accounting = accounting
 
-               mod_preproxy = radiusd_test
-               func_preproxy = preproxy
+               mod_pre_proxy = radiusd_test
+               func_pre_proxy = pre_proxy
 
-               mod_postproxy = radiusd_test
-               func_postproxy = postproxy
+               mod_post_proxy = radiusd_test
+               func_post_proxy = post_proxy
 
-               mod_postauth = radiusd_test
-               func_postauth = postauth
+               mod_post_auth = radiusd_test
+               func_post_auth = post_auth
+
+               mod_recv_coa = radiusd_test
+               func_recv_coa = recv_coa
+
+               mod_send_coa = radiusd_test
+               func_send_coa = send_coa
 
                mod_detach = radiusd_test
                func_detach = detach
        }
 
        #
-       #  Persistent, embedded Perl interpreter.
-       #
-       perl {
-               #
-               #  The Perl script to execute on authorize, authenticate,
-               #  accounting, xlat, etc.  This is very similar to using
-               #  'rlm_exec' module, but it is persistent, and therefore
-               #  faster.
-               #
-               module = /path/to/your/perl_module.pm
-
-               #
-               #  The following hashes are given to the module and
-                #  filled with value-pairs (Attribute names and values)
-               #
-               #  %RAD_CHECK           Read-only       Check items
-               #  %RAD_REQUEST         Read-only       Attributes from the request
-               #  %RAD_REPLY           Read-write      Attributes for the reply
-               # 
-               #  The return codes from functions in the perl_script
-               #  are passed directly back to the server.  These
-               #  codes are defined in doc/configurable_failover,
-               #  src/include/modules.h (RLM_MODULE_REJECT, etc),
-               #  and are pre-defined in the 'example.pl' program
-               #  which is included.
-               #               
-
-               #
-               #  List of functions in the module to call.
-               #  Uncomment and change if you want to use function
-               #  names other than the defaults.
-               #
-               #func_authenticate = authenticate
-               #func_authorize = authorize
-               #func_preacct = preacct
-               #func_accounting = accounting
-               #func_checksimul = checksimul
-               #func_pre_proxy = pre_proxy
-               #func_post_proxy = post_proxy
-               #func_post_auth = post_auth
-               #func_xlat = xlat
-               #func_detach = detach
-
-               #
-               #  Uncomment the following lines if you wish
-               #  to use separate functions for Start and Stop
-               #  accounting packets. In that case, the 
-               #  func_accounting function is not called.
-               #
-               #func_start_accounting = accounting_start
-               #func_stop_accounting = accounting_stop
-               
-               #  Uncomment the following lines if your perl is 
-               #  compiled with threads support.
-               #  The settings below are the defaults.
-               #
-               #max_clones = 32
-               #start_clones = 32
-               #min_spare_clones = 0
-               #max_spare_clones = 32
-               #cleanup_delay = 5
-               #max_request_per_clone = 0
-
-       }
-
-       #
        #  Perform NT-Domain authentication.  This only works
        #  with PAP authentication.  That is, Authentication-Request
        #  packets containing a User-Password attribute.
        # cache-rejects: Do we also cache rejects, or not? (default 'yes')
        #
        caching {
-               filename = ${confdir}/db.cache
+               filename = ${db_dir}/db.cache
                cache-ttl = 1d
                hit-ratio = 1000
                key = "%{Acct-Unique-Session-Id}"
                acctlog_on = "NAS %C (%{NAS-IP-Address}) just came online"
                acctlog_off = "NAS %C (%{NAS-IP-Address}) just went offline"
        }
+
+       # Another implementation of the EAP module.
+       #
+       #  This module requires the libeap.so file from the hostap
+       #  software (http://hostap.epitest.fi/hostapd/).  It has been
+       #  tested on the development version of hostapd (0.6.1) ONLY.
+       #
+       #  In order to use it, you MUST build a "libeap.so" in hostapd,
+       #  which is not done by default.
+       #
+       #  You MUST also edit the file: src/modules/rlm_eap2/Makefile
+       #  to point to the location of the hostap include files.
+       #
+       #  This module CANNOT be used in the same way as the current
+       #  FreeRADIUS "eap" module.  There is NO way to look inside of
+       #  a tunneled request.  There is NO way to proxy a tunneled
+       #  request.  There is NO way to even look at the user name inside
+       #  of the tunneled request.  There is NO way to control the
+       #  choice of EAP types inside of the tunnel.  You MUST force
+       #  the server to choose "eap2" for authentication, because this
+       #  module has no "authorize" section.
+       #
+       #  If you want to use this module for experimentation, please
+       #  post your comments to the freeradius-devel list:
+       #
+       #    http://lists.freeradius.org/mailman/listinfo/freeradius-devel
+       #
+       #  If you want to use this module in a production (i.e. real-world)
+       #  environment:
+       #
+       #       !!! DO NOT USE IT IN A PRODUCTION ENVIRONMENT !!!
+       #
+       #  The module needs additional work to make it ready for
+       #  production use..  Please supply patches, or sponsor the
+       #  work by hiring a developer.  Do NOT ask when the work will
+       #  be done, because there is no plan to finish this module
+       #  unless there is demand for it.
+       #
+       eap2 {
+               #  EAP types are chosen in the order that they are
+               #  listed in this section.  There is no "default_eap_type"
+               #  as with rlm_eap.  Instead, the *first* EAP type is
+               #  used as the default type.
+               #
+               peap {
+               }
+
+               ttls {
+               }
+
+               #  This is the ONLY EAP type that has any configuration.
+               #  All other EAP types have no configuration.
+               #
+               tls {
+                       ca_cert = ${confdir}/certs/ca.pem
+                       server_cert = ${confdir}/certs/server.pem
+                       private_key_file = ${confdir}/certs/server.pem
+                       private_key_password = whatever
+               }
+
+               #
+               #  These next two methods do not supply keying material.
+               #
+               md5 {
+               }
+
+               mschapv2 {
+               }
+
+               #  LEAP is NOT supported by this module.
+               #  Use the "eap" module instead.
+
+               #  For other methods that MIGHT work, see the
+               #  configuration of hostap.  The methods are statically
+               #  linked in at compile time, and cannot be controlled
+               #  here.
+       }
+
+       #  Configuration for experimental EAP types.  The sub-sections
+       #  can be copied into eap.conf.
+       eap {
+               ikev2 {
+
+               # Server auth type 
+               # Allowed values are:
+               #  cert   - for certificate based server authentication,
+               #           other required settings for this type are
+               #           'private_key_file' and 'certificate_file'
+               #  secret - for shared secret based server authentication, 
+               #           other required settings for this type is 'id'
+               # Default value of this option is 'secret'
+       #     server_authtype=cert
+
+               # Allowed default client auth types
+               # Allowed values are:
+               #   secret - for shared secret based client     authentication
+               #   cert   - for certificate based client authentication
+               #   both   - shared secret and certificate is allowed
+               #   none   - authentication will always fail
+               # Default value for this option is 'both'. This option could
+               #  be overwritten within 'usersfile' file by EAP-IKEv2-Auth
+               #  option. 
+       #   default_authtype = both
+
+               # path to trusted CA certificate file
+               CA_file="/path/to/CA/cacert.pem"
+
+               # path to CRL file, if not set, then there will be no
+               #  checks against CRL
+       #   crl_file="/path/to/crl.pem"
+
+               # path to file with user settings 
+               #
+               #  Note that this file is read ONLY on module initialization!
+               #
+               # default ${confdir}/eap_ikev2_users
+       #   usersfile=${confdir}/eap_ikev2_users
+
+#
+#  Sample "eap_ikev2_users" file entry:
+#
+#username  EAP-IKEv2-IDType := KEY_ID,  EAP-IKEv2-Secret := "tajne"
+
+## where:
+## username           - client user name from IKE-AUTH (IDr)  or CommonName
+##                      from x509 certificate
+## EAP-IKEv2-IDType   - ID Type - same as in expected IDType payload
+##                     allowable attributes for EAP-IKEv2-IDType:
+##                     IPV4_ADDR FQDN RFC822_ADDR IPV6_ADDR DER_ASN1_DN
+##                     DER_ASN1_GN KEY_ID
+## EAP-IKEv2-Secret   - shared secret
+## EAP-IKEv2-AuthType - optional parameter which defines expected client auth
+##                      type. Allowed values are: secret,cert,both,none.
+##                     For the meaning of this values, please see the
+##                      description of 'default_authtype'.
+##                      This attribute can overwrite 'default_authtype' value.
+
+
+
+               # path to  file with server private key
+               private_key_file="/path/to/srv-private-key.pem"
+
+               # password to private key file
+               private_key_password="passwd"
+
+               # path to file with server certificate
+               certificate_file="/path/to/srv-cert.pem"
+
+               # server identity string
+               id="deMaio"
+
+               # Server identity type. Allowed values are:
+               # IPV4_ADDR, FQDN, RFC822_ADDR, IPV6_ADDR, ASN1_DN, ASN1_GN,
+               #  KEY_ID
+               # Default value is:     KEY_ID
+       #   id_type = KEY_ID
+
+
+               # MTU (default: 1398)
+       #   fragment_size = 1398
+    
+               # maximal allowed number of resends SA_INIT after receiving
+               # 'invalid KEY' notification (default 3)
+       #   DH_counter_max = 3
+
+               # option which is used to control whenever send CERT REQ
+               #  payload or not.
+               # Allowed values for this option are "yes" or "no".
+               #Default value is "no".
+       #   certreq = "yes"
+
+               # option which cotrols fast reconnect capability.
+               # Allowed valuse for this option are "yes" or "no".
+               # Default value is "yes".
+       #   enable_fast_reauth = "no"
+    
+               # option which is used to control performing of DH exchange
+               #  during fast rekeying protocol run.
+               # Allowed values for this option are "yes" or "no".
+               # Default value is "no"
+       #   fast_DH_exchange = "yes"
+
+               # Option which is used to set up expiration time of inactive
+               #  IKEv2 session.
+               # After selected period of time (in seconds), inactive
+               # session data will be deleted.
+               # Default value of this option is set to 900 seconds
+       #   fast_timer_expire = 900
+
+               # list of server proposals of available cryptographic
+               # suites
+               proposals {
+                       # proposal number #1 
+                       proposal {
+
+                               # Supported transforms types: encryption,
+                               # prf, integrity, dhgroup. For multiple
+                               # transforms just simple repeat key (i.e.
+                               # integity).
+
+                               # encryption algorithm
+                               # supported algorithms:
+                               # null,3des,aes_128_cbc,aes_192_cbc,
+                               # aes_256_cbc,idea
+                               # blowfish:n, where n range from 8 to 448 bits,
+                               #  step 8 bits
+                               # cast:n, where n range from 40 to 128 bits,
+                               #  step 8 bits 
+                               encryption = 3des
+
+                               # pseudo random function. Supported prf's:
+                               # hmac_md5, hmac_sha1, hmac_tiger
+                               prf = hmac_sha1
+
+                               # integrity algorithm. Supported algorithms:
+                               # hmac_md5_96, hmac_sha1_96,des_mac
+                               integrity = hmac_sha1_96
+                               integrity = hmac_md5_96
+
+                               # Diffie-Hellman groups:
+                               # modp768, modp1024, modp1536, modp2048, 
+                               # modp3072, modp4096, modp6144, modp8192
+                               dhgroup = modp2048 
+                       }
+               
+                       # proposal number #2 
+                       proposal {
+                               encryption = 3des
+                               prf = hmac_md5
+                               integrity = hmac_md5_96
+                               dhgroup = modp1024
+                       }       
+
+                       # proposal number #3 
+                       proposal {
+                               encryption=3des
+                               prf=hmac_md5
+                               integrity=hmac_md5_96
+                               dhgroup=modp2048
+                       } 
+               }
+               }
+
+               fast { 
+                       pac_opaque_encr_key = 000102030405060708090a0b0c0d0e0f 
+                       eap_fast_a_id = xxxxxx 
+                       eap_fast_a_id_info = my_server 
+               } 
+       }