################################## # Define the various data spaces # ################################## $set default atr_ofs=0 atr_size=1 # Defaults for the space(s) that follow # Note: the server uses space numbers 0-2 below as constants. If you change # them, you must update common/constants.h as well. $add space 0 UDP-PKT atr_size=0 $add space 1 RAD-PKT atr_size=0 # The fixed field space 'radius pkt' $add space 2 RAD-ATR # The attribute space 'radius attrs' $set default vnd_ofs=2 vnd_size=4 # Defaults for the following spaces $add space 3 RAD-EXT-VSA single=1 # Space for VSAs as seen from 'outside' $set default vnd_ofs=0 vnd_size=0 # Defaults for the following spaces single=1 $add space 4 RAD-VSA-STD # Space that applies inside std VSAs $add space 5 RAD-VSA-MULTI single=0 # Space inside multiple-attr VSAs $add space 6 RAD-VSA-NONSTD-2 atr_size=2 # Space inside 2-octet attr. VSAs $add space 7 RAD-VSA-NONSTD-4 atr_size=4 # Space inside 4-octet attr. VSAs $add space 8 RAD-VSA-NMC atr_size=4 # Space inside USR's "NMC" VSAs # The space for internal attributes. These never appear in actual packets. # This space's number is constant; update constants.h as well if you change it. # The same goes for space nrs. 1 and 2 (RAD-PKT and RAD-ATR, resp.), since # modules that don't read the dictionary may still need them. $add space 100 INTERNAL atr_ofs=0 atr_size=0 vnd_ofs=0 vnd_size=0 # Another internal space, designated for use by RadLDAP. # See subdicts/dict.str-ldap for details. $add space 102 STR-LDAP atr_ofs=0 atr_size=0 vnd_ofs=0 vnd_size=0 ######################################### # Include the table of IANA Vendor PECs # ######################################### $include subdicts/dict.vendors ########################################## # Define the fixed fields and attributes # ########################################## # # Attributes in space 100: internal attributes. Don't need encoding # properties. # $set default space=INTERNAL $include subdicts/dict.internal # # Attributes in space 102: string versions of standard attributes for use with # RadLDAP. Don't need encoding properties, just for use in the behaviour file. # $set default space=STR-LDAP $include subdicts/dict.str-ldap # # Fields in space 0: the received UDP packet # $set default space=UDP-PKT $add field 0 RAD-Packet len_ofs=2 len_size=2 len_adj=0 val_ofs=0 val_size=0 val_type=String vendor=x noenc=1 nodec=0 subspace=RAD-PKT # # Fields in space 1: the radius packet # $set default space=RAD-PKT vendor=x noenc=0 nodec=0 $add field 4 RAD-Attributes val_ofs=20 val_size=-20 val_type=String vendor=x noenc=1 nodec=1 subspace=RAD-ATR $add field 3 RAD-Authenticator val_ofs=4 val_size=16 val_type=String $add field 2 RAD-Length val_ofs=2 val_size=2 val_type=Integer noenc=1 $add field 1 RAD-Identifier val_ofs=1 val_size=1 val_type=Integer $add field 0 RAD-Code val_ofs=0 val_size=1 val_type=Integer # Values $set default item=RAD-Code $add value 1 Access-Request $add value 2 Access-Accept $add value 3 Access-Reject $add value 4 Accounting-Request $add value 5 Accounting-Response $add value 11 Access-Challenge $add value 12 Status-Server $add value 13 Status-Client # # Attributes in space 2: standard IETF radius attributes # $set default space=RAD-ATR $include subdicts/dict.stdauth $include subdicts/dict.stdacct $include subdicts/dict.rfc2869 $include subdicts/dict.tunnel # # Attributes in space 3: different variations of attribute 26 that # select particular subspaces # $set default space=RAD-EXT-VSA len_ofs=1 len_size=1 len_adj=0 val_ofs=6 val_size=-6 val_type=String nodec=1 noenc=0 # Basically, this says which subspace applies inside the VSAs of particular # vendors. Eg. If a vendor uses 2-octet attributes inside their VSAs, you'd use # $add attribute 26 VND-2-Octet-VSA vendor=VND subspace=RAD-VSA-NONSTD-2 #$add attribute 26 Strange-VSA vendor=Strange subspace=RAD-VSA-NONSTD-2 #$add attribute 26 Stupid-VSA vendor=Stupid subspace=RAD-VSA-NONSTD-2 #$add attribute 26 Worse-VSA vendor=Worse subspace=RAD-VSA-NONSTD-4 #$add attribute 26 Multi-VSA vendor=Another subspace=RAD-VSA-MULTI $add attribute 26 NMC-VSA vendor=USR subspace=RAD-VSA-NMC $add attribute 26 Normal-VSA vendor=Cisco subspace=RAD-VSA-STD $add attribute 26 Normal-VSA vendor=Microsoft subspace=RAD-VSA-STD $add attribute 26 Normal-VSA vendor=x subspace=RAD-VSA-STD # # Attributes in the vendor specific attribute spaces # # # Space 4: Standard VSAs $set default space=RAD-VSA-STD len_ofs=1 len_size=1 len_adj=0 val_ofs=2 val_size=-2 val_type=String nodec=0 noenc=0 $include subdicts/dict.cisco $include subdicts/dict.ascend #$include subdicts/dict.microsoft $add attribute x Unknown-Std-VSA vendor=x space=RAD-VSA-STD len_ofs=1 len_size=1 len_adj=0 val_ofs=2 val_size=-2 val_type=String nodec=0 noenc=0 # Space 5: Nonstandard multiple-attribute VSAs $set default space=RAD-VSA-MULTI len_ofs=1 len_size=1 len_adj=0 val_ofs=2 val_size=-2 val_type=String nodec=0 noenc=0 #$include subdicts/dict.vendor-with-multiattr-vsas $add attribute x Unknown-Multi-VSA vendor=x len_ofs=1 len_size=1 len_adj=0 val_ofs=2 val_size=-2 val_type=String nodec=0 noenc=0 # Space 6: Nonstandard 2-octet VSAs $set default space=RAD-VSA-NONSTD-2 len_ofs=2 len_size=1 len_adj=0 val_ofs=3 val_size=-3 val_type=String nodec=0 noenc=0 #$include subdicts/dict.strange #$include subdicts/dict.stupid $add attribute x Unknown-Nonstd-2-VSA vendor=x len_ofs=2 len_size=1 len_adj=0 val_ofs=3 val_size=-3 val_type=String nodec=0 noenc=0 # Space 7: Nonstandard 4-octet VSAs $set default space=RAD-VSA-NONSTD-4 len_ofs=4 len_size=1 len_adj=0 val_ofs=5 val_size=-5 val_type=String nodec=0 noenc=0 #$include subdicts/dict.worse $add attribute x Unknown-Nonstd-4-VSA vendor=x len_ofs=4 len_size=1 len_adj=0 val_ofs=5 val_size=-5 val_type=String nodec=0 noenc=0 # Space 8: (USR's) NMC VSAs $set default space=RAD-VSA-NMC len_ofs=0 len_size=0 len_adj=0 val_ofs=4 val_size=-4 val_type=String nodec=0 noenc=0 #$include subdicts/dict.usr $add attribute x Unknown-USR-VSA vendor=USR $add attribute x Unknown-NMC-VSA vendor=x # len_ofs=0 len_size=0 len_adj=0 # val_ofs=4 val_size=-4 val_type=String # nodec=0 noenc=0