├── test ├── test_helper.exs ├── radius_util_test.exs └── dict │ └── parser_test.exs ├── .formatter.exs ├── .gitignore ├── dicts ├── README.md ├── dictionary.rfc4849 ├── dictionary.rfc4372 ├── dictionary.rfc4072 ├── dictionary.rfc5176 ├── dictionary.merit ├── dictionary.colubris ├── dictionary.wichorus ├── dictionary.cisco.bbsm ├── dictionary.telebit ├── dictionary.navini ├── dictionary.rfc4818 ├── dictionary.rfc3162 ├── dictionary.ukerna ├── dictionary.unix ├── dictionary.aruba ├── dictionary.clavister ├── dictionary.propel ├── dictionary.iea ├── dictionary.networkphysics ├── dictionary.bristol ├── dictionary.rfc3580 ├── dictionary.jradius ├── dictionary.garderos ├── dictionary.quiconnect ├── dictionary.packeteer ├── dictionary.slipstream ├── dictionary.rfc2867 ├── dictionary.gemtek ├── dictionary.nexans ├── dictionary.h3c ├── dictionary.shasta ├── dictionary.audiocodes ├── dictionary.airespace ├── dictionary.apc ├── dictionary.columbia_university ├── dictionary.cisco.vpn5000 ├── dictionary.redcreek ├── dictionary.juniper ├── dictionary.lancom ├── dictionary.rfc4603 ├── dictionary.rfc5904 ├── dictionary.cosine ├── dictionary.valemount ├── dictionary.zyxel ├── dictionary.manzara ├── dictionary.fortinet ├── dictionary.roaringpenguin ├── dictionary.siemens ├── dictionary.trapeze ├── dictionary.rfc4675 ├── dictionary.xedia ├── dictionary.ipunplugged ├── dictionary.nomadix ├── dictionary.cabletron ├── dictionary.eltex ├── dictionary.telkom ├── dictionary.extreme ├── dictionary.avaya ├── dictionary.rfc5607 ├── dictionary.walabi ├── dictionary.alteon ├── dictionary.rfc5090 ├── dictionary.netscreen ├── dictionary.motorola.illegal ├── dictionary.rfc3576 ├── dictionary.wispr ├── dictionary.nokia.conflict ├── dictionary.springtide ├── dictionary.localweb ├── dictionary.sofaware ├── dictionary.riverstone ├── dictionary.rfc5580 ├── dictionary.digium ├── dictionary.rfc2869 ├── dictionary.t_systems_nova ├── dictionary.issanni ├── dictionary.usr.illegal ├── dictionary.xylan ├── dictionary.prosoft ├── dictionary.nokia ├── dictionary.symbol ├── dictionary.ntua ├── dictionary.mikrotik ├── dictionary.openser ├── dictionary.compat ├── dictionary.itk ├── dictionary.chillispot ├── dictionary.3com ├── dictionary.motorola.wimax ├── dictionary.quintum ├── dictionary.infonet ├── dictionary.azaire ├── dictionary.bintec ├── dictionary.utstarcom ├── dictionary.rfc2868 ├── dictionary.foundry ├── dictionary.waverider ├── dictionary.rfc2866 ├── dictionary.3gpp ├── dictionary.rfc4679 ├── dictionary.tropos ├── dictionary.versanet ├── dictionary.alcatel.sr ├── dictionary.livingston ├── dictionary.nortel ├── dictionary.hp ├── dictionary.motorola ├── dictionary.sonicwall ├── COPYRIGHT ├── dictionary.asn ├── dictionary.vqp ├── dictionary.alcatel ├── dictionary.gandalf ├── dictionary.shiva ├── dictionary.rfc2865 ├── dictionary.epygi ├── dictionary.freeswitch ├── dictionary.3gpp2 ├── dictionary.freeradius ├── dictionary.microsoft ├── dictionary.huawei └── dictionary.cisco ├── lib ├── radius │ ├── dict │ │ ├── entry_not_found.ex │ │ ├── helpers.ex │ │ └── parser.ex.exs │ ├── util.ex │ └── dict.ex └── radius.ex ├── .github └── workflows │ └── elixir.yml ├── LICENSE ├── README.md ├── mix.exs └── example.exs /test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | -------------------------------------------------------------------------------- /.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 2 | inputs: ["*.{ex,exs}", "{lib,priv,test}/**/*.{ex,exs}"] 3 | ] 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /_build 2 | /deps 3 | /rel 4 | doc 5 | mix.lock 6 | erl_crash.dump 7 | *.ez 8 | .DS_Store 9 | docs 10 | -------------------------------------------------------------------------------- /dicts/README.md: -------------------------------------------------------------------------------- 1 | - Files in this dir was taken from freeradius project, which is licenced as GPLv2, refer COPYRIGHT and LICENSE file for further information. 2 | - WiMax VSAs are deleted 3 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc4849: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 4849. 4 | # http://www.ietf.org/rfc/rfc4849.txt 5 | # 6 | # $Id$ 7 | # 8 | ATTRIBUTE NAS-Filter-Rule 92 string 9 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc4372: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 4372. 4 | # http://www.ietf.org/rfc/4372.txt 5 | # 6 | # $Id$ 7 | # 8 | ATTRIBUTE Chargeable-User-Identity 89 string 9 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc4072: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 4072 4 | # http://www.ietf.org/rfc/4072.txt 5 | # 6 | # $Id$ 7 | # 8 | 9 | ATTRIBUTE EAP-Key-Name 102 string 10 | -------------------------------------------------------------------------------- /lib/radius/dict/entry_not_found.ex: -------------------------------------------------------------------------------- 1 | defmodule Radius.Dict.EntryNotFoundError do 2 | defexception [:type, :key] 3 | 4 | def message(e) do 5 | "Entry #{e.type} not found for key: #{inspect(e.key)}" 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc5176: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 5176. 4 | # http://www.ietf.org/rfc/rfc5176.txt 5 | # 6 | # $Id$ 7 | # 8 | VALUE Error-Cause Invalid-Attribute-Value 407 9 | VALUE Error-Cause Multiple-Session-Selection-Unsupported 508 10 | -------------------------------------------------------------------------------- /dicts/dictionary.merit: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # For Merit. 4 | # 5 | # $Id$ 6 | # 7 | VENDOR Merit 61 8 | 9 | BEGIN-VENDOR Merit 10 | 11 | ATTRIBUTE Merit-Proxy-Action 211 string 12 | ATTRIBUTE Merit-User-Id 222 string 13 | ATTRIBUTE Merit-User-Realm 223 string 14 | 15 | END-VENDOR Merit 16 | -------------------------------------------------------------------------------- /dicts/dictionary.colubris: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # Colubris dictionary - dictionary.colubris 3 | # 4 | VENDOR Colubris 8744 5 | # 6 | # Vendor-specific attributes 7 | # 8 | BEGIN-VENDOR Colubris 9 | 10 | ATTRIBUTE Colubris-AVPair 0 string 11 | ATTRIBUTE Colubris-Intercept 1 integer 12 | 13 | END-VENDOR Colubris 14 | -------------------------------------------------------------------------------- /dicts/dictionary.wichorus: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Dictionary for WiChorus Inc. VSA's. 4 | # http://www.wichorus.com/ 5 | # 6 | # Version: $Id$ 7 | # 8 | 9 | VENDOR Wichorus 27030 10 | 11 | BEGIN-VENDOR Wichorus 12 | 13 | ATTRIBUTE Wichorus-Policy-Name 1 string 14 | ATTRIBUTE Wichorus-User-Privilege 2 string 15 | 16 | END-VENDOR Wichorus 17 | -------------------------------------------------------------------------------- /dicts/dictionary.cisco.bbsm: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Cisco Building Broadband Service Manager Dictionary 4 | # 5 | # http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/csacs4nt/csnt30/user/ad.htm 6 | # 7 | # $Id$ 8 | # 9 | VENDOR Cisco-BBSM 5263 10 | 11 | BEGIN-VENDOR Cisco-BBSM 12 | ATTRIBUTE CBBSM-Bandwidth 1 integer 13 | END-VENDOR Cisco-BBSM 14 | -------------------------------------------------------------------------------- /dicts/dictionary.telebit: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Telebit dictionary 4 | # $Id$ 5 | # 6 | VENDOR Telebit 117 7 | 8 | BEGIN-VENDOR Telebit 9 | 10 | ATTRIBUTE Telebit-Login-Command 1 string 11 | ATTRIBUTE Telebit-Port-Name 2 string 12 | ATTRIBUTE Telebit-Activate-Command 3 string 13 | ATTRIBUTE Telebit-Accounting-Info 4 string 14 | 15 | END-VENDOR Telebit 16 | -------------------------------------------------------------------------------- /dicts/dictionary.navini: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.navini 4 | # 5 | # By 6 | # "Paul Shields" 7 | # 8 | # Version: $Id$ 9 | # 10 | 11 | VENDOR Navini 6504 12 | 13 | # 14 | # Standard attribute 15 | # 16 | BEGIN-VENDOR Navini 17 | 18 | ATTRIBUTE Navini-AVPair 1 string 19 | 20 | END-VENDOR Navini 21 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc4818: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Attributes and values defined in RFC 4818. 5 | # http://www.ietf.org/rfc/rfc4818.txt 6 | # 7 | # $Id$ 8 | # 9 | ############################################################################## 10 | 11 | ATTRIBUTE Delegated-IPv6-Prefix 123 ipv6prefix 12 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc3162: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 3162. 4 | # http://www.ietf.org/rfc/rfc3162.txt 5 | # 6 | # $Id$ 7 | # 8 | ATTRIBUTE NAS-IPv6-Address 95 ipv6addr 9 | ATTRIBUTE Framed-Interface-Id 96 ifid 10 | ATTRIBUTE Framed-IPv6-Prefix 97 ipv6prefix 11 | ATTRIBUTE Login-IPv6-Host 98 ipv6addr 12 | ATTRIBUTE Framed-IPv6-Route 99 string 13 | ATTRIBUTE Framed-IPv6-Pool 100 string 14 | -------------------------------------------------------------------------------- /dicts/dictionary.ukerna: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # GSS-EAP VSAs 4 | # 5 | # $Id$ 6 | # 7 | 8 | VENDOR UKERNA 25622 9 | 10 | BEGIN-VENDOR UKERNA 11 | 12 | ATTRIBUTE GSS-Acceptor-Service-Name 128 string 13 | ATTRIBUTE GSS-Acceptor-Host-Name 129 string 14 | ATTRIBUTE GSS-Acceptor-Service-Specific 130 string 15 | ATTRIBUTE GSS-Acceptor-Realm-Name 131 string 16 | ATTRIBUTE SAML-AAA-Assertion 132 string 17 | 18 | END-VENDOR UKERNA 19 | -------------------------------------------------------------------------------- /dicts/dictionary.unix: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Allegedly for ProFTPd. 4 | # 5 | # $Id$ 6 | # 7 | 8 | VENDOR Unix 4 9 | 10 | BEGIN-VENDOR Unix 11 | 12 | ATTRIBUTE Unix-FTP-UID 10 integer 13 | ATTRIBUTE Unix-FTP-GID 11 integer 14 | ATTRIBUTE Unix-FTP-Home 12 string 15 | ATTRIBUTE Unix-FTP-Shell 13 string 16 | ATTRIBUTE Unix-FTP-Group-Names 14 string 17 | ATTRIBUTE Unix-FTP-Group-Ids 15 string 18 | 19 | END-VENDOR Unix 20 | -------------------------------------------------------------------------------- /dicts/dictionary.aruba: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # As posted to the list. 4 | # 5 | # Version: $Id$ 6 | # 7 | VENDOR Aruba 14823 8 | BEGIN-VENDOR Aruba 9 | 10 | ATTRIBUTE Aruba-User-Role 1 string 11 | ATTRIBUTE Aruba-User-Vlan 2 integer 12 | ATTRIBUTE Aruba-Priv-Admin-User 3 integer 13 | ATTRIBUTE Aruba-Admin-Role 4 string 14 | ATTRIBUTE Aruba-Essid-Name 5 string 15 | ATTRIBUTE Aruba-Location-Id 6 string 16 | 17 | END-VENDOR Aruba 18 | -------------------------------------------------------------------------------- /dicts/dictionary.clavister: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Clavister VSAs 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Clavister 5089 11 | 12 | # 13 | # User group attribute 14 | # 15 | BEGIN-VENDOR Clavister 16 | 17 | ATTRIBUTE Clavister-User-Group 1 string 18 | 19 | END-VENDOR Clavister 20 | -------------------------------------------------------------------------------- /dicts/dictionary.propel: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Found on the net. 4 | # 5 | # $Id$ 6 | # 7 | 8 | VENDOR Propel 14895 9 | 10 | BEGIN-VENDOR Propel 11 | ATTRIBUTE Propel-Accelerate 1 integer 12 | ATTRIBUTE Propel-Dialed-Digits 2 string 13 | ATTRIBUTE Propel-Client-IP-Address 3 ipaddr 14 | ATTRIBUTE Propel-Client-NAS-IP-Address 4 ipaddr 15 | ATTRIBUTE Propel-Client-Source-ID 5 integer 16 | ATTRIBUTE Propel-Content-Filter-ID 6 integer 17 | END-VENDOR Propel 18 | -------------------------------------------------------------------------------- /dicts/dictionary.iea: -------------------------------------------------------------------------------- 1 | # IEA Software, Inc. 2 | # RADIUS VSA Dictionary 3 | # http://www.iea-software.com 4 | 5 | VENDOR IEA-Software 24023 6 | BEGIN-VENDOR IEA-Software 7 | 8 | # AirMarshal Attributes [1-30] 9 | ATTRIBUTE AM-Interrupt-HTMLFile 1 string 10 | ATTRIBUTE AM-Interrupt-Interval 2 integer 11 | ATTRIBUTE AM-Interrupt-Timeout 3 integer 12 | ATTRIBUTE AM-Status-HTMLFile 4 string 13 | ATTRIBUTE AM-HTTP-Proxy-Port 5 integer 14 | 15 | END-VENDOR IEA-Software 16 | -------------------------------------------------------------------------------- /dicts/dictionary.networkphysics: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # NetworkPhysics dictionary 4 | # $Id$ 5 | # 6 | VENDOR NetworkPhysics 7119 7 | 8 | BEGIN-VENDOR NetworkPhysics 9 | 10 | ATTRIBUTE NetSensory-Privilege 33 string 11 | 12 | #VALUE NetSensory-Privilege InsightsOnly 'insight' 13 | #VALUE NetSensory-Privilege Restricted 'npread' 14 | #VALUE NetSensory-Privilege Standard 'npuser' 15 | #VALUE NetSensory-Privilege Administrative 'npadmin' 16 | 17 | END-VENDOR NetworkPhysics 18 | -------------------------------------------------------------------------------- /dicts/dictionary.bristol: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.bristol 4 | # 5 | # RoamNode VSA's 6 | # 7 | # Version: $Id$ 8 | # 9 | 10 | VENDOR Bristol 4363 11 | 12 | # 13 | # Standard attribute 14 | # 15 | BEGIN-VENDOR Bristol 16 | 17 | ATTRIBUTE NN-Data-Rate 1 integer 18 | ATTRIBUTE NN-Data-Rate-Ceiling 2 integer 19 | ATTRIBUTE NN-Homenode 3 ipaddr 20 | ATTRIBUTE NN-Homeservice 4 ipaddr 21 | ATTRIBUTE NN-Homeservice-Name 5 string 22 | 23 | END-VENDOR Bristol 24 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc3580: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 3580. 4 | # http://www.ietf.org/rfc/rfc3580.txt 5 | # 6 | # $Id$ 7 | # 8 | VALUE Acct-Terminate-Cause Supplicant-Restart 19 9 | VALUE Acct-Terminate-Cause Reauthentication-Failure 20 10 | VALUE Acct-Terminate-Cause Port-Reinit 21 11 | VALUE Acct-Terminate-Cause Port-Disabled 22 12 | 13 | VALUE NAS-Port-Type Token-Ring 20 14 | VALUE NAS-Port-Type FDDI 21 15 | 16 | VALUE Tunnel-Type VLAN 13 17 | -------------------------------------------------------------------------------- /dicts/dictionary.jradius: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # jradius VSAs. See http://jradius.org 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR JRadius 19211 11 | 12 | BEGIN-VENDOR JRadius 13 | 14 | ATTRIBUTE JRadius-Request-Id 1 string 15 | ATTRIBUTE JRadius-Session-Id 2 string 16 | ATTRIBUTE JRadius-Proxy-Client 3 octets 17 | 18 | END-VENDOR JRadius 19 | -------------------------------------------------------------------------------- /dicts/dictionary.garderos: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.garderos 4 | # 5 | # Version: $Id$ 6 | # 7 | # For documentation on Garderos attributes, see: 8 | # 9 | # http://www.garderos.com 10 | 11 | VENDOR Garderos 16108 12 | 13 | # 14 | # Standard attribute 15 | # 16 | BEGIN-VENDOR Garderos 17 | 18 | ATTRIBUTE Garderos-Location-Name 1 string 19 | ATTRIBUTE Garderos-Service-Name 2 string 20 | ATTRIBUTE Garderos-MSISDN 3 string 21 | ATTRIBUTE Garderos-Proxy 4 string 22 | 23 | END-VENDOR Garderos 24 | -------------------------------------------------------------------------------- /dicts/dictionary.quiconnect: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Quiconnect VSA's. 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Quiconnect 14436 11 | 12 | BEGIN-VENDOR Quiconnect 13 | 14 | ATTRIBUTE Quiconnect-AVPair 1 string 15 | ATTRIBUTE Quiconnect-VNP-Information 2 string 16 | ATTRIBUTE Quiconnect-HSP-Information 3 string 17 | 18 | END-VENDOR Quiconnect 19 | -------------------------------------------------------------------------------- /dicts/dictionary.packeteer: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Packeteer VSAs, who followed the Cisco way of putting everything 5 | # into one text string. 6 | # 7 | # $Id$ 8 | # 9 | ############################################################################## 10 | 11 | VENDOR Packeteer 2334 12 | 13 | # 14 | # Standard attribute 15 | # 16 | BEGIN-VENDOR Packeteer 17 | 18 | ATTRIBUTE Packeteer-AVPair 1 string 19 | 20 | END-VENDOR Packeteer 21 | -------------------------------------------------------------------------------- /dicts/dictionary.slipstream: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # For Slipstream dialup accelerator servers 5 | # Created based on 6 | # slipstream_sp_6.0_installation_and_configuration_guide.pdf 7 | # 8 | # $Id$ 9 | # 10 | ############################################################################## 11 | 12 | VENDOR Slipstream 7000 13 | 14 | BEGIN-VENDOR Slipstream 15 | 16 | ATTRIBUTE Slipstream-Auth 1 string 17 | 18 | END-VENDOR Slipstream 19 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc2867: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 2867. 4 | # http://www.ietf.org/rfc/rfc2867.txt 5 | # 6 | # $Id$ 7 | # 8 | ATTRIBUTE Acct-Tunnel-Connection 68 string 9 | ATTRIBUTE Acct-Tunnel-Packets-Lost 86 integer 10 | 11 | VALUE Acct-Status-Type Tunnel-Start 9 12 | VALUE Acct-Status-Type Tunnel-Stop 10 13 | VALUE Acct-Status-Type Tunnel-Reject 11 14 | VALUE Acct-Status-Type Tunnel-Link-Start 12 15 | VALUE Acct-Status-Type Tunnel-Link-Stop 13 16 | VALUE Acct-Status-Type Tunnel-Link-Reject 14 17 | -------------------------------------------------------------------------------- /dicts/dictionary.gemtek: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Gemtek Systems VSA's 4 | # Version: dictionary.gemtek, v1.2 2004/07/13 5 | 6 | VENDOR Gemtek 10529 7 | 8 | BEGIN-VENDOR Gemtek 9 | 10 | # Attributes for volume accounting limit. 11 | 12 | ATTRIBUTE Acct-Session-Input-Octets 21 integer 13 | ATTRIBUTE Acct-Session-Input-Gigawords 22 integer 14 | ATTRIBUTE Acct-Session-Output-Octets 23 integer 15 | ATTRIBUTE Acct-Session-Output-Gigawords 24 integer 16 | ATTRIBUTE Acct-Session-Octets 25 integer 17 | ATTRIBUTE Acct-Session-Gigawords 26 integer 18 | 19 | END-VENDOR Gemtek 20 | -------------------------------------------------------------------------------- /dicts/dictionary.nexans: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # Nexans Active Networking Systems dictionary http://www.nexans.de/ans 4 | # 5 | # Version: $Id$ 6 | # 7 | # Hubert Theissen 8 | # 9 | ############################################################################## 10 | 11 | VENDOR Nexans 266 12 | 13 | BEGIN-VENDOR Nexans 14 | 15 | ATTRIBUTE Nexans-Port-Default-VLAN-ID 1 integer 16 | ATTRIBUTE Nexans-Port-Voice-VLAN-ID 2 integer 17 | 18 | END-VENDOR Nexans 19 | -------------------------------------------------------------------------------- /dicts/dictionary.h3c: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Dictionary for Huawei-3Com. See also dictionary.huawei 5 | # 6 | # http://www.h3c.com 7 | # 8 | # $Id$ 9 | # 10 | ############################################################################## 11 | 12 | VENDOR H3C 25506 13 | 14 | BEGIN-VENDOR H3C 15 | 16 | ATTRIBUTE H3C-Connect_Id 26 integer 17 | ATTRIBUTE H3C-NAS-Startup-Timestamp 59 integer 18 | ATTRIBUTE H3C-Ip-Host-Addr 60 string 19 | ATTRIBUTE H3C-Product-ID 255 string 20 | 21 | END-VENDOR H3C -------------------------------------------------------------------------------- /dicts/dictionary.shasta: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.shasta 4 | # 5 | # Nortel Shasta VSAs 6 | # Andre Gustavo de C. Albuquerque 7 | # 8 | 9 | VENDOR Shasta 3199 10 | 11 | # 12 | # Standard attribute 13 | # 14 | BEGIN-VENDOR Shasta 15 | 16 | ATTRIBUTE Shasta-User-Privilege 1 integer 17 | ATTRIBUTE Shasta-Service-Profile 2 string 18 | ATTRIBUTE Shasta-VPN-Name 3 string 19 | 20 | VALUE Shasta-User-Privilege User 1 21 | VALUE Shasta-User-Privilege Super-User 2 22 | VALUE Shasta-User-Privilege SSuper-User 3 23 | 24 | END-VENDOR Shasta 25 | -------------------------------------------------------------------------------- /dicts/dictionary.audiocodes: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Audiocodes 5 | # 6 | # http://www.audiocodes.com/filehandler.ashx?fileid=36358 7 | # 8 | # $Id$ 9 | # 10 | ############################################################################## 11 | 12 | VENDOR AudioCodes 5003 13 | BEGIN-VENDOR AudioCodes 14 | 15 | ATTRIBUTE ACL-Auth-Level 35 integer 16 | VALUE ACL-Auth-Level ACL-Auth-UserLevel 50 17 | VALUE ACL-Auth-Level ACL-Auth-AdminLevel 100 18 | VALUE ACL-Auth-Level ACL-Auth-SecurityAdminLevel 200 19 | 20 | END-VENDOR AudioCodes 21 | -------------------------------------------------------------------------------- /dicts/dictionary.airespace: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # As found on the net. 4 | # 5 | # $Id$ 6 | # 7 | VENDOR Airespace 14179 8 | 9 | BEGIN-VENDOR Airespace 10 | ATTRIBUTE Airespace-Wlan-Id 1 integer 11 | ATTRIBUTE Airespace-QOS-Level 2 integer 12 | ATTRIBUTE Airespace-DSCP 3 integer 13 | ATTRIBUTE Airespace-8021p-Tag 4 integer 14 | ATTRIBUTE Airespace-Interface-Name 5 string 15 | ATTRIBUTE Airespace-ACL-Name 6 string 16 | 17 | VALUE Airespace-QOS-Level Bronze 3 18 | VALUE Airespace-QOS-Level Silver 0 19 | VALUE Airespace-QOS-Level Gold 1 20 | VALUE Airespace-QOS-Level Platinum 2 21 | 22 | END-VENDOR Airespace 23 | -------------------------------------------------------------------------------- /dicts/dictionary.apc: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # http://nam-en.apc.com/cgi-bin/nam_en.cfg/php/enduser/std_adp.php?p_faqid=8012 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR APC 318 11 | 12 | BEGIN-VENDOR APC 13 | 14 | ATTRIBUTE APC-Service-Type 1 integer 15 | ATTRIBUTE APC-Outlets 2 string 16 | 17 | VALUE APC-Service-Type Admin 1 18 | VALUE APC-Service-Type Device 2 19 | VALUE APC-Service-Type ReadOnly 3 20 | VALUE APC-Service-Type Outlet 4 21 | 22 | END-VENDOR APC 23 | -------------------------------------------------------------------------------- /dicts/dictionary.columbia_university: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | VALUE Service-Type Sip-session 12 3 | 4 | # Columbia University VSAs, from: 5 | # 6 | # http://www.cs.columbia.edu/IRT/cinema/release/radius_notes.html 7 | # 8 | # $Id$ 9 | # 10 | VENDOR Columbia-University 11862 11 | 12 | BEGIN-VENDOR Columbia-University 13 | 14 | ATTRIBUTE Sip-Method 0 integer 15 | ATTRIBUTE Sip-From 1 string 16 | ATTRIBUTE Sip-To 2 string 17 | ATTRIBUTE Sip-Translated-Request-URI 4 string 18 | 19 | VALUE Sip-Method INVITE 0 20 | VALUE Sip-Method BYE 1 21 | VALUE Sip-Method REGISTER 2 22 | VALUE Sip-Method OTHER 3 23 | 24 | END-VENDOR Columbia-University 25 | -------------------------------------------------------------------------------- /dicts/dictionary.cisco.vpn5000: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Cisco VPN 5000 Concentrator Dictionary 4 | # 5 | # http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/csacs4nt/csnt30/user/ad.htm 6 | # 7 | # $Id$ 8 | # 9 | VENDOR Cisco-VPN5000 255 10 | 11 | BEGIN-VENDOR Cisco-VPN5000 12 | ATTRIBUTE CVPN5000-Tunnel-Throughput 1 integer 13 | ATTRIBUTE CVPN5000-Client-Assigned-IP 2 string 14 | ATTRIBUTE CVPN5000-Client-Real-IP 3 string 15 | ATTRIBUTE CVPN5000-VPN-GroupInfo 4 string 16 | ATTRIBUTE CVPN5000-VPN-Password 5 string 17 | ATTRIBUTE CVPN5000-Echo 6 integer 18 | ATTRIBUTE CVPN5000-Client-Assigned-IPX 7 integer 19 | END-VENDOR Cisco-VPN5000 20 | -------------------------------------------------------------------------------- /dicts/dictionary.redcreek: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # http://www.redcreek.com 4 | # $Id$ 5 | # 6 | 7 | VENDOR RedCreek 1958 8 | 9 | BEGIN-VENDOR RedCreek 10 | 11 | ATTRIBUTE RedCreek-Tunneled-IP-Addr 5 ipaddr 12 | ATTRIBUTE RedCreek-Tunneled-IP-Netmask 6 ipaddr 13 | ATTRIBUTE RedCreek-Tunneled-Gateway 7 ipaddr 14 | ATTRIBUTE RedCreek-Tunneled-DNS-Server 8 string 15 | ATTRIBUTE RedCreek-Tunneled-WINS-Server1 9 string 16 | ATTRIBUTE RedCreek-Tunneled-WINS-Server2 10 string 17 | ATTRIBUTE RedCreek-Tunneled-HostName 11 string 18 | ATTRIBUTE RedCreek-Tunneled-DomainName 12 string 19 | ATTRIBUTE RedCreek-Tunneled-Search-List 13 string 20 | 21 | END-VENDOR RedCreek 22 | -------------------------------------------------------------------------------- /dicts/dictionary.juniper: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.juniper 4 | # 5 | # As posted to the list by Eric Kilfoil 6 | # 7 | # Version: $Id$ 8 | # 9 | 10 | VENDOR Juniper 2636 11 | 12 | BEGIN-VENDOR Juniper 13 | 14 | ATTRIBUTE Juniper-Local-User-Name 1 string 15 | ATTRIBUTE Juniper-Allow-Commands 2 string 16 | ATTRIBUTE Juniper-Deny-Commands 3 string 17 | ATTRIBUTE Juniper-Allow-Configuration 4 string 18 | ATTRIBUTE Juniper-Deny-Configuration 5 string 19 | ATTRIBUTE Juniper-Interactive-Command 8 string 20 | ATTRIBUTE Juniper-Configuration-Change 9 string 21 | ATTRIBUTE Juniper-User-Permissions 10 string 22 | 23 | END-VENDOR Juniper 24 | -------------------------------------------------------------------------------- /dicts/dictionary.lancom: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.lcs 4 | # 5 | # originally by 6 | # "Eugen K. " <> 7 | # 8 | 9 | VENDOR Lancom 2356 10 | 11 | BEGIN-VENDOR Lancom 12 | 13 | # Attributes 14 | ATTRIBUTE LCS-Traffic-Limit 1 integer 15 | ATTRIBUTE LCS-Mac-Address 2 string 16 | ATTRIBUTE LCS-Redirection-URL 3 string 17 | ATTRIBUTE LCS-Comment 4 string 18 | ATTRIBUTE LCS-Account-End 5 integer 19 | ATTRIBUTE LCS-WPA-Passphrase 6 string 20 | ATTRIBUTE LCS-PbSpotUserName 7 string 21 | ATTRIBUTE LCS-TxRateLimit 8 integer 22 | ATTRIBUTE LCS-RxRateLimit 9 integer 23 | 24 | END-VENDOR Lancom 25 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc4603: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Attributes and values defined in RFC 4603. 5 | # http://www.ietf.org/rfc/rfc4603.txt 6 | # 7 | # $Id$ 8 | # 9 | ############################################################################## 10 | 11 | 12 | VALUE NAS-Port-Type PPPoA 30 13 | VALUE NAS-Port-Type PPPoEoA 31 14 | VALUE NAS-Port-Type PPPoEoE 32 15 | VALUE NAS-Port-Type PPPoEoVLAN 33 16 | VALUE NAS-Port-Type PPPoEoQinQ 34 17 | 18 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc5904: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 5904. 4 | # http://www.ietf.org/rfc/rfc5904.txt 5 | # 6 | # $Id$ 7 | # 8 | 9 | # The next two attributes are continued, like EAP-Message/ 10 | ATTRIBUTE PKM-SS-Cert 137 octets 11 | ATTRIBUTE PKM-CA-Cert 138 octets 12 | 13 | # 28 bytes of data, 7 integers 14 | ATTRIBUTE PKM-Config-Settings 139 octets 15 | ATTRIBUTE PKM-Cryptosuite-List 140 octets 16 | ATTRIBUTE PKM-SAID 141 short 17 | 18 | # 6 bytes of data: SAID, 1 byte of type, 3 of cryptosuite 19 | ATTRIBUTE PKM-SA-Descriptor 142 octets 20 | 21 | # 133 bytes of data: integer lifetime, 1 byte sequence, 128 bytes of key 22 | ATTRIBUTE PKM-Auth-Key 143 octets 23 | -------------------------------------------------------------------------------- /dicts/dictionary.cosine: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Cosine IPSX Dictionary 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Cosine 3085 11 | 12 | BEGIN-VENDOR Cosine 13 | 14 | ATTRIBUTE Cosine-Connection-Profile-Name 1 string 15 | ATTRIBUTE Cosine-Enterprise-ID 2 string 16 | ATTRIBUTE Cosine-Address-Pool-Name 3 string 17 | ATTRIBUTE Cosine-DS-Byte 4 integer 18 | ATTRIBUTE Cosine-VPI-VCI 5 octets 19 | ATTRIBUTE Cosine-DLCI 6 integer 20 | ATTRIBUTE Cosine-LNS-IP-Address 7 ipaddr 21 | ATTRIBUTE Cosine-CLI-User-Permission-ID 8 string 22 | 23 | END-VENDOR Cosine 24 | -------------------------------------------------------------------------------- /dicts/dictionary.valemount: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Valemount Networks Corporation specific radius attributes 4 | # networks@valemount.com 5 | # 6 | # $Id$ 7 | # 8 | 9 | VENDOR ValemountNetworks 16313 10 | 11 | BEGIN-VENDOR ValemountNetworks 12 | 13 | # Rates to give PPPoE customers, can be used in Authentication replies, 14 | # in bits/s 15 | ATTRIBUTE VNC-PPPoE-CBQ-RX 1 integer 16 | ATTRIBUTE VNC-PPPoE-CBQ-TX 2 integer 17 | 18 | # Fallback support for each direction. (1 / 0) 19 | ATTRIBUTE VNC-PPPoE-CBQ-RX-Fallback 3 integer 20 | ATTRIBUTE VNC-PPPoE-CBQ-TX-Fallback 4 integer 21 | 22 | ATTRIBUTE VNC-Splash 10 integer 23 | 24 | VALUE VNC-Splash Show 1 25 | VALUE VNC-Splash No-Show 0 26 | 27 | END-VENDOR ValemountNetworks 28 | -------------------------------------------------------------------------------- /dicts/dictionary.zyxel: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Zyxel attributes, of course in the RFC space... 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Zyxel 890 11 | BEGIN-VENDOR Zyxel 12 | 13 | ATTRIBUTE Zyxel-Privilege-AVPair 3 string 14 | ATTRIBUTE Zyxel-Callback-Option 192 integer 15 | ATTRIBUTE Zyxel-Callback-Phone-Source 193 integer 16 | 17 | VALUE Zyxel-Callback-Phone-Source Preconfigured 0 18 | VALUE Zyxel-Callback-Phone-Source User 1 19 | 20 | VALUE Zyxel-Callback-Option None 0 21 | VALUE Zyxel-Callback-Option Optional 1 22 | VALUE Zyxel-Callback-Option Mandatory 2 23 | 24 | END-VENDOR Zyxel 25 | -------------------------------------------------------------------------------- /dicts/dictionary.manzara: -------------------------------------------------------------------------------- 1 | VENDOR Manzara 19382 2 | 3 | BEGIN-VENDOR Manzara 4 | 5 | ATTRIBUTE Manzara-User-UID 1 integer 6 | ATTRIBUTE Manzara-User-GID 2 integer 7 | ATTRIBUTE Manzara-User-Home 3 string 8 | ATTRIBUTE Manzara-User-Shell 4 string 9 | ATTRIBUTE Manzara-PPP-Addr-String 5 string 10 | ATTRIBUTE Manzara-Full-Login-String 6 string 11 | ATTRIBUTE Manzara-Tariff-Units 7 integer 12 | ATTRIBUTE Manzara-Tariff-Type 8 integer 13 | ATTRIBUTE Manzara-ECP-Session-Key 9 octets 14 | 15 | VALUE Manzara-Tariff-Type MMS-Picture 1 16 | VALUE Manzara-Tariff-Type Unused 2 17 | VALUE Manzara-Tariff-Type Internet 3 18 | 19 | # 20 | # Poaching on the standard space is wrong. 21 | # 22 | VALUE Acct-Status-Type One-Time 17 23 | 24 | END-VENDOR Manzara 25 | -------------------------------------------------------------------------------- /dicts/dictionary.fortinet: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Fortinet's VSA's 5 | # As posted to the list by Richie Lee. 6 | # 7 | # $Id$ 8 | # 9 | ############################################################################## 10 | 11 | # 12 | # Fortinet's VSA's 13 | # 14 | 15 | VENDOR Fortinet 12356 16 | 17 | BEGIN-VENDOR Fortinet 18 | ATTRIBUTE Fortinet-Group-Name 1 string 19 | ATTRIBUTE Fortinet-Client-IP-Address 2 ipaddr 20 | ATTRIBUTE Fortinet-Vdom-Name 3 string 21 | ATTRIBUTE Fortinet-Client-IPv6-Address 4 octets 22 | ATTRIBUTE Fortinet-Interface-Name 5 string 23 | ATTRIBUTE Fortinet-Access-Profile 6 string 24 | 25 | # 26 | # Integer Translations 27 | # 28 | 29 | END-VENDOR Fortinet 30 | -------------------------------------------------------------------------------- /dicts/dictionary.roaringpenguin: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Roaring Penguin attributes 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Roaring-Penguin 10055 11 | 12 | BEGIN-VENDOR Roaring-Penguin 13 | 14 | # Upstream speed limit in kb/s 15 | ATTRIBUTE RP-Upstream-Speed-Limit 1 integer 16 | # Downstream speed limit in kb/s 17 | ATTRIBUTE RP-Downstream-Speed-Limit 2 integer 18 | 19 | # Send a HURL 20 | ATTRIBUTE RP-HURL 3 string 21 | 22 | # Send a MOTM 23 | ATTRIBUTE RP-MOTM 4 string 24 | 25 | # Maximum sessions per user 26 | ATTRIBUTE RP-Max-Sessions-Per-User 5 integer 27 | 28 | END-VENDOR Roaring-Penguin 29 | -------------------------------------------------------------------------------- /dicts/dictionary.siemens: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Siemens 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Siemens 4329 11 | 12 | BEGIN-VENDOR Siemens 13 | 14 | ATTRIBUTE Siemens-URL-Redirection 1 string 15 | ATTRIBUTE Siemens-AP-Name 2 string 16 | ATTRIBUTE Siemens-AP-Serial 3 string 17 | ATTRIBUTE Siemens-VNS-Name 4 string 18 | ATTRIBUTE Siemens-SSID 5 string 19 | ATTRIBUTE Siemens-BSS-MAC 6 string 20 | ATTRIBUTE Siemens-Policy-Name 7 string 21 | ATTRIBUTE Siemens-Topology-Name 8 string 22 | ATTRIBUTE Siemens-Ingress-RC-Name 9 string 23 | ATTRIBUTE Siemens-Egress-RC-Name 10 string 24 | 25 | 26 | END-VENDOR Siemens 27 | -------------------------------------------------------------------------------- /dicts/dictionary.trapeze: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.trapeze 4 | # 5 | # For use with FreeRadius and Trapeze Networks MSS software 1.1 6 | # or greater. 7 | # 8 | # For assistance, email support@trapezenetworks.com. 9 | # 10 | # $Id$ 11 | # 12 | # 13 | VENDOR Trapeze 14525 14 | 15 | # Attributes for MSS 1.1 and later 16 | 17 | BEGIN-VENDOR Trapeze 18 | 19 | ATTRIBUTE Trapeze-VLAN-Name 1 string 20 | ATTRIBUTE Trapeze-Mobility-Profile 2 string 21 | ATTRIBUTE Trapeze-Encryption-Type 3 string 22 | ATTRIBUTE Trapeze-Time-Of-Day 4 string 23 | 24 | # New attributes for MSS 3.0 and later 25 | 26 | ATTRIBUTE Trapeze-SSID 5 string 27 | ATTRIBUTE Trapeze-End-Date 6 string 28 | ATTRIBUTE Trapeze-Start-Date 7 string 29 | ATTRIBUTE Trapeze-URL 8 string 30 | 31 | END-VENDOR Trapeze 32 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc4675: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 4675. 4 | # http://www.ietf.org/rfc/4675.txt 5 | # 6 | # $Id$ 7 | # 8 | 9 | # 10 | # High byte = '1' (0x31) means the frames are tagged. 11 | # High byte = '2' (0x32) means the frames are untagged. 12 | # 13 | # Next 12 bits MUST be zero. 14 | # 15 | # Lower 12 bits is the IEEE-802.1Q VLAN VID. 16 | # 17 | ATTRIBUTE Egress-VLANID 56 integer 18 | ATTRIBUTE Ingress-Filters 57 integer 19 | 20 | # 21 | # First byte == '1' (0x31) means that the frames are tagged. 22 | # First byte == '2' (0x32) means that the frames are untagged. 23 | # 24 | ATTRIBUTE Egress-VLAN-Name 58 string 25 | ATTRIBUTE User-Priority-Table 59 octets # 8 26 | 27 | VALUE Ingress-Filters Enabled 1 28 | VALUE Ingress-Filters Disabled 2 29 | -------------------------------------------------------------------------------- /dicts/dictionary.xedia: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # XEDIA, AP series routers 5 | # From Yard RADIUS, and Piotr Orlewicz, porlewicz@teleton.pl www.real-data.pl 6 | # 7 | # $Id$ 8 | # 9 | ############################################################################# 10 | VENDOR Xedia 838 11 | 12 | BEGIN-VENDOR Xedia 13 | 14 | ATTRIBUTE Xedia-DNS-Server 1 ipaddr 15 | ATTRIBUTE Xedia-NetBios-Server 2 ipaddr 16 | ATTRIBUTE Xedia-Address-Pool 3 string 17 | ATTRIBUTE Xedia-PPP-Echo-Interval 4 integer 18 | ATTRIBUTE Xedia-SSH-Privileges 5 integer 19 | ATTRIBUTE Xedia-Client-Access-Network 6 string 20 | ATTRIBUTE Xedia-Client-Firewall-Setting 7 integer 21 | ATTRIBUTE Xedia-Save-Password 8 integer 22 | 23 | END-VENDOR Xedia 24 | -------------------------------------------------------------------------------- /dicts/dictionary.ipunplugged: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # ipUnplugged 5 | # http://www.ipunplugged.com/ 6 | # 7 | # $Id$ 8 | # 9 | ############################################################################## 10 | 11 | VENDOR ipUnplugged 5925 12 | 13 | BEGIN-VENDOR ipUnplugged 14 | 15 | ATTRIBUTE IPU-MIP-Spi 51 integer 16 | ATTRIBUTE IPU-MIP-Key 52 string 17 | ATTRIBUTE IPU-MIP-Alg-Type 53 integer 18 | ATTRIBUTE IPU-MIP-Alg-Mode 54 integer 19 | ATTRIBUTE IPU-MIP-Replay-Prot 55 integer 20 | ATTRIBUTE IPU-IKE-Remote-Addr 61 ipaddr 21 | ATTRIBUTE IPU-IKE-Local-Addr 62 ipaddr 22 | ATTRIBUTE IPU-IKE-Auth 63 string 23 | ATTRIBUTE IPU-IKE-Conf-Name 64 string 24 | ATTRIBUTE IPU-IKE-Cmd 65 string 25 | 26 | END-VENDOR ipUnplugged 27 | -------------------------------------------------------------------------------- /dicts/dictionary.nomadix: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Version: $Id$ 4 | # 5 | VENDOR Nomadix 3309 6 | # 7 | BEGIN-VENDOR Nomadix 8 | 9 | ATTRIBUTE Nomadix-Bw-Up 1 integer 10 | ATTRIBUTE Nomadix-Bw-Down 2 integer 11 | ATTRIBUTE Nomadix-URL-Redirection 3 string 12 | ATTRIBUTE Nomadix-IP-Upsell 4 integer 13 | ATTRIBUTE Nomadix-Expiration 5 string 14 | ATTRIBUTE Nomadix-Subnet 6 string 15 | ATTRIBUTE Nomadix-MaxBytesUp 7 integer 16 | ATTRIBUTE Nomadix-MaxBytesDown 8 integer 17 | ATTRIBUTE Nomadix-EndofSession 9 integer 18 | ATTRIBUTE Nomadix-Logoff-URL 10 string 19 | ATTRIBUTE Nomadix-Net-VLAN 11 integer 20 | ATTRIBUTE Nomadix-Config-URL 12 string 21 | ATTRIBUTE Nomadix-Goodbye-URL 13 string 22 | 23 | VALUE Nomadix-IP-Upsell PrivatePool 0 24 | VALUE Nomadix-IP-Upsell PublicPool 1 25 | 26 | END-VENDOR Nomadix 27 | -------------------------------------------------------------------------------- /dicts/dictionary.cabletron: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # http://www.cabletron.com (now http://www.enterasys.com) 4 | # $Id$ 5 | # 6 | 7 | VENDOR Cabletron 52 8 | 9 | BEGIN-VENDOR Cabletron 10 | 11 | ATTRIBUTE Cabletron-Protocol-Enable 201 integer 12 | ATTRIBUTE Cabletron-Protocol-Callable 202 integer 13 | 14 | VALUE Cabletron-Protocol-Enable IP-Enable 1 15 | VALUE Cabletron-Protocol-Enable Bridge-Enable 2 16 | VALUE Cabletron-Protocol-Enable IP-BR-Enable 3 17 | VALUE Cabletron-Protocol-Enable BR-IPX-Enable 6 18 | VALUE Cabletron-Protocol-Enable IP-BR-IPX-Enable 7 19 | 20 | VALUE Cabletron-Protocol-Callable IP-Callable 1 21 | VALUE Cabletron-Protocol-Callable Bridge-Callable 2 22 | VALUE Cabletron-Protocol-Callable IP-BR-Callable 3 23 | VALUE Cabletron-Protocol-Callable BR-IPX-Callable 6 24 | VALUE Cabletron-Protocol-Callable IP-BR-IPX-Callable 7 25 | 26 | END-VENDOR Cabletron 27 | -------------------------------------------------------------------------------- /dicts/dictionary.eltex: -------------------------------------------------------------------------------- 1 | # 2 | # dictionary.eltex 3 | # 4 | 5 | VENDOR Eltex 35265 6 | 7 | BEGIN-VENDOR Eltex 8 | 9 | ATTRIBUTE Eltex-AVPair 1 string 10 | 11 | ATTRIBUTE Eltex-Disconnect-Code-Local 11 integer 12 | 13 | VALUE Eltex-Disconnect-Code-Local User-Answer 1 14 | VALUE Eltex-Disconnect-Code-Local Incomplete-Number 2 15 | VALUE Eltex-Disconnect-Code-Local Unassigned-Number 3 16 | VALUE Eltex-Disconnect-Code-Local Unsuccesfull-Other-Cause 4 17 | VALUE Eltex-Disconnect-Code-Local User-Busy 5 18 | VALUE Eltex-Disconnect-Code-Local Out-of-Order 6 19 | VALUE Eltex-Disconnect-Code-Local No-Answer 7 20 | VALUE Eltex-Disconnect-Code-Local Unavailable-Trunk 8 21 | VALUE Eltex-Disconnect-Code-Local Access-Denied 9 22 | VALUE Eltex-Disconnect-Code-Local Unavailable-Voice-Channel 10 23 | VALUE Eltex-Disconnect-Code-Local RADIUS-Server-Unavailable 11 24 | 25 | END-VENDOR Eltex 26 | -------------------------------------------------------------------------------- /dicts/dictionary.telkom: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Telkom SA - RADIUS dictionary 5 | # Used to convey Telkom Specific Information in proxied requests 6 | # EDS 20031007 eddie@saix.net 7 | # 8 | # $Id$ 9 | # 10 | ############################################################################## 11 | 12 | VENDOR Telkom 1431 13 | 14 | BEGIN-VENDOR Telkom 15 | 16 | # Access-Type is used to describe the Access Medium used eg 17 | # Dial/ADSL/VSAT etc. Used in both Access-Requests and Accounting 18 | ATTRIBUTE Telkom-Access-Type 1 string 19 | 20 | # 21 | # Service-Type is used to indicate the Service used main in conjunction 22 | # with the SSG. Used in both Access-Requests and Accounting 23 | ATTRIBUTE Telkom-Service-Type 2 string 24 | 25 | END-VENDOR Telkom 26 | -------------------------------------------------------------------------------- /dicts/dictionary.extreme: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Dictionary for Extreme Networks VSA's. 4 | # http://www.extremenetworks.com/ 5 | # 6 | # $Id$ 7 | # 8 | VENDOR Extreme 1916 9 | 10 | BEGIN-VENDOR Extreme 11 | 12 | ATTRIBUTE Extreme-CLI-Authorization 201 integer 13 | ATTRIBUTE Extreme-Shell-Command 202 string 14 | ATTRIBUTE Extreme-Netlogin-Vlan 203 string 15 | ATTRIBUTE Extreme-Netlogin-Url 204 string 16 | ATTRIBUTE Extreme-Netlogin-Url-Desc 205 string 17 | ATTRIBUTE Extreme-Netlogin-Only 206 integer 18 | ATTRIBUTE Extreme-User-Location 208 string 19 | ATTRIBUTE Extreme-Netlogin-Vlan-Tag 209 integer 20 | ATTRIBUTE Extreme-Netlogin-Extended-Vlan 211 string 21 | ATTRIBUTE Extreme-Security-Profile 212 string 22 | 23 | VALUE Extreme-CLI-Authorization Disabled 0 24 | VALUE Extreme-CLI-Authorization Enabled 1 25 | 26 | VALUE Extreme-Netlogin-Only Disabled 0 27 | VALUE Extreme-Netlogin-Only Enabled 1 28 | 29 | END-VENDOR Extreme 30 | -------------------------------------------------------------------------------- /dicts/dictionary.avaya: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Avaya P330 dictionary file 4 | # $Id$ 5 | # 6 | # http://support.avaya.com/elmodocs2/p330/P330/Configuring%20FreeRadius.pdf 7 | # 8 | 9 | VENDOR Cajun_p330 2167 10 | BEGIN-VENDOR Cajun_p330 11 | 12 | ATTRIBUTE Cajun-Service-Type 1 integer 13 | 14 | VALUE Cajun-Service-Type Cajun-Read-Only-User 1 15 | VALUE Cajun-Service-Type Cajun-Read-Write-User 2 16 | VALUE Cajun-Service-Type Cajun-Admin-User 3 17 | 18 | ATTRIBUTE Avaya-StaticVlan-Type 12 string 19 | ATTRIBUTE Avaya-PortPriority-Type 13 integer 20 | 21 | VALUE Avaya-PortPriority-Type Type-0 0 22 | VALUE Avaya-PortPriority-Type Type-1 1 23 | VALUE Avaya-PortPriority-Type Type-2 2 24 | VALUE Avaya-PortPriority-Type Type-3 3 25 | VALUE Avaya-PortPriority-Type Type-4 4 26 | VALUE Avaya-PortPriority-Type Type-5 5 27 | VALUE Avaya-PortPriority-Type Type-6 6 28 | VALUE Avaya-PortPriority-Type Type-7 7 29 | 30 | END-VENDOR Cajun_p330 31 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc5607: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 5607. 4 | # http://www.ietf.org/rfc/rfc5607.txt 5 | # 6 | # $Id$ 7 | # 8 | 9 | VALUE Service-Type Framed-Management 18 10 | 11 | ATTRIBUTE Framed-Management 133 integer 12 | 13 | VALUE Framed-Management SNMP 1 14 | VALUE Framed-Management Web-Based 2 15 | VALUE Framed-Management Netconf 3 16 | VALUE Framed-Management FTP 4 17 | VALUE Framed-Management TFTP 5 18 | VALUE Framed-Management SFTP 6 19 | VALUE Framed-Management RCP 7 20 | VALUE Framed-Management SCP 8 21 | 22 | ATTRIBUTE Management-Transport-Protection 134 integer 23 | 24 | VALUE Management-Transport-Protection No-Protection 1 25 | VALUE Management-Transport-Protection Integrity-Protection 2 26 | VALUE Management-Transport-Protection Integrity-Confidentiality-Protection 3 27 | 28 | ATTRIBUTE Management-Policy-Id 135 string 29 | 30 | ATTRIBUTE Management-Privilege-Level 136 integer 31 | -------------------------------------------------------------------------------- /dicts/dictionary.walabi: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Walabi Store & Forward FAX attributes. 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Walabi 2004 11 | 12 | VALUE Acct-Status-Type WB-Login 217 13 | VALUE Acct-Status-Type WB-Logout 218 14 | VALUE Acct-Status-Type WB-WRitelog 219 15 | 16 | # Store and Forward Fax Attributes: 17 | BEGIN-VENDOR Walabi 18 | ATTRIBUTE WB-AUTH-Time-Left 1 integer 19 | ATTRIBUTE WB-Auth-Accum-BW 2 integer 20 | ATTRIBUTE WB-Auth-BW-Quota 3 integer 21 | ATTRIBUTE WB-Auth-BW-Count 4 integer 22 | ATTRIBUTE WB-Auth-Upload-Limit 5 integer 23 | ATTRIBUTE WB-Auth-Download-Limit 6 integer 24 | ATTRIBUTE WB-Auth-Login-Time 7 integer 25 | ATTRIBUTE WB-Auth-Logout-Time 8 integer 26 | ATTRIBUTE WB-Auth-Time-Diff 9 integer 27 | ATTRIBUTE WB-Auth-BW-Usage 10 integer 28 | END-VENDOR Walabi 29 | -------------------------------------------------------------------------------- /dicts/dictionary.alteon: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.alteon 4 | # 5 | # Alteon Webswitch 6 | # 7 | # $Id$ 8 | # 9 | VENDOR Alteon 1872 10 | 11 | BEGIN-VENDOR Alteon 12 | 13 | ATTRIBUTE Alteon-Group-Mapping 1 string 14 | ATTRIBUTE Alteon-VPN-Id 3 integer 15 | ATTRIBUTE Alteon-Client-IP-Address 4 ipaddr 16 | ATTRIBUTE Alteon-Client-Netmask 5 ipaddr 17 | ATTRIBUTE Alteon-Primary-NBNS-Server 6 ipaddr 18 | ATTRIBUTE Alteon-Secondary-NBNS-Server 7 ipaddr 19 | ATTRIBUTE Alteon-Primary-DNS-Server 8 ipaddr 20 | ATTRIBUTE Alteon-Secondary-DNS-Server 9 ipaddr 21 | ATTRIBUTE Alteon-Domain-Name 10 string 22 | 23 | ATTRIBUTE Alteon-Service-Type 26 integer 24 | 25 | VALUE Alteon-Service-Type Alteon-L4admin 250 26 | VALUE Alteon-Service-Type Alteon-Slbadmin 251 27 | VALUE Alteon-Service-Type Alteon-Oper 252 28 | VALUE Alteon-Service-Type Alteon-L4oper 253 29 | VALUE Alteon-Service-Type Alteon-Slboper 254 30 | VALUE Alteon-Service-Type Alteon-User 255 31 | 32 | END-VENDOR Alteon 33 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc5090: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 5090. 4 | # http://www.ietf.org/rfc/rfc5090.txt 5 | # 6 | # $Id$ 7 | # 8 | ATTRIBUTE Digest-Response 103 string 9 | ATTRIBUTE Digest-Realm 104 string 10 | ATTRIBUTE Digest-Nonce 105 string 11 | ATTRIBUTE Digest-Response-Auth 106 string 12 | ATTRIBUTE Digest-Nextnonce 107 string 13 | ATTRIBUTE Digest-Method 108 string 14 | ATTRIBUTE Digest-URI 109 string 15 | ATTRIBUTE Digest-Qop 110 string 16 | ATTRIBUTE Digest-Algorithm 111 string 17 | ATTRIBUTE Digest-Entity-Body-Hash 112 string 18 | ATTRIBUTE Digest-CNonce 113 string 19 | ATTRIBUTE Digest-Nonce-Count 114 string 20 | ATTRIBUTE Digest-Username 115 string 21 | ATTRIBUTE Digest-Opaque 116 string 22 | ATTRIBUTE Digest-Auth-Param 117 string 23 | ATTRIBUTE Digest-AKA-Auts 118 string 24 | ATTRIBUTE Digest-Domain 119 string 25 | ATTRIBUTE Digest-Stale 120 string 26 | ATTRIBUTE Digest-HA1 121 string 27 | ATTRIBUTE SIP-AOR 122 string 28 | -------------------------------------------------------------------------------- /dicts/dictionary.netscreen: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # From: 4 | # http://www.netscreen.com/support/downloads/4.0_configuring_screenOS_for_NTdomain_v11.pdf 5 | # 6 | 7 | VENDOR Netscreen 3224 8 | 9 | BEGIN-VENDOR Netscreen 10 | 11 | ATTRIBUTE NS-Admin-Privilege 1 integer 12 | ATTRIBUTE NS-VSYS-Name 2 string 13 | ATTRIBUTE NS-User-Group 3 string 14 | ATTRIBUTE NS-Primary-DNS 4 ipaddr 15 | ATTRIBUTE NS-Secondary-DNS 5 ipaddr 16 | ATTRIBUTE NS-Primary-WINS 6 ipaddr 17 | ATTRIBUTE NS-Secondary-WINS 7 ipaddr 18 | 19 | ATTRIBUTE NS-NSM-User-Domain-Name 220 string 20 | ATTRIBUTE NS-NSM-User-Role-Mapping 221 string 21 | 22 | # 23 | # Values VSYS-Admin and Read-Only-VSYS-Admin require a NS-VSYS-Name 24 | # attribute in the response packet. 25 | # 26 | VALUE NS-Admin-Privilege Root-Admin 1 27 | VALUE NS-Admin-Privilege All-VSYS-Root-Admin 2 28 | VALUE NS-Admin-Privilege VSYS-Admin 3 29 | VALUE NS-Admin-Privilege Read-Only-Admin 4 30 | VALUE NS-Admin-Privilege Read-Only-VSYS-Admin 5 31 | 32 | END-VENDOR Netscreen 33 | -------------------------------------------------------------------------------- /dicts/dictionary.motorola.illegal: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Motorola Canopy attributes. 5 | # 6 | # See also dictionary.motorola.illegal. You can use that one 7 | # by listing it in raddb/dictionary. 8 | # 9 | # $Id$ 10 | # 11 | ############################################################################## 12 | 13 | ATTRIBUTE Motorola-Canopy-Shared-Secret 224 string 14 | ATTRIBUTE Motorola-Canopy-SULDR 225 string 15 | ATTRIBUTE Motorola-Canopy-SDLDR 226 string 16 | ATTRIBUTE Motorola-Canopy-ULBA 227 string 17 | ATTRIBUTE Motorola-Canopy-DLBA 228 string 18 | ATTRIBUTE Motorola-Canopy-Enable 229 string 19 | ATTRIBUTE Motorola-Canopy-LPSULDR 230 string 20 | ATTRIBUTE Motorola-Canopy-LPSDLDR 231 string 21 | ATTRIBUTE Motorola-Canopy-HPCENABLE 232 string 22 | ATTRIBUTE Motorola-Canopy-HPSULDR 233 string 23 | ATTRIBUTE Motorola-Canopy-HPSDLDR 234 string 24 | ATTRIBUTE Motorola-Canopy-HIGHERBW 235 string 25 | ATTRIBUTE Motorola-Canopy-CIRENABLE 236 string 26 | 27 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc3576: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 3576. 4 | # http://www.ietf.org/rfc/rfc3576.txt 5 | # 6 | # $Id$ 7 | # 8 | ATTRIBUTE Error-Cause 101 integer 9 | 10 | # Service Types 11 | 12 | VALUE Service-Type Authorize-Only 17 13 | 14 | # Error causes 15 | 16 | VALUE Error-Cause Residual-Context-Removed 201 17 | VALUE Error-Cause Invalid-EAP-Packet 202 18 | VALUE Error-Cause Unsupported-Attribute 401 19 | VALUE Error-Cause Missing-Attribute 402 20 | VALUE Error-Cause NAS-Identification-Mismatch 403 21 | VALUE Error-Cause Invalid-Request 404 22 | VALUE Error-Cause Unsupported-Service 405 23 | VALUE Error-Cause Unsupported-Extension 406 24 | VALUE Error-Cause Administratively-Prohibited 501 25 | VALUE Error-Cause Proxy-Request-Not-Routable 502 26 | VALUE Error-Cause Session-Context-Not-Found 503 27 | VALUE Error-Cause Session-Context-Not-Removable 504 28 | VALUE Error-Cause Proxy-Processing-Error 505 29 | VALUE Error-Cause Resources-Unavailable 506 30 | VALUE Error-Cause Request-Initiated 507 31 | -------------------------------------------------------------------------------- /dicts/dictionary.wispr: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.wispr 4 | # 5 | # VSAs originally by 6 | # "James Underwood" 7 | # 8 | # Version: $Id$ 9 | # 10 | # For documentation on WISPr RADIUS attributes, see: 11 | # 12 | # Wi-Fi Alliance - Wireless ISP Roaming - Best Current Practices v1, 13 | # Feb 2003, p 14 14 | # 15 | # http://www.weca.net/OpenSection/downloads/WISPr_V1.0.pdf 16 | 17 | VENDOR WISPr 14122 18 | 19 | # 20 | # Standard attribute 21 | # 22 | BEGIN-VENDOR WISPr 23 | 24 | ATTRIBUTE WISPr-Location-ID 1 string 25 | ATTRIBUTE WISPr-Location-Name 2 string 26 | ATTRIBUTE WISPr-Logoff-URL 3 string 27 | ATTRIBUTE WISPr-Redirection-URL 4 string 28 | ATTRIBUTE WISPr-Bandwidth-Min-Up 5 integer 29 | ATTRIBUTE WISPr-Bandwidth-Min-Down 6 integer 30 | ATTRIBUTE WISPr-Bandwidth-Max-Up 7 integer 31 | ATTRIBUTE WISPr-Bandwidth-Max-Down 8 integer 32 | ATTRIBUTE WISPr-Session-Terminate-Time 9 string 33 | ATTRIBUTE WISPr-Session-Terminate-End-Of-Day 10 string 34 | ATTRIBUTE WISPr-Billing-Class-Of-Service 11 string 35 | 36 | END-VENDOR WISPr 37 | -------------------------------------------------------------------------------- /dicts/dictionary.nokia.conflict: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Nokia dictionary for attributes that conflict with other dictionaries. 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | # 11 | # Enable by putting the line "$INCLUDE dictionary.nokia.conflict" into 12 | # the main dictionary file. Don't forget to comment out the 13 | # $INCLUDE dictionary.ascend, because these over-lap with the 14 | # standard RADIUS attributes, which are also illegitimately used 15 | # by Ascend. 16 | # 17 | # It's apparently rocket science for people to define their own 18 | # VSA's. 19 | # 20 | 21 | ATTRIBUTE Nokia-Primary-DNS-Server 135 ipaddr 22 | ATTRIBUTE Nokia-Secondary-DNS-Server 136 ipaddr 23 | 24 | 25 | ATTRIBUTE Nokia-IMSI 224 octets 26 | ATTRIBUTE Nokia-Charging-Id 225 integer 27 | ATTRIBUTE Nokia-Prepaid-Ind 226 integer 28 | ATTRIBUTE Nokia-GGSN-IP-Address 227 ipaddr 29 | ATTRIBUTE Nokia-SGSN-IP-Address 228 ipaddr 30 | 31 | -------------------------------------------------------------------------------- /dicts/dictionary.springtide: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # SpringTide VSAs 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR SpringTide 3551 11 | 12 | BEGIN-VENDOR SpringTide 13 | 14 | ATTRIBUTE ST-Acct-VC-Connection-Id 1 string 15 | ATTRIBUTE ST-Service-Name 2 string 16 | ATTRIBUTE ST-Service-Domain 3 integer 17 | ATTRIBUTE ST-Policy-Name 4 string 18 | ATTRIBUTE ST-Primary-DNS-Server 5 ipaddr 19 | ATTRIBUTE ST-Secondary-DNS-Server 6 ipaddr 20 | ATTRIBUTE ST-Primary-NBNS-Server 7 ipaddr 21 | ATTRIBUTE ST-Secondary-NBNS-Server 8 ipaddr 22 | ATTRIBUTE ST-Physical-Port 9 integer 23 | ATTRIBUTE ST-Physical-Slot 10 integer 24 | ATTRIBUTE ST-Virtual-Path-ID 11 integer 25 | ATTRIBUTE ST-Virtual-Circuit-ID 12 integer 26 | ATTRIBUTE ST-Realm-Name 13 string 27 | ATTRIBUTE ST-IPSec-Pfs-Group 14 integer 28 | ATTRIBUTE ST-IPSec-Client-Firewall 15 integer 29 | ATTRIBUTE ST-IPSec-Client-Subnet 16 string 30 | 31 | END-VENDOR SpringTide 32 | -------------------------------------------------------------------------------- /.github/workflows/elixir.yml: -------------------------------------------------------------------------------- 1 | # This workflow uses actions that are not certified by GitHub. 2 | # They are provided by a third-party and are governed by 3 | # separate terms of service, privacy policy, and support 4 | # documentation. 5 | 6 | name: Elixir CI 7 | 8 | on: 9 | push: 10 | branches: [ "master" ] 11 | pull_request: 12 | branches: [ "master" ] 13 | 14 | permissions: 15 | contents: read 16 | 17 | jobs: 18 | build: 19 | 20 | name: Build and test 21 | runs-on: ubuntu-latest 22 | 23 | steps: 24 | - uses: actions/checkout@v3 25 | - name: Set up Elixir 26 | uses: erlef/setup-beam@v1 27 | with: 28 | elixir-version: '1.14' # Define the elixir version [required] 29 | otp-version: '25' # Define the OTP version [required] 30 | - name: Restore dependencies cache 31 | uses: actions/cache@v3 32 | with: 33 | path: deps 34 | key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} 35 | restore-keys: ${{ runner.os }}-mix- 36 | - name: Install dependencies 37 | run: mix deps.get 38 | - name: Run tests 39 | run: mix test 40 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Bearice Ren 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /dicts/dictionary.localweb: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Local-Web Accesspoints 5 | # 6 | ############################################################################## 7 | 8 | VENDOR Local-Web 19220 9 | 10 | BEGIN-VENDOR Local-Web 11 | 12 | ATTRIBUTE Local-Web-Client-Ip 192 string 13 | ATTRIBUTE Local-Web-Border-Router 193 string 14 | 15 | ATTRIBUTE Local-Web-Tx-Limit 200 integer 16 | ATTRIBUTE Local-Web-Rx-Limit 201 integer 17 | 18 | ATTRIBUTE Local-Web-Acct-Time 210 integer 19 | ATTRIBUTE Local-Web-Acct-Duration 211 integer 20 | ATTRIBUTE Local-Web-Acct-Interim-Tx-Bytes 212 integer 21 | ATTRIBUTE Local-Web-Acct-Interim-Rx-Bytes 213 integer 22 | ATTRIBUTE Local-Web-Acct-Interim-Tx-Gigawords 214 integer 23 | ATTRIBUTE Local-Web-Acct-Interim-Rx-Gigawords 215 integer 24 | ATTRIBUTE Local-Web-Acct-Interim-Tx-Mgmt 216 integer 25 | ATTRIBUTE Local-Web-Acct-Interim-Rx-Mgmt 217 integer 26 | 27 | ATTRIBUTE Local-Web-Acct-Tx-Mgmt 230 integer 28 | ATTRIBUTE Local-Web-Acct-Rx-Mgmt 231 integer 29 | 30 | ATTRIBUTE Local-Web-Reauth-Counter 240 integer 31 | 32 | END-VENDOR Local-Web 33 | -------------------------------------------------------------------------------- /dicts/dictionary.sofaware: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Sofaware VPN-1 Edge from Sofaware (Check Point appliance). 5 | # 6 | # Values are strings, rather than real VALUEs. 7 | # 8 | # SofaWare-Admin : "none" / "readonly" / "readwrite" 9 | # Users have no, read-only or read-write access to the 10 | # appliance's configuration interface (Web / SSH) 11 | # 12 | # SofaWare-VPN : `true" / "false" 13 | # User can / cannot connect the VPN 14 | # 15 | # SofaWare-Hotspot : "true" / "false" 16 | # The account can be used for authentication on the 17 | # Hotspot web page (may be required before accessing 18 | # the Internet) 19 | # 20 | # SofaWare-UFP : "true" / "false" 21 | # The user can /cannot overwrite the URL Filtering policy 22 | # 23 | # $Id$ 24 | # 25 | ############################################################################## 26 | 27 | VENDOR SofaWare 6983 28 | 29 | BEGIN-VENDOR SofaWare 30 | 31 | ATTRIBUTE SofaWare-Admin 1 string 32 | ATTRIBUTE SofaWare-VPN 2 string 33 | ATTRIBUTE SofaWare-Hotspot 3 string 34 | ATTRIBUTE SofaWare-UFP 4 string 35 | 36 | END-VENDOR SofaWare 37 | -------------------------------------------------------------------------------- /dicts/dictionary.riverstone: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Riverstone Networks' RADIUS VSAs 5 | # *** For RapidOS Versions 9.1 and above ONLY *** 6 | # 7 | # $Id$ 8 | # 9 | ############################################################################## 10 | 11 | VENDOR Riverstone 5567 12 | 13 | # 14 | # Riverstone-Command 15 | # 16 | # This attribute is sent in Accounting-Requests, and contains text 17 | # from the admin's CLI session. 18 | # 19 | BEGIN-VENDOR Riverstone 20 | 21 | ATTRIBUTE Riverstone-Command 1 string 22 | 23 | # 24 | # This attribute is sent in Accounting-Requests, as a duplicate 25 | # of syslog for system event messages. 26 | # 27 | ATTRIBUTE Riverstone-System-Event 2 string 28 | 29 | # 30 | # This attribute is sent in Accounting-Requests, to log changes 31 | # made via SNMP. 32 | # 33 | ATTRIBUTE Riverstone-SNMP-Config-Change 3 string 34 | 35 | # 36 | # This attribute should be sent in Access-Accept packets, to set 37 | # the privilege level. It MUST be sent when the device is operating 38 | # in Mult-User Access mode. 39 | # 40 | ATTRIBUTE Riverstone-User-Level 4 integer 41 | 42 | END-VENDOR Riverstone 43 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc5580: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 5580. 4 | # http://www.ietf.org/rfc/rfc5580.txt 5 | # 6 | # $Id$ 7 | # 8 | 9 | # One ASCII character of Namespace ID 10 | # 0 = TADIG (GSM) 11 | # 1 = Realm 12 | # 2 = E212 13 | # 14 | # 15 | # Followed by the actual string 16 | ATTRIBUTE Operator-Name 126 string 17 | 18 | # 19 | # Large blobs of stuff 20 | # 21 | ATTRIBUTE Location-Information 127 octets 22 | ATTRIBUTE Location-Data 128 octets 23 | ATTRIBUTE Basic-Location-Policy-Rules 129 octets 24 | ATTRIBUTE Extended-Location-Policy-Rules 130 octets 25 | 26 | # 27 | # Really a bit-packed field 28 | # 29 | ATTRIBUTE Location-Capable 131 integer 30 | VALUE Location-Capable Civix-Location 1 31 | VALUE Location-Capable Geo-Location 2 32 | VALUE Location-Capable Users-Location 4 33 | VALUE Location-Capable NAS-Location 8 34 | 35 | ATTRIBUTE Requested-Location-Info 132 integer 36 | VALUE Requested-Location-Info Civix-Location 1 37 | VALUE Requested-Location-Info Geo-Location 2 38 | VALUE Requested-Location-Info Users-Location 4 39 | VALUE Requested-Location-Info NAS-Location 8 40 | VALUE Requested-Location-Info Future-Requests 16 41 | VALUE Requested-Location-Info None 32 42 | -------------------------------------------------------------------------------- /dicts/dictionary.digium: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Digium's Asterisk specific radius attributes 5 | # markster@digium.com 6 | # 7 | # http://bugs.digium.com/file_download.php\?file_id=9688\&type=bug 8 | # 9 | # $Id$ 10 | # 11 | ############################################################################## 12 | 13 | VENDOR Digium 22736 14 | 15 | BEGIN-VENDOR Digium 16 | 17 | ATTRIBUTE Asterisk-Acc-Code 101 string 18 | ATTRIBUTE Asterisk-Src 102 string 19 | ATTRIBUTE Asterisk-Dst 103 string 20 | ATTRIBUTE Asterisk-Dst-Ctx 104 string 21 | ATTRIBUTE Asterisk-Clid 105 string 22 | ATTRIBUTE Asterisk-Chan 106 string 23 | ATTRIBUTE Asterisk-Dst-Chan 107 string 24 | ATTRIBUTE Asterisk-Last-App 108 string 25 | ATTRIBUTE Asterisk-Last-Data 109 string 26 | ATTRIBUTE Asterisk-Start-Time 110 string 27 | ATTRIBUTE Asterisk-Answer-Time 111 string 28 | ATTRIBUTE Asterisk-End-Time 112 string 29 | ATTRIBUTE Asterisk-Duration 113 integer 30 | ATTRIBUTE Asterisk-Bill-Sec 114 integer 31 | ATTRIBUTE Asterisk-Disposition 115 string 32 | ATTRIBUTE Asterisk-AMA-Flags 116 string 33 | ATTRIBUTE Asterisk-Unique-ID 117 string 34 | ATTRIBUTE Asterisk-User-Field 118 string 35 | 36 | END-VENDOR Digium 37 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc2869: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 2869. 4 | # http://www.ietf.org/rfc/rfc2869.txt 5 | # 6 | # $Id$ 7 | # 8 | ATTRIBUTE Acct-Input-Gigawords 52 integer 9 | ATTRIBUTE Acct-Output-Gigawords 53 integer 10 | 11 | ATTRIBUTE Event-Timestamp 55 date 12 | 13 | ATTRIBUTE ARAP-Password 70 octets # 16 octets of data 14 | ATTRIBUTE ARAP-Features 71 octets # 14 octets of data 15 | ATTRIBUTE ARAP-Zone-Access 72 integer 16 | ATTRIBUTE ARAP-Security 73 integer 17 | ATTRIBUTE ARAP-Security-Data 74 string 18 | ATTRIBUTE Password-Retry 75 integer 19 | ATTRIBUTE Prompt 76 integer 20 | ATTRIBUTE Connect-Info 77 string 21 | ATTRIBUTE Configuration-Token 78 string 22 | ATTRIBUTE EAP-Message 79 octets 23 | ATTRIBUTE Message-Authenticator 80 octets 24 | 25 | ATTRIBUTE ARAP-Challenge-Response 84 octets # 8 octets of data 26 | ATTRIBUTE Acct-Interim-Interval 85 integer 27 | # 86: RFC 2867 28 | ATTRIBUTE NAS-Port-Id 87 string 29 | ATTRIBUTE Framed-Pool 88 string 30 | 31 | # ARAP Zone Access 32 | 33 | VALUE ARAP-Zone-Access Default-Zone 1 34 | VALUE ARAP-Zone-Access Zone-Filter-Inclusive 2 35 | VALUE ARAP-Zone-Access Zone-Filter-Exclusive 4 36 | 37 | # Prompt 38 | VALUE Prompt No-Echo 0 39 | VALUE Prompt Echo 1 40 | -------------------------------------------------------------------------------- /dicts/dictionary.t_systems_nova: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # T-Systems-Nova 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | VENDOR T-Systems-Nova 16787 10 | 11 | BEGIN-VENDOR T-Systems-Nova 12 | 13 | ATTRIBUTE T-Systems-Nova-Location-ID 1 string 14 | ATTRIBUTE T-Systems-Nova-Location-Name 2 string 15 | ATTRIBUTE T-Systems-Nova-Logoff-URL 3 string 16 | ATTRIBUTE T-Systems-Nova-Redirection-URL 4 string 17 | ATTRIBUTE T-Systems-Nova-Bandwidth-Min-Up 5 integer 18 | ATTRIBUTE T-Systems-Nova-Bandwidth-Min-Down 6 integer 19 | ATTRIBUTE T-Systems-Nova-Bandwidth-Max-Up 7 integer 20 | ATTRIBUTE T-Systems-Nova-Bandwidth-Max-Down 8 integer 21 | ATTRIBUTE T-Systems-Nova-Session-Terminate-Time 9 integer 22 | 23 | #ATTRIBUTE T-Systems-Nova-Session-Terminate-End-Of-Day 10 integer 24 | ATTRIBUTE T-Systems-Nova-Session-Terminate-EoD 10 integer 25 | 26 | ATTRIBUTE T-Systems-Nova-Billing-Class-Of-Service 11 string 27 | ATTRIBUTE T-Systems-Nova-Service-Name 12 string 28 | ATTRIBUTE T-Systems-Nova-Price-Of-Service 13 integer 29 | ATTRIBUTE T-Systems-Nova-Visiting-Provider-Code 14 string 30 | ATTRIBUTE T-Systems-Nova-UnknownAVP 15 string 31 | 32 | END-VENDOR T-Systems-Nova 33 | -------------------------------------------------------------------------------- /dicts/dictionary.issanni: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # UTStarcom Issanni DSL router. 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Issanni 5948 11 | 12 | BEGIN-VENDOR Issanni 13 | # 14 | # UTStarcom Issanni DSL router. 15 | # 16 | ATTRIBUTE Issanni-SoftFlow-Template 1 string 17 | ATTRIBUTE Issanni-NAT-Support 2 string 18 | ATTRIBUTE Issanni-Routing-Context 3 string 19 | ATTRIBUTE Issanni-Tunnel-Name 4 string 20 | ATTRIBUTE Issanni-IP-Pool-Name 5 string 21 | ATTRIBUTE Issanni-PPPoE-URL 6 string 22 | ATTRIBUTE Issanni-PPPoE-MOTM 7 string 23 | ATTRIBUTE Issanni-Service 8 string 24 | ATTRIBUTE Issanni-Pri-DNS 9 ipaddr 25 | ATTRIBUTE Issanni-Sec-DNS 10 ipaddr 26 | ATTRIBUTE Issanni-Pri-NBNS 11 ipaddr 27 | ATTRIBUTE Issanni-Sec-NBNS 12 ipaddr 28 | ATTRIBUTE Issanni-Traffic-Class 13 string 29 | ATTRIBUTE Issanni-Tunnel-Type 14 integer 30 | ATTRIBUTE Issanni-NAT-Type 15 integer 31 | ATTRIBUTE Issanni-QOS-Class 16 string 32 | ATTRIBUTE Issanni-Interface-Name 17 string 33 | 34 | VALUE Issanni-Tunnel-Type IP-IP 1 35 | VALUE Issanni-Tunnel-Type ESP 2 36 | VALUE Issanni-Tunnel-Type L2TP 3 37 | 38 | VALUE Issanni-NAT-Type NAT 1 39 | VALUE Issanni-NAT-Type NAPT 2 40 | 41 | END-VENDOR Issanni 42 | -------------------------------------------------------------------------------- /dicts/dictionary.usr.illegal: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # USE dictionary that illegally uses the RFC space. 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | # 10 | # USR specific attributes 11 | # 12 | # Prompt value should be 1 for echo, 0 for no echo, default 1. 13 | #ATTRIBUTE Prompt 64 integer 14 | ATTRIBUTE Multi-Link-Flag 126 integer 15 | ATTRIBUTE Char-Noecho 250 integer 16 | 17 | # 18 | # USR specific Integer Translations 19 | # 20 | 21 | VALUE Termination-Action Manage-Resources 2 22 | 23 | VALUE Acct-Status-Type Modem-Start 4 24 | VALUE Acct-Status-Type Modem-Stop 5 25 | VALUE Acct-Status-Type Cancel 6 26 | 27 | VALUE Multi-Link-Flag True 1 28 | VALUE Multi-Link-Flag False 0 29 | 30 | # USR specific Authentication Types 31 | 32 | # 33 | # These are commented out because the conflict with the standard 34 | # definitions. 35 | # 36 | #VALUE Acct-Authentic None 0 37 | #VALUE Acct-Authentic Remote 3 38 | #VALUE Acct-Authentic RADIUS 4 39 | #VALUE Acct-Authentic MNET 5 40 | #VALUE Acct-Authentic KCHAP 6 41 | #VALUE Acct-Authentic TACACS 7 42 | #VALUE Acct-Authentic Realm 8 43 | #VALUE Acct-Authentic Local 9 44 | #VALUE Acct-Authentic File 10 45 | #VALUE Acct-Authentic Local-VPN 11 46 | 47 | -------------------------------------------------------------------------------- /dicts/dictionary.xylan: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Xylan dictionary 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Xylan 800 11 | 12 | BEGIN-VENDOR Xylan 13 | 14 | ATTRIBUTE Xylan-Auth-Group 1 integer 15 | ATTRIBUTE Xylan-Slot-Port 2 string 16 | ATTRIBUTE Xylan-Time-of-Day 3 string 17 | ATTRIBUTE Xylan-Client-IP-Addr 4 ipaddr 18 | ATTRIBUTE Xylan-Group-Desc 5 string 19 | ATTRIBUTE Xylan-Port-Desc 6 string 20 | ATTRIBUTE Xylan-Profil-Numb 7 integer 21 | ATTRIBUTE Xylan-Auth-Group-Protocol 8 string 22 | ATTRIBUTE Xylan-Asa-Access 9 string 23 | ATTRIBUTE Xylan-Access-Priv 16 integer 24 | ATTRIBUTE Xylan-Acce-Priv-R1 33 octets 25 | ATTRIBUTE Xylan-Acce-Priv-R2 34 octets 26 | ATTRIBUTE Xylan-Acce-Priv-W1 35 octets 27 | ATTRIBUTE Xylan-Acce-Priv-W2 36 octets 28 | ATTRIBUTE Xylan-Acce-Priv-G1 37 octets 29 | ATTRIBUTE Xylan-Acce-Priv-G2 38 octets 30 | ATTRIBUTE Xylan-Acce-Priv-F-R1 39 octets 31 | ATTRIBUTE Xylan-Acce-Priv-F-R2 40 octets 32 | ATTRIBUTE Xylan-Acce-Priv-F-W1 41 octets 33 | ATTRIBUTE Xylan-Acce-Priv-F-W2 42 octets 34 | 35 | VALUE Xylan-Access-Priv Xylan-Read-Priv 1 36 | VALUE Xylan-Access-Priv Xylan-Write-Priv 2 37 | VALUE Xylan-Access-Priv Xylan-Admin-Priv 3 38 | 39 | END-VENDOR Xylan 40 | -------------------------------------------------------------------------------- /dicts/dictionary.prosoft: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Prosoft, as posted to the list. 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Prosoft 4735 11 | 12 | # 13 | # Custom Prosoft attributes. 14 | # 15 | 16 | BEGIN-VENDOR Prosoft 17 | 18 | ATTRIBUTE Prosoft-Home-Agent-Address 0 ipaddr 19 | ATTRIBUTE Prosoft-Default-Gateway 1 ipaddr 20 | ATTRIBUTE Prosoft-Primary-DNS 2 ipaddr 21 | ATTRIBUTE Prosoft-Secondary-DNS 3 ipaddr 22 | ATTRIBUTE Prosoft-Security-Parameter-Index 4 integer 23 | ATTRIBUTE Prosoft-Security-Key 5 string 24 | ATTRIBUTE Prosoft-MAC-Address 7 string 25 | ATTRIBUTE Prosoft-Authentication-Reason 8 integer 26 | ATTRIBUTE Prosoft-ATM-Interface 9 integer 27 | ATTRIBUTE Prosoft-ATM-VPI 10 integer 28 | ATTRIBUTE Prosoft-ATM-VCI 11 integer 29 | ATTRIBUTE Prosoft-RSC-Identifier 12 string 30 | ATTRIBUTE Prosoft-NPM-Identifier 13 string 31 | ATTRIBUTE Prosoft-NPM-IP 14 string 32 | ATTRIBUTE Prosoft-Sector-ID 15 string 33 | ATTRIBUTE Prosoft-Auth-Role 16 integer 34 | 35 | VALUE Prosoft-Auth-Role Read-Status 0 36 | VALUE Prosoft-Auth-Role Read-Config 1 37 | VALUE Prosoft-Auth-Role Read-Write 2 38 | VALUE Prosoft-Auth-Role Admin 3 39 | VALUE Prosoft-Auth-Role Super-user 4 40 | 41 | 42 | END-VENDOR Prosoft 43 | -------------------------------------------------------------------------------- /dicts/dictionary.nokia: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ###################################################################### 3 | # 4 | # Nokia dictionary 5 | # $Id$ 6 | # 7 | ###################################################################### 8 | 9 | VENDOR Nokia 94 10 | 11 | BEGIN-VENDOR Nokia 12 | 13 | ATTRIBUTE Nokia-AVPair 1 string 14 | ATTRIBUTE Nokia-User-Profile 2 string 15 | ATTRIBUTE Nokia-Service-Name 3 octets # magic format 16 | ATTRIBUTE Nokia-Service-Id 4 octets # magic format 17 | ATTRIBUTE Nokia-Service-Username 5 octets # magic format 18 | ATTRIBUTE Nokia-Service-Password 6 octets # magic format 19 | ATTRIBUTE Nokia-Service-Primary-Indicator 7 octets 20 | ATTRIBUTE Nokia-Service-Charging-Type 8 octets # magic format 21 | ATTRIBUTE Nokia-Service-Encrypted-Password 9 octets # magic format 22 | ATTRIBUTE Nokia-Session-Access-Method 10 octets 23 | ATTRIBUTE Nokia-Session-Charging-Type 11 octets 24 | ATTRIBUTE Nokia-OCS-ID1 12 integer 25 | ATTRIBUTE Nokia-OCS-ID2 13 integer 26 | ATTRIBUTE Nokia-TREC-Index 14 integer 27 | ATTRIBUTE Nokia-Requested-APN 15 string 28 | END-VENDOR Nokia 29 | 30 | # 31 | # The format of some Nokia attributes is binary coded decimal 32 | # (BCD) with the last four bits all set to 1 if there are an odd 33 | # number of digits, 34 | # 35 | # e.g 123 is encoded as hexadecimal bytes 21 F3 36 | # 37 | # This is an incredibly stupid way of encoding the data. 38 | # 39 | -------------------------------------------------------------------------------- /dicts/dictionary.symbol: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Symbol VSAs 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | VENDOR Symbol 388 10 | 11 | BEGIN-VENDOR Symbol 12 | 13 | ATTRIBUTE Symbol-Admin-Role 1 integer 14 | VALUE Symbol-Admin-Role Monitor 1 15 | VALUE Symbol-Admin-Role Helpdesk 2 16 | VALUE Symbol-Admin-Role NetworkAdmin 4 17 | VALUE Symbol-Admin-Role SysAdmin 8 18 | VALUE Symbol-Admin-Role WebAdmin 16 19 | VALUE Symbol-Admin-Role SuperUser 32768 20 | 21 | ATTRIBUTE Symbol-Current-ESSID 2 string 22 | ATTRIBUTE Symbol-Allowed-ESSID 3 string 23 | ATTRIBUTE Symbol-WLAN-Index 4 integer 24 | ATTRIBUTE Symbol-QoS-Profile 5 integer 25 | ATTRIBUTE Symbol-Allowed-Radio 6 string 26 | ATTRIBUTE Symbol-Expiry-Date-Time 7 string 27 | ATTRIBUTE Symbol-Start-Date-Time 8 string 28 | ATTRIBUTE Symbol-Posture-Status 9 string 29 | ATTRIBUTE Symbol-Downlink-Limit 10 string 30 | ATTRIBUTE Symbol-Uplink-Limit 11 string 31 | ATTRIBUTE Symbol-User-Group 12 string 32 | 33 | ATTRIBUTE Symbol-Login-Source 100 integer 34 | VALUE Symbol-Login-Source HTTP 16 35 | VALUE Symbol-Login-Source SSH 32 36 | VALUE Symbol-Login-Source Telnet 64 37 | VALUE Symbol-Login-Source Console 128 38 | VALUE Symbol-Login-Source All 240 39 | 40 | END-VENDOR Symbol 41 | -------------------------------------------------------------------------------- /dicts/dictionary.ntua: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | VENDOR NTUA 969 3 | 4 | BEGIN-VENDOR NTUA 5 | 6 | # 7 | # Authentication Attributes 8 | # 9 | ATTRIBUTE UserLogon-Uid 10 integer 10 | ATTRIBUTE UserLogon-Gid 11 integer 11 | ATTRIBUTE UserLogon-HomeDir 12 string 12 | ATTRIBUTE UserLogon-Type 13 integer 13 | ATTRIBUTE UserLogon-QuotaBytes 14 integer 14 | ATTRIBUTE UserLogon-QuotaFiles 15 integer 15 | ATTRIBUTE UserLogon-Shell 16 string 16 | ATTRIBUTE UserLogon-Restriction 17 integer 17 | ATTRIBUTE UserLogon-GroupNames 18 string 18 | ATTRIBUTE UserLogon-DriveNames 19 string 19 | ATTRIBUTE UserLogon-UserDescription 20 string 20 | ATTRIBUTE UserLogon-UserFullName 21 string 21 | ATTRIBUTE UserLogon-UserDomain 22 string 22 | ATTRIBUTE UserLogon-LogonTask 23 string 23 | ATTRIBUTE UserLogon-LogoffTask 24 string 24 | ATTRIBUTE UserLogon-Expiration 25 string 25 | ATTRIBUTE UserLogon-UserProfile 26 string 26 | # 27 | # Accounting Attributes 28 | # 29 | ATTRIBUTE UserLogon-Acct-TerminateCause 50 string 30 | 31 | VALUE UserLogon-Type FTP 1 32 | VALUE UserLogon-Type WEB 2 33 | VALUE UserLogon-Type POP 3 34 | VALUE UserLogon-Type IMAP 4 35 | VALUE UserLogon-Type Windows-Logon 5 36 | VALUE UserLogon-Type Unix-Logon 6 37 | VALUE UserLogon-Type SMTP-Auth 7 38 | VALUE UserLogon-Type Other 200 39 | 40 | VALUE UserLogon-Restriction Anonymous-User 1 41 | VALUE UserLogon-Restriction Admin-User 2 42 | 43 | END-VENDOR NTUA 44 | -------------------------------------------------------------------------------- /dicts/dictionary.mikrotik: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # http://www.mikrotik.com 3 | # 4 | # http://www.mikrotik.com/documentation//manual_2.9/dictionary 5 | # 6 | # Do NOT follow their instructions and replace the dictionary 7 | # in /etc/raddb with the one that they supply. It is NOT necessary. 8 | # 9 | # On top of that, the sample dictionary file they provide 10 | # DOES NOT WORK. Do NOT use it. 11 | # 12 | # $Id$ 13 | # 14 | VENDOR Mikrotik 14988 15 | 16 | BEGIN-VENDOR Mikrotik 17 | 18 | ATTRIBUTE Mikrotik-Recv-Limit 1 integer 19 | ATTRIBUTE Mikrotik-Xmit-Limit 2 integer 20 | 21 | # this attribute is unused 22 | ATTRIBUTE Mikrotik-Group 3 string 23 | 24 | ATTRIBUTE Mikrotik-Wireless-Forward 4 integer 25 | ATTRIBUTE Mikrotik-Wireless-Skip-Dot1x 5 integer 26 | ATTRIBUTE Mikrotik-Wireless-Enc-Algo 6 integer 27 | ATTRIBUTE Mikrotik-Wireless-Enc-Key 7 string 28 | ATTRIBUTE Mikrotik-Rate-Limit 8 string 29 | ATTRIBUTE Mikrotik-Realm 9 string 30 | ATTRIBUTE Mikrotik-Host-IP 10 ipaddr 31 | ATTRIBUTE Mikrotik-Mark-Id 11 string 32 | ATTRIBUTE Mikrotik-Advertise-URL 12 string 33 | ATTRIBUTE Mikrotik-Advertise-Interval 13 integer 34 | ATTRIBUTE Mikrotik-Recv-Limit-Gigawords 14 integer 35 | ATTRIBUTE Mikrotik-Xmit-Limit-Gigawords 15 integer 36 | # MikroTik Values 37 | 38 | VALUE Mikrotik-Wireless-Enc-Algo No-encryption 0 39 | VALUE Mikrotik-Wireless-Enc-Algo 40-bit-WEP 1 40 | VALUE Mikrotik-Wireless-Enc-Algo 104-bit-WEP 2 41 | 42 | END-VENDOR Mikrotik 43 | -------------------------------------------------------------------------------- /dicts/dictionary.openser: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # OpenSER dictionary. 5 | # 6 | # This dictionary is NOT included by default, because it conflicts 7 | # with attributes defined in the RADIUS standard. Vendors SHOULD 8 | # be using a VSA space to assign attributes. 9 | # 10 | # Be aware that if you DO include this dictionary in the main 11 | # dictionary file, other parts of your configuration may break! 12 | # 13 | # http://www.openser.org/docs/openser-radius-1.0.x.html 14 | # 15 | # $Id$ 16 | # 17 | ############################################################################## 18 | 19 | ATTRIBUTE Sip-Method 101 integer 20 | ATTRIBUTE Sip-Response-Code 102 integer 21 | ATTRIBUTE Sip-Cseq 103 string 22 | ATTRIBUTE Sip-To-Tag 104 string 23 | ATTRIBUTE Sip-From-Tag 105 string 24 | ATTRIBUTE Sip-Translated-Request-URI 107 string 25 | ATTRIBUTE Sip-Src-IP 108 string 26 | ATTRIBUTE Sip-Src-Port 109 string 27 | ATTRIBUTE Sip-Uri-User 208 string 28 | ATTRIBUTE Sip-Group 211 string 29 | ATTRIBUTE Sip-Rpid 213 string 30 | ATTRIBUTE SIP-AVP 225 string 31 | 32 | VALUE Service-Type Group-Check 12 33 | VALUE Service-Type Sip-Session 15 34 | VALUE Service-Type SIP-Caller-AVPs 30 35 | VALUE Service-Type SIP-Callee-AVPs 31 36 | 37 | VALUE Sip-Method INVITE 1 38 | VALUE Sip-Method CANCEL 2 39 | VALUE Sip-Method ACK 4 40 | VALUE Sip-Method BYE 8 41 | -------------------------------------------------------------------------------- /dicts/dictionary.compat: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Obsolete names for backwards compatibility with older users files. 4 | # Move the $INCLUDE in the main dictionary file to the end if you want 5 | # these names to be used in the "details" logfile. 6 | # 7 | ATTRIBUTE Password 2 string encrypt=1 8 | ATTRIBUTE Client-Id 4 ipaddr 9 | ATTRIBUTE Client-Port-Id 5 integer 10 | ATTRIBUTE User-Service-Type 6 integer 11 | ATTRIBUTE Framed-Address 8 ipaddr 12 | ATTRIBUTE Framed-Netmask 9 ipaddr 13 | ATTRIBUTE Framed-Filter-Id 11 string 14 | ATTRIBUTE Login-Host 14 ipaddr 15 | ATTRIBUTE Login-Port 16 integer 16 | ATTRIBUTE Old-Password 17 string 17 | ATTRIBUTE Port-Message 18 string 18 | ATTRIBUTE Dialback-No 19 string 19 | ATTRIBUTE Dialback-Name 20 string 20 | ATTRIBUTE Challenge-State 24 string 21 | VALUE Framed-Compression Van-Jacobsen-TCP-IP 1 22 | VALUE Framed-Compression VJ-TCP-IP 1 23 | VALUE Service-Type Shell-User 6 24 | VALUE Auth-Type Unix 1 25 | VALUE Service-Type Dialback-Login-User 3 26 | VALUE Service-Type Dialback-Framed-User 4 27 | VALUE Service-Type Dialout-Framed-User 5 28 | 29 | # 30 | # For compatibility with MERIT users files. 31 | # 32 | ATTRIBUTE Login-Callback-Number 19 string 33 | ATTRIBUTE Framed-Callback-Id 20 string 34 | ATTRIBUTE Client-Port-DNIS 30 string 35 | ATTRIBUTE Caller-ID 31 string 36 | VALUE Service-Type Login 1 37 | VALUE Service-Type Framed 2 38 | VALUE Service-Type Callback-Login 3 39 | VALUE Service-Type Callback-Framed 4 40 | VALUE Service-Type Exec-User 7 41 | -------------------------------------------------------------------------------- /dicts/dictionary.itk: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # http://www.digieurope.com/ 4 | # $Id$ 5 | # 6 | VENDOR ITK 1195 7 | 8 | BEGIN-VENDOR ITK 9 | 10 | ATTRIBUTE ITK-Auth-Serv-IP 100 ipaddr 11 | ATTRIBUTE ITK-Auth-Serv-Prot 101 integer 12 | ATTRIBUTE ITK-Provider-Id 102 integer 13 | ATTRIBUTE ITK-Usergroup 103 integer 14 | ATTRIBUTE ITK-Banner 104 string 15 | ATTRIBUTE ITK-Username-Prompt 105 string 16 | ATTRIBUTE ITK-Password-Prompt 106 string 17 | ATTRIBUTE ITK-Welcome-Message 107 string 18 | ATTRIBUTE ITK-Prompt 108 string 19 | ATTRIBUTE ITK-IP-Pool 109 integer 20 | ATTRIBUTE ITK-Tunnel-IP 110 ipaddr 21 | ATTRIBUTE ITK-Tunnel-Prot 111 integer 22 | ATTRIBUTE ITK-Acct-Serv-IP 112 ipaddr 23 | ATTRIBUTE ITK-Acct-Serv-Prot 113 integer 24 | ATTRIBUTE ITK-Filter-Rule 114 string 25 | ATTRIBUTE ITK-Channel-Binding 115 integer 26 | ATTRIBUTE ITK-Start-Delay 116 integer 27 | ATTRIBUTE ITK-NAS-Name 117 string 28 | ATTRIBUTE ITK-ISDN-Prot 118 integer 29 | ATTRIBUTE ITK-PPP-Auth-Type 119 integer 30 | ATTRIBUTE ITK-Dialout-Type 120 integer 31 | ATTRIBUTE ITK-Ftp-Auth-IP 121 ipaddr 32 | ATTRIBUTE ITK-Users-Default-Entry 122 string 33 | ATTRIBUTE ITK-Users-Default-Pw 123 string 34 | ATTRIBUTE ITK-Auth-Req-Type 124 string 35 | ATTRIBUTE ITK-Modem-Pool-Id 125 integer 36 | ATTRIBUTE ITK-Modem-Init-String 126 string 37 | ATTRIBUTE ITK-PPP-Client-Server-Mode 127 integer 38 | ATTRIBUTE ITK-PPP-Compression-Prot 128 string 39 | ATTRIBUTE ITK-Username 129 string 40 | ATTRIBUTE ITK-Dest-No 130 string 41 | ATTRIBUTE ITK-DDI 131 string 42 | 43 | END-VENDOR ITK 44 | -------------------------------------------------------------------------------- /dicts/dictionary.chillispot: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # ChilliSpot (and CoovaChilli) captive portal 5 | # http://www.chillispot.org 6 | # http://coova.org/wiki/index.php/CoovaChilli 7 | # 8 | # $Id$ 9 | # 10 | ############################################################################## 11 | 12 | VENDOR ChilliSpot 14559 13 | 14 | BEGIN-VENDOR ChilliSpot 15 | 16 | ATTRIBUTE ChilliSpot-Max-Input-Octets 1 integer 17 | ATTRIBUTE ChilliSpot-Max-Output-Octets 2 integer 18 | ATTRIBUTE ChilliSpot-Max-Total-Octets 3 integer 19 | ATTRIBUTE ChilliSpot-Bandwidth-Max-Up 4 integer 20 | ATTRIBUTE ChilliSpot-Bandwidth-Max-Down 5 integer 21 | ATTRIBUTE ChilliSpot-Config 6 string 22 | ATTRIBUTE ChilliSpot-Lang 7 string 23 | ATTRIBUTE ChilliSpot-Version 8 string 24 | ATTRIBUTE ChilliSpot-OriginalURL 9 string 25 | 26 | 27 | # Configuration management parameters (ChilliSpot Only) 28 | ATTRIBUTE ChilliSpot-UAM-Allowed 100 string 29 | ATTRIBUTE ChilliSpot-MAC-Allowed 101 string 30 | ATTRIBUTE ChilliSpot-Interval 102 integer 31 | 32 | # Inline with RFC 2882 use of VSE-Authorize-Only for remote config 33 | # Note that 14559 = 0x38df is used as prefix for the VSE. 34 | # This is recognized as the best (but bad) way of doing VSEs. 35 | # (ChilliSpot Only - CoovaChilli uses Service-Type = Administrative-User) 36 | VALUE Service-Type ChilliSpot-Authorize-Only 0x38df0001 37 | 38 | END-VENDOR ChilliSpot 39 | -------------------------------------------------------------------------------- /dicts/dictionary.3com: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # 3com SuperStack Firewall dictionary 4 | # Bought from Sonicwall, apparently, from Enterprise number 8741. 5 | # 6 | # $Id$ 7 | # 8 | 9 | VENDOR 3com 43 10 | 11 | # 12 | # These attributes contain the access-level value. 13 | # 14 | BEGIN-VENDOR 3com 15 | 16 | ATTRIBUTE 3Com-User-Access-Level 1 integer 17 | 18 | # Read-only access to basic network tools (ping, etc) 19 | VALUE 3Com-User-Access-Level 3Com-Visitor 0 20 | 21 | # Read-only access to manageable (not security) parameters 22 | VALUE 3Com-User-Access-Level 3Com-Monitor 1 23 | 24 | # Read-write access to manageable (not security) parameters 25 | VALUE 3Com-User-Access-Level 3Com-Manager 2 26 | 27 | # Read-write access to all manageable parameters 28 | VALUE 3Com-User-Access-Level 3Com-Administrator 3 29 | 30 | ATTRIBUTE 3Com-VLAN-Name 2 string 31 | ATTRIBUTE 3Com-Mobility-Profile 3 string 32 | ATTRIBUTE 3Com-Encryption-Type 4 string 33 | ATTRIBUTE 3Com-Time-Of-Day 5 string 34 | ATTRIBUTE 3Com-SSID 6 string 35 | 36 | # String formatted as: YY/MM/DD-HH:MM 37 | # NOT as a "date" attribute! 38 | ATTRIBUTE 3Com-End-Date 7 string 39 | 40 | # Commented out, because the 3Com documentation 41 | # gives it the same number as End-Date, above. 42 | #ATTRIBUTE 3Com-Start-Date 7 string 43 | 44 | # URL where the user is redirected after WebAAA 45 | ATTRIBUTE 3Com-URL 8 string 46 | 47 | ATTRIBUTE 3Com-Connect_Id 26 integer 48 | ATTRIBUTE 3Com-NAS-Startup-Timestamp 59 integer 49 | ATTRIBUTE 3Com-Ip-Host-Addr 60 string 50 | ATTRIBUTE 3Com-Product-ID 255 string 51 | 52 | END-VENDOR 3com 53 | -------------------------------------------------------------------------------- /dicts/dictionary.motorola.wimax: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Motorola WiMAX attributes. 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Motorola 161 11 | 12 | BEGIN-VENDOR Motorola 13 | 14 | ATTRIBUTE Motorola-WiMAX-MIP-MN-HOME-ADDRESS 10 ipaddr 15 | ATTRIBUTE Motorola-WiMAX-MIP-KEY 11 string encrypt=2 16 | ATTRIBUTE Motorola-WiMAX-MIP-SPI 12 integer 17 | ATTRIBUTE Motorola-WiMAX-MN-HA 13 ipaddr 18 | ATTRIBUTE Motorola-WiMAX-DNS-Server-IP-Address 20 octets 19 | ATTRIBUTE Motorola-WiMAX-User-NAI 22 string 20 | ATTRIBUTE Motorola-WiMAX-Network-Domain-Name 30 string 21 | ATTRIBUTE Motorola-WiMAX-EMS-Address 31 ipaddr 22 | ATTRIBUTE Motorola-WiMAX-Provisioning-Server 32 string 23 | ATTRIBUTE Motorola-WiMAX-NTP-Server 34 octets 24 | ATTRIBUTE Motorola-WiMAX-HO-SVC-CLASS 35 octets 25 | ATTRIBUTE Motorola-WiMAX-Home-BTS 50 octets 26 | ATTRIBUTE Motorola-WiMAX-Maximum-Total-Bandwidth 60 octets 27 | ATTRIBUTE Motorola-WiMAX-Maximum-Commit-Bandwidth 61 octets 28 | ATTRIBUTE Motorola-WiMAX-Convergence-Sublayer 63 octets 29 | ATTRIBUTE Motorola-WiMAX-Service-Flows 64 string 30 | ATTRIBUTE Motorola-WiMAX-VLAN-ID 65 octets 31 | 32 | END-VENDOR Motorola 33 | -------------------------------------------------------------------------------- /dicts/dictionary.quintum: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.quintum 4 | # 5 | # Copied mostly from the Cisco dictionary, by 6 | # Jeremy McNamara 7 | # 8 | # Version: $Id$ 9 | # 10 | 11 | VENDOR Quintum 6618 12 | 13 | # 14 | # Standard attribute 15 | # 16 | BEGIN-VENDOR Quintum 17 | 18 | ATTRIBUTE Quintum-AVPair 1 string 19 | ATTRIBUTE Quintum-NAS-Port 2 string 20 | 21 | # 22 | # Voice over IP attributes. 23 | # 24 | ATTRIBUTE Quintum-h323-remote-address 23 string 25 | ATTRIBUTE Quintum-h323-conf-id 24 string 26 | ATTRIBUTE Quintum-h323-setup-time 25 string 27 | ATTRIBUTE Quintum-h323-call-origin 26 string 28 | ATTRIBUTE Quintum-h323-call-type 27 string 29 | ATTRIBUTE Quintum-h323-connect-time 28 string 30 | ATTRIBUTE Quintum-h323-disconnect-time 29 string 31 | ATTRIBUTE Quintum-h323-disconnect-cause 30 string 32 | ATTRIBUTE Quintum-h323-voice-quality 31 string 33 | ATTRIBUTE Quintum-h323-gw-id 33 string 34 | ATTRIBUTE Quintum-h323-incoming-conf-id 35 string 35 | 36 | ATTRIBUTE Quintum-h323-credit-amount 101 string 37 | ATTRIBUTE Quintum-h323-credit-time 102 string 38 | ATTRIBUTE Quintum-h323-return-code 103 string 39 | ATTRIBUTE Quintum-h323-prompt-id 104 string 40 | ATTRIBUTE Quintum-h323-time-and-day 105 string 41 | ATTRIBUTE Quintum-h323-redirect-number 106 string 42 | ATTRIBUTE Quintum-h323-preferred-lang 107 string 43 | ATTRIBUTE Quintum-h323-redirect-ip-address 108 string 44 | ATTRIBUTE Quintum-h323-billing-model 109 string 45 | ATTRIBUTE Quintum-h323-currency-type 110 string 46 | 47 | ATTRIBUTE Quintum-Trunkid-In 230 string 48 | ATTRIBUTE Quintum-Trunkid-Out 231 string 49 | 50 | END-VENDOR Quintum 51 | -------------------------------------------------------------------------------- /test/radius_util_test.exs: -------------------------------------------------------------------------------- 1 | defmodule Radius.UtilTest do 2 | use ExUnit.Case, async: true 3 | 4 | @a <<131, 203, 230, 68, 225, 38, 170, 174, 240, 200, 112, 101, 138, 46, 93, 66>> 5 | @e <<47, 30, 188, 38, 120, 163, 223, 41, 29, 48, 100, 113, 255, 68, 152, 156>> 6 | @s "112233" 7 | @p "1234" 8 | 9 | @a_long <<112, 201, 55, 232, 16, 34, 158, 42, 134, 188, 54, 96, 180, 224, 125, 13>> 10 | @e_long <<3, 1, 53, 143, 84, 247, 176, 236, 161, 76, 181, 246, 222, 25, 58, 108, 86, 46, 119, 11 | 108, 134, 209, 142, 31, 93, 83, 184, 136, 162, 52, 164, 111>> 12 | @s_long "abcd" 13 | @p_long "12345678901234567890" 14 | 15 | test "RFC2865 encrypt" do 16 | assert Radius.Util.encrypt_rfc2865(@p, @s, @a) == @e 17 | end 18 | 19 | test "RFC2865 encrypt (long)" do 20 | assert Radius.Util.encrypt_rfc2865(@p_long, @s_long, @a_long) == @e_long 21 | end 22 | 23 | test "RFC2865 decrypt" do 24 | assert Radius.Util.decrypt_rfc2865(@e, @s, @a) == @p 25 | end 26 | 27 | test "RFC2865 decrypt (long)" do 28 | assert Radius.Util.decrypt_rfc2865(@e_long, @s_long, @a_long) == @p_long 29 | end 30 | 31 | test "RFC2865 utf8" do 32 | p = "测试1234测试1234测试1234" 33 | e = Radius.Util.encrypt_rfc2865(p, @s, @a) 34 | assert Radius.Util.decrypt_rfc2865(e, @s, @a) == p 35 | end 36 | 37 | test "RFC2865 empty_string" do 38 | p = "" 39 | e = Radius.Util.encrypt_rfc2865(p, @s, @a) 40 | assert Radius.Util.decrypt_rfc2865(e, @s, @a) == p 41 | end 42 | 43 | test "RFC2868" do 44 | p = "测试1234测试1234测试1234" 45 | e = Radius.Util.encrypt_rfc2868(p, @s, @a) 46 | assert Radius.Util.decrypt_rfc2868(e, @s, @a) == p 47 | end 48 | end 49 | -------------------------------------------------------------------------------- /dicts/dictionary.infonet: -------------------------------------------------------------------------------- 1 | # 2 | # dictionary.infonet 3 | # 4 | # Accounting VSAs by 5 | # "Bernard Lhoas from Infonet" 6 | # 7 | # Version: @(#)dictionary.infonet 1.00 8 | # 9 | 10 | VENDOR infonet 4453 11 | 12 | # 13 | # Standard attribute 14 | # 15 | # I would like to change the attribute number of Infonet-Account-Number 16 | # but we are already using it in production and changing could get 17 | # messy. Same with Infonet-Type. -Clark 18 | BEGIN-VENDOR infonet 19 | 20 | ATTRIBUTE Infonet-Proxy 238 string 21 | ATTRIBUTE Infonet-Config 239 string 22 | ATTRIBUTE Infonet-MCS-Country 240 string 23 | ATTRIBUTE Infonet-MCS-Region 241 string 24 | ATTRIBUTE Infonet-MCS-Off-Peak 242 string 25 | ATTRIBUTE Infonet-MCS-Overflow 243 string 26 | ATTRIBUTE Infonet-MCS-Port 244 string 27 | ATTRIBUTE Infonet-MCS-Port-Count 245 string 28 | ATTRIBUTE Infonet-Account-Number 247 string 29 | ATTRIBUTE Infonet-Type 248 string 30 | 31 | # 32 | # Infonet-Specific Attributes 33 | # 34 | # Note: Only Attributes < 256 will go on the wire. They are known as 35 | # "wire attributes". 36 | # Attributes > 256 don't get sent to a NAS and don't get forwarded 37 | # to a proxy site. This includes accounting packets as well as 38 | # auth packets. 39 | # 40 | ATTRIBUTE Infonet-Pool-Request 252 string 41 | ATTRIBUTE Infonet-Surcharge-Type 254 integer 42 | ATTRIBUTE Infonet-NAS-Location 255 string 43 | ATTRIBUTE Infonet-Random-IP-Pool 246 string 44 | # 45 | ATTRIBUTE Infonet-Realm-Type 249 string 46 | ATTRIBUTE Infonet-LoginHost-Dest 250 string 47 | ATTRIBUTE Infonet-Tunnel-Decision-IP 251 string 48 | 49 | 50 | END-VENDOR infonet 51 | -------------------------------------------------------------------------------- /dicts/dictionary.azaire: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Azaire VSAs 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Azaire 7751 11 | 12 | BEGIN-VENDOR Azaire 13 | 14 | ATTRIBUTE Azaire-Triplets 1 octets 15 | ATTRIBUTE Azaire-IMSI 2 octets 16 | ATTRIBUTE Azaire-MSISDN 3 octets 17 | ATTRIBUTE Azaire-APN 4 string 18 | ATTRIBUTE Azaire-QoS 5 octets 19 | ATTRIBUTE Azaire-Selection-Mode 6 integer 20 | ATTRIBUTE Azaire-APN-Resolution-Req 7 integer 21 | ATTRIBUTE Azaire-Start-Time 8 octets 22 | ATTRIBUTE Azaire-NAS-Type 9 integer 23 | ATTRIBUTE Azaire-Status 10 integer 24 | ATTRIBUTE Azaire-APN-OI 11 string 25 | ATTRIBUTE Azaire-Auth-Type 12 integer 26 | ATTRIBUTE Azaire-Gn-User-Name 13 string 27 | ATTRIBUTE Azaire-Brand-Code 14 string 28 | ATTRIBUTE Azaire-Policy-Name 15 string 29 | ATTRIBUTE Azaire-Client-Local-IP 16 ipaddr 30 | 31 | VALUE Azaire-Selection-Mode Subscribed 0 32 | VALUE Azaire-Selection-Mode Sent-By-MS 1 33 | VALUE Azaire-Selection-Mode Chosen-By-SGSN 2 34 | 35 | VALUE Azaire-APN-Resolution-Req Not-Required 0 36 | VALUE Azaire-APN-Resolution-Req Required 1 37 | 38 | VALUE Azaire-Status Success 0 39 | VALUE Azaire-Status Failure 1 40 | 41 | VALUE Azaire-Auth-Type PPP-SIM 1 42 | VALUE Azaire-Auth-Type Dummy-IMSI 2 43 | VALUE Azaire-Auth-Type Soft-SIM 3 44 | VALUE Azaire-Auth-Type Radius-SIM 4 45 | VALUE Azaire-Auth-Type Post-paid 5 46 | VALUE Azaire-Auth-Type Pre-paid 6 47 | VALUE Azaire-Auth-Type Local-Radius 7 48 | VALUE Azaire-Auth-Type Proxy-Radius 8 49 | 50 | END-VENDOR Azaire 51 | -------------------------------------------------------------------------------- /dicts/dictionary.bintec: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Bintec dictionary 4 | # $Id$ 5 | # 6 | # 7 | # 8 | VENDOR BinTec 272 9 | 10 | # (272 << 16) | N 11 | # 12 | VALUE Framed-Protocol Bintec-X25 0x01100002 13 | VALUE Framed-Protocol Bintec-X25-PPP 0x01100003 14 | VALUE Framed-Protocol Bintec-IP-LAPB 0x01100004 15 | VALUE Framed-Protocol Bintec-IP-HDLC 0x01100006 16 | VALUE Framed-Protocol Bintec-MPR-LAPB 0x01100007 17 | VALUE Framed-Protocol Bintec-MPR-HDLC 0x01100008 18 | VALUE Framed-Protocol Bintec-FRAME-RELAY 0x01100009 19 | VALUE Framed-Protocol Bintec-X31-BCHAN 0x0110000a 20 | VALUE Framed-Protocol Bintec-X75-PPP 0x0110000b 21 | VALUE Framed-Protocol Bintec-X75BTX-PPP 0x0110000c 22 | VALUE Framed-Protocol Bintec-X25-NOSIG 0x0110000d 23 | VALUE Framed-Protocol Bintec-X25-PPP-OPT 0x0110000e 24 | 25 | # 26 | # 27 | BEGIN-VENDOR BinTec 28 | 29 | ATTRIBUTE BinTec-biboPPPTable 224 string 30 | ATTRIBUTE BinTec-biboDialTable 225 string 31 | ATTRIBUTE BinTec-ipExtIfTable 226 string 32 | ATTRIBUTE BinTec-ipRouteTable 227 string 33 | ATTRIBUTE BinTec-ipExtRtTable 228 string 34 | ATTRIBUTE BinTec-ipNatPresetTable 229 string 35 | ATTRIBUTE BinTec-ipxCircTable 230 string 36 | ATTRIBUTE BinTec-ripCircTable 231 string 37 | ATTRIBUTE BinTec-sapCircTable 232 string 38 | ATTRIBUTE BinTec-ipxStaticRouteTable 233 string 39 | ATTRIBUTE BinTec-ipxStaticServTable 234 string 40 | ATTRIBUTE BinTec-ospfIfTable 235 string 41 | ATTRIBUTE BinTec-pppExtIfTable 236 string 42 | ATTRIBUTE BinTec-ipFilterTable 237 string 43 | ATTRIBUTE BinTec-ipQoSTable 238 string 44 | ATTRIBUTE BinTec-qosIfTable 239 string 45 | ATTRIBUTE BinTec-qosPolicyTable 240 string 46 | 47 | END-VENDOR BinTec 48 | -------------------------------------------------------------------------------- /dicts/dictionary.utstarcom: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # UT Starcom (China) 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR UTStarcom 7064 11 | 12 | BEGIN-VENDOR UTStarcom 13 | 14 | ATTRIBUTE UTStarcom-VLAN-ID 140 integer 15 | ATTRIBUTE UTStarcom-CommittedBandwidth 142 integer 16 | ATTRIBUTE UTStarcom-MaxBandwidth 143 integer 17 | ATTRIBUTE UTStarcom-Priority 145 integer 18 | ATTRIBUTE UTStarcom-Error-Reason 147 integer 19 | ATTRIBUTE UTStarcom-PrimaryDNS 152 integer 20 | ATTRIBUTE UTStarcom-SecondaryDNS 153 integer 21 | ATTRIBUTE UTStarcom-MaxBurstSize 161 integer 22 | ATTRIBUTE UTStarcom-MaxDelay 162 integer 23 | ATTRIBUTE UTStarcom-MaxJitter 163 integer 24 | ATTRIBUTE UTStarcom-DeviceId 165 string 25 | ATTRIBUTE UTStarcom-Module-Id 166 integer 26 | ATTRIBUTE UTStarcom-Port-No 167 integer 27 | ATTRIBUTE UTStarcom-Logical-Port-No 168 integer 28 | ATTRIBUTE UTStarcom-UNI-MAX-MAC 169 integer 29 | ATTRIBUTE UTStarcom-Default-Gateway 170 integer 30 | ATTRIBUTE UTStarcom-CLI-Access-Level 171 integer 31 | ATTRIBUTE UTStarcom-Act-Input-Octets 180 string 32 | ATTRIBUTE UTStarcom-Act-Output-Octets 181 string 33 | ATTRIBUTE UTStarcom-Act-Input-Frames 182 string 34 | ATTRIBUTE UTStarcom-Act-Output-Frames 183 string 35 | ATTRIBUTE UTStarcom-Onu-MC-Filter-Enable 184 integer 36 | ATTRIBUTE UTStarcom-UNI-Auto-Negotiation 185 integer 37 | ATTRIBUTE UTStarcom-UNI-Speed 186 integer 38 | ATTRIBUTE UTStarcom-UNI-Duplex 187 integer 39 | ATTRIBUTE UTStarcom-ONU-Admin_status 188 integer 40 | ATTRIBUTE UTStarcom-ONU-FW-SC-Upgrade 189 integer 41 | 42 | END-VENDOR UTStarcom 43 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc2868: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 2868. 4 | # http://www.ietf.org/rfc/rfc2868.txt 5 | # 6 | # $Id$ 7 | # 8 | ATTRIBUTE Tunnel-Type 64 integer has_tag 9 | ATTRIBUTE Tunnel-Medium-Type 65 integer has_tag 10 | ATTRIBUTE Tunnel-Client-Endpoint 66 string has_tag 11 | ATTRIBUTE Tunnel-Server-Endpoint 67 string has_tag 12 | 13 | ATTRIBUTE Tunnel-Password 69 string has_tag,encrypt=2 14 | 15 | ATTRIBUTE Tunnel-Private-Group-Id 81 string has_tag 16 | ATTRIBUTE Tunnel-Assignment-Id 82 string has_tag 17 | ATTRIBUTE Tunnel-Preference 83 integer has_tag 18 | 19 | ATTRIBUTE Tunnel-Client-Auth-Id 90 string has_tag 20 | ATTRIBUTE Tunnel-Server-Auth-Id 91 string has_tag 21 | 22 | # Tunnel Type 23 | 24 | VALUE Tunnel-Type PPTP 1 25 | VALUE Tunnel-Type L2F 2 26 | VALUE Tunnel-Type L2TP 3 27 | VALUE Tunnel-Type ATMP 4 28 | VALUE Tunnel-Type VTP 5 29 | VALUE Tunnel-Type AH 6 30 | VALUE Tunnel-Type IP 7 31 | VALUE Tunnel-Type MIN-IP 8 32 | VALUE Tunnel-Type ESP 9 33 | VALUE Tunnel-Type GRE 10 34 | VALUE Tunnel-Type DVS 11 35 | VALUE Tunnel-Type IP-in-IP 12 36 | 37 | # Tunnel Medium Type 38 | 39 | VALUE Tunnel-Medium-Type IP 1 40 | VALUE Tunnel-Medium-Type IPv4 1 41 | VALUE Tunnel-Medium-Type IPv6 2 42 | VALUE Tunnel-Medium-Type NSAP 3 43 | VALUE Tunnel-Medium-Type HDLC 4 44 | VALUE Tunnel-Medium-Type BBN-1822 5 45 | VALUE Tunnel-Medium-Type IEEE-802 6 46 | VALUE Tunnel-Medium-Type E.163 7 47 | VALUE Tunnel-Medium-Type E.164 8 48 | VALUE Tunnel-Medium-Type F.69 9 49 | VALUE Tunnel-Medium-Type X.121 10 50 | VALUE Tunnel-Medium-Type IPX 11 51 | VALUE Tunnel-Medium-Type Appletalk 12 52 | VALUE Tunnel-Medium-Type DecNet-IV 13 53 | VALUE Tunnel-Medium-Type Banyan-Vines 14 54 | VALUE Tunnel-Medium-Type E.164-NSAP 15 55 | -------------------------------------------------------------------------------- /lib/radius/util.ex: -------------------------------------------------------------------------------- 1 | defmodule Radius.Util do 2 | @moduledoc false 3 | require Logger 4 | import Bitwise 5 | 6 | def encrypt_rfc2865(passwd, secret, auth) do 7 | passwd 8 | |> pad_to_16() 9 | |> hash_xor(auth, secret, []) 10 | end 11 | 12 | def decrypt_rfc2865(passwd, secret, auth) do 13 | passwd 14 | |> hash_xor(auth, secret, [], reverse: true) 15 | |> String.trim_trailing("\0") 16 | end 17 | 18 | def encrypt_rfc2868(passwd, secret, auth) do 19 | salt = :crypto.strong_rand_bytes(2) 20 | 21 | encrypted = 22 | passwd 23 | |> pad_to_16() 24 | |> hash_xor(auth <> salt, secret, []) 25 | 26 | salt <> encrypted 27 | end 28 | 29 | def decrypt_rfc2868(<>, secret, auth) do 30 | passwd 31 | |> hash_xor(auth <> salt, secret, [], reverse: true) 32 | |> String.trim_trailing("\0") 33 | end 34 | 35 | defp hash_xor(input, hash, secret, acc, opts \\ []) 36 | 37 | defp hash_xor(<<>>, _, _, acc, _) do 38 | acc |> Enum.reverse() |> IO.iodata_to_binary() 39 | end 40 | 41 | @block_binary_size 16 42 | @block_size @block_binary_size * 8 43 | defp hash_xor(<>, hash, secret, acc, opts) do 44 | hash = :crypto.hash(:md5, secret <> hash) 45 | xor_block = binary_xor(block, hash) 46 | next = if(opts |> Keyword.get(:reverse, false), do: block, else: xor_block) 47 | hash_xor(rest, next, secret, [xor_block | acc]) 48 | end 49 | 50 | defp binary_xor(<>, <>) do 51 | z = bxor(x, y) 52 | <> 53 | end 54 | 55 | defp pad_to_16(bin) do 56 | remainder = Integer.mod(byte_size(bin), 16) 57 | 58 | if remainder == 0 do 59 | bin 60 | else 61 | padding = 16 - remainder 62 | <> 63 | end 64 | end 65 | end 66 | -------------------------------------------------------------------------------- /dicts/dictionary.foundry: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.foundry 4 | # 5 | # As posted to the list by Thomas Keitel 6 | # 7 | # Version: $Id$ 8 | # 9 | 10 | VENDOR Foundry 1991 11 | 12 | BEGIN-VENDOR Foundry 13 | 14 | ATTRIBUTE Foundry-Privilege-Level 1 integer 15 | ATTRIBUTE Foundry-Command-String 2 string 16 | ATTRIBUTE Foundry-Command-Exception-Flag 3 integer 17 | ATTRIBUTE Foundry-INM-Privilege 4 integer 18 | ATTRIBUTE Foundry-Access-List 5 string 19 | ATTRIBUTE Foundry-MAC-Authent-needs-802.1x 6 integer 20 | ATTRIBUTE Foundry-802.1x-Valid-Lookup 7 integer 21 | ATTRIBUTE Foundry-MAC-Based-Vlan-QoS 8 integer 22 | ATTRIBUTE Foundry-INM-Role-Aor-List 9 string 23 | 24 | VALUE Foundry-INM-Privilege AAA_pri_0 0 25 | VALUE Foundry-INM-Privilege AAA_pri_1 1 26 | VALUE Foundry-INM-Privilege AAA_pri_2 2 27 | VALUE Foundry-INM-Privilege AAA_pri_3 3 28 | VALUE Foundry-INM-Privilege AAA_pri_4 4 29 | VALUE Foundry-INM-Privilege AAA_pri_5 5 30 | VALUE Foundry-INM-Privilege AAA_pri_6 6 31 | VALUE Foundry-INM-Privilege AAA_pri_7 7 32 | VALUE Foundry-INM-Privilege AAA_pri_8 8 33 | VALUE Foundry-INM-Privilege AAA_pri_9 9 34 | VALUE Foundry-INM-Privilege AAA_pri_10 10 35 | VALUE Foundry-INM-Privilege AAA_pri_11 11 36 | VALUE Foundry-INM-Privilege AAA_pri_12 12 37 | VALUE Foundry-INM-Privilege AAA_pri_13 13 38 | VALUE Foundry-INM-Privilege AAA_pri_14 14 39 | VALUE Foundry-INM-Privilege AAA_pri_15 15 40 | 41 | VALUE Foundry-MAC-Based-Vlan-QoS QoS_priority_0 0 42 | VALUE Foundry-MAC-Based-Vlan-QoS QoS_priority_1 1 43 | VALUE Foundry-MAC-Based-Vlan-QoS QoS_priority_2 2 44 | VALUE Foundry-MAC-Based-Vlan-QoS QoS_priority_3 3 45 | VALUE Foundry-MAC-Based-Vlan-QoS QoS_priority_4 4 46 | VALUE Foundry-MAC-Based-Vlan-QoS QoS_priority_5 5 47 | VALUE Foundry-MAC-Based-Vlan-QoS QoS_priority_6 6 48 | VALUE Foundry-MAC-Based-Vlan-QoS QoS_priority_7 7 49 | 50 | END-VENDOR Foundry 51 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | elixir-radius 2 | ============= 3 | 4 | [![CI](https://github.com/bearice/elixir-radius/actions/workflows/elixir.yml/badge.svg)](https://github.com/bearice/elixir-radius/actions/workflows/elixir.yml) [![Hex.pm version](https://img.shields.io/hexpm/v/elixir_radius.svg?style=flat)](https://hex.pm/packages/elixir_radius) 5 | 6 | RADIUS protocol encoding and decoding 7 | 8 | Example 9 | ------- 10 | ```Elixir 11 | #wrapper of gen_udp 12 | {:ok,sk} = Radius.listen 1812 13 | 14 | loop = fn(loop)-> 15 | #secret can be a string or a function returning a string 16 | #{:ok,host,p} = Radius.recv sk,"123" 17 | {:ok,host,p} = Radius.recv sk,fn(_host) -> secret end 18 | 19 | IO.puts "From #{inspect host} : \n#{inspect p, pretty: true}" 20 | 21 | resp = %Radius.Packet{code: "Access-Reject", id: p.id, secret: p.secret} 22 | Radius.send_reply(sk, host, resp, p.auth) 23 | 24 | loop.(loop) 25 | end 26 | loop.(loop) 27 | ``` 28 | 29 | Dictionary configuration 30 | -------------------- 31 | 32 | 33 | Vendor specific dictionaries are compiled into a specific vendor module. Generic attributes and values 34 | are compiled into `Radius.Dict`. If you add the "cisco" dictionary you will get the module `Radius.Dict.VendorCisco`. 35 | 36 | ```Elixir 37 | config :elixir_radius, 38 | included_dictionaries: ["rfc2865", "rfc2868", "rfc2869", "cisco"] 39 | ``` 40 | 41 | NOTE: By default, this library will compile all known vendors, which is quite slow, but had maxium compatibility with old versions. If you dont need them, please use above config to select what to be compiled. 42 | 43 | You can also add your own dictionaries by providing the paths to `:elixir_radius` in `:extra_dictionaries` 44 | 45 | ```Elixir 46 | config :elixir_radius, 47 | extra_dictionaries: ["path_to_your_dictionary"] 48 | ``` 49 | 50 | Macros 51 | ------ 52 | 53 | `Radius.Dict` exposes a set of macro's so you can construct AVPs and let the compiler confirm the 54 | attributes and save time during runtime. 55 | -------------------------------------------------------------------------------- /mix.exs: -------------------------------------------------------------------------------- 1 | defmodule RadiusProxy.Mixfile do 2 | use Mix.Project 3 | 4 | def project do 5 | [ 6 | app: :elixir_radius, 7 | version: "2.0.1", 8 | elixir: "~> 1.12", 9 | deps: deps(), 10 | name: "Radius", 11 | description: desc(), 12 | package: package(), 13 | source_url: "https://github.com/bearice/elixir-radius", 14 | docs: docs() 15 | ] 16 | end 17 | 18 | # Configuration for the OTP application 19 | # 20 | # Type `mix help compile.app` for more information 21 | def application() do 22 | [ 23 | extra_applications: [:logger, :crypto] 24 | ] 25 | end 26 | 27 | # Dependencies can be Hex packages: 28 | # 29 | # {:mydep, "~> 0.3.0"} 30 | # 31 | # Or git/path repositories: 32 | # 33 | # {:mydep, git: "https://github.com/elixir-lang/mydep.git", tag: "0.1.0"} 34 | # 35 | # Type `mix help deps` for more examples and options 36 | defp deps() do 37 | [ 38 | {:earmark, "~> 1.4", only: :dev}, 39 | {:ex_doc, "~> 0.19", only: :dev}, 40 | {:nimble_parsec, "~> 1.3", only: :dev} 41 | ] 42 | end 43 | 44 | defp desc() do 45 | """ 46 | Decode & encode RADIUS packets 47 | """ 48 | end 49 | 50 | defp package() do 51 | [ 52 | files: ["lib", "mix.exs", "example.exs", "README.md", "LICENSE", "dicts"], 53 | contributors: ["Bearice Ren", "Guilherme Balena Versiani", "Timmo Verlaan"], 54 | licenses: ["MIT License"], 55 | links: %{"Github" => "https://github.com/bearice/elixir-radius"} 56 | ] 57 | end 58 | 59 | defp docs() do 60 | [ 61 | main: "README", 62 | extras: ["README.md"], 63 | groups_for_modules: [ 64 | "Vendor Dictionaries": ~r/Radius\.Dict\.Vendor.+/ 65 | ], 66 | groups_for_docs: [ 67 | "Lookup Functions": &(&1[:group] == :lookup), 68 | Attributes: &(&1[:group] == :attributes), 69 | Values: &(&1[:group] == :values) 70 | ] 71 | ] 72 | end 73 | end 74 | -------------------------------------------------------------------------------- /lib/radius.ex: -------------------------------------------------------------------------------- 1 | defmodule Radius do 2 | alias Radius.Packet 3 | 4 | @doc """ 5 | wrapper of gen_udp.open 6 | """ 7 | def listen(port) do 8 | :gen_udp.open(port, [{:active, false}, {:mode, :binary}]) 9 | end 10 | 11 | @doc """ 12 | recv and decode packet. 13 | 14 | sk :: socket 15 | secret :: string | fn({host,port}) -> string 16 | """ 17 | def recv(sk, secret) when is_binary(secret) do 18 | recv(sk, fn _ -> secret end) 19 | end 20 | 21 | def recv(sk, secret_fn) when is_function(secret_fn) do 22 | {:ok, {host, port, data}} = :gen_udp.recv(sk, 5000) 23 | secret = secret_fn.({host, port}) 24 | packet = Packet.decode(data, secret) 25 | {:ok, {host, port}, packet} 26 | end 27 | 28 | @doc """ 29 | encode and send packet 30 | 31 | sk :: socket 32 | packet:: %Radius.Packet{} 33 | """ 34 | @deprecated "Use send_reply/4 or send_request/3" 35 | def send(sk, {host, port}, packet) do 36 | send_reply(sk, {host, port}, packet, packet.auth) 37 | end 38 | 39 | @doc """ 40 | encode and send reply packet 41 | """ 42 | @spec send_reply( 43 | socket :: port(), 44 | {host :: :inet.ip_address(), port :: :inet.port_number()}, 45 | packet :: Packet.t(), 46 | request_authenticator :: binary() 47 | ) :: :ok | {:error, any()} 48 | def send_reply(sk, {host, port}, packet, request_authenticator) do 49 | %{raw: data} = Packet.encode_reply(packet, request_authenticator) 50 | :gen_udp.send(sk, host, port, data) 51 | end 52 | 53 | @doc """ 54 | encode and send request packet 55 | """ 56 | @spec send_request( 57 | socket :: port(), 58 | {host :: :inet.ip_address(), port :: :inet.port_number()}, 59 | packet :: Packet.t() 60 | ) :: :ok | {:error, any()} 61 | def send_request(sk, {host, port}, packet) do 62 | %{raw: data} = Packet.encode_request(packet) 63 | :gen_udp.send(sk, host, port, data) 64 | end 65 | end 66 | -------------------------------------------------------------------------------- /dicts/dictionary.waverider: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # http://www.waverider.com/ 4 | # $Id$ 5 | # 6 | 7 | VENDOR Waverider 2979 8 | 9 | BEGIN-VENDOR Waverider 10 | ATTRIBUTE Waverider-Grade-Of-Service 1 integer 11 | ATTRIBUTE Waverider-Priority-Enabled 2 integer 12 | ATTRIBUTE Waverider-Authentication-Key 3 string 13 | ATTRIBUTE Waverider-Current-Password 5 string 14 | ATTRIBUTE Waverider-New-Password 6 string 15 | ATTRIBUTE Waverider-Radio-Frequency 7 integer 16 | ATTRIBUTE Waverider-SNMP-Read-Community 8 string 17 | ATTRIBUTE Waverider-SNMP-Write-Community 9 string 18 | ATTRIBUTE Waverider-SNMP-Trap-Server 10 string 19 | ATTRIBUTE Waverider-SNMP-Contact 11 string 20 | ATTRIBUTE Waverider-SNMP-Location 12 string 21 | ATTRIBUTE Waverider-SNMP-Name 13 string 22 | ATTRIBUTE Waverider-Max-Customers 14 integer 23 | ATTRIBUTE Waverider-Rf-Power 15 integer 24 | 25 | VALUE Waverider-Grade-Of-Service be 1 26 | VALUE Waverider-Grade-Of-Service bronze 2 27 | VALUE Waverider-Grade-Of-Service silver 3 28 | VALUE Waverider-Grade-Of-Service gold 4 29 | 30 | VALUE Waverider-Priority-Enabled disabled 0 31 | VALUE Waverider-Priority-Enabled enabled 1 32 | 33 | VALUE Waverider-Radio-Frequency auto 1 34 | VALUE Waverider-Radio-Frequency nomadic 2 35 | VALUE Waverider-Radio-Frequency f_9050 3 36 | VALUE Waverider-Radio-Frequency f_9116 4 37 | VALUE Waverider-Radio-Frequency f_9184 5 38 | VALUE Waverider-Radio-Frequency f_9250 6 39 | VALUE Waverider-Radio-Frequency f_9084 7 40 | VALUE Waverider-Radio-Frequency f_9150 8 41 | VALUE Waverider-Radio-Frequency f_9216 9 42 | 43 | VALUE Waverider-Rf-Power p_15 1 44 | VALUE Waverider-Rf-Power p_16 2 45 | VALUE Waverider-Rf-Power p_17 3 46 | VALUE Waverider-Rf-Power p_18 4 47 | VALUE Waverider-Rf-Power p_19 5 48 | VALUE Waverider-Rf-Power p_20 6 49 | VALUE Waverider-Rf-Power p_21 7 50 | VALUE Waverider-Rf-Power p_22 8 51 | VALUE Waverider-Rf-Power p_23 9 52 | VALUE Waverider-Rf-Power p_24 10 53 | VALUE Waverider-Rf-Power p_25 11 54 | VALUE Waverider-Rf-Power p_26 12 55 | 56 | END-VENDOR Waverider 57 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc2866: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 2866. 4 | # http://www.ietf.org/rfc/rfc2866.txt 5 | # 6 | # $Id$ 7 | # 8 | ATTRIBUTE Acct-Status-Type 40 integer 9 | ATTRIBUTE Acct-Delay-Time 41 integer 10 | ATTRIBUTE Acct-Input-Octets 42 integer 11 | ATTRIBUTE Acct-Output-Octets 43 integer 12 | ATTRIBUTE Acct-Session-Id 44 string 13 | ATTRIBUTE Acct-Authentic 45 integer 14 | ATTRIBUTE Acct-Session-Time 46 integer 15 | ATTRIBUTE Acct-Input-Packets 47 integer 16 | ATTRIBUTE Acct-Output-Packets 48 integer 17 | ATTRIBUTE Acct-Terminate-Cause 49 integer 18 | ATTRIBUTE Acct-Multi-Session-Id 50 string 19 | ATTRIBUTE Acct-Link-Count 51 integer 20 | 21 | # Accounting Status Types 22 | 23 | VALUE Acct-Status-Type Start 1 24 | VALUE Acct-Status-Type Stop 2 25 | VALUE Acct-Status-Type Alive 3 # dup 26 | VALUE Acct-Status-Type Interim-Update 3 27 | VALUE Acct-Status-Type Accounting-On 7 28 | VALUE Acct-Status-Type Accounting-Off 8 29 | VALUE Acct-Status-Type Failed 15 30 | 31 | # Authentication Types 32 | 33 | VALUE Acct-Authentic RADIUS 1 34 | VALUE Acct-Authentic Local 2 35 | VALUE Acct-Authentic Remote 3 36 | VALUE Acct-Authentic Diameter 4 37 | 38 | # Acct Terminate Causes 39 | 40 | VALUE Acct-Terminate-Cause User-Request 1 41 | VALUE Acct-Terminate-Cause Lost-Carrier 2 42 | VALUE Acct-Terminate-Cause Lost-Service 3 43 | VALUE Acct-Terminate-Cause Idle-Timeout 4 44 | VALUE Acct-Terminate-Cause Session-Timeout 5 45 | VALUE Acct-Terminate-Cause Admin-Reset 6 46 | VALUE Acct-Terminate-Cause Admin-Reboot 7 47 | VALUE Acct-Terminate-Cause Port-Error 8 48 | VALUE Acct-Terminate-Cause NAS-Error 9 49 | VALUE Acct-Terminate-Cause NAS-Request 10 50 | VALUE Acct-Terminate-Cause NAS-Reboot 11 51 | VALUE Acct-Terminate-Cause Port-Unneeded 12 52 | VALUE Acct-Terminate-Cause Port-Preempted 13 53 | VALUE Acct-Terminate-Cause Port-Suspended 14 54 | VALUE Acct-Terminate-Cause Service-Unavailable 15 55 | VALUE Acct-Terminate-Cause Callback 16 56 | VALUE Acct-Terminate-Cause User-Error 17 57 | VALUE Acct-Terminate-Cause Host-Request 18 58 | -------------------------------------------------------------------------------- /dicts/dictionary.3gpp: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # 3GPP stuff. 4 | # 5 | # ftp://ftp.3gpp.org/specs/2002-06/R1999/29_series/29061-3a0.zip 6 | # 7 | # $Id$ 8 | # 9 | VENDOR 3GPP 10415 10 | 11 | BEGIN-VENDOR 3GPP 12 | 13 | # 14 | # Most of the 'string' attributes are UTF-8 encoded text. 15 | # Maybe we want a UTF-8 'type' in the server... 16 | # 17 | ATTRIBUTE 3GPP-IMSI 1 string 18 | ATTRIBUTE 3GPP-Charging-ID 2 integer 19 | ATTRIBUTE 3GPP-PDP-Type 3 integer 20 | ATTRIBUTE 3GPP-Charging-Gateway-Address 4 ipaddr 21 | ATTRIBUTE 3GPP-GPRS-Negotiated-QoS-profile 5 string 22 | ATTRIBUTE 3GPP-SGSN-Address 6 ipaddr 23 | ATTRIBUTE 3GPP-GGSN-Address 7 ipaddr 24 | ATTRIBUTE 3GPP-IMSI-MCC-MNC 8 string 25 | ATTRIBUTE 3GPP-GGSN-MCC-MNC 9 string 26 | ATTRIBUTE 3GPP-NSAPI 10 string 27 | ATTRIBUTE 3GPP-Session-Stop-Indicator 11 byte 28 | ATTRIBUTE 3GPP-Selection-Mode 12 string 29 | ATTRIBUTE 3GPP-Charging-Characteristics 13 string 30 | ATTRIBUTE 3GPP-Charging-Gateway-IPv6-Address 14 ipv6addr 31 | ATTRIBUTE 3GPP-SGSN-IPv6-Address 15 ipv6addr 32 | ATTRIBUTE 3GPP-GGSN-IPv6-Address 16 ipv6addr 33 | 34 | # 35 | # This attribute is really an array of IPv6 addresses. 36 | # Why the heck couldn't they just send multiple attributes? 37 | # 38 | ATTRIBUTE 3GPP-IPv6-DNS-Servers 17 octets 39 | 40 | ATTRIBUTE 3GPP-SGSN-MCC-MNC 18 string 41 | ATTRIBUTE 3GPP-Teardown-Indicator 19 byte 42 | ATTRIBUTE 3GPP-IMEISV 20 string 43 | ATTRIBUTE 3GPP-RAT-Type 21 byte 44 | ATTRIBUTE 3GPP-Location-Info 22 octets 45 | ATTRIBUTE 3GPP-MS-Time-Zone 23 integer 46 | ATTRIBUTE 3GPP-Camel-Charging-Info 24 octets 47 | ATTRIBUTE 3GPP-Packet-Filter 25 octets 48 | ATTRIBUTE 3GPP-Negotiated-DSCP 26 byte 49 | ATTRIBUTE 3GPP-Allocate-IP-Type 27 byte 50 | 51 | VALUE 3GPP-RAT-Type IEEE-802.16e 101 52 | VALUE 3GPP-RAT-Type 3GPP2-eHRPD 102 53 | VALUE 3GPP-RAT-Type 3GPP2-HRPD 103 54 | VALUE 3GPP-RAT-Type 3GPP2-1xRTT 104 55 | 56 | VALUE 3GPP-Allocate-IP-Type Do-Not-Allocate 0 57 | VALUE 3GPP-Allocate-IP-Type Allocate-IPv4-Address 1 58 | VALUE 3GPP-Allocate-IP-Type Allocate-IPv6-Prefix 2 59 | VALUE 3GPP-Allocate-IP-Type Allocate-IPv4-and-IPv6 3 60 | 61 | END-VENDOR 3GPP 62 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc4679: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 4679. 4 | # http://www.ietf.org/rfc/4679.txt 5 | # 6 | # $Id$ 7 | # 8 | 9 | VENDOR ADSL-Forum 3561 10 | 11 | BEGIN-VENDOR ADSL-Forum 12 | 13 | # 14 | # The first two attributes are prefixed with "ADSL-" because of 15 | # conflicting names in dictionary.redback. 16 | # 17 | ATTRIBUTE ADSL-Agent-Circuit-Id 1 string 18 | ATTRIBUTE ADSL-Agent-Remote-Id 2 string 19 | ATTRIBUTE Actual-Data-Rate-Upstream 129 integer 20 | ATTRIBUTE Actual-Data-Rate-Downstream 130 integer 21 | ATTRIBUTE Minimum-Data-Rate-Upstream 131 integer 22 | ATTRIBUTE Minimum-Data-Rate-Downstream 132 integer 23 | ATTRIBUTE Attainable-Data-Rate-Upstream 133 integer 24 | ATTRIBUTE Attainable-Data-Rate-Downstream 134 integer 25 | ATTRIBUTE Maximum-Data-Rate-Upstream 135 integer 26 | ATTRIBUTE Maximum-Data-Rate-Downstream 136 integer 27 | ATTRIBUTE Minimum-Data-Rate-Upstream-Low-Power 137 integer 28 | ATTRIBUTE Minimum-Data-Rate-Downstream-Low-Power 138 integer 29 | ATTRIBUTE Maximum-Interleaving-Delay-Upstream 139 integer 30 | ATTRIBUTE Actual-Interleaving-Delay-Upstream 140 integer 31 | ATTRIBUTE Maximum-Interleaving-Delay-Downstream 141 integer 32 | ATTRIBUTE Actual-Interleaving-Delay-Downstream 142 integer 33 | 34 | # 35 | # This next attribute has a weird encoding. 36 | # 37 | # Octet[0] - 0x01 AAL5 38 | # Octet[0] - 0x02 Ethernet 39 | 40 | # Octet[1] - 0x00 Not Available 41 | # Octet[1] - 0x01 Untagged Ethernet 42 | # Octet[1] - 0x02 Single-Tagged Ethernet 43 | 44 | # Octet[2] - 0x00 Not available 45 | # Octet[2] - 0x01 PPPoA LLC 46 | # Octet[2] - 0x02 PPPoA Null 47 | # Octet[2] - 0x03 IPoA LLC 48 | # Octet[2] - 0x04 IPoA NULL 49 | # Octet[2] - 0x05 Ethernet over AAL5 LLC with FCS 50 | # Octet[2] - 0x06 Ethernet over AAL5 LLC without FCS 51 | # Octet[2] - 0x07 Ethernet over AAL5 Null with FCS 52 | # Octet[2] - 0x08 Ethernet over AAL5 Null without FCS 53 | # 54 | ATTRIBUTE Access-Loop-Encapsulation 144 octets # 3 55 | 56 | # 57 | # If this attribute exists, it means that IFW has been performed 58 | # for the subscribers session. 59 | # 60 | ATTRIBUTE IWF-Session 252 octets # 0 61 | 62 | END-VENDOR ADSL-Forum 63 | -------------------------------------------------------------------------------- /dicts/dictionary.tropos: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # See support@tropos.com 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | VENDOR Tropos 14529 10 | 11 | BEGIN-VENDOR Tropos 12 | 13 | ATTRIBUTE Tropos-Unicast-Cipher 1 integer 14 | ATTRIBUTE Tropos-Layer2-Input-Octets 2 integer 15 | ATTRIBUTE Tropos-Layer2-Output-Octets 3 integer 16 | ATTRIBUTE Tropos-Layer2-Input-Frames 4 integer 17 | ATTRIBUTE Tropos-Layer2-Output-Frames 5 integer 18 | ATTRIBUTE Tropos-Layer2-Input-Drops 6 integer 19 | ATTRIBUTE Tropos-Noise-Floor 7 ifid 20 | ATTRIBUTE Tropos-Noise-Upper-Bound 8 ifid 21 | ATTRIBUTE Tropos-Release 9 string 22 | ATTRIBUTE Tropos-Secondary-IP 11 octets 23 | ATTRIBUTE Tropos-Terminate-Cause 12 integer 24 | ATTRIBUTE Tropos-Average-RSSI 13 integer 25 | ATTRIBUTE Tropos-Channel 15 ifid 26 | ATTRIBUTE Tropos-Retries-Sent 16 integer 27 | ATTRIBUTE Tropos-Retry-Bits 17 integer 28 | ATTRIBUTE Tropos-Rates-Sent 18 octets 29 | ATTRIBUTE Tropos-Rates-Received 19 octets 30 | ATTRIBUTE Tropos-Routed-Time 21 integer 31 | ATTRIBUTE Tropos-Routless-Since 22 integer 32 | ATTRIBUTE Tropos-Capability-Info 23 octets 33 | ATTRIBUTE Tropos-Input-Cap 24 integer 34 | ATTRIBUTE Tropos-Output-Cap 25 integer 35 | ATTRIBUTE Tropos-Class-Mult 26 integer 36 | ATTRIBUTE Tropos-Cell-Name 27 string 37 | ATTRIBUTE Tropos-Cell-Location 28 string 38 | ATTRIBUTE Tropos-Serial-Number 29 string 39 | ATTRIBUTE Tropos-Latitude 30 string 40 | ATTRIBUTE Tropos-Longitude 31 string 41 | 42 | # These are commented out because FreeRadius does not have a way of 43 | # putting the numerical value into SQL. 44 | # 45 | #VALUE Tropos-Unicast-Cipher Legacy-Open 0 46 | #VALUE Tropos-Unicast-Cipher Legacy-WEP 1 47 | #VALUE Tropos-Unicast-Cipher WPA-TKIP 5304834 48 | #VALUE Tropos-Unicast-Cipher WPA-AES-CCMP 5304836 49 | #VALUE Tropos-Unicast-Cipher WPA2-TKIP 1027074 50 | #VALUE Tropos-Unicast-Cipher WPA2-AES-CCMP 1027076 51 | 52 | END-VENDOR Tropos 53 | -------------------------------------------------------------------------------- /dicts/dictionary.versanet: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.versanet Vendor specfic attributes for versanet 4 | # 5 | # 6 | # VersaNet Communications, Inc. 7 | # Http://www.versa-net.com 8 | # 9 | # 10 | #Versanet add Vendor specific terminal cause in our radius group. 11 | #You can follow this to set it in NAS box. 12 | # 13 | # >> gr radius 14 | # >> sh 15 | # >> set 34 23 16 | # >> co 17 | # 18 | #This will let our unit transfer every detail terminal cause 19 | #information to Redius server's accounting log file and 20 | #save as "Vendor Specific=Terminate Cause". 21 | # 22 | # Version: @(#)dictionary.versanet 1.00 22-Jul-1999 support@versanetcomm.com 23 | # 24 | 25 | VENDOR Versanet 2180 26 | 27 | BEGIN-VENDOR Versanet 28 | 29 | ATTRIBUTE Versanet-Termination-Cause 1 integer 30 | 31 | VALUE Versanet-Termination-Cause Normal-Hangup-No-Error-Occurred 0 32 | VALUE Versanet-Termination-Cause Call-Waiting-Caused-Disconnect 3 33 | VALUE Versanet-Termination-Cause Physical-Carrier-Loss 4 34 | VALUE Versanet-Termination-Cause No-err-correction-at-other-end 5 35 | VALUE Versanet-Termination-Cause No-resp-to-feature-negotiation 6 36 | VALUE Versanet-Termination-Cause 1st-modem-async-only-2nd-sync 7 37 | VALUE Versanet-Termination-Cause No-framing-technique-in-common 8 38 | VALUE Versanet-Termination-Cause No-protocol-in-common 9 39 | VALUE Versanet-Termination-Cause Bad-resp-to-feature-negotiation 10 40 | VALUE Versanet-Termination-Cause No-sync-info-from-remote-modem 11 41 | VALUE Versanet-Termination-Cause Normal-Hangup-by-Remote-modem 12 42 | VALUE Versanet-Termination-Cause Retransmission-limit-reached 13 43 | VALUE Versanet-Termination-Cause Protocol-violation-occurred 14 44 | VALUE Versanet-Termination-Cause Lost-DTR 15 45 | VALUE Versanet-Termination-Cause Received-GSTN-cleardown 16 46 | VALUE Versanet-Termination-Cause Inactivity-timeout 17 47 | VALUE Versanet-Termination-Cause Speed-not-supported 18 48 | VALUE Versanet-Termination-Cause Long-space-disconnect 19 49 | VALUE Versanet-Termination-Cause Key-abort-disconnect 20 50 | VALUE Versanet-Termination-Cause Clears-previous-disc-reason 21 51 | VALUE Versanet-Termination-Cause No-connection-established 22 52 | VALUE Versanet-Termination-Cause Disconnect-after-three-retrains 23 53 | 54 | END-VENDOR Versanet 55 | -------------------------------------------------------------------------------- /dicts/dictionary.alcatel.sr: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Alcatel-Lucent Service Router dictionary. 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Alcatel-Lucent-Service-Router 6527 11 | 12 | BEGIN-VENDOR Alcatel-Lucent-Service-Router 13 | 14 | # Alcatel Timetra attributes 15 | ATTRIBUTE Timetra-Access 1 integer 16 | ATTRIBUTE Timetra-Home-Directory 2 string 17 | ATTRIBUTE Timetra-Restrict-To-Home 3 integer 18 | ATTRIBUTE Timetra-Profile 4 string 19 | ATTRIBUTE Timetra-Default-Action 5 integer 20 | ATTRIBUTE Timetra-Cmd 6 string 21 | ATTRIBUTE Timetra-Action 7 integer 22 | ATTRIBUTE Timetra-Exec-File 8 string 23 | 24 | VALUE Timetra-Access ftp 1 25 | VALUE Timetra-Access console 2 26 | VALUE Timetra-Access both 3 27 | 28 | VALUE Timetra-Restrict-To-Home true 1 29 | VALUE Timetra-Restrict-To-Home false 2 30 | 31 | VALUE Timetra-Default-Action permit-all 1 32 | VALUE Timetra-Default-Action deny-all 2 33 | VALUE Timetra-Default-Action none 3 34 | 35 | VALUE Timetra-Action permit 1 36 | VALUE Timetra-Action deny 2 37 | 38 | # Alcatel Timetra authorization and CoA VSA 39 | ATTRIBUTE Alc-Primary-Dns 9 ipaddr 40 | ATTRIBUTE Alc-Secondary-Dns 10 ipaddr 41 | ATTRIBUTE Alc-Subsc-ID-Str 11 string 42 | ATTRIBUTE Alc-Subsc-Prof-Str 12 string 43 | ATTRIBUTE Alc-SLA-Prof-Str 13 string 44 | ATTRIBUTE Alc-Force-Renew 14 string 45 | ATTRIBUTE Alc-Create-Host 15 string 46 | ATTRIBUTE Alc-ANCP-Str 16 string 47 | ATTRIBUTE Alc-Retail-Serv-Id 17 integer 48 | ATTRIBUTE Alc-Retail-Serv-Id 17 integer 49 | ATTRIBUTE Alc-Default-Router 18 ipaddr 50 | ATTRIBUTE Alc-Client-Hardware-Addr 27 string 51 | 52 | # RADIUS subscriber accounting VSAs 53 | ATTRIBUTE Alc-Acct-I-Inprof-Octets-64 19 integer 54 | ATTRIBUTE Alc-Acct-I-Outprof-Octets-64 20 integer 55 | ATTRIBUTE Alc-Acct-O-Inprof-Octets-64 21 integer 56 | ATTRIBUTE Alc-Acct-O-Outprof-Octets-64 22 integer 57 | ATTRIBUTE Alc-Acct-I-Inprof-Pkts-64 23 integer 58 | ATTRIBUTE Alc-Acct-I-Outprof-Pkts-64 24 integer 59 | ATTRIBUTE Alc-Acct-O-Inprof-Pkts-64 25 integer 60 | ATTRIBUTE Alc-Acct-O-Outprof-Pkts-64 26 integer 61 | 62 | END-VENDOR Alcatel-Lucent-Service-Router 63 | -------------------------------------------------------------------------------- /dicts/dictionary.livingston: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Vendor-Specific attributes use the SMI Network Management Private 4 | # Enterprise Code from the "Assigned Numbers" RFC 5 | # 6 | VENDOR Livingston 307 7 | 8 | # 9 | # Livingston Vendor-Specific Attributes (requires ComOS 3.8) 10 | # 11 | BEGIN-VENDOR Livingston 12 | 13 | ATTRIBUTE LE-Terminate-Detail 2 string 14 | ATTRIBUTE LE-Advice-of-Charge 3 string 15 | ATTRIBUTE LE-Connect-Detail 4 string 16 | 17 | ATTRIBUTE LE-IP-Pool 6 string 18 | ATTRIBUTE LE-IP-Gateway 7 ipaddr 19 | ATTRIBUTE LE-Modem-Info 8 string 20 | ATTRIBUTE LE-IPSec-Log-Options 9 integer 21 | ATTRIBUTE LE-IPSec-Deny-Action 10 integer 22 | ATTRIBUTE LE-IPSec-Active-Profile 11 string 23 | ATTRIBUTE LE-IPSec-Outsource-Profile 12 string 24 | ATTRIBUTE LE-IPSec-Passive-Profile 13 string 25 | ATTRIBUTE LE-NAT-TCP-Session-Timeout 14 integer 26 | ATTRIBUTE LE-NAT-Other-Session-Timeout 15 integer 27 | ATTRIBUTE LE-NAT-Log-Options 16 integer 28 | ATTRIBUTE LE-NAT-Sess-Dir-Fail-Action 17 integer 29 | ATTRIBUTE LE-NAT-Inmap 18 string 30 | ATTRIBUTE LE-NAT-Outmap 19 string 31 | ATTRIBUTE LE-NAT-Outsource-Inmap 20 string 32 | ATTRIBUTE LE-NAT-Outsource-Outmap 21 string 33 | ATTRIBUTE LE-Admin-Group 22 string 34 | ATTRIBUTE LE-Multicast-Client 23 integer 35 | 36 | VALUE LE-IPSec-Deny-Action Drop 1 37 | VALUE LE-IPSec-Deny-Action ICMP-Reject 2 38 | VALUE LE-IPSec-Deny-Action Pass-Through 3 39 | 40 | VALUE LE-IPSec-Log-Options SA-Success-On 1 41 | VALUE LE-IPSec-Log-Options SA-Failure-On 2 42 | VALUE LE-IPSec-Log-Options Console-On 3 43 | VALUE LE-IPSec-Log-Options Syslog-On 4 44 | VALUE LE-IPSec-Log-Options SA-Success-Off 5 45 | VALUE LE-IPSec-Log-Options SA-Failure-Off 6 46 | VALUE LE-IPSec-Log-Options Console-Off 7 47 | VALUE LE-IPSec-Log-Options Syslog-Off 8 48 | 49 | VALUE LE-NAT-Sess-Dir-Fail-Action Drop 1 50 | VALUE LE-NAT-Sess-Dir-Fail-Action ICMP-Reject 2 51 | VALUE LE-NAT-Sess-Dir-Fail-Action Pass-Through 3 52 | 53 | VALUE LE-NAT-Log-Options Session-Success-On 1 54 | VALUE LE-NAT-Log-Options Session-Failure-On 2 55 | VALUE LE-NAT-Log-Options Console-On 3 56 | VALUE LE-NAT-Log-Options Syslog-On 4 57 | VALUE LE-NAT-Log-Options Success-Off 5 58 | VALUE LE-NAT-Log-Options Failure-Off 6 59 | VALUE LE-NAT-Log-Options Console-Off 7 60 | VALUE LE-NAT-Log-Options Syslog-Off 8 61 | 62 | VALUE LE-Multicast-Client On 1 63 | 64 | END-VENDOR Livingston 65 | -------------------------------------------------------------------------------- /dicts/dictionary.nortel: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Nortel Passport 8600 VSA's. 5 | # 6 | # http://www142.nortelnetworks.com/bvdoc/setips/july04/engineeringtipstricksv12.pdf 7 | # 8 | # $Id$ 9 | # 10 | ############################################################################## 11 | 12 | VENDOR Nortel 562 13 | BEGIN-VENDOR Nortel 14 | 15 | ATTRIBUTE Nortel-Privilege-Level 166 integer 16 | 17 | ATTRIBUTE Passport-Command-Scope 200 integer 18 | ATTRIBUTE Passport-Command-Impact 201 integer 19 | ATTRIBUTE Passport-Customer-Identifier 202 integer 20 | ATTRIBUTE Passport-Allowed-Access 203 integer 21 | ATTRIBUTE Passport-AllowedOut-Access 204 integer 22 | ATTRIBUTE Passport-Login-Directory 205 string 23 | ATTRIBUTE Passport-Timeout-Protocol 206 integer 24 | ATTRIBUTE Passport-Role 207 string 25 | 26 | VALUE Nortel-Privilege-Level VoiceMailAdmin 0 27 | VALUE Nortel-Privilege-Level ContactCenter 1 28 | VALUE Nortel-Privilege-Level SBAInstaller 2 29 | VALUE Nortel-Privilege-Level SBASystemCoord 3 30 | VALUE Nortel-Privilege-Level SBASystemCoordBasic 4 31 | VALUE Nortel-Privilege-Level SBABasic 5 32 | VALUE Nortel-Privilege-Level Security 6 33 | VALUE Nortel-Privilege-Level CTEApp 7 34 | VALUE Nortel-Privilege-Level SBA-IPSetRegistration 8 35 | VALUE Nortel-Privilege-Level Application-BCMMonitor 9 36 | VALUE Nortel-Privilege-Level CDRApp 10 37 | VALUE Nortel-Privilege-Level ModemLogin 11 38 | VALUE Nortel-Privilege-Level GuestLogin 12 39 | VALUE Nortel-Privilege-Level AdminDownload 13 40 | VALUE Nortel-Privilege-Level ExclusiveAccess 14 41 | VALUE Nortel-Privilege-Level Admin 15 42 | VALUE Nortel-Privilege-Level DataAdmin 16 43 | VALUE Nortel-Privilege-Level RemoteAccess 17 44 | VALUE Nortel-Privilege-Level Guest 18 45 | VALUE Nortel-Privilege-Level VoiceAdmin 19 46 | VALUE Nortel-Privilege-Level BackupOperator 20 47 | VALUE Nortel-Privilege-Level RemoteMonitoring 21 48 | VALUE Nortel-Privilege-Level SoftwareUpgrade 22 49 | VALUE Nortel-Privilege-Level AlarmViewer 24 50 | VALUE Nortel-Privilege-Level OperationalLogs 26 51 | VALUE Nortel-Privilege-Level DiagnosticLogs 27 52 | VALUE Nortel-Privilege-Level ApplicationIVR 28 53 | VALUE Nortel-Privilege-Level ISDN-Dial-in 30 54 | VALUE Nortel-Privilege-Level WAN-Dial-in 32 55 | VALUE Nortel-Privilege-Level System-SerialPort 36 56 | 57 | END-VENDOR Nortel 58 | -------------------------------------------------------------------------------- /lib/radius/dict/helpers.ex: -------------------------------------------------------------------------------- 1 | defmodule Radius.Dict.Helpers do 2 | @moduledoc false 3 | defmacro define_attribute_doc_helpers() do 4 | generate_attribute_doc_helpers() 5 | end 6 | 7 | defmacro define_attribute_functions(attribute) do 8 | generate_attribute_functions(attribute) 9 | end 10 | 11 | defmacro define_value_doc_helpers() do 12 | generate_value_doc_helpers() 13 | end 14 | 15 | defmacro define_value_functions(val) do 16 | generate_value_functions(val) 17 | end 18 | 19 | def generate_attribute_doc_helpers() do 20 | quote do 21 | @doc """ 22 | Get attribute struct based on attribute id 23 | """ 24 | @doc group: :lookup 25 | def attribute_by_id(attr_id) 26 | 27 | @doc """ 28 | Get attribute struct based on attribute name 29 | """ 30 | @doc group: :lookup 31 | def attribute_by_name(attr_name) 32 | end 33 | end 34 | 35 | def generate_attribute_functions(attribute) do 36 | quote bind_quoted: [attribute: attribute] do 37 | attr_fun_name = "attr_#{attribute.name}" |> String.replace("-", "_") |> String.to_atom() 38 | 39 | @doc group: :attributes 40 | defmacro unquote(attr_fun_name)(), do: unquote(attribute.id) 41 | @doc group: :attributes 42 | defmacro unquote(attr_fun_name)(val), do: {unquote(attribute.id), val} 43 | def attribute_by_id(unquote(attribute.id)), do: unquote(Macro.escape(attribute)) 44 | def attribute_by_name(unquote(attribute.name)), do: unquote(Macro.escape(attribute)) 45 | end 46 | end 47 | 48 | def generate_value_doc_helpers() do 49 | quote do 50 | @doc """ 51 | Get value struct based on attribute name and value name 52 | """ 53 | @doc group: :lookup 54 | def value_by_name(attr_name, value_name) 55 | 56 | @doc """ 57 | Get value struct based on attribute name and the value 58 | """ 59 | @doc group: :lookup 60 | def value_by_value(attr_name, value) 61 | end 62 | end 63 | 64 | def generate_value_functions(val) do 65 | quote bind_quoted: [val: val] do 66 | val_fun_name = "val_#{val.attr}_#{val.name}" |> String.replace("-", "_") |> String.to_atom() 67 | 68 | @doc group: :values 69 | defmacro unquote(val_fun_name)(), do: unquote(val.value) 70 | def value_by_value(unquote(val.attr), unquote(val.value)), do: unquote(Macro.escape(val)) 71 | def value_by_name(unquote(val.attr), unquote(val.name)), do: unquote(Macro.escape(val)) 72 | end 73 | end 74 | 75 | def safe_name(name) do 76 | name |> String.replace("-", "_") |> String.to_atom() 77 | end 78 | end 79 | -------------------------------------------------------------------------------- /dicts/dictionary.hp: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # HP ProCurve VSA's 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR HP 11 11 | 12 | # 13 | # Attributes supported by HP ProCurve wired networking devices 14 | # 15 | BEGIN-VENDOR HP 16 | 17 | # Management authorization 18 | ATTRIBUTE HP-Privilege-Level 1 integer 19 | ATTRIBUTE HP-Command-String 2 string 20 | ATTRIBUTE HP-Command-Exception 3 integer 21 | ATTRIBUTE HP-Management-Protocol 26 integer 22 | 23 | # Dynamic port-access attributes 24 | ATTRIBUTE HP-Port-Client-Limit-Dot1x 10 integer 25 | ATTRIBUTE HP-Port-Client-Limit-MA 11 integer 26 | ATTRIBUTE HP-Port-Client-Limit-WA 12 integer 27 | ATTRIBUTE HP-Port-Auth-Mode-Dot1x 13 integer 28 | 29 | # Client QoS attributes 30 | ATTRIBUTE HP-Port-Priority-Regeneration-Table 40 string 31 | 32 | # Access control 33 | ATTRIBUTE HP-Cos 40 string 34 | #ATTRIBUTE HP-Rate-Limit 46 integer 35 | 36 | ATTRIBUTE HP-Bandwidth-Max-Ingress 46 integer 37 | ATTRIBUTE HP-Bandwidth-Max-Egress 48 integer 38 | 39 | ATTRIBUTE HP-Ip-Filter-Raw 61 string 40 | 41 | # Client ACL attributes 42 | ATTRIBUTE HP-Nas-Filter-Rule 61 string 43 | ATTRIBUTE HP-Nas-Rules-IPv6 63 integer 44 | 45 | # VLAN assignment attributes 46 | ATTRIBUTE HP-Egress-VLANID 64 integer 47 | ATTRIBUTE HP-Egress-VLAN-Name 65 string 48 | 49 | # See http://wiki.freeradius.org/HP#Capability_advertisements 50 | ATTRIBUTE HP-Capability-Advert 255 octets 51 | 52 | # HP-Port-Auth-Mode-Dot1x Attribute Values 53 | VALUE HP-Port-Auth-Mode-Dot1x Port-Based 1 54 | VALUE HP-Port-Auth-Mode-Dot1x User-Based 2 55 | 56 | # HP-Command-Exception Attribute Values 57 | VALUE HP-Command-Exception Permit-List 0 58 | VALUE HP-Command-Exception Deny-List 1 59 | 60 | # HP-Management-Protocol 61 | VALUE HP-Management-Protocol HTTP 5 62 | VALUE HP-Management-Protocol HTTPS 6 63 | 64 | # 65 | # Conflicting attributes are commented out. 66 | # 67 | #ATTRIBUTE HP-Management-Role 26 integer 68 | 69 | # HP-Management-Role 70 | #VALUE HP-Management-Role SuperUser 1 71 | #VALUE HP-Management-Role Monitor 2 72 | #VALUE HP-Management-Role HelpDeskManager 16 73 | #VALUE HP-Management-Role NetworkAdministrator 17 74 | #VALUE HP-Management-Role SystemAdministrator 18 75 | #VALUE HP-Management-Role WebUserAdminstrator 19 76 | 77 | # Privilege attributes for HP-GbE2c, HP 1:10Gb, and HP 10Gb 78 | # Ethernet Blade Switches 79 | # 80 | VALUE Service-Type HP-Oper 252 81 | VALUE Service-Type HP-User 255 82 | 83 | END-VENDOR HP 84 | -------------------------------------------------------------------------------- /dicts/dictionary.motorola: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Motorola Canopy attributes. 5 | # 6 | # NOT included in the main dictionaries because of conflicts 7 | # with Ascend attributes. 8 | # 9 | # $Id$ 10 | # 11 | ############################################################################## 12 | 13 | VENDOR Motorola 161 14 | 15 | BEGIN-VENDOR Motorola 16 | 17 | # Low Priority uplink CIR 18 | ATTRIBUTE Motorola-Canopy-LPULCIR 1 integer 19 | # Low Priority downlink CIR 20 | ATTRIBUTE Motorola-Canopy-LPDLCIR 2 integer 21 | # High Priority uplink CIR 22 | ATTRIBUTE Motorola-Canopy-HPULCIR 3 integer 23 | # High Priority downlink CIR 24 | ATTRIBUTE Motorola-Canopy-HPDLCIR 4 integer 25 | # High Priority Enable 26 | ATTRIBUTE Motorola-Canopy-HPENABLE 5 integer 27 | # Uplink Bit Rate/Sustained Uplink Rate 28 | ATTRIBUTE Motorola-Canopy-ULBR 6 integer 29 | # Uplink Bit Limit/Uplink Burst Allocation 30 | ATTRIBUTE Motorola-Canopy-ULBL 7 integer 31 | # Downlink Bit Rate/Sustained Downlink Rate 32 | ATTRIBUTE Motorola-Canopy-DLBR 8 integer 33 | # Downlink Bit Limit/Downlink Burst Allocation 34 | ATTRIBUTE Motorola-Canopy-DLBL 9 integer 35 | # VLAN Learning Enable 36 | ATTRIBUTE Motorola-Canopy-VLLEARNEN 14 integer 37 | # VLAN Frames Types allowed - all/Tag/Untagged 38 | ATTRIBUTE Motorola-Canopy-VLFRAMES 15 integer 39 | # VLAN Membership (1-4094) 40 | ATTRIBUTE Motorola-Canopy-VLIDSET 16 integer 41 | # VLAN Age Timeout 42 | ATTRIBUTE Motorola-Canopy-VLAGETO 20 integer 43 | # VLAN Ingress VLAN ID 44 | ATTRIBUTE Motorola-Canopy-VLIGVID 21 integer 45 | # VLAN Management VLAN ID 46 | ATTRIBUTE Motorola-Canopy-VLMGVID 22 integer 47 | # VLAN SM Management Passthrough Enable 48 | ATTRIBUTE Motorola-Canopy-VLSMMGPASS 23 integer 49 | # Broadcast Traffic Maximum Information Rate 50 | ATTRIBUTE Motorola-Canopy-BCASTMIR 24 integer 51 | # Userlevel permission for the User logging in remotely 52 | ATTRIBUTE Motorola-Canopy-UserLevel 50 integer 53 | 54 | VALUE Motorola-Canopy-HPENABLE Disable 0 55 | VALUE Motorola-Canopy-HPENABLE Enable 1 56 | 57 | VALUE Motorola-Canopy-VLLEARNEN Disable 0 58 | VALUE Motorola-Canopy-VLLEARNEN Enable 1 59 | 60 | VALUE Motorola-Canopy-VLFRAMES All 0 61 | VALUE Motorola-Canopy-VLFRAMES Tagged 1 62 | VALUE Motorola-Canopy-VLFRAMES Untagged 2 63 | 64 | VALUE Motorola-Canopy-VLSMMGPASS Enable 1 65 | VALUE Motorola-Canopy-VLSMMGPASS Disable 0 66 | 67 | VALUE Motorola-Canopy-UserLevel TECH 1 68 | VALUE Motorola-Canopy-UserLevel INSTALL 2 69 | VALUE Motorola-Canopy-UserLevel ADMIN 3 70 | 71 | END-VENDOR Motorola 72 | -------------------------------------------------------------------------------- /example.exs: -------------------------------------------------------------------------------- 1 | require Logger 2 | use Radius.Dict 3 | 4 | # IO.puts inspect Radius.Dict.vendor_by_name("Cisco") 5 | # IO.puts inspect Radius.Dict.attribute_by_name("Service-Type") 6 | # IO.puts inspect Radius.Dict.value_by_name("Service-Type","Login-User") 7 | # IO.puts inspect Radius.Dict.value_by_value("Service-Type",11) 8 | # IO.puts inspect Radius.Dict.VendorCisco.value_by_name("Cisco-Disconnect-Cause","Unknown") 9 | # IO.puts inspect Radius.Dict.VendorCisco.value_by_value("Cisco-Disconnect-Cause",11) 10 | 11 | secret = "112233" 12 | 13 | attrs = [ 14 | attr_User_Password("1234"), 15 | # tagged attribute (rfc2868) 16 | attr_Tunnel_Type(val_Tunnel_Type_PPTP()), 17 | # equals 18 | {attr_Tunnel_Type(), {0, "PPTP"}}, 19 | attr_Tunnel_Type({10, "PPTP"}), 20 | {attr_Service_Type(), "Login-User"}, 21 | # tag & value can be integer 22 | {6, 1}, 23 | # ipaddr 24 | {attr_NAS_IP_Address(), {1, 2, 3, 4}}, 25 | {attr_NAS_IP_Address(), 0x12345678}, 26 | # ipv6addr 27 | {attr_Login_IPv6_Host(), {2003, 0xEFFF, 0, 0, 0, 0, 0, 4}}, 28 | # VSA 29 | {{attr_Vendor_Specific(), 9}, 30 | [ 31 | {"Cisco-Disconnect-Cause", 10}, 32 | {195, "Unknown"} 33 | ]}, 34 | # empty VSA? 35 | {{attr_Vendor_Specific(), "Microsoft"}, []}, 36 | # some unknown attribute 37 | {255, "123456"} 38 | ] 39 | 40 | # for request packets, authenticator will generate with random bytes 41 | p = %Radius.Packet{code: "Access-Request", id: 12, secret: secret, attrs: attrs} 42 | # will return an iolist 43 | %{raw: data} = Radius.Packet.encode_request(p) 44 | Logger.debug("data=#{inspect(data)}") 45 | 46 | p = Radius.Packet.decode(:erlang.iolist_to_binary(data), secret) 47 | Logger.debug(inspect(p, pretty: true)) 48 | 49 | # for response packets, provide request.auth to generate new HMAC-hash with it. 50 | p2 = %Radius.Packet{code: "Access-Accept", id: 12, secret: secret, attrs: p.attrs} 51 | %{raw: data} = Radius.Packet.encode_reply(p2, p.auth) 52 | Logger.debug("data=#{inspect(data)}") 53 | # password decoding SHOULD FAIL here, guess why? 54 | p = Radius.Packet.decode(:erlang.iolist_to_binary(data), p2.secret) 55 | Logger.debug(inspect(p, pretty: true)) 56 | 57 | # wrapper of gen_udp 58 | {:ok, sk} = Radius.listen(1812) 59 | 60 | loop = fn loop -> 61 | # secret can be a string or a function returning a string 62 | # {:ok,host,p} = Radius.recv sk,"123" 63 | {:ok, host, p} = Radius.recv(sk, fn _host -> secret end) 64 | 65 | IO.puts("From #{inspect(host)} : \n#{inspect(p, pretty: true)}") 66 | 67 | resp = %Radius.Packet{code: "Access-Reject", id: p.id, secret: p.secret} 68 | Radius.send_reply(sk, host, resp, p.auth) 69 | 70 | loop.(loop) 71 | end 72 | 73 | loop.(loop) 74 | -------------------------------------------------------------------------------- /test/dict/parser_test.exs: -------------------------------------------------------------------------------- 1 | defmodule Radius.Dict.ParserTest do 2 | use ExUnit.Case, async: true 3 | 4 | import Radius.Dict.Parser, only: [parse: 1] 5 | 6 | describe "vendor parsing" do 7 | test "can parse vendor" do 8 | vendor = ~S""" 9 | VENDOR VendorTest 823 10 | """ 11 | 12 | assert %{vendor: %{id: 823, name: "VendorTest"}} = parse(vendor) 13 | end 14 | 15 | test "can parse vendor with format" do 16 | vendor = ~S""" 17 | VENDOR VendorFormatTest 823 format=2,0 18 | """ 19 | 20 | assert %{vendor: %{id: 823, name: "VendorFormatTest", opts: [format: [2, 0]]}} = 21 | parse(vendor) 22 | end 23 | 24 | test "can parse vendor with comment" do 25 | vendor = ~S""" 26 | VENDOR VendorComment 823 # we leave comments everywhere in the file 27 | """ 28 | 29 | assert %{vendor: %{id: 823, name: "VendorComment"}} = parse(vendor) 30 | end 31 | end 32 | 33 | describe "attribute parsing" do 34 | test "can parse basic attribute" do 35 | attribute = ~S""" 36 | ATTRIBUTE User-Name 1 string 37 | """ 38 | 39 | assert %{attributes: [%{id: 1, name: "User-Name", opts: [], type: :string}]} = 40 | parse(attribute) 41 | end 42 | 43 | test "can parse attribute with hex identifier" do 44 | attribute = ~S""" 45 | ATTRIBUTE USR-Last-Number-Dialed-Out 0x0066 string 46 | """ 47 | 48 | assert %{ 49 | attributes: [ 50 | %{id: 102, name: "USR-Last-Number-Dialed-Out", opts: [], type: :string} 51 | ] 52 | } = parse(attribute) 53 | end 54 | 55 | test "can parse attribute with encrypt option" do 56 | attribute = ~S""" 57 | ATTRIBUTE User-Password 2 string encrypt=1 58 | """ 59 | 60 | assert %{attributes: [%{id: 2, name: "User-Password", opts: [encrypt: 1], type: :string}]} = 61 | parse(attribute) 62 | end 63 | 64 | test "can parse attribute with tag" do 65 | attribute = ~S""" 66 | ATTRIBUTE Tunnel-Server-Endpoint 67 string has_tag 67 | """ 68 | 69 | assert %{ 70 | attributes: [ 71 | %{id: 67, name: "Tunnel-Server-Endpoint", opts: [has_tag: true], type: :string} 72 | ] 73 | } = parse(attribute) 74 | end 75 | 76 | test "can parse attribute with encrypt and tag option" do 77 | attribute = ~S""" 78 | ATTRIBUTE Tunnel-Password 69 string has_tag,encrypt=2 79 | """ 80 | 81 | assert %{attributes: [%{id: 69, name: "Tunnel-Password", opts: parsed_opts, type: :string}]} = 82 | parse(attribute) 83 | 84 | assert 2 = Keyword.get(parsed_opts, :encrypt) 85 | assert Keyword.get(parsed_opts, :has_tag) 86 | end 87 | end 88 | end 89 | -------------------------------------------------------------------------------- /dicts/dictionary.sonicwall: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Sonicwall Firewall dictionary 4 | # 5 | # $Id$ 6 | # 7 | 8 | VENDOR SonicWall 8741 9 | 10 | # Backwards compatibility. 11 | BEGIN-VENDOR SonicWall 12 | 13 | ATTRIBUTE SS3-Firewall-User-Privilege 1 integer 14 | 15 | # New names. 16 | ATTRIBUTE SonicWall-User-Privilege 1 integer 17 | VALUE SonicWall-User-Privilege Remote-Access 1 # deprecated 18 | VALUE SonicWall-User-Privilege Bypass-Filters 2 19 | VALUE SonicWall-User-Privilege VPN-Client-Access 3 # standard 20 | VALUE SonicWall-User-Privilege Access-To-VPN 4 # standard 21 | VALUE SonicWall-User-Privilege Limited-Management 5 22 | VALUE SonicWall-User-Privilege L2TP-Client-Access 6 # standard 23 | VALUE SonicWall-User-Privilege Wireless-Guest 7 # standard 24 | VALUE SonicWall-User-Privilege Wireless-Add-ACL 8 25 | VALUE SonicWall-User-Privilege Internet-Access 9 # standard 26 | 27 | # Those values indicated as "standard" are applicable only on a SonicWall 28 | # firewall running standard firmware and not on one running enhanced firmware. 29 | 30 | # 31 | # This attribute is to use in place of SonicWall-User-Privilege with RADIUS 32 | # servers that allow only one instance of a Vendor-Specific attribute to be 33 | # set (such as the ACE Server from RSA). Note that it is commented out in this 34 | # file because it is not needed in any servers that support multiple VSA's. 35 | # 36 | # The value of this attribute is a text string giving a comma-separated list 37 | # of one or more privileges, each corresponding to a value of the 38 | # SonicWall-User-Privilege attribute above (and note that some are applicable 39 | # only on a SonicWall firewall running standard firmware as indicated above): 40 | # "BF,VC,VA,LM,LA,WG,WA,IA" 41 | # "RA" for "Remote-Access" is now deprecated. 42 | # ATTRIBUTE SonicWall-User-Privileges 2 string SonicWall 43 | 44 | # Multiple of these can be set for a user, each specifying the name of a 45 | # user group to which that user has membership. Note that this can 46 | # alternatively be achieved by use of the Filter-Id attribute. 47 | # This is applicable only on a SonicWall firewall running enhanced firmware. 48 | # 49 | ATTRIBUTE SonicWall-User-Group 3 string 50 | 51 | # This attribute is to use in place of SonicWall-User-Group with RADIUS 52 | # servers that allow only one instance of a Vendor-Specific attribute to be 53 | # set (such as the ACE Server from RSA). Note that it is commented out in this 54 | # file because it is not needed in any servers that support multiple VSA's. 55 | # 56 | # The value of this attribute is a text string giving a comma-separated list 57 | # of the names of one or more user groups to which that user has membership. 58 | # This is applicable only on a SonicWall firewall running enhanced firmware. 59 | # 60 | # ATTRIBUTE SonicWall-User-Groups 4 string SonicWall. 61 | 62 | END-VENDOR SonicWall 63 | -------------------------------------------------------------------------------- /dicts/COPYRIGHT: -------------------------------------------------------------------------------- 1 | 1. COPYRIGHT 2 | 3 | Unless otherwise mentioned, the copyrights described in section 4, 4 | below, apply to all files in this distribution. 5 | 6 | 2. INDIVIDUAL DIRECTORIES 7 | 8 | 2.1 doc/rfc/ 9 | 10 | Most of the files in this directory are copyrighted by the Internet 11 | Society, Inc. See the contents of the files for details. 12 | 13 | 2.2 src/lib/ 14 | 15 | Copyright for files in this directory is held by the contributors. 16 | See the contents of the files for details 17 | 18 | 2.2.1 LICENSE 19 | 20 | The license for all files in the src/lib directory is the GNU LGPL 21 | version 2, which is included with this program in the file 22 | src/lib/LICENSE. 23 | 24 | 3. ALL OTHER FILES 25 | 26 | Copyright for files in this directory is held by the contributors. 27 | See the contents of the files for details. Files without explicit 28 | copyright notices are copyright The FreeRADIUS Server Project. See 29 | section 4.2 for more information. 30 | 31 | 3.1 LICENSE 32 | 33 | The license for all other source code and documentation except the 34 | files in src/lib directory is the GNU GPL version 2, which is included 35 | with this program in the LICENSE file in this directory. 36 | 37 | 3.2 LIST OF COPYRIGHT HOLDERS 38 | 39 | Portions of the source code and documentation included here are 40 | copyright by one or more of the following organizations and 41 | individuals. This list is not exhaustive. Consult the individual 42 | files for more detailed copyright statements. 43 | 44 | 45 | Copyright (C) 1999-2015 The FreeRADIUS Server Project 46 | 47 | Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Alan DeKok 48 | 49 | 50 | Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 Free 51 | Software Foundation, Inc. 52 | 53 | Copyright (C) 2011-2015 Arran Cudbard-Bell 54 | 55 | Copyright (C) 2003, 2004, 2005 Kostas Kalevras 56 | 57 | Copyright (C) 2004 Cladju Consulting, Inc. 58 | 59 | Copyright (C) 2001, 2002, 2003, 2004, 2005 Google, Inc. 60 | 61 | Copyright (C) 2003, 2004 Michael Richardson 62 | 63 | Copyright (C) 2002, 2003, 2004 Novell, Inc. 64 | 65 | Copyright (C) 2002 Miguel A.L. Paraz 66 | 67 | Copyright (C) 2002 Simon Ekstrand 68 | 69 | Copyright (C) 2001 Chad Miller 70 | 71 | Copyright (C) 2001 hereUare Communications, Inc. 72 | 73 | Copyright (C) 2000 Jochen Friedrich 74 | 75 | Copyright (C) 2000, 2002 Miquel van Smoorenburg 76 | 77 | Copyright (C) 2000 Jeff Carneal 78 | 79 | Copyright (C) 2000 Alan Curry 80 | 81 | Copyright (C) 2000 David Kerry 82 | 83 | Copyright (C) 2000 Dmitri Ageev 84 | 85 | Copyright (C) 2000 Nathan Neulinger 86 | 87 | Copyright (C) 2000 Mike Machado 88 | 89 | Copyright (C) 2000, 2001 Chad Miller 90 | 91 | Copyright (C) 1997, 1998, 1999 Cistron Internet Services B.V. 92 | 93 | Copyright (C) 1999 Kunihiro Ishiguro 94 | -------------------------------------------------------------------------------- /dicts/dictionary.asn: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # ASN Attributes. 5 | # 6 | # Taken from http://svn.asn.pl/misc/freeradius/dictionary.asn 7 | # 8 | # $Id$ 9 | # 10 | ############################################################################## 11 | 12 | VENDOR ASN 23782 13 | 14 | BEGIN-VENDOR ASN 15 | 16 | ## Server-side extensions 17 | # dynamic IP pool name 18 | ATTRIBUTE ASN-IP-Pool-Name 1 string 19 | 20 | ### 2-99: free ### 21 | 22 | ## limits 23 | ATTRIBUTE ASN-Kbps-Down 100 integer 24 | ATTRIBUTE ASN-Kbps-Down-Localmedia 112 integer 25 | ATTRIBUTE ASN-Kbps-Up 101 integer 26 | ATTRIBUTE ASN-Pps-Down 102 integer 27 | ATTRIBUTE ASN-Pps-Up 103 integer 28 | ATTRIBUTE ASN-TCP-Connlimit 104 integer 29 | 30 | ## firewall 31 | ATTRIBUTE ASN-Firewall-Available 110 integer 32 | VALUE ASN-Firewall-Available Yes 1 33 | VALUE ASN-Firewall-Available No 2 34 | 35 | ATTRIBUTE ASN-Firewall-State 105 integer 36 | VALUE ASN-Firewall-State Enabled 1 37 | VALUE ASN-Firewall-State Disabled 2 38 | 39 | ATTRIBUTE ASN-Firewall-Block-Ping 107 integer 40 | VALUE ASN-Firewall-Block-Ping Enabled 1 41 | VALUE ASN-Firewall-Block-Ping Disabled 2 42 | 43 | # hosts to allow " " 44 | ATTRIBUTE ASN-Firewall-Open 106 string 45 | 46 | ## QoS 47 | ATTRIBUTE ASN-QoS-Available 111 integer 48 | VALUE ASN-QoS-Available Yes 1 49 | VALUE ASN-QoS-Available No 2 50 | 51 | ATTRIBUTE ASN-QoS-State 108 integer 52 | VALUE ASN-QoS-State Enabled 1 53 | VALUE ASN-QoS-State Disabled 2 54 | 55 | # IP redirection, with optional randomness 56 | # " src/dst [:] : []" 57 | # where src/dst decides whether to match source or destination ports 58 | # random is an integer number from 1 to 99, or null - no randomness 59 | ATTRIBUTE ASN-IP-Redirect 109 string 60 | 61 | ## web filtering 62 | # decides whether to deny or to allow only the specified web topics 63 | ATTRIBUTE ASN-Webfilter-Mode 113 integer 64 | VALUE ASN-Webfilter-Mode Deny 1 65 | VALUE ASN-Webfilter-Mode Allow 2 66 | 67 | # where to redirect blocked request 68 | # "[301:302]" 69 | # 301/302 - redirect permanently (301) or temporarily (302) (default 302) 70 | # - an URL address, with following possible substitutions: 71 | # %a - IP address of the client 72 | # %i - user ID (RFC931) or "unknown" 73 | # %n - domainname of the client or "unknown" 74 | # %p - REQUEST_URI, ie. the path and the optional 75 | # query string of %u, but note for convenience 76 | # without the leading "/". 77 | # %t - matched destination group or "unknown" 78 | # %u - requested URL 79 | # %% - single '%' 80 | # 81 | ATTRIBUTE ASN-Webfilter-Redirect 114 string 82 | 83 | # squidGuard destination group to match 84 | # destinations available by default: sglists- - tags: 85 | # ads adult audioandvideo banks blogs chatandforum finance freemail games 86 | # home jobsearch keylogger news onlineGames phishing proxies recreation 87 | # reference science searchengine 88 | ATTRIBUTE ASN-Webfilter-Destination 115 string 89 | 90 | # web domain to match (will match all subdomains, too) 91 | ATTRIBUTE ASN-Webfilter-Domain 116 string 92 | 93 | END-VENDOR ASN 94 | -------------------------------------------------------------------------------- /dicts/dictionary.vqp: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Cisco's VLAN Query Protocol 5 | # 6 | # This dictionary is NOT a RADIUS dictionary, but is used for a 7 | # similar purpose. 8 | # 9 | # The default destination port is 1589. 10 | # 11 | # $Id$ 12 | # 13 | ############################################################################## 14 | 15 | # 16 | # We've allocated "fake" attribute 0x2b00 ... 0x2cff for VQP. 17 | # 18 | # 19 | # 0x2b00..0x2bff are for the VQP packet headers. 20 | # 0x2c00..0x2cff are for the VQP attributes. 21 | # 22 | # Note that the VQP protocol specifies 0x0c01..0x0c08 as the 23 | # real numbers for the VQP attributes. We've added '0x2000' 24 | # to them to separate them from RADIUS attributes... 25 | # 26 | 27 | # 28 | # VQP Op codes 29 | # 30 | ATTRIBUTE VQP-Packet-Type 0x2b00 integer 31 | ATTRIBUTE VQP-Error-Code 0x2b01 integer 32 | ATTRIBUTE VQP-Sequence-Number 0x2b02 integer 33 | 34 | # 35 | # VQP Attributes 36 | # 37 | ATTRIBUTE VQP-Client-IP-Address 0x2c01 ipaddr 38 | ATTRIBUTE VQP-Port-Name 0x2c02 string 39 | ATTRIBUTE VQP-VLAN-Name 0x2c03 string 40 | 41 | # VTP domain 42 | ATTRIBUTE VQP-Domain-Name 0x2c04 string 43 | 44 | # Encapsulates an Ethernet frame... 45 | ATTRIBUTE VQP-Ethernet-Frame 0x2c05 octets 46 | ATTRIBUTE VQP-MAC 0x2c06 ether 47 | ATTRIBUTE VQP-Unknown 0x2c07 octets 48 | ATTRIBUTE VQP-Cookie 0x2c08 ether 49 | 50 | # 51 | # VQP integer mappings 52 | # 53 | 54 | VALUE VQP-Packet-Type VQP-Join-Request 1 55 | VALUE VQP-Packet-Type VQP-Join-Response 2 56 | VALUE VQP-Packet-Type VQP-Reconfirm-Request 3 57 | VALUE VQP-Packet-Type VQP-Reconfirm-Response 4 58 | 59 | VALUE VQP-Error-Code VQP-No-Error 0 60 | VALUE VQP-Error-Code VQP-Wrong-Version 1 61 | VALUE VQP-Error-Code VQP-Insufficient-Resources 2 62 | VALUE VQP-Error-Code VQP-Deny 3 63 | VALUE VQP-Error-Code VQP-Shutdown 4 64 | VALUE VQP-Error-Code VQP-Wrong-Mgmt-Domain 5 65 | 66 | ###################################################################### 67 | # 68 | # Duplicate names here, for simplicity 69 | # 70 | ###################################################################### 71 | 72 | # 73 | # VMPS Op codes 74 | # 75 | ATTRIBUTE VMPS-Packet-Type 0x2b00 integer 76 | ATTRIBUTE VMPS-Error-Code 0x2b01 integer 77 | ATTRIBUTE VMPS-Sequence-Number 0x2b02 integer 78 | 79 | # 80 | # VMPS Attributes 81 | # 82 | ATTRIBUTE VMPS-Client-IP-Address 0x2c01 ipaddr 83 | ATTRIBUTE VMPS-Port-Name 0x2c02 string 84 | ATTRIBUTE VMPS-VLAN-Name 0x2c03 string 85 | 86 | # VTP domain 87 | ATTRIBUTE VMPS-Domain-Name 0x2c04 string 88 | 89 | # Encapsulates an Ethernet frame... 90 | ATTRIBUTE VMPS-Ethernet-Frame 0x2c05 octets 91 | ATTRIBUTE VMPS-MAC 0x2c06 ether 92 | ATTRIBUTE VMPS-Unknown 0x2c07 octets 93 | ATTRIBUTE VMPS-Cookie 0x2c08 ether 94 | 95 | # 96 | # VMPS integer mappings 97 | # 98 | 99 | VALUE VMPS-Packet-Type VMPS-Join-Request 1 100 | VALUE VMPS-Packet-Type VMPS-Join-Response 2 101 | VALUE VMPS-Packet-Type VMPS-Reconfirm-Request 3 102 | VALUE VMPS-Packet-Type VMPS-Reconfirm-Response 4 103 | 104 | VALUE VMPS-Error-Code VMPS-No-Error 0 105 | VALUE VMPS-Error-Code VMPS-Wrong-Version 1 106 | VALUE VMPS-Error-Code VMPS-Insufficient-Resources 2 107 | VALUE VMPS-Error-Code VMPS-Deny 3 108 | VALUE VMPS-Error-Code VMPS-Shutdown 4 109 | VALUE VMPS-Error-Code VMPS-Wrong-Mgmt-Domain 5 110 | -------------------------------------------------------------------------------- /dicts/dictionary.alcatel: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Alcatel Broadband Access Server dictionary. 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Alcatel 3041 11 | 12 | BEGIN-VENDOR Alcatel 13 | 14 | ATTRIBUTE AAT-Client-Primary-DNS 5 ipaddr 15 | ATTRIBUTE AAT-Client-Primary-WINS-NBNS 6 ipaddr 16 | ATTRIBUTE AAT-Client-Secondary-WINS-NBNS 7 ipaddr 17 | ATTRIBUTE AAT-Client-Secondary-DNS 8 ipaddr 18 | ATTRIBUTE AAT-PPP-Address 9 ipaddr 19 | ATTRIBUTE AAT-PPP-Netmask 10 ipaddr 20 | ATTRIBUTE AAT-Primary-Home-Agent 12 string 21 | ATTRIBUTE AAT-Secondary-Home-Agent 13 string 22 | ATTRIBUTE AAT-Home-Agent-Password 14 string 23 | ATTRIBUTE AAT-Home-Network-Name 15 string 24 | ATTRIBUTE AAT-Home-Agent-UDP-Port 16 integer 25 | ATTRIBUTE AAT-IP-Direct 17 ipaddr 26 | ATTRIBUTE AAT-FR-Direct 18 integer 27 | ATTRIBUTE AAT-FR-Direct-Profile 19 string 28 | ATTRIBUTE AAT-FR-Direct-DLCI 20 integer 29 | ATTRIBUTE AAT-ATM-Direct 21 string 30 | ATTRIBUTE AAT-IP-TOS 22 integer 31 | ATTRIBUTE AAT-IP-TOS-Precedence 23 integer 32 | ATTRIBUTE AAT-IP-TOS-Apply-To 24 integer 33 | ATTRIBUTE AAT-MCast-Client 27 integer 34 | ATTRIBUTE AAT-Modem-Port-No 28 integer 35 | ATTRIBUTE AAT-Modem-Slot-No 29 integer 36 | ATTRIBUTE AAT-Modem-Shelf-No 30 integer 37 | ATTRIBUTE AAT-Filter 60 string 38 | ATTRIBUTE AAT-Vrouter-Name 61 string 39 | ATTRIBUTE AAT-Require-Auth 62 integer 40 | ATTRIBUTE AAT-IP-Pool-Definition 63 string 41 | ATTRIBUTE AAT-Assign-IP-Pool 64 integer 42 | ATTRIBUTE AAT-Data-Filter 65 string 43 | ATTRIBUTE AAT-Source-IP-Check 66 integer 44 | ATTRIBUTE AAT-Modem-Answer-String 67 string 45 | ATTRIBUTE AAT-Auth-Type 68 integer 46 | ATTRIBUTE AAT-Qos 70 integer 47 | ATTRIBUTE AAT-Qoa 71 integer 48 | ATTRIBUTE AAT-Client-Assign-DNS 72 integer 49 | ATTRIBUTE AAT-ATM-VPI 128 integer 50 | ATTRIBUTE AAT-ATM-VCI 129 integer 51 | ATTRIBUTE AAT-Input-Octets-Diff 130 integer 52 | ATTRIBUTE AAT-Output-Octets-Diff 131 integer 53 | ATTRIBUTE AAT-User-MAC-Address 132 string 54 | ATTRIBUTE AAT-ATM-Traffic-Profile 133 string 55 | 56 | VALUE AAT-MCast-Client Multicast-No 0 57 | VALUE AAT-MCast-Client Multicast-Yes 1 58 | 59 | VALUE AAT-Require-Auth Not-Require-Auth 0 60 | VALUE AAT-Require-Auth Require-Auth 1 61 | 62 | VALUE AAT-FR-Direct No 0 63 | VALUE AAT-FR-Direct Yes 1 64 | 65 | VALUE AAT-Source-IP-Check Source-IP-Check-No 0 66 | VALUE AAT-Source-IP-Check Source-IP-Check-Yes 1 67 | 68 | VALUE AAT-IP-TOS IP-TOS-Normal 0 69 | VALUE AAT-IP-TOS IP-TOS-Disabled 1 70 | VALUE AAT-IP-TOS IP-TOS-Cost 2 71 | VALUE AAT-IP-TOS IP-TOS-Reliability 4 72 | VALUE AAT-IP-TOS IP-TOS-Throughput 8 73 | VALUE AAT-IP-TOS IP-TOS-Latency 16 74 | 75 | VALUE AAT-IP-TOS-Apply-To IP-TOS-Apply-To-Incoming 1024 76 | VALUE AAT-IP-TOS-Apply-To IP-TOS-Apply-To-Both 3072 77 | VALUE AAT-IP-TOS-Apply-To IP-TOS-Apply-To-Outgoing 2048 78 | 79 | VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Normal 0 80 | VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-One 32 81 | VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Two 64 82 | VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Three 96 83 | VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Four 128 84 | VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Five 160 85 | VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Six 192 86 | VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Seven 224 87 | 88 | VALUE AAT-Auth-Type AAT-Auth-None 0 89 | VALUE AAT-Auth-Type AAT-Auth-Default 1 90 | VALUE AAT-Auth-Type AAT-Auth-Any 2 91 | VALUE AAT-Auth-Type AAT-Auth-PAP 3 92 | VALUE AAT-Auth-Type AAT-Auth-CHAP 4 93 | VALUE AAT-Auth-Type AAT-Auth-MS-CHAP 5 94 | 95 | VALUE AAT-Client-Assign-DNS DNS-Assign-No 0 96 | VALUE AAT-Client-Assign-DNS DNS-Assign-Yes 1 97 | 98 | END-VENDOR Alcatel 99 | -------------------------------------------------------------------------------- /dicts/dictionary.gandalf: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # Gandalf dictionary 3 | # 4 | # Version: 1.00 24-July-2003 Blaise St-Laurent 5 | # 6 | # Notes: Dictionary was made specifically for the Gandalf XpressWay 7 | # RLAN with Link Authentication through RADIUS 8 | # 9 | # $Id$ 10 | # 11 | VENDOR Gandalf 64 12 | 13 | # 14 | # Vendor-specific attributes 15 | # 16 | BEGIN-VENDOR Gandalf 17 | 18 | ATTRIBUTE Gandalf-Remote-LAN-Name 0 string 19 | ATTRIBUTE Gandalf-Operational-Modes 1 integer 20 | ATTRIBUTE Gandalf-Compression-Status 2 integer 21 | ATTRIBUTE Gandalf-Min-Outgoing-Bearer 3 integer 22 | ATTRIBUTE Gandalf-Authentication-String 5 string 23 | ATTRIBUTE Gandalf-PPP-Authentication 6 integer 24 | ATTRIBUTE Gandalf-PPP-NCP-Type 7 integer 25 | ATTRIBUTE Gandalf-Fwd-Multicast-In 8 integer 26 | ATTRIBUTE Gandalf-Fwd-Broadcast-In 9 integer 27 | ATTRIBUTE Gandalf-Fwd-Unicast-In 10 integer 28 | ATTRIBUTE Gandalf-Fwd-Multicast-Out 11 integer 29 | ATTRIBUTE Gandalf-Fwd-Broadcast-Out 12 integer 30 | ATTRIBUTE Gandalf-Fwd-Unicast-Out 13 integer 31 | ATTRIBUTE Gandalf-Around-The-Corner 14 integer 32 | ATTRIBUTE Gandalf-Channel-Group-Name-1 15 string 33 | ATTRIBUTE Gandalf-Dial-Prefix-Name-1 16 string 34 | ATTRIBUTE Gandalf-Phone-Number-1 17 string 35 | ATTRIBUTE Gandalf-Calling-Line-ID-1 18 string 36 | ATTRIBUTE Gandalf-Channel-Group-Name-2 19 string 37 | ATTRIBUTE Gandalf-Dial-Prefix-Name-2 20 string 38 | ATTRIBUTE Gandalf-Phone-Number-2 21 string 39 | ATTRIBUTE Gandalf-Calling-Line-ID-2 22 string 40 | ATTRIBUTE Gandalf-IPX-Spoofing-State 23 integer 41 | ATTRIBUTE Gandalf-IPX-Watchdog-Spoof 24 integer 42 | ATTRIBUTE Gandalf-SAP-Group-Name-1 25 string 43 | ATTRIBUTE Gandalf-SAP-Group-Name-2 26 string 44 | ATTRIBUTE Gandalf-SAP-Group-Name-3 27 string 45 | ATTRIBUTE Gandalf-SAP-Group-Name-4 28 string 46 | ATTRIBUTE Gandalf-SAP-Group-Name-5 29 string 47 | ATTRIBUTE Gandalf-Hunt-Group 30 string 48 | ATTRIBUTE Gandalf-Modem-Mode 31 integer 49 | ATTRIBUTE Gandalf-Modem-Required-1 32 integer 50 | ATTRIBUTE Gandalf-Modem-Required-2 33 integer 51 | 52 | VALUE Gandalf-Operational-Modes Disabled 1 53 | VALUE Gandalf-Operational-Modes Called-Only 2 54 | VALUE Gandalf-Operational-Modes Calling-Called 3 55 | VALUE Gandalf-Operational-Modes Calling-Only 4 56 | 57 | VALUE Gandalf-Compression-Status Disabled 1 58 | VALUE Gandalf-Compression-Status Enabled 2 59 | 60 | VALUE Gandalf-Min-Outgoing-Bearer Unrestricted-64K 1 61 | VALUE Gandalf-Min-Outgoing-Bearer Digital-56K 2 62 | VALUE Gandalf-Min-Outgoing-Bearer 3100Hz-Audio 3 63 | 64 | VALUE Gandalf-PPP-Authentication CHAP 1 65 | VALUE Gandalf-PPP-Authentication PAP 2 66 | VALUE Gandalf-PPP-Authentication PAP-Sending-on-Incoming-Calls 3 67 | 68 | VALUE Gandalf-PPP-NCP-Type BCP 2 69 | VALUE Gandalf-PPP-NCP-Type IPCP 3 70 | 71 | VALUE Gandalf-Fwd-Multicast-In Disabled 1 72 | VALUE Gandalf-Fwd-Multicast-In Enabled 2 73 | 74 | VALUE Gandalf-Fwd-Broadcast-In Disabled 1 75 | VALUE Gandalf-Fwd-Broadcast-In Enabled 2 76 | 77 | VALUE Gandalf-Fwd-Unicast-In Disabled 1 78 | VALUE Gandalf-Fwd-Unicast-In Enabled 2 79 | 80 | VALUE Gandalf-Fwd-Multicast-Out Disabled 1 81 | VALUE Gandalf-Fwd-Multicast-Out Enabled 2 82 | 83 | VALUE Gandalf-Fwd-Broadcast-Out Disabled 1 84 | VALUE Gandalf-Fwd-Broadcast-Out Enabled 2 85 | 86 | VALUE Gandalf-Fwd-Unicast-Out Disabled 1 87 | VALUE Gandalf-Fwd-Unicast-Out Enabled 2 88 | 89 | VALUE Gandalf-IPX-Spoofing-State Forward 1 90 | VALUE Gandalf-IPX-Spoofing-State Spoof 2 91 | VALUE Gandalf-IPX-Spoofing-State Filter-all-outgoing-RIP-SAP 3 92 | 93 | VALUE Gandalf-IPX-Watchdog-Spoof Disabled 1 94 | VALUE Gandalf-IPX-Watchdog-Spoof Enabled 2 95 | 96 | VALUE Gandalf-Modem-Mode Disabled 1 97 | VALUE Gandalf-Modem-Mode Enabled 2 98 | 99 | VALUE Gandalf-Modem-Required-1 Disabled 1 100 | VALUE Gandalf-Modem-Required-1 Enabled 2 101 | 102 | VALUE Gandalf-Modem-Required-2 Disabled 1 103 | VALUE Gandalf-Modem-Required-2 Enabled 2 104 | 105 | END-VENDOR Gandalf 106 | -------------------------------------------------------------------------------- /dicts/dictionary.shiva: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Shiva dictionary. 4 | # 5 | # Shiva Inc. 6 | # http://www.shiva.com/ 7 | # 8 | # For more information on magic values for Shiva-User-Attributes, 9 | # see their web page, at: 10 | # 11 | # http://www.shiva.com/prod/kbase/mapping.html 12 | # 13 | # Enable by putting the line "$INCLUDE dictionary.shiva" into 14 | # the main dictionary file. 15 | # 16 | # Version: 1.00 27-Apr-1999 contributed by Alan DeKok 17 | # $Id$ 18 | # 19 | 20 | VENDOR Shiva 166 21 | 22 | # Shiva Extensions 23 | 24 | # 25 | # This next attribute is Shiva's attempt to create their own 26 | # VSA in the main dictionary. Don't use it. It's a bad idea. 27 | # 28 | #ATTRIBUTE Shiva-User-Attributes 51 string 29 | 30 | BEGIN-VENDOR Shiva 31 | 32 | ATTRIBUTE Shiva-User-Attributes 1 string 33 | ATTRIBUTE Shiva-Compression 30 integer 34 | ATTRIBUTE Shiva-Dialback-Delay 31 integer 35 | ATTRIBUTE Shiva-Call-Durn-Trap 32 integer 36 | ATTRIBUTE Shiva-Bandwidth-Trap 33 integer 37 | ATTRIBUTE Shiva-Minimum-Call 34 integer 38 | ATTRIBUTE Shiva-Default-Host 35 string 39 | ATTRIBUTE Shiva-Menu-Name 36 string 40 | ATTRIBUTE Shiva-User-Flags 37 string 41 | ATTRIBUTE Shiva-Termtype 38 string 42 | ATTRIBUTE Shiva-Break-Key 39 string 43 | ATTRIBUTE Shiva-Fwd-Key 40 string 44 | ATTRIBUTE Shiva-Bak-Key 41 string 45 | ATTRIBUTE Shiva-Dial-Timeout 42 integer 46 | ATTRIBUTE Shiva-LAT-Port 43 string 47 | ATTRIBUTE Shiva-Max-VCs 44 integer 48 | ATTRIBUTE Shiva-DHCP-Leasetime 45 integer 49 | ATTRIBUTE Shiva-LAT-Groups 46 string 50 | ATTRIBUTE Shiva-RTC-Timestamp 60 integer 51 | ATTRIBUTE Shiva-Circuit-Type 61 integer 52 | ATTRIBUTE Shiva-Called-Number 90 string 53 | ATTRIBUTE Shiva-Calling-Number 91 string 54 | ATTRIBUTE Shiva-Customer-Id 92 string 55 | ATTRIBUTE Shiva-Type-Of-Service 93 integer 56 | ATTRIBUTE Shiva-Link-Speed 94 integer 57 | ATTRIBUTE Shiva-Links-In-Bundle 95 integer 58 | ATTRIBUTE Shiva-Compression-Type 96 integer 59 | ATTRIBUTE Shiva-Link-Protocol 97 integer 60 | ATTRIBUTE Shiva-Network-Protocols 98 integer 61 | ATTRIBUTE Shiva-Session-Id 99 integer 62 | ATTRIBUTE Shiva-Disconnect-Reason 100 integer 63 | ATTRIBUTE Shiva-Acct-Serv-Switch 101 ipaddr 64 | ATTRIBUTE Shiva-Event-Flags 102 integer 65 | ATTRIBUTE Shiva-Function 103 integer 66 | ATTRIBUTE Shiva-Connect-Reason 104 integer 67 | 68 | VALUE Shiva-Compression None 0 69 | VALUE Shiva-Compression Negotiate 1 70 | VALUE Shiva-Compression Spider 2 71 | VALUE Shiva-Compression Predictor 3 72 | VALUE Shiva-Compression STAC 4 73 | 74 | VALUE Shiva-Circuit-Type Primary 1 75 | VALUE Shiva-Circuit-Type Secondary-Backup 2 76 | VALUE Shiva-Circuit-Type Secondary-Augment 3 77 | VALUE Shiva-Circuit-Type Secondary-Switch 4 78 | VALUE Shiva-Circuit-Type Listener 5 79 | VALUE Shiva-Circuit-Type RADIUS 6 80 | 81 | # Shiva Type Of Service Values 82 | 83 | VALUE Shiva-Type-Of-Service Analog 1 84 | VALUE Shiva-Type-Of-Service Digitized-Analog 2 85 | VALUE Shiva-Type-Of-Service Digital 3 86 | VALUE Shiva-Type-Of-Service Digital-V110 4 87 | VALUE Shiva-Type-Of-Service Digital-V120 5 88 | VALUE Shiva-Type-Of-Service Digital-Leased-Line 6 89 | 90 | # Shiva Link Protocol Values 91 | 92 | VALUE Shiva-Link-Protocol HDLC 1 93 | VALUE Shiva-Link-Protocol ARAV1 2 94 | VALUE Shiva-Link-Protocol ARAV2 3 95 | VALUE Shiva-Link-Protocol SHELL 4 96 | VALUE Shiva-Link-Protocol AALAP 5 97 | VALUE Shiva-Link-Protocol SLIP 6 98 | 99 | # Shiva Connect Reason Values 100 | 101 | VALUE Shiva-Connect-Reason Remote 1 102 | VALUE Shiva-Connect-Reason Dialback 2 103 | VALUE Shiva-Connect-Reason Virtual-Connection 3 104 | VALUE Shiva-Connect-Reason Bandwidth-On-Demand 4 105 | 106 | # Shiva Disconnect Reason Values 107 | 108 | VALUE Shiva-Disconnect-Reason Remote 1 109 | VALUE Shiva-Disconnect-Reason Error 2 110 | VALUE Shiva-Disconnect-Reason Idle-Timeout 3 111 | VALUE Shiva-Disconnect-Reason Session-Timeout 4 112 | VALUE Shiva-Disconnect-Reason Admin-Disconnect 5 113 | VALUE Shiva-Disconnect-Reason Dialback 6 114 | VALUE Shiva-Disconnect-Reason Virtual-Connection 7 115 | VALUE Shiva-Disconnect-Reason Bandwidth-On-Demand 8 116 | VALUE Shiva-Disconnect-Reason Failed-Authentication 9 117 | VALUE Shiva-Disconnect-Reason Preempted 10 118 | VALUE Shiva-Disconnect-Reason Blocked 11 119 | VALUE Shiva-Disconnect-Reason Tariff-Management 12 120 | VALUE Shiva-Disconnect-Reason Backup 13 121 | 122 | # Shiva Function Values 123 | 124 | VALUE Shiva-Function Unknown 0 125 | VALUE Shiva-Function Dialin 1 126 | VALUE Shiva-Function Dialout 2 127 | VALUE Shiva-Function Lan-To-Lan 3 128 | 129 | END-VENDOR Shiva 130 | -------------------------------------------------------------------------------- /dicts/dictionary.rfc2865: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Attributes and values defined in RFC 2865. 4 | # http://www.ietf.org/rfc/rfc2865.txt 5 | # 6 | # $Id$ 7 | # 8 | ATTRIBUTE User-Name 1 string 9 | ATTRIBUTE User-Password 2 string encrypt=1 10 | ATTRIBUTE CHAP-Password 3 octets 11 | ATTRIBUTE NAS-IP-Address 4 ipaddr 12 | ATTRIBUTE NAS-Port 5 integer 13 | ATTRIBUTE Service-Type 6 integer 14 | ATTRIBUTE Framed-Protocol 7 integer 15 | ATTRIBUTE Framed-IP-Address 8 ipaddr 16 | ATTRIBUTE Framed-IP-Netmask 9 ipaddr 17 | ATTRIBUTE Framed-Routing 10 integer 18 | ATTRIBUTE Filter-Id 11 string 19 | ATTRIBUTE Framed-MTU 12 integer 20 | ATTRIBUTE Framed-Compression 13 integer 21 | ATTRIBUTE Login-IP-Host 14 ipaddr 22 | ATTRIBUTE Login-Service 15 integer 23 | ATTRIBUTE Login-TCP-Port 16 integer 24 | # Attribute 17 is undefined 25 | ATTRIBUTE Reply-Message 18 string 26 | ATTRIBUTE Callback-Number 19 string 27 | ATTRIBUTE Callback-Id 20 string 28 | # Attribute 21 is undefined 29 | ATTRIBUTE Framed-Route 22 string 30 | ATTRIBUTE Framed-IPX-Network 23 ipaddr 31 | ATTRIBUTE State 24 octets 32 | ATTRIBUTE Class 25 octets 33 | ATTRIBUTE Vendor-Specific 26 octets 34 | ATTRIBUTE Session-Timeout 27 integer 35 | ATTRIBUTE Idle-Timeout 28 integer 36 | ATTRIBUTE Termination-Action 29 integer 37 | ATTRIBUTE Called-Station-Id 30 string 38 | ATTRIBUTE Calling-Station-Id 31 string 39 | ATTRIBUTE NAS-Identifier 32 string 40 | ATTRIBUTE Proxy-State 33 octets 41 | ATTRIBUTE Login-LAT-Service 34 string 42 | ATTRIBUTE Login-LAT-Node 35 string 43 | ATTRIBUTE Login-LAT-Group 36 octets 44 | ATTRIBUTE Framed-AppleTalk-Link 37 integer 45 | ATTRIBUTE Framed-AppleTalk-Network 38 integer 46 | ATTRIBUTE Framed-AppleTalk-Zone 39 string 47 | 48 | ATTRIBUTE CHAP-Challenge 60 octets 49 | ATTRIBUTE NAS-Port-Type 61 integer 50 | ATTRIBUTE Port-Limit 62 integer 51 | ATTRIBUTE Login-LAT-Port 63 string 52 | 53 | # 54 | # Integer Translations 55 | # 56 | 57 | # Service types 58 | 59 | VALUE Service-Type Login-User 1 60 | VALUE Service-Type Framed-User 2 61 | VALUE Service-Type Callback-Login-User 3 62 | VALUE Service-Type Callback-Framed-User 4 63 | VALUE Service-Type Outbound-User 5 64 | VALUE Service-Type Administrative-User 6 65 | VALUE Service-Type NAS-Prompt-User 7 66 | VALUE Service-Type Authenticate-Only 8 67 | VALUE Service-Type Callback-NAS-Prompt 9 68 | VALUE Service-Type Call-Check 10 69 | VALUE Service-Type Callback-Administrative 11 70 | 71 | # Framed Protocols 72 | 73 | VALUE Framed-Protocol PPP 1 74 | VALUE Framed-Protocol SLIP 2 75 | VALUE Framed-Protocol ARAP 3 76 | VALUE Framed-Protocol Gandalf-SLML 4 77 | VALUE Framed-Protocol Xylogics-IPX-SLIP 5 78 | VALUE Framed-Protocol X.75-Synchronous 6 79 | 80 | # Framed Routing Values 81 | 82 | VALUE Framed-Routing None 0 83 | VALUE Framed-Routing Broadcast 1 84 | VALUE Framed-Routing Listen 2 85 | VALUE Framed-Routing Broadcast-Listen 3 86 | 87 | # Framed Compression Types 88 | 89 | VALUE Framed-Compression None 0 90 | VALUE Framed-Compression Van-Jacobson-TCP-IP 1 91 | VALUE Framed-Compression IPX-Header-Compression 2 92 | VALUE Framed-Compression Stac-LZS 3 93 | 94 | # Login Services 95 | 96 | VALUE Login-Service Telnet 0 97 | VALUE Login-Service Rlogin 1 98 | VALUE Login-Service TCP-Clear 2 99 | VALUE Login-Service PortMaster 3 100 | VALUE Login-Service LAT 4 101 | VALUE Login-Service X25-PAD 5 102 | VALUE Login-Service X25-T3POS 6 103 | VALUE Login-Service TCP-Clear-Quiet 8 104 | 105 | # Login-TCP-Port (see /etc/services for more examples) 106 | 107 | VALUE Login-TCP-Port Telnet 23 108 | VALUE Login-TCP-Port Rlogin 513 109 | VALUE Login-TCP-Port Rsh 514 110 | 111 | # Termination Options 112 | 113 | VALUE Termination-Action Default 0 114 | VALUE Termination-Action RADIUS-Request 1 115 | 116 | # NAS Port Types 117 | 118 | VALUE NAS-Port-Type Async 0 119 | VALUE NAS-Port-Type Sync 1 120 | VALUE NAS-Port-Type ISDN 2 121 | VALUE NAS-Port-Type ISDN-V120 3 122 | VALUE NAS-Port-Type ISDN-V110 4 123 | VALUE NAS-Port-Type Virtual 5 124 | VALUE NAS-Port-Type PIAFS 6 125 | VALUE NAS-Port-Type HDLC-Clear-Channel 7 126 | VALUE NAS-Port-Type X.25 8 127 | VALUE NAS-Port-Type X.75 9 128 | VALUE NAS-Port-Type G.3-Fax 10 129 | VALUE NAS-Port-Type SDSL 11 130 | VALUE NAS-Port-Type ADSL-CAP 12 131 | VALUE NAS-Port-Type ADSL-DMT 13 132 | VALUE NAS-Port-Type IDSL 14 133 | VALUE NAS-Port-Type Ethernet 15 134 | VALUE NAS-Port-Type xDSL 16 135 | VALUE NAS-Port-Type Cable 17 136 | VALUE NAS-Port-Type Wireless-Other 18 137 | VALUE NAS-Port-Type Wireless-802.11 19 138 | -------------------------------------------------------------------------------- /dicts/dictionary.epygi: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.Epygi 4 | # 5 | 6 | VENDOR Epygi 16459 7 | 8 | # 9 | # Standard attribute 10 | # 11 | BEGIN-VENDOR Epygi 12 | 13 | ATTRIBUTE Epygi-AVPair 1 string 14 | ATTRIBUTE Epygi-NAS-Port 2 string 15 | 16 | # 17 | # Voice over IP attributes. 18 | # 19 | ATTRIBUTE Epygi-h323-remote-address 23 string 20 | ATTRIBUTE Epygi-h323-conf-id 24 string 21 | ATTRIBUTE Epygi-h323-setup-time 25 string 22 | ATTRIBUTE Epygi-h323-call-origin 26 string 23 | ATTRIBUTE Epygi-h323-call-type 27 string 24 | ATTRIBUTE Epygi-h323-connect-time 28 string 25 | ATTRIBUTE Epygi-h323-disconnect-time 29 string 26 | ATTRIBUTE Epygi-h323-disconnect-cause 30 string 27 | ATTRIBUTE Epygi-h323-voice-quality 31 string 28 | ATTRIBUTE Epygi-h323-gw-id 33 string 29 | ATTRIBUTE Epygi-h323-incoming-conf-id 35 string 30 | 31 | ATTRIBUTE Epygi-h323-credit-amount 101 string 32 | ATTRIBUTE Epygi-h323-credit-time 102 string 33 | ATTRIBUTE Epygi-h323-return-code 103 string 34 | ATTRIBUTE Epygi-h323-prompt-id 104 string 35 | ATTRIBUTE Epygi-h323-time-and-day 105 string 36 | ATTRIBUTE Epygi-h323-redirect-number 106 string 37 | ATTRIBUTE Epygi-h323-preferred-lang 107 string 38 | ATTRIBUTE Epygi-h323-redirect-ip-address 108 string 39 | ATTRIBUTE Epygi-h323-billing-model 109 string 40 | ATTRIBUTE Epygi-h323-currency 110 string 41 | 42 | ATTRIBUTE Epygi-RegExpDate 150 string 43 | ATTRIBUTE Epygi-FiadID 151 string 44 | ATTRIBUTE Epygi-PortID 152 string 45 | ATTRIBUTE Epygi-AccessType 153 string 46 | ATTRIBUTE Epygi-CallInfo 154 string 47 | 48 | ATTRIBUTE Epygi-OrigCallID 170 string 49 | ATTRIBUTE Epygi-ParentCallID 171 string 50 | ATTRIBUTE Epygi-CallType 172 integer 51 | ATTRIBUTE Epygi-DeviceName 173 string 52 | ATTRIBUTE Epygi-InterfaceName 174 integer 53 | ATTRIBUTE Epygi-InterfaceNumber 175 integer 54 | ATTRIBUTE Epygi-TimeslotNumber 176 integer 55 | ATTRIBUTE Epygi-OrigIpAddr 177 integer 56 | ATTRIBUTE Epygi-DestIpAddr 178 integer 57 | ATTRIBUTE Epygi-OrigIpPort 179 integer 58 | ATTRIBUTE Epygi-DestIpPort 180 integer 59 | ATTRIBUTE Epygi-CallingPartyNumber 181 string 60 | ATTRIBUTE Epygi-CalledPartyNumber 182 string 61 | ATTRIBUTE Epygi-DateTimeOrigination 183 integer 62 | ATTRIBUTE Epygi-DateTimeConnect 184 integer 63 | ATTRIBUTE Epygi-DateTimeDisconnect 185 integer 64 | ATTRIBUTE Epygi-Duration 186 integer 65 | ATTRIBUTE Epygi-OutSourceRTP_IP 187 integer 66 | ATTRIBUTE Epygi-OutDestRTP_IP 188 integer 67 | ATTRIBUTE Epygi-InSourceRTP_IP 189 integer 68 | ATTRIBUTE Epygi-InDestRTP_IP 190 integer 69 | ATTRIBUTE Epygi-OutSourceRTP_port 191 integer 70 | ATTRIBUTE Epygi-OutDestRTP_port 192 integer 71 | ATTRIBUTE Epygi-InSourceRTP_port 193 integer 72 | ATTRIBUTE Epygi-InDestRTP_port 194 integer 73 | ATTRIBUTE Epygi-CallRedirectReason 195 integer 74 | ATTRIBUTE Epygi-CallDisconnectReason 196 integer 75 | ATTRIBUTE Epygi-OutRTP_Payload 197 integer 76 | ATTRIBUTE Epygi-OutRTP_PacketSize 198 integer 77 | ATTRIBUTE Epygi-OutRTP_Packets 199 integer 78 | ATTRIBUTE Epygi-OutRTP_Octets 200 integer 79 | ATTRIBUTE Epygi-InRTP_Payload 201 integer 80 | ATTRIBUTE Epygi-InRTP_PacketSize 202 integer 81 | ATTRIBUTE Epygi-InRTP_Packets 203 integer 82 | ATTRIBUTE Epygi-InRTP_Octets 204 integer 83 | ATTRIBUTE Epygi-InRTP_PacketsLost 205 integer 84 | ATTRIBUTE Epygi-InRTP_PacketsDupl 206 integer 85 | ATTRIBUTE Epygi-InRTP_Jitter 207 integer 86 | ATTRIBUTE Epygi-InRTP_Latency 208 integer 87 | 88 | VALUE Epygi-CallType Internal 0 89 | VALUE Epygi-CallType SIP 1 90 | VALUE Epygi-CallType H.323 2 91 | VALUE Epygi-CallType FXO 3 92 | VALUE Epygi-CallType T1-E1-CAS 4 93 | VALUE Epygi-CallType T1-E1-CCS 5 94 | VALUE Epygi-CallType ISDN-PRI 6 95 | 96 | VALUE Epygi-InterfaceName Ethernet 0 97 | VALUE Epygi-InterfaceName FXO 1 98 | VALUE Epygi-InterfaceName T1-E1-User 2 99 | VALUE Epygi-InterfaceName T1-E1-Network 3 100 | VALUE Epygi-InterfaceName ISDN 4 101 | 102 | VALUE Epygi-CallRedirectReason No-Reason 0 103 | VALUE Epygi-CallRedirectReason Call-Forward-Uncondit 1 104 | VALUE Epygi-CallRedirectReason Call-Forward-Busy 2 105 | VALUE Epygi-CallRedirectReason Call-Forward-NoAnswer 3 106 | VALUE Epygi-CallRedirectReason Call-Tranfer 4 107 | VALUE Epygi-CallRedirectReason Call-Park 5 108 | VALUE Epygi-CallRedirectReason Call-Pickup 6 109 | VALUE Epygi-CallRedirectReason ManyExtension-Ringing 7 110 | VALUE Epygi-CallRedirectReason Hunt-Group 8 111 | 112 | VALUE Epygi-CallDisconnectReason Call-Is-Redirected 0 113 | VALUE Epygi-CallDisconnectReason Call-Origin-OnHook 1 114 | VALUE Epygi-CallDisconnectReason Call-Temin-OnHook 2 115 | VALUE Epygi-CallDisconnectReason Disconected-by-CAC 3 116 | VALUE Epygi-CallDisconnectReason Other 4 117 | 118 | END-VENDOR Epygi 119 | -------------------------------------------------------------------------------- /dicts/dictionary.freeswitch: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.freeswitch 4 | # 5 | # cparker@segv.org 6 | # 7 | # Version: $Id: $ 8 | # 9 | 10 | VENDOR Freeswitch 27880 11 | 12 | # 13 | # Standard attribute 14 | # 15 | BEGIN-VENDOR Freeswitch 16 | 17 | ATTRIBUTE Freeswitch-AVPair 1 string 18 | ATTRIBUTE Freeswitch-CLID 2 string 19 | ATTRIBUTE Freeswitch-Dialplan 3 string 20 | ATTRIBUTE Freeswitch-Src 4 string 21 | ATTRIBUTE Freeswitch-Dst 5 string 22 | ATTRIBUTE Freeswitch-Src-Channel 6 string 23 | ATTRIBUTE Freeswitch-Dst-Channel 7 string 24 | ATTRIBUTE Freeswitch-Ani 8 string 25 | ATTRIBUTE Freeswitch-Aniii 9 string 26 | ATTRIBUTE Freeswitch-Lastapp 10 string 27 | ATTRIBUTE Freeswitch-Lastdata 11 string 28 | ATTRIBUTE Freeswitch-Disposition 12 string 29 | ATTRIBUTE Freeswitch-Hangupcause 13 integer 30 | ATTRIBUTE Freeswitch-Billusec 15 integer 31 | ATTRIBUTE Freeswitch-AMAFlags 16 integer 32 | ATTRIBUTE Freeswitch-RDNIS 17 string 33 | ATTRIBUTE Freeswitch-Context 18 string 34 | ATTRIBUTE Freeswitch-Source 19 string 35 | ATTRIBUTE Freeswitch-Callstartdate 20 string 36 | ATTRIBUTE Freeswitch-Callanswerdate 21 string 37 | ATTRIBUTE Freeswitch-Calltransferdate 22 string 38 | ATTRIBUTE Freeswitch-Callenddate 23 string 39 | ATTRIBUTE Freeswitch-Signalbond 24 string 40 | 41 | # 42 | # Freeswitch-Hangupcause 43 | # 44 | VALUE Freeswitch-Hangupcause None 0 45 | VALUE Freeswitch-Hangupcause Unallocated-Number 1 46 | VALUE Freeswitch-Hangupcause No-Route-Transit-Net 2 47 | VALUE Freeswitch-Hangupcause No-Route-Destination 3 48 | VALUE Freeswitch-Hangupcause Channel-Unacceptable 6 49 | VALUE Freeswitch-Hangupcause Call-Awarded-Delivery 7 50 | VALUE Freeswitch-Hangupcause Normal-Clearing 16 51 | VALUE Freeswitch-Hangupcause User-Busy 17 52 | VALUE Freeswitch-Hangupcause No-User-Response 18 53 | VALUE Freeswitch-Hangupcause No-Answer 19 54 | VALUE Freeswitch-Hangupcause Subscriber-Absent 20 55 | VALUE Freeswitch-Hangupcause Call-Rejected 21 56 | VALUE Freeswitch-Hangupcause Number-Changed 22 57 | VALUE Freeswitch-Hangupcause Redirecto-To-New-Destination 23 58 | VALUE Freeswitch-Hangupcause Exchange-Routing-Error 25 59 | VALUE Freeswitch-Hangupcause Destination-Out-Of-Order 27 60 | VALUE Freeswitch-Hangupcause Invalid-Number-Format 28 61 | VALUE Freeswitch-Hangupcause Facility-Rejected 29 62 | VALUE Freeswitch-Hangupcause Response-To-Status-Enquiry 30 63 | VALUE Freeswitch-Hangupcause Normal-Unspecified 31 64 | VALUE Freeswitch-Hangupcause Normal-Circuit-Congestion 34 65 | VALUE Freeswitch-Hangupcause Network-Out-Of-Order 38 66 | VALUE Freeswitch-Hangupcause Normal-Temporary-Failure 41 67 | VALUE Freeswitch-Hangupcause Switch-Congestion 42 68 | VALUE Freeswitch-Hangupcause Access-Info-Discarded 43 69 | VALUE Freeswitch-Hangupcause Requested-Chan-Unavail 44 70 | VALUE Freeswitch-Hangupcause Pre-Empted 45 71 | VALUE Freeswitch-Hangupcause Facility-Not-Subscribed 50 72 | VALUE Freeswitch-Hangupcause Outgoing-Call-Barred 52 73 | VALUE Freeswitch-Hangupcause Incoming-Call-Barred 54 74 | VALUE Freeswitch-Hangupcause Bearercapability-Notauth 57 75 | VALUE Freeswitch-Hangupcause Bearercapability-Notavail 58 76 | VALUE Freeswitch-Hangupcause Service-Unavailable 63 77 | VALUE Freeswitch-Hangupcause Bearercapability-Notimpl 65 78 | VALUE Freeswitch-Hangupcause Chan-Not-Implemented 66 79 | VALUE Freeswitch-Hangupcause Facility-Not-Implemented 69 80 | VALUE Freeswitch-Hangupcause Service-Not-Implemented 79 81 | VALUE Freeswitch-Hangupcause Invalid-Call-Reference 81 82 | VALUE Freeswitch-Hangupcause Incompatible-Destination 88 83 | VALUE Freeswitch-Hangupcause Invalid-Msg-Unspecified 95 84 | VALUE Freeswitch-Hangupcause Mandatory-IE-Missing 96 85 | VALUE Freeswitch-Hangupcause Message-Type-Nonexist 97 86 | VALUE Freeswitch-Hangupcause Wrong-Message 98 87 | VALUE Freeswitch-Hangupcause IE-Nonexist 99 88 | VALUE Freeswitch-Hangupcause Invalid-IE-Contents 100 89 | VALUE Freeswitch-Hangupcause Wrong-Call-State 101 90 | VALUE Freeswitch-Hangupcause Recovery-On-Timer-Expire 102 91 | VALUE Freeswitch-Hangupcause Mandatory-IE-Length-Error 103 92 | VALUE Freeswitch-Hangupcause Protocol-Error 111 93 | VALUE Freeswitch-Hangupcause Interworking 127 94 | VALUE Freeswitch-Hangupcause Success 142 95 | VALUE Freeswitch-Hangupcause Originator-Cancel 487 96 | VALUE Freeswitch-Hangupcause Crash 500 97 | VALUE Freeswitch-Hangupcause System-Shutdown 501 98 | VALUE Freeswitch-Hangupcause Lose-Race 502 99 | VALUE Freeswitch-Hangupcause Manager-Request 503 100 | VALUE Freeswitch-Hangupcause Blind-Transfer 600 101 | VALUE Freeswitch-Hangupcause Attended-Transfer 601 102 | VALUE Freeswitch-Hangupcause Allotted-Timeout 602 103 | VALUE Freeswitch-Hangupcause User-Challenge 603 104 | VALUE Freeswitch-Hangupcause Media-Timeout 604 105 | VALUE Freeswitch-Hangupcause Picked-Off 605 106 | VALUE Freeswitch-Hangupcause User-Not-Registered 606 107 | 108 | # 109 | # 110 | # 111 | 112 | END-VENDOR Freeswitch -------------------------------------------------------------------------------- /dicts/dictionary.3gpp2: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # 3GPP2 stuff. 4 | # 5 | # http://www.3gpp2.org/Public_html/specs/index.cfm 6 | # X.S0011-005-C v1.0 7 | # http://www.3gpp2.org/Public_html/specs/X.S0011-005-C_v2.0_050708.pdf 8 | # http://www.3gpp2.org/public_html/specs/X.S0011-005-C_v3.0_061030.pdf 9 | # 10 | # $Id$ 11 | # 12 | VENDOR 3GPP2 5535 13 | 14 | BEGIN-VENDOR 3GPP2 15 | 16 | ATTRIBUTE 3GPP2-Ike-Preshared-Secret-Request 1 integer 17 | ATTRIBUTE 3GPP2-Security-Level 2 integer 18 | ATTRIBUTE 3GPP2-Pre-Shared-Secret 3 string # 18 octets 19 | ATTRIBUTE 3GPP2-Reverse-Tunnel-Spec 4 integer 20 | ATTRIBUTE 3GPP2-Diffserv-Class-Option 5 integer 21 | 22 | # Contains embedded 3GPP2 accounting attributes. 23 | ATTRIBUTE 3GPP2-Accounting-Container 6 octets 24 | ATTRIBUTE 3GPP2-Home-Agent-IP-Address 7 ipaddr 25 | 26 | # A number formed from the concatenation of the home RADIUS IP address, 27 | # the FA IP address, and a 32-bit Unix timestamp, all encoded as 8 ASCII 28 | # hex characters. 29 | ATTRIBUTE 3GPP2-KeyID 8 string # 22 octets 30 | 31 | ATTRIBUTE 3GPP2-PCF-IP-Address 9 ipaddr 32 | ATTRIBUTE 3GPP2-BSID 10 string 33 | ATTRIBUTE 3GPP2-User-Id 11 integer 34 | ATTRIBUTE 3GPP2-Forward-FCH-Mux-Option 12 integer 35 | ATTRIBUTE 3GPP2-Reverse-FCH-Mux-Option 13 integer 36 | # 37 | # 14-15 ? 38 | # 39 | ATTRIBUTE 3GPP2-Service-Option 16 integer 40 | ATTRIBUTE 3GPP2-Forward-Traffic-Type 17 integer 41 | ATTRIBUTE 3GPP2-Reverse-Traffic-Type 18 integer 42 | ATTRIBUTE 3GPP2-FCH-Frame-Size 19 integer 43 | ATTRIBUTE 3GPP2-Forward-FCH-RC 20 integer 44 | ATTRIBUTE 3GPP2-Reverse-FCH-RC 21 integer 45 | ATTRIBUTE 3GPP2-IP-Technology 22 integer 46 | ATTRIBUTE 3GPP2-Compulsory-Tunnel-Indicator 23 integer 47 | ATTRIBUTE 3GPP2-Release-Indicator 24 integer 48 | ATTRIBUTE 3GPP2-Bad-PPP-Frame-Count 25 integer 49 | # 50 | # 26-29 ? 51 | # 52 | ATTRIBUTE 3GPP2-Number-Active-Transitions 30 integer 53 | ATTRIBUTE 3GPP2-Terminating-SDB-Octet-Count 31 integer 54 | ATTRIBUTE 3GPP2-Originating-SDB-OCtet-Count 32 integer 55 | ATTRIBUTE 3GPP2-Terminating-Number-SDBs 33 integer 56 | ATTRIBUTE 3GPP2-Originating-Number-SDBs 34 integer 57 | # 35 ? 58 | ATTRIBUTE 3GPP2-IP-QoS 36 integer 59 | # 37-38 ? 60 | ATTRIBUTE 3GPP2-Airlink-Priority 39 integer 61 | ATTRIBUTE 3GPP2-Airlink-Record-Type 40 integer # ? 62 | #ATTRIBUTE 3GPP2-R-P-Session-ID 41 string 63 | ATTRIBUTE 3GPP2-Airlink-Sequence-Number 42 integer # ? 64 | ATTRIBUTE 3GPP2-Received-HDLC-Octets 43 integer 65 | ATTRIBUTE 3GPP2-Correlation-Id 44 string 66 | ATTRIBUTE 3GPP2-Module-Orig-Term-Indicator 45 octets # ? 67 | ATTRIBUTE 3GPP2-Inbound-Mobile-IP-Sig-Octets 46 integer 68 | ATTRIBUTE 3GPP2-Outbound-Mobile-IP-Sig-Octets 47 integer 69 | ATTRIBUTE 3GPP2-Session-Continue 48 integer 70 | ATTRIBUTE 3GPP2-Active-Time 49 integer 71 | ATTRIBUTE 3GPP2-DCCH-Frame-Size 50 integer 72 | ATTRIBUTE 3GPP2-Begin-Session 51 integer 73 | ATTRIBUTE 3GPP2-ESN 52 string 74 | # 53 ? 75 | ATTRIBUTE 3GPP2-S-Key 54 octets 76 | ATTRIBUTE 3GPP2-S-Request 55 integer 77 | ATTRIBUTE 3GPP2-S-Lifetime 56 date 78 | ATTRIBUTE 3GPP2-MN-HA-SPI 57 integer 79 | ATTRIBUTE 3GPP2-MN-HA-Shared-Key 58 string encrypt=2 80 | 81 | # The next set of attributes contain sub-types 82 | ATTRIBUTE 3GPP2-Remote-IP-Address 59 octets 83 | 84 | # 60 - 69 are marked "reserved" 85 | 86 | ATTRIBUTE 3GPP2-Remote-IPv6-Address 70 octets 87 | ATTRIBUTE 3GPP2-Remote-Address-Table-Index 71 octets 88 | ATTRIBUTE 3GPP2-Remote-IPv4-Addr-Octet-Count 72 octets 89 | ATTRIBUTE 3GPP2-Allowed-Diffserv-Marking 73 octets 90 | ATTRIBUTE 3GPP2-Service-Option-Profile 74 octets 91 | 92 | # the following don't contain subtypes 93 | ATTRIBUTE 3GPP2-DNS-Update-Required 75 integer 94 | 95 | # Is this 76 or 78? Check... 96 | #ATTRIBUTE 3GPP2-Always-On 76 integer 97 | # 77 ? 98 | #ATTRIBUTE 3GPP2-Always-On 78 integer 99 | ATTRIBUTE 3GPP2-Foreign-Agent-Address 79 ipaddr 100 | ATTRIBUTE 3GPP2-Last-User-Activity-Time 80 integer 101 | ATTRIBUTE 3GPP2-MN-AAA-Removal-Indication 81 integer 102 | ATTRIBUTE 3GPP2-RN-Packet-Data-Inactivity-Timer 82 integer 103 | ATTRIBUTE 3GPP2-Forward-PDCH-RC 83 integer 104 | ATTRIBUTE 3GPP2-Forward-DCCH-Mux-Option 84 integer 105 | ATTRIBUTE 3GPP2-Reverse-DCCH-Mux-Option 85 integer 106 | ATTRIBUTE 3GPP2-Forward-DCCH-RC 86 integer 107 | ATTRIBUTE 3GPP2-Reverse-DHHC-RC 87 integer 108 | ATTRIBUTE 3GPP2-Session-Termination-Capability 88 integer 109 | ATTRIBUTE 3GPP2-Allowed-Persistent-TFTs 89 integer 110 | 111 | # The next set of attributes contain sub-types 112 | ATTRIBUTE 3GPP2-Prepaid-Acct-Quota 90 octets 113 | ATTRIBUTE 3GPP2-Prepaid-acct-Capability 91 octets 114 | ATTRIBUTE 3GPP2-MIP-Lifetime 92 octets 115 | 116 | ATTRIBUTE 3GPP2-Acct-Stop-Trigger 93 integer 117 | 118 | # contains subtypes 119 | ATTRIBUTE 3GPP2-Service-Reference-Id 94 octets 120 | 121 | ATTRIBUTE 3GPP2-DNS-Update-Capability 95 integer 122 | ATTRIBUTE 3GPP2-Disconnect-Reason 96 integer 123 | 124 | # The next set of attributes contain sub-types 125 | ATTRIBUTE 3GPP2-Remote-IPv6-Octet-Count 97 octets 126 | ATTRIBUTE 3GPP2-PrePaid-Tariff-Switching 98 octets 127 | ATTRIBUTE 3GPP2-MEID 116 octets 128 | ATTRIBUTE 3GPP2-DNS-Server-IP-Address 117 octets 129 | 130 | ATTRIBUTE 3GPP2-Carrier-ID 142 string 131 | 132 | # More sub-types 133 | ATTRIBUTE 3GPP2-GMT-Time-Zone-Offset 143 signed 134 | 135 | ATTRIBUTE 3GPP2-HA-Request 168 integer 136 | ATTRIBUTE 3GPP2-HA-Authorised 169 integer 137 | ATTRIBUTE 3GPP2-IP-Ver-Authorised 172 integer 138 | ATTRIBUTE 3GPP2-MIPv4-Mesg-Id 173 string 139 | 140 | END-VENDOR 3GPP2 141 | -------------------------------------------------------------------------------- /lib/radius/dict.ex: -------------------------------------------------------------------------------- 1 | defmodule Radius.Dict do 2 | @moduledoc """ 3 | Parses dictionaries and generates lookup functions and helper macro's. 4 | 5 | The helper macro's give the benefit of compile time checks and faster encoding without losing 6 | readability. 7 | """ 8 | require Radius.Dict.Helpers 9 | alias Radius.Dict.EntryNotFoundError 10 | alias Radius.Dict.Helpers 11 | alias Radius.Dict.Parser 12 | 13 | defmacro __using__(_) do 14 | quote do 15 | require Radius.Dict 16 | import Radius.Dict 17 | end 18 | end 19 | 20 | extra_dictionaries = Application.compile_env(:elixir_radius, :extra_dictionaries, []) 21 | 22 | {includes, generic_attributes, generic_values} = 23 | Path.join(["dicts", "dictionary"]) 24 | |> File.read!() 25 | |> Parser.parse_index() 26 | 27 | filtered_includes = 28 | if config_includes = Application.compile_env(:elixir_radius, :included_dictionaries) do 29 | Enum.filter(includes, &(&1 in config_includes)) 30 | else 31 | includes 32 | end 33 | 34 | dict_files = 35 | Enum.map(filtered_includes, fn dict -> Path.join(["dicts", "dictionary.#{dict}"]) end) 36 | 37 | {vendors, attributes, values} = 38 | Enum.reduce( 39 | dict_files ++ extra_dictionaries, 40 | {[], generic_attributes, generic_values}, 41 | fn dict_file, {acc_vendors, acc_attributes, acc_values} -> 42 | dict = 43 | dict_file 44 | |> File.read!() 45 | |> Parser.parse() 46 | 47 | {acc_attributes, rest} = 48 | case Map.pop(dict, :attributes) do 49 | {[], rest} -> {acc_attributes, rest} 50 | {attributes, rest} -> {attributes ++ acc_attributes, rest} 51 | end 52 | 53 | {acc_values, rest} = 54 | case Map.pop(rest, :values) do 55 | {[], rest} -> {acc_values, rest} 56 | {values, rest} -> {values ++ acc_values, rest} 57 | end 58 | 59 | acc_vendors = 60 | if vendor = Map.get(rest, :vendor) do 61 | [vendor | acc_vendors] 62 | else 63 | acc_vendors 64 | end 65 | 66 | {acc_vendors, acc_attributes, acc_values} 67 | end 68 | ) 69 | 70 | Helpers.define_attribute_doc_helpers() 71 | 72 | for attribute <- attributes do 73 | Helpers.define_attribute_functions(attribute) 74 | end 75 | 76 | Helpers.define_value_doc_helpers() 77 | 78 | for val <- values do 79 | Helpers.define_value_functions(val) 80 | end 81 | 82 | @doc """ 83 | Get vendor struct based on vendor id 84 | """ 85 | @doc group: :lookup 86 | def vendor_by_id(attr_id) 87 | 88 | @doc """ 89 | Get vendor struct based on vendor name 90 | """ 91 | @doc group: :lookup 92 | def vendor_by_name(attr_name) 93 | 94 | for vendor <- vendors do 95 | mod = Module.concat(__MODULE__, Helpers.safe_name("Vendor#{vendor.name}")) 96 | [tl, ll] = Keyword.get(vendor.opts, :format) || [1, 1] 97 | vendor_data = %{id: vendor.id, name: vendor.name, format: {tl, ll}, module: mod} 98 | def vendor_by_id(unquote(vendor.id)), do: unquote(Macro.escape(vendor_data)) 99 | def vendor_by_name(unquote(vendor.name)), do: unquote(Macro.escape(vendor_data)) 100 | 101 | attribute_funs = 102 | for attribute <- vendor.attributes do 103 | quote do 104 | unquote(Helpers.generate_attribute_functions(Macro.escape(attribute))) 105 | end 106 | end 107 | 108 | elixir_compiler_limit = 1024 109 | 110 | value_funs = 111 | if Enum.count(vendor.attributes ++ vendor.values) < elixir_compiler_limit do 112 | for val <- vendor.values do 113 | quote do 114 | unquote(Helpers.generate_value_functions(Macro.escape(val))) 115 | end 116 | end 117 | else 118 | for {attr, vals} <- Enum.group_by(vendor.values, & &1.attr) do 119 | val_fun_name = Helpers.safe_name("val_#{attr}") 120 | 121 | quote location: :keep do 122 | defmacro unquote(val_fun_name)(val_name), 123 | do: 124 | Enum.find_value( 125 | unquote(Macro.escape(vals)), 126 | &(&1.name == val_name && &1.value) 127 | ) 128 | 129 | def value_by_value(unquote(attr), val_value), 130 | do: 131 | Enum.find( 132 | unquote(Macro.escape(vals)), 133 | &(&1.value == val_value) 134 | ) 135 | 136 | def value_by_name(unquote(attr), val_name), 137 | do: 138 | Enum.find( 139 | unquote(Macro.escape(vals)), 140 | &(&1.name == val_name) 141 | ) 142 | end 143 | end 144 | end 145 | 146 | IO.puts("Compiling #{mod}") 147 | 148 | value_doc_funs = if value_funs == [], do: [], else: [Helpers.generate_value_doc_helpers()] 149 | 150 | module_body = 151 | [Helpers.generate_attribute_doc_helpers()] ++ 152 | attribute_funs ++ value_funs ++ value_doc_funs 153 | 154 | Module.create(mod, module_body, Macro.Env.location(__ENV__)) 155 | end 156 | 157 | def attribute_by_id(id), do: raise(EntryNotFoundError, type: :attribute, key: id) 158 | def attribute_by_name(name), do: raise(EntryNotFoundError, type: :attribute, key: name) 159 | def value_by_value(attr, _val), do: raise(EntryNotFoundError, type: :value, key: attr) 160 | def value_by_name(attr, _val_name), do: raise(EntryNotFoundError, type: :value, key: attr) 161 | def vendor_by_id(id), do: raise(EntryNotFoundError, type: :vendor, key: id) 162 | def vendor_by_name(name), do: raise(EntryNotFoundError, type: :vendor, key: name) 163 | end 164 | -------------------------------------------------------------------------------- /dicts/dictionary.freeradius: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # The FreeRADIUS Vendor-Specific dictionary. 4 | # 5 | # Version: $Id$ 6 | # 7 | # For a complete list of Private Enterprise Codes, see: 8 | # 9 | # http://www.isi.edu/in-notes/iana/assignments/enterprise-numbers 10 | # 11 | 12 | VENDOR FreeRADIUS 11344 13 | 14 | BEGIN-VENDOR FreeRADIUS 15 | 16 | ATTRIBUTE FreeRADIUS-Proxied-To 1 ipaddr 17 | ATTRIBUTE FreeRADIUS-Acct-Session-Start-Time 2 date 18 | 19 | 20 | # 21 | # This attribute is really a bitmask. 22 | # 23 | ATTRIBUTE FreeRADIUS-Statistics-Type 127 integer 24 | 25 | VALUE FreeRADIUS-Statistics-Type None 0 26 | VALUE FreeRADIUS-Statistics-Type Authentication 1 27 | VALUE FreeRADIUS-Statistics-Type Accounting 2 28 | VALUE FreeRADIUS-Statistics-Type Proxy-Authentication 4 29 | VALUE FreeRADIUS-Statistics-Type Proxy-Accounting 8 30 | VALUE FreeRADIUS-Statistics-Type Internal 0x10 31 | VALUE FreeRADIUS-Statistics-Type Client 0x20 32 | VALUE FreeRADIUS-Statistics-Type Server 0x40 33 | VALUE FreeRADIUS-Statistics-Type Home-Server 0x80 34 | 35 | VALUE FreeRADIUS-Statistics-Type Auth-Acct 0x03 36 | VALUE FreeRADIUS-Statistics-Type Proxy-Auth-Acct 0x0c 37 | 38 | VALUE FreeRADIUS-Statistics-Type All 0x1f 39 | 40 | # 41 | # Global authentication statistics for packets received by the server. 42 | # 43 | ATTRIBUTE FreeRADIUS-Total-Access-Requests 128 integer 44 | ATTRIBUTE FreeRADIUS-Total-Access-Accepts 129 integer 45 | ATTRIBUTE FreeRADIUS-Total-Access-Rejects 130 integer 46 | ATTRIBUTE FreeRADIUS-Total-Access-Challenges 131 integer 47 | ATTRIBUTE FreeRADIUS-Total-Auth-Responses 132 integer 48 | ATTRIBUTE FreeRADIUS-Total-Auth-Duplicate-Requests 133 integer 49 | ATTRIBUTE FreeRADIUS-Total-Auth-Malformed-Requests 134 integer 50 | ATTRIBUTE FreeRADIUS-Total-Auth-Invalid-Requests 135 integer 51 | ATTRIBUTE FreeRADIUS-Total-Auth-Dropped-Requests 136 integer 52 | ATTRIBUTE FreeRADIUS-Total-Auth-Unknown-Types 137 integer 53 | 54 | # 55 | # Global statistics for auth packets sent by the server to all home servers 56 | # 57 | ATTRIBUTE FreeRADIUS-Total-Proxy-Access-Requests 138 integer 58 | ATTRIBUTE FreeRADIUS-Total-Proxy-Access-Accepts 139 integer 59 | ATTRIBUTE FreeRADIUS-Total-Proxy-Access-Rejects 140 integer 60 | ATTRIBUTE FreeRADIUS-Total-Proxy-Access-Challenges 141 integer 61 | ATTRIBUTE FreeRADIUS-Total-Proxy-Auth-Responses 142 integer 62 | ATTRIBUTE FreeRADIUS-Total-Proxy-Auth-Duplicate-Requests 143 integer 63 | ATTRIBUTE FreeRADIUS-Total-Proxy-Auth-Malformed-Requests 144 integer 64 | ATTRIBUTE FreeRADIUS-Total-Proxy-Auth-Invalid-Requests 145 integer 65 | ATTRIBUTE FreeRADIUS-Total-Proxy-Auth-Dropped-Requests 146 integer 66 | ATTRIBUTE FreeRADIUS-Total-Proxy-Auth-Unknown-Types 147 integer 67 | 68 | # 69 | # Global accounting statistics for packets received by the server. 70 | # 71 | ATTRIBUTE FreeRADIUS-Total-Accounting-Requests 148 integer 72 | ATTRIBUTE FreeRADIUS-Total-Accounting-Responses 149 integer 73 | ATTRIBUTE FreeRADIUS-Total-Acct-Duplicate-Requests 150 integer 74 | ATTRIBUTE FreeRADIUS-Total-Acct-Malformed-Requests 151 integer 75 | ATTRIBUTE FreeRADIUS-Total-Acct-Invalid-Requests 152 integer 76 | ATTRIBUTE FreeRADIUS-Total-Acct-Dropped-Requests 153 integer 77 | ATTRIBUTE FreeRADIUS-Total-Acct-Unknown-Types 154 integer 78 | 79 | # 80 | # Global statistics for acct packets sent by the server to all home servers 81 | # 82 | ATTRIBUTE FreeRADIUS-Total-Proxy-Accounting-Requests 155 integer 83 | ATTRIBUTE FreeRADIUS-Total-Proxy-Accounting-Responses 156 integer 84 | ATTRIBUTE FreeRADIUS-Total-Proxy-Acct-Duplicate-Requests 157 integer 85 | ATTRIBUTE FreeRADIUS-Total-Proxy-Acct-Malformed-Requests 158 integer 86 | ATTRIBUTE FreeRADIUS-Total-Proxy-Acct-Invalid-Requests 159 integer 87 | ATTRIBUTE FreeRADIUS-Total-Proxy-Acct-Dropped-Requests 160 integer 88 | ATTRIBUTE FreeRADIUS-Total-Proxy-Acct-Unknown-Types 161 integer 89 | 90 | # 91 | # Internal queues. Different packet types are put into different queues. 92 | # 93 | ATTRIBUTE FreeRADIUS-Queue-Len-Internal 162 integer 94 | ATTRIBUTE FreeRADIUS-Queue-Len-Proxy 163 integer 95 | ATTRIBUTE FreeRADIUS-Queue-Len-Auth 164 integer 96 | ATTRIBUTE FreeRADIUS-Queue-Len-Acct 165 integer 97 | ATTRIBUTE FreeRADIUS-Queue-Len-Detail 166 integer 98 | 99 | ATTRIBUTE FreeRADIUS-Stats-Client-IP-Address 167 ipaddr 100 | ATTRIBUTE FreeRADIUS-Stats-Client-Number 168 integer 101 | ATTRIBUTE FreeRADIUS-Stats-Client-Netmask 169 integer 102 | 103 | ATTRIBUTE FreeRADIUS-Stats-Server-IP-Address 170 ipaddr 104 | ATTRIBUTE FreeRADIUS-Stats-Server-Port 171 integer 105 | 106 | ATTRIBUTE FreeRADIUS-Stats-Server-Outstanding-Requests 172 integer 107 | ATTRIBUTE FreeRADIUS-Stats-Server-State 173 integer 108 | 109 | VALUE FreeRADIUS-Stats-Server-State Alive 0 110 | VALUE FreeRADIUS-Stats-Server-State Zombie 1 111 | VALUE FreeRADIUS-Stats-Server-State Dead 2 112 | 113 | # 114 | # When a home server is marked "dead" or "alive" 115 | # 116 | ATTRIBUTE FreeRADIUS-Stats-Server-Time-Of-Death 174 date 117 | ATTRIBUTE FreeRADIUS-Stats-Server-Time-Of-Life 175 date 118 | 119 | # 120 | # When this server was started. If start == hup, it hasn't been 121 | # hup'd yet. This is friendlier than having hup == 0 on start. 122 | # 123 | ATTRIBUTE FreeRADIUS-Stats-Start-Time 176 date 124 | ATTRIBUTE FreeRADIUS-Stats-HUP-Time 177 date 125 | 126 | # 127 | # Exponential moving average of home server response time 128 | # Window-1 is the average is calculated over "window" packets. 129 | # Window-10 is the average is calculated over "10 * window" packets. 130 | # 131 | # Both Window-1 and Window-10 are times in microseconds 132 | # (1/1000000 of a second). 133 | # 134 | ATTRIBUTE FreeRADIUS-Server-EMA-Window 178 integer 135 | ATTRIBUTE FreeRADIUS-Server-EMA-USEC-Window-1 179 integer 136 | ATTRIBUTE FreeRADIUS-Server-EMA-USEC-Window-10 180 integer 137 | 138 | END-VENDOR FreeRADIUS 139 | -------------------------------------------------------------------------------- /dicts/dictionary.microsoft: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # Microsoft's VSA's, from RFC 2548 4 | # 5 | # $Id$ 6 | # 7 | 8 | VENDOR Microsoft 311 9 | 10 | BEGIN-VENDOR Microsoft 11 | ATTRIBUTE MS-CHAP-Response 1 octets 12 | ATTRIBUTE MS-CHAP-Error 2 string 13 | ATTRIBUTE MS-CHAP-CPW-1 3 octets 14 | ATTRIBUTE MS-CHAP-CPW-2 4 octets 15 | ATTRIBUTE MS-CHAP-LM-Enc-PW 5 octets 16 | ATTRIBUTE MS-CHAP-NT-Enc-PW 6 octets 17 | ATTRIBUTE MS-MPPE-Encryption-Policy 7 octets 18 | # This is referred to as both singular and plural in the RFC. 19 | # Plural seems to make more sense. 20 | ATTRIBUTE MS-MPPE-Encryption-Type 8 octets 21 | ATTRIBUTE MS-MPPE-Encryption-Types 8 octets 22 | ATTRIBUTE MS-RAS-Vendor 9 integer # content is Vendor-ID 23 | ATTRIBUTE MS-CHAP-Domain 10 string 24 | ATTRIBUTE MS-CHAP-Challenge 11 octets 25 | ATTRIBUTE MS-CHAP-MPPE-Keys 12 octets encrypt=1 26 | ATTRIBUTE MS-BAP-Usage 13 integer 27 | ATTRIBUTE MS-Link-Utilization-Threshold 14 integer # values are 1-100 28 | ATTRIBUTE MS-Link-Drop-Time-Limit 15 integer 29 | ATTRIBUTE MS-MPPE-Send-Key 16 octets encrypt=2 30 | ATTRIBUTE MS-MPPE-Recv-Key 17 octets encrypt=2 31 | ATTRIBUTE MS-RAS-Version 18 string 32 | ATTRIBUTE MS-Old-ARAP-Password 19 octets 33 | ATTRIBUTE MS-New-ARAP-Password 20 octets 34 | ATTRIBUTE MS-ARAP-PW-Change-Reason 21 integer 35 | 36 | ATTRIBUTE MS-Filter 22 octets 37 | ATTRIBUTE MS-Acct-Auth-Type 23 integer 38 | ATTRIBUTE MS-Acct-EAP-Type 24 integer 39 | 40 | ATTRIBUTE MS-CHAP2-Response 25 octets 41 | ATTRIBUTE MS-CHAP2-Success 26 octets 42 | ATTRIBUTE MS-CHAP2-CPW 27 octets 43 | 44 | ATTRIBUTE MS-Primary-DNS-Server 28 ipaddr 45 | ATTRIBUTE MS-Secondary-DNS-Server 29 ipaddr 46 | ATTRIBUTE MS-Primary-NBNS-Server 30 ipaddr 47 | ATTRIBUTE MS-Secondary-NBNS-Server 31 ipaddr 48 | 49 | #ATTRIBUTE MS-ARAP-Challenge 33 octets 50 | 51 | ## MS-RNAP 52 | # 53 | # http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/%5BMS-RNAP%5D.pdf 54 | 55 | ATTRIBUTE MS-RAS-Client-Name 34 string 56 | ATTRIBUTE MS-RAS-Client-Version 35 string 57 | ATTRIBUTE MS-Quarantine-IPFilter 36 octets 58 | ATTRIBUTE MS-Quarantine-Session-Timeout 37 integer 59 | ATTRIBUTE MS-User-Security-Identity 40 string 60 | ATTRIBUTE MS-Identity-Type 41 integer 61 | ATTRIBUTE MS-Service-Class 42 string 62 | ATTRIBUTE MS-Quarantine-User-Class 44 string 63 | ATTRIBUTE MS-Quarantine-State 45 integer 64 | ATTRIBUTE MS-Quarantine-Grace-Time 46 integer 65 | ATTRIBUTE MS-Network-Access-Server-Type 47 integer 66 | ATTRIBUTE MS-AFW-Zone 48 integer 67 | 68 | VALUE MS-AFW-Zone MS-AFW-Zone-Boundary-Policy 1 69 | VALUE MS-AFW-Zone MS-AFW-Zone-Unprotected-Policy 2 70 | VALUE MS-AFW-Zone MS-AFW-Zone-Protected-Policy 3 71 | 72 | ATTRIBUTE MS-AFW-Protection-Level 49 integer 73 | 74 | VALUE MS-AFW-Protection-Level HECP-Response-Sign-Only 1 75 | VALUE MS-AFW-Protection-Level HECP-Response-Sign-And-Encrypt 2 76 | 77 | ATTRIBUTE MS-Machine-Name 50 string 78 | ATTRIBUTE MS-IPv6-Filter 51 octets 79 | ATTRIBUTE MS-IPv4-Remediation-Servers 52 octets 80 | ATTRIBUTE MS-IPv6-Remediation-Servers 53 octets 81 | ATTRIBUTE MS-RNAP-Not-Quarantine-Capable 54 integer 82 | 83 | VALUE MS-RNAP-Not-Quarantine-Capable SoH-Sent 0 84 | VALUE MS-RNAP-Not-Quarantine-Capable SoH-Not-Sent 1 85 | 86 | ATTRIBUTE MS-Quarantine-SOH 55 octets 87 | ATTRIBUTE MS-RAS-Correlation 56 octets 88 | 89 | # Or this might be 56? 90 | ATTRIBUTE MS-Extended-Quarantine-State 57 integer 91 | 92 | ATTRIBUTE MS-HCAP-User-Groups 58 string 93 | ATTRIBUTE MS-HCAP-Location-Group-Name 59 string 94 | ATTRIBUTE MS-HCAP-User-Name 60 string 95 | ATTRIBUTE MS-User-IPv4-Address 61 ipaddr 96 | ATTRIBUTE MS-User-IPv6-Address 62 ipv6addr 97 | ATTRIBUTE MS-TSG-Device-Redirection 63 integer 98 | 99 | # 100 | # Integer Translations 101 | # 102 | 103 | # MS-BAP-Usage Values 104 | 105 | VALUE MS-BAP-Usage Not-Allowed 0 106 | VALUE MS-BAP-Usage Allowed 1 107 | VALUE MS-BAP-Usage Required 2 108 | 109 | # MS-ARAP-Password-Change-Reason Values 110 | 111 | VALUE MS-ARAP-PW-Change-Reason Just-Change-Password 1 112 | VALUE MS-ARAP-PW-Change-Reason Expired-Password 2 113 | VALUE MS-ARAP-PW-Change-Reason Admin-Requires-Password-Change 3 114 | VALUE MS-ARAP-PW-Change-Reason Password-Too-Short 4 115 | 116 | # MS-Acct-Auth-Type Values 117 | 118 | VALUE MS-Acct-Auth-Type PAP 1 119 | VALUE MS-Acct-Auth-Type CHAP 2 120 | VALUE MS-Acct-Auth-Type MS-CHAP-1 3 121 | VALUE MS-Acct-Auth-Type MS-CHAP-2 4 122 | VALUE MS-Acct-Auth-Type EAP 5 123 | 124 | # MS-Acct-EAP-Type Values 125 | 126 | VALUE MS-Acct-EAP-Type MD5 4 127 | VALUE MS-Acct-EAP-Type OTP 5 128 | VALUE MS-Acct-EAP-Type Generic-Token-Card 6 129 | VALUE MS-Acct-EAP-Type TLS 13 130 | 131 | # MS-Identity-Type Values 132 | 133 | VALUE MS-Identity-Type Machine-Health-Check 1 134 | VALUE MS-Identity-Type Ignore-User-Lookup-Failure 2 135 | 136 | # MS-Quarantine-State Values 137 | 138 | VALUE MS-Quarantine-State Full-Access 0 139 | VALUE MS-Quarantine-State Quarantine 1 140 | VALUE MS-Quarantine-State Probation 2 141 | 142 | # MS-Network-Access-Server-Type Values 143 | 144 | VALUE MS-Network-Access-Server-Type Unspecified 0 145 | VALUE MS-Network-Access-Server-Type Terminal-Server-Gateway 1 146 | VALUE MS-Network-Access-Server-Type Remote-Access-Server 2 147 | VALUE MS-Network-Access-Server-Type DHCP-Server 3 148 | VALUE MS-Network-Access-Server-Type Wireless-Access-Point 4 149 | VALUE MS-Network-Access-Server-Type HRA 5 150 | VALUE MS-Network-Access-Server-Type HCAP-Server 6 151 | 152 | # MS-Extended-Quarantine-State Values 153 | 154 | VALUE MS-Extended-Quarantine-State Transition 1 155 | VALUE MS-Extended-Quarantine-State Infected 2 156 | VALUE MS-Extended-Quarantine-State Unknown 3 157 | VALUE MS-Extended-Quarantine-State No-Data 4 158 | 159 | END-VENDOR Microsoft 160 | -------------------------------------------------------------------------------- /lib/radius/dict/parser.ex.exs: -------------------------------------------------------------------------------- 1 | defmodule Radius.Dict.Parser do 2 | @moduledoc false 3 | def parse(binary) do 4 | {:ok, _, "", ctx, _, _} = 5 | parse_bin(binary, context: [attributes: [], values: [], prepend_key: []]) 6 | 7 | ctx 8 | end 9 | 10 | def parse_index(binary) do 11 | includes = 12 | binary 13 | |> String.split("\n") 14 | |> Enum.filter(&String.starts_with?(&1, "$INCLUDE dictionary.")) 15 | |> Enum.map(fn include -> 16 | String.replace_leading(include, "$INCLUDE dictionary.", "") 17 | end) 18 | 19 | parsed = parse(binary) 20 | 21 | {includes, Map.get(parsed, :attributes), Map.get(parsed, :values)} 22 | end 23 | 24 | # parsec:Radius.Dict.Parser 25 | import NimbleParsec 26 | 27 | separator = ascii_string([?\s, ?\t], min: 1) 28 | name = ascii_string([not: ?\t, not: ?\n, not: ?\s], min: 1) 29 | 30 | vendor = string("VENDOR") |> replace(:vendor) 31 | attribute = string("ATTRIBUTE") |> replace(:attribute) 32 | value = string("VALUE") |> replace(:value) 33 | 34 | hex_identifier = 35 | ignore(string("0x")) 36 | |> choice([ 37 | ascii_string([?a..?f, ?A..?F, ?0..?9], 8), 38 | ascii_string([?a..?f, ?A..?F, ?0..?9], 4), 39 | ascii_string([?a..?f, ?A..?F, ?0..?9], 3), 40 | ascii_string([?a..?f, ?A..?F, ?0..?9], 2), 41 | ascii_string([?a..?f, ?A..?F, ?0..?9], 1) 42 | ]) 43 | |> reduce(:hex_to_integer) 44 | 45 | identifier = 46 | choice([ 47 | hex_identifier, 48 | integer(10), 49 | integer(5), 50 | integer(4), 51 | integer(3), 52 | integer(2), 53 | integer(1) 54 | ]) 55 | 56 | attribute_type = 57 | choice([ 58 | string("string") |> replace(:string), 59 | string("octets") |> replace(:octets), 60 | string("ipaddr") |> replace(:ipaddr), 61 | string("integer") |> replace(:integer), 62 | string("signed") |> replace(:signed), 63 | string("date") |> replace(:date), 64 | string("ifid") |> replace(:ifid), 65 | string("ipv6addr") |> replace(:ipv6addr), 66 | string("ipv6prefix") |> replace(:ipv6prefix), 67 | string("ether") |> replace(:ether), 68 | string("abinary") |> replace(:abinary), 69 | string("byte") |> replace(:byte), 70 | string("short") |> replace(:short) 71 | ]) 72 | 73 | comment = 74 | optional(ignore(separator)) 75 | |> string("#") 76 | |> optional(ascii_string([not: ?\n], min: 1)) 77 | 78 | include_line = 79 | string("$INCLUDE") 80 | |> ignore(separator) 81 | |> ignore(string("dictionary.")) 82 | |> concat(name) 83 | 84 | begin_line = 85 | string("BEGIN-VENDOR") 86 | |> ignore(separator) 87 | |> concat(name) 88 | 89 | end_line = 90 | string("END-VENDOR") 91 | |> ignore(separator) 92 | |> concat(name) 93 | 94 | attribute_line = 95 | attribute 96 | |> ignore(separator) 97 | |> concat(name) 98 | |> ignore(separator) 99 | |> concat(identifier) 100 | |> ignore(separator) 101 | |> concat(attribute_type) 102 | |> optional( 103 | ignore(separator) 104 | |> optional(string("has_tag") |> replace(true) |> unwrap_and_tag(:has_tag)) 105 | |> optional(ignore(string(","))) 106 | |> optional(ignore(string("encrypt=")) |> integer(1) |> unwrap_and_tag(:encrypt)) 107 | |> tag(:opts) 108 | ) 109 | |> post_traverse(:store_attribute) 110 | 111 | value_line = 112 | value 113 | |> ignore(separator) 114 | |> concat(name) 115 | |> ignore(separator) 116 | |> concat(name) 117 | |> ignore(separator) 118 | |> concat(identifier) 119 | |> post_traverse(:store_value) 120 | 121 | vendor_line = 122 | vendor 123 | |> ignore(separator) 124 | |> concat(name) 125 | |> ignore(separator) 126 | |> concat(identifier) 127 | |> optional( 128 | ignore(separator) 129 | |> ignore(string("format=")) 130 | |> integer(1) 131 | |> ignore(string(",")) 132 | |> integer(1) 133 | |> optional(ignore(string(",c"))) 134 | |> tag(:format) 135 | ) 136 | |> post_traverse(:store_vendor) 137 | 138 | vendor_chapter = 139 | ignore(begin_line) 140 | |> post_traverse({:prepend_store_key, [[:vendor]]}) 141 | |> repeat( 142 | choice([ 143 | ignore(string("\n")), 144 | attribute_line, 145 | value_line, 146 | ignore(comment) 147 | ]) 148 | ) 149 | |> ignore(end_line) 150 | |> post_traverse({:prepend_store_key, [[]]}) 151 | 152 | defparsecp( 153 | :parse_bin, 154 | choice([ 155 | ignore(string("\n")), 156 | attribute_line, 157 | value_line, 158 | vendor_line, 159 | vendor_chapter, 160 | ignore(include_line), 161 | ignore(comment) 162 | ]) 163 | |> repeat() 164 | ) 165 | 166 | # parsec:Radius.Dict.Parser 167 | 168 | defp prepend_store_key(_rest, _, context, _line, _offset, key) do 169 | {[], Map.put(context, :prepend_key, key)} 170 | end 171 | 172 | defp store_vendor(_rest, vendor, context, _line, _offset) do 173 | [:vendor, name, id | opts] = Enum.reverse(vendor) 174 | {[], Map.put(context, :vendor, %{id: id, name: name, opts: opts, attributes: [], values: []})} 175 | end 176 | 177 | defp store_attribute(_rest, attr, context, _line, _offset) do 178 | [:attribute, name, id, type | rest] = Enum.reverse(attr) 179 | opts = Keyword.get(rest, :opts, []) 180 | attribute = %{name: name, id: id, type: type, opts: opts} 181 | 182 | {[], 183 | update_in(context, context.prepend_key ++ [:attributes], fn attrs -> [attribute | attrs] end)} 184 | end 185 | 186 | defp store_value(_rest, [value, name, attr_name, :value], context, _line, _offset) do 187 | value = %{attr: attr_name, value: value, name: name} 188 | 189 | {[], update_in(context, context.prepend_key ++ [:values], fn values -> [value | values] end)} 190 | end 191 | 192 | defp hex_to_integer([hex]) do 193 | String.to_integer(hex, 16) 194 | end 195 | end 196 | -------------------------------------------------------------------------------- /dicts/dictionary.huawei: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | ############################################################################## 3 | # 4 | # Dictionary for Huawei. See also dictionary.h3c 5 | # 6 | # $Id$ 7 | # 8 | ############################################################################## 9 | 10 | VENDOR Huawei 2011 11 | 12 | BEGIN-VENDOR Huawei 13 | 14 | ATTRIBUTE Huawei-Input-Burst-Size 1 integer 15 | ATTRIBUTE Huawei-Input-Average-Rate 2 integer 16 | ATTRIBUTE Huawei-Input-Peak-Rate 3 integer 17 | ATTRIBUTE Huawei-Output-Burst-Size 4 integer 18 | ATTRIBUTE Huawei-Output-Average-Rate 5 integer 19 | ATTRIBUTE Huawei-Output-Peak-Rate 6 integer 20 | ATTRIBUTE Huawei-In-Kb-Before-T-Switch 7 integer 21 | ATTRIBUTE Huawei-Out-Kb-Before-T-Switch 8 integer 22 | ATTRIBUTE Huawei-In-Pkt-Before-T-Switch 9 integer 23 | ATTRIBUTE Huawei-Out-Pkt-Before-T-Switch 10 integer 24 | ATTRIBUTE Huawei-In-Kb-After-T-Switch 11 integer 25 | ATTRIBUTE Huawei-Out-Kb-After-T-Switch 12 integer 26 | ATTRIBUTE Huawei-In-Pkt-After-T-Switch 13 integer 27 | ATTRIBUTE Huawei-Out-Pkt-After-T-Switch 14 integer 28 | ATTRIBUTE Huawei-Remanent-Volume 15 integer 29 | ATTRIBUTE Huawei-Tariff-Switch-Interval 16 integer 30 | ATTRIBUTE Huawei-ISP-ID 17 string 31 | ATTRIBUTE Huawei-Max-Users-Per-Logic-Port 18 integer 32 | ATTRIBUTE Huawei-Command 20 integer 33 | ATTRIBUTE Huawei-Priority 22 integer 34 | ATTRIBUTE Huawei-Control-Identifier 24 integer 35 | ATTRIBUTE Huawei-Result-Code 25 integer 36 | ATTRIBUTE Huawei-Connect-ID 26 integer 37 | ATTRIBUTE Huawei-PortalURL 27 string 38 | ATTRIBUTE Huawei-FTP-Directory 28 string 39 | ATTRIBUTE Huawei-Exec-Privilege 29 integer 40 | ATTRIBUTE Huawei-IP-Address 30 integer 41 | ATTRIBUTE Huawei-Qos-Profile-Name 31 string 42 | ATTRIBUTE Huawei-Destnation-IP-Addr 39 string 43 | ATTRIBUTE Huawei-Destnation-Volume 40 string 44 | ATTRIBUTE Huawei-Startup-Stamp 59 integer 45 | ATTRIBUTE Huawei-IPHost-Addr 60 string 46 | ATTRIBUTE Huawei-VT-Name 64 integer 47 | ATTRIBUTE Huawei-PPP-NCP-Type 70 integer 48 | ATTRIBUTE Huawei-VSI-Name 71 string 49 | ATTRIBUTE Huawei-Subnet-Mask 72 ipaddr 50 | ATTRIBUTE Huawei-Gateway-Address 73 ipaddr 51 | ATTRIBUTE Huawei-Lease-Time 74 integer 52 | ATTRIBUTE Huawei-Primary-WINS 75 ipaddr 53 | ATTRIBUTE Huawei-Secondary-WINS 76 ipaddr 54 | ATTRIBUTE Huawei-Input-Peak-Burst-Size 77 integer 55 | ATTRIBUTE Huawei-Output-Peak-Burst-Size 78 integer 56 | ATTRIBUTE Huawei-Reduced-CIR 79 integer 57 | ATTRIBUTE Huawei-Tunnel-Session-Limit 80 integer 58 | ATTRIBUTE Huawei-Zone-Name 81 string 59 | ATTRIBUTE Huawei-Data-Filter 82 string 60 | ATTRIBUTE Huawei-Access-Service 83 string 61 | ATTRIBUTE Huawei-HW-Accounting-Level 84 integer 62 | ATTRIBUTE Huawei-HW-Portal-Mode 85 integer 63 | ATTRIBUTE Huawei-HW-DPI-Policy-Name 86 string 64 | ATTRIBUTE huawei-Policy-Route 87 ipaddr 65 | ATTRIBUTE Huawei-Framed-Pool 88 string 66 | ATTRIBUTE Huawei-HW-L2TP-Terminate-Cause 89 string 67 | ATTRIBUTE Huawei-HW-Multi-Account-Mode 90 integer 68 | ATTRIBUTE Huawei-Queue-Profile 91 string 69 | ATTRIBUTE Huawei-Layer4-Session-Limit 92 integer 70 | ATTRIBUTE Huawei-Multicast-Profile 93 string 71 | ATTRIBUTE Huawei-VPN-Instance 94 string 72 | ATTRIBUTE Huawei-Policy-Name 95 string 73 | ATTRIBUTE Huawei-Tunnel-Group-Name 96 string 74 | ATTRIBUTE Huawei-Multicast-Source-Group 97 string 75 | ATTRIBUTE Huawei-Multicast-Receive-Group 98 ipaddr 76 | ATTRIBUTE Huawei-User-Multicast-Type 99 integer 77 | ATTRIBUTE Huawei-Reduced-PIR 100 integer 78 | ATTRIBUTE Huawei-LI-ID 101 string 79 | ATTRIBUTE Huawei-LI-Md-Address 102 ipaddr 80 | ATTRIBUTE Huawei-LI-Md-Port 103 integer 81 | ATTRIBUTE Huawei-LI-Md-VpnInstance 104 string 82 | ATTRIBUTE Huawei-Service-Chg-Cmd 105 integer 83 | ATTRIBUTE Huawei-Acct-Packet-Type 106 integer 84 | ATTRIBUTE Huawei-Call-Reference 107 integer 85 | ATTRIBUTE Huawei-PSTN-Port 108 integer 86 | ATTRIBUTE Huawei-Voip-Service-Type 109 integer 87 | ATTRIBUTE Huawei-Acct-Connection-Time 110 integer 88 | ATTRIBUTE Huawei-Error-Reason 112 integer 89 | ATTRIBUTE Huawei-Remain-Monney 113 integer 90 | ATTRIBUTE Huawei-Org-GK-ipaddr 123 ipaddr 91 | ATTRIBUTE Huawei-Org-GW-ipaddr 124 ipaddr 92 | ATTRIBUTE Huawei-Dst-GK-ipaddr 125 ipaddr 93 | ATTRIBUTE Huawei-Dst-GW-ipaddr 126 ipaddr 94 | ATTRIBUTE Huawei-Access-Num 127 string 95 | ATTRIBUTE Huawei-Remain-Time 128 integer 96 | ATTRIBUTE Huawei-Codec-Type 131 integer 97 | ATTRIBUTE Huawei-Transfer-Num 132 string 98 | ATTRIBUTE Huawei-New-User-Name 133 string 99 | ATTRIBUTE Huawei-Transfer-Station-Id 134 string 100 | ATTRIBUTE Huawei-Primary-DNS 135 ipaddr 101 | ATTRIBUTE Huawei-Secondary-DNS 136 ipaddr 102 | ATTRIBUTE Huawei-ONLY-Account-Type 137 integer 103 | ATTRIBUTE Huawei-Domain-Name 138 string 104 | ATTRIBUTE Huawei-ANCP-Profile 139 string 105 | ATTRIBUTE Huawei-HTTP-Redirect-URL 140 string 106 | ATTRIBUTE Huawei-Loopback-Address 141 string 107 | ATTRIBUTE Huawei-QoS-Profile-Type 142 integer 108 | ATTRIBUTE Huawei-HW-Max-List-Num 143 integer 109 | ATTRIBUTE Huawei-Flow-Info 211 string 110 | ATTRIBUTE Huawei-Flow-Id 212 integer 111 | ATTRIBUTE Huawei-DHCP-Server-IP 214 ipaddr 112 | ATTRIBUTE Huawei-Application-Type 215 integer 113 | ATTRIBUTE Huawei-Indication-Flag 216 octets # integer?? 114 | ATTRIBUTE Huawei-Original_NAS-IP_Address 217 ipaddr 115 | ATTRIBUTE Huawei-User-Priority 218 integer 116 | ATTRIBUTE Huawei-ACS-Url 219 string 117 | ATTRIBUTE Huawei-Provision-Code 220 string 118 | ATTRIBUTE Huawei-Application-Scene 221 octets 119 | ATTRIBUTE Huawei-MS-Maximum-MAC-Study-Number 222 octets # ether?? 120 | ATTRIBUTE Huawei-Version 254 string 121 | ATTRIBUTE Huawei-Product-ID 255 string 122 | 123 | # 124 | # Integer translations 125 | # 126 | 127 | VALUE Huawei-User-Priority Common 0 128 | VALUE Huawei-User-Priority Copper 1 129 | VALUE Huawei-User-Priority Silver 2 130 | VALUE Huawei-User-Priority Gold 3 131 | 132 | VALUE Huawei-Application-Type Fixed 1 133 | VALUE Huawei-Application-Type Nomadic 2 134 | VALUE Huawei-Application-Type Portable 3 135 | VALUE Huawei-Application-Type Simple-Mobile 4 136 | VALUE Huawei-Application-Type Full-Mobile 5 137 | 138 | END-VENDOR Huawei 139 | -------------------------------------------------------------------------------- /dicts/dictionary.cisco: -------------------------------------------------------------------------------- 1 | # -*- text -*- 2 | # 3 | # dictionary.cisco 4 | # 5 | # Accounting VSAs originally by 6 | # "Marcelo M. Sosa Lugones" 7 | # 8 | # Version: $Id$ 9 | # 10 | # For documentation on Cisco RADIUS attributes, see: 11 | # 12 | # http://www.cisco.com/univercd/cc/td/doc/product/access/acs_serv/vapp_dev/vsaig3.htm 13 | # 14 | # For general documentation on Cisco RADIUS configuration, see: 15 | # 16 | # http://www.cisco.com/en/US/partner/tech/tk583/tk547/tsd_technology_support_sub-protocol_home.html 17 | # 18 | 19 | VENDOR Cisco 9 20 | 21 | # 22 | # Standard attribute 23 | # 24 | BEGIN-VENDOR Cisco 25 | 26 | ATTRIBUTE Cisco-AVPair 1 string 27 | ATTRIBUTE Cisco-NAS-Port 2 string 28 | 29 | # 30 | # T.37 Store-and-Forward attributes. 31 | # 32 | ATTRIBUTE Cisco-Fax-Account-Id-Origin 3 string 33 | ATTRIBUTE Cisco-Fax-Msg-Id 4 string 34 | ATTRIBUTE Cisco-Fax-Pages 5 string 35 | ATTRIBUTE Cisco-Fax-Coverpage-Flag 6 string 36 | ATTRIBUTE Cisco-Fax-Modem-Time 7 string 37 | ATTRIBUTE Cisco-Fax-Connect-Speed 8 string 38 | ATTRIBUTE Cisco-Fax-Recipient-Count 9 string 39 | ATTRIBUTE Cisco-Fax-Process-Abort-Flag 10 string 40 | ATTRIBUTE Cisco-Fax-Dsn-Address 11 string 41 | ATTRIBUTE Cisco-Fax-Dsn-Flag 12 string 42 | ATTRIBUTE Cisco-Fax-Mdn-Address 13 string 43 | ATTRIBUTE Cisco-Fax-Mdn-Flag 14 string 44 | ATTRIBUTE Cisco-Fax-Auth-Status 15 string 45 | ATTRIBUTE Cisco-Email-Server-Address 16 string 46 | ATTRIBUTE Cisco-Email-Server-Ack-Flag 17 string 47 | ATTRIBUTE Cisco-Gateway-Id 18 string 48 | ATTRIBUTE Cisco-Call-Type 19 string 49 | ATTRIBUTE Cisco-Port-Used 20 string 50 | ATTRIBUTE Cisco-Abort-Cause 21 string 51 | 52 | # 53 | # Voice over IP attributes. 54 | # 55 | ATTRIBUTE h323-remote-address 23 string 56 | ATTRIBUTE h323-conf-id 24 string 57 | ATTRIBUTE h323-setup-time 25 string 58 | ATTRIBUTE h323-call-origin 26 string 59 | ATTRIBUTE h323-call-type 27 string 60 | ATTRIBUTE h323-connect-time 28 string 61 | ATTRIBUTE h323-disconnect-time 29 string 62 | ATTRIBUTE h323-disconnect-cause 30 string 63 | ATTRIBUTE h323-voice-quality 31 string 64 | ATTRIBUTE h323-gw-id 33 string 65 | ATTRIBUTE h323-incoming-conf-id 35 string 66 | 67 | ATTRIBUTE Cisco-Policy-Up 37 string 68 | ATTRIBUTE Cisco-Policy-Down 38 string 69 | 70 | ATTRIBUTE sip-conf-id 100 string 71 | ATTRIBUTE h323-credit-amount 101 string 72 | ATTRIBUTE h323-credit-time 102 string 73 | ATTRIBUTE h323-return-code 103 string 74 | ATTRIBUTE h323-prompt-id 104 string 75 | ATTRIBUTE h323-time-and-day 105 string 76 | ATTRIBUTE h323-redirect-number 106 string 77 | ATTRIBUTE h323-preferred-lang 107 string 78 | ATTRIBUTE h323-redirect-ip-address 108 string 79 | ATTRIBUTE h323-billing-model 109 string 80 | ATTRIBUTE h323-currency 110 string 81 | ATTRIBUTE subscriber 111 string 82 | ATTRIBUTE gw-rxd-cdn 112 string 83 | ATTRIBUTE gw-final-xlated-cdn 113 string 84 | ATTRIBUTE remote-media-address 114 string 85 | ATTRIBUTE release-source 115 string 86 | ATTRIBUTE gw-rxd-cgn 116 string 87 | ATTRIBUTE gw-final-xlated-cgn 117 string 88 | 89 | # SIP Attributes 90 | ATTRIBUTE call-id 141 string 91 | ATTRIBUTE session-protocol 142 string 92 | ATTRIBUTE method 143 string 93 | ATTRIBUTE prev-hop-via 144 string 94 | ATTRIBUTE prev-hop-ip 145 string 95 | ATTRIBUTE incoming-req-uri 146 string 96 | ATTRIBUTE outgoing-req-uri 147 string 97 | ATTRIBUTE next-hop-ip 148 string 98 | ATTRIBUTE next-hop-dn 149 string 99 | ATTRIBUTE sip-hdr 150 string 100 | 101 | # 102 | # Extra attributes sent by the Cisco, if you configure 103 | # "radius-server vsa accounting" (requires IOS11.2+). 104 | # 105 | ATTRIBUTE Cisco-Multilink-ID 187 integer 106 | ATTRIBUTE Cisco-Num-In-Multilink 188 integer 107 | ATTRIBUTE Cisco-Pre-Input-Octets 190 integer 108 | ATTRIBUTE Cisco-Pre-Output-Octets 191 integer 109 | ATTRIBUTE Cisco-Pre-Input-Packets 192 integer 110 | ATTRIBUTE Cisco-Pre-Output-Packets 193 integer 111 | ATTRIBUTE Cisco-Maximum-Time 194 integer 112 | ATTRIBUTE Cisco-Disconnect-Cause 195 integer 113 | ATTRIBUTE Cisco-Data-Rate 197 integer 114 | ATTRIBUTE Cisco-PreSession-Time 198 integer 115 | ATTRIBUTE Cisco-PW-Lifetime 208 integer 116 | ATTRIBUTE Cisco-IP-Direct 209 integer 117 | ATTRIBUTE Cisco-PPP-VJ-Slot-Comp 210 integer 118 | ATTRIBUTE Cisco-PPP-Async-Map 212 integer 119 | ATTRIBUTE Cisco-IP-Pool-Definition 217 string 120 | ATTRIBUTE Cisco-Assign-IP-Pool 218 integer 121 | ATTRIBUTE Cisco-Route-IP 228 integer 122 | ATTRIBUTE Cisco-Link-Compression 233 integer 123 | ATTRIBUTE Cisco-Target-Util 234 integer 124 | ATTRIBUTE Cisco-Maximum-Channels 235 integer 125 | ATTRIBUTE Cisco-Data-Filter 242 integer 126 | ATTRIBUTE Cisco-Call-Filter 243 integer 127 | ATTRIBUTE Cisco-Idle-Limit 244 integer 128 | ATTRIBUTE Cisco-Subscriber-Password 249 string 129 | ATTRIBUTE Cisco-Account-Info 250 string 130 | ATTRIBUTE Cisco-Service-Info 251 string 131 | ATTRIBUTE Cisco-Command-Code 252 string 132 | ATTRIBUTE Cisco-Control-Info 253 string 133 | ATTRIBUTE Cisco-Xmit-Rate 255 integer 134 | 135 | VALUE Cisco-Disconnect-Cause Unknown 2 136 | VALUE Cisco-Disconnect-Cause CLID-Authentication-Failure 4 137 | VALUE Cisco-Disconnect-Cause No-Carrier 10 138 | VALUE Cisco-Disconnect-Cause Lost-Carrier 11 139 | VALUE Cisco-Disconnect-Cause No-Detected-Result-Codes 12 140 | VALUE Cisco-Disconnect-Cause User-Ends-Session 20 141 | VALUE Cisco-Disconnect-Cause Idle-Timeout 21 142 | VALUE Cisco-Disconnect-Cause Exit-Telnet-Session 22 143 | VALUE Cisco-Disconnect-Cause No-Remote-IP-Addr 23 144 | VALUE Cisco-Disconnect-Cause Exit-Raw-TCP 24 145 | VALUE Cisco-Disconnect-Cause Password-Fail 25 146 | VALUE Cisco-Disconnect-Cause Raw-TCP-Disabled 26 147 | VALUE Cisco-Disconnect-Cause Control-C-Detected 27 148 | VALUE Cisco-Disconnect-Cause EXEC-Program-Destroyed 28 149 | VALUE Cisco-Disconnect-Cause Timeout-PPP-LCP 40 150 | VALUE Cisco-Disconnect-Cause Failed-PPP-LCP-Negotiation 41 151 | VALUE Cisco-Disconnect-Cause Failed-PPP-PAP-Auth-Fail 42 152 | VALUE Cisco-Disconnect-Cause Failed-PPP-CHAP-Auth 43 153 | VALUE Cisco-Disconnect-Cause Failed-PPP-Remote-Auth 44 154 | VALUE Cisco-Disconnect-Cause PPP-Remote-Terminate 45 155 | VALUE Cisco-Disconnect-Cause PPP-Closed-Event 46 156 | VALUE Cisco-Disconnect-Cause Session-Timeout 100 157 | VALUE Cisco-Disconnect-Cause Session-Failed-Security 101 158 | VALUE Cisco-Disconnect-Cause Session-End-Callback 102 159 | VALUE Cisco-Disconnect-Cause Invalid-Protocol 120 160 | 161 | END-VENDOR Cisco 162 | --------------------------------------------------------------------------------