2002/03/22 - 0.9.3: - Fix major bug in example behaviour files involving CHAP. It plainly didn't work at all. - Fixed bug in behaviour.sample-ldap-authbind, which would allow all non-PAP users in (that is, without checking any passwords). - Fix bug in dictionary that caused Accounting signature validation to fail. Corrected mix up of Acct-Authentic and Acct-Authenticator. - Included some test queries for PAP, CHAP and accounting for use with tools/radclient. - Changed server to use raddb as current directory for modules again, so that all configuration files are kept in one place. Modules' own configuration files are stored under raddb/modules now. Also fixes bug when using ASCII clients- and users files. 2002/03/20 - 0.9.2: - Added LDAP schema and ldif file with sample data; updated included example attribute mapping file; added proper example behaviour and configuration files for use with LDAP. - When (auto-)converting a decimal string attribute to a numeric one, and the string is not a valid number, we try to find lookup the value as a named constant for the string attribute. If found, that value is used instead. Handy for doing things like 'Framed-Protocol = str-Framed-Protocol', and allows to use constant names in LDAP different from our own. - Start modules using their own directory as cwd. This allows modules to operate without having absolute paths to their configuration files specified on their command lines. - Added elementary test command line client in tools/radclient. Reads list of ASCII A/V pairs on stdin (formatted as by ASCII modules) and displays pairs in response. Note that all attributes are sent as-is, including User-Password, and the response is not checked in any way, only displayed. Will add PAP/CHAP generator soon. - Plugged a couple of memory leaks; Mozilla's leaky tool doesn't show any now (thanks to dmelomed@devonitnet.com for pointing this out). - Fixed := operator bug that scribbled on memory when the instance assigned to was also referenced on right hand side. - Big makefile cleanup. Supports GNU Make only now. I've given in to the temptations of the slogan "don't bother with portable makefiles, use a portable make instead". Portable makefiles don't seem to be possible at all if you want to add text to variables (for making lists) and want to use a common settings file so you can call make in every subdirectory. - Added dictionary support for MS VSAs. - Merged fixes to make it run on Mac OS X, untested though. - Fixed (harmless) GCC warnings on LP64 platforms such as Alpha. 2001/12/08 - 0.9.1: - Added LDAP module. - Added some informational messages during server startup, to improve usefulness of '-d all', '-d misc -d recv' etc.; some other logging cleanups. - Prepended log lines with internal facility names. - Fixed bug caused by not emptying a channel's receive queue when its associated process dies. This caused the interface that the channel was associated with, not to recover gracefully from a subprocess restart. - Added some radius attributes to 'constants.h' to root and put it in the public domain, to facilitate module writing. - Put the Logger module (bourne shell script) in public domain as well. - BSD/SysV compatibility fixes: Made uint32_t / u_int32_t dependent on Make.conf setting; more Make.conf cleanups/fixes - Added more documentation for all modules. 2001/11/18 - 0.9: - Added a lot of language documentation. - Included the (bare) html files in the doc/html directory and generated the text files from that using lynx. The online docs are generated from them as well. - Some precedence table fixes in langcompile.c; moved 'hex', 'md5' together with other unary prefix operators (still lower because we have string-related ops always lower than integer ones); moved '.' just below lastof / firstof e.d. - Fixed minus handling for auto-radix numbers in meta_atoord; it used to require 0x-55 instead of -0x55. - Made 'statement' operators (interface calls, del, moveall etc). much more sane; they don't set the context to 'none' anymore so you can use them before closing a subexpression with ')'. They all leave something on the stack now. For del, delall and moveall, it's an int that reflects the number of pairs that were deleted resp. moved. - Removed the comma operator hack, which allowed it to be used in context 'none' as well, where it would emit a OP_NOP. Not needed anymore because no operator returns context 'none' anymore (except the comma operator itself, which only still exists as an unary postfix operator that emits OP_POP). - Made the pseudo-check items in dict.internal, that are likely to be returned by ascfile to be compared to request attributes rather than included in the actual reply, begin with a lowercase letter, so that you don't need to use REQ: all the time. Reflected that in example raddb/legacy/users as well. - Added unixpasswd module. Simple, but probably effective enough. - Also because of above, updated behaviour.sample and renamed to behaviour.sample-usersfile. Removed 'old', untested behaviour file. Kept configuration.old around, as it's slightly less misleading, although still just a more or less theoretic example, because most modules mentioned there still aren't written yet. Added DNS resolver example to it. Made behaviour.sample-unixpasswd the default one. - Fixed bug in config.c that caused behaviour file compilation errors to be ignored. - Makefile fixes in raddb/, modules/ and tools/. 2001/11/05 - v0.8: - Rirst public release. 2001/10/09 - v0.7: - First version that actually gets the name OpenRADIUS and a version number, as all of the core functionality is finally implemented.