Chetan Gaonker | 7f4bf74 | 2016-05-04 15:56:08 -0700 | [diff] [blame^] | 1 | # |
| 2 | # This file contains the configuration for experimental modules. |
| 3 | # |
| 4 | # By default, it is NOT included in the build. |
| 5 | # |
| 6 | # $Id: 87d9744a4f0fa7b9b06b4908ddd6b7d2f1a7fd62 $ |
| 7 | # |
| 8 | |
| 9 | # Configuration for the Python module. |
| 10 | # |
| 11 | # Where radiusd is a Python module, radiusd.py, and the |
| 12 | # function 'authorize' is called. Here is a dummy piece |
| 13 | # of code: |
| 14 | # |
| 15 | # def authorize(params): |
| 16 | # print params |
| 17 | # return (5, ('Reply-Message', 'banned')) |
| 18 | # |
| 19 | # The RADIUS value-pairs are passed as a tuple of tuple |
| 20 | # pairs as the first argument, e.g. (('attribute1', |
| 21 | # 'value1'), ('attribute2', 'value2')) |
| 22 | # |
| 23 | # The function return is a tuple with the first element |
| 24 | # being the return value of the function. |
| 25 | # The 5 corresponds to RLM_MODULE_USERLOCK. I plan to |
| 26 | # write the return values as Python symbols to avoid |
| 27 | # confusion. |
| 28 | # |
| 29 | # The remaining tuple members are the string form of |
| 30 | # value-pairs which are passed on to pairmake(). |
| 31 | # |
| 32 | python { |
| 33 | mod_instantiate = radiusd_test |
| 34 | func_instantiate = instantiate |
| 35 | |
| 36 | mod_authorize = radiusd_test |
| 37 | func_authorize = authorize |
| 38 | |
| 39 | mod_accounting = radiusd_test |
| 40 | func_accounting = accounting |
| 41 | |
| 42 | mod_pre_proxy = radiusd_test |
| 43 | func_pre_proxy = pre_proxy |
| 44 | |
| 45 | mod_post_proxy = radiusd_test |
| 46 | func_post_proxy = post_proxy |
| 47 | |
| 48 | mod_post_auth = radiusd_test |
| 49 | func_post_auth = post_auth |
| 50 | |
| 51 | mod_recv_coa = radiusd_test |
| 52 | func_recv_coa = recv_coa |
| 53 | |
| 54 | mod_send_coa = radiusd_test |
| 55 | func_send_coa = send_coa |
| 56 | |
| 57 | mod_detach = radiusd_test |
| 58 | func_detach = detach |
| 59 | } |
| 60 | |
| 61 | |
| 62 | # Configuration for the example module. Uncommenting it will cause it |
| 63 | # to get loaded and initialised, but should have no real effect as long |
| 64 | # it is not referenced in one of the autz/auth/preacct/acct sections |
| 65 | example { |
| 66 | # Boolean variable. |
| 67 | # allowed values: {no, yes} |
| 68 | boolean = yes |
| 69 | |
| 70 | # An integer, of any value. |
| 71 | integer = 16 |
| 72 | |
| 73 | # A string. |
| 74 | string = "This is an example configuration string" |
| 75 | |
| 76 | # An IP address, either in dotted quad (1.2.3.4) or hostname |
| 77 | # (example.com) |
| 78 | ipaddr = 127.0.0.1 |
| 79 | |
| 80 | # A subsection |
| 81 | mysubsection { |
| 82 | anotherinteger = 1000 |
| 83 | # They nest |
| 84 | deeply nested { |
| 85 | string = "This is a different string" |
| 86 | } |
| 87 | } |
| 88 | } |
| 89 | |
| 90 | # |
| 91 | # To create a dbm users file, do: |
| 92 | # |
| 93 | # cat test.users | rlm_dbm_parser -f /etc/raddb/users_db |
| 94 | # |
| 95 | # Then add 'dbm' in 'authorize' section. |
| 96 | # |
| 97 | # Note that even if the file has a ".db" or ".dbm" extension, |
| 98 | # you may have to specify it here without that extension. This |
| 99 | # is because the DBM libraries "helpfully" add a ".db" to the |
| 100 | # filename, but don't check if it's already there. |
| 101 | # |
| 102 | dbm { |
| 103 | usersfile = ${confdir}/users_db |
| 104 | } |
| 105 | |
| 106 | # Instantiate a couple instances of the idn module |
| 107 | idn { |
| 108 | } |
| 109 | |
| 110 | # ...more commonly known as... |
| 111 | idn idna { |
| 112 | } |
| 113 | |
| 114 | idn idna_lenient { |
| 115 | UseSTD3ASCIIRules = no |
| 116 | } |