2001-12-27 Sergey Poznyakoff

	* doc/MACHINES: (new)
	* doc/Makefile.am: Added MACHINES.
	* NEWS: Updated.
	* README: Updated.
	* THANKS: Updated.
	* configure.in: Version 0.96

	* radiusd/sql.c: Minor fix.
	* radscm/ttl.scm: Added descriptive comment.

	* doc/texinfo/radius.texi: Updated.
	* doc/texinfo/bugs.texi: Updated.
	* doc/texinfo/configure.texi: Updated.
	* doc/man/config.so.in: Updated.
	
2001-12-26 Sergey Poznyakoff

	* configure.in: Added EXPERIMENTAL mark for untested features.
	* radiusd/acct.c: Indentation changes.

	* radiusd/config.y: Put int fields at the start of %union,
	  otherwise they may be initialized improperly 
	  in config_kw.c:in_word_set:wordlist. Noticed on Spark.
	* radlib/radutmp.c: (rut_rewind): Fixed bug: did not
	  clear file->eof.

	* test/radiusd.m4: Capitalized test descriptions, fixed
	  a typo (een instead of en).
	* test/proxy.m4: Likewise.
	* test/test.sh.m4: Conditionally clear logs.
	* test/dejagnu/Makefile.am: Added *-stamp to DISTCLEANFILES.
	* test/proxy/client.conf.in: Use server IP 127.0.0.1.
	* test/raddb/client.conf.in: Likewise.
	* test/raddb/users.in: Typo.
	* test/shell/Makefile.am: Pass environment variables to
	  runtest.sh. Added *-stamp to DISTCLEANFILES.
		
	* test/shell/runtest.sh: Tested on various architectures and
	  fixed appropriately.
	* test/shell/shell.m4: Use cat instead of echo. The latter
	  handles escaped symbols inconsistently on different systems.
	
2001-12-25 Sergey Poznyakoff
	
	* NEWS: Updated
	* doc/texinfo/configure.texi: Updated.

	* radiusd/Makefile.am: Renamed libsnmp to libradsnmp to
	  avoid conflicts with other snmp libraries.
	* snmplib/Makefile.am: Likewise.
	
	Added shell-based test suite.

	* radtest/input.l: Use obstack instead of static array.
	
	* configure.in: Added test/shell/Makefile
	
	* test/Makefile.am: Added shell subdir
	* test/shell: New dir
	* test/shell/Makefile.am: (new)
	* test/shell/runtest.sh: (new)
	* test/shell/shell.m4: (new)
	* test/proto.m4: Do not use eval, some m4's (namely,
	  BSD's) do not implement it correctly.
	* test/proxy.m4: Use QUOTE and ESC instead of implicit
	  quotation marks and backslashes.
	* test/radiusd.m4: Likewise.
	* test/dejagnu.m4: Removed.
	* test/dejagnu/dejagnu.m4: Moved from ..
	* test/dejagnu/Makefile.am: Create radiusd and radiusd.proxy
	  subdirs.
	* test/raddb/menus/menu1: Simplified.
	* test/raddb/menus/menu2: Simplified.
	
2001-12-24 Sergey Poznyakoff

	* radlib/nas.c: Implemented DEFAULT keyword.
	* radiusd/stat.c: Do not update statistics for DEFAULT NASes.
	* db/db.m4: Added `active' field to `passwd' table. Proposed
	  by Robert Abbate.
	* raddb/sqlserver: Use passwd.active in auth_query. Use
	  %D instead ogf %G in acct_start_query.

	* configure.in: Raised patchlevel.
	
2001-12-22 Sergey Poznyakoff

	* radlib/util.c: (format_pair) Fixed a dumb error.

	* test/proto.m4: (new) Common m4 test suite defines.
	* test/Makefile.am: Added proto.m4.
	* test/dejagnu.m4: Modified.

	* test/raddb/sqlserver: Synchronized with /raddb/sqlserver.
	
2001-12-21 Sergey Poznyakoff

	Still more changes due to the removal of Queue-Id.
	
	* include/radsql.h: Changed protos of rad_sql_cleanup, and
	  rad_sql_setup.
	* radiusd/radiusd.c: Likewise.
	* radiusd/auth.c: Removed unnecessary kludge.
	* radiusd/sql.c: Modified (un)attach_sql_connection. The problem
	  is that sql functions can be called before rad_sql_setup,
	  therefore (un)attach_sql_connection must be prepared to create
	  a connection on the fly and release it immediately after
	  executing a query. This all connection stuff needs a good
	  rewrite.
	* TODO: Updated
	* radscripts/radctl.m4: Bugfix: continue in case context.
	  Reported by Markus Sander.
	
2001-12-21 Sergey Poznyakoff

	* NEWS: Updated.
	* db/config.m4: renamed username and password, they caused
	  too much quoting in *.m4 files.
	* db/mysql.m4: Likewise.
	* db/pgsql.m4: Likewise.

	Happily removed Queue-Id kludge (was introduced 2001-02-28).
	
	* include/radius.h: Added typedef qid_t. Added qid field to
	  RADIUS_REQ.
	* include/radsql.h: Removed typedef qid_t.
	* raddb/dictionary: Removed Queue-Id.
	* radiusd/auth.c: Removed DA_QUEUE_ID creation. Use
	  RADIUS_REQ->qid instead.
	* radiusd/sql.c: Likewise.
	* radiusd/files.c: Removed DA_QUEUE_ID-related code. Changed
	  function declarations accordingly.
	* radiusd/builddbm.c: Likewise.

2001-12-20 Sergey Poznyakoff
					 
	Reorganized test suite.
	
	* test/dejagnu/s.radiusd: removed
	* test/dejagnu/s.radiusd.proxy: removed

	* test/radiusd.m4: (new) Generic source file for basic tests.
	* test/proxy.m4: (new) Source file for proxy-related tests.
	* test/dejagnu.m4: (new) Dejagnu-specific definitions. 
	* test/Makefile.am: Reorganized.
	* test/dejagnu/Makefile.am: Removed s. directories
	* configure.in: Likewise. Increased patchlevel.
	* test/dejagnu/lib/radiusd.exp: Modified to better support
	  the new test suite layout.
	* radtest/input.l: Allow for newlines in strings.
	* test/test.sh.m4: Updated the copyleft header.
	
2001-12-19 Vlad Lungu
	
	* acconfig.h: Added ODBC-related stuff.
	* configure.in: Likewise.
	* include/radsql.h: Likewise.
	* radiusd/version.c: Likewise.
	* sql/Makefile.am: Likewise.
	* sql/disp.c: Likewise.
	* sql/odbc.c: (new)
	
2001-12-19 Sergey Poznyakoff

	Changes to make it work on alpha (thanks to
	David Friedman for providing access to the platform):
	
	* radiusd/rewrite.y: Lots of fixes to make it work
          on machines where sizeof(int) != sizeof(void*).
	* include/Makefile.am: Fixed relative paths.
	* include/snmp/snmp.h: Added include <string.h>
	* radlib/dict.c: Fixed suspicious int -> void* casts.
	  It upsets the gcc on alpha.

	* THANKS: Added David Friedman
	
	Security considerations:
	
	* radiusd/radius.c: More overflow checks.
	* radiusd/radiusd.c: (radreq_cmp) use sizeof insead of a hardcoded
	  constant.
	* radiusd/radutil.c: (obstack_grow_quoted) Extra precaution when
	  checking the signed value.

	New features:
	
	* radiusd/files.c: Allow to specify accounting port in
	  a realms entry. Syntax is: hostname[:auth-port:[acct-port]].
	* radtest/main.c: Honour checklist opcodes.
	* raddb/realms: Removed obsolete fourth field.

	New: proxy service check suite:
	
	* configure.in: Added new Makefiles.
	* test/Makefile.am: Added proxy subdir.
	* test/test.sh.m4: Lots of changes to allow for proxy test
	  suite.
	* test/dejagnu/Makefile.am: Added s.radiusd.proxy
	* test/dejagnu/lib/radiusd.exp: Pass arguments of
	  default_radiusd_start to the invocation of test.sh verbatim.
	* test/dejagnu/s.radiusd/Acct-stop.exp: Fixed typo.
	* test/raddb/Makefile.am: Removed realms, added realms.in
	* test/raddb/.cvsignore: Added realms.
	* test/raddb/realms: Removed.
	* test/raddb/realms.in: (new)
	* test/proxy/Makefile.am: (new)
	* test/proxy/client.conf.in: (new)
	* test/proxy/config.in: (new)
	* test/proxy/hints: (new)
	* test/proxy/huntgroups: (new)
	* test/proxy/realms.in: (new)
	* test/proxy/sqlserver: (new)
	* test/proxy/users: (new)
	* test/proxy/.cvsignore: (new)
	* test/dejagnu/s.radiusd.proxy: (new dir)
	* test/dejagnu/s.radiusd.proxy/Makefile.am: (new)
	* test/dejagnu/s.radiusd.proxy/Testlist: (new)
	* test/dejagnu/s.radiusd.proxy/Start.exp: (new)
	* test/dejagnu/s.radiusd.proxy/Auth.exp: (new)
	* test/dejagnu/s.radiusd.proxy/Nested.exp: (new)
	* test/dejagnu/s.radiusd.proxy/Prop.exp: (new)
	* test/dejagnu/s.radiusd.proxy/Acct-start.exp: (new)
	* test/dejagnu/s.radiusd.proxy/Acct-stop.exp: (new)
	* test/dejagnu/s.radiusd.proxy/Stop.exp: (new)
	* test/dejagnu/s.radiusd.proxy/.cvsignore: (new)
	
2001-12-18 Sergey Poznyakoff
	
	* radiusd/radius.c: (calc_acctdigest): Fixed possible buffer
	  overflow.
	  (radrecv): Fixed handling of Vendor-Specific attributes
          (a malformed attribute could have a length < 2).

2001-12-18 Sergey Poznyakoff

	* radiusd/radutil.c: Escape '\'', '"' and '\\' in radius_xlat.
	  Thanks to Michael Samuel for noticing.

	* radtest/gram.y: free unused memory.
	* radtest/main.c: Introduced positional parameters. Changed
	  invocation syntax: input filename must be specified with
	  -f (--file) option. This also toggles shell mode. Any
	  surplus words in the command line are assigned to positional
	  parameters.
	* radtest/radtest.h: Introduced positional parameters.
	* radtest/input.l: Introduced positional parameters.
	  Provided rudimentary default value substitution for
	  variables and positional parameters.
	
	* radscripts/radauth.m4: Reflect new radtest syntax.
	
	* autogen.sh: Print a reminder for first-time installers.
	* test/dejagnu/README: Fixed typos.

2001-12-16 Sergey Poznyakoff

	* README: Updated.
	* TODO: Updated.

	* include/radclient.h: Changed declaration of radlient_alloc:
	  first argument tells whether to read the configuration
	  file, second one sets the default source IP, third is the
	  buffer size.
	* radlib/client.c: Likewise.
	* client/pam_radius/pam_radius.c: Likewise.
	* radscm/radscm.c: Likewise.

	* radtest/main.c: Removed legacy "radtestrc" parsing. Added
	  new option, -S (--shell), for use with '#! prog' shell
	  mechanism.
	* radtest/input.l: Added '\' line continuation.
	* radtest/gram.y: print "expect failed" only if abort_on_failure
	  is true.
	
	* test/test.sh.m4: Removed -x option to radtest.

	* radscripts/Makefile.am: Combine all m4 defines into M4_DEFINES
	  make variable.
	* radscripts/radauth.m4: Use radtest.
	* radscripts/radscripts.m4: Changed quoting and comments to
	  improve readability.
	* radscripts/radctl.m4: Likewise.
	* radscripts/radgrep.m4: Likewise.
	* radscripts/radping.m4: Likewise.
	
2001-12-14 Sergey Poznyakoff

	* radscm/radsession.in: (new) Source for radsession script
	  (ex- session.scm).
	* radscm/session.scm: (removed)
	* radscm/.cvsignore: Added radsession
	* radscm/Makefile.am: Removed session.scm, added radsession.in.
	
	* README: Updated to reflect introduction of radsession.
	* doc/texinfo/client.texi: Likewise.
	
	* configure.in: Raised patchlevel.
	
