On 23 Jan 2014, at 18:14, Alan DeKok <aland@deployingradius.com> wrote:
Arran Cudbard-Bell wrote:
Probably easiest just to add a VERSION keyword and check it's value against RADIUS_VERSION any time it's found in a dictionary.
Just adding VERSION to share/dictionary will solve most versioning issues.
Ugh. I'm not completely opposed to that solution, but it looks ugly to me.
The dict.c code shouldn't care much about the dictionaries, so long as they parse correctly. It's about separation of responsibilities.
If there's a parse error, well... it's always because someone screwed up the dictionary versions. Adding a more descriptive error won't help much here. The people who screw that up are likely to be the same people who don't read error messages.
Now the dictionary path is hardcoded there's probably not much point in doing this. I'm guessing the majority of versioning issues before were caused by people copying over old raddb/dictionary files into a new 3.0.0 config so it picked up the wrong dictionaries. Arran Cudbard-Bell <a.cudbardb@freeradius.org> FreeRADIUS Development Team FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2