Skip to content

Commit 38571c5

Browse files
committed
update docs and rename
after some thought (finally), it makes more sense to drop the "alias/foo.txt" names, and instead use "v3/dictionary.foo". It is now clearer that the names are for v3 compatibility.
1 parent cd752ea commit 38571c5

File tree

179 files changed

+60
-38
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+60
-38
lines changed

raddb/dictionary

Lines changed: 50 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -87,37 +87,43 @@
8787
#DEFINE My-Local-Integer integer
8888

8989
#
90-
# ## v3 Compatible names.
91-
#
92-
# All of the attributes have been renamed from v3. This change was
93-
# necessary in order to support new functionality in v4. The
94-
# unfortunate side effect of this change is that all of the names in
95-
# SQL, LDAP, and the "files" module are incompatible with v4.
96-
#
97-
# We recognize that is is difficult to change every entry in a
98-
# database, especially when there's no clear mapping between the
99-
# "old" and "new" names. This renaming is made more complex because
100-
# the "new" names need to be grouped and arranged in ways that the
101-
# old ones were not.
102-
#
103-
# The "old" names were all in flat lists, so that User-Name appeared
104-
# next to Cisco-AVPAir. This organization was simple enough to work
105-
# for 20 years, but its time has come. The new names are
106-
# hierarchical, so that the organization is nested by definition.
107-
#
108-
# For v4, the Cisco-AVPair attribute is called "AVPair", and it lives
109-
# inside of the "Cisco" namespace, which in turn lives inside of the
110-
# "Vendor-Specific" namespace. So the new name for Cisco-AVPair is
111-
# Vendor-Specific.Cisco.AVPair.
112-
#
113-
# This process continues for many thousands of vendor-specific
114-
# attributes.
115-
#
116-
# Happily, it is possible to (mostly) use the old names with v4.
117-
# There are limitations, but it will mostly work. The main reason
118-
# for enabling the old names is to try out v4 with a database that is
119-
# also used by v3. This lets you test that v4 works, without going
120-
# through a complex "upgrade everything" process.
90+
# ## v3 Compatibility and Migration
91+
#
92+
# By default, the server does NOT load the v3 names. While this
93+
# behavior is done to simplify the server configuration, it can also
94+
# make migration more difficult.
95+
#
96+
# If your system is using Vendor-Specific attributes from a
97+
# particular vendor, you can list those dictionaries below. The
98+
# server will then load the version 3 names, which makes migration
99+
# much simpler.
100+
#
101+
# For v4, all of the attributes have been renamed from v3. This
102+
# change was necessary in order to support new functionality. The
103+
# unfortunate side effect of this change is that all of the names
104+
# used by v3 in tje SQL, LDAP, and "files" module are incompatible
105+
# with v4.
106+
#
107+
# The problem with v3 was that names were all in flat lists, so that
108+
# User-Name appeared in the same to Cisco-AVPAir. This organization
109+
# was simple enough to work for 25 years, but its time has come. The
110+
# new names are hierarchical, which means they are organized into a
111+
# tree-like structure.
112+
#
113+
# For v4, the Cisco-AVPair attribute is now called "AVPair". It
114+
# lives inside of the "Cisco" namespace, which in turn lives inside
115+
# of the "Vendor-Specific" namespace. So the new name for
116+
# `Cisco-AVPair` is `Vendor-Specific.Cisco.AVPair`.
117+
#
118+
# These changes have been made for many hundreds of dictionary files,
119+
# and many thousands of Vendor-Specific attributes.
120+
#
121+
# In the interest of compatibility, is possible to use the old names
122+
# with v4. There are limitations, but it will generally work. The
123+
# main reason for enabling the old names is to try out v4 with a
124+
# database that is also used by v3. This lets you test that v4
125+
# works, without going through a complex "upgrade everything"
126+
# process.
121127
#
122128
# The old v3 names are in "alias" dictionaries, in the `${dictdir}`
123129
# directory. To find out where this directory is on your local
@@ -126,14 +132,14 @@
126132
# files are located.
127133
#
128134
# The v3 names are in `${dictdir}/radius/alias/VENDOR.txt` where
129-
# _VENDOR_ is the name of the vendor, which is taken from the `VENDOR`
130-
# definition in the v3 dictionaries.
135+
# _VENDOR_ is the name taken from the v3 `dictionary.VENDOR`.
131136
#
132-
# You will need to add a `$INCLUDE` line for each vendor-specific
133-
# dictionary which is used by your local system. The default v4
134-
# dictionaries do not enable all of v3 compatibility names.
137+
# You will need to edit the text below to add a `$INCLUDE` line for
138+
# each vendor-specific dictionary which is used by your local system.
139+
# The default v4 dictionaries do not enable all of v3 compatibility
140+
# names.
135141
#
136-
# Yes, we recognize that this process is a bit of work. However, we
142+
# We recognize that this process is a bit of work. However, we
137143
# wish to encourage everyone using v4 to upgrade to using the new v4
138144
# features. Our experience shows that if we automatically enable
139145
# "compatibility functions", then those compatibility functions will
@@ -142,10 +148,16 @@
142148
# ongoing support. Complex upgrades make ongoing support easier, but
143149
# also make it less likely that people will upgrade.
144150
#
151+
# Note that if you over-write the "v3/dictionary.VENDOR" files with a
152+
# copy of the v3 dictionary, then it won't work. Migrations across
153+
# major version numbers means that the configuration files are *not*
154+
# 100% compatible. This includes the dictionaries!
145155
#
146156
# All of the v3 compatibility names are in the RADIUS namespace.
157+
# There are no aliases for DHCPv4.
147158
#
148159

149160
#BEGIN-PROTOCOL RADIUS
150-
#$INCLUDE ${dictdir}/radius/alias/cisco.txt
161+
#$INCLUDE ${dictdir}/radius/v3/dictionary.cisco
162+
#$INCLUDE ${dictdir}/radius/v3/dictionary.aruba
151163
#END-PROTOCOL RADIUS

raddb/radiusd.conf.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -648,6 +648,8 @@ global {
648648
# Some of these flags can also be passed on the command line as
649649
# `-S flag=value`.
650650
#
651+
# Dictionary migration instructions can be found in `${raddbdir}/dictionary`.
652+
#
651653
migrate {
652654
#
653655
# rewrite_update:: Rewrite old `update` sections to use the new
Lines changed: 8 additions & 0 deletions
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)