2001-12-14 Sergey Poznyakoff

	* configure.in: Do not display --enable-notify with help
	  output.
	* raddb/Makefile.am: Create dict and menu subdirs if necessary.
	* radscripts/radping.m4: Give -n switch to radwho.
	
	* radtest/input.l: Changed radtest prompt to "radtest>".
	* test/dejagnu/lib/radiusd.exp: Likewise.
	
	* README: Updated.
	
	* doc/texinfo/*.texi: Updated.
	
2001-12-13 Sergey Poznyakoff

	* radiusd/radiusd.c: Added --directory switch for compatibility
	  with other utilities.
	* raduse/raduse.c: Untabify.

	* scripts/texi2html: Fixed processing of @multitable (@item and
	  @tab on a single line) and @example-like statements.
	
	* doc/man/config.so.in: Updated.
	* doc/man/builddbm.8.man: Updated.
	* doc/man/radctl.8.man: Updated.
	* doc/man/radgrep.1.man: Updated.
	* doc/man/radiusd.8.man: Updated.
	* doc/man/radlast.1.man: Updated.
	* doc/man/radping.8.man: Updated.
	* doc/man/raduse.1.man: Updated.
	* doc/man/radwho.1.man: Updated.
	* doc/man/radzap.8.man: Updated.
	* doc/man/template: Updated.
	
	* doc/texinfo/bugs.texi: Updated.
	* doc/texinfo/builddbm.texi: Updated.
	* doc/texinfo/extensions.texi: Updated.
	* doc/texinfo/invoke.texi: Updated.
	* doc/texinfo/naming.texi: Updated.
	
	* doc/texinfo/index.html.in: Updated.
	
2001-12-12 Sergey Poznyakoff

	* radiusd/radiusd.c: (reread_config): Use rad_flush_queues()
	  instead of flush_request_list().
	  (rad_flush_queues): Call rad_child_cleanup() after each
	  flush_request_list() to clean up the children remains.
	
	* NEWS: Updated
	* client/nas/nas.rc: Updated.
	
	* doc/texinfo/client.texi: (new)
	* doc/texinfo/Makefile.am: Added client.texi
	* doc/texinfo/attributes.texi: Updated.
	* doc/texinfo/configure.texi: Updated.
	* doc/texinfo/extensions.texi: Updated.
	* doc/texinfo/invoke.texi: Updated.
	* doc/texinfo/logging.texi: Updated.
	* doc/texinfo/operation.texi: Updated.
	* doc/texinfo/programs.texi: Updated.
	
2001-12-11 Sergey Poznyakoff

	* THANKS: Added Dave Restall.
	* TODO: Updated.
	
	* configure.in: new options: --with-log-dir and --with-pid-dir
	
	* include/radiusd.h: Declaration of acct_detail.
	* radiusd/radiusd.c: Likewise.
	* radiusd/acct.c: Do not do detailed accounting if
	  acct_detail == 0.
	* radiusd/config.y: handle detail statement in acct block.
	
	* raddb/config.syntax: Added sample acct/detail statement.
	
	* doc/texinfo/acct.texi: Updated.
	* doc/texinfo/attributes.texi: Updated.
	* doc/texinfo/auth.texi: Updated.
	* doc/texinfo/bugs.texi: Updated.
	* doc/texinfo/configure.texi: Updated.
	* doc/texinfo/extensions.texi: Updated.
	* doc/texinfo/naming.texi: Updated.

	* raddb/Makefile.am: Move dictionary.* to dict/*
	* raddb/dictionary: Likewise.
	* test/raddb/Makefile.am: Likewise.
	
	* raddb/dictionary.merit: (removed) Duplicates raddb/dictionary.
	* raddb/dictionary.ascend: (removed)
	* raddb/dictionary.cisco: (removed)
	* raddb/dictionary.compat: (removed)
	* raddb/dictionary.livingston: (removed)
	* raddb/dictionary.tunnel: (removed)
	* raddb/dictionary.usr: (removed)
	* raddb/dictionary.voip: (removed)
	* raddb/dict: (new dir)
	* raddb/dict/ascend: (new)
	* raddb/dict/cisco: (new)
	* raddb/dict/livingston: (new)
	* raddb/dict/usr: (new)
	* raddb/dict/ascend.vs: (new)
	* raddb/dict/compat: (new)
	* raddb/dict/tunnel: (new)
	* raddb/dict/voip: (new)
	
2001-12-10 Sergey Poznyakoff
	   
	* Makefile.am: Added rules for generating web documentation
	  archive.
	* doc/texinfo/Makefile.am: Likewise.
	* doc/texinfo/index.html.in: (new) Template for creating
	  online documentation page.
	
2001-12-08 Sergey Poznyakoff

	* radlib/util.c: Print integer attributes as unsigned.
	
	* doc/texinfo/config.texi: New macro defattr.
	* scripts/texi2html: Correctly handle defattr macro.
	
	* doc/texinfo/extensions.texi: Updated
	
2001-12-06 Sergey Poznyakoff

	* doc/texinfo/attributes.texi: Restructured; Documented
	  new attributes.
	* raddb/dictionary: Fixed additivity of Pam-Auth and
	  Auth-Data attributes: both must be '=' (replace)
	
2001-12-05 Sergey Poznyakoff

	* Makefile.am: Fixed invocation of debugmod.
	* radlib/debug.c: Fixed declaration of set_debug_levels.
	
2001-12-03 Sergey Poznyakoff

	* doc/texinfo/configure.texi: Updated.
	* doc/texinfo/extensions.texi: Updated.
	
	* include/radiusd.h: Changed proto of rewrite_parse().
	* radiusd/files.c: Likewise.
	* radiusd/radiusd.c: New option to test_shell: 's' (source).
	  Causes parsing of the specified rewrite source file.
	* radiusd/rewrite.y: Changed declaration of rewrite_parse to
	  take the source file name as an argument.
	  Fixed awful bug in `if' production: it did not generate
	  the nop matrix for the jump from the true branch. This caused
	  the jump target to remain unresolved. Strange no one has noticed
	  it before.
	  Another bug: when loading function arguments in interpret,
	  parm was incremented instead of following the `next' link. As
	  a result, interpret worked only for zero to single argument
	  functions. Luckily, this can be noticed only when running a
	  function from the test shell.
	
2001-12-03 Sergey Poznyakoff

	* NEWS: Fixed typo.
	* doc/texinfo/config.texi: New macro @AVP{} for A/V pair.
	* doc/texinfo/attributes.texi: Updated.
	* doc/texinfo/configure.texi: Updated.
	* doc/texinfo/extensions.texi: Updated.
	* doc/texinfo/operation.texi: Updated.
	* doc/texinfo/programs.texi: Updated.
	* doc/texinfo/radius.texi: Updated.
	
	* radscm/rscm_avl.c: Renamed avl-match to avl-match?. Fixed memory
	  leak in rscm_avl_delete.
	* test/raddb/auth.scm: Renamed avl-match to avl-match?
	
	* test/dejagnu/lib/radiusd.exp: Split radius_test into two
	  procedures. default_radius_test returns the error code,
	  radius_test calls it and prints diagnostics if necessary.
	* test/dejagnu/s.radiusd/Stress.exp: (new) The stress test. Run
	  a number of authentications as quickly as possible.
	* test/dejagnu/s.radiusd/Makefile.am: Added Stress.exp. Pass CMD
	  to AWK when handling `all' goal. 
	* test/dejagnu/s.radiusd/Testlist: Added Stress.exp
	
2001-12-01 Sergey Poznyakoff

	Updated and restructured documentation:
	
	* doc/texinfo/programs.texi: (new)
	* doc/texinfo/extensions.texi: (new)
	* doc/texinfo/Makefile.am: Added new files.
	* doc/texinfo/*.texi: Updated.

	* TODO: Updated.
	* raddb/dictionary: For consistency, changed C flag to L.
	
2001-11-29 Sergey Poznyakoff
	
	* include/parser.h: Namespace normalization.
	* include/radius.h: Likewise.
	* radiusd/files.c: Likewise.
	* radiusd/radck.c: Likewise.
	* radlib/dict.c: Likewise.
	* radlib/users.y: Likewise.

	Added docs for huntgroups. Many formatting changes:

	* doc/texinfo/*.texi
	
	* scripts/texi2html: Changed to properly handle new texinfo
	macros.
	
2001-11-28 Sergey Poznyakoff

	* test/dejagnu/README: (new) Instructions for remote
	  testing of the package.
	* radiusd/config.y: Call scheme_end_reconfig() after
	  reading the confguration.
	* radiusd/radiusd.c: Removed extra_arg kludge. It is 
	  passed as argument now.
	* radiusd/scheme.c: Pass the argument to rad_mainloop().
	  scheme_end_reconfig(): new function. Call gc immediately
	  after the reconfiguration.

	* doc/texinfo/configure.texi: Documented broken_pass, huntgroups
	  and realms.
	* doc/texinfo/operation.texi: Documented huntgroups.
	* include/envar.h: New functions: envar_lookup_str() and
	envar_lookup_int().
	* radlib/envar.c: Likewise.
	* radiusd/checkrad.c: Use envar_lookup_str() and envar_lookup_int().
	* radiusd/files.c: Introduced 'quota=' flag for raddb/realms. Old
	quota syntax is retained for compatibility.
	
	* TODO: Updated.
	
2001-11-27 Sergey Poznyakoff

	Interoperation between Guile and Rewrite. The support for
	this is split between two modules: radscm/rscm_rewrite.c
	contains Guile interface functions, radiusd/rewrite.y
	contains Rewrite internal functions.
	The interoperation is currently one-way: Guile programs
	may invoke Rewrite functions, but not vice-versa.
	
	* configure.in: Use libservscm.a instead of libradlog.a.
	* radscm/Makefile.am: Likewise. Added rscm_rewrite.c
	* radscm/rscm_rewrite.c: (new) Interface for invoking
	  Rewrite functions from within Guile.

	* radiusd/radiusd.c: test_shell: new command 'g': invoke
	  guile read-eval-print loop.
	* radiusd/scheme.c: Call scm_init_load_path() before calling
	  radscm_init().
	  New function scheme_read_eval_loop().
	
	* radiusd/rewrite.y: Allow for recursive invocations of
	  run_init/va_run_init/interpret.
	  Added Guile interface functions.

	* radscm/rscm_radlog.c: Added documentation strings.
	* radscm/rscm_syslog.c: Likewise.
	* radscm/ttl.scm: Return Reply-Message if the account has
	  expired.
	
2001-11-27 Sergey Poznyakoff

	Unified header comments. 

2001-11-27 Sergey Poznyakoff

	* m4/guile.m4: One more fix regarding GUILE_INCLUDES and
	  GUILE_LIBS.
	* configure.in: Added libradlog.a to LIBRADSCM.
	* radiusd/scheme.c: Call rscm_radlog_init().
	* radscm/rscm_radlog.c: (new) Scheme interfaces to server's
	  logging functions.
	* radscm/Makefile.am: New goal: libradlog.a. Contains
	  scheme interfaces to server's logging functions.
	* radscm/rscm_syslog.c: static parse_facility.
	* radscm/ttl.scm: Use rad-log instead of ttl-syslog.
	* scripts/config-conv.awk: Modified to delete from the input
	  obsolete `notify' statements.
	* test/raddb/auth.scm: Use rad-log instead of display.
	
2001-11-26 Sergey Poznyakoff

	* m4/guile.m4: Fixed bug: GUILE_INCLUDES and GUILE_LIBS were not
	  set if the information was cached.
	* scripts/mktest.awk: Use double backslash to escape a dot
	  (inside a quoted string).
	* radiusd/files.c: Allow for multiple Match-Profile attributes.
	* radiusd/scheme.c: Removed scheme_load_path().
	* radscm/rscm_lib.c: Added rscm_add_load_path() (from
	  radiusd/scheme.c). Add DATADIR to load path by default.
	* radscm/radscm.h: Added rscm_add_load_path().
	* radscm/rscm_syslog.c: Check the argument before passing it
	  to parse_facility().
	* test/test.sh.m4: Fixed quoting bugs.
	* test/dejagnu/.cvsignore: Added remote.exp.
	
	Provide basic support for computing the session timeout in real-
	time. This obsoletes old `ttl notification' support. Requires
	guile.
	
	* radscm/ttl.scm: Support for real-time session timeout
	  calculation.
	* radscm/Makefile.am: Added ttl.scm
	
	Removed old `notify' support.
	
	* configure.in: Emit warning if --enable-notify is used.
	* acconfig.h: Removed USE_NOTIFY
	* radiusd/version.c: Likewise.
	* radiusd/notify.c: (removed)
	* radiusd/Makefile.am: Removed notify.c
	* include/radiusd.h: Removed notify-related stuff.
	* radiusd/acct.c: Likewise.
	* radiusd/auth.c: Likewise.
	* raddb/config.syntax: Likewise.
	* doc/texinfo/configure.texi: Likewise.
	* radiusd/config.y: Display warning on encountering `notify'
	  statements. Use rscm_add_load_path().
	
2001-11-25 Sergey Poznyakoff
					 
	* m4/guile.m4: Control guile version. It should be >= 1.4
	* m4/rx.m4: Rewritten basing on Jim Meyering's jm_INCLUDED_REGEX.
	* configure.in: Use rad_REPLACE_REGEX.
	* test/dejagnu/lib/radiusd.exp: Bugfix.
	* test/dejagnu/s.radiusd/Makefile.am: Bugfix.

2001-11-25 Sergey Poznyakoff

	Support for remote testing.

	* configure.in: RADTEST and TESTDIR are no longer relevant. Removed.
	* radscripts/Makefile.am: Removed radtest.
	* radscripts/.cvsignore: Likewise.
	* radscripts/radtest.m4: (removed)

	* test/test.sh: Removed.
	* test/test.sh.m4: (new) Source for test.sh
	* test/Makefile.am: Added rule for building test.sh
	* test/.cvsignore: Added test.sh
	* test/dejagnu/Makefile.am: Added explicit rules for creating
	  site.exp and remote.exp.
	* test/dejagnu/lib/radiusd.exp: Support for remote testing.
	* test/dejagnu/s.radiusd/Makefile.am: awk invocation: pass $(srcdir)
	  instead of `pwd`.
	
2001-11-23 Sergey Poznyakoff

	Compatibility issues:

	* doc/man/Makefile.am: Use $? instead of $<. (Sun make expands
	  the latter to an empty string when it is used in an explicit
	  rule).
	* m4/rx.m4: Added --with-included-regex switch (Sun's regex
	  is badly broken).
	* radlib/rx.c: Remove typecast to __compar_fn_t, it may not
	  be defined.
	* radscm/rscm_utmp.c: Removed unneeded include.
	* scripts/mktest.awk: Escape +, even when used at a start of
	  a regexp (nawk bails out at it).
	* test/dejagnu/s.radiusd/Makefile.am: Use $? instead of $<.
	  Add a space between -v and its argument in the invocation
	  of awk (nawk silently ignores -vVAR assignment).
	  Pass regexp to sed as one string.

	(Thanks to sun for providing us with all this headache).
	
2001-11-23 Sergey Poznyakoff

	* NEWS: Fixed inconsistency in description of
	  Scheme-Acct-Procedure attribute.
	* raddb/dictionary: Missed values for Strip-User-Name.
	* radiusd/files.c: Removed huntgroup_paircmp(). Use paircmp
	  instead.
	* radiusd/radiusd.c: Added '/' and '\' to the list of symbols,
	  allowed in a username.
	  Modified test_shell() to use argcv_get() when necessary.
	* doc/texinfo/configure.texi: Added '/' and '\' to the list of
	  symbols, allowed in a username.
	* radscm/Makefile.am: Pass AWK envariable to guile_doc_snarf.
	* radtest/main.c: Clean up reply_list and reply_code _before_
	  sending the request. This way the old replies won't be reused if
	  send fails.
	
	* snmplib/snmp_sess.c: Reordered includes. Previous version
	  wouldn't compile on FreeBSD.

	* test/dejagnu/s.radiusd/Huntgroups.exp: (new) Test huntgroups.
	* test/dejagnu/s.radiusd/Rewrite.exp: (new) Test rewrite
	  functions.
	* test/dejagnu/s.radiusd/Makefile.am: Added Huntgroups.exp and
	  Rewrite.exp
	* test/dejagnu/s.radiusd/Testlist: Likewise.

	* test/raddb/clients: Added two new nases for testing huntgroups
	  and rewriting rules.
	* test/raddb/naslist: Likewise.
	* test/raddb/huntgroups: Set up for Huntgroups.exp and
	  Rewrite.exp.
	* test/raddb/users.in: Likewise.

	Avoid duplication of files in test/raddb. We leave here only
	the files that are special to testsuite, all the rest is copied/
	linked from /raddb. Thus we are always testing the actual
	configuration files (and save space in distribution tarball).

	* test/raddb/checkrad.conf: (removed) A leftover from the old
	  days.
	* test/raddb/dictionary: (removed)
	* test/raddb/dictionary.ascend: (removed) 
	* test/raddb/dictionary.cisco: (removed) 
	* test/raddb/dictionary.compat: (removed) 
	* test/raddb/dictionary.livingston: (removed) 
	* test/raddb/dictionary.merit: (removed) 
	* test/raddb/dictionary.tunnel: (removed) 
	* test/raddb/dictionary.usr: (removed) 
	* test/raddb/dictionary.voip: (removed) 
	* test/raddb/nastypes: (removed) 
	* test/raddb/rewrite: (removed) 
	* test/raddb/Makefile.am: Removed unneeded files. Added goals
	  for building needed ones.
	* test/raddb/.cvsignore: Added built files.
	
2001-11-22 Sergey Poznyakoff

	* test/dejagnu/s.radiusd/Scheme-acct.exp: (new) Check scheme
	  accounting.
	* test/dejagnu/s.radiusd/Hint.exp: (new) Check hints.
	* test/dejagnu/s.radiusd/Makefile.am: Added Hint.exp and
	  Scheme-acct.exp.
	* test/dejagnu/s.radiusd/Testlist: Likewise.
	
	* test/raddb/acct.scm.in: (new) Source for acct.scm: procedure for
	  testing scheme accounting.
	* test/raddb/Makefile.am: Added acct.scm.in
	* test/raddb/naslist: Likewise.
	* test/raddb/auth.bin: Fixed description line.
	* test/raddb/auth.scm: Added copyright statement and description.
	* test/raddb/users.in: Set up for new tests.
	* test/raddb/clients: Updated.
	* test/raddb/naslist: Updated.
	* test/raddb/config.in: Provide default logging channel. Load
	  acct.scm when in scheme mode.
	* test/raddb/hints: Set up for Hint.exp
	
	* doc/texinfo/attributes.texi: Use @ref for standalone references.
	* doc/texinfo/configure.texi: Fixed invalid @ref usage.

	* radiusd/scheme.c: Be more verbose in diagnostics.
	* radtest/gram.y: Removed excessive debugging output.

	* test/test.sh: Syntax cleanup.
	* test/dejagnu/Makefile.am: Removed runtest flags.
	* test/dejagnu/lib/radiusd.exp: proc radius_test if -message
	  is not specified, use command instead.
	
	* test/dejagnu/s.radiusd/Acct-start.exp: Split long lines
	* test/dejagnu/s.radiusd/Acct-stop.exp: Likewise.
	* test/dejagnu/s.radiusd/Auth.exp: Likewise.
	* test/dejagnu/s.radiusd/Begin.exp: Likewise.
	* test/dejagnu/s.radiusd/Default.exp: Likewise.
	* test/dejagnu/s.radiusd/Match.exp: Likewise.
	* test/dejagnu/s.radiusd/Menu.exp: Likewise.
	* test/dejagnu/s.radiusd/Reply.exp: Likewise.
	* test/dejagnu/s.radiusd/Scheme.exp: Likewise.

2001-11-22 Sergey Poznyakoff

	* test/dejagnu/s.radiusd/Match.exp: (new) Test Match-Profile attr.
	* test/dejagnu/s.radiusd/Scheme.exp: (new) Test Scheme-Procedure attr.
	* test/dejagnu/s.radiusd/Makefile.am: Added Match.exp and
	  Scheme.exp.
	* test/dejagnu/s.radiusd/Testlist: Likewise.
	* test/dejagnu/.cvsignore: Updated.
	
	* test/raddb/auth.scm: (new) Scheme script to test
	  Scheme-Procedure attribute
	* test/raddb/Makefile.am: Added auth.scm
	* test/raddb/config.in: Added (conditional) guile block
	* test/raddb/users.in: More tests.
	
	* test/test.sh: --guile option.
	* test/dejagnu/lib/radiusd.exp: Pass --guile to test.sh
	  invocation if radiusd supports server guile.
	* test/dejagnu/s.radiusd/Default.exp: Changed NAS IPs to use.
	
	* radscm/rscm_avl.c: avl-merge(): Allow both arguments to
	  be empty lists.
	* radscm/rscm_lib.c: radscm_list_to_avl(): Allow for SCM_EOL
	  input parameter.
	
2001-11-21 Sergey Poznyakoff

	Further modification to the testsuite. Since the tests in
	subdirectories should be executed in proper order, they
	are given names per following scheme: NNN<NAME>.exp, where
	NNN is ordinal test number, NAME is the test name. However,
	the ordinal numbers are subject to changes with addition
	(or removal) of the tests. This makes it hard to keep the
	files in CVS. To overcome this difficulty, the following
	approach is used:
	 1. The files NAME.exp are kept in the directories named
	    s.TOOLNAME.
	 2. Each s.TOOLNAME directory contains Makefile.am with
	    `all' goal aimed to create a corresponding TOOLNAME directory
	    and populate it with properly numbered NAME.exp files.
	    The file Testlist contains the list of tests in proper order.
	    /scripts/mktest.awk is used to number tests.
	 3. Only s-directories are included in the distribution and are
	    kept under CVS.
	
	* test/dejagnu/radiusd/*: Removed
	* test/dejagnu/s.radiusd: (new)
	* test/dejagnu/s.radiusd/Makefile.am: (new)
	* test/dejagnu/s.radiusd/.cvsignore: (new)
	* test/dejagnu/s.radiusd/Testlist: (new)
	  New tests:
	* test/dejagnu/s.radiusd/Start.exp: Start up the server/radtest 
	* test/dejagnu/s.radiusd/Auth.exp:  Basic authentication types
	* test/dejagnu/s.radiusd/Begin.exp: BEGIN keyword
	* test/dejagnu/s.radiusd/Default.exp: DEFAULT keyword
	* test/dejagnu/s.radiusd/Access.exp: access.deny list
	* test/dejagnu/s.radiusd/Reply.exp: reply pairs
	* test/dejagnu/s.radiusd/Menu.exp: Livingston menus
	* test/dejagnu/s.radiusd/Acct-start.exp: Start messages &
	  Simultaneous-Use
	* test/dejagnu/s.radiusd/Acct-stop.exp: Stop messages &
	  Simultaneous-Use
	* test/dejagnu/s.radiusd/Execwait.exp: Exec-Program-Wait
	  attribute
	* test/dejagnu/s.radiusd/Stop.exp: Shut the server down.

	* configure.in: Use s.radiusd instead of radiusd.
	* scripts/mktest.awk: Modified. 
	* test/Makefile.am: Temporarily commented out TESTS assignment.
	* test/findport.c: Substitute %u in format string with user
	  login name (useful for testing Exec-Program attributes).
	* test/test.sh: Modified EXPR. Zero out logfiles before starting.
	* test/dejagnu/.cvsignore: Added radiusd
	* test/dejagnu/Makefile.am: Use s.radiusd instead of radiusd.
	* test/dejagnu/lib/radiusd.exp: Added missing global to
	  proc radiusd_version.

	* test/raddb/users: removed.
	* test/raddb/users.in: (new) template for test suite users file.
	* test/raddb/auth.bin: (new): Test program for testing
	  Exec-Program-Wait attribute.
	* test/raddb/Makefile.am: Added auth.bin, users.in. Removed
	  users.
	* test/raddb/.cvsignore: Added users file.
	* test/raddb/access.deny: Added username for testing.	
	* test/raddb/config.in: Added exec-program-user and debugging
	  statements.
	
	* raddb/dictionary: Fixed properties of Add-Port-To-IP-Address
	  attribute.
	* test/raddb/dictionary: Likewise.
	
2001-11-21 Sergey Poznyakoff
	
	* configure.in: AC_OUTPUT test/dejagnu/radiusd/Makefile
	* radlib/client.c: radclient_build_request(): Check the length
	  of string value before writing it into packet.

	* radtest/radtest.h: Store strings as string objects, not as
	  statically allocated arrays.
	* radtest/input.l: Likewise.
	* radtest/main.c: Likewise.
	* radtest/gram.y: Likewise.
	  Added n[attr*] notation to return the concatenated string value
	  of all attributes of type attr in the packet.

	* scripts/mktest.awk: (new) Rename test modules so that they are
	  executed in proper order.
	* scripts/Makefile.am: Added mktest.awk.
	* test/test.sh: New options --srcdir and builddir
	* test/dejagnu/Makefile.am: Added radiusd to subdirs
	* test/dejagnu/lib/radiusd.exp: Further improvements.
	* test/raddb/users: Rewritten.
	* test/raddb/menus/menu1: Removed leading whitespace from the menu
	  text. This makes it easier for testing.
	* test/raddb/menus/menu2: Likewise.

	* test/dejagnu/radiusd/Makefile.am: (new)
	* test/dejagnu/radiusd/Testlist: (new)
	* test/dejagnu/radiusd/Auth.in: (new) Test of basic authentication
	  types.
	* test/dejagnu/radiusd/Menu.in: (new) Test of Livingston menus.
	* test/dejagnu/radiusd/Reply.in: (new) Test of reply values.
	* test/dejagnu/radiusd/Start.in: (new) Start the daemon.
	* test/dejagnu/radiusd/Stop.in: (new) Stop the daemon.
	
2001-11-20 Sergey Poznyakoff
	
	* radtest/gram.y: Simplified syntax. Implemented full
	  EXPECT command.
	* radtest/input.l: Added EXIT keyword.
	* radtest/main.c: radtest_send(): free previously allocated
	  reply_pairs. Added compare_lists() and new global: reply_list.
	* radtest/radtest.h: New globals: reply_list and abort_on_failure.

	* test/test.sh: Fixed for use with both test suites.
	* test/dejagnu/lib/radiusd.exp: Lots of changes.
	* test/dejagnu/lib/.cvsignore: (new)
	* test/dejagnu/radiusd: (new) Test modules for radiusd

2001-11-16 Sergey Poznyakoff

	* test/dejagnu/Makefile.am: Specify tool explicitly.   
	* test/dejagnu/lib/radiusd.exp: (new)
	* test/dejagnu/lib/Makefile.am: (new)
	* configure.in: AC_OUTPUT test/dejagnu/lib/Makefile
	
	* radiusd/version.c: Print help/license on stdout, instead of
	  stderr.
	* radlast/radlast.c: Likewise
	* radtest/main.c: Likewise
	
2001-11-15 Sergey Poznyakoff

	* configure.in: Incremented patchlevel.
	* test/dejagnu/Makefile.in: removed
	* test/dejagnu/Makefile.am: (new)
	* test/dejagnu/.cvsignore: Updated
	  
2001-11-15 Sergey Poznyakoff

	* NEWS: Updated

	Added dejagnu test suite framework. Removed radctl.rc
	from the test suite.
	
	* configure.in: Added test/guile/Makefile and
	  test/dejagnu/Makefile
	* test/test.scm: (removed).
	* test/guile: new directory
	* test/guile/Makefile.am: (new)
	* test/guile/test.scm: (new) Moved from ..
	* test/dejagnu: new dir
	* test/dejagnu/Makefile.in: (new)
	* test/dejagnu/.cvsignore: (new)
	* test/dejagnu/lib: (new)
	* test/Makefile.am: Added new subdirs: guile and dejagnu.
	  Removed raddb/radctl.rc dependencies. Added those for
	  raddb/client.conf.in.
	* test/test.sh: Reflect changes in subdir layout.
	* test/raddb/radctl.rc.in: Removed.
	* test/raddb/client.conf.in: (new)
	* test/raddb/Makefile.am: Removed radctl.rc.in, added
	  client.conf.in.
	* test/raddb/.cvsignore: Likewise. 
	* test/guile/.cvsignore: (new)
	* radtest/.cvsignore: Updated.

	* doc/texinfo/attributes.texi: Expanded tabs
	* doc/texinfo/configure.texi: Likewise

2001-11-15 Sergey Poznyakoff

	* Makefile.am: Added radtest.
	* configure.in: Likewise.
	* scripts/debug.sh: Removed TOPDIR. SKEL should always be
	  passed as an absolute pathname.

	* radtest/radtest.c: Removed.
	* radtest/Makefile.am: Removed radtest.c
	* radtest/main.c: Inserted code from radtest.c. Implemented
	  -t, -r and -s switches.

	* radlib/client.c: radclient_alloc(): Read client.conf file.
	  This allows the same configuration to be shared between
	  all client programs.
	* client/pam_radius/pam_radius.c: Removed parsing of
	  client.conf
	* client/pam_radius/client.conf: Removed.
	* client/pam_radius/Makefile.am: Removed rules for client.conf.
	* raddb/client.conf: (new) A template for client.conf.
	* raddb/Makefile.am: Added client.conf.

2001-11-14 Sergey Poznyakoff

	Tested SQL check pairs support.

	* db/db.m4: Changed structure of attrib table to allow for
	  retrieving the check pairs from it.
	* raddb/sqlserver: Removed obsolete attr_query. Added
	check_attr_query and reply_attr_query.

	* doc/texinfo/acct.texi: Fixed some overfill boxes in tex
	  output.
	* doc/texinfo/bugs.texi: Likewise.
	* doc/texinfo/radscm.texi: Likewise.

	Resurrected radtest. It will be needed for planned DejaGNU
	testsuite and also as a check tool for those who have not
	Guile installed on their system.

	* radtest/Makefile.am: (new)
	* radtest/gram.y: (new)
	* radtest/input.l: (new)
	* radtest/main.c: (new)
	* radtest/radtest.c: (new) 
	* radtest/radtest.h: (new)
	* radtest/.cvsignore: (new)

2001-11-13 Sergey Poznyakoff

	* configure.in: Fixed bug in handling --with-lib-path arguments.

	* doc/texinfo/radius.texi: Properly generate variable index.
	  Placed Concept Index at the end. Added pagination directives.
	* doc/texinfo/radscm.texi: Fixed use of @deffn.

	Initial support for retrieving check pairs from SQL (untested):

	* include/radius.h: Added protos for op_to_str() and str_to_op().
	* include/radsql.h: New member check_attr_query. Renamed attr_query
	  to reply_attr_query.
	  Renamed rad_.*query() functions for consistency.
	* radiusd/files.c: match_user(): Try to retrieve check pairs
	  from the database.
	* radiusd/sql.c: New function rad_sql_retrieve_pairs(). Renamed
	  rad_sql_attr_query() to rad_sql_reply_attr_query(). New function:
	  rad_sql_check_attr_query().
	* radlib/util.c: Renamed op_str() to op_to_str(). New function:
	  str_to_op().

	* TODO: Updated.

2001-11-09 Sergey Poznyakoff

	-== Version 0.95.92 released ==-

2001-11-09 Sergey Poznyakoff

	* radlib/dict.c: Fixed a very gross bug in valnum_cmp:
	  it was comparing names instead of values, which led to
	  unpredictable coredumps.

	* NEWS: Added clause about Password-Location attribute.
	* configure.in: Increased patchlevel.

2001-11-08 Sergey Poznyakoff

	* radlib/util.c: format_string_visual(): Format last segment
	  printable no matter how many chars it contains. Otherwise
	  strings, shorter than runlen, get formatted in octal.
	  format_pair(): Some NASes (most notably, Ascend) count
	  terminating zero in the length of the string. Try to work
	  around this.
	

2001-11-07 Sergey Poznyakoff

	* radiusd/radiusd.c: rad_spawn_child(): Fixed bug in selecting
	  a pretender for replacing.
	* sql/mysql.c: rad_mysql_reconnect(): Be less verbose.

2001-11-06 Sergey Poznyakoff

	* radlib/envar.c: Syntax cleanup.
	* radlib/argcv.c: Likewise.
	* radlib/client.c: Likewise.
	* radlib/cryptpass.c: Likewise.
	* radlib/dbm.c: Likewise.
	* radlib/nas.c: Likewise.
	* radlib/symtab.c: Likewise.
	* radlib/users.l: Likewise.
	* radlib/raddb.c: Likewise.
	* snmplib/snmp_send.c: Likewise.
	* snmplib/snmp_sess.c: Likewise.
	* snmplib/snmp_mib.c: Likewise.
	* radscm/rscm_utmp.c: Likewise.
	* radscm/rscm_lib.c: Likewise.
	* radscm/radscm.h: Likewise.
	* radiusd/auth.c: Likewise.
	* radiusd/files.c: Likewise.
	* radiusd/proxy.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/radutil.c: Likewise.
	* radiusd/rewrite.y: Likewise.
	* radiusd/log.c: Likewise..

	* raduse/raduse.c: Bugfix.
	* radiusd/scheme.c: Bugfix in scheme_auth.

	* radiusd/checkrad.c: finger_check(): Get argument from the
	  `arg' envar.
	* raddb/naslist: Reflect the new variable (arg).
	* raddb/config: Removed usedbm and notify clauses.

	* scripts/config-conv.awk: Changed default channel to
	  "radius.log", for compatibility.
	* scripts/Makefile.am: Added config-conv.

	* raddb/Makefile.am: Name dictionary backup file dictionary~.

	* NEWS: Finally converted to human-readable form.
	* configure.in: Increased version patchlevel.
	* README-alpha: (new)
	* Makefile.am: Added README-alpha.

	* doc/texinfo/.ispell_english: updated
	* doc/texinfo/operation.texi: updated

2001-11-01 Sergey Poznyakoff

	* radiusd/rewrite.y: Fixed bug in yylex() which prevented
	  binary % from being recognized. Thanks to Clement Gerouville.
	
2001-10-31 Sergey Poznyakoff

	* radlib/util.c: removed debug_pair().
	  format_pair(): Use format_string_visual() to format string
	  attributes (useful for Password). Changed size of buf2
	  accordingly.
	  pairstr_format(): Renamed to format_vendor_pair().
	* include/radius.h: removed debug_pair().
	* include/radiusd.h: Likewise.

	* radiusd/radius.c: Use regular debug() instead of debug_pair().
	* radiusd/proxy.c: Likewise.
	* radiusd/radiusd.c: Put a reminder before duping stdout to
	  file. It shall go away soon.

2001-10-30 Sergey Poznyakoff

	* client/pam_radius/pam_radius.c: Fixes forgotten to apply
	  2001-10-14.
	* radiusd/log.c: Typo in log_to_channel().

2001-10-28 Sergey Poznyakoff

	* doc/texinfo/Makefile.am: Rule for generating postscript
	  output.
	* doc/texinfo/configure.texi: Updated.
	* doc/texinfo/acct.texi: Likewise.
	* doc/texinfo/attributes.texi: Likewise.
	* doc/texinfo/auth.texi: Likewise.
	* doc/texinfo/configure.texi: Likewise.
	* doc/texinfo/invoke.texi: Likewise.
	* doc/texinfo/operation.texi: Likewise.
	* doc/texinfo/radctl.texi: Likewise.
	* doc/texinfo/radius.texi: Likewise.

	* TODO: Updated.

2001-10-26 Sergey Poznyakoff

	* radlib/util.c: New function format_string_visual(): format a
	  string of possibly intermixed printable and non-printable characters.
	  pairstr_format(): Use format_string_visual() to format
	  vendor-specific pairs.
	* include/radius.h: Declaration of format_string_visual().

	* doc/texinfo/configure.texi: Documented message statement.

2001-10-25 Sergey Poznyakoff

	* radiusd/auth.c: Fixed bug in req_decrypt_password (possible
	  dereference of NULL pointer).

2001-10-22 Sergey Poznyakoff

	Configurable reply-messages. The messages are defined under
	`message' block in raddb/config	file. The % substitutions
	are allowed in messages.

	* include/radius.h: Extern declaration for do_not_resolve.
	* include/radiusd.h: Added message identifiers, extern decl
	  for message_text. Changed proto of rad_check_multi.

	* radiusd/acct.c: rad_check_multi(): Return also number
	  of concurrent logins.
	* radiusd/auth.c: User-defined messages instead of hardcoded ones.
	* radiusd/config.kw: Added new keywords.
	* radiusd/config.y: Handle message statement.
	* radiusd/radiusd.c: Provide defaults for the reply messages.
	* radiusd/radutil.c: Split off radius_xlate0 from radius_xlate.
	  Fixed a couple of bugs.

	* raddb/dictionary: New attribute Password-Expire-Days.

	* raddb/config.syntax: Example of message statement.
	
	* TODO: Updated.
	
2001-10-19 Sergey Poznyakoff

	* THANKS: Ajoute Clement Gerouville.
	* TODO: Updated.

2001-10-19 Clement Gerouville

	* radiusd/radiusd.c: Un detail mise en configuration par
	defaut de : int auth_detail = 0; Ajout de l'option -N (do-not-resolve)
	no reverse DNS lookup.
	Un etrange Hack de la fonction rad_spawn_child():
	Preferons remplacer une vieille requette (REQUEST * to_replace)
	plutot que dropper la nouvelle en attendant que le garbage-collector
	libere de la place. On peut raisonnablement penser que la reponse a
	ete recue par le NAS. Ameliore sensiblement le nombre de
	requettes/secondes du serveur.
	* radlib/iputil.c: Ajout de l'option -N (do-not-resolve)
	Bugfix d'un potentiel probleme : 'unlinking' de la requette si
	le fork() faille.
	* radlib/mem.c: multiple free() dans certaines conditions (unsigned
	char hp->s.nref == 255, hp->s.nref++ :)
	cela est arrive en faisant un benchmark avec toujours le meme username.

2001-10-18 Sergey Poznyakoff

	* radlib/envar.c: New function envar_parse_argcv().
	* include/envar.h: Proto for envar_parse_argcv().

	* include/radius.h: Removed fcnt argument from the read_raddb_file
	proto.
	* radlib/raddb.c: Likewise.
	* radlib/dict.c: Likewise.
	* radiusd/files.c: Likewise. Added checks for maximum number of
	fields, where applicable. Possibly should use nfields() from
	dict.c for this.
	Use envar_parse_argcv instead of envar_parse.
	* radlib/nas.c: Likewise. 
	
	* radiusd/.gdbinit: Synchronized with namespace cleanup from
	2001-10-16.

	* radlib/argcv.c: Ignore trailing whitespace: fixed.

	* TODO: Updated.

2001-10-18 Sergey Poznyakoff

	Changed way of reading raddb/ files. Not thoroughly tested, though.

	* radlib/getline.c: (new) Read line of arbitrary length from
	a stream.
	* radlib/Makefile.am: Added getline.c
	* radlib/argcv.c: Ignore trailing whitespace.
	* radlib/raddb.c: Use getline+argcv_get.

	* TODO: Updated.

2001-10-18 Sergey Poznyakoff
	
	Removed length limit on shared secret. Files affected:

	* include/radclient.h:
	* include/radiusd.h: 
	* radiusd/files.c:
	* radlib/client.c:
	* radscm/radscm.c:

	* NEWS: Updated.

	* doc/texinfo/.cvsignore: Updated.
	* doc/texinfo/Makefile.am: Added html: rule

2001-10-17 Sergey Poznyakoff

	* radlib/cryptpass.c: New function decrypt_password_broken()
	for decrypting long passwords (>16), sent by some
	brain-damaged termservers (MAX ascend in particular).
	
	* radlib/envar.c: (new) 'Environment variable' functions.
	* radlib/Makefile.am: Added envar.c
	* include/envar.h: (new) Envar protos.
	* include/Makefile.am: Added envar.h
	* include/checkrad.h: Use envar_t instead of RADCK_ARG
	* radiusd/checkrad.c: Likewise.
	* radiusd/files.c: Likewise.
	* radlib/nas.c: Likewise.
	New function nas_request_to_nas().

	* radlib/util.c: Removed RADCK_ARG-related stuff.

	* include/radius.h: Use envar_t instead of RADCK_ARG in
	struct NAS. Added proto for nas_request_to_nas(),
	decrypt_password_broken().
	* include/radiusd.h: Proto for req_decrypt_password().
	* radiusd/auth.c: New function req_decrypt_password().
	Checks for 'broken_passwd' var in NAS environment variables
	and if this variable is set, decrypt_password_broken() is
	used for decrypting the password.
	rad_check_password(): Use req_decrypt_password().
	* radiusd/menu.c: Use req_decrypt_password().
	* radiusd/radutil.c: Likewise.
	* radiusd/proxy.c: Fixed protos of passwd_recode() and
	rad_send_request(). Use req_decrypt_password().

2001-10-16 Sergey Poznyakoff

	* doc/texinfo/configure.texi: Cleaned up to to make tex happy.
	* doc/texinfo/radscm.texi: Likewise.

	* radiusd/auth.c: rad_check_password(): return AUTH_NOUSER if
	rad_sql_pass() returned	NULL. Fixed bug in outputting
	'SQL authentication not available' diagnostics (use of
	uninitialized var).
	* radiusd/files.c: Added some debugging info.
	checkdbm(): use dynamically allocated buffer instead of static one.
	* radlib/cryptpass.c: Null terminator was offset by one. Fixed.

	* TODO: Updated.
	* client/pam_radius/pam_radius.c: Namespace cleanup.
	
2001-10-16 Sergey Poznyakoff

	* include/radiusd.h: External declaration for radius_mode and
	MODE_ defines.
	* radiusd/radiusd.c: Removed static qualifier from radius_mode
	declaration.
	* radiusd/files.c: Check MODE_BUILDDBM to decide whether to
	parse `users' file.

2001-10-16 Sergey Poznyakoff

	Namespace cleanup.

	* include/radius.h: Data type defines are prefixed with TYPE_,
	request type defines -- with RT_, comparison operator defines --
	with OPERATOR_. 
	* configure.in: Likewise.
	* radiusd/acct.c: Likewise.
	* radiusd/auth.c: Likewise.
	* radiusd/builddbm.c: Likewise.
	* radiusd/files.c: Likewise.
	* radiusd/menu.c: Likewise.
	* radiusd/proxy.c: Likewise.
	* radiusd/radius.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/radutil.c: Likewise.
	* radlib/avl.c: Likewise.
	* radlib/client.c: Likewise.
	* radlib/dict.c: Likewise.

2001-10-15 Sergey Poznyakoff

	* radiusd/auth.c: Allow for terminating \0 in mach->userpass.
	* radiusd/proxy.c: Allow for terminating \0 in password buffer.
	* radiusd/radutil.c: Removed superfluous string[AUTH_STRING_LEN] = 0. 
	* radlib/cryptpass.c: decrypt_password(): Append terminating
	null.

2001-10-15 Sergey Poznyakoff

	* configure.in: Removed superfluous backslashes in final AC_OUTPUT.
	* radiusd/proxy.c: Fixed bugs introduced yesterday.
	* radlib/client.c: Likewise (in function radclient_build_request).
	* TODO: Updated.

	* radiusd/config.y: Fixed action for `level: T_STRING' to work
	with `upto' severity specs (e.g.: `category debug').
	* raddb/config: Added default channel and category statements.
	
2001-10-14 Sergey Poznyakoff

	Bunch of fixes to handle correctly passwords longer than 16 bytes:

	* radlib/cryptpass.c: (new) Functions for password
	encryption/decryption.
	* radlib/Makefile.am: Added cryptpass.c
	* radlib/client.c: radclient_build_request(): Use encrypt_password().

	* include/radius.h: Changes to struct radius_req: removed digest
	field, changed type of secret field (was char [], now char *).
	Secret now points to the shared secret from corresponding
	CLIENT structure (no free needed when freeing the request).
	Added protos for encrypt_password() and decrypt_password().
	* include/radiusd.h: Removed calc_digest() proto, changed
	calc_acctdigest(). Added proto for validate_client(). Changed
	process_menu() proto.
	* radiusd/acct.c: Changed invocation of calc_acctdigest().
	* radiusd/auth.c: Changed rad_check_password(): removed pw_digest
	argument. The function uses decrypt_password().
	rad_auth_init(): Do not free radreq upon failure. It is
	responsibility of the caller. Removed calc_digest check.
	rad_authenticate(): Changed call to process_menu().

	* radiusd/menu.c: process_menu(): removed pw_digest parameter;
	the function uses decrypt_password().
	* radiusd/proxy.c: Changes due to introduction of decrypt_password
	and to the changes in RADIUS_REQ structure.
	* radiusd/radius.c: Removed calc_digest().
	Introduced validate_client(). Removed digest parameter from
	calc_acctdigest().
	* radiusd/radiusd.c: auth_respond(): Free radreq if radrespond()
	failed.
	radrespond(): Return 1 if suspend flag is on. Call validate_client()
	early (see FIXME, though).
	* radiusd/radutil.c: Reflect introduction of decrypt_password().

	* NEWS: Reflect recent changes. The stuff is still unreadable for
	normal human beings.
	* TODO: Updated.

	* radiusd/files.c: Fixed wild_match(): it returned 0
	on partial matches.

	* scripts/config-conv: (new) A shell wrapper for config-conv.awk

	* doc/texinfo/acct.texi: Reorganised structure. 
	* doc/texinfo/attributes.texi: Likewise.
	* doc/texinfo/auth.texi: Likewise.
	* doc/texinfo/bugs.texi: Likewise.
	* doc/texinfo/builddbm.texi: Likewise. 
	* doc/texinfo/configure.texi: Likewise.
	* doc/texinfo/debug.texi: Likewise.
	* doc/texinfo/invoke.texi: Likewise.
	* doc/texinfo/logging.texi: Likewise.
	* doc/texinfo/naming.texi: Likewise.
	* doc/texinfo/operation.texi: Likewise.
	* doc/texinfo/radauth.texi: Likewise.
	* doc/texinfo/radctl.texi: Likewise.
	* doc/texinfo/radgrep.texi: Likewise.
	* doc/texinfo/radius.texi: Likewise.
	* doc/texinfo/radlast.texi: Likewise.
	* doc/texinfo/radping.texi: Likewise.
	* doc/texinfo/radscm.texi: Likewise.
	* doc/texinfo/raduse.texi: Likewise.
	* doc/texinfo/radwho.texi: Likewise.
	* doc/texinfo/radzap.texi: Likewise.

2001-10-04 Sergey Poznyakoff

	* .cvsignore: Added *.tar.gz

	* scripts/texi2html: (new)
	* scripts/Makefile.am: Added texi2html

	* doc/texinfo/Makefile.am: New rule for creating a monolithic html
	page.
	* doc/texinfo/acct.texi: Changes for easier convertion to html.
	* doc/texinfo/attributes.texi: Likewise.
	* doc/texinfo/auth.texi: Likewise.
	* doc/texinfo/bugs.texi: Likewise.
	* doc/texinfo/builddbm.texi: Likewise.
	* doc/texinfo/configure.texi: Likewise.
	* doc/texinfo/debug.texi: Likewise.
	* doc/texinfo/invoke.texi: Likewise.
	* doc/texinfo/logging.texi: Likewise.
	* doc/texinfo/naming.texi: Likewise.
	* doc/texinfo/operation.texi: Likewise.
	* doc/texinfo/radauth.texi: Likewise.
	* doc/texinfo/radctl.texi: Likewise.
	* doc/texinfo/radgrep.texi: Likewise.
	* doc/texinfo/radius.texi: Likewise.
	* doc/texinfo/radlast.texi: Likewise.
	* doc/texinfo/radping.texi: Likewise.
	* doc/texinfo/radscm.texi: Likewise.
	* doc/texinfo/raduse.texi: Likewise.
	* doc/texinfo/radwho.texi: Likewise.
	* doc/texinfo/radzap.texi: Likewise.

2001-10-04 Sergey Poznyakoff

	* doc/texinfo/.ispell_english: (new)
	* doc/texinfo/configure.texi: Updated.
	* doc/texinfo/intro.texi: Likewise.
	* doc/texinfo/invoke.texi: Likewise.
	* doc/texinfo/naming.texi: Likewise.
	* doc/texinfo/operation.texi: Likewise.
	* doc/texinfo/radius.texi: Likewise.
	* raddb/config.syntax: Likewise.
	* TODO: Likewise.

2001-09-30 Sergey Poznyakoff

	* Makefile.am: Added alphadist rule. Put both alpha rules
	under MAINTAINER_MODE conditional.
	* configure.in: Allow for colon-separated pathlists in 
	--with-{include|lib}-path.
	* raddb/Makefile.am: Fixed permissions on installed files.

	* doc/texinfo/operation.texi: Updated.

2001-09-30 Sergey Poznyakoff

	Started rewriting documentation.

	* doc/texinfo/radius.texinfo: removed
	* doc/texinfo/attributes.texinfo: removed

	* doc/texinfo/acct.texi: (new)
	* doc/texinfo/attributes.texi: (new)
	* doc/texinfo/auth.texi: (new)
	* doc/texinfo/bugs.texi: (new)
	* doc/texinfo/builddbm.texi: (new)
	* doc/texinfo/configure.texi: (new)
	* doc/texinfo/debug.texi: (new)
	* doc/texinfo/intro.texi: (new)
	* doc/texinfo/invoke.texi: (new)
	* doc/texinfo/logging.texi: (new)
	* doc/texinfo/naming.texi: (new)
	* doc/texinfo/operation.texi: (new)
	* doc/texinfo/radauth.texi: (new)
	* doc/texinfo/radctl.texi: (new)
	* doc/texinfo/radgrep.texi: (new)
	* doc/texinfo/radius.texi: (new)
	* doc/texinfo/radlast.texi: (new)
	* doc/texinfo/radping.texi: (new)
	* doc/texinfo/radscm.texi: (new)
	* doc/texinfo/raduse.texi: (new)
	* doc/texinfo/radwho.texi: (new)
	* doc/texinfo/radzap.texi: (new)
	* doc/texinfo/Makefile.am: Updated.

2001-09-29 Sergey Poznyakoff

	* configure.in: Options --with-include-path, --with-lib-path
	replace old --enable-add-.*-path options.

	* client/pam_radius/pam_radius.c: Fixed call to value_name_to_value.

	Changed semantics of Local and Crypt-Local auth-types. As before,
	Local means that the user's password is stored in cleantext and
	Crypt-Local means it is stored in a crypted form. The difference
	is that the value of password itself can be retrieved from
	different places, depending on the value of a new server attribute,
	Password-Location. The absence of this attribute means that
	the password is stored in Password or Crypt-Password attribute
	of the checklist in the users file. This provides backward
	compatibility with the previous implementations.
	Password-Location = SQL means that the password should be retrieved
	from SQL database using auth_query. More Password-Location values
	will be added as the need arises.

	Consequences:
	1. CHAP authentication can now coexist with SQL
	authentication type:

		Auth-Type = Local, Password-Location = SQL

	2. Auth-Type = SQL is actually translated to:

		Auth-Type = Crypt-Local, Password-Location = SQL
	
	* include/radiusd.h: Removed rad_check_password proto.
	* include/radsql.h: Changed rad_sql_pass() proto: accept two
	arguments and return a character string.
	* radiusd/sql.c: rad_sql_pass() returns a pointer to retrieved user
	password. The storage is allocated dynamically and must be efree'd.

	* raddb/dictionary: New attribute Password-Location describes 
	where to get the password for Local and Crypt-Local auth-types.
	When absent, the password is read from Password or Crypt-Password
	attribute. When set to SQL, cleantext or hashed password is retrieved
	from the SQL database.
	* radiusd/auth.c: Made rad_check_password() static to the module.
	Removed unused activefd parameter from its declaration. The function
	is essentially rewritten to accept new semantics of Local and Crypt-
	Local auth-types.
	* radiusd/files.c: Added DA_PASSWORD_LOCATION to server_check_items.
	* radiusd/radck.c: Updated fix_check_pairs() to accord with the new
	semantics of Local auth-types.
	
2001-09-25 Sergey Poznyakoff

	* Makefile.am: Added alpha: rule

	* include/radius.h: DICT_VALUE contains a pointer to entire
	DICT_ATTR structure, not just the attribute name. This
	facilitates look-ups.
	* include/sysdep.h: Forgotten defined(__sgi) :((

	* radlib/dict.c: Use linked lists for dictionary values.
	This reverses some part of changes from 2001-08-07. Reason:
	symtab provides no convenient way for multiple key indexing.

	value_name_to_value(): second argument: the attribute name
	the value belongs to.
	value_lookup(): Changed accordingly.

	* radiusd/files.c: Fixed invocation of value_name_to_value.
	* radscm/rscm_dict.c: Likewise.
	* radscm/rscm_lib.c: Likewise.
	* radlib/users.y: Likewise.

	* radlib/symtab.c: Preserve the order of entries in collision lists
	when rehashing.

2001-09-23 Sergey Poznyakoff

	* radscm/rscm_avl.c: (new) Scheme interface to some avl
	functions.
	* radscm/Makefile.am: Added rscm_avl.c
	* radscm/rscm_dict.c: Minor changes.
	* radscm/rscm_lib.c: radscm_cons_to_avp(): Initialize all VALUE_PAIR
	members.
	radscm_init(): added call to rscm_avl_init().

	* elisp/radconf-mode.el: Missed closing parenthesis in
	radconf-keyword-dict.

	* radiusd/auth.c: sfn_scheme(): scan the copy of reply
	pairlist, not the list itself, since it can be modified by
	scheme_auth().
	* radiusd/files.c: Removed spurious block of code in
	add_user_entry (sym_install now does all the job).
	hints_setup(): fixed error: wrong scope for tmp variable.
	Use avl_merge instead of avl_add_list.
	* radiusd/scheme.c: Call radscm_init().
	* radlib/avl.c: avp_move was broken, it always set new->next
	to NULL. Fixed.
	* radlib/symtab.c: Append symbols to the end of collision list,
	so that duplicate ones appear in chronological order.

2001-09-18 Sergey Poznyakoff

	* raddb/dictionary: Fixed syntax flags of some attributes.
	* radiusd/rewrite.y: Fixed interpret.
	* radiusd/auth.c: Removed spurious 'Authentication OK' message.
	Fixed call to interpret to match its proto. Do not replace
	strvalue with computed pair result, assign it directly instead.
	* radiusd/radutil.c: radius_xlate(): Allow for NULL req argument.
	(for test_shell).

	* radwho/radwho.c: Forgotten to commit on 2001-09-12.

	* THANKS: Added Eric Salome.

2001-09-18 Eric Salome

	* radiusd/auth.c: sfn_init(): Try to look up proxied request
	in the local user's database to fetch site-specific pairs.
	* radiusd/files.c: hints_setup(): Allow for use of
	Fall-Through attribute in raddb/hints.

2001-09-12 Sergey Poznyakoff
	
	* include/sysdep.h: Fixed to compile properly on IRIX (thanks to
	Michael Weizer.

	* THANKS: Added Michael Weizer.

2001-09-09 Sergey Poznyakoff

	* configure.in: AC_SUBST for RADSCM_BUILT_SOURCES and 
	GUILE_PROCEDURES_TXT.
	* radscm/Makefile.am: Removed extra dependencies that prevented
	the package from compiling without guile.
	
2001-09-06 Sergey Poznyakoff

	* radiusd/radiusd.c: Hold previous value of server_stat->auth.status
	in a global; trigger corresponding actions when it changes.
	* radiusd/snmpserv.c: Use auth.status for both AuthConfigReset
	and AcctConfigResetObjects. Make sure this variables always
	return RFC-prescribed values. GNU extensions are returned by
	radiusServerState variable.

2001-09-05 Sergey Poznyakoff

	* include/mem.h: Prefix xmalloc,xrealloc with "rad": they are
	apt to conflict with identifiers from other libs or
	programs (when used in pam_radius.so).
	* radiusd/radck.c: Likewise.
	* radlib/leakdetect.c: Likewise.
	* radlib/users.l: Likewise.
	* radlib/symtab.c: Likewise.
	Do not access hash_size with index < 0.

2001-09-04 Sergey Poznyakoff

	* client/pam_radius/pam_radius.c: Local variable name "errno"
	caused grief on systems where errno is a define. Renamed.
	* radiusd/log.c: Likewise.
	* radlib/applog.c: Likewise.

	* THANKS: Added Andrey Pavlenko.
	
2001-09-04 Sergey Poznyakoff

	* configure.in: Fixed erroneous AC_ARG_WITH specification
	for --without-server-guile option.
	Add GUILE_LIBS to RADIUSD_LDADD if USE_SERVER_GUILE is set.
	* radiusd/Makefile.am: Removes @GUILE_LIBS@ from radiusd_LDADD:
	taken care of in configure.in
	* radiusd/radiusd.c: Pass an argument to rad_main(). It is needed
	for builddbm only.
	rad_main(): assign the argument given to extra_arg static. Actually,
	this is a kludge and should be cleaned up.
	rad_mainloop(): become daemon only if we really have to.

2001-09-04 Sergey Poznyakoff

	Allow user to configure which characters are allowed in a
	username:

	* include/radiusd.h: Declaration for username_valid_chars.
	* radiusd/auth.c: Use global username_valid_chars instead of a
	static variable. username_valid_chars contains string object,
	consisting of characters allowed to appear in a username
	(alphanumeric chars are always allowed).
	* radiusd/config.kw: Added username-chars keyword.
	* radiusd/config.y: Handle username-chars statement (in option block)
	* radiusd/radiusd.c: Initialize username_valid_chars.
	* TODO: Updated.

	Other fixes:

	* radiusd/scheme.c: Initialize %load-path. Fixed scheme_load_path.

	* radlib/dict.c: Reverse symtab for attribute values. This restores
	the functionality of the daemon broken on 2001-08-07 with the
	introduction of symbol tables instead of linked lists, namely, that
	the last defined symbolic value is used when printing detail files.

	* radscripts/radctl.m4: Removed superfluous quotes around SHIFT.

2001-09-03 Sergey Poznyakoff

	* radiusd/log.c: static qualifiers to catname, priname.
	* radiusd/scheme.c: Fixed closure to eval_catch_body.
	* radiusd/sql.c: Fixed bug in rad_sql_attr_query: did not
	unattach connection if disp_sql_exec() returned NULL.
	

2001-09-02 Sergey Poznyakoff

	Further changes integrating Guile support.

	* Makefile.am: Reorganized subdirs.
	* configure.in: More sophisticated checking for working Guile
	libraries.

	* m4/guile.m4: (new) Test for working Guile libraries.
	* m4/Makefile.am: Added guile.m4
	* m4/rx.m4: Simplified a lot. There's no use checking for
	librx if we can just supply included rx.o

	* raddb/config.syntax: Added more comments.
	
	* radscm/radscm.h: (new) Protos for libradscm functions.
	* radscm/rscm_dict.c: (new) Scheme interface to radius dictionaries.
	* radscm/rscm_lib.c: (new) libradscm basic functions.
	* radscm/rscm_syslog.c: (new) Scheme interface to syslog.
	* radscm/rscm_utmp.c: (new) Scheme interface to radius [uw]tmp files.
	* radscm/.cvsignore: Added libradscm.a

	* raddb/dictionary: New attribute: Scheme-Acct-Procedure. Can be
	used in reply pairs of a hints profile to trigger execution
	of the given Scheme procedure on accounting events. The procedure
	takes one argument: the request A/V pairs. Return value is #f
	if accounting fails and #t otherwise.
	* radiusd/Makefile.am: Moved librad.a to the end of LDADD (needed
	for linking against libradscm.a)
	* radiusd/acct.c: Handle Scheme-Acct-Procedure attribute.
	* radiusd/log.c: Added static qualifier to chanlist.

	* acconfig.h: Changed USE_GUILE to USE_SERVER_GUILE.
	* radiusd/auth.c: Likewise.
	* radiusd/config.y: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/version.c: Likewise.
	* radiusd/scheme.c: Likewise. Added scheme_acct(). Removed library-
	specific functions.

	* radscm/Makefile.am: Build libradscm.a.
	* radscm/radscm.c: Removed library-specific functions.

	* radscripts/Makefile.am: Removed `if GUILE' conditional.
	* radscripts/radtest.m4: Likewise.

	* include/radiusd.h: Protos for scheme_.*() functions.
	* elisp/radconf-mode.el: Recognize new keywords. Obsolete ones
	are retained for backward compatibility.

2001-09-01 Sergey Poznyakoff

	Started integrating Guile support into the server:

	* acconfig.h: New define: USE_GUILE
	* configure.in: New options: --without-guile, --without-server-guile.
	* include/radiusd.h: Protos for guile interface functions.
	* raddb/config.syntax: Sample guile configuration.
	* raddb/dictionary: New attribute: Scheme-Procedure. When encountered
	in reply pairs triggers evaluation of the specified guile procedure.
	The procedure takes three arguments: request pairs, check pairs
	and reply pairs. It returns cons, whose car contains #f to deny
	access, or anything else to allow it and whose cdr contains
	a list of A/V pairs to be appended to the reply list.
	* raddb/.gdbinit: Uncommented dir ../radlib.
	* radiusd/scheme.c: (new) Scheme interface functions.
	* radiusd/Makefile.am: Added scheme.c. Added guile libraries
	and include paths.
	* radiusd/auth.c: New state as_scheme gets triggered by the
	presense of Scheme-Attribute in the reply pairs.
	* radiusd/config.kw: Added guile-related keywords.
	* radiusd/config.y: Added guile-related rules.
	* radiusd/radiusd.c: Split main into several functions.
	Added use_guile global variable.
	* radiusd/version.c: Reveal USE_GUILE option, when configured
	with it.
	
2001-09-01 Sergey Poznyakoff

	* radiusd/config.kw: New keyword: password-expire-warning.
	* raddb/config.syntax: Sample password-expire-warning statement;
	* raddb/dictionary: Removed obsolete Server-Config attribute and
	its values.
	* radiusd/radiusd.c: Removed unused config_init() function.

	* radiusd/auth.c: Use asprintf for formatting Reply-Message.
	* radiusd/config.y: Handle password-expire-warning statement;
	Fixed bug in handling syslog statement.

	* scripts/config-conv.awk: Emit 'channel default' and 'category *'
	statements.

2001-08-31 Sergey Poznyakoff

	Further changes to the logging subsystem. The only left-to-do is 
		1. document changes.

	* radlib/log.c: Removed.
	* radlib/logger.c: (new) Provide basic log functionality.
	It is part of librad library. Programs willing to use
	logger.c must define function vlog() which is supposed to
	do the actual formatting and outputting job.
	* radlib/applog.c: (new) Logger system for rad.* applications.
	It is part of liblog library.
	* radlib/Makefile.am: Added logger.c, applog.c.

	* client/pam_radius/pam_radius.c: Implemented vlog().

	* radiusd/log.c: Removed functions provided by logger.c.

	* raddb/rewrite.full: Fixed bug in max_fixup() function: too
	few arguments in call to max_decode_port.

	Fixed handling of NAS-supplied attribute length. (See 2001-08-27)
	
	* radiusd/radius.c: Reverted changes introduced 2001-08-27. They
	break proxy functionality. String attributes may contain arbitrary
	binary data, so strlen() is not appropriate.
	* radiusd/radutil.c: Recompute string length before adding string
	contents to obstack.


2001-08-27 Sergey Poznyakoff

	* include/radiusd.h: Removed unused RLOG_PID define.
	* radiusd/config.y: Changed handling of 'category' statement.

2001-08-27 Sergey Poznyakoff

	* radiusd/auth.c: Do not display "Invalid user" diagnostics when
	print-auth is no.
	* radiusd/snmpserv.c: Fixed snmp_sort_nas_stat(): simple sorting
	of the nas_stat made the havoc in the statistics data.
	* radiusd/stat.c: findportbyindex(): Check the validity of 
	index before doing lookup.
	
2001-08-27 Sergey Poznyakoff

	* configure.in: Use $withval when handling --with arguments.
	* radiusd/config.y: Added "port" to typestr. Fixed handling of
	obsolete level statements (auth).
	Fixed buglet in asgn (handling AT_PORT type).
	* radiusd/radius.c: Do not trust attrlen when decoding string
	variables. Some NASes compute it including terminating zero byte.
	
2001-08-26 Sergey Poznyakoff

	* db/Makefile.am: Use M4 variable. Allow user to define database
	access password in config.m4.
	* db/config.m4: Allow user to specify database user name and password.
	* db/db.m4: Likewise.
	* db/mysql.m4: Likewise.
	* db/pgsql.m4: Likewise.

	More elaborate syntax checking of pairlist config files (raddb/users,
	raddb/hints and raddb/huntgroups). Each attribute has a set of
	properties describing it. A six-bit part of these properties
	describes in which list the attribute may appear in each of
	the above-mentioned files. The syntax of dictionary files
	is extended to hold the declaration of attribute properties.

	* include/radius.h: Renamed AF_ADD_ constants to AP_ADD_. New
	AP_PROPAGATE: attributes with this bit set will be propagated
	through the proxy radius back to the NAS. Packed additivity into
	the prop bitmask. Three sets of AF_CHECKLIST and AF_REPLYLIST
	flags.
	struct DICT_ATTR: merged flags and additivity into one member: prop
	struct VALUE_PAIR: Renamed additivity to prop.
	* raddb/dictionary: Changed flag field of ATTRIBUTE records to
	reflect the addition of AP_PROPAGATE property (P flag) and
	three levels of AF_.*LIST bits.
	* raddb/sqlserver: Changed description of %s substitute.

	* include/radiusd.h: Removed exec_group member.
	Added protos for functions from radck.c
	* radiusd/config.y: exec-program-group is obsolete.
	* radiusd/exec.c: Set the group from pw_gid member of pwd.

	* radiusd/files.c: Changed calls to fix_{check,reply}_pairs:
	pass an extra argument, meaning which kind of file we are processing
	now.
	Extra member in struct temp_list (same semantics).
	Extra argument to file_read (same semantics).

	* radiusd/proxy.c: Removed allowed[] array: the AP_PROPAGATE bit
	of attribute properties is used to determine whether an attribute
	should be propagated back to the NAS.

	* radiusd/radck.c: Use attribute property to determine whether an
	attribute is allowed to be used in either list of a profile.

	* radiusd/radius.c: Reflect changes of DICT_ATTR and VALUE_PAIR
	types.
	* radlib/users.y: Likewise.
	* radlib/avl.c: Likewise.
	New function avl_move_pairs() moves pairs matching a given criterium
	between the two lists. The criterium is specified by supplying
	selection function and a closure to it.
	Implemented avl_move_attr() via avl_move_pairs().

	* radiusd/radiusd.c: Initialize myip with INADDR_ANY. Removed
	`mode' (local to main) and introduced static `radius_mode' with
	the same semantics. listen_.*() functions exit immediately if
	its value is not MODE_DAEMON.
	Reflect removal of config.exec_group.
	Use myip instead of INADDR_ANY in calls to open_socket wherever
	hostlist passed to listen_.*() functions is empty.

	* radlib/dict.c: Parse extended attribute property specification.
	The specification may contain the following flags:

		Flag	Meaning
		P	Propagate the attribute through the proxy chain
		=	Additivity = replace
		+	Additivity = append
		N	Additivity = none
	
	and a syntax specification. The simplest form of the latter is
	[] meaning default syntax spec (the attribute may appear in either
	list in any configuration file). More precise specification
	is the symbol 'C' when the attribute may be used in checkpairs,
	or the symbol 'R' when it may appear in replypairs (thus CR is
	equivalent to []). The most specific form of the syntax spec is

		[CRCRCR]

	where the CR pairs correspond to raddb/users, raddb/hints and
	raddb/groups. A dash indicates that the attribute cannot be
	used in the corresponding list. 

	* scripts/config-conv.awk: Delete obsolete exec-program-group
	statement.
	
	* NEWS: Updated.

2001-08-25 Sergey Poznyakoff

	* db: (new dir) Contains scripts for automatic creation
	of authentication/accounting databases.
	* db/Makefile.am: (new)
	* db/.cvsignore: (new)
	* db/config.m4: (new) Template for site-specific definitions.
	* db/db.m4: (new) Implementation-independent database structure
	template.
	* db/mysql.m4: (new) MySQL-specific definitions.
	* db/pgsql.m4: (new) PostgreSQL-specific definitions.

	* Makefile.am: Added db to SUBDIRS
	* configure.in: AC_OUTPUT db/Makefile.am

	* raddb/sqlserver: Removed database description from the comment.
	Fixed sql queries to match new database structure.

2001-08-25 Sergey Poznyakoff

	Changed distribution technique: removed dist-hook from the
	main Makefile.am and provided separate Makefile.am's for
	each directory in the distribution.

	* contrib/Makefile.am contrib/.cvsignore: (new)
	* doc/rfc/Makefile.am doc/rfc/.cvsignore: (new)
	* mibs/Makefile.am mibs/.cvsignore: (new)
	* scripts/Makefile.am scripts/.cvsignore: (new)
	* scripts/guile/Makefile.am scripts/guile/.cvsignore: (new)
	* test/raddb/Makefile.am: (new)
	* test/raddb/.cvsignore: Added Makefile, Makefile.in

	* Makefile.am: Removed conditional GUILE block. Removed
	subdirs from EXTRA_DIST.Removed dist-hook. Removed TEST
	variables.
	* configure.in: Changed version number to pre-release 0.95.90.
	Added substitutions RADSCM and TESTDIR.
	AC_OUTPUT new makefiles.
	* doc/Makefile.am: Added rfc to SUBDIRS.
	* doc/man/Makefile.am: Added *.man to EXTRA_DIST. Changed explicit
	rules to use $@ and $<.
	* doc/texinfo/Makefile.am: Added radius_TEXINFOS.
	* radlib/Makefile.am: Merged noinst_HEADERS statements.
	* radscm/Makefile.am: Use substitution in bin_PROGRAMS,
	provide EXTRA_PROGRAMS in case the former is empty. Do not
	distribute *.x and *.doc files. Moved MKDEP variable out of
	the MAINTAINER_MODE conditional.

	* test/Makefile.am: Added TESTS and TESTS_ENVIRONMENT (previously
	they were in the main Makefile.am).
	* test/test.sh: Removed sub-shell invocation, fixed paths.

	Some minor fixes:

	* raddb/users: Removed ROOT profile, not needed since the removal
	of cntl functionality.
	
	* sql/disp.c: Fixed wrong comparison in disp_sql_interface_index().
	* radiusd/config.y: Fixed usage of in_category tie-in.

	* doc/texinfo/attributes.texinfo: Added @setfilename.

	* TODO: Updated.
	

2001-08-23 Sergey Poznyakoff

	Further changes to the logging subsystem. Left-to-do's are:
		1. Of course, document changes.
		2? (in the long run) Make radiusd/log.c part of liblog
		   library.

	* include/log.h: New option LO_PERSIST for marking
	channels that should not be deleted by log_release().
	* radiusd/log.c: log_release(): Do not delete channels
	marked with LO_PERSIST bit.
	log_set_to_console(): Mark "stdout" with LO_PERSIST bit.
	channel_free(): Fixed memory leak.

	* radlib/log.c: vlog(): use priname array instead of switch when
	printing priority name.

	* radlib/strcspn.c: (new) Provides a strcspn() function for
	systems lacking it.
	* radlib/Makefile.am: Added strcspn.c
	* configure.in: Added strcspn to AC_REPLACE.

	* scripts/config-conv.awk: (new) Convert raddb/config from
	version 0.95 to 0.96.

	Further changes due to the removal of cntl functionality:

	* radscm/radctl.scm: Removed. It is useless once all cntl
	functionality has been passed to SNMP subsystem. See TODO.
	* radscm/Makefile.am: Removed radctl.scm.
	* radscripts/radctl.m4: Removed cntl interface.

	* TODO: Updated.

2001-08-22 Sergey Poznyakoff

	Somewhat regretfully, removed radlib/radprintf.c, and
	switched to using snprintf functions instead of
	rad.*printf(). The latter were OK, but the only
	major advantage they provided was %I and %A specifiers,
	which are not such a big deal, after all. Besides, they
	make lint ang gcc -Wall angry...
	Points 1,2 and 4 of left-to-do's mentioned in the entry
	from yesterday remain in force.

	* configure.in: Check for snprintf function.
	* radlib/radprintf.c: removed.
	* radlib/snprintf.[ch]: (new) (v)snprintf replacement for
	systems lacking it.

	* radlib/util.c: debug_pair(), format_ipaddr(),
	format_pair() functions.
	* include/radius.h: Prototypes for the above functions.
	* include/radiusd.h: Removed not needed protos.
	* include/log.h: Removed prototypes for rad.*printf() functions.

	* radiusd/debugmod.c: Removed (generated file).
	* radlib/debugmod.c: Removed (generated file).

	* radiusd/.cvsignore: Added debugmod.c
	* radlib/.cvsignore: Added debugmod.c

        * client/pam_radius/pam_radius.c: Changed rad.*printf calls to
	(v)snprintf calls, using format_pair and format_ipaddr where
	necessary:
        * radiusd/acct.c: Likewise.
        * radiusd/auth.c: Likewise.
        * radiusd/builddbm.c: Likewise.
        * radiusd/checkrad.c: Likewise.
        * radiusd/config.y: Likewise.
        * radiusd/files.c: Likewise.
        * radiusd/log.c: Likewise.
        * radiusd/menu.c: Likewise.
        * radiusd/radiusd.c: Likewise.
        * radiusd/radutil.c: Likewise.
        * radiusd/rewrite.y: Likewise.
        * radiusd/snmpserv.c: Likewise.
        * radiusd/stat.c: Likewise.
        * radlib/avl.c: Likewise.
        * radlib/client.c: Likewise.
        * radlib/log.c: Likewise.
        * radlib/radutmp.c: Likewise.
        * radlib/strerror.c: Likewise.
        * radlib/util.c: Likewise.
        * raduse/raduse.c: Likewise.
        * sql/postgres.c: Likewise.

        * radlib/vasprintf.c: Reverted previous change.

	* include/radmibs.h: removed (generated file).

	* TODO: Removed radprintf-related entry.

        * radlib/Makefile.am: Added snprintf.[ch]. Moved headers to
	noinst_HEADERS variable. Removed -fAI from the lint invocation.

        * radiusd/Makefile.am: Removed -fAI from the lint invocation.
        * radlast/Makefile.am: Likewise.
        * radscm/Makefile.am: Likewise.
        * raduse/Makefile.am: Likewise.
        * radwho/Makefile.am: Likewise.
        * radzap/Makefile.am: Likewise.
        * sql/Makefile.am: Likewise.

2001-08-21 Sergey Poznyakoff

	Further changes to log subsystem. This commit compiles
	and runs fine. The rewriting of the logging stuff is
	not finished, though. Things to be done are:
		1. Make radiusd/log.c part of liblog library,
		   split off application-dependent stuff from it.
		2. Preserve "stdout" channel until exit(). Now
		   it gets nuked by log_release().
		3. Get rid of radprintf.c, use GNU snprintf instead.
		4. Of course, document changes.

	* include/log.h: Added L_UPTO() and some prototypes.
	* radiusd/acct.c: Call to log_open().
	* radiusd/auth.c: Call to log_open(). Use severity
	specifications in calls to radlog().
	* radiusd/proxy.c: Use severity	specifications in calls to radlog().
	* radiusd/snmpserv.c: Use log_open().
	* radiusd/config.y: Changed category <name> syntax. <Name>
	can now be any of:
		CATEGORY
		SEVERITY
		CATEGORY '.' SEVERITY
	SEVERITY allows '=' and '!' prefixes to specify exact match
	and exclusion of the given severity level.
	* radiusd/log.c: Added log_open() and log_close().
	vlog(): Fixed bug: asprintf() was erroneously called instead
	of vasprintf().
	Fixed declarations of catname[] and priname[].
	Added _dolog() function and fixed _debug_print.
	New functions:
		channel_free()	--   free memory allocated for a channel
		channel_free_list() -- free channel list starting from
			the given channel.
		log_mark()      --   return the head of the chanlist.
		log_release()   --   release all channels starting
			from the given one. Do all the necessary
			housekeeping.
		log_set_to_console() -- Request logging to the console
			(stderr).
		log_set_default() -- install default logging channel.
	
	channel_lookup(): Changed semantics of `pri' argument. 	

	* radiusd/radiusd.c: Set default logging channel. Use log_close()
	where appropriate.
	* radiusd/rewrite.y: rw_attrasgn(): Check for null return of
	avp_create() (happens only when raddb/dictionary and, consequently,
	include/raddict.h is malformed).

	* radlib/log.c: Fixed to match new logging subsystem.

	* radlib/dict.c: Fixed attr_number_to_dict().

	* radlib/vasprintf.c: Use radvsprintf() instead of
	vsprintf(). This is temporary. I guess, I'll have to get rid
	of radprintf.c and use GNU snprintf.c instead.

	* radlast/Makefile.am: Changed library linking order.
	* radscm/Makefile.am: Likewise.
	* raduse/Makefile.am: Likewise.
	* radwho/Makefile.am: Likewise.
	* radzap/Makefile.am: Likewise.

	* raddb/dictionary: Acct-Ext-Program and Log-Mode-Mask
	were assigned the same number. Fixed.
	* include/raddict.h: Likewise.

2001-08-20 Sergey Poznyakoff

	Started rewriting log subsystem. Log channels will now be
	separated on categories (main,auth,acct,snmp,proxy) as well
	as severity levels. The internal mechanics resembles that
	of syslog utility.

	NOTE: This commit does not compile. It misses some essential
	stuff.

	* radlib/vasprintf.c: (new) GNU (v)asprintf function. 
	* radlib/Makefile.am: Add vasprintf.c

	* include/log.h: Major rewrite. 
	* include/radiusd.h: Added RLOG_ constants and log_mode declaration.
	* radiusd/config.kw: Removed S_ constants. Changed their occurences
	to corresponding L_ constants from log.h
	Added print-category keyword (don't forget to document it!).
	* radiusd/config.y: Changed logging declaration syntax.
	* radiusd/log.c: Major rewrite.
	* radiusd/radiusd.c: Added log_mode definition.
	* radlib/debug.c: Removed debug_output(), debug_sprintf().

	* radlib/dict.c: Removed L_CONS occurences.
	* radlib/users.y: Likewise.

2001-08-20 Sergey Poznyakoff

	Changed debugging conventions. Each module that calls debug()
	functions should define symbol RADIUS_MODULE_<modulename>
	before inclusion of config.h. When a new module is added
	which uses debug facility, make debugmod should be run to
	update include/debugmod.h and ./debugmod.c.

	* scripts/debug.sh: Create a single header file instead of
	modifying each source.
	* Makefile.am: Split invocation of debug.sh among several lines
	for readability.
	* acconfig.h: Include <debugmod.h>

	* include/Makefile.am: Added debugmod.h
	* include/.cvsignore: Likewise.

	* test/Makefile.am: Added INCLUDES.
	* sql/Makefile.am: Use libsql_la_SOURCES instead of libsql_a_SOURCES.

	* radiusd/acct.c: Define RADIUS_MODULE_<modname> at the start.
	* radiusd/auth.c: Likewise.
	* radiusd/builddbm.c: Likewise.
	* radiusd/checkrad.c: Likewise.
	* radiusd/debugmod.c: Likewise.
	* radiusd/exec.c: Likewise.
	* radiusd/files.c: Likewise.
	* radiusd/notify.c: Likewise.
	* radiusd/pam.c: Likewise.
	* radiusd/proxy.c: Likewise.
	* radiusd/radius.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/radutil.c: Likewise.
	* radiusd/rewrite.y: Likewise.
	* radiusd/snmpserv.c: Likewise.
	* radiusd/sql.c: Likewise.
	* radiusd/stat.c: Likewise.
	* radlib/debugmod.c: Likewise.
	* radlib/leakdetect.c: Likewise.
	* radlib/mem.c: Likewise.
	* radlib/users.y: Likewise.
	* sql/mysql.c: Likewise.
	* sql/postgres.c: Likewise.

2001-08-19 Sergey Poznyakoff

	Modified SQL interface: radiusd can now be configured to use
	both mysql and postgres. Switching between the two is controlled
	by "interface" statement in raddb/sqlserver file.

	* sql: (new dir): SQL interface library.
	* sql/Makefile.am: (new)
	* sql/.cvsignore: (new)
	* sql/disp.c: (new) SQL interface dispatcher.
	* sql/mysql.c: (new, from radlib/): MySQL interface functions.
	* sql/postgres.c: (new, from radlib/): Postgres interface functions.

	* radiusd/sql.c: Added "interface" keyword (raddb/sqlserver). Changed
	rad_sql_ calls to appropriate disp_sql_ ones.
	* radiusd/version.c: Changed SQL-related members of compile_flag_str[].
	* include/radsql.h: Prototypes for dispatching functions and data
	structures.
	* radiusd/Makefile.am: Changed SQL-related stuff.

	* radlib/mysql.c: Removed.
	* radlib/postgres.c: Removed.
	* radlib/Makefile.am: Removed mysql.c and postgres.c

	* Makefile.am: Added sql to SUBDIRS.
	* acconfig.h: Changed SQL-related defines.
	* acinclude.m4: rad_RESULT_ACTIONS (ported from GNU inetutils).
	* configure.in: Changed SQL-related defuns. New options: --with-mysql
	and --with-postgres (can be used together). --enable-sql is retained
	for backward compatibility.
	* m4/lib.m4: (new) rad_CHECK_LIB: check several paths for the presense
	of a library.
	* m4/Makefile.am: Added lib.m4

	* raddb/sqlserver: Added sample interface statement.

	* include/radctl.h: Removed.
	* include/Makefile.am: Removed radctl.h.
	
2001-08-19 Sergey Poznyakoff

	* radiusd/radiusd.c: Unlink pidfile on shutdown.
	* radlib/radpaths.c: Global variable radpid_dir.
	* include/radius.h: Declaration for radpid_dir.

	* radlib/client.c: Removed PORT_CNTL.
	* include/radclient.h: Likewise.

	* test/raddb/radctl.rc.in: Removed @CNTL_PORT@
	* test/test.scm: Restored functionality. rad-cntl uses
	signals instead of obsolete cntl interface.

	* radscm/radscm.c: rad-client-set-server: removed CNTL-NUM.

	* TODO: Updated.

2001-08-18 Sergey Poznyakoff

	* mibs/GNU-RADIUS-SERVER-MIB.txt: Updated.
	* mibs/GNU-RADIUS-SERVER-MIB.chart: Graphical representation
	of radiusServerMIB subtree.
	* mibs/radmibs.h.in: Updated.

	* radlib/mem.c: mem_stat_enumerate() accepts extra argument
	(closure).
	* include/mem.h: Likewise.
	* radiusd/radiusd.c: Likewise.

	* radiusd/snmpserv.c: Implemented whole radiusServerMIB subtree.
	snmp_sort_nas_stat(): Sort nas_stat structures so that GET NEXT
	on .NASIndex.<IP> returns next lexicografically greater oid.
	* radiusd/files.c: read_naslist_file(): call snmp_sort_nas_stat().
	* include/radiusd.h: Proto for snmp_sort_nas_stat().

	* radiusd/config.y: Set 'once' argument in calls to asgn() to 0,
	except when setting radlog_dir and radacct_dir. Possibly I can
	get rid of fourth argument to asgn() altogether?

	* TODO: Updated.

2001-08-18 Sergey Poznyakoff

	* radiusd/radiusd.c: sig_usr1(): changed due to the changes
	in underlying library functions.
	* radiusd/snmpserv.c: Implemented radiusServerQueueTable
	subtree.

	* radlib/mem.c: New functions: mem_get_stat() and
	mem_stat_enumerate() instead of meminfo().

	* include/mem.h: MEM_STAT, CLASS_STAT, declarations for
	mem_get_stat() and mem_enumerate().
	* include/radiusd.h: Changed proto for stat_request_list().
	Added typedef QUEUE_STAT.

2001-08-17 Sergey Poznyakoff

	* mibs/GNU-RADIUS-SERVER-MIB.txt: (new) MIBs describing internals
	of the radius daemon.
	* mibs/radmibs.h.in: Added mibs from GNU-RADIUS-SERVER-MIB.
	* radiusd/snmpserv.c: Implemented radiusServerUpTime and
	radiusServerResetTime. radiusServerState implemented partially
	(read-only).
	* include/radsnmp.h: New values for enum serv_stat: serv_suspended,
	serv_shutdown.
	* radiusd/config.y: Fixed bug in the action for 'severity' rule.

2001-08-16 Sergey Poznyakoff

	Removed control port support from radiusd/. All its functionality
	is to be transferred to snmp. Implemented listening to multiple
	interfaces/ports.

	* radiusd/radctl.c: Removed.
	* radiusd/Makefile.am: Removed radctl.c.
	* radiusd/config.y: New keyword: "listen". Currently it is used
	in auth and acct statements. "cntl" statement is obsolete: retained
	for backward compatibility.
	* radiusd/config.kw: Added "listen" keyword.
	* radiusd/radiusd.c: Removed cntl_port. Implemented listening
	to multiple interfaces/ports.
	getmyip(): removed hostname length restriction.
	* include/radiusd.h: Added declaration for HOSTDECL. Removed cntl_port.

	* raddb/config: Reflect changes in the syntax.
	* raddb/config.status: Likewise.
	* raddb/huntgroups: Removed cntl-specific huntgroups.

	* radlib/leakdetect.c: Added xrealloc(), erealloc().
	* include/mem.h: Protos for the above.

	* radiusd/files.c: realm_find(): do not return DEFAULT realm when asked
	for NOREALM.

	* test/raddb/config.in: Removed CNTL_PORT.
	* test/test.sh: Removed CNTL_PORT.
	* test/raddb/users: Removed ROOT.
	* test/raddb/huntgroups: Removed cntl-specific huntgroups.
	* test/raddb/test.scm: Removed cntl-specific functions.

	NOTE: currently `make check' does not work due to the lack of
	radctl functionality.

	* TODO: Updated.
	* NEWS: Updated. I should make it understandable to human beings
	when I'm through doing the changes.

2001-08-15 Sergey Poznyakoff

	* radiusd/radutil.c: Do not add extra spaces after expanding
	%C{Password}. 
	* radiusd/proxy.c: Fixup string length after stripping off
	LOCAL realm (Reported by Michael Smirnov). Handle NOREALM
	special realm.
	* radiusd/files.c: Handle NOREALM special realm.
	* radiusd/radiusd.c: Removed check for @ before calling proxy_send().

	* THANKS: Added Michael Smirnov.
	* TODO: Updated.

2001-08-10 Sergey Poznyakoff
	* ylwrap: New option -stdout allows to run programs that send
	their output to stdout (e.g. gperf)
	* configure.in: Added check for gperf
	* radiusd/config.y: Split off keyword recognizer into a separate
	module.
	* radiusd/config.kw: (new) Keywords for config.y. To be processed
	by gperf.
	* radiusd/Makefile.am: Added rules for config.kw.

	* configure.in: Changed version number (0.96-alpha.1)

	* include/radiusd.h: Removed definitions specific for librad.
	* inlcude/radius.h: Added librad-specific definitions.
	struct NAS: changed last member.

	All sources: changes due to the above.

	* raduse/raduse.c: Removed duplication of nas_ functions.
	* radzap/radzap.c: Likewise.

2001-08-07 Sergey Poznyakoff
	* radlib/argcv.c: Fixed bug in argcv_get: it was filling an extra
	argv slot.
	* radiusd/sql.c: Execute group_query and attr_query only if doauth
	is yes.

	* radiusd/symtab.c: Moved to radlib.

	* radlib/symtab.c: (new from ../radiusd): Added re-hashing.
	Changed return value of install/lookup functions from Symbol*
	to void* to eliminate superfluous typecasts.
	* include/symtab.h: New prototypes.

	* radlib/dict.c: Use symtabs for attributes and values. Removed
	length limit on symbol names.

	* include/radiusd.h: Changed DICT_ATTR and DICT_VALUE to fit the
	new allocation mechanism (symtabs instead of slists).

	* test/raddb/sqlserver: removed query_buffer_size claus.

2001-07-31 Sergey Poznyakoff <gray@farlep.net>
	Bunch of changes to make %C{Password} substitution return plaintext
	password. In the meantime, unified calling conventions a bit:

	* include/radiusd.h: Fixed protos for user_find(), hints_setup(),
	radius_exec_program(), radius_xlate().
	* include/radsql.h: Added proto for rad_sql_attr_query().
	* radiusd/acct.c: Fixed calls to hints_setup() and
	radius_exec_program().
	* radiusd/auth.c: Fixed calls to hints_setup(), user_find(),
	radius_exec_program().
	* radiusd/builddbm.c: Changed prototype of user_find_db().
	* radiusd/exec.c: Changed prototype of radius_exec_program().
	* radiusd/files.c: Changed protos of user_find(), user_find_sym(),
	user_find_db(), match_user(), hints_setup().
	* radiusd/radctl.c: Fixed call to user_find().
	* radiusd/radutil.c: Changed proto of attr_to_str(), radius_xlate().
	* radiusd/sql.c: Fixed calls to radius_xlate(). Changed proto of
	rad_sql_attr_query().

	* radlib/dbm.c: Fixed erroneous `#if' directive.


2001-07-30 Sergey Poznyakoff <gray@farlep.net>
	* radlib/argcv.c: argcv_get(): Terminate output argv with NULL
	entry.
	* radiusd/exec.c: Fixed bug in installing SIGCHLD handler
	introduced 2001-07-25.
	* radiusd/radutil.c: Fixed handling of NULL default value.
	* raddb/rewrite.full: Synched declaration of max_decode_port()
	with that in the documentation.
	

2001-07-25 Sergey Poznyakoff <gray@farlep.net>
	* radiusd/acct.c: added external accounting (function rad_acct_ext).
	Renamed rad_accounting_orig -> rad_acct_detail,
	rad_accounting_new -> rad_acct_system for consistency.
	* radiusd/radutil.c: Modified radius_xlate & friends to use obstack
	instead of fixed size output array. This removes buffer size
	restrictions. Added provisions for specifying default values
	for undefined attributes (shell-like syntax: %{Acct-Sessison-Time:-0},
	%{Acct-Sessison-Time:?not defined}, etc.).
	* radiusd/exec.c: Use argcv_get() instead of ad hoc parsing. Check for
	NULL before dereferencing reply. Changed invocations of radius_xlate()
	to conform to its new syntax.
	* radiusd/sql.c,radiusd/files.c: Changed invocations of radius_xlate()
	to conform to its new syntax.
	* include/radsql.h: removed buf member.
	* include/radiusd.h: Changed proto for radius_xlate(). Removed
	typedef BUFFER.
	* raddb/dictionary: Added Acct-Ext-Program attribute.
	* raddb/sqlserver: Removed query_buffer_size.

	* radlib/avl.c: avp_free(): free associated strvalue if p->eval is
	set.

	* raduse/raduse.c: Changed formatting of time values. The previous
	version was affected by LC_TIME settings.


2001-07-16 Sergey Poznyakoff <gray@farlep.net>
	* configure.in: When --with-client is specified build any part
	of client that can be built.
	* Makefile.am: Remove conditional BUILD_CLIENT block.
	* client/pam_radius/pam_radius.c: Fixed erroneous call to strtok().
	* client/pam_radius/Makefile.am: Substitution for pam_PROGRAMS.
	* client/nas/Makefile.am: Substitution for libexec_SCRIPTS so the
	client can still be built when GUILE is not installed.

2001-07-12 Sergey Poznyakoff <gray@farlep.net>
	Added possibility to defer evaluation of a reply pair value. To
	defer evaluation of a pair, it should be specified in raddb/users
	(or hints, huntgroups) in the following form:

		NAME = "=function(arg1,arg2,...)"

	`function' must be defined in raddb/rewrite.

	* radlib/argcv.c: (new, from GNU mailutils) Split a string on
	whitespace and given delimiters.
	* radlib/Makefile.am: Added argcv.c. Sorted SOURCES.
	* include/argcv.h: (new) Protos for argcv_.*() calls.
	* include/Makefile.am: Added argcv.h.
	* radiusd/rewrite.y: Modified interpret() to use argcv_ functions.
	* include/radiusd.h: Added eval member to VALUE_PAIR structure.
	Added proto for bug_report_address.
	* radiusd/auth.c: Evaluate a/v pairs with eval flag set.
	* radlib/users.y: Support for deferred evaluation.
	* radlib/radprintf.c: Print correctly pairs with deferred evaluation.
	* radiusd/files.c: Likewise.

	* radlib/users.l: Support for $INCLUDE and $DEBUG directives.
	* radlast/radlast.c: Fixed inappropriate usage of nas_lookup_ip() 
	functions, introduced 2001-07-09.

	* ylwrap: Modified sed expr to change lines `# line "lex.yy.c"'
	to `# line "sourcename.c"'

	* radlib/radpaths.c: Added bug_report_address.
	* radiusd/radiusd.c: Added 'Report bugs to..' to the --help output.
	* radiusd/version.c: Likewise.
	* radlast/radlast.c: Likewise.
	* raduse/raduse.c: Likewise.
	* radwho/radwho.c: Likewise.
	* radzap/radzap.c: Likewise.

	* configure.in: Changed version number (0.96-alpha.1).

2001-07-09 Sergey Poznyakoff <gray@farlep.net>
	* m4/Makefile.am: (new)
	* m4/maintain.m4: (new) Enable maintainer-specific definitions
	* configure.in: use rad_MAINTAINER_MODE
	* include/Makefile.am: Added EXTRA_DIST
	* include/snmp/Makefile.am: (new)
	* */Makefile.am: removed spurious CFLAGS assignments.
	Removed spurious -I statements in INCLUDES.
	Changes due to addition of new Makefile.am's.
	* radlib/Makefile.am: Moved yacc- and lex-generated sources to
	MAINTAINERCLEANFILES,
	* radiusd/Makefile.am: Likewise.

	* radlib/nas.c: (new) nas database functions
	* radlib/util.c: Added RADCK_ARG functions (from radiusd/files.c)
	* radlast/nasutil.c: removed.
	* radlast/radlast.c: changes due to introduction of radlib/nas.c

	* radiusd/version.c: Forgotten to commit on 2001-07-04.

	* include/checkrad.h: Protos for radck_ functions.
	* include/radiusd.h: Namespace housekeeping: normalized nas database
	function names (nas_ and client_ ).
	* radiusd/acct.c: Likewise.
	* radiusd/auth.c: Likewise.
	* radiusd/files.c: Likewise.
	* radiusd/proxy.c: Likewise.
	* radiusd/radctl.c: Likewise.
	* radiusd/radius.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/snmpserv.c: Likewise.
	* radiusd/sql.c: Likewise.
	* radiusd/stat.c: Likewise.


