From d62a6e0a181915aa4d007265bc81ee02531e7baa Mon Sep 17 00:00:00 2001 From: Tim Cooper Date: Fri, 28 Aug 2020 16:41:47 -0500 Subject: [PATCH] vendor RFC, vendors dictionary files --- rfc2865/dictionary.rfc2865 | 139 +++ rfc2865/generate.go | 2 +- rfc2866/dictionary.rfc2866 | 59 ++ rfc2866/generate.go | 2 +- rfc2867/dictionary.rfc2867 | 18 + rfc2867/generate.go | 2 +- rfc2868/dictionary.rfc2868 | 56 ++ rfc2868/generate.go | 2 +- rfc2869/dictionary.rfc2869 | 41 + rfc2869/generate.go | 2 +- rfc3162/dictionary.rfc3162 | 15 + rfc3162/generate.go | 2 +- rfc3576/dictionary.rfc3576 | 32 + rfc3576/generate.go | 2 +- rfc3580/dictionary.rfc3580 | 18 + rfc3580/generate.go | 2 +- rfc4072/dictionary.rfc4072 | 11 + rfc4072/generate.go | 2 +- rfc4372/dictionary.rfc4372 | 10 + rfc4372/generate.go | 2 +- rfc4603/dictionary.rfc4603 | 19 + rfc4603/generate.go | 2 +- rfc4675/dictionary.rfc4675 | 30 + rfc4675/generate.go | 2 +- rfc4679/dictionary.rfc4679 | 74 ++ rfc4679/generate.go | 2 +- rfc4818/dictionary.rfc4818 | 14 + rfc4818/generate.go | 2 +- rfc4849/dictionary.rfc4849 | 10 + rfc4849/generate.go | 2 +- rfc5090/dictionary.rfc5090 | 29 + rfc5090/generate.go | 2 +- rfc5176/dictionary.rfc5176 | 11 + rfc5176/generate.go | 2 +- rfc5447/dictionary.rfc5447 | 17 + rfc5447/generate.go | 2 +- rfc5580/dictionary.rfc5580 | 43 + rfc5580/generate.go | 2 +- rfc5607/dictionary.rfc5607 | 32 + rfc5607/generate.go | 2 +- rfc5904/dictionary.rfc5904 | 24 + rfc5904/generate.go | 2 +- rfc6519/dictionary.rfc6519 | 11 + rfc6519/generate.go | 2 +- rfc6572/dictionary.rfc6572 | 28 + rfc6572/generate.go | 2 +- rfc6677/dictionary.rfc6677 | 20 + rfc6677/generate.go | 2 +- rfc6911/dictionary.rfc6911 | 13 + rfc6911/generate.go | 2 +- rfc7055/dictionary.rfc7055 | 12 + rfc7055/generate.go | 2 +- rfc7268/dictionary.rfc7268 | 70 ++ rfc7268/generate.go | 2 +- vendors/aruba/dictionary.aruba | 88 ++ vendors/aruba/generate.go | 2 +- vendors/aruba/generate_main.go | 80 -- vendors/aruba/generated.go | 1137 ++++++++++++++++++++++++ vendors/microsoft/dictionary.microsoft | 170 ++++ vendors/microsoft/generate.go | 2 +- vendors/mikrotik/dictionary.mikrotik | 64 ++ vendors/mikrotik/generate.go | 4 +- vendors/mikrotik/generate_main.go | 96 -- vendors/wispr/dictionary.wispr | 38 + vendors/wispr/generate.go | 2 +- 65 files changed, 2386 insertions(+), 207 deletions(-) create mode 100644 rfc2865/dictionary.rfc2865 create mode 100644 rfc2866/dictionary.rfc2866 create mode 100644 rfc2867/dictionary.rfc2867 create mode 100644 rfc2868/dictionary.rfc2868 create mode 100644 rfc2869/dictionary.rfc2869 create mode 100644 rfc3162/dictionary.rfc3162 create mode 100644 rfc3576/dictionary.rfc3576 create mode 100644 rfc3580/dictionary.rfc3580 create mode 100644 rfc4072/dictionary.rfc4072 create mode 100644 rfc4372/dictionary.rfc4372 create mode 100644 rfc4603/dictionary.rfc4603 create mode 100644 rfc4675/dictionary.rfc4675 create mode 100644 rfc4679/dictionary.rfc4679 create mode 100644 rfc4818/dictionary.rfc4818 create mode 100644 rfc4849/dictionary.rfc4849 create mode 100644 rfc5090/dictionary.rfc5090 create mode 100644 rfc5176/dictionary.rfc5176 create mode 100644 rfc5447/dictionary.rfc5447 create mode 100644 rfc5580/dictionary.rfc5580 create mode 100644 rfc5607/dictionary.rfc5607 create mode 100644 rfc5904/dictionary.rfc5904 create mode 100644 rfc6519/dictionary.rfc6519 create mode 100644 rfc6572/dictionary.rfc6572 create mode 100644 rfc6677/dictionary.rfc6677 create mode 100644 rfc6911/dictionary.rfc6911 create mode 100644 rfc7055/dictionary.rfc7055 create mode 100644 rfc7268/dictionary.rfc7268 create mode 100644 vendors/aruba/dictionary.aruba delete mode 100644 vendors/aruba/generate_main.go create mode 100644 vendors/microsoft/dictionary.microsoft create mode 100644 vendors/mikrotik/dictionary.mikrotik delete mode 100644 vendors/mikrotik/generate_main.go create mode 100644 vendors/wispr/dictionary.wispr diff --git a/rfc2865/dictionary.rfc2865 b/rfc2865/dictionary.rfc2865 new file mode 100644 index 0000000..f6e51ff --- /dev/null +++ b/rfc2865/dictionary.rfc2865 @@ -0,0 +1,139 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 2865. +# http://www.ietf.org/rfc/rfc2865.txt +# +# $Id: 6e2319a96710c2a341e24133abd81fde98a6eb55 $ +# +ATTRIBUTE User-Name 1 string +ATTRIBUTE User-Password 2 string encrypt=1 +ATTRIBUTE CHAP-Password 3 octets +ATTRIBUTE NAS-IP-Address 4 ipaddr +ATTRIBUTE NAS-Port 5 integer +ATTRIBUTE Service-Type 6 integer +ATTRIBUTE Framed-Protocol 7 integer +ATTRIBUTE Framed-IP-Address 8 ipaddr +ATTRIBUTE Framed-IP-Netmask 9 ipaddr +ATTRIBUTE Framed-Routing 10 integer +ATTRIBUTE Filter-Id 11 string +ATTRIBUTE Framed-MTU 12 integer +ATTRIBUTE Framed-Compression 13 integer +ATTRIBUTE Login-IP-Host 14 ipaddr +ATTRIBUTE Login-Service 15 integer +ATTRIBUTE Login-TCP-Port 16 integer +# Attribute 17 is undefined +ATTRIBUTE Reply-Message 18 string +ATTRIBUTE Callback-Number 19 string +ATTRIBUTE Callback-Id 20 string +# Attribute 21 is undefined +ATTRIBUTE Framed-Route 22 string +ATTRIBUTE Framed-IPX-Network 23 ipaddr +ATTRIBUTE State 24 octets +ATTRIBUTE Class 25 octets +ATTRIBUTE Vendor-Specific 26 vsa +ATTRIBUTE Session-Timeout 27 integer +ATTRIBUTE Idle-Timeout 28 integer +ATTRIBUTE Termination-Action 29 integer +ATTRIBUTE Called-Station-Id 30 string +ATTRIBUTE Calling-Station-Id 31 string +ATTRIBUTE NAS-Identifier 32 string +ATTRIBUTE Proxy-State 33 octets +ATTRIBUTE Login-LAT-Service 34 string +ATTRIBUTE Login-LAT-Node 35 string +ATTRIBUTE Login-LAT-Group 36 octets +ATTRIBUTE Framed-AppleTalk-Link 37 integer +ATTRIBUTE Framed-AppleTalk-Network 38 integer +ATTRIBUTE Framed-AppleTalk-Zone 39 string + +ATTRIBUTE CHAP-Challenge 60 octets +ATTRIBUTE NAS-Port-Type 61 integer +ATTRIBUTE Port-Limit 62 integer +ATTRIBUTE Login-LAT-Port 63 string + +# +# Integer Translations +# + +# Service types + +VALUE Service-Type Login-User 1 +VALUE Service-Type Framed-User 2 +VALUE Service-Type Callback-Login-User 3 +VALUE Service-Type Callback-Framed-User 4 +VALUE Service-Type Outbound-User 5 +VALUE Service-Type Administrative-User 6 +VALUE Service-Type NAS-Prompt-User 7 +VALUE Service-Type Authenticate-Only 8 +VALUE Service-Type Callback-NAS-Prompt 9 +VALUE Service-Type Call-Check 10 +VALUE Service-Type Callback-Administrative 11 + +# Framed Protocols + +VALUE Framed-Protocol PPP 1 +VALUE Framed-Protocol SLIP 2 +VALUE Framed-Protocol ARAP 3 +VALUE Framed-Protocol Gandalf-SLML 4 +VALUE Framed-Protocol Xylogics-IPX-SLIP 5 +VALUE Framed-Protocol X.75-Synchronous 6 + +# Framed Routing Values + +VALUE Framed-Routing None 0 +VALUE Framed-Routing Broadcast 1 +VALUE Framed-Routing Listen 2 +VALUE Framed-Routing Broadcast-Listen 3 + +# Framed Compression Types + +VALUE Framed-Compression None 0 +VALUE Framed-Compression Van-Jacobson-TCP-IP 1 +VALUE Framed-Compression IPX-Header-Compression 2 +VALUE Framed-Compression Stac-LZS 3 + +# Login Services + +VALUE Login-Service Telnet 0 +VALUE Login-Service Rlogin 1 +VALUE Login-Service TCP-Clear 2 +VALUE Login-Service PortMaster 3 +VALUE Login-Service LAT 4 +VALUE Login-Service X25-PAD 5 +VALUE Login-Service X25-T3POS 6 +VALUE Login-Service TCP-Clear-Quiet 8 + +# Login-TCP-Port (see /etc/services for more examples) + +VALUE Login-TCP-Port Telnet 23 +VALUE Login-TCP-Port Rlogin 513 +VALUE Login-TCP-Port Rsh 514 + +# Termination Options + +VALUE Termination-Action Default 0 +VALUE Termination-Action RADIUS-Request 1 + +# NAS Port Types + +VALUE NAS-Port-Type Async 0 +VALUE NAS-Port-Type Sync 1 +VALUE NAS-Port-Type ISDN 2 +VALUE NAS-Port-Type ISDN-V120 3 +VALUE NAS-Port-Type ISDN-V110 4 +VALUE NAS-Port-Type Virtual 5 +VALUE NAS-Port-Type PIAFS 6 +VALUE NAS-Port-Type HDLC-Clear-Channel 7 +VALUE NAS-Port-Type X.25 8 +VALUE NAS-Port-Type X.75 9 +VALUE NAS-Port-Type G.3-Fax 10 +VALUE NAS-Port-Type SDSL 11 +VALUE NAS-Port-Type ADSL-CAP 12 +VALUE NAS-Port-Type ADSL-DMT 13 +VALUE NAS-Port-Type IDSL 14 +VALUE NAS-Port-Type Ethernet 15 +VALUE NAS-Port-Type xDSL 16 +VALUE NAS-Port-Type Cable 17 +VALUE NAS-Port-Type Wireless-Other 18 +VALUE NAS-Port-Type Wireless-802.11 19 diff --git a/rfc2865/generate.go b/rfc2865/generate.go index ce5fd37..6099b7c 100644 --- a/rfc2865/generate.go +++ b/rfc2865/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc2865 -output generated.go /usr/share/freeradius/dictionary.rfc2865 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc2865 -output generated.go dictionary.rfc2865 package rfc2865 diff --git a/rfc2866/dictionary.rfc2866 b/rfc2866/dictionary.rfc2866 new file mode 100644 index 0000000..34332e9 --- /dev/null +++ b/rfc2866/dictionary.rfc2866 @@ -0,0 +1,59 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors# +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 2866. +# http://www.ietf.org/rfc/rfc2866.txt +# +# $Id: 4b6bda40c1098b488c0f10414c287004790df486 $ +# +ATTRIBUTE Acct-Status-Type 40 integer +ATTRIBUTE Acct-Delay-Time 41 integer +ATTRIBUTE Acct-Input-Octets 42 integer +ATTRIBUTE Acct-Output-Octets 43 integer +ATTRIBUTE Acct-Session-Id 44 string +ATTRIBUTE Acct-Authentic 45 integer +ATTRIBUTE Acct-Session-Time 46 integer +ATTRIBUTE Acct-Input-Packets 47 integer +ATTRIBUTE Acct-Output-Packets 48 integer +ATTRIBUTE Acct-Terminate-Cause 49 integer +ATTRIBUTE Acct-Multi-Session-Id 50 string +ATTRIBUTE Acct-Link-Count 51 integer + +# Accounting Status Types + +VALUE Acct-Status-Type Start 1 +VALUE Acct-Status-Type Stop 2 +VALUE Acct-Status-Type Alive 3 # dup +VALUE Acct-Status-Type Interim-Update 3 +VALUE Acct-Status-Type Accounting-On 7 +VALUE Acct-Status-Type Accounting-Off 8 +VALUE Acct-Status-Type Failed 15 + +# Authentication Types + +VALUE Acct-Authentic RADIUS 1 +VALUE Acct-Authentic Local 2 +VALUE Acct-Authentic Remote 3 +VALUE Acct-Authentic Diameter 4 + +# Acct Terminate Causes + +VALUE Acct-Terminate-Cause User-Request 1 +VALUE Acct-Terminate-Cause Lost-Carrier 2 +VALUE Acct-Terminate-Cause Lost-Service 3 +VALUE Acct-Terminate-Cause Idle-Timeout 4 +VALUE Acct-Terminate-Cause Session-Timeout 5 +VALUE Acct-Terminate-Cause Admin-Reset 6 +VALUE Acct-Terminate-Cause Admin-Reboot 7 +VALUE Acct-Terminate-Cause Port-Error 8 +VALUE Acct-Terminate-Cause NAS-Error 9 +VALUE Acct-Terminate-Cause NAS-Request 10 +VALUE Acct-Terminate-Cause NAS-Reboot 11 +VALUE Acct-Terminate-Cause Port-Unneeded 12 +VALUE Acct-Terminate-Cause Port-Preempted 13 +VALUE Acct-Terminate-Cause Port-Suspended 14 +VALUE Acct-Terminate-Cause Service-Unavailable 15 +VALUE Acct-Terminate-Cause Callback 16 +VALUE Acct-Terminate-Cause User-Error 17 +VALUE Acct-Terminate-Cause Host-Request 18 diff --git a/rfc2866/generate.go b/rfc2866/generate.go index 378e5f8..b54c069 100644 --- a/rfc2866/generate.go +++ b/rfc2866/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc2866 -output generated.go /usr/share/freeradius/dictionary.rfc2866 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc2866 -output generated.go dictionary.rfc2866 package rfc2866 diff --git a/rfc2867/dictionary.rfc2867 b/rfc2867/dictionary.rfc2867 new file mode 100644 index 0000000..9a6cae9 --- /dev/null +++ b/rfc2867/dictionary.rfc2867 @@ -0,0 +1,18 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 2867. +# http://www.ietf.org/rfc/rfc2867.txt +# +# $Id: 821f860b452b3cfc6c7f7d0023601a3192c8f1b4 $ +# +ATTRIBUTE Acct-Tunnel-Connection 68 string +ATTRIBUTE Acct-Tunnel-Packets-Lost 86 integer + +VALUE Acct-Status-Type Tunnel-Start 9 +VALUE Acct-Status-Type Tunnel-Stop 10 +VALUE Acct-Status-Type Tunnel-Reject 11 +VALUE Acct-Status-Type Tunnel-Link-Start 12 +VALUE Acct-Status-Type Tunnel-Link-Stop 13 +VALUE Acct-Status-Type Tunnel-Link-Reject 14 diff --git a/rfc2867/generate.go b/rfc2867/generate.go index 6a30a2c..a3aa3d2 100644 --- a/rfc2867/generate.go +++ b/rfc2867/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc2867 -output generated.go -ref Acct-Status-Type:layeh.com/radius/rfc2866 /usr/share/freeradius/dictionary.rfc2867 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc2867 -output generated.go -ref Acct-Status-Type:layeh.com/radius/rfc2866 dictionary.rfc2867 package rfc2867 diff --git a/rfc2868/dictionary.rfc2868 b/rfc2868/dictionary.rfc2868 new file mode 100644 index 0000000..9bf5592 --- /dev/null +++ b/rfc2868/dictionary.rfc2868 @@ -0,0 +1,56 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 2868. +# http://www.ietf.org/rfc/rfc2868.txt +# +# $Id: 8535eef3c6d21b74d5642a3c1482124c84e61dbb $ +# +ATTRIBUTE Tunnel-Type 64 integer has_tag +ATTRIBUTE Tunnel-Medium-Type 65 integer has_tag +ATTRIBUTE Tunnel-Client-Endpoint 66 string has_tag +ATTRIBUTE Tunnel-Server-Endpoint 67 string has_tag + +ATTRIBUTE Tunnel-Password 69 string has_tag,encrypt=2 + +ATTRIBUTE Tunnel-Private-Group-Id 81 string has_tag +ATTRIBUTE Tunnel-Assignment-Id 82 string has_tag +ATTRIBUTE Tunnel-Preference 83 integer has_tag + +ATTRIBUTE Tunnel-Client-Auth-Id 90 string has_tag +ATTRIBUTE Tunnel-Server-Auth-Id 91 string has_tag + +# Tunnel Type + +VALUE Tunnel-Type PPTP 1 +VALUE Tunnel-Type L2F 2 +VALUE Tunnel-Type L2TP 3 +VALUE Tunnel-Type ATMP 4 +VALUE Tunnel-Type VTP 5 +VALUE Tunnel-Type AH 6 +VALUE Tunnel-Type IP 7 +VALUE Tunnel-Type MIN-IP 8 +VALUE Tunnel-Type ESP 9 +VALUE Tunnel-Type GRE 10 +VALUE Tunnel-Type DVS 11 +VALUE Tunnel-Type IP-in-IP 12 + +# Tunnel Medium Type + +VALUE Tunnel-Medium-Type IP 1 +VALUE Tunnel-Medium-Type IPv4 1 +VALUE Tunnel-Medium-Type IPv6 2 +VALUE Tunnel-Medium-Type NSAP 3 +VALUE Tunnel-Medium-Type HDLC 4 +VALUE Tunnel-Medium-Type BBN-1822 5 +VALUE Tunnel-Medium-Type IEEE-802 6 +VALUE Tunnel-Medium-Type E.163 7 +VALUE Tunnel-Medium-Type E.164 8 +VALUE Tunnel-Medium-Type F.69 9 +VALUE Tunnel-Medium-Type X.121 10 +VALUE Tunnel-Medium-Type IPX 11 +VALUE Tunnel-Medium-Type Appletalk 12 +VALUE Tunnel-Medium-Type DecNet-IV 13 +VALUE Tunnel-Medium-Type Banyan-Vines 14 +VALUE Tunnel-Medium-Type E.164-NSAP 15 diff --git a/rfc2868/generate.go b/rfc2868/generate.go index fba3457..87508c8 100644 --- a/rfc2868/generate.go +++ b/rfc2868/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc2868 -output generated.go /usr/share/freeradius/dictionary.rfc2868 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc2868 -output generated.go dictionary.rfc2868 package rfc2868 diff --git a/rfc2869/dictionary.rfc2869 b/rfc2869/dictionary.rfc2869 new file mode 100644 index 0000000..1927f5a --- /dev/null +++ b/rfc2869/dictionary.rfc2869 @@ -0,0 +1,41 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 2869. +# http://www.ietf.org/rfc/rfc2869.txt +# +# $Id: 4dd40fef07deeb14e5dcce7434ffa9ac573d7107 $ +# +ATTRIBUTE Acct-Input-Gigawords 52 integer +ATTRIBUTE Acct-Output-Gigawords 53 integer + +ATTRIBUTE Event-Timestamp 55 date + +ATTRIBUTE ARAP-Password 70 octets[16] +ATTRIBUTE ARAP-Features 71 octets[14] +ATTRIBUTE ARAP-Zone-Access 72 integer +ATTRIBUTE ARAP-Security 73 integer +ATTRIBUTE ARAP-Security-Data 74 string +ATTRIBUTE Password-Retry 75 integer +ATTRIBUTE Prompt 76 integer +ATTRIBUTE Connect-Info 77 string +ATTRIBUTE Configuration-Token 78 string +ATTRIBUTE EAP-Message 79 octets concat +ATTRIBUTE Message-Authenticator 80 octets + +ATTRIBUTE ARAP-Challenge-Response 84 octets[8] +ATTRIBUTE Acct-Interim-Interval 85 integer +# 86: RFC 2867 +ATTRIBUTE NAS-Port-Id 87 string +ATTRIBUTE Framed-Pool 88 string + +# ARAP Zone Access + +VALUE ARAP-Zone-Access Default-Zone 1 +VALUE ARAP-Zone-Access Zone-Filter-Inclusive 2 +VALUE ARAP-Zone-Access Zone-Filter-Exclusive 4 + +# Prompt +VALUE Prompt No-Echo 0 +VALUE Prompt Echo 1 diff --git a/rfc2869/generate.go b/rfc2869/generate.go index 12ed090..a5437d4 100644 --- a/rfc2869/generate.go +++ b/rfc2869/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc2869 -output generated.go /usr/share/freeradius/dictionary.rfc2869 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc2869 -output generated.go dictionary.rfc2869 package rfc2869 diff --git a/rfc3162/dictionary.rfc3162 b/rfc3162/dictionary.rfc3162 new file mode 100644 index 0000000..79e5c55 --- /dev/null +++ b/rfc3162/dictionary.rfc3162 @@ -0,0 +1,15 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 3162. +# http://www.ietf.org/rfc/rfc3162.txt +# +# $Id: e90e387d9e2335aad6e17422055e7a0560dacb99 $ +# +ATTRIBUTE NAS-IPv6-Address 95 ipv6addr +ATTRIBUTE Framed-Interface-Id 96 ifid +ATTRIBUTE Framed-IPv6-Prefix 97 ipv6prefix +ATTRIBUTE Login-IPv6-Host 98 ipv6addr +ATTRIBUTE Framed-IPv6-Route 99 string +ATTRIBUTE Framed-IPv6-Pool 100 string diff --git a/rfc3162/generate.go b/rfc3162/generate.go index 2a875a9..0906c95 100644 --- a/rfc3162/generate.go +++ b/rfc3162/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc3162 -output generated.go /usr/share/freeradius/dictionary.rfc3162 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc3162 -output generated.go dictionary.rfc3162 package rfc3162 diff --git a/rfc3576/dictionary.rfc3576 b/rfc3576/dictionary.rfc3576 new file mode 100644 index 0000000..9bf142e --- /dev/null +++ b/rfc3576/dictionary.rfc3576 @@ -0,0 +1,32 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 3576. +# http://www.ietf.org/rfc/rfc3576.txt +# +# $Id: 9ad092003cb0a889c0a26d80fbf594c2a42921a3 $ +# +ATTRIBUTE Error-Cause 101 integer + +# Service Types + +VALUE Service-Type Authorize-Only 17 + +# Error causes + +VALUE Error-Cause Residual-Context-Removed 201 +VALUE Error-Cause Invalid-EAP-Packet 202 +VALUE Error-Cause Unsupported-Attribute 401 +VALUE Error-Cause Missing-Attribute 402 +VALUE Error-Cause NAS-Identification-Mismatch 403 +VALUE Error-Cause Invalid-Request 404 +VALUE Error-Cause Unsupported-Service 405 +VALUE Error-Cause Unsupported-Extension 406 +VALUE Error-Cause Administratively-Prohibited 501 +VALUE Error-Cause Proxy-Request-Not-Routable 502 +VALUE Error-Cause Session-Context-Not-Found 503 +VALUE Error-Cause Session-Context-Not-Removable 504 +VALUE Error-Cause Proxy-Processing-Error 505 +VALUE Error-Cause Resources-Unavailable 506 +VALUE Error-Cause Request-Initiated 507 diff --git a/rfc3576/generate.go b/rfc3576/generate.go index 937793c..206836b 100644 --- a/rfc3576/generate.go +++ b/rfc3576/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc3576 -output generated.go -ref Service-Type:layeh.com/radius/rfc2865 /usr/share/freeradius/dictionary.rfc3576 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc3576 -output generated.go -ref Service-Type:layeh.com/radius/rfc2865 dictionary.rfc3576 package rfc3576 diff --git a/rfc3580/dictionary.rfc3580 b/rfc3580/dictionary.rfc3580 new file mode 100644 index 0000000..97e9299 --- /dev/null +++ b/rfc3580/dictionary.rfc3580 @@ -0,0 +1,18 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 3580. +# http://www.ietf.org/rfc/rfc3580.txt +# +# $Id: 234076858412d1fdf138189ee799d5c88d779d42 $ +# +VALUE Acct-Terminate-Cause Supplicant-Restart 19 +VALUE Acct-Terminate-Cause Reauthentication-Failure 20 +VALUE Acct-Terminate-Cause Port-Reinit 21 +VALUE Acct-Terminate-Cause Port-Disabled 22 + +VALUE NAS-Port-Type Token-Ring 20 +VALUE NAS-Port-Type FDDI 21 + +VALUE Tunnel-Type VLAN 13 diff --git a/rfc3580/generate.go b/rfc3580/generate.go index 50e58d8..7d37758 100644 --- a/rfc3580/generate.go +++ b/rfc3580/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc3580 -output generated.go -ref Acct-Terminate-Cause:layeh.com/radius/rfc2866 -ref NAS-Port-Type:layeh.com/radius/rfc2865 -ref Tunnel-Type:layeh.com/radius/rfc2868 /usr/share/freeradius/dictionary.rfc3580 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc3580 -output generated.go -ref Acct-Terminate-Cause:layeh.com/radius/rfc2866 -ref NAS-Port-Type:layeh.com/radius/rfc2865 -ref Tunnel-Type:layeh.com/radius/rfc2868 dictionary.rfc3580 package rfc3580 diff --git a/rfc4072/dictionary.rfc4072 b/rfc4072/dictionary.rfc4072 new file mode 100644 index 0000000..d6abd58 --- /dev/null +++ b/rfc4072/dictionary.rfc4072 @@ -0,0 +1,11 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 4072 +# http://www.ietf.org/rfc/rfc4072.txt +# +# $Id: 3bb543f2c9080b567d3ecc077f1d556e1ff87cca $ +# + +ATTRIBUTE EAP-Key-Name 102 octets diff --git a/rfc4072/generate.go b/rfc4072/generate.go index 875a101..8382198 100644 --- a/rfc4072/generate.go +++ b/rfc4072/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4072 -output generated.go /usr/share/freeradius/dictionary.rfc4072 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4072 -output generated.go dictionary.rfc4072 package rfc4072 diff --git a/rfc4372/dictionary.rfc4372 b/rfc4372/dictionary.rfc4372 new file mode 100644 index 0000000..57355b4 --- /dev/null +++ b/rfc4372/dictionary.rfc4372 @@ -0,0 +1,10 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 4372. +# http://www.ietf.org/rfc/rfc4372.txt +# +# $Id: c7a4ea373b65f5942f8785eca748d2e8b8e72919 $ +# +ATTRIBUTE Chargeable-User-Identity 89 octets diff --git a/rfc4372/generate.go b/rfc4372/generate.go index 405bfaa..a1e9537 100644 --- a/rfc4372/generate.go +++ b/rfc4372/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4372 -output generated.go -ref Error-Cause:layeh.com/radius/rfc3576 /usr/share/freeradius/dictionary.rfc4372 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4372 -output generated.go -ref Error-Cause:layeh.com/radius/rfc3576 dictionary.rfc4372 package rfc4372 diff --git a/rfc4603/dictionary.rfc4603 b/rfc4603/dictionary.rfc4603 new file mode 100644 index 0000000..4f299bd --- /dev/null +++ b/rfc4603/dictionary.rfc4603 @@ -0,0 +1,19 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +############################################################################## +# +# Attributes and values defined in RFC 4603. +# http://www.ietf.org/rfc/rfc4603.txt +# +# $Id: f7ab4955af90a78ba08114ee4661597b84638496 $ +# +############################################################################## + +VALUE NAS-Port-Type PPPoA 30 +VALUE NAS-Port-Type PPPoEoA 31 +VALUE NAS-Port-Type PPPoEoE 32 +VALUE NAS-Port-Type PPPoEoVLAN 33 +VALUE NAS-Port-Type PPPoEoQinQ 34 + diff --git a/rfc4603/generate.go b/rfc4603/generate.go index 394cb1e..698d0a9 100644 --- a/rfc4603/generate.go +++ b/rfc4603/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4603 -output generated.go -ref NAS-Port-Type:layeh.com/radius/rfc2865 /usr/share/freeradius/dictionary.rfc4603 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4603 -output generated.go -ref NAS-Port-Type:layeh.com/radius/rfc2865 dictionary.rfc4603 package rfc4603 diff --git a/rfc4675/dictionary.rfc4675 b/rfc4675/dictionary.rfc4675 new file mode 100644 index 0000000..4c95152 --- /dev/null +++ b/rfc4675/dictionary.rfc4675 @@ -0,0 +1,30 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 4675. +# http://www.ietf.org/rfc/rfc4675.txt +# +# $Id: 6c3b64de26aee6d6dcf601b705e1df48de3cbcb3 $ +# + +# +# High byte = '1' (0x31) means the frames are tagged. +# High byte = '2' (0x32) means the frames are untagged. +# +# Next 12 bits MUST be zero. +# +# Lower 12 bits is the IEEE-802.1Q VLAN VID. +# +ATTRIBUTE Egress-VLANID 56 integer +ATTRIBUTE Ingress-Filters 57 integer + +# +# First byte == '1' (0x31) means that the frames are tagged. +# First byte == '2' (0x32) means that the frames are untagged. +# +ATTRIBUTE Egress-VLAN-Name 58 string +ATTRIBUTE User-Priority-Table 59 octets # 8 + +VALUE Ingress-Filters Enabled 1 +VALUE Ingress-Filters Disabled 2 diff --git a/rfc4675/generate.go b/rfc4675/generate.go index 9140558..795f58c 100644 --- a/rfc4675/generate.go +++ b/rfc4675/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4675 -output generated.go /usr/share/freeradius/dictionary.rfc4675 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4675 -output generated.go dictionary.rfc4675 package rfc4675 diff --git a/rfc4679/dictionary.rfc4679 b/rfc4679/dictionary.rfc4679 new file mode 100644 index 0000000..8001609 --- /dev/null +++ b/rfc4679/dictionary.rfc4679 @@ -0,0 +1,74 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 4679. +# http://www.ietf.org/rfc/rfc4679.txt +# +# $Id: 86d7f2756b386464839e43c0a851f46fe4679403 $ +# + +VENDOR ADSL-Forum 3561 + +BEGIN-VENDOR ADSL-Forum + +# +# Glue attribute to allow decoding of ADSL-Form vendor specific +# DHCP options. +# +ATTRIBUTE ADSL-Forum-DHCP-Vendor-Specific 255 tlv +ATTRIBUTE ADSL-Forum-Device-Manufacturer-OUI 255.1 octets +ATTRIBUTE ADSL-Forum-Device-Serial-Number 255.2 string +ATTRIBUTE ADSL-Forum-Device-Product-Class 255.3 string +ATTRIBUTE ADSL-Forum-Gateway-Manufacturer-OUI 255.4 octets + +# +# The first two attributes are prefixed with "ADSL-" because of +# conflicting names in dictionary.redback. +# +ATTRIBUTE ADSL-Agent-Circuit-Id 1 octets +ATTRIBUTE ADSL-Agent-Remote-Id 2 octets +ATTRIBUTE Actual-Data-Rate-Upstream 129 integer +ATTRIBUTE Actual-Data-Rate-Downstream 130 integer +ATTRIBUTE Minimum-Data-Rate-Upstream 131 integer +ATTRIBUTE Minimum-Data-Rate-Downstream 132 integer +ATTRIBUTE Attainable-Data-Rate-Upstream 133 integer +ATTRIBUTE Attainable-Data-Rate-Downstream 134 integer +ATTRIBUTE Maximum-Data-Rate-Upstream 135 integer +ATTRIBUTE Maximum-Data-Rate-Downstream 136 integer +ATTRIBUTE Minimum-Data-Rate-Upstream-Low-Power 137 integer +ATTRIBUTE Minimum-Data-Rate-Downstream-Low-Power 138 integer +ATTRIBUTE Maximum-Interleaving-Delay-Upstream 139 integer +ATTRIBUTE Actual-Interleaving-Delay-Upstream 140 integer +ATTRIBUTE Maximum-Interleaving-Delay-Downstream 141 integer +ATTRIBUTE Actual-Interleaving-Delay-Downstream 142 integer + +# +# This next attribute has a weird encoding. +# +# Octet[0] - 0x01 AAL5 +# Octet[0] - 0x02 Ethernet + +# Octet[1] - 0x00 Not Available +# Octet[1] - 0x01 Untagged Ethernet +# Octet[1] - 0x02 Single-Tagged Ethernet + +# Octet[2] - 0x00 Not available +# Octet[2] - 0x01 PPPoA LLC +# Octet[2] - 0x02 PPPoA Null +# Octet[2] - 0x03 IPoA LLC +# Octet[2] - 0x04 IPoA NULL +# Octet[2] - 0x05 Ethernet over AAL5 LLC with FCS +# Octet[2] - 0x06 Ethernet over AAL5 LLC without FCS +# Octet[2] - 0x07 Ethernet over AAL5 Null with FCS +# Octet[2] - 0x08 Ethernet over AAL5 Null without FCS +# +ATTRIBUTE Access-Loop-Encapsulation 144 octets # 3 + +# +# If this attribute exists, it means that IFW has been performed +# for the subscribers session. +# +ATTRIBUTE IWF-Session 254 octets # 0 + +END-VENDOR ADSL-Forum diff --git a/rfc4679/generate.go b/rfc4679/generate.go index ed92e7b..d60be2a 100644 --- a/rfc4679/generate.go +++ b/rfc4679/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4679 -ignore ADSL-Forum-DHCP-Vendor-Specific -ignore ADSL-Forum-Device-Manufacturer-OUI -ignore ADSL-Forum-Device-Serial-Number -ignore ADSL-Forum-Device-Product-Class -ignore ADSL-Forum-Gateway-Manufacturer-OUI -output generated.go /usr/share/freeradius/dictionary.rfc4679 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4679 -ignore ADSL-Forum-DHCP-Vendor-Specific -ignore ADSL-Forum-Device-Manufacturer-OUI -ignore ADSL-Forum-Device-Serial-Number -ignore ADSL-Forum-Device-Product-Class -ignore ADSL-Forum-Gateway-Manufacturer-OUI -output generated.go dictionary.rfc4679 package rfc4679 diff --git a/rfc4818/dictionary.rfc4818 b/rfc4818/dictionary.rfc4818 new file mode 100644 index 0000000..799942b --- /dev/null +++ b/rfc4818/dictionary.rfc4818 @@ -0,0 +1,14 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +############################################################################## +# +# Attributes and values defined in RFC 4818. +# http://www.ietf.org/rfc/rfc4818.txt +# +# $Id: cc56252f267a6932171feb5fddc44218ade35841 $ +# +############################################################################## + +ATTRIBUTE Delegated-IPv6-Prefix 123 ipv6prefix diff --git a/rfc4818/generate.go b/rfc4818/generate.go index fb18166..93d6433 100644 --- a/rfc4818/generate.go +++ b/rfc4818/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4818 -output generated.go /usr/share/freeradius/dictionary.rfc4818 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4818 -output generated.go dictionary.rfc4818 package rfc4818 diff --git a/rfc4849/dictionary.rfc4849 b/rfc4849/dictionary.rfc4849 new file mode 100644 index 0000000..750c4e7 --- /dev/null +++ b/rfc4849/dictionary.rfc4849 @@ -0,0 +1,10 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 4849. +# http://www.ietf.org/rfc/rfc4849.txt +# +# $Id: 3ddb0ef32d29537c4302009d77acf784db8dc7ff $ +# +ATTRIBUTE NAS-Filter-Rule 92 string diff --git a/rfc4849/generate.go b/rfc4849/generate.go index 8b04e30..b69ccbc 100644 --- a/rfc4849/generate.go +++ b/rfc4849/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4849 -output generated.go /usr/share/freeradius/dictionary.rfc4849 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc4849 -output generated.go dictionary.rfc4849 package rfc4849 diff --git a/rfc5090/dictionary.rfc5090 b/rfc5090/dictionary.rfc5090 new file mode 100644 index 0000000..e2285a6 --- /dev/null +++ b/rfc5090/dictionary.rfc5090 @@ -0,0 +1,29 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 5090. +# http://www.ietf.org/rfc/rfc5090.txt +# +# $Id: 2531b26e966cba82e4621c3486793c7d98880270 $ +# +ATTRIBUTE Digest-Response 103 string +ATTRIBUTE Digest-Realm 104 string +ATTRIBUTE Digest-Nonce 105 string +ATTRIBUTE Digest-Response-Auth 106 string +ATTRIBUTE Digest-Nextnonce 107 string +ATTRIBUTE Digest-Method 108 string +ATTRIBUTE Digest-URI 109 string +ATTRIBUTE Digest-Qop 110 string +ATTRIBUTE Digest-Algorithm 111 string +ATTRIBUTE Digest-Entity-Body-Hash 112 string +ATTRIBUTE Digest-CNonce 113 string +ATTRIBUTE Digest-Nonce-Count 114 string +ATTRIBUTE Digest-Username 115 string +ATTRIBUTE Digest-Opaque 116 string +ATTRIBUTE Digest-Auth-Param 117 string +ATTRIBUTE Digest-AKA-Auts 118 string +ATTRIBUTE Digest-Domain 119 string +ATTRIBUTE Digest-Stale 120 string +ATTRIBUTE Digest-HA1 121 string +ATTRIBUTE SIP-AOR 122 string diff --git a/rfc5090/generate.go b/rfc5090/generate.go index 651e736..a9c67e0 100644 --- a/rfc5090/generate.go +++ b/rfc5090/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc5090 -output generated.go /usr/share/freeradius/dictionary.rfc5090 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc5090 -output generated.go dictionary.rfc5090 package rfc5090 diff --git a/rfc5176/dictionary.rfc5176 b/rfc5176/dictionary.rfc5176 new file mode 100644 index 0000000..2eab280 --- /dev/null +++ b/rfc5176/dictionary.rfc5176 @@ -0,0 +1,11 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 5176. +# http://www.ietf.org/rfc/rfc5176.txt +# +# $Id: 118fa0781d9e96721c7181fc948e1f1b1a068cd9 $ +# +VALUE Error-Cause Invalid-Attribute-Value 407 +VALUE Error-Cause Multiple-Session-Selection-Unsupported 508 diff --git a/rfc5176/generate.go b/rfc5176/generate.go index 3f985f1..2183660 100644 --- a/rfc5176/generate.go +++ b/rfc5176/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc5176 -output generated.go -ref Error-Cause:layeh.com/radius/rfc3576 /usr/share/freeradius/dictionary.rfc5176 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc5176 -output generated.go -ref Error-Cause:layeh.com/radius/rfc3576 dictionary.rfc5176 package rfc5176 diff --git a/rfc5447/dictionary.rfc5447 b/rfc5447/dictionary.rfc5447 new file mode 100644 index 0000000..13cbd5c --- /dev/null +++ b/rfc5447/dictionary.rfc5447 @@ -0,0 +1,17 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 5447. +# http://www.ietf.org/rfc/rfc5447.txt +# +# $Id: f54758a3e141e0911cad51b09dae305d69c23cb7 $ +# + +# 64-bit bit field +ATTRIBUTE MIP6-Feature-Vector 124 integer64 + +# +# Encoded as one octet prefix, followed by 16 octets of address information. +# +ATTRIBUTE MIP6-Home-Link-Prefix 125 octets diff --git a/rfc5447/generate.go b/rfc5447/generate.go index 6968dd5..ab1c6d6 100644 --- a/rfc5447/generate.go +++ b/rfc5447/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc5447 -output generated.go /usr/share/freeradius/dictionary.rfc5447 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc5447 -output generated.go dictionary.rfc5447 package rfc5447 diff --git a/rfc5580/dictionary.rfc5580 b/rfc5580/dictionary.rfc5580 new file mode 100644 index 0000000..36aa2c8 --- /dev/null +++ b/rfc5580/dictionary.rfc5580 @@ -0,0 +1,43 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 5580. +# http://www.ietf.org/rfc/rfc5580.txt +# +# $Id: 07de61e865e7a2d0c93592cafdb26eafb407b28b $ +# + +# One ASCII character of Namespace ID +# 0 = TADIG (GSM) +# 1 = Realm +# 2 = E212 +# +# +# Followed by the actual string +ATTRIBUTE Operator-Name 126 string + +# +# Large blobs of stuff +# +ATTRIBUTE Location-Information 127 octets +ATTRIBUTE Location-Data 128 octets +ATTRIBUTE Basic-Location-Policy-Rules 129 octets +ATTRIBUTE Extended-Location-Policy-Rules 130 string + +# +# Really a bit-packed field +# +ATTRIBUTE Location-Capable 131 integer +VALUE Location-Capable Civic-Location 1 +VALUE Location-Capable Geo-Location 2 +VALUE Location-Capable Users-Location 4 +VALUE Location-Capable NAS-Location 8 + +ATTRIBUTE Requested-Location-Info 132 integer +VALUE Requested-Location-Info Civic-Location 1 +VALUE Requested-Location-Info Geo-Location 2 +VALUE Requested-Location-Info Users-Location 4 +VALUE Requested-Location-Info NAS-Location 8 +VALUE Requested-Location-Info Future-Requests 16 +VALUE Requested-Location-Info None 32 diff --git a/rfc5580/generate.go b/rfc5580/generate.go index d6a18f9..bfcd97d 100644 --- a/rfc5580/generate.go +++ b/rfc5580/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc5580 -output generated.go /usr/share/freeradius/dictionary.rfc5580 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc5580 -output generated.go dictionary.rfc5580 package rfc5580 diff --git a/rfc5607/dictionary.rfc5607 b/rfc5607/dictionary.rfc5607 new file mode 100644 index 0000000..4023aae --- /dev/null +++ b/rfc5607/dictionary.rfc5607 @@ -0,0 +1,32 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 5607. +# http://www.ietf.org/rfc/rfc5607.txt +# +# $Id: ef47c5d8d7daa7631f698db394d2478f222f2472 $ +# + +VALUE Service-Type Framed-Management 18 + +ATTRIBUTE Framed-Management 133 integer + +VALUE Framed-Management SNMP 1 +VALUE Framed-Management Web-Based 2 +VALUE Framed-Management Netconf 3 +VALUE Framed-Management FTP 4 +VALUE Framed-Management TFTP 5 +VALUE Framed-Management SFTP 6 +VALUE Framed-Management RCP 7 +VALUE Framed-Management SCP 8 + +ATTRIBUTE Management-Transport-Protection 134 integer + +VALUE Management-Transport-Protection No-Protection 1 +VALUE Management-Transport-Protection Integrity-Protection 2 +VALUE Management-Transport-Protection Integrity-Confidentiality-Protection 3 + +ATTRIBUTE Management-Policy-Id 135 string + +ATTRIBUTE Management-Privilege-Level 136 integer diff --git a/rfc5607/generate.go b/rfc5607/generate.go index aa138d2..48de2b7 100644 --- a/rfc5607/generate.go +++ b/rfc5607/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc5607 -output generated.go -ref Service-Type:layeh.com/radius/rfc2865 /usr/share/freeradius/dictionary.rfc5607 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc5607 -output generated.go -ref Service-Type:layeh.com/radius/rfc2865 dictionary.rfc5607 package rfc5607 diff --git a/rfc5904/dictionary.rfc5904 b/rfc5904/dictionary.rfc5904 new file mode 100644 index 0000000..ca09e69 --- /dev/null +++ b/rfc5904/dictionary.rfc5904 @@ -0,0 +1,24 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 5904. +# http://www.ietf.org/rfc/rfc5904.txt +# +# $Id: 7f2cf2d309f26b11c96ed6f4270d4bd820e436d7 $ +# + +# The next two attributes are continued, like EAP-Message +ATTRIBUTE PKM-SS-Cert 137 octets concat +ATTRIBUTE PKM-CA-Cert 138 octets concat + +# 28 bytes of data, 7 integers +ATTRIBUTE PKM-Config-Settings 139 octets +ATTRIBUTE PKM-Cryptosuite-List 140 octets +ATTRIBUTE PKM-SAID 141 short + +# 6 bytes of data: SAID, 1 byte of type, 3 of cryptosuite +ATTRIBUTE PKM-SA-Descriptor 142 octets + +# 133 bytes of data: integer lifetime, 1 byte sequence, 128 bytes of key +ATTRIBUTE PKM-Auth-Key 143 octets diff --git a/rfc5904/generate.go b/rfc5904/generate.go index 34dc35f..584558d 100644 --- a/rfc5904/generate.go +++ b/rfc5904/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc5904 -output generated.go /usr/share/freeradius/dictionary.rfc5904 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc5904 -output generated.go dictionary.rfc5904 package rfc5904 diff --git a/rfc6519/dictionary.rfc6519 b/rfc6519/dictionary.rfc6519 new file mode 100644 index 0000000..e724be0 --- /dev/null +++ b/rfc6519/dictionary.rfc6519 @@ -0,0 +1,11 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 6519. +# http://www.ietf.org/rfc/rfc6519.txt +# +# $Id: dc53b52f951c7252d52f51e335bd5523b78397f5 $ +# + +ATTRIBUTE DS-Lite-Tunnel-Name 144 string diff --git a/rfc6519/generate.go b/rfc6519/generate.go index 1db1545..05aeb6e 100644 --- a/rfc6519/generate.go +++ b/rfc6519/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc6519 -output generated.go /usr/share/freeradius/dictionary.rfc6519 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc6519 -output generated.go dictionary.rfc6519 package rfc6519 diff --git a/rfc6572/dictionary.rfc6572 b/rfc6572/dictionary.rfc6572 new file mode 100644 index 0000000..5979da7 --- /dev/null +++ b/rfc6572/dictionary.rfc6572 @@ -0,0 +1,28 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 6572. +# http://www.ietf.org/rfc/rfc6572.txt +# +# $Id: 65cc95bae67e1047d13a371748e9cdb6d45cc779 $ +# + +ATTRIBUTE Mobile-Node-Identifier 145 octets +ATTRIBUTE Service-Selection 146 string +ATTRIBUTE PMIP6-Home-LMA-IPv6-Address 147 ipv6addr +ATTRIBUTE PMIP6-Visited-LMA-IPv6-Address 148 ipv6addr +ATTRIBUTE PMIP6-Home-LMA-IPv4-Address 149 ipaddr +ATTRIBUTE PMIP6-Visited-LMA-IPv4-Address 150 ipaddr +ATTRIBUTE PMIP6-Home-HN-Prefix 151 ipv6prefix +ATTRIBUTE PMIP6-Visited-HN-Prefix 152 ipv6prefix +ATTRIBUTE PMIP6-Home-Interface-ID 153 ifid +ATTRIBUTE PMIP6-Visited-Interface-ID 154 ifid +ATTRIBUTE PMIP6-Home-IPv4-HoA 155 ipv4prefix +ATTRIBUTE PMIP6-Visited-IPv4-HoA 156 ipv4prefix +ATTRIBUTE PMIP6-Home-DHCP4-Server-Address 157 ipaddr +ATTRIBUTE PMIP6-Visited-DHCP4-Server-Address 158 ipaddr +ATTRIBUTE PMIP6-Home-DHCP6-Server-Address 159 ipv6addr +ATTRIBUTE PMIP6-Visited-DHCP6-Server-Address 160 ipv6addr +ATTRIBUTE PMIP6-Home-IPv4-Gateway 161 ipaddr +ATTRIBUTE PMIP6-Visited-IPv4-Gateway 162 ipaddr diff --git a/rfc6572/generate.go b/rfc6572/generate.go index badd0dd..e65f1e5 100644 --- a/rfc6572/generate.go +++ b/rfc6572/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc6572 -output generated.go -ignore PMIP6-Home-IPv4-HoA -ignore PMIP6-Visited-IPv4-HoA /usr/share/freeradius/dictionary.rfc6572 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc6572 -output generated.go -ignore PMIP6-Home-IPv4-HoA -ignore PMIP6-Visited-IPv4-HoA dictionary.rfc6572 package rfc6572 diff --git a/rfc6677/dictionary.rfc6677 b/rfc6677/dictionary.rfc6677 new file mode 100644 index 0000000..923e241 --- /dev/null +++ b/rfc6677/dictionary.rfc6677 @@ -0,0 +1,20 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 6677 +# http://www.ietf.org/rfc/rfc6677.txt +# + +ATTRIBUTE EAP-Lower-Layer 163 integer + +VALUE EAP-Lower-Layer Wired-IEEE-802.1X 1 +VALUE EAP-Lower-Layer IEEE-802.1X-No-Preauth 2 +VALUE EAP-Lower-Layer IEEE-802.1X-Preauth 3 +VALUE EAP-Lower-Layer IEEE-802.16e 4 +VALUE EAP-Lower-Layer IKEv2 5 +VALUE EAP-Lower-Layer PPP 6 +VALUE EAP-Lower-Layer PANA-No-Preauth 7 +VALUE EAP-Lower-Layer GSS-API 8 +VALUE EAP-Lower-Layer PANA-Preauth 9 + diff --git a/rfc6677/generate.go b/rfc6677/generate.go index 5f0b934..6f52645 100644 --- a/rfc6677/generate.go +++ b/rfc6677/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc6677 -output generated.go /usr/share/freeradius/dictionary.rfc6677 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc6677 -output generated.go dictionary.rfc6677 package rfc6677 diff --git a/rfc6911/dictionary.rfc6911 b/rfc6911/dictionary.rfc6911 new file mode 100644 index 0000000..ccf6aa4 --- /dev/null +++ b/rfc6911/dictionary.rfc6911 @@ -0,0 +1,13 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 6911 +# http://www.ietf.org/rfc/rfc6911.txt +# + +ATTRIBUTE Framed-IPv6-Address 168 ipv6addr +ATTRIBUTE DNS-Server-IPv6-Address 169 ipv6addr +ATTRIBUTE Route-IPv6-Information 170 ipv6prefix +ATTRIBUTE Delegated-IPv6-Prefix-Pool 171 string +ATTRIBUTE Stateful-IPv6-Address-Pool 172 string diff --git a/rfc6911/generate.go b/rfc6911/generate.go index 4d1e385..f3f2b19 100644 --- a/rfc6911/generate.go +++ b/rfc6911/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc6911 -output generated.go /usr/share/freeradius/dictionary.rfc6911 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc6911 -output generated.go dictionary.rfc6911 package rfc6911 diff --git a/rfc7055/dictionary.rfc7055 b/rfc7055/dictionary.rfc7055 new file mode 100644 index 0000000..f0400cd --- /dev/null +++ b/rfc7055/dictionary.rfc7055 @@ -0,0 +1,12 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 7055 +# http://www.ietf.org/rfc/rfc7055.txt +# + +ATTRIBUTE GSS-Acceptor-Service-Name 164 string +ATTRIBUTE GSS-Acceptor-Host-Name 165 string +ATTRIBUTE GSS-Acceptor-Service-Specifics 166 string +ATTRIBUTE GSS-Acceptor-Realm-Name 167 string diff --git a/rfc7055/generate.go b/rfc7055/generate.go index 2c6c3ec..174c1a8 100644 --- a/rfc7055/generate.go +++ b/rfc7055/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc7055 -output generated.go /usr/share/freeradius/dictionary.rfc7055 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc7055 -output generated.go dictionary.rfc7055 package rfc7055 diff --git a/rfc7268/dictionary.rfc7268 b/rfc7268/dictionary.rfc7268 new file mode 100644 index 0000000..71ab995 --- /dev/null +++ b/rfc7268/dictionary.rfc7268 @@ -0,0 +1,70 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Attributes and values defined in RFC 7268 +# http://www.ietf.org/rfc/rfc7268.txt +# +# $Id: 8ac2b3442e2b0ba4732d43585f8c1daeb6eea3e9 $ +# + +ATTRIBUTE Allowed-Called-Station-Id 174 string +ATTRIBUTE EAP-Peer-Id 175 octets +ATTRIBUTE EAP-Server-Id 176 octets +ATTRIBUTE Mobility-Domain-Id 177 integer +ATTRIBUTE Preauth-Timeout 178 integer +ATTRIBUTE Network-Id-Name 179 octets + +# TLVs in the format defined in Figure 11-8 of Section 11.12 of +# "IEEE Standard for Local and metropolitan area +# networks - Port-Based Network Access Control", IEEE Std +# 802.1X-2010. +# +# These are 7 bit TLV-Type, and 9-bit TLV-Length +# +# If the TLVs are too large for 253 octets, they are fragmented +# into multiple attributes. +ATTRIBUTE EAPoL-Announcement 180 octets concat + +ATTRIBUTE WLAN-HESSID 181 string + +# The upper two octets MUST be zero. +# low two octets are Venue-Group and Venue-Type. +# Defined in Section 8.4.1.34 of the above IEEE document. +ATTRIBUTE WLAN-Venue-Info 182 integer + +# A two or 3 character language code selected from ISO-639. +# If it's two characters, a trailing zero byte is added +ATTRIBUTE WLAN-Venue-Language 183 octets[3] + +ATTRIBUTE WLAN-Venue-Name 184 string + +# two least significant octets contain the Reason Code values defined +# in Table 8-36 of Section 8.4.1.7 of the above IEEE document. +ATTRIBUTE WLAN-Reason-Code 185 integer + +# The next four attributes are binary packed. The first 3 octets is +# the OUI. The last octet is the Suite Type. + +# in Suite selector format as specified in Figure 8-187 within Section +# 8.4.2.27.2 of [IEEE-802.11], with values of OUI and Suite Type drawn +# from Table 8-99. +ATTRIBUTE WLAN-Pairwise-Cipher 186 integer + +# same as WLAN-Pairwise-Cipher +ATTRIBUTE WLAN-Group-Cipher 187 integer + +# in Suite selector format as specified in Figure 8-187 +# within Section 8.4.2.27.2 of [IEEE-802.11], with values of OUI and +# Suite Type drawn from Table 8-101: +ATTRIBUTE WLAN-AKM-Suite 188 integer + +# same as WLAN-Pairwise-Cipher +ATTRIBUTE WLAN-Group-Mgmt-Cipher 189 integer + +# the upper 3 octets are zero +# the low octet contains the RF Band field, whose values are defined +# by the IEEE 802.11 Band ID field (Table 8-53a of [IEEE-802.11ad]) + +ATTRIBUTE WLAN-RF-Band 190 integer + diff --git a/rfc7268/generate.go b/rfc7268/generate.go index 51c9234..d08862d 100644 --- a/rfc7268/generate.go +++ b/rfc7268/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc7268 -output generated.go /usr/share/freeradius/dictionary.rfc7268 +//go:generate go run ../cmd/radius-dict-gen/main.go -package rfc7268 -output generated.go dictionary.rfc7268 package rfc7268 diff --git a/vendors/aruba/dictionary.aruba b/vendors/aruba/dictionary.aruba new file mode 100644 index 0000000..91784a6 --- /dev/null +++ b/vendors/aruba/dictionary.aruba @@ -0,0 +1,88 @@ +# -*- text -*- +# Copyright (C) 2020 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# Version $Id: e28277b527912c304be4c413c331a3c92a9d0c10 $ +# +# Version: $Id: e28277b527912c304be4c413c331a3c92a9d0c10 $ +# +VENDOR Aruba 14823 +BEGIN-VENDOR Aruba + +ATTRIBUTE Aruba-User-Role 1 string +ATTRIBUTE Aruba-User-Vlan 2 integer +ATTRIBUTE Aruba-Priv-Admin-User 3 integer +ATTRIBUTE Aruba-Admin-Role 4 string +ATTRIBUTE Aruba-Essid-Name 5 string +ATTRIBUTE Aruba-Location-Id 6 string +ATTRIBUTE Aruba-Port-Identifier 7 string +ATTRIBUTE Aruba-MMS-User-Template 8 string +ATTRIBUTE Aruba-Named-User-Vlan 9 string +ATTRIBUTE Aruba-AP-Group 10 string + +ATTRIBUTE Aruba-Framed-IPv6-Address 11 string +ATTRIBUTE Aruba-Device-Type 12 string +ATTRIBUTE Aruba-No-DHCP-Fingerprint 14 integer +ATTRIBUTE Aruba-Mdps-Device-Udid 15 string +ATTRIBUTE Aruba-Mdps-Device-Imei 16 string +ATTRIBUTE Aruba-Mdps-Device-Iccid 17 string +ATTRIBUTE Aruba-Mdps-Max-Devices 18 integer +ATTRIBUTE Aruba-Mdps-Device-Name 19 string +ATTRIBUTE Aruba-Mdps-Device-Product 20 string + +ATTRIBUTE Aruba-Mdps-Device-Version 21 string +ATTRIBUTE Aruba-Mdps-Device-Serial 22 string +ATTRIBUTE Aruba-CPPM-Role 23 string +ATTRIBUTE Aruba-AirGroup-User-Name 24 string +ATTRIBUTE Aruba-AirGroup-Shared-User 25 string +ATTRIBUTE Aruba-AirGroup-Shared-Role 26 string +ATTRIBUTE Aruba-AirGroup-Device-Type 27 integer +ATTRIBUTE Aruba-Auth-Survivability 28 string +ATTRIBUTE Aruba-AS-User-Name 29 string +ATTRIBUTE Aruba-AS-Credential-Hash 30 string + +ATTRIBUTE Aruba-WorkSpace-App-Name 31 string +ATTRIBUTE Aruba-Mdps-Provisioning-Settings 32 string +ATTRIBUTE Aruba-Mdps-Device-Profile 33 string +ATTRIBUTE Aruba-AP-IP-Address 34 ipaddr +ATTRIBUTE Aruba-AirGroup-Shared-Group 35 string +ATTRIBUTE Aruba-User-Group 36 string +ATTRIBUTE Aruba-Network-SSO-Token 37 string +ATTRIBUTE Aruba-AirGroup-Version 38 integer +ATTRIBUTE Aruba-Auth-SurvMethod 39 integer +ATTRIBUTE Aruba-Port-Bounce-Host 40 integer + +ATTRIBUTE Aruba-Calea-Server-Ip 41 ipaddr +ATTRIBUTE Aruba-Admin-Path 42 string +ATTRIBUTE Aruba-Captive-Portal-URL 43 string +ATTRIBUTE Aruba-MPSK-Passphrase 44 octets encrypt=2 +ATTRIBUTE Aruba-ACL-Server-Query-Info 45 string +ATTRIBUTE Aruba-Command-String 46 string +ATTRIBUTE Aruba-Network-Profile 47 string +ATTRIBUTE Aruba-Admin-Device-Group 48 string +ATTRIBUTE Aruba-PoE-Priority 49 integer +ATTRIBUTE Aruba-Port-Auth-Mode 50 integer + +ATTRIBUTE Aruba-NAS-Filter-Rule 51 string +ATTRIBUTE Aruba-QoS-Trust-Mode 52 integer +ATTRIBUTE Aruba-UBT-Gateway-Role 53 string +ATTRIBUTE Aruba-Gateway-Zone 54 string + +VALUE Aruba-AirGroup-Device-Type Personal-Device 1 +VALUE Aruba-AirGroup-Device-Type Shared-Device 2 +VALUE Aruba-AirGroup-Device-Type Deleted-Device 3 + +VALUE Aruba-AirGroup-Version AirGroup-v1 1 +VALUE Aruba-AirGroup-Version AirGroup-v2 2 + +VALUE Aruba-PoE-Priority Critical 0 +VALUE Aruba-PoE-Priority High 1 +VALUE Aruba-PoE-Priority Low 2 + +VALUE Aruba-Port-Auth-Mode Infrastructure-Mode 1 +VALUE Aruba-Port-Auth-Mode Client-Mode 2 + +VALUE Aruba-QoS-Trust-Mode DSCP 0 +VALUE Aruba-QoS-Trust-Mode QoS 1 +VALUE Aruba-QoS-Trust-Mode None 2 + +END-VENDOR Aruba diff --git a/vendors/aruba/generate.go b/vendors/aruba/generate.go index f8f975d..27cda77 100644 --- a/vendors/aruba/generate.go +++ b/vendors/aruba/generate.go @@ -1,3 +1,3 @@ -//go:generate go run generate_main.go +//go:generate go run ../../cmd/radius-dict-gen/main.go -package aruba -output generated.go dictionary.aruba package aruba diff --git a/vendors/aruba/generate_main.go b/vendors/aruba/generate_main.go deleted file mode 100644 index bae59a6..0000000 --- a/vendors/aruba/generate_main.go +++ /dev/null @@ -1,80 +0,0 @@ -//+build ignore - -package main - -import ( - "bytes" - "errors" - "io" - "io/ioutil" - "log" - "net/http" - "os" - - "layeh.com/radius/dictionary" - "layeh.com/radius/dictionarygen" -) - -func main() { - resp, err := http.Get(`http://support.arubanetworks.com/ToolsResources/tabid/76/DMXModule/514/Command/Core_Download/Method/attachment/Default.aspx?EntryId=31244`) - if err != nil { - log.Fatal(err) - } - body, err := ioutil.ReadAll(resp.Body) - resp.Body.Close() - if err != nil { - log.Fatal(err) - } - if err := ioutil.WriteFile("main.dictionary", body, 0644); err != nil { - log.Fatal(err) - } - defer os.Remove("main.dictionary") - - parser := dictionary.Parser{ - Opener: restrictedOpener{ - "main.dictionary": body, - }, - } - dict, err := parser.ParseFile("main.dictionary") - if err != nil { - log.Fatal(err) - } - - gen := dictionarygen.Generator{ - Package: "aruba", - } - generated, err := gen.Generate(dict) - if err != nil { - log.Fatal(err) - } - - if err := ioutil.WriteFile("generated.go", generated, 0644); err != nil { - log.Fatal(err) - } -} - -type restrictedOpener map[string][]byte - -func (r restrictedOpener) OpenFile(name string) (dictionary.File, error) { - contents, ok := r[name] - if !ok { - return nil, errors.New("unknown file " + name) - } - return &restrictedFile{ - Reader: bytes.NewReader(contents), - NameValue: name, - }, nil -} - -type restrictedFile struct { - io.Reader - NameValue string -} - -func (r *restrictedFile) Name() string { - return r.NameValue -} - -func (r *restrictedFile) Close() error { - return nil -} diff --git a/vendors/aruba/generated.go b/vendors/aruba/generated.go index d92a96c..206b760 100644 --- a/vendors/aruba/generated.go +++ b/vendors/aruba/generated.go @@ -3,6 +3,7 @@ package aruba import ( + "crypto/rand" "net" "strconv" @@ -2351,11 +2352,13 @@ type ArubaAirGroupDeviceType uint32 const ( ArubaAirGroupDeviceType_Value_PersonalDevice ArubaAirGroupDeviceType = 1 ArubaAirGroupDeviceType_Value_SharedDevice ArubaAirGroupDeviceType = 2 + ArubaAirGroupDeviceType_Value_DeletedDevice ArubaAirGroupDeviceType = 3 ) var ArubaAirGroupDeviceType_Strings = map[ArubaAirGroupDeviceType]string{ ArubaAirGroupDeviceType_Value_PersonalDevice: "Personal-Device", ArubaAirGroupDeviceType_Value_SharedDevice: "Shared-Device", + ArubaAirGroupDeviceType_Value_DeletedDevice: "Deleted-Device", } func (a ArubaAirGroupDeviceType) String() string { @@ -3371,6 +3374,63 @@ func ArubaAirGroupVersion_Del(p *radius.Packet) { _Aruba_DelVendor(p, 38) } +type ArubaAuthSurvMethod uint32 + +var ArubaAuthSurvMethod_Strings = map[ArubaAuthSurvMethod]string{} + +func (a ArubaAuthSurvMethod) String() string { + if str, ok := ArubaAuthSurvMethod_Strings[a]; ok { + return str + } + return "ArubaAuthSurvMethod(" + strconv.FormatUint(uint64(a), 10) + ")" +} + +func ArubaAuthSurvMethod_Add(p *radius.Packet, value ArubaAuthSurvMethod) (err error) { + a := radius.NewInteger(uint32(value)) + return _Aruba_AddVendor(p, 39, a) +} + +func ArubaAuthSurvMethod_Get(p *radius.Packet) (value ArubaAuthSurvMethod) { + value, _ = ArubaAuthSurvMethod_Lookup(p) + return +} + +func ArubaAuthSurvMethod_Gets(p *radius.Packet) (values []ArubaAuthSurvMethod, err error) { + var i uint32 + for _, attr := range _Aruba_GetsVendor(p, 39) { + i, err = radius.Integer(attr) + if err != nil { + return + } + values = append(values, ArubaAuthSurvMethod(i)) + } + return +} + +func ArubaAuthSurvMethod_Lookup(p *radius.Packet) (value ArubaAuthSurvMethod, err error) { + a, ok := _Aruba_LookupVendor(p, 39) + if !ok { + err = radius.ErrNoAttribute + return + } + var i uint32 + i, err = radius.Integer(a) + if err != nil { + return + } + value = ArubaAuthSurvMethod(i) + return +} + +func ArubaAuthSurvMethod_Set(p *radius.Packet, value ArubaAuthSurvMethod) (err error) { + a := radius.NewInteger(uint32(value)) + return _Aruba_SetVendor(p, 39, a) +} + +func ArubaAuthSurvMethod_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 39) +} + type ArubaPortBounceHost uint32 var ArubaPortBounceHost_Strings = map[ArubaPortBounceHost]string{} @@ -3570,3 +3630,1080 @@ func ArubaAdminPath_SetString(p *radius.Packet, value string) (err error) { func ArubaAdminPath_Del(p *radius.Packet) { _Aruba_DelVendor(p, 42) } + +func ArubaCaptivePortalURL_Add(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 43, a) +} + +func ArubaCaptivePortalURL_AddString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 43, a) +} + +func ArubaCaptivePortalURL_Get(p *radius.Packet) (value []byte) { + value, _ = ArubaCaptivePortalURL_Lookup(p) + return +} + +func ArubaCaptivePortalURL_GetString(p *radius.Packet) (value string) { + value, _ = ArubaCaptivePortalURL_LookupString(p) + return +} + +func ArubaCaptivePortalURL_Gets(p *radius.Packet) (values [][]byte, err error) { + var i []byte + for _, attr := range _Aruba_GetsVendor(p, 43) { + i = radius.Bytes(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaCaptivePortalURL_GetStrings(p *radius.Packet) (values []string, err error) { + var i string + for _, attr := range _Aruba_GetsVendor(p, 43) { + i = radius.String(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaCaptivePortalURL_Lookup(p *radius.Packet) (value []byte, err error) { + a, ok := _Aruba_LookupVendor(p, 43) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.Bytes(a) + return +} + +func ArubaCaptivePortalURL_LookupString(p *radius.Packet) (value string, err error) { + a, ok := _Aruba_LookupVendor(p, 43) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.String(a) + return +} + +func ArubaCaptivePortalURL_Set(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 43, a) +} + +func ArubaCaptivePortalURL_SetString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 43, a) +} + +func ArubaCaptivePortalURL_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 43) +} + +func ArubaMPSKPassphrase_Add(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + var salt [2]byte + _, err = rand.Read(salt[:]) + if err != nil { + return + } + salt[0] |= 1 << 7 + a, err = radius.NewTunnelPassword(value, salt[:], p.Secret, p.Authenticator[:]) + if err != nil { + return + } + return _Aruba_AddVendor(p, 44, a) +} + +func ArubaMPSKPassphrase_AddString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + var salt [2]byte + _, err = rand.Read(salt[:]) + if err != nil { + return + } + salt[0] |= 1 << 7 + a, err = radius.NewTunnelPassword([]byte(value), salt[:], p.Secret, p.Authenticator[:]) + if err != nil { + return + } + return _Aruba_AddVendor(p, 44, a) +} + +func ArubaMPSKPassphrase_Get(p *radius.Packet) (value []byte) { + value, _ = ArubaMPSKPassphrase_Lookup(p) + return +} + +func ArubaMPSKPassphrase_GetString(p *radius.Packet) (value string) { + value, _ = ArubaMPSKPassphrase_LookupString(p) + return +} + +func ArubaMPSKPassphrase_Gets(p *radius.Packet) (values [][]byte, err error) { + var i []byte + for _, attr := range _Aruba_GetsVendor(p, 44) { + i, _, err = radius.TunnelPassword(attr, p.Secret, p.Authenticator[:]) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaMPSKPassphrase_GetStrings(p *radius.Packet) (values []string, err error) { + var i string + for _, attr := range _Aruba_GetsVendor(p, 44) { + var up []byte + up, _, err = radius.TunnelPassword(attr, p.Secret, p.Authenticator[:]) + if err == nil { + i = string(up) + } + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaMPSKPassphrase_Lookup(p *radius.Packet) (value []byte, err error) { + a, ok := _Aruba_LookupVendor(p, 44) + if !ok { + err = radius.ErrNoAttribute + return + } + value, _, err = radius.TunnelPassword(a, p.Secret, p.Authenticator[:]) + return +} + +func ArubaMPSKPassphrase_LookupString(p *radius.Packet) (value string, err error) { + a, ok := _Aruba_LookupVendor(p, 44) + if !ok { + err = radius.ErrNoAttribute + return + } + var b []byte + b, _, err = radius.TunnelPassword(a, p.Secret, p.Authenticator[:]) + if err == nil { + value = string(b) + } + return +} + +func ArubaMPSKPassphrase_Set(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + var salt [2]byte + _, err = rand.Read(salt[:]) + if err != nil { + return + } + salt[0] |= 1 << 7 + a, err = radius.NewTunnelPassword(value, salt[:], p.Secret, p.Authenticator[:]) + if err != nil { + return + } + return _Aruba_SetVendor(p, 44, a) +} + +func ArubaMPSKPassphrase_SetString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + var salt [2]byte + _, err = rand.Read(salt[:]) + if err != nil { + return + } + salt[0] |= 1 << 7 + a, err = radius.NewTunnelPassword([]byte(value), salt[:], p.Secret, p.Authenticator[:]) + if err != nil { + return + } + return _Aruba_SetVendor(p, 44, a) +} + +func ArubaMPSKPassphrase_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 44) +} + +func ArubaACLServerQueryInfo_Add(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 45, a) +} + +func ArubaACLServerQueryInfo_AddString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 45, a) +} + +func ArubaACLServerQueryInfo_Get(p *radius.Packet) (value []byte) { + value, _ = ArubaACLServerQueryInfo_Lookup(p) + return +} + +func ArubaACLServerQueryInfo_GetString(p *radius.Packet) (value string) { + value, _ = ArubaACLServerQueryInfo_LookupString(p) + return +} + +func ArubaACLServerQueryInfo_Gets(p *radius.Packet) (values [][]byte, err error) { + var i []byte + for _, attr := range _Aruba_GetsVendor(p, 45) { + i = radius.Bytes(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaACLServerQueryInfo_GetStrings(p *radius.Packet) (values []string, err error) { + var i string + for _, attr := range _Aruba_GetsVendor(p, 45) { + i = radius.String(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaACLServerQueryInfo_Lookup(p *radius.Packet) (value []byte, err error) { + a, ok := _Aruba_LookupVendor(p, 45) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.Bytes(a) + return +} + +func ArubaACLServerQueryInfo_LookupString(p *radius.Packet) (value string, err error) { + a, ok := _Aruba_LookupVendor(p, 45) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.String(a) + return +} + +func ArubaACLServerQueryInfo_Set(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 45, a) +} + +func ArubaACLServerQueryInfo_SetString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 45, a) +} + +func ArubaACLServerQueryInfo_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 45) +} + +func ArubaCommandString_Add(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 46, a) +} + +func ArubaCommandString_AddString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 46, a) +} + +func ArubaCommandString_Get(p *radius.Packet) (value []byte) { + value, _ = ArubaCommandString_Lookup(p) + return +} + +func ArubaCommandString_GetString(p *radius.Packet) (value string) { + value, _ = ArubaCommandString_LookupString(p) + return +} + +func ArubaCommandString_Gets(p *radius.Packet) (values [][]byte, err error) { + var i []byte + for _, attr := range _Aruba_GetsVendor(p, 46) { + i = radius.Bytes(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaCommandString_GetStrings(p *radius.Packet) (values []string, err error) { + var i string + for _, attr := range _Aruba_GetsVendor(p, 46) { + i = radius.String(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaCommandString_Lookup(p *radius.Packet) (value []byte, err error) { + a, ok := _Aruba_LookupVendor(p, 46) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.Bytes(a) + return +} + +func ArubaCommandString_LookupString(p *radius.Packet) (value string, err error) { + a, ok := _Aruba_LookupVendor(p, 46) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.String(a) + return +} + +func ArubaCommandString_Set(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 46, a) +} + +func ArubaCommandString_SetString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 46, a) +} + +func ArubaCommandString_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 46) +} + +func ArubaNetworkProfile_Add(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 47, a) +} + +func ArubaNetworkProfile_AddString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 47, a) +} + +func ArubaNetworkProfile_Get(p *radius.Packet) (value []byte) { + value, _ = ArubaNetworkProfile_Lookup(p) + return +} + +func ArubaNetworkProfile_GetString(p *radius.Packet) (value string) { + value, _ = ArubaNetworkProfile_LookupString(p) + return +} + +func ArubaNetworkProfile_Gets(p *radius.Packet) (values [][]byte, err error) { + var i []byte + for _, attr := range _Aruba_GetsVendor(p, 47) { + i = radius.Bytes(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaNetworkProfile_GetStrings(p *radius.Packet) (values []string, err error) { + var i string + for _, attr := range _Aruba_GetsVendor(p, 47) { + i = radius.String(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaNetworkProfile_Lookup(p *radius.Packet) (value []byte, err error) { + a, ok := _Aruba_LookupVendor(p, 47) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.Bytes(a) + return +} + +func ArubaNetworkProfile_LookupString(p *radius.Packet) (value string, err error) { + a, ok := _Aruba_LookupVendor(p, 47) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.String(a) + return +} + +func ArubaNetworkProfile_Set(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 47, a) +} + +func ArubaNetworkProfile_SetString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 47, a) +} + +func ArubaNetworkProfile_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 47) +} + +func ArubaAdminDeviceGroup_Add(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 48, a) +} + +func ArubaAdminDeviceGroup_AddString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 48, a) +} + +func ArubaAdminDeviceGroup_Get(p *radius.Packet) (value []byte) { + value, _ = ArubaAdminDeviceGroup_Lookup(p) + return +} + +func ArubaAdminDeviceGroup_GetString(p *radius.Packet) (value string) { + value, _ = ArubaAdminDeviceGroup_LookupString(p) + return +} + +func ArubaAdminDeviceGroup_Gets(p *radius.Packet) (values [][]byte, err error) { + var i []byte + for _, attr := range _Aruba_GetsVendor(p, 48) { + i = radius.Bytes(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaAdminDeviceGroup_GetStrings(p *radius.Packet) (values []string, err error) { + var i string + for _, attr := range _Aruba_GetsVendor(p, 48) { + i = radius.String(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaAdminDeviceGroup_Lookup(p *radius.Packet) (value []byte, err error) { + a, ok := _Aruba_LookupVendor(p, 48) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.Bytes(a) + return +} + +func ArubaAdminDeviceGroup_LookupString(p *radius.Packet) (value string, err error) { + a, ok := _Aruba_LookupVendor(p, 48) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.String(a) + return +} + +func ArubaAdminDeviceGroup_Set(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 48, a) +} + +func ArubaAdminDeviceGroup_SetString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 48, a) +} + +func ArubaAdminDeviceGroup_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 48) +} + +type ArubaPoEPriority uint32 + +const ( + ArubaPoEPriority_Value_Critical ArubaPoEPriority = 0 + ArubaPoEPriority_Value_High ArubaPoEPriority = 1 + ArubaPoEPriority_Value_Low ArubaPoEPriority = 2 +) + +var ArubaPoEPriority_Strings = map[ArubaPoEPriority]string{ + ArubaPoEPriority_Value_Critical: "Critical", + ArubaPoEPriority_Value_High: "High", + ArubaPoEPriority_Value_Low: "Low", +} + +func (a ArubaPoEPriority) String() string { + if str, ok := ArubaPoEPriority_Strings[a]; ok { + return str + } + return "ArubaPoEPriority(" + strconv.FormatUint(uint64(a), 10) + ")" +} + +func ArubaPoEPriority_Add(p *radius.Packet, value ArubaPoEPriority) (err error) { + a := radius.NewInteger(uint32(value)) + return _Aruba_AddVendor(p, 49, a) +} + +func ArubaPoEPriority_Get(p *radius.Packet) (value ArubaPoEPriority) { + value, _ = ArubaPoEPriority_Lookup(p) + return +} + +func ArubaPoEPriority_Gets(p *radius.Packet) (values []ArubaPoEPriority, err error) { + var i uint32 + for _, attr := range _Aruba_GetsVendor(p, 49) { + i, err = radius.Integer(attr) + if err != nil { + return + } + values = append(values, ArubaPoEPriority(i)) + } + return +} + +func ArubaPoEPriority_Lookup(p *radius.Packet) (value ArubaPoEPriority, err error) { + a, ok := _Aruba_LookupVendor(p, 49) + if !ok { + err = radius.ErrNoAttribute + return + } + var i uint32 + i, err = radius.Integer(a) + if err != nil { + return + } + value = ArubaPoEPriority(i) + return +} + +func ArubaPoEPriority_Set(p *radius.Packet, value ArubaPoEPriority) (err error) { + a := radius.NewInteger(uint32(value)) + return _Aruba_SetVendor(p, 49, a) +} + +func ArubaPoEPriority_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 49) +} + +type ArubaPortAuthMode uint32 + +const ( + ArubaPortAuthMode_Value_InfrastructureMode ArubaPortAuthMode = 1 + ArubaPortAuthMode_Value_ClientMode ArubaPortAuthMode = 2 +) + +var ArubaPortAuthMode_Strings = map[ArubaPortAuthMode]string{ + ArubaPortAuthMode_Value_InfrastructureMode: "Infrastructure-Mode", + ArubaPortAuthMode_Value_ClientMode: "Client-Mode", +} + +func (a ArubaPortAuthMode) String() string { + if str, ok := ArubaPortAuthMode_Strings[a]; ok { + return str + } + return "ArubaPortAuthMode(" + strconv.FormatUint(uint64(a), 10) + ")" +} + +func ArubaPortAuthMode_Add(p *radius.Packet, value ArubaPortAuthMode) (err error) { + a := radius.NewInteger(uint32(value)) + return _Aruba_AddVendor(p, 50, a) +} + +func ArubaPortAuthMode_Get(p *radius.Packet) (value ArubaPortAuthMode) { + value, _ = ArubaPortAuthMode_Lookup(p) + return +} + +func ArubaPortAuthMode_Gets(p *radius.Packet) (values []ArubaPortAuthMode, err error) { + var i uint32 + for _, attr := range _Aruba_GetsVendor(p, 50) { + i, err = radius.Integer(attr) + if err != nil { + return + } + values = append(values, ArubaPortAuthMode(i)) + } + return +} + +func ArubaPortAuthMode_Lookup(p *radius.Packet) (value ArubaPortAuthMode, err error) { + a, ok := _Aruba_LookupVendor(p, 50) + if !ok { + err = radius.ErrNoAttribute + return + } + var i uint32 + i, err = radius.Integer(a) + if err != nil { + return + } + value = ArubaPortAuthMode(i) + return +} + +func ArubaPortAuthMode_Set(p *radius.Packet, value ArubaPortAuthMode) (err error) { + a := radius.NewInteger(uint32(value)) + return _Aruba_SetVendor(p, 50, a) +} + +func ArubaPortAuthMode_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 50) +} + +func ArubaNASFilterRule_Add(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 51, a) +} + +func ArubaNASFilterRule_AddString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 51, a) +} + +func ArubaNASFilterRule_Get(p *radius.Packet) (value []byte) { + value, _ = ArubaNASFilterRule_Lookup(p) + return +} + +func ArubaNASFilterRule_GetString(p *radius.Packet) (value string) { + value, _ = ArubaNASFilterRule_LookupString(p) + return +} + +func ArubaNASFilterRule_Gets(p *radius.Packet) (values [][]byte, err error) { + var i []byte + for _, attr := range _Aruba_GetsVendor(p, 51) { + i = radius.Bytes(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaNASFilterRule_GetStrings(p *radius.Packet) (values []string, err error) { + var i string + for _, attr := range _Aruba_GetsVendor(p, 51) { + i = radius.String(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaNASFilterRule_Lookup(p *radius.Packet) (value []byte, err error) { + a, ok := _Aruba_LookupVendor(p, 51) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.Bytes(a) + return +} + +func ArubaNASFilterRule_LookupString(p *radius.Packet) (value string, err error) { + a, ok := _Aruba_LookupVendor(p, 51) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.String(a) + return +} + +func ArubaNASFilterRule_Set(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 51, a) +} + +func ArubaNASFilterRule_SetString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 51, a) +} + +func ArubaNASFilterRule_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 51) +} + +type ArubaQoSTrustMode uint32 + +const ( + ArubaQoSTrustMode_Value_DSCP ArubaQoSTrustMode = 0 + ArubaQoSTrustMode_Value_QoS ArubaQoSTrustMode = 1 + ArubaQoSTrustMode_Value_None ArubaQoSTrustMode = 2 +) + +var ArubaQoSTrustMode_Strings = map[ArubaQoSTrustMode]string{ + ArubaQoSTrustMode_Value_DSCP: "DSCP", + ArubaQoSTrustMode_Value_QoS: "QoS", + ArubaQoSTrustMode_Value_None: "None", +} + +func (a ArubaQoSTrustMode) String() string { + if str, ok := ArubaQoSTrustMode_Strings[a]; ok { + return str + } + return "ArubaQoSTrustMode(" + strconv.FormatUint(uint64(a), 10) + ")" +} + +func ArubaQoSTrustMode_Add(p *radius.Packet, value ArubaQoSTrustMode) (err error) { + a := radius.NewInteger(uint32(value)) + return _Aruba_AddVendor(p, 52, a) +} + +func ArubaQoSTrustMode_Get(p *radius.Packet) (value ArubaQoSTrustMode) { + value, _ = ArubaQoSTrustMode_Lookup(p) + return +} + +func ArubaQoSTrustMode_Gets(p *radius.Packet) (values []ArubaQoSTrustMode, err error) { + var i uint32 + for _, attr := range _Aruba_GetsVendor(p, 52) { + i, err = radius.Integer(attr) + if err != nil { + return + } + values = append(values, ArubaQoSTrustMode(i)) + } + return +} + +func ArubaQoSTrustMode_Lookup(p *radius.Packet) (value ArubaQoSTrustMode, err error) { + a, ok := _Aruba_LookupVendor(p, 52) + if !ok { + err = radius.ErrNoAttribute + return + } + var i uint32 + i, err = radius.Integer(a) + if err != nil { + return + } + value = ArubaQoSTrustMode(i) + return +} + +func ArubaQoSTrustMode_Set(p *radius.Packet, value ArubaQoSTrustMode) (err error) { + a := radius.NewInteger(uint32(value)) + return _Aruba_SetVendor(p, 52, a) +} + +func ArubaQoSTrustMode_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 52) +} + +func ArubaUBTGatewayRole_Add(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 53, a) +} + +func ArubaUBTGatewayRole_AddString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 53, a) +} + +func ArubaUBTGatewayRole_Get(p *radius.Packet) (value []byte) { + value, _ = ArubaUBTGatewayRole_Lookup(p) + return +} + +func ArubaUBTGatewayRole_GetString(p *radius.Packet) (value string) { + value, _ = ArubaUBTGatewayRole_LookupString(p) + return +} + +func ArubaUBTGatewayRole_Gets(p *radius.Packet) (values [][]byte, err error) { + var i []byte + for _, attr := range _Aruba_GetsVendor(p, 53) { + i = radius.Bytes(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaUBTGatewayRole_GetStrings(p *radius.Packet) (values []string, err error) { + var i string + for _, attr := range _Aruba_GetsVendor(p, 53) { + i = radius.String(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaUBTGatewayRole_Lookup(p *radius.Packet) (value []byte, err error) { + a, ok := _Aruba_LookupVendor(p, 53) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.Bytes(a) + return +} + +func ArubaUBTGatewayRole_LookupString(p *radius.Packet) (value string, err error) { + a, ok := _Aruba_LookupVendor(p, 53) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.String(a) + return +} + +func ArubaUBTGatewayRole_Set(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 53, a) +} + +func ArubaUBTGatewayRole_SetString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 53, a) +} + +func ArubaUBTGatewayRole_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 53) +} + +func ArubaGatewayZone_Add(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 54, a) +} + +func ArubaGatewayZone_AddString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_AddVendor(p, 54, a) +} + +func ArubaGatewayZone_Get(p *radius.Packet) (value []byte) { + value, _ = ArubaGatewayZone_Lookup(p) + return +} + +func ArubaGatewayZone_GetString(p *radius.Packet) (value string) { + value, _ = ArubaGatewayZone_LookupString(p) + return +} + +func ArubaGatewayZone_Gets(p *radius.Packet) (values [][]byte, err error) { + var i []byte + for _, attr := range _Aruba_GetsVendor(p, 54) { + i = radius.Bytes(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaGatewayZone_GetStrings(p *radius.Packet) (values []string, err error) { + var i string + for _, attr := range _Aruba_GetsVendor(p, 54) { + i = radius.String(attr) + if err != nil { + return + } + values = append(values, i) + } + return +} + +func ArubaGatewayZone_Lookup(p *radius.Packet) (value []byte, err error) { + a, ok := _Aruba_LookupVendor(p, 54) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.Bytes(a) + return +} + +func ArubaGatewayZone_LookupString(p *radius.Packet) (value string, err error) { + a, ok := _Aruba_LookupVendor(p, 54) + if !ok { + err = radius.ErrNoAttribute + return + } + value = radius.String(a) + return +} + +func ArubaGatewayZone_Set(p *radius.Packet, value []byte) (err error) { + var a radius.Attribute + a, err = radius.NewBytes(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 54, a) +} + +func ArubaGatewayZone_SetString(p *radius.Packet, value string) (err error) { + var a radius.Attribute + a, err = radius.NewString(value) + if err != nil { + return + } + return _Aruba_SetVendor(p, 54, a) +} + +func ArubaGatewayZone_Del(p *radius.Packet) { + _Aruba_DelVendor(p, 54) +} diff --git a/vendors/microsoft/dictionary.microsoft b/vendors/microsoft/dictionary.microsoft new file mode 100644 index 0000000..f55a5aa --- /dev/null +++ b/vendors/microsoft/dictionary.microsoft @@ -0,0 +1,170 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# Microsoft's VSA's, from RFC 2548 +# +# $Id: 6ba9dd5bedec065f0535f82390a8b6e9cdbaaf0f $ +# + +VENDOR Microsoft 311 + +BEGIN-VENDOR Microsoft +ATTRIBUTE MS-CHAP-Response 1 octets[50] +ATTRIBUTE MS-CHAP-Error 2 string +ATTRIBUTE MS-CHAP-CPW-1 3 octets[70] +ATTRIBUTE MS-CHAP-CPW-2 4 octets[84] +ATTRIBUTE MS-CHAP-LM-Enc-PW 5 octets +ATTRIBUTE MS-CHAP-NT-Enc-PW 6 octets +ATTRIBUTE MS-MPPE-Encryption-Policy 7 integer + +VALUE MS-MPPE-Encryption-Policy Encryption-Allowed 1 +VALUE MS-MPPE-Encryption-Policy Encryption-Required 2 + +# This is referred to as both singular and plural in the RFC. +# Plural seems to make more sense. +ATTRIBUTE MS-MPPE-Encryption-Type 8 integer +ATTRIBUTE MS-MPPE-Encryption-Types 8 integer + +VALUE MS-MPPE-Encryption-Types RC4-40bit-Allowed 1 +VALUE MS-MPPE-Encryption-Types RC4-128bit-Allowed 2 +VALUE MS-MPPE-Encryption-Types RC4-40or128-bit-Allowed 6 + +ATTRIBUTE MS-RAS-Vendor 9 integer # content is Vendor-ID +ATTRIBUTE MS-CHAP-Domain 10 string +ATTRIBUTE MS-CHAP-Challenge 11 octets +ATTRIBUTE MS-CHAP-MPPE-Keys 12 octets[24] encrypt=1 +ATTRIBUTE MS-BAP-Usage 13 integer +ATTRIBUTE MS-Link-Utilization-Threshold 14 integer # values are 1-100 +ATTRIBUTE MS-Link-Drop-Time-Limit 15 integer +ATTRIBUTE MS-MPPE-Send-Key 16 octets encrypt=2 +ATTRIBUTE MS-MPPE-Recv-Key 17 octets encrypt=2 +ATTRIBUTE MS-RAS-Version 18 string +ATTRIBUTE MS-Old-ARAP-Password 19 octets +ATTRIBUTE MS-New-ARAP-Password 20 octets +ATTRIBUTE MS-ARAP-PW-Change-Reason 21 integer + +ATTRIBUTE MS-Filter 22 octets +ATTRIBUTE MS-Acct-Auth-Type 23 integer +ATTRIBUTE MS-Acct-EAP-Type 24 integer + +ATTRIBUTE MS-CHAP2-Response 25 octets[50] +ATTRIBUTE MS-CHAP2-Success 26 octets +ATTRIBUTE MS-CHAP2-CPW 27 octets[68] + +ATTRIBUTE MS-Primary-DNS-Server 28 ipaddr +ATTRIBUTE MS-Secondary-DNS-Server 29 ipaddr +ATTRIBUTE MS-Primary-NBNS-Server 30 ipaddr +ATTRIBUTE MS-Secondary-NBNS-Server 31 ipaddr + +#ATTRIBUTE MS-ARAP-Challenge 33 octets[8] + +## MS-RNAP +# +# http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/%5BMS-RNAP%5D.pdf + +ATTRIBUTE MS-RAS-Client-Name 34 string +ATTRIBUTE MS-RAS-Client-Version 35 string +ATTRIBUTE MS-Quarantine-IPFilter 36 octets +ATTRIBUTE MS-Quarantine-Session-Timeout 37 integer +ATTRIBUTE MS-User-Security-Identity 40 string +ATTRIBUTE MS-Identity-Type 41 integer +ATTRIBUTE MS-Service-Class 42 string +ATTRIBUTE MS-Quarantine-User-Class 44 string +ATTRIBUTE MS-Quarantine-State 45 integer +ATTRIBUTE MS-Quarantine-Grace-Time 46 integer +ATTRIBUTE MS-Network-Access-Server-Type 47 integer +ATTRIBUTE MS-AFW-Zone 48 integer + +VALUE MS-AFW-Zone MS-AFW-Zone-Boundary-Policy 1 +VALUE MS-AFW-Zone MS-AFW-Zone-Unprotected-Policy 2 +VALUE MS-AFW-Zone MS-AFW-Zone-Protected-Policy 3 + +ATTRIBUTE MS-AFW-Protection-Level 49 integer + +VALUE MS-AFW-Protection-Level HECP-Response-Sign-Only 1 +VALUE MS-AFW-Protection-Level HECP-Response-Sign-And-Encrypt 2 + +ATTRIBUTE MS-Machine-Name 50 string +ATTRIBUTE MS-IPv6-Filter 51 octets +ATTRIBUTE MS-IPv4-Remediation-Servers 52 octets +ATTRIBUTE MS-IPv6-Remediation-Servers 53 octets +ATTRIBUTE MS-RNAP-Not-Quarantine-Capable 54 integer + +VALUE MS-RNAP-Not-Quarantine-Capable SoH-Sent 0 +VALUE MS-RNAP-Not-Quarantine-Capable SoH-Not-Sent 1 + +ATTRIBUTE MS-Quarantine-SOH 55 octets +ATTRIBUTE MS-RAS-Correlation 56 octets + +# Or this might be 56? +ATTRIBUTE MS-Extended-Quarantine-State 57 integer + +ATTRIBUTE MS-HCAP-User-Groups 58 string +ATTRIBUTE MS-HCAP-Location-Group-Name 59 string +ATTRIBUTE MS-HCAP-User-Name 60 string +ATTRIBUTE MS-User-IPv4-Address 61 ipaddr +ATTRIBUTE MS-User-IPv6-Address 62 ipv6addr +ATTRIBUTE MS-TSG-Device-Redirection 63 integer + +# +# Integer Translations +# + +# MS-BAP-Usage Values + +VALUE MS-BAP-Usage Not-Allowed 0 +VALUE MS-BAP-Usage Allowed 1 +VALUE MS-BAP-Usage Required 2 + +# MS-ARAP-Password-Change-Reason Values + +VALUE MS-ARAP-PW-Change-Reason Just-Change-Password 1 +VALUE MS-ARAP-PW-Change-Reason Expired-Password 2 +VALUE MS-ARAP-PW-Change-Reason Admin-Requires-Password-Change 3 +VALUE MS-ARAP-PW-Change-Reason Password-Too-Short 4 + +# MS-Acct-Auth-Type Values + +VALUE MS-Acct-Auth-Type PAP 1 +VALUE MS-Acct-Auth-Type CHAP 2 +VALUE MS-Acct-Auth-Type MS-CHAP-1 3 +VALUE MS-Acct-Auth-Type MS-CHAP-2 4 +VALUE MS-Acct-Auth-Type EAP 5 + +# MS-Acct-EAP-Type Values + +VALUE MS-Acct-EAP-Type MD5 4 +VALUE MS-Acct-EAP-Type OTP 5 +VALUE MS-Acct-EAP-Type Generic-Token-Card 6 +VALUE MS-Acct-EAP-Type TLS 13 + +# MS-Identity-Type Values + +VALUE MS-Identity-Type Machine-Health-Check 1 +VALUE MS-Identity-Type Ignore-User-Lookup-Failure 2 + +# MS-Quarantine-State Values + +VALUE MS-Quarantine-State Full-Access 0 +VALUE MS-Quarantine-State Quarantine 1 +VALUE MS-Quarantine-State Probation 2 + +# MS-Network-Access-Server-Type Values + +VALUE MS-Network-Access-Server-Type Unspecified 0 +VALUE MS-Network-Access-Server-Type Terminal-Server-Gateway 1 +VALUE MS-Network-Access-Server-Type Remote-Access-Server 2 +VALUE MS-Network-Access-Server-Type DHCP-Server 3 +VALUE MS-Network-Access-Server-Type Wireless-Access-Point 4 +VALUE MS-Network-Access-Server-Type HRA 5 +VALUE MS-Network-Access-Server-Type HCAP-Server 6 + +# MS-Extended-Quarantine-State Values + +VALUE MS-Extended-Quarantine-State Transition 1 +VALUE MS-Extended-Quarantine-State Infected 2 +VALUE MS-Extended-Quarantine-State Unknown 3 +VALUE MS-Extended-Quarantine-State No-Data 4 + +END-VENDOR Microsoft diff --git a/vendors/microsoft/generate.go b/vendors/microsoft/generate.go index c6633ad..0bac9af 100644 --- a/vendors/microsoft/generate.go +++ b/vendors/microsoft/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../../cmd/radius-dict-gen/main.go -package microsoft -output generated.go /usr/share/freeradius/dictionary.microsoft +//go:generate go run ../../cmd/radius-dict-gen/main.go -package microsoft -output generated.go dictionary.microsoft package microsoft diff --git a/vendors/mikrotik/dictionary.mikrotik b/vendors/mikrotik/dictionary.mikrotik new file mode 100644 index 0000000..fad5a8c --- /dev/null +++ b/vendors/mikrotik/dictionary.mikrotik @@ -0,0 +1,64 @@ +# MikroTik vendor specific dictionary +# Copyright (C) MikroTikls, SIA +# +# You may freely redistribute and use this software or any part of it in source +# and/or binary forms, with or without modification for any purposes without +# limitations, provided that you respect the following statement: +# +# This software is provided 'AS IS' without a warranty of any kind, expressed or +# implied, including, but not limited to, the implied warranty of +# merchantability and fitness for a particular purpose. In no event shall +# MikroTikls SIA be liable for direct or indirect, incidental, consequential or +# other damages that may result from the use of this software, including, but +# not limited to, loss of data, time and (or) profits. +# +# $Id: dictionary.mikrotik,v 1.8 2019/12/20 11:02:37 strods Exp $ +# +# MikroTik Attributes + +VENDOR Mikrotik 14988 + +BEGIN-VENDOR Mikrotik + +ATTRIBUTE Mikrotik-Recv-Limit 1 integer +ATTRIBUTE Mikrotik-Xmit-Limit 2 integer +ATTRIBUTE Mikrotik-Group 3 string +ATTRIBUTE Mikrotik-Wireless-Forward 4 integer +ATTRIBUTE Mikrotik-Wireless-Skip-Dot1x 5 integer +ATTRIBUTE Mikrotik-Wireless-Enc-Algo 6 integer +ATTRIBUTE Mikrotik-Wireless-Enc-Key 7 string +ATTRIBUTE Mikrotik-Rate-Limit 8 string +ATTRIBUTE Mikrotik-Realm 9 string +ATTRIBUTE Mikrotik-Host-IP 10 ipaddr +ATTRIBUTE Mikrotik-Mark-Id 11 string +ATTRIBUTE Mikrotik-Advertise-URL 12 string +ATTRIBUTE Mikrotik-Advertise-Interval 13 integer +ATTRIBUTE Mikrotik-Recv-Limit-Gigawords 14 integer +ATTRIBUTE Mikrotik-Xmit-Limit-Gigawords 15 integer +ATTRIBUTE Mikrotik-Wireless-PSK 16 string +ATTRIBUTE Mikrotik-Total-Limit 17 integer +ATTRIBUTE Mikrotik-Total-Limit-Gigawords 18 integer +ATTRIBUTE Mikrotik-Address-List 19 string +ATTRIBUTE Mikrotik-Wireless-MPKey 20 string +ATTRIBUTE Mikrotik-Wireless-Comment 21 string +ATTRIBUTE Mikrotik-Delegated-IPv6-Pool 22 string +ATTRIBUTE Mikrotik-DHCP-Option-Set 23 string +ATTRIBUTE Mikrotik-DHCP-Option-Param-STR1 24 string +ATTRIBUTE Mikortik-DHCP-Option-Param-STR2 25 string +ATTRIBUTE Mikrotik-Wireless-VLANID 26 integer +ATTRIBUTE Mikrotik-Wireless-VLANIDtype 27 integer +ATTRIBUTE Mikrotik-Wireless-Minsignal 28 string +ATTRIBUTE Mikrotik-Wireless-Maxsignal 29 string +ATTRIBUTE Mikrotik-Switching-Filter 30 string + +# MikroTik Values + +VALUE Mikrotik-Wireless-Enc-Algo No-encryption 0 +VALUE Mikrotik-Wireless-Enc-Algo 40-bit-WEP 1 +VALUE Mikrotik-Wireless-Enc-Algo 104-bit-WEP 2 +VALUE Mikrotik-Wireless-Enc-Algo AES-CCM 3 +VALUE Mikrotik-Wireless-Enc-Algo TKIP 4 +VALUE Mikrotik-Wireless-VLANIDtype 802.1q 0 +VALUE Mikrotik-Wireless-VLANIDtype 802.1ad 1 + +END-VENDOR Mikrotik diff --git a/vendors/mikrotik/generate.go b/vendors/mikrotik/generate.go index ea673c6..f0621bb 100644 --- a/vendors/mikrotik/generate.go +++ b/vendors/mikrotik/generate.go @@ -1,3 +1,5 @@ -//go:generate go run generate_main.go +// dictionary.mikrotik: https://wiki.mikrotik.com/wiki/Manual:RADIUS_Client/vendor_dictionary + +//go:generate go run ../../cmd/radius-dict-gen/main.go -package mikrotik -output generated.go dictionary.mikrotik package mikrotik diff --git a/vendors/mikrotik/generate_main.go b/vendors/mikrotik/generate_main.go deleted file mode 100644 index aff7643..0000000 --- a/vendors/mikrotik/generate_main.go +++ /dev/null @@ -1,96 +0,0 @@ -//+build ignore - -package main - -import ( - "bytes" - "encoding/json" - "errors" - "io" - "io/ioutil" - "log" - "net/http" - "regexp" - - "layeh.com/radius/dictionary" - "layeh.com/radius/dictionarygen" -) - -type ParseResponse struct { - Text map[string]string `json:"text"` -} - -type APIResponse struct { - Parse *ParseResponse `json:"parse"` -} - -var dictRe = regexp.MustCompile(`(?ms)^
$(.*)^
$`) - -func main() { - resp, err := http.Get(`https://wiki.mikrotik.com/api.php?page=Manual:RADIUS_Client/vendor_dictionary&action=parse&format=json`) - if err != nil { - log.Fatal(err) - } - defer resp.Body.Close() - - decoder := json.NewDecoder(resp.Body) - var apiResponse APIResponse - if err := decoder.Decode(&apiResponse); err != nil { - log.Fatal(err) - } - - pageContents := apiResponse.Parse.Text["*"] - dictContents := dictRe.FindStringSubmatch(pageContents)[1] - - parser := dictionary.Parser{ - Opener: restrictedOpener{ - "main.dictionary": []byte(dictContents), - }, - } - dict, err := parser.ParseFile("main.dictionary") - if err != nil { - log.Fatal(err) - } - - if len(dict.Vendors) != 1 || dict.Vendors[0].Number != 14988 { - log.Fatal("expected dictionary to contain vendor 14988") - } - - gen := dictionarygen.Generator{ - Package: "mikrotik", - } - generated, err := gen.Generate(dict) - if err != nil { - log.Fatal(err) - } - - if err := ioutil.WriteFile("generated.go", generated, 0644); err != nil { - log.Fatal(err) - } -} - -type restrictedOpener map[string][]byte - -func (r restrictedOpener) OpenFile(name string) (dictionary.File, error) { - contents, ok := r[name] - if !ok { - return nil, errors.New("unknown file " + name) - } - return &restrictedFile{ - Reader: bytes.NewReader(contents), - NameValue: name, - }, nil -} - -type restrictedFile struct { - io.Reader - NameValue string -} - -func (r *restrictedFile) Name() string { - return r.NameValue -} - -func (r *restrictedFile) Close() error { - return nil -} diff --git a/vendors/wispr/dictionary.wispr b/vendors/wispr/dictionary.wispr new file mode 100644 index 0000000..2404eaa --- /dev/null +++ b/vendors/wispr/dictionary.wispr @@ -0,0 +1,38 @@ +# -*- text -*- +# Copyright (C) 2019 The FreeRADIUS Server project and contributors +# This work is licensed under CC-BY version 4.0 https://creativecommons.org/licenses/by/4.0 +# +# dictionary.wispr +# +# VSAs originally by +# "James Underwood" +# +# Version: $Id: 1493c36545c061049a6ba0f004be8847a33519da $ +# +# For documentation on WISPr RADIUS attributes, see: +# +# Wi-Fi Alliance - Wireless ISP Roaming - Best Current Practices v1, +# Feb 2003, p 14 +# +# http://www.weca.net/OpenSection/downloads/WISPr_V1.0.pdf + +VENDOR WISPr 14122 + +# +# Standard attribute +# +BEGIN-VENDOR WISPr + +ATTRIBUTE WISPr-Location-ID 1 string +ATTRIBUTE WISPr-Location-Name 2 string +ATTRIBUTE WISPr-Logoff-URL 3 string +ATTRIBUTE WISPr-Redirection-URL 4 string +ATTRIBUTE WISPr-Bandwidth-Min-Up 5 integer +ATTRIBUTE WISPr-Bandwidth-Min-Down 6 integer +ATTRIBUTE WISPr-Bandwidth-Max-Up 7 integer +ATTRIBUTE WISPr-Bandwidth-Max-Down 8 integer +ATTRIBUTE WISPr-Session-Terminate-Time 9 string +ATTRIBUTE WISPr-Session-Terminate-End-Of-Day 10 string +ATTRIBUTE WISPr-Billing-Class-Of-Service 11 string + +END-VENDOR WISPr diff --git a/vendors/wispr/generate.go b/vendors/wispr/generate.go index bdeb549..7650f9f 100644 --- a/vendors/wispr/generate.go +++ b/vendors/wispr/generate.go @@ -1,3 +1,3 @@ -//go:generate go run ../../cmd/radius-dict-gen/main.go -package wispr -output generated.go /usr/share/freeradius/dictionary.wispr +//go:generate go run ../../cmd/radius-dict-gen/main.go -package wispr -output generated.go dictionary.wispr package wispr