2001-07-04  Sergey Poznyakoff <gray@farlep.net>
	* include/sysdep.h,radiusd/version.c: Added support for
	OpenBSD (Thanks to Andrey Pavlenko <lance@evitel.net>).
	* radiusd/timestr.c: Fixed typo in comment. Improved
	standalone mode.
	* radlast/radlast.c: defer processing the -n option until
	radpath_init() is called.
	* client/pam_radius/pam_radius.c: assign a unique messg_id
	after creating radclient structure. This is needed if a
	client program calls pam_authenticate() several times.
	

2001-06-20  Sergey Poznyakoff <gray@farlep.net>
	* radscm/session.scm: added NAS-IP-Address to the packet
	  sent by rad-acct.
	* ylwrap: updated version based on the last snapshot from
	  automake CVS repository.
	* radiusd/auth.c: report CLID along with multiple login
	  diagnostics.
	* */.cvsignore: updated.

2001-06-07  Sergey Poznyakoff <gray@farlep.net>
	* radiusd/rewrite.y: fixed potential heap overflow in pushn().
          Fix in interpret (coredumped when missed '(').
	* Changed my username to real name in ChangeLog :^)
 
2001-06-01  Peter Kazmier           <pete@kazmier.com>
	* radiusd/radiusd.c, radiusd/sql.c, include/radsql.h: fixed
	  expiring of SQL connections.

2001-05-24  Sergey Poznyakoff <gray@farlep.net>
	* client/pam/pam_radius.c: finished namespace houskeeping.
	  Added debugging hook. Fixed trivial bugs in DEBUG macros.

2001-05-22  Sergey Poznyakoff <gray@farlep.net>
	* radlib/radutmp.c: fall back to readonly mode if the file can't
	  be opened read-write.
	* doc/COPYING.FDL: added
	* Changes in configure.in, */Makefile.am: provide replacements
          for obstack.*, getopt_long, rx.c functions when not present.
        * radiusd/radiusd.c, radwho/radwho.c, radlast/radlast.c,
          raduse/raduse.c, radzap/radzap.c: 
           Get rid of `#ifdef HAVE_GETOPT_LONG', since GNU getopt is
          now always present.
        * radiusd/radiusd.c: The same for HAVE_REGCOMP...

2001-05-21  Sergey Poznyakoff <gray@farlep.net>
	* radiusd/auth.c: fixed is_log_mode()
	* raddb/Makefile.am: added config.syntax to the distribution

2001-05-20  Sergey Poznyakoff <gray@farlep.net>
	* Removed radlib/fixalloc.c
	* Further namespace houskeeping:
		renamed AUTH_REQ to RADIUS_REQ

2001-05-19  Sergey Poznyakoff <gray@farlep.net>
	* Additivity and flags in DICT_ATTR structure. Additivity
        is a property of the attribute that determines the action
	to be taken if an attempt is made to add the A/V pair
	to the list that already contains a pair with given
	attribute. There are three possible actions:
		None(Drop)   -- any subsequent additions of the
				attribute are ignored;
		Replace	     -- the new A/V pair replaces the old
				one;
		Append	     -- the new pair is appended to the
				end of the list.
	Flags determine whether the attribute can be used in check or
	reply list in raddb/users.
	* Namespace housekeeping. Various pair.*, .*pair functions
	renamed:
		 pairmove_single --	avp_move
		 pairmove2	--	avl_move_attr
		 pairfree	--	avl_free
		 free_pair	--	avp_free
		 pairfind	--	avl_find
		 pairdelete	--	avl_delete
		 pairmove	--	avl_merge
		 pairlistadd	--	avl_add_list
		 pairadd	--	avl_add_pair
		 paircopy	--	avl_dup
		 pairdup	--	avp_dup
		 create_pair	--	avp_create
        avl_.* functions operate upon A/V lists, avp_.* functions
	operate upon A/V pairs.

2001-05-18  Sergey Poznyakoff <gray@farlep.net>
	* Made backslash() global
	* Modified raddb.c to accept \<newline> continuation sequence.
	* Restored '-' notify reply semantics (see 2001-05-09)

2001-05-17  Sergey Poznyakoff <gray@farlep.net>
	* rad_sql_reconnect did not clear conn->connected on failure. 
	  Probably conn->connected is not needed after all: can just 
	  use conn->data != NULL instead.

2001-05-11  Sergey Poznyakoff <gray@farlep.net>
	Debugged radscm/nas.scm interaction.

2001-05-11  Michael Samuel   <michael@miknet.net>
        Added possibility to retrieve arbitrary reply pairs from
        the SQL database.

2001-05-10  Sergey Poznyakoff <gray@farlep.net>
	* Added Guile functions for dealing with rad[uw]tmp files.
	* radlib/log.c: use rad?printf() functions instead of ?printf().
	* radscripts/Makefile.am: use of _SCRIPTS instead of _PROGRAMS.

2001-05-09  Sergey Poznyakoff <gray@farlep.net>
	* notify.c: return 0 ttl when the peer responds with '-'.
	Reported by Andrey Y. Mosienko <feo@ttn.ru>
	* Added radwtmp_putent() function (radlib/radutmp.c), modified
	  other sources accordingly.

2001-05-08  Sergey Poznyakoff <gray@farlep.net>
	radscm/ sources: added autogeneration of *.x, *.doc files.
	Changed function declarations in radscm/radscm.c accordingly.
	Also added scripts/guile directory: see comment at the start of
	scripts/guile/guile-doc-snarf to find out why.

2001-05-06  Sergey Poznyakoff <gray@farlep.net>
	* Added m4 directory and modified configure.in.
	* create_dbm() in DBM_DBM mode used malformed filenames.
	* implemented ylwrap in makefiles
	* Added radlib/radutmp.c. Changed related sources accordingly.
	* Cleaned up rad_accounting_new().

2001-05-05  Sergey Poznyakoff <gray@farlep.net>
	Added client suite. Converted Makefile.am's to use libtool.
	Added Makefile.am to raddb subdirectory.

2001-05-03 Sergey Poznyakoff

	-== Version 0.95 released ==-

2001-04-28  Sergey Poznyakoff <gray@farlep.net>
	Fixed errors in acct_stop_query and acct_keepalive_query in
	the default sqlserver file. Reported by Oleg Gawriloff 
	<Oleg_Gawriloff@atlantm.com>.

2001-04-26  Sergey Poznyakoff <gray@farlep.net>
	Added AM_PROG_CC_STDC to configure.in. Modified postgres.c
	to properly handle fatal error conditions. Reported by
	Andrew Kohlsmith <akohlsmith@benshaw.com>.

2001-04-19  Sergey Poznyakoff <gray@farlep.net>
	Fixed radiusd/timestr.c. Fixed radiusd/version.c so the
	native AIX compiler does not bail out (reported by
	Adrean P. van Bloois <adrian@accu.uu.nl>).

2001-04-17  Sergey Poznyakoff <gray@farlep.net>
	Fixed getopt_long detection in configure.in.

2001-04-12  Sergey Poznyakoff <gray@farlep.net>	
	Written radconf-mode.el -- a major mode for editing raddb/config
	file.

2001-04-11  Sergey Poznyakoff <gray@farlep.net>
	Fixed bug in radiusd/sql.c which prevented acct_keepalive_query
	from working.

2001-04-10  Sergey Poznyakoff <gray@farlep.net>
	Modified radlast.c to exit gracefully on keyboard interrupt.

2001-04-07  Sergey Poznyakoff <gray@farlep.net>
	Added elisp directory. Written radius-mode.el -- a major
	mode for editing files raddb/users,hints,huntgroups.

2001-03-31  Sergey Poznyakoff <gray@farlep.net>
	Fixed bug in radiusd/proxy.c that caused A/V pairs to be freed
	twice. Improved debug()s. 
	Inserted calls to insist() in critical places of radlib/mem.c.
	Probably these should be enabled only when in maintainer mode...

2001-03-30  Sergey Poznyakoff <gray@farlep.net>
	Fixes in snmplib/snmp_sess.c.
	Moved private SNMP MIBs to the enterprise number assigned by IANA.

2001-03-27  Sergey Poznyakoff <gray@farlep.net>
	Changed Stat MIBs and snmpserv.c so that previous ..Date
        variables be returned as unix timestamp values.

2001-03-25  Sergey Poznyakoff <gray@farlep.net>
	snmpserv.c completely rewritten. Stat MIBs are slightly changed
	to provide for easier indexing of data.

2001-03-20  Sergey Poznyakoff <gray@farlep.net>
	Changed typedef ipaddr to ipaddr_t to prevent possible name
	clashes (snmplib, include/snmp/snmp.h). Fixed inclusion of
	<sys/time.h>, <time.h> in sysdep.h.

2001-03-19  Sergey Poznyakoff <gray@farlep.net>
	Added Log-Mode-Mask attribute. The attribute modifies logging
	mode for a given username/hint-group. Works like UNIX umask,
	i.e. effective-log-mode = log_mode & ~Log-Mode-Mask.

2001-03-18  Sergey Poznyakoff <gray@farlep.net>
	Finally finished writing SNMP library and attached it instead
	of hacked up CMU version used previously. Adapted
	radiusd/checkrad.c and radiusd/snmpserv.c for new calling 
	conventions. The latter seems to need good rewriting.

2001-03-17  Sergey Poznyakoff <gray@farlep.net>
	Discovered and chopped memory leak in radiusd/checkrad.c. The
	effect of the leak would be noticeable only if running radiusd
	long enough with continuous SNMP polling of NASes.

2001-03-15  Sergey Poznyakoff <gray@farlep.net>
	Removed unnecessary radlog.h from includes. 
	Moved system-dependent calls to radlib/sysdep.c.
	Introduced getmaxfd() call instead of supposing an arbitrary 
	number of open file descriptors (radiusd/radiusd.c, radiusd/exec.c).
	Added check to the length of Password attribute in radiusd/client.c.

2001-03-14  Sergey Poznyakoff <gray@farlep.net>
	Added @ to the array of symbols allowed in a username.
	Thanks to Jody Owens for reporting the bug.
        Added NULL pointer check to rad_pam_conv: Solaris does 
	not pass appdata_ptr if the server is not running euid 0. Why?

2001-03-13  Sergey Poznyakoff <gray@farlep.net>
	Added ! to the array of symbols allowed in a username.
	Got rid of last annoying traces of snprinf calls in
	snmplib. Have to rewrite snmplib as soon as possible.

2001-13-12 Sergey Poznyakoff

	-== Version 0.94 released ==-

2001-03-10  Sergey Poznyakoff <gray@farlep.net>
	Rewritten radiusd/pam.c. 
	Modified radiusd/log.c so that it echoes log messages to
	console until the program detaches from it. Improved string
	handling in radlib/users.l

2001-03-09  Sergey Poznyakoff <gray@farlep.net>
	Added semantic checks for `users' and `hints' files.
	Integrated builddbm into radiusd.

2001-03-05  Sergey Poznyakoff <gray@farlep.net>
	Fixed DBM file handling. Now it provides the same functionality
	as plaintext user database.

2001-03-04  Sergey Poznyakoff <gray@farlep.net>
	Introduced Auth-Data attribute. Currently it is handled
	by Pam and SQL Auth-Types.

2001-03-02  Sergey Poznyakoff <gray@farlep.net>
	Introduced HAVE_SETEUID switches to radiusd/exec.c.

2001-03-01  Sergey Poznyakoff <gray@farlep.net>
	Changed setlinebuf() in radiusd/radiusd.c to setvbuf(). Added
	check for <sys/select.h> needed by AIX. Reported by Alexandre Oliva.

2001-02-28  Sergey Poznyakoff <gray@farlep.net>
	groupcheck() did not attempt to fetch group name from SQL
	database. Fixed it. Added group_query to raddb/sqlserver.
	Added necessary changes to radlib/mysql.c and radlib/postgres.c
	This requires the use of an additional attribute (Queue-Id) which
	seems to be a kludge.

2001-02-25  Sergey Poznyakoff <gray@farlep.net>
	Added radsprintf functions. Fixed statements in configure.in and
	*/Makefile.am which were not compatible with Digital Unix and
	Solaris. Patches kindly donated by Alexandre Oliva <oliva@gnu.org>.

2001-02-18  Sergey Poznyakoff <gray@farlep.net>
	radiusd/timestr.c completely rewritten. The new version is
	much faster and does a reliable error-checking.

2001-02-17  Sergey Poznyakoff <gray@farlep.net>
	Integrated checkrad into radiusd. Fixed some bugs in rewrite.y

2001-02-14  Sergey Poznyakoff <gray@farlep.net>
	Introduced Match-Profile and Include-Profile attributes.
	Introduced BEGIN keyword in users.

2001-02-12  Sergey Poznyakoff <gray@farlep.net>
	Modified checkrad to use snmplib instead of calling external
	process.

2001-02-08  Sergey Poznyakoff <gray@farlep.net>
	Introduced realm quotas. Added extra entry to radutmp structure
	to keep the realm's handling server. Size of the structure did
	not change, so it should be compatible with previous versions.
	Added extra format flag `realm' to radwho. 

2001-02-06  Sergey Poznyakoff <gray@farlep.net>
	Fixed handling of integer objects in radscm/radscm.c (added
	bignums). Improved test/test.scm. 

2001-02-04  Sergey Poznyakoff <gray@farlep.net>
	Fixed radiusd/timestr.c to allow for "descending" time strings
	(Al1800-0100)

2001-02-01  Sergey Poznyakoff <gray@farlep.net>
	Added -i option (source IP address) to radiusd.
	Fixed nasty bug in radscm/radscm.c:radclient_alloc_server
	(missing return statement).
	Added some additional checks to configure.
	Added acct_alive_query keyword to raddb/sqlserver and
	modified radiusd/acct.c to handle this type of queries.

2001-01-31  Sergey Poznyakoff <gray@farlep.net>
	Fixed alignment bug in radlib/mem.c Thanks to Oswaldo E. Aguirre M.
	<oaguirre@reacciun.ve>.
	Fixed radlib/md5.c (did not work on Sparks). 

2001-01-26 Sergey Poznyakoff

	-== Version 0.93 released ==-

2001-01-23  Sergey Poznyakoff <gray@farlep.net>
	Added boolean shortcut evaluation and bitwise operations
	to rewrite.y

2001-01-17  Sergey Poznyakoff <gray@farlep.net>
	Finished writing radscm. Wrote guile modules which replace radctl
	and radtest programs. Removed radctl and radtest subdirs from the 
	distribution. Also added radctl.m4 to radscripts directory, so that
	the functionality of old radctl is preserved.
	
2001-01-16  Sergey Poznyakoff <gray@farlep.net>
	Fixed bugs in menu.c

2001-01-15  Sergey Poznyakoff <gray@farlep.net>
	Removed --with-etcdir from configure.in. 
	Removed setting directory permissions to ETC_DIR in
	install-data-local in Makefile.am. Thanks to
	Alexandre Oliva <oliva@gnu.org> who proposed both
	changes.

2001-01-10  Sergey Poznyakoff <gray@farlep.net>
	Started writing radscm -- a guile interface to radius functions.
	I suppose it will obsolete both radctl and radtest as they could
	be written as guile modules.

2001-01-08  Sergey Poznyakoff <gray@farlep.net>
	Added loops to rewrite.y

2000-12-28  Sergey Poznyakoff <gray@farlep.net>
	Removed radiusd/oldconfig.c. Its functionality moved to
	radlib/raddb.c. raddb.c does not restrict input field lengths, 
	though calling functions still restrict it.
	radlib/dict.c rewritten from scratch.
	Removed support for ATTRIB_NMC keyword in dictionaries. 
	
2000-12-26  Sergey Poznyakoff <gray@farlep.net>
	Cached digest info in AUTH_REQ structure for authentication
	requests.

2000-12-25  Sergey Poznyakoff <gray@farlep.net>
	Added support for PostgreSQL and fixed some bugs in sql.c

2000-12-21 Sergey Poznyakoff

	-== Version 0.92.1 released ==-

2000-12-20  Sergey Poznyakoff <gray@farlep.net>
	Replaced radlib/md5.c and raduse/screen.c

2000-12-18  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/test
        In directory Mirddin:/export/home/gray/radius/test
        
        Modified Files:
        	acct.off.t acct.on.t acct.start.t acct.stop.t auth.t
        Log Message:

2000-12-18  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/scripts
        In directory Mirddin:/export/home/gray/radius/scripts
        
        Modified Files:
        	dict.awk
        Log Message:
        Modified comment handling
        
2000-12-18  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/radzap
        In directory Mirddin:/export/home/gray/radius/radzap
        
        Modified Files:
        	radzap.c
        Log Message:

2000-12-18  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/radwho
        In directory Mirddin:/export/home/gray/radius/radwho
        
        Modified Files:
        	radwho.c
        Log Message:
        Completely rewritten.
        
2000-12-18  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/raduse
        In directory Mirddin:/export/home/gray/radius/raduse
        
        Modified Files:
        	raduse.c

2000-12-18  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/radtest
        In directory Mirddin:/export/home/gray/radius/radtest
        
        Modified Files:
        	debugmod.c gram.y input.l main.c radtest.c symtab.c
        Log Message:
        Addedd assignments in command line (without any option). Modified
        type handling in command line assignments. Added VSA handling.

2000-12-18  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/radscripts
        In directory Mirddin:/export/home/gray/radius/radscripts
        
        Modified Files:
        	Makefile.in radauth.m4
        Log Message:
        Adapted radauth.m4 to changes made in radtest

2000-12-18  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/radiusd
        In directory Mirddin:/export/home/gray/radius/radiusd
        
        Modified Files:
        	config.y debugmod.c files.c menu.c radiusd.c sql.c symtab.c

2000-12-18  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/raddb
        In directory Mirddin:/export/home/gray/radius/raddb
        
        Modified Files:
        	config config.syntax dictionary dictionary.cisco
        	dictionary.compat dictionary.livingston dictionary.merit
        	dictionary.tunnel dictionary.usr hints huntgroups users
        Added Files:
        	access.deny dictionary.voip
        Removed Files:
        	ippool radius.deny
        Log Message:
        Browsed and cleaned up all files. Also renamed radius.deny to
        access.deny

2000-12-18  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/radctl
        In directory Mirddin:/export/home/gray/radius/radctl
        
        Modified Files:
        	radctl.c
        Log Message:
        Commands and options are made consistent

2000-12-12  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/test
        In directory Mirddin:/export/home/gray/radius/test
        
        Modified Files:
        	auth.t portmap2.t

2000-12-12  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/radtest
        In directory Mirddin:/export/home/gray/radius/radtest
        
        Modified Files:
        	input.l main.c
        Log Message:
        Fixed string handling in input.l. It is now able to
        read strings with escaped char sequences.
        Added special feature to main.c: if argument contains
        equal sign it is supposed to be an assignment. This obsoletes
        the -a option.

2000-12-12  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/radscripts
        In directory Mirddin:/export/home/gray/radius/radscripts
        
        Modified Files:
        	Makefile.in
        Log Message:

2000-12-12  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/radiusd
        In directory Mirddin:/export/home/gray/radius/radiusd
        
        Modified Files:
        	config.y files.c radiusd.c rewrite.y sql.c symtab.c
        Log Message:
        Removed portmapping support. Its functionality is now
        provided by a rewrite feature, which is much more clever :)

2000-12-12  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/raddb
        In directory Mirddin:/export/home/gray/radius/raddb
        
        Modified Files:
        	config.syntax dictionary dictionary.cisco
        Added Files:
        	rewrite
        Removed Files:
        	portmap
        Log Message:
        Removed portmapping support. Its functionality is now
        provided by a rewrite feature, which is much more clever :)
        
2000-12-12  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/include
        In directory Mirddin:/export/home/gray/radius/include
        
        Modified Files:
        	radiusd.h
        Log Message:
        
2000-12-12  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/doc/texinfo
        In directory Mirddin:/export/home/gray/radius/doc/texinfo
        
        Added Files:
        	Makefile.am mdate-sh radius.texinfo version.texi
        Log Message:
        Started writing texinfo doc.

2000-12-12  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/doc
        In directory Mirddin:/export/home/gray/radius/doc
        
        Removed Files:
        	1 Makefile.am builddbm.8.m4 builddbm.8rad config.m4 include.m4
        	mkconfig.sed r.8rad radctl.8.m4 radctl.8rad radgrep.1.m4
        	radgrep.1rad radiusd.8.m4 radiusd.8rad radlast.1.m4
        	radlast.1rad radping.8.m4 radping.8rad radtest.8.m4
        	radtest.8rad raduse.1.m4 raduse.1rad radwho.1.m4 radwho.1rad
        	radzap.8.m4 radzap.8rad rfc1157.txt rfc2138.txt rfc2618.txt
        	rfc2619.txt rfc2620.txt rfc2621.txt rfc2865.txt rfc2866.txt
        	rfc2867.txt rfc2868.txt rfc2869.txt rfc2882.txt template
        Log Message:
        Documentation files are now distributed to corresponding
        directories. Started writing texinfo doc.
        
2000-12-12  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius
        In directory Mirddin:/export/home/gray/radius
        
        Modified Files:
        	acconfig.h configure configure.in
        Log Message:
        Removed --enable-decode-ascend-ports, since it is now provided
        by raddb/rewrite
        
2000-12-08  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/doc/html
        In directory Mirddin:/export/home/gray/radius/doc/html
        
        Log Message:
        Directory /export/cvsroot/radius/doc/html added to the repository
        
2000-12-08  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/doc/texinfo
        In directory Mirddin:/export/home/gray/radius/doc/texinfo
        
        Log Message:
        Directory /export/cvsroot/radius/doc/texinfo added to the repository

2000-12-08  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/doc/man
        In directory Mirddin:/export/home/gray/radius/doc/man
        
        Log Message:
        Directory /export/cvsroot/radius/doc/man added to the repository
        
2000-12-07  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/radiusd
        In directory Mirddin:/export/home/gray/radius/radiusd
        
        Modified Files:
        	rewrite.y
        Log Message:
        Fixed some errors in multiline #define's

2000-12-07  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/doc
        In directory Mirddin:/export/home/gray/radius/doc
        
        Removed Files:
        	builddbm.8 radctl.8 radgrep.1 radiusd.8 radlast.1 radping.8
        	radtest.8 raduse.1 radwho.1 radzap.8
        Log Message:
        Removed unnecessary files. These should be generated on build stage.
        
2000-12-07  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/radiusd
        In directory Mirddin:/export/home/gray/radius/radiusd
        
        Modified Files:
        	Makefile.am acct.c auth.c config.y debugmod.c exec.c files.c
        	ippool.c log.c menu.c mysql.c notify.c oldconfig.c proxy.c
        	radctl.c radiusd.c radutil.c snmpserv.c sql.c stat.c symtab.c
        	version.c
        Added Files:
        	rewrite.y
        Removed Files:
        	portmap.y
        Log Message:
        radiusd.c:      Added request_cleanup call to rad_spawn_child (when
        		sending signal to the child, the parent does not
        		receive any SIGCHLD, thus all the house-keeping
        		should be done immediately after calling kill())
        sql.c           request_setup always returns 0 (Ok), thus allowing
        		the daemon to proceed with another accounting method
        		when SQL fails.
        Added rewriting module. If the request matches a huntgroup with
        Rewrite-Function attribute, the value of the latter is taken as
        a name of a function to apply to the check packet. The rewriting
        functions are defined in the file `raddb/rewrite'. The language
        is similar to C, though much more primitive.
        
2000-12-07  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/raddb
        In directory Mirddin:/export/home/gray/radius/raddb
        
        Modified Files:
        	dictionary
        Log Message:
        First official GNU version.
        Added special attribute: Rewrite-Function. It is used to specify the
        name
        of the rewriting function for the packets matching the huntgroup.
        
2000-12-07  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/include
        In directory Mirddin:/export/home/gray/radius/include
        
        Modified Files:
        	display.h ippool.h log.h mem.h msg.h nas.h parser.h radctl.h
        	raddict.h radius.h radiusd.h radlast.h radlog.h radutmp.h
        	radwho.h symtab.h
        Removed Files:
        	portmap.h
        Log Message:
        First official GNU version.
        Portmapping support has been removed and replaced by generalized
        rewriting functions.
        
2000-12-01  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/radiusd
        In directory Mirddin:/export/home/gray/radius/radiusd
        
        Modified Files:
        	portmap.y
        Log Message:
        
2000-12-01  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/checkrad
        In directory Mirddin:/export/home/gray/radius/checkrad
        
        Modified Files:
        	log.c
        Log Message:
        Fixed assignment error:
        	logfile = stderr;

2000-12-01  Sergey Poznyakoff <gray@farlep.net>
        Update of /export/cvsroot/radius/raddb
        In directory Mirddin:/export/home/gray/radius/raddb
        
        Modified Files:
        	portmap
        Log Message:
        

Local Variables:
mode: indented-text
left-margin: 8
fill-column: 74
version-control: never
End:


	
