2003-06-23  Sergey Poznyakoff 

	-== Version 1.0 released ==-

2003-06-23  Sergey Poznyakoff 

	* NEWS: Updated
	* configure.ac: Raised version number to 1.0
	* examples/hints-0.96: New file.
	* examples/Makefile.am: Added hints-0.96
	* examples/pam.conf: Added copyleft header
	* include/radiusd.h: Minor change
	* radiusd/radiusd.c: Likewise.
	* raddb/hints: Minor change
	* raddb/huntgroups: Likewise.
	* raddb/naslist: Likewise.
	* raddb/realms: Likewise.
	* raddb/users: Likewise.

2003-06-23  Sergey Poznyakoff 

	* lib/avl.c: Fixed wording in diagnostic.
	* lib/radargp.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/rewrite.y: Likewise.
	* radiusd/rpp.c: Likewise.
	* radiusd/stat.c: Likewise.
	* radiusd/testsuite/radiusd/radiusd.exp: Fixed to work
	on systems with a limit on the length of input line
	to the shell.

2003-06-19  Sergey Poznyakoff  

	* client/pam_radius/pam_radius.c: Syntax cleanup.
	* include/argcv.h: Likewise
	* include/mem.h: Likewise
	* include/radius.h: Likewise
	* include/radiusd.h: Likewise
	* include/radscm.h: Likewise
	* include/radsql.h: Likewise
	* include/rewrite.h: Likewise
	* include/sysdep.h: Likewise
	* lib/applog.c: Likewise
	* lib/client.c: Likewise
	* lib/cryptpass.c: Likewise
	* lib/debug.c: Likewise
	* lib/dict.c: Likewise
	* lib/insist.c: Likewise
	* lib/intl.c: Likewise
	* lib/leakdetect.c: Likewise
	* lib/logger.c: Likewise
	* lib/md5crypt.c: Likewise
	* lib/printutmp.c: Likewise
	* lib/strerror.c: Likewise
	* lib/sysdep.c: Likewise
	* lib/users.l: Likewise
	* lib/users.y: Likewise
	* raddb/config: Likewise
	* radiusd/auth.c: Likewise
	* radiusd/config.y: Likewise
	* radiusd/exec.c: Likewise
	* radiusd/files.c: Likewise
	* radiusd/input.c: Likewise
	* radiusd/log.c: Likewise
	* radiusd/menu.c: Likewise
	* radiusd/proxy.c: Likewise
	* radiusd/radck.c: Likewise
	* radiusd/radius.c: Likewise
	* radiusd/radiusd.c: Likewise
	* radiusd/request.c: Likewise
	* radiusd/rewrite.y: Likewise
	* radiusd/rpp.c: Likewise
	* radiusd/scheme.c: Likewise
	* radiusd/snmpserv.c: Likewise
	* radiusd/sql.c: Likewise
	* radiusd/stat.c: Likewise
	* radiusd/version.c: Likewise
	* radiusd/testsuite/findport.c: Likewise
	* radlast/radlast.c: Likewise
	* radscm/rscm_avl.c: Likewise
	* radscm/rscm_dict.c: Likewise
	* radscm/rscm_lib.c: Likewise
	* radscm/rscm_radlog.c: Likewise
	* radscm/rscm_rewrite.c: Likewise
	* radscm/rscm_sql.c: Likewise
	* radscm/rscm_syslog.c: Likewise
	* radscm/rscm_utmp.c: Likewise
	* raduse/raduse.c: Likewise
	* raduse/session.c: Likewise
	* raduse/stat.c: Likewise
	* radwho/radwho.c: Likewise
	* scripts/debug.sh: Likewise
	* scripts/debugmod.m4: Likewise
	* snmplib/snmp_sess.c: Likewise
	* sql/mysql.c: Likewise
	* sql/odbc.c: Likewise

2003-06-19  Sergey Poznyakoff 

	* configure.ac: Moved include <gettext.h> to radius.h
	* include/gettext.h: Update
	* include/radius.h: Include <gettext.h>
	* lib/argp-help.c: Removed <malloc.h>
	* lib/intl.c: Include <locale.h>
	* m4/getopt.m4: Test for getopt_long_only: argp requires this
	* radiusd/scheme.c: Use eval instead of eval_x
	* radiusd/sql.c (rad_sql_init): Allow server name to start with
	a '/' (means postgres socket).
	
2003-06-17  Sergey Poznyakoff 

	* configure.ac: Use gettext.h
	* include/gettext.h: New file
	* include/Makefile.am: Added gettext.h
	* lib/intl.c: Updated for use with gettext.h
	* lib/radargp.c: Bugfix
	* sql/odbc.c: Removed superfluous declarations.

2003-06-17  Sergey Poznyakoff

	* NEWS: Updated
	* README: Updated
	* TODO: Updated
	* COPYING: Added to the repository
	* .cvsignore: Updated
	* db/db.m4: Create naspools table. Changed structure of
	the ippool.
	* db/mysql.m4: Updated.
	* db/pgsql.m4: Updated.
	
	* radscm/ipalloc.scm: Rewritten for the new database structure.
	* include/argcv.h: Updated the FSF address
	* lib/obstack.c: Likewise.
	* include/cfg.h (cfg_ignore,cfg_obsolete): New functions
	* radiusd/config.y: Likewise.
	* include/radiusd.h: Minor change.
	* lib/Makefile.am: Fixed LIBLIST rule
	* radiusd/snmpserv.c: Removed handling of queue- and memory
	related OIDs. This should be revised in the future release.

	* doc/COPYING.FDL: Removed.
	* doc/COPYING.DOC: New file.
	* doc/README.ipalloc: New file.
	* doc/Makefile.am: Updated.
	* radiusd/radiusd.c: Support for the obsolete statements.

2003-06-16  Sergey Poznyakoff

	* lib/Makefile.am (LIBLIST): Modified
	* radiusd/Makefile.am (FILELIST): Modified
	* sql/odbc.c (rad_odbc_column): Fixed type of the second
	parameter.

	* lib/argcv.c: Updated FSF address
	* lib/radargp.c: Likewise.
	* lib/rx.c: Likewise.
	* lib/snprintf.c: Likewise.
	* lib/snprintf.h: Likewise.
	
2003-06-15  Sergey Poznyakoff  

	* README: Updated
	* db/db.m4: Minor change
	* examples/config.syntax: Comment on read/write timeouts.
	* lib/getgr.c (COPY): Fixed macro
	* radiusd/rpp.c: Correctly handle zero returns from the
	initial reads.
	* radscm/ipalloc.scm: Made configurable for postgres.

2003-06-15  Sergey Poznyakoff 

	* radiusd/Makefile.am: Fixed FILELIST rule. Thanks Wojciech
	for noticing.

2003-06-14  Sergey Poznyakoff 

	* README: Updated
	* doc/MACHINES: Updated
	* configure.ac: Use AC_HELP_STRING. Patch courtesy Wojciech
	Polak <polak@gnu.org>
	* include/radiusd.h (radiusd_write_timeout,radiusd_read_timeout):
	New variables.
	* radiusd/radiusd.c: Likewise.
	* radiusd/rewrite.y: Minor changes.
	* radiusd/rpp.c: Impose timeouts on master I/O operations.

2003-06-13  Sergey Poznyakoff 

	* radiusd/sql.c (rad_sql_checkgroup): Do not print spurious
	diagnostics.

2003-06-13  Sergey Poznyakoff 

	* db/db.m4: Create ippool table
	* db/mysql.m4: Set privs for ippool
	* db/pgsql.m4: Likewise.
	* include/radsql.h: Revised
	* sql/disp.c: Likewise.
	* sql/mysql.c: Likewise.
	* sql/odbc.c: Likewise.
	* sql/postgres.c: Likewise.
	* include/rewrite.h (radscm_datum_to_scm)
	(radscm_scm_to_ival,radscm_rewrite_execute): New declarations.
	* radiusd/auth.c (sfn_scheme): Explicitly emit warning
	if the scheme procedure denies authentication.
	* radiusd/request.c (request_handle): Use request_drop
	when the maximum number of children is reached.
	* radiusd/scheme.c (catch_body): Call rscm_server_init
	(scheme_auth,scheme_acct): Emit a notice if the procedure had
	failed.
	* radiusd/sql.c: Revised
	(sql_exec_query): New function
	* radscm/ipalloc.scm: New file
	* radscm/rscm_sql.c: New file
	* radscm/Makefile.am: Added new files.
	* radscm/rscm_rewrite.c (rscm_server_init): New function
	
2003-06-12  Sergey Poznyakoff

	* configure.ac: Switched to gettext 0.12.1. Raised patchlevel.
	* include/radius.h (AP_BINARY_STRING): New flag.
	* lib/dict.c: Accept 'b' property to mark binary string
	attributes.
	* m4/Makefile.am: Added gettext 0.12.1 files.
	* raddb/dictionary: Marked several attributes as binary strings.
	* radiusd/radiusd.c (terminate_subprocesses): Bugfix.
	(max_ttl): New function.
	(radiusd_flush_queue): Use max_ttl
	* radiusd/radutil.c (attr_to_str): Do not recompute the string
	length on binary attributes.
	(obstack_grow_quoted): Quote unprintable characters.

2003-06-11  Sergey Poznyakoff  

	* Makefile.am: Updated AUTOMAKE_OPTIONS
	* NEWS: Updated.
	* examples/config.syntax: Added process-idle-timeout
	* include/radiusd.h (process_timeout): New global
	(input_select_channel): New function.
	(rpp_flush): Changed declaration
	* radiusd/input.c (input_select_channel): New function.
	* radiusd/radiusd.c (radiusd_preconfig_hook): Rewritten.
	(radiusd_postconfig_hook): Do not check the number of open
	channels if not in daemon mode.
	(radiusd_suspend,radiusd_continue): Terminate subprocesses
	before proceeding.
	(radiusd_restart): Run the preconfig hooks before respawning.
	(radiusd_flush_queue): Do not wait for the subprocesses longer
	than the maximum ttl value.
	(option_stmt): New keyword process-idle-timeout.
	* radiusd/rpp.c (rpp_flush): Call user-supplied function at
	the end of each loop.
	(sig_handler): Exit on SIGALRM

2003-06-11  Sergey Poznyakoff 

	* Makefile.am: Added some automake options
	* radiusd/radutil.c (attr_to_str): Do not recalculate
	string length to allow for passing binary strings.
	* radiusd/scheme.c (scheme_auth): Minor fix
	* radscripts/radgrep.m4: Bugfix

2003-06-10  Sergey Poznyakoff
	
	* include/radius.h (avp_create_integer,avp_create_string)
	(avp_create_binary): New functions.
	(avp_create): Changed semantics.
	* lib/avl.c: Likewise.
	* include/radiusd.h (menu_reply, menu_read_text): New functions.
	* radiusd/menu.c: Likewise.

	* radiusd/radius.c (radius_req_decode): If the NAS stored the
	CHAP challenge in the authenticator, create the CHAP-Challenge
	attribute.

	* client/pam_radius/pam_radius.c: Use typed avp_create functions.
	* lib/radpdu.c: Likewise.
	* lib/radsrv.c: Likewise.
	* radiusd/auth.c: Likewise.
	* radiusd/files.c: Likewise.
	* radiusd/radck.c: Likewise.
	* radiusd/rewrite.y: Likewise.
	* radiusd/sql.c: Likewise.
	
	* radiusd/scheme.c (silent_close_port): Use eval_close_port()
	wrapper.
	* radscm/ttl.scm (ttl-reply-string): Use (substring).
	
2003-06-10  Sergey Poznyakoff

	* include/radiusd.h (struct request_class.xmit)
	(radius_req_xmit, proxy_retry): Changed declaration.
	* lib/realms.c (_parse_server): Bugfix.
	* radiusd/proxy.c (proxy_retry): Rewritten
	* radiusd/radius.c (radius_req_xmit): Rewritten
	* radiusd/request.c (request_free,request_xmit)
	(request_forward,_request_iterator): Updated.
	* radiusd/rpp.c (rpp_request_handler): Use new
	reply structure.
	(rpp_update): New function.
	* radiusd/stat.c (shmem_alloc): Bugfix.
	
2003-06-07  Sergey Poznyakoff 

	* include/list.h (list_insert_sorted): New function.
	* lib/list.c: Likewise. 
	* include/radiusd.h (struct request): Removed update and
	update_size members.
	(RADIUSD_UPDATE.id): New member
	* radiusd/input.c (struct input_method.prio): New member.
	(input_register_method): Added prio parameter.
	(input_select): Handle descriptors according to their method's
	priorities.
	* radiusd/proxy.c (proxy_send_request): Send the update to the
	master before sending the request.
	* radiusd/radius.c (radius_req_update): Check if the request
	IDs match.
	* radiusd/radiusd.c (radiusd_main_loop): Reverted yesterday's
	change.
	* radiusd/testsuite/proxy/config.in: Updated.

2003-06-06  Sergey Poznyakoff

	* radiusd/radiusd.c (radiusd_main_loop): Put back the timeout.
	It is necessary for rpp channels.
	* radiusd/stat.c: New `storage' statements: file and perms.
	* examples/config.syntax: Example file and perms statements

2003-06-05  Sergey Poznyakoff 

	* include/radiusd.h (PROXY_STATE): Revised.
	(radius_exec_program): Removed unused last argument.
	* radiusd/proxy.c: Likewise.
	
	* radiusd/auth.c: Removed legacy handling of
	Service-Type=Authenticate-Only.
	* radiusd/exec.c (radius_exec_program): Removed unused last
	argument.
	* radiusd/acct.c: Removed last argument in calls to
	radius_exec_program().
	* radiusd/log.c: Minor change.
	* radiusd/radius.c (radius_req_failure,radius_respond): Update
	statistics.
	* radiusd/scheme.c (scheme_auth,scheme_acct): Added diagnostics.
	
2003-06-05  Sergey Poznyakoff 

	* NEWS: Updated.
	* include/radiusd.h (input_iterate_channels,rpp_count): New
	functions.
	* radiusd/input.c (input_iterate_channels): New function.
	* radiusd/radiusd.c (radiusd_preconfig_hook): Send SIGKILL
	to those children that do not exit in 2 seconds.
	(radiusd_postconfig_hook): Warn if no radius sockets were
	opened.
	* radiusd/request.c (request_xmit): Extra argument (see previous
	commit).
	* radiusd/rpp.c (rpp_count): New function.
	
2003-06-05  Sergey Poznyakoff 

	* include/radiusd.h (struct request_class.xmit): Extra argument:
	the original request data.
	(radius_req_xmit): Likewise.
	* radiusd/request.c: Likewise.
	* radiusd/proxy.c (proxy_retry): Changed declaration.
	* radiusd/radius.c (radius_req_xmit): Take an extra argument. Call
	proxy_retry() when appropriate.

2003-06-05  Sergey Poznyakoff 

	* radiusd/input.c: Do not use assert().
	* radiusd/snmpserv.c (snmpserv_after_config_hook): Call
	snmp_init_nas_stat()
	(snmp_stmt): Added `storage' block statement.
	* radiusd/stat.c (snmp_attach_nas_stat): Bugfix
	Make stat_port_count and stat_nas_count configurable via
	the configuration block statement `storage'.
	* include/radiusd.h (storage_stmt): New declaration. 
	* examples/config.syntax: A sample of storage statement.
	
2003-06-05  Sergey Poznyakoff

	* radiusd/radiusd.c (radiusd_main_loop): Do not set timeout.
	* autogen.sh: Add -I$(top_srcdir)/include to intl/Makefile.in
	* configure.ac: Use no-libtool for gettext, set default
	authentication port to 1812.
	Create raddb/client.conf.
	* lib/intl.c: Minor bugfix.
	* raddb/client.conf: Removed. Autogenerated file.
	* raddb/client.conf.in: New file.
	* raddb/.cvsignore: Updated.
	* raddb/Makefile.am: Updated.
	* raddb/config: Removed proxy block
	
	* radiusd/stat.c (shmem_alloc): Fixed initial size of the
	statistics file.
	* radiusd/auth.c: Use e- memory functions.
	* radiusd/builddbm.c: Likewise.
	* radiusd/exec.c: Likewise.
	* radiusd/files.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radtest/main.c: Likewise.

2003-06-03  Sergey Poznyakoff 

	* radiusd/timestr.c (timespan_day): Fixed semantics of time
	spans that straddle the 00:00 boundary.

	* lib/mem.c: Removed.
	* lib/alloc.c: Removed.
	* lib/Makefile.am: Removed mem.c, alloc.c

	* client/pam_radius/pam_radius.c: Use regular emalloc, efree
	* include/mem.h: Likewise.
	* include/timestr.h: Likewise.
	* lib/ascend.c: Likewise.
	* lib/avl.c: Likewise.
	* lib/client.c: Likewise.
	* lib/cryptpass.c: Likewise.
	* lib/dict.c: Likewise.
	* lib/nas.c: Likewise.
	* lib/radpaths.c: Likewise.
	* lib/radpdu.c: Likewise.
	* lib/realms.c: Likewise.
	* lib/symtab.c: Likewise.
	* lib/users.l: Likewise.
	* lib/users.y: Likewise.
	* lib/util.c: Likewise.
	* radiusd/radius.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/sql.c: Likewise.
	* radscm/rscm_lib.c: Likewise.
	* radtest/gram.y: Likewise.
	* radtest/input.l: Likewise.
	* sql/mysql.c: Likewise.
	* radiusd/pam.c: Likewise.
	* radiusd/rewrite.y: Likewise.
	
	* lib/leakdetect.c (string_replace): New implementation.
	* radiusd/snmpserv.c: Removed oids related to the previously used
	memory system.
	* radiusd/proxy.c (proxy_cmp): Compare only those requests that
	have Proxy-State attribute. The heuristic used so far for the
	requests lacking Proxy-State, caused normal requests to be
	interpreted as proxy ones at random intervals.

	* radiusd/input.c: Added debugging calls.
	* radiusd/request.c: Likewise.
	* radiusd/rpp.c: Likewise.

	* po/POTFILES.in: Updated
	
2003-06-02  Sergey Poznyakoff

	* radiusd/snmpserv.c (_acl_iterator): Fixed coredump on NULL
	communities.
	(snmp_agent_response): Fixed memory leaks on nonexisting OIDs.

2003-05-30  Sergey Poznyakoff

	* radiusd/testsuite/radiusd/proxy.exp: Fixed copyleft statement.
	* radiusd/testsuite/radiusd/radiusd.exp: Likewise.
	* radscm/ttl.scm: Likewise.
	* raduse/Makefile.am: Likewise.
	* scripts/Makefile.am: Likewise.
	* scripts/mksnmp-h.awk: Likewise.
	* scripts/pofilter.c: Likewise.
	* snmplib/Makefile.am: Likewise.

2003-05-30  Sergey Poznyakoff 

	* radiusd/radius.c (radius_respond): Call hints_setup
	before any processing. Side effect: for proxy replies
	hints are processed twice.
	
	* examples/comos.rw: Minor change
	* include/radius.h (avp_null_string): New function
	* lib/avl.c: Likewise.
	* raddb/dictionary (Proxy-Replied): New attribute
	* radiusd/acct.c (rad_accounting): hints_setup moved to
	radius_respond().
	* radiusd/auth.c (rad_auth_init): Likewise.
	* radiusd/files.c (paircmp): Added extra argument to return
	the stripped username.
	(hints_pairmatch,presuf_setup): Removed.
	(hints_setup): Use paircmp. Add Proxy-Replied attribute
	to the request if it was a proxy reply.
	* radiusd/proxy.c (proxy_send): Use avp_null_string().

2003-05-29  Sergey Poznyakoff 

	* radiusd/scheme.c: New configuration keyword `outfile'
	* radiusd/acct.c: Removed the ComOS hack. 
	* radiusd/files.c (hints_setup): Work even if the request
	lacks User-Name
	* examples/comos.rw: New file.
	* examples/Makefile.am: Added new file.
	
	* Makefile.am: Fixed copyleft statement.
	* configure.ac: Likewise.
	* client/Makefile.am: Likewise.
	* client/nas/Makefile.am: Likewise.
	* client/nas/nas.scm.in: Likewise.
	* client/pam_radius/Makefile.am: Likewise.
	* contrib/Makefile.am: Likewise.
	* db/db.m4: Likewise.
	* db/mysql.m4: Likewise.
	* db/pgsql.m4: Likewise.
	* doc/Makefile.am: Likewise.
	* doc/man/Makefile.am: Likewise.
	* doc/rfc/Makefile.am: Likewise.
	* doc/texinfo/Makefile.am: Likewise.
	* examples/ascend.rw: Likewise.
	* examples/cisco.rw: Likewise.
	* examples/config.syntax: Likewise.
	* examples/filter.rw: Likewise.
	* examples/jetstream.rw: Likewise.
	* examples/nt.rw: Likewise.
	* include/Makefile.am: Likewise.
	* include/snmp/Makefile.am: Likewise.
	* lib/Makefile.am: Likewise.
	* lib/envar.c: Likewise.
	* lib/logger.c: Likewise.
	* lib/strcspn.c: Likewise.
	* m4/guile.m4: Likewise.
	* m4/inaddr.m4: Likewise.
	* mibs/GNU-RADIUS-SERVER-MIB.txt: Likewise.
	* mibs/GNU-RADIUS-STAT-MIB.txt: Likewise.
	* mibs/Makefile.am: Likewise.
	* mibs/radmibs.h.in: Likewise.
	* raddb/Makefile.am: Likewise.
	* radiusd/.gdbinit: Likewise.
	* radiusd/Makefile.am: Likewise.
	* radiusd/testsuite/Makefile.am: Likewise.
	* radiusd/testsuite/findport.c: Likewise.
	* radiusd/testsuite/test.sh.m4: Likewise.
	* radiusd/testsuite/lib/radiusd.exp: Likewise.
	* radiusd/testsuite/proxy/Makefile.am: Likewise.
	* radiusd/testsuite/proxy/config.in: Likewise.
	* radiusd/testsuite/raddb/Makefile.am: Likewise.
	* radiusd/testsuite/raddb/acct.scm.in: Likewise.
	* radiusd/testsuite/raddb/ascend.bin: Likewise.
	* radiusd/testsuite/raddb/auth.bin: Likewise.
	* radiusd/testsuite/raddb/auth.scm: Likewise.
	* radiusd/testsuite/raddb/config.in: Likewise.
	* radiusd/testsuite/raddb/filter: Likewise.
	* radiusd/testsuite/raddb/hints: Likewise.
	* radiusd/testsuite/raddb/huntgroups: Likewise.
	* radiusd/testsuite/raddb/users.in: Likewise.
	* radlast/Makefile.am: Likewise.
	* radscm/Makefile.am: Likewise.
	* radscm/boot.scm: Likewise.
	* radscm/radsession.in: Likewise.
	* radscripts/Makefile.am: Likewise.
	* radscripts/builddbm.m4: Likewise.
	* radscripts/radauth.m4: Likewise.
	* radscripts/radctl.m4: Likewise.
	* radscripts/radgrep.m4: Likewise.
	* radscripts/radping.m4: Likewise.
	* radtest/Makefile.am: Likewise.
	* radwho/Makefile.am: Likewise.
	* radzap/Makefile.am: Likewise.
	* scripts/Makefile.am: Likewise.
	* scripts/config-conv.awk: Likewise.
	* scripts/debug.sh: Likewise.
	* scripts/debugmod.m4: Likewise.
	* scripts/dict.awk: Likewise.
	* scripts/guile/Makefile.am: Likewise.
	* scripts/guile/1.4/Makefile.am: Likewise.
	* scripts/guile/1.6/Makefile.am: Likewise.
	* sql/Makefile.am: Likewise.

2003-05-29  Sergey Poznyakoff  

	* configure.ac: Raised the patchlevel
	* radiusd/radiusd.c (radiusd_exit0): New function.
	* include/radiusd.h: Likewise.
	* radiusd/rpp.c (pipe_write,pipe_read): Use simple write/read
	calls.
	(sig_handler): Use radiusd_exit0().
	* radiusd/stat.c (stat_get_port_index): Bugfix.
	* doc/texinfo/Makefile.am: Override the default rule for
	radius.pdf.

2003-05-22  Sergey Poznyakoff

	* include/radiusd.h (scheme_redirect_output): New function.
	* radiusd/scheme.c: Likewise
	* radiusd/rpp.c (rpp_request_handler): Call
	scheme_redirect_output().

2003-05-06  Sergey Poznyakoff

	* configure.ac: Raised version number.
	* NEWS: Updated.
	* include/radiusd.h: New request state: RS_XMIT
	* lib/list.c (list_remove): Check for p==NULL
	* lib/radsrv.c: Removed #undef DEBUG_ONLY
	* radiusd/request.c: Bugfixes.
	* radiusd/rpp.c: Likewise.
	* radiusd/acct.c (rad_acct_system): Bugfix. Thanks Alex Deiter
	<tiamat@komi.mts.ru> for noticing. Strange it wasn't noticed
	so far, possibly no one is using ComOS now, I'd better remove this
	part of code?
	* radiusd/Makefile.am (FILELIST:): Fixed.
	* radiusd/radiusd.c (radiusd_cleanup): Print the status of each
	exited child.
	(radiusd_signal_init): Do not catch SIGTRAP
	
2003-05-03  Sergey Poznyakoff 

	* lib/list.c: Fixed iterators to correctly handle iterator_next()
	after removal of the current item;
	* radiusd/input.c (channel_close): Free the memory
	* radiusd/radiusd.c (radiusd_preconfig_hook): Call
	input_close_channels() last.
	* radiusd/snmpserv.c: Rewritten ACL subsystem using generic lists.
	* include/radiusd.h: Likewise

2003-04-30  Sergey Poznyakoff 

	* include/Makefile.am: Added list.h
	* include/list.h: Implemented list iterators.
	* lib/list.c: Likewise.
	* lib/client.c: Use iterators.
	* lib/envar.c: Likewise.
	* lib/realms.c: Likewise.
	* radiusd/config.y: Likewise.
	* radiusd/files.c: Likewise.
	* radiusd/input.c: Likewise.
	* radiusd/log.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/request.c: Likewise.
	* radiusd/rpp.c: Likewise.
	* radscm/radscm.c: Likewise.
	
	* radiusd/rewrite.y (radscm_rewrite_execute): Fixed improper
	return type.
	* lib/leakdetect.c: Do not use debug(). Under the new frame-
	work it causes infinite recursion.
	  
	* include/cfg.h: Updated copyleft headers.
	* include/checkrad.h: Likewise.
	* include/envar.h: Likewise.
	
2003-04-30  Sergey Poznyakoff 

	Somewhat regretfully moved from K&R to ANSI syntax.
	Updated copyleft headers.

	* client/pam_radius/pam_radius.c:
	* include/radiusd.h:
	* include/radlast.h:
	* include/radpaths.h:
	* lib/alloc.c:
	* lib/applog.c:
	* lib/ascend.c:
	* lib/avl.c:
	* lib/debug.c:
	* lib/mem.c:
	* lib/nas.c:
	* lib/printutmp.c:
	* lib/radpaths.c:
	* lib/radutmp.c:
	* lib/symtab.c:
	* lib/users.y:
	* radiusd/acct.c:
	* radiusd/auth.c:
	* radiusd/builddbm.c:
	* radiusd/config.y:
	* radiusd/files.c:
	* radiusd/input.c:
	* radiusd/menu.c:
	* radiusd/pam.c:
	* radiusd/radck.c:
	* radiusd/rewrite.y:
	* radiusd/timestr.c:
	* radiusd/version.c:
	* radscm/main.c:
	* radscm/radscm.c:
	* radscm/rscm_avl.c:
	* radscm/rscm_radlog.c:
	* radscm/rscm_rewrite.c:
	* radtest/main.c:
	* radzap/radzap.c:
	* snmplib/snmp_err.c:
	* snmplib/snmp_mem.c:
	* snmplib/snmp_mib.c:
	* snmplib/snmp_send.c:
	* snmplib/snmp_sess.c:
	* sql/disp.c:
	* sql/odbc.c:
	* sql/postgres.c:
	* include/mem.h:
	* include/parser.h:
	* include/raddbm.h:
	* lib/cryptpass.c:
	* lib/dbm.c:
	* lib/gethost_r.c:
	* lib/getpw_r.c:
	* lib/raddb.c:
	* lib/strerror.c:
	* lib/util.c:
	* radiusd/checkrad.c:
	* radiusd/radutil.c:
	* radlast/radlast.c:
	* snmplib/asn1.c:
	* snmplib/snmp_oid.c:
	* snmplib/snmp_pdu.c:
	* snmplib/snmp_recv.c:
	* snmplib/snmp_var.c:
	* sql/mysql.c:
	* include/radscm.h:
	* include/radsnmp.h:
	* include/radsql.h:
	* lib/iputil.c:
	* lib/leakdetect.c:
	* lib/strncasecmp.c:
	* lib/sysdep.c:
	* radscm/rscm_dict.c:
	* radscm/rscm_lib.c:
	* radscm/rscm_syslog.c:
	* radscm/rscm_utmp.c:
	* include/radutmp.h:
	* include/symtab.h:
	* include/sysdep.h:
	* lib/localtime_r.c:
	* lib/radargp.c:
	* lib/users.l:
	* radtest/gram.y:
	* radtest/input.l:
	* radtest/radtest.h:
	* radwho/radwho.c:
	* include/timestr.h:
	* lib/getgr.c:
	* lib/insist.c:
	* lib/intl.c:

2003-04-29  Sergey Poznyakoff

	* lib/list.c (list_remove_current, list_remove): Bugfix.

	* include/checkrad.h: Use lists from list.c.
	* include/envar.h: Likewise.
	* include/radius.h: Likewise.
	* include/radiusd.h: Likewise.
	* lib/client.c: Likewise.
	* lib/dict.c: Likewise.
	* lib/envar.c: Likewise.
	* lib/nas.c: Likewise.
	* radiusd/checkrad.c: Likewise.
	* radiusd/config.y: Likewise.
	* radiusd/files.c: Likewise.
	* radiusd/log.c: Likewise.
	
	* client/pam_radius/pam_radius.c: Reflect changes to the
	  client sub-system.
	* lib/realms.c: Likewise.
	* radiusd/acct.c: Likewise.
	* radiusd/proxy.c: Likewise.
	* radiusd/radius.c: Likewise.
	* radscm/radscm.c: Likewise.
	* radtest/main.c: Likewise.
	
	* include/slist.h: Removed
	* include/Makefile.am: Removed slist.h
	* lib/slist.c: Removed.
	* lib/Makefile.am: Removed slist.c
	
2003-04-28  Sergey Poznyakoff  

	Fixed proxy-id functions.
	
	* include/radius.h (SERVER_ID): New datatype.
	  (RADIUS_SERVER): Added id_offset member.
	  (RADIUS_SERVER_QUEUE): Removed messg_id.
	* include/radiusd.h (PROXY_ID,proxy_cleanup): Removed.
	* include/radpaths.h (RADMSGID): New define.
	* lib/client.c: Get message IDs from the file on a per server
	  basis.
	* lib/radpaths.c (radmsgid_path): New variable.
	* po/POTFILES.in: Removed deleted files.
	* radiusd/files.c (reload_data): Removed call to proxy_cleanup().
	* radiusd/proxy.c: Removed legacy PROXY_ID stuff.

2003-04-27  Sergey Poznyakoff

	Added back SNMP support.

	* configure.ac: Add AC_FUNC_MMAP
	* examples/config.syntax: Updated
	* include/radiusd.h (Server_stat,SNMP_REQ): Modified
	  (stat_inc): Modified
	  (server_stat): Pointer
	  (request_stat_list): New function.
	  (udp_open): Declaration changed.
	* radiusd/.gdbinit: Updated.
	* radiusd/files.c (read_naslist_file): Attach nas_stat data.
	* radiusd/radiusd.c: Re-introduced SNMP
	* radiusd/snmpserv.c: Likewise.
	* radiusd/stat.c: Reverted to mmapped memory approach.
	* radiusd/request.c (request_stat_list): New function.
	* radiusd/testsuite/proxy/config.in: Updated
	* radiusd/testsuite/raddb/config.in: Updated
	
2003-04-26  Sergey Poznyakoff

	Added back server Scheme support. This commit passes successfully
	all tests. It remains to add back SNMP support and ensure the
	proxy id uniqueness.
	
	* configure.ac: Removed guile warning
	* include/radiusd.h (radiusd_main,scheme_boot): New functions
	  (rad_boot): Removed.
	* lib/getgr.c: Include stdlib.h
	* lib/getpw_r.c: Likewise.
	* lib/list.c: Likewise.
	* radiusd/radiusd.c: Added back Scheme
	* radiusd/scheme.c: Minor compatibility fixes.
	* radiusd/testsuite/lib/radiusd.exp (simple_radius_test): Missed
	  global declaration

2003-04-26  Sergey Poznyakoff 

	Proxy requests re-implemented.
	
	* include/radiusd.h (R_PROXY): Removed
	  (RS_PROXY): New request state.
	  (RCMP_NE,RCMP_EQ,RCMP_PROXY): Request comparison results.
	  (struct request): New member `orig'
	  (struct request_class): New member `update'
	  (RADIUS_UPDATE): New type
	  (radius_req_update): New prototype
	  (proxy_send,proxy_receive): Changed declaration
	* radiusd/input.c: The order of input methods in the
	  list defines the the order of polling the
	  file descriptors.
	* radiusd/proxy.c: Lots of changes.
	* radiusd/radius.c (radius_req_cmp): Compare proxy requests.
	  Updated return values.
	  (radius_req_update): New function.
	* radiusd/radiusd.c (spawn_flag): Removed `static' qualifier.
	  (common_init): Register "rpp" method first (Note: very
	  important for proxying).
	  (proxy_stmt): Removed.
	* radiusd/request.c: Handle proxy requests.
	* radiusd/rpp.c (rpp_start_process): Raise ready flag
	  (rpp_ready): Changed declaration
	  (rpp_request_handler,rpp_input_handler): Changed reply algorithm

	* sql/postgres.c (postgres_conninfo): Bugfix.
	
2003-04-18  Sergey Poznyakoff

	Multithreaded version is considered a failed experiment,
	since it implies too many restrictions (the principal one
	being the impossibility to use Guile in the server). The
	multithreaded sources are tagged `radius-pthread' (branchpoint).
	This commit uses modified multiprocess approach (a "process
	pool"). 
	
	New files:
	* include/list.h: 
	* lib/list.c: 
	* radiusd/input.c: 
	* radiusd/rpp.c: 

	Removed files:
	* radiusd/signal.c: 
	* radiusd/sockets.c:

	Modified files:
	* Makefile.am:
	* NEWS:
	* TODO:
	* configure.ac:
	* include/radius.h:
	* include/radiusd.h:
	* include/radpaths.h:
	* include/radsql.h:
	* lib/Makefile.am:
	* lib/getgr.c:
	* lib/gethost_r.c:
	* lib/getpw_r.c:
	* lib/localtime_r.c:
	* lib/md5crypt.c:
	* lib/mem.c:
	* lib/radpdu.c:
	* lib/radsrv.c:
	* lib/sysdep.c:
	* radiusd/Makefile.am:
	* radiusd/acct.c:
	* radiusd/auth.c:
	* radiusd/checkrad.c:
	* radiusd/exec.c:
	* radiusd/log.c:
	* radiusd/menu.c:
	* radiusd/proxy.c:
	* radiusd/radius.c:
	* radiusd/radiusd.c:
	* radiusd/request.c:
	* radiusd/rewrite.y:
	* radiusd/scheme.c:
	* radiusd/sql.c:
	* radiusd/stat.c:
	* radiusd/testsuite/proxy/config.in:
	* radiusd/testsuite/radiusd/radiusd.exp:
	* snmplib/snmp_sess.c:

2003-02-06  Sergey Poznyakoff

	* include/Makefile.am: Added debugmod.h to MAINTAINERCLEANFILES
	* raddb/dict/ascend (Ascend-CBCP-Enable,Ascend-CBCP-Mode): Added
	  attributes and the corresponding values.
	* radiusd/exec.c (filter_kill): Fixed indentation.
	* sql/odbc.c (rad_odbc_column): Bugfix.

2003-01-23  Sergey Poznyakoff 

	* client/pam_radius/pam_radius.c: Define PAM_SM_SESSION.
	* snmplib/snmp_sess.c (snmp_session_create): Fixed memory
	  leak.

2003-01-08  Sergey Poznyakoff 

	* configure.ac: Raised prerequisite autoconf version to 2.57
	  AC_INIT: Let autoconf determine package name. This removes
	  superfluous gnu- prefix from the tarball name.
	* client/pam_radius/pam_radius.c: Initial implementation of
	  session management.
	* lib/printutmp.c (nas_port_fh): Bugfix.

2002-12-30 Sergey Poznyakoff 

	* configure.ac: Use -pthread instead of -lc_r on BSD systems.
	* include/radiusd.h (ref_ip): New variable.
	* lib/sysdep.c (get_first_ip): New function. A more sophisticated
          version of radiusd.c:getmyip().

	* m4/Makefile.am: Reordered EXTRA_DIST to separate radius files
	  from those added by autopoint.
	  
	* radiusd/proxy.c (get_socket_addr): Use ref_ip if the socket was
	  bound to INADDR_ANY.
	  (proxy_compare_request): Compare request proxy id and remote
	  server IP as well.
	
	* radiusd/radiusd.c (ref_ipp): New variable.
	
2002-12-26  Sergey Poznyakoff

	* doc/texinfo/comp.texi: New file.
	* doc/texinfo/Makefile.am: Added comp.texi
	* doc/texinfo/acct.texi: Updated.
	* doc/texinfo/attributes.texi: Updated.
	* doc/texinfo/auth.texi: Updated.
	* doc/texinfo/client.texi: Updated.
	* doc/texinfo/configure.texi: Updated.
	* doc/texinfo/extensions.texi: Updated.
	* doc/texinfo/intro.texi: Updated.
	* doc/texinfo/naming.texi: Updated.
	* doc/texinfo/operation.texi: Updated.
	* doc/texinfo/programs.texi: Updated.
	* doc/texinfo/radauth.texi: Updated.
	* doc/texinfo/radius.texi: Updated.
	* doc/texinfo/radlast.texi: Updated.
	* doc/texinfo/radwho.texi: Updated.
	* doc/texinfo/radzap.texi: Updated.

	* NEWS: Updated.
	
2002-12-24  Sergey Poznyakoff  

	* doc/texinfo/Makefile.am: Changed rules for creating web
	  documentation.
	* doc/texinfo/index.html.in: Likewise.
	* doc/texinfo/acct.texi: Minor changes.
	* doc/texinfo/attributes.texi: Likewise.
	* doc/texinfo/radius.texi: Likewise.
	* doc/texinfo/intro.texi: Major changes.

	* scripts/texi2html: Removed.
	* scripts/texi2html.diff: New file. A patch to fix texi2html
	  v. 1.64 to correctly handle @macro declarations.
	* scripts/Makefile.am: Replaced texi2html with texi2html.diff.

2002-12-24  Sergey Poznyakoff

	* configure.ac: AC_CONFIG_AUX_DIR([scripts])
	* ABOUT-NLS: Removed
	* ylwrap: Moved to ...
	* scripts/ylwrap: ... there
	* Makefile.am: Remove ylwrap, ABOUT-NLS
	* scripts/Makefile.am: Add ylwrap

	* lib/Makefile.am: Change YLWRAP variable
	* radiusd/Makefile.am: Likewise.

	* scripts/.cvsignore: Updated
	* po/.cvsignore: Updated

2002-12-24  Sergey Poznyakoff 

	* configure.ac: Require gettext version 0.11.5
	* autogen.sh: Removed -I m4 from the autoreconf command line.

	* po/es.po: Updated.
	* po/no.po: Updated.
	* po/pl.po: Updated.
	* po/ru.po: Updated.
	
	* po/Makefile.am: Removed.
	* po/Makefile.in.in: Removed.
	* po/Rules-quot: Removed.
	* po/boldquot.sed: Removed.
	* po/en@boldquot.header: Removed.
	* po/en@quot.header: Removed.
	* po/insert-header.sin: Removed.
	* po/quot.sed: Removed.
	* po/remove-potcdate.sin: Removed.

	* intl/*: Removed.

	* m4/codeset.m4: Removed.
	* m4/gettext.m4: Removed.
	* m4/glibc21.m4: Removed.
	* m4/iconv.m4: Removed.
	* m4/isc-posix.m4: Removed.
	* m4/lcmessage.m4: Removed.
	* m4/lib-ld.m4: Removed.
	* m4/lib-link.m4: Removed.
	* m4/lib-prefix.m4: Removed.
	* m4/progtest.m4: Removed.
	
	* m4/.cvsignore: Updated
	* po/.cvsignore: Updated
	
2002-12-24  Sergey Poznyakoff

	* configure.ac: Require need-ngettext for AM_GNU_GETTEXT.
	* include/radiusd.h: New signal handler state SH_DELETED.
	* radiusd/exec.c (filter_runtime_data): New member 'stopped'
	  (filter_close): Do not remove signal handler until SIGCHLD
	  arrives.
	  (filter_kill): New function.
	  (filter_open): Handle stopped filters.
	  
	* radiusd/signal.c: Changed the way of removing the
	  handlers. rad_signal_remove() marks the handler with
	  SH_DELETED, then it is actually deleted when signal
	  thread awakes and processes the signal queue.
	  (_signal_entry_runqueue): Remove deleted handlers.
	  Do not stop when a handler returns success.
	  (_signal_deliver): Reflect the above changes.
	
2002-12-23  Sergey Poznyakoff 

	* configure.ac: Got rid of ETC_DIR. Usual sysconfdir is used
	  instead.
	* client/pam_radius/Makefile.am: Likewise.
	* include/radpaths.h: Likewise.
	* lib/Makefile.am: Likewise.
	* raddb/Makefile.am: Likewise.
	* radiusd/Makefile.am: Likewise.
	* radiusd/version.c: Likewise.
	* radwho/Makefile.am: Likewise.

	* radiusd/testsuite/lib/radiusd.exp (simple_radius_test): Output
	  timestamp along with the diagnostics.

	* radiusd/testsuite/proxy/Makefile.am: Add radiusd.pid to
	  distclean-local.
	* radiusd/testsuite/raddb/Makefile.am: Likewise.
	* radtest/main.c: Removed radpaths.h and radius_dir.
	* raduse/raduse.h: Removed radpaths.h
	
	* po/es.po: Updated.
	* po/no.po: Updated.
	* po/pl.po: Updated.
	* po/ru.po: Updated.

2002-12-23  Sergey Poznyakoff 

	* client/pam_radius/Makefile.am: Rewritten using pam_LTLIBRARIES.
	  Pass -Bsymbolic to the loader in order to prevent the resulting
	  module from resolving the references using the caller executable.
	* client/pam_radius/pam_radius.c: Removed stray backslash.

2002-12-21  Sergey Poznyakoff

	-- tag: v_0_99_98 --

2002-12-21  Sergey Poznyakoff

	* include/radiusd.h (rad_signal_t): Added extra argument: the
	  identifier of this handler.
	* radiusd/signal.c (_signal_entry_runqueue): Pass id to the
	  handler.
	* radiusd/exec.c (exec_sigchld): Signal handler for exec-program.
	  Removes the rests of the zombi process.
	  (radius_exec_program): Install a handler for exec-program
	  binaries. 
	* radiusd/radiusd.c (sig_exit,sig_fatal,sig_hup,sig_dumpdb):
	  Reflect changes in include/radiusd.h.
	
2002-12-21  Sergey Poznyakoff

	* NEWS: Merged news entries from 0.96 maintenance series.
	* configure.ac: Removed --enable-notify altogether.
	  Added warning about --with-server-guile
	* include/radpaths.h: Removed RADIUSD_WATCHER_FILE
	* include/sysdep.h (sun_signal): Removed
	  (install_signal): New function.
	* lib/sysdep.c: Likewise.
	* radiusd/checkrad.c: Got rid of risky usage of longjmp from
	  the signal handler.

	* radiusd/exec.c: Simplified waiting for exec-program-wait
	  program.
	* radiusd/radiusd.c: Removed --watcher mode. Install default
	  SIGCHLD handler for waitpid to work.
	* radiusd/request.c: Fixed comment.
	* radiusd/signal.c: Removed RADIUS_MODULE_ define. Calling
	  debugging functions from signal handlers is unsafe.

	* radiusd/testsuite/test.sh.m4 (start_server): Removed -w0
	* radiusd/testsuite/lib/radiusd.exp (default_radiusd_stop): Call
	  radius_exit
	  (simple_radius_test): New flag -prereq is used to specify
	  the prerequisite capabilities for the given test.
	* radiusd/testsuite/radiusd/radiusd.exp: Use -prereq option where
	  necessary.
	  Commented out clone_output commands.
	* radiusd/testsuite/radiusd/proxy.exp: Commented out clone_output
	  commands.
	  
	* lib/getgr.c: Include <config.h>
	* lib/getpw_r.c: Likewise.

2002-12-20  Sergey Poznyakoff  

	* configure.ac: Raised version number to 0.99.98
	* lib/radpdu.c (rad_create_pdu): Added debugging message
	* lib/radsrv.c (rad_srv_send_challenge): Honour
	  radreq->reply_pairs.
	* radiusd/radius.c (send_challenge): Preserve Proxy-State
	  in challenges.

	* radiusd/testsuite/radiusd/proxy.exp: New file.
	* radiusd/testsuite/radiusd/radiusd.exp: Added comments 
	* radiusd/testsuite/radiusd/DISTFILES: Added proxy.exp

2002-12-19  Sergey Poznyakoff  

	* Makefile.am: Removed test subdirectory.
	* configure.ac: Require autoconf 2.54
	  (AC_PROG_RANLIB): Removed.
	  (AC_OUTPUT): Create radiusd/testsuite subdirs, do not create
	  test
	* doc/texinfo/mdate-sh: Removed autogenerated file.

	* radiusd/Makefile.am: Added testsuite
	* radiusd/signal.c: Removed debugging directives.
	  (signal_thread0): Use pthread_cond_timedwait()
	
	* test/: Removed

	* radiusd/testsuite/Makefile.am: New file.
	* radiusd/testsuite/.cvsignore: New file.
	* radiusd/testsuite/README: New file.
	* radiusd/testsuite/findport.c: New file.
	* radiusd/testsuite/test.sh.m4: New file.
	* radiusd/testsuite/config: New file.
	* radiusd/testsuite/config/default.exp: New file.
	* radiusd/testsuite/lib: New file.
	* radiusd/testsuite/lib/radiusd.exp: New file.
	* radiusd/testsuite/radiusd: New file.
	* radiusd/testsuite/radiusd/radiusd.exp: New file.

	* radiusd/testsuite/raddb: New file.
	* radiusd/testsuite/raddb/menus: New file.
	* radiusd/testsuite/raddb/.cvsignore: New file.
	* radiusd/testsuite/raddb/access.deny: New file.
	* radiusd/testsuite/raddb/acct.scm.in: New file.
	* radiusd/testsuite/raddb/auth.bin: New file.
	* radiusd/testsuite/raddb/auth.scm: New file.
	* radiusd/testsuite/raddb/client.conf.in: New file.
	* radiusd/testsuite/raddb/clients: New file.
	* radiusd/testsuite/raddb/filter: New file.
	* radiusd/testsuite/raddb/hints: New file.
	* radiusd/testsuite/raddb/huntgroups: New file.
	* radiusd/testsuite/raddb/naslist: New file.
	* radiusd/testsuite/raddb/realms.in: New file.
	* radiusd/testsuite/raddb/sqlserver: New file.
	* radiusd/testsuite/raddb/config.in: New file.
	* radiusd/testsuite/raddb/ascend.bin: New file.
	* radiusd/testsuite/raddb/Makefile.am: New file.
	* radiusd/testsuite/raddb/users.in: New file.

	* radiusd/testsuite/proxy: New file.
	* radiusd/testsuite/proxy/.cvsignore: New file.
	* radiusd/testsuite/proxy/Makefile.am: New file.
	* radiusd/testsuite/proxy/client.conf.in: New file.
	* radiusd/testsuite/proxy/config.in: New file.
	* radiusd/testsuite/proxy/hints: New file.
	* radiusd/testsuite/proxy/huntgroups: New file.
	* radiusd/testsuite/proxy/realms.in: New file.
	* radiusd/testsuite/proxy/sqlserver: New file.
	* radiusd/testsuite/proxy/users: New file.
	
2002-12-18  Sergey Poznyakoff 

	* autogen.sh: Use autoreconf
	* configure.ac: Check for argp.h. If it is not present, force
	  using included argp library.
	  Fixed inclusion of libgnuintl.h vs. libintl.h

	* include/regex1.h: New file. A dispatcher between system
	  <regex.h> and included <rx.h> depending on configuration
	  settings.
	* include/Makefile.am: Added regex1.h
	* include/radargp.h: Fixed inclusion of <../lib/argp.h> vs.
	  system's <argp.h>
	* include/radiusd.h (rad_sigid_t,rad_signal_t): New data types.
	  (rad_signal_install,rad_signal_remove): New functions.

	* lib/Makefile.am: Use AM_LDFLAGS instead of LDFLAGS.
	* radscm/Makefile.am: Use AM_CPPFLAGS instead of CPPFLAGS.
	* m4/rx.m4: Define WITH_INCLUDED_REGEX.
	
	* radiusd/signal.c: New file. Contains functions for the signal
	  handling thread. 
	* radiusd/Makefile.am: Added signal.c
	* radiusd/exec.c: Changed SIGCHLD handling. This enables
	  Exec-Program-Wait to work on non-posix systems.
	* radiusd/radiusd.c: Use new signal handling functions.
	* radiusd/rewrite.y: Include <regex1.h>
	* scripts/pofilter.c: Handle [] in po files.
	* test/radiusd.m4: Allow to override AWK variable in
	  the shel version of stress test.
	* test/shell/runtest.sh (runtest): Fixed scanning for
	  testcases.
	
2002-12-16  Sergey Poznyakoff

	* doc/texinfo/radlast.texi: Updated
	* doc/texinfo/radwho.texi: Updated
	* doc/texinfo/radzap.texi: Updated
	* lib/raddb.c (read_raddb_file): Fix counting of the input lines.
	* lib/radpdu.c (rad_decode_pdu): Hack for non-compliant USR VSA
	* lib/users.l: Allow octal and hex char representations in
	  strings.
	* raddb/dictionary (Hint): Fixed syntax flags.
	* radiusd/exec.c (radius_exec_program): Call avl_free() after
	  merging the two lists.
	* radiusd/files.c (userparse): Use install_pair.
	* radiusd/radutil.c (attr_to_str): Decode DA_CHAP_PASSWORD.
	  Use %lu when printing numeric attributes.
	* test/radiusd.m4: Added testcase for getting Ascend-Data-Filter
	  attribute from exec-program-wait.
	* test/raddb/ascend.bin: New file.
	* test/raddb/Makefile.am: Added ascend.bin  
	* test/raddb/users.in (execwait1): New user.
	
2002-09-20  Sergey Poznyakoff 

	* configure.ac: Override CPPFLAGS when checking for the headers.
	* include/radscm.h: Removed rad_scm_cell override.
	* radscm/rscm_lib.c: Always declare rad_scm_cell.
	
	* radiusd/auth.c (sfn_exec_wait, sfn_exec_nowait): Allow multiple
	  Exec-Program attributes.
	* raddb/dictionary: Likewise.

	* po/es.po: Updated.
	* po/no.po: Updated.
	* po/pl.po: Updated.
	* po/ru.po: Updated.
	
2002-08-30  Sergey Poznyakoff 

	* lib/radpdu.c (rad_encode_pair): Bugfix: Was cutting off the
	  last character from string attributes AUTH_STRING_LEN bytes
	  long.
	  (rad_decode_pair) Fixed attribute length check. It was not allowing
	  attributes AUTH_STRING_LEN bytes long.
	* raddb/dictionary: Marked menu-related attributes with
	  propagation bit. Removed 'c' bits.
	* radiusd/auth.c: Handle RT_ACCESS_CHALLENGE.
	* radiusd/radiusd.c (radiusd_respond,rad_req_setup): Handle
	  RT_ACCESS_CHALLENGE
	* test/proxy.m4: Test relaying of Access-Challenge requests.
	
	* radscm/rscm_utmp.c: Changed order of includes.

2002-08-14  Sergey Poznyakoff  

	* radiusd/radiusd.c (rad_req_recode): New function. Recode
	  all password attributes in the request.
	  (rad_req_cmp): Rewritten again (ouff!)
	* radscripts/radscripts.m4: Change comment starter to %%
	  (to enable substitutions in #! lines).
	* radtest/main.c (main): Fixed bug: too few elements were
	  allocated for x_argv.
	* test/raddb/config.in (filters -> acct): Fixed typo
	
2002-08-02  Sergey Poznyakoff

	* include/radius.h: Removed unneeded stuff.
	* lib/avl.c (avl_cmp): Take third argument: flags (attribute
	  properties) that should be present in order for the attribute
	  to take part in comparison.
	* lib/dict.c (_dict_attribute): Allow user-defined attribute
	  properties.
	* radiusd/radiusd.c (rad_req_cmp): Rewritten.
	  Implemented {auth,acct}->compare-atribute-flag in config.	
	* examples/config.syntax: Sample compare-atribute-flag statement.
	
2002-08-02  Sergey Poznyakoff 

	* lib/mem.c: Normalized namespace. Round the size argument to
	  mem_alloc to the next nearest Align_t boundary.
	
	* client/pam_radius/pam_radius.c: Namespace normalization in mem.c
	  and radiusd.h 
	* db/config.m4: Likewise
	* include/mem.h: Likewise
	* include/radius.h: Likewise
	* include/timestr.h: Likewise
	* lib/ascend.c: Likewise
	* lib/avl.c: Likewise
	* lib/client.c: Likewise
	* lib/cryptpass.c: Likewise
	* lib/dict.c: Likewise
	* lib/envar.c: Likewise
	* lib/logger.c: Likewise
	* lib/nas.c: Likewise
	* lib/radpaths.c: Likewise
	* lib/radpdu.c: Likewise
	* lib/realms.c: Likewise
	* lib/slist.c: Likewise
	* lib/symtab.c: Likewise
	* lib/users.l: Likewise
	* lib/users.y: Likewise
	* lib/util.c: Likewise
	* radiusd/acct.c: Likewise
	* radiusd/auth.c: Likewise
	* radiusd/builddbm.c: Likewise
	* radiusd/config.y: Likewise
	* radiusd/exec.c: Likewise
	* radiusd/files.c: Likewise
	* radiusd/log.c: Likewise
	* radiusd/menu.c: Likewise
	* radiusd/pam.c: Likewise
	* radiusd/proxy.c: Likewise
	* radiusd/radck.c: Likewise
	* radiusd/radiusd.c: Likewise
	* radiusd/radutil.c: Likewise
	* radiusd/request.c: Likewise
	* radiusd/rewrite.y: Likewise
	* radiusd/snmpserv.c: Likewise
	* radiusd/sockets.c: Likewise
	* radiusd/sql.c: Likewise
	* radiusd/stat.c: Likewise
	* radscm/rscm_lib.c: Likewise
	* radtest/gram.y: Likewise
	* radtest/input.l: Likewise
	* radtest/main.c: Likewise
	* sql/mysql.c: Likewise
	* po/es.po: Likewise
	* po/no.po: Likewise
	* po/pl.po: Likewise
	* po/ru.po: Likewise

2002-07-31  Sergey Poznyakoff

	* radiusd/exec.c (filter_cleanup_proc): A thread may have multiple
	  filters associated with it.

2002-07-31  Sergey Poznyakoff

	* include/radiusd.h (config_hook_fp): new datatype.
	  (.*_config_hook): New functions
	* radiusd/config.y: Removed superfluous "ready" diagnostics.
	* radiusd/radiusd.c (reconfigure): rewritten
	* radiusd/scheme.c: Provide "before" and "after" configuration
	  hooks
	* radiusd/snmpserv.c: Likewise.

	* po/es.po: Updated
	* po/no.po: Updated
	* po/pl.po: Updated
	* po/ru.po: Updated
	
2002-07-29  Sergey Poznyakoff  

	* NEWS: Changed format to match GNU current practice.
	* configure.ac: Raised patchlevel to 0.99.97

	Rewritten socket low-level functions and moved them into a
	separate module. When reconfiguring, only those sockets are
	closed that need to be removed. All the rest remains untouched.
	
	* include/radiusd.h: (SOCKET_LIST, struct request_handler_tab):
  	  new types.
	  (R_NONE): New define
	* radiusd/Makefile.am: Added sockets.c
	* radiusd/sockets.c: New file. Functions for handling socket lists.
	* radiusd/radiusd.c: Removed socket_list_.* functions
	* radiusd/snmpserv.c: Implement "listen" statement.
	* examples/config.syntax: Sample snmp.listen statement.

	* radlast/radlast.c: Restored state->next-1. Have to analyze it
 	  more carefully.
	  
	* po/POTFILES.in: Added radiusd/sockets.c
	* po/es.po: Updated
	* po/no.po: Updated
	* po/pl.po: Updated
	* po/ru.po: Updated

2002-07-29  Sergey Poznyakoff

	* po/POTFILES.in: Added missed modules.
	* po/es.po: Updated
	* po/no.po: Updated
	* po/pl.po: Updated
	* po/ru.po: Updated
	* radiusd/sql.c (rad_sql_acct): Call radlog_req once at the end of
	  the function.
	* radiusd/version.c: Some fixes.
	* radiusd/rewrite.y: Correctly handle cases (for synthetic
 	  languages) in implicit coercion warning.
	
2002-07-26  Sergey Poznyakoff

	* po/ru.po: (new) Russian localization
	* po/pl.po: Updated
	* po/no.po: Updated
	* po/LINGUAS: Added ru.po
	* elisp/radconf-mode.el: added support for recent changes
	  in config. filter->auth and filter->acct are not handled
	  yet.

2002-07-25  Sergey Poznyakoff 

	* lib/dict.c: Correctly handle plurals in diagnostics.
	* radiusd/files.c: Likewise.
	* radiusd/rewrite.y: Likewise.
	* radiusd/sql.c: Likewise.
	* sql/postgres.c: Likewise.
	* po/es.po: Likewise. 
	* po/no.po: Likewise.
	* po/pl.po: Likewise.

	* configure.ac: Provide a wrapper for ngettext() in case when
	  NLS is not desired.
	* scripts/dot.emacs: Updated
	
2002-07-24  Sergey Poznyakoff

	* lib/mem.c: Cleaned wording of the diagnostics
	* po/es.po: Likewise
	* po/no.po: Likewise
	* po/pl.po: Likewise
	* radiusd/acct.c: Likewise
	* radiusd/auth.c: Likewise
	* radiusd/stat.c: Likewise
	
	* radiusd/rewrite.y: Changed protos of rewrite interface functions
	  to take RADIUS_REQ* instead of VALUE_PAIRS*.
	  %[User-Password] returns password in cleartext.
	* include/radiusd.h: changed rewrite interface protos.
	* radiusd/files.c: Changed run_rewrite invocations to conform
	  to the new prototypes.
	* TODO: Updated.  

2002-07-23  Sergey Poznyakoff

	* radiusd/exec.c (filter_cleanup): Cleanup handler. When the
	  thread is cancelled, closes any filters associated with it.
	* radiusd/request.c (rad_cleanup_thread0): Call filter_cleanup().

2002-07-23  Sergey Poznyakoff 

	* THANKS: Added Krzysztof Kopera.
	* ABOUT-NLS: Mention pl.po
	* po/pl.po: (new) Polish localization.
	* po/no.po: Updated.
	* po/es.po: Updated.
	* po/LINGUAS: Added pl
	* radiusd/config.y (obsolete): Function removed
	* radiusd/exec.c (radius_exec_program): Fixed typo in
	  diagnostics.
	* radiusd/version.c (version): Do not mention "deny shell".

	* scripts/dot.emacs: Updated.

2002-07-19  Sergey Poznyakoff 

	* radiusd/log.c (channel_syslog_handler): Bugfix. Thanks to
	  Ilguiz Latypov <ilatypov@superbt.com>.
	* radiusd/rewrite.y (mtx_bool): Fixed boolean shortcut
	  optimization.
	* radlast/radlast.c (parse_opt): Reverted the change from
	  2002-05-17 which was actually introduction of a bug.
	* TODO: Updated.

2002-07-19  Sergey Poznyakoff

	* include/sysdep.h: Add definition of timercmp (just in case).
	* radiusd/log.c (format_exit_status): New function. Properly
	  format child exit status diagnostics. 
	* radiusd/exec.c: Use format_exit_status to output exit status
	  diagnostics.
	* radiusd/radiusd.c (radiusd_watcher): Use format_exit_status to
  	  output exit status diagnostics.
	  (radiusd_exit,radiusd_restart): Protect radiusd_sql_shutdown()
	  by #ifdef.
	  Definition of timercmp moved to sysdep.h
	  
	* po/es.po: Updated.
	* po/no.po: Updated.

2002-07-17  Sergey Poznyakoff

	* configure.ac: Do not build server guile support by default. Sad.
	* include/radius.h: Include pwd.h and grp.h. Added protos for
	  getpw/getgr functions.
	* include/radiusd.h: New request states RS_HUNG and RS_DEAD.
	* include/radpaths.h: New defines RADIUSD_PID_FILE and
	  RADIUSD_WATCHER_FILE.

	* lib/getgr.c: New. A thread-safe version of getgrnam.
	* lib/getpw_r.c: New. A thread-safe version of getpwnam.
	* lib/Makefile.am: Added getgr.c and getpw_r.c.
	* lib/gethost_r.c: Cancel-safety.
	* lib/localtime_r.c: Likewise.

	* radiusd/exec.c: Do not use stream functions. Operate on
	  file descriptors directly.
	* radiusd/auth.c (unix_pass): Rewritten to be thread-safe.
	* lib/printutmp.c: Use thread-safe functions.
	* radiusd/files.c: Likewise.
	* raddb/dictionary: Allow multiple Acct-Ext-Program attributes.
	* radiusd/acct.c: Likewise.

	* radiusd/radiusd.c: Changes to watcher mode.
	* radiusd/request.c: Rewrite.
	* radiusd/scheme.c: Use radiusd_mutex_lock.
	* test/test.sh.m4: Pass -w0 to radiusd.
	
	* TODO: Updated.

2002-07-14  Sergey Poznyakoff

	* radiusd/exec.c: Implemented per-thread filters.
	* examples/config.syntax: `common' keyword in `filter' block.

	* po/es.po: Updated
	* po/no.po: Updated
	
2002-07-13  Sergey Poznyakoff  

	* radiusd/exec.c: Implemented reading filter accounting
	  replies, use of rewrite functions as input generators, and
	  redirection of a process stderr into a file (error-log
	  statement).

	* test/proto.m4 (TOOLDIR): Clear the directory if it exists.
	* test/radiusd.m4 (Filter): New test.
	* test/raddb/filter: New file. Sample filter for testing
	* test/raddb/Makefile.am: Added filter.
	* test/raddb/users.in: Added profiles for testing filters
	* test/raddb/hints: Likewise.
	* test/raddb/config.in: Added `filters' block.
	* test/proxy/config.in: Fixed obsolete debug level specification.
	
	* examples/filter.rw: New file. Provides sample filter input
	  generator for testing.
	* examples/Makefile.am: Added filter.rw
	* examples/config.syntax: Updated

	* radiusd/radiusd.c: Renamed reread_config -> reconfigure.
	* radiusd/request.c (request_process_command,
	  request_thread_command): eliminated sleep.
	* radiusd/rewrite.y: New built-in functions: inet_ntoa,
	  inet_aton, htonl, ntohl, htons, ntohs.
	
	* TODO: Updated
	
2002-07-13  Sergey Poznyakoff 

	* radiusd/exec.c (filter_auth, filter_acct): Check for
	  sym==NULL after filter_open.

2002-07-12  Sergey Poznyakoff 

	* radiusd/exec.c (filter_open): Return the filter unlocked.
	  (filter_auth,filter_acct): Install cleanup handler before
	  actually locking the filter.
	* radiusd/request.c (request_flush_list): Take into account
	  RS_WAITING requests.
	* radiusd/radiusd.c (sig_fatal): Restored diagnostics output.

	* po/es.po: Updated
	* po/no.po: Updated
	
2002-07-11  Sergey Poznyakoff  

	* lib/util.c (flush_seg): Missed cast to u_char.
	* radiusd/exec.c (filter_close): Avoid closing the filter
	  twice.
	  (filter_open): Unlock the filter _after_ closing it.
	* radiusd/request.c (request_put): Bugfix in queue handling.

2002-07-10  Sergey Poznyakoff 

	* radiusd/exec.c: filter_ functions rewritten to make
	  sure there are no simultaneous accesses to a single
	  filter.
  	  (radius_run_filter): Close all open descriptors.
	  (struct filter_symbol): Introduced two wait_reply
	  flags: for auth and for accounting processes.
	  
	* radiusd/radiusd.c: Changed handling of fatal signals.
	  (sig_fatal): Simply aborts. Calling radlog() seems to
	  be unsafe in signal handler context.
	  (sig_watcher): Print exit status of the watched process.
	  
	* examples/config.syntax: Updated syntax of filters
	  block.
	* po/es.po: Updated
	* po/no.po: Updated
	
2002-07-09  Sergey Poznyakoff  

	Synchronized with the recent bugfixes in 0.96 trunk.
	
	* include/radius.h: Changed declaration of install_pair.
	* lib/users.y: Likewise.
	* client/pam_radius/pam_radius.c: Likewise.
	* radiusd/radutil.c: Likewise.
	* radiusd/sql.c: Likewise.
	
	* radtest/gram.y: Likewise. Removed local definition of
	  install_pair().
	
	* include/radiusd.h: (AUTH_IGNORE): New define.
	* raddb/dictionary: Added new Auth-Type = Ignore. It means
	  to ignore the request silently (no reply is sent to the
          NAS).
	* radiusd/auth.c: Support for Auth-Type = Ignore.

	* radiusd/request.c (request_thread_command): Changed while() loop
	  to sleep() until I figure out what to do here.
	
2002-07-09  Sergey Poznyakoff 

	* configure.ac: Check for pthread_atfork and libintl.h.
	  If BUILD_INCLUDED_LIBINTL os defined add -Iintl to
	  the INCLUDEPATH.
	  When compiling with --disable-nls provide an empty
	  define for dgettext (needed for included argp stuff).
	  
	* include/radargp.h (rad_common_argp_child): Was declared
	  incorrectly.
	* lib/radargp.c: Likewise.
	* radlast/radlast.c: Likewise.
	* radtest/main.c: Likewise.
	* raduse/raduse.c: Likewise.
	* radwho/radwho.c: Likewise.
	* radzap/radzap.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	  (main) Protect invocation of pthread_atfork with ifdef.
	  This is temporary. Possibly I'll have to revive the
	  %radius-sockets scheme hack.
	
	* lib/printutmp.c: Additional includes to compile on alpha.

2002-07-08  Sergey Poznyakoff  

	* include/radiusd.h (snmp_stmt_begin): Bugfix
	  (filters_stmt_term, filters_stmt): new externs.
	* lib/dict.c (_dict_attribute): Bugfix, dict_attr_index[n]
	  was set incorrectly for vendor-specific attributes.
	* radiusd/log.c (get_priority): Bugfix
	  (category_set_level): Clear debug levels before setting them.
	* radiusd/snmpserv.c (snmp_stmt_begin): Bugfix
	  (snmp_add_acl): Bugfix: ntohl to ipaddr and netmask. 

	* radiusd/radiusd.c: Handle SIGCHLD.
	  (acct_stmt_begin): Bugfix.
	  (config_syntax) Added "filters" statement.
	* radiusd/exec.c: Added support for filter programs.
	* lib/users.y (install_pair): Allow Exec-Program attribute
	  value to start with |, meaning filter-id.
	* radiusd/acct.c (rad_acct_ext): Interpret the value of
	  Acct-Ext-Program attribute: if it starts with / it
	  is a name and command line of an external program to run,
	  if it starts with a |, it is the identifier of a filter
	  program to use.
	* radiusd/auth.c (sfn_exec_wait): Likewise for
	  Exec-Program-Wait.
	* examples/config.syntax: Example of filters statement
	
	* po/es.po: Updated
	* po/no.po: Updated

2002-07-07  Sergey Poznyakoff  

	Rewritten configuration file parser for radiusd. The new
	parser defines only basic configuration file synax. The
	complete syntax description is given to the main parser
	function cfg_parse() as an argument. Thus, the same function
	may be used for several configuration files. Hopefully, this
	will serve when I start unifying the confguration files.
	
	* configure.ac: Removed gperf-related issues.
	* examples/config.syntax: Added more sample statements.
	
	* include/Makefile.am: Add cfg.h
	* include/cfg.h: Added to repository.
	* include/radius.h: Removed struct {} Value.
	* include/radiusd.h: Include cfg.h. Replaced Config with three
	  separage global variables. Removed HOSTDECL type. Added
	  declarations for the new functions and variables.

	* radiusd/config.kw: Removed
	* radiusd/Makefile.am: Removed config.kw and related rules.
	* radiusd/acct.c (rad_check_ts): checkrad_assume_logged is now
	  global.
	* radiusd/exec.c (radius_exec_program): exec_user is now global.
	* radiusd/request.c (request_put): max_requests is now global.
	* radiusd/config.y: Completely rewritten.
	* radiusd/log.c: Added configuration-related data.
	* radiusd/radiusd.c: Likewise.
	* radiusd/rewrite.y: Likewise.
	* radiusd/scheme.c: Likewise.
	* radiusd/snmpserv.c: Likewise.
	
	* po/es.po: Updated.
	* po/no.po: Updated.
	  	
2002-07-05  Sergey Poznyakoff 

	* radiusd/sql.c (sql_conn_destroy): Removed if (data) condition.
	  The destructor gets called only if its associated pointer is
	  non-null.
	  (rad_sql_thread_cleanup): Bugfix: Do not free the connections.
	  They will be freed by sql_conn_destroy. Actually, all I should
	  do here is obstack_free, since sql_conn_destroy will also close
	  the connections. However, for the time being I use disp_sql_drop
	  here, since it *may* work differently from disp_sql_disconnect.
	* sql/disp.c (disp_sql_drop): Call disconnect only if
	  (conn && conn->connected).

	* radiusd/radiusd.c: Install pre-fork child handler that closes
	  all socket descriptors. This allows to remove %radius-sockets
	  from scheme.c
	* radiusd/scheme.c: Removed %radius-sockets hack introduced the
	  day before. It was elegant but a bit too risky.

	* po/es.po: Updated
	* po/no.po: Updated
	  
2002-07-05  Sergey Poznyakoff 

	* sql/disp.c: Additional checks on arguments
	* db/pgsql.m4: Bugfix.
	* radiusd/sql.c (rad_sql_checkgroup): Install an additional
	  cleanup handler.

2002-07-03  Sergey Poznyakoff

	* radiusd/radiusd.c (reread_config): Call scheme_before_reconfig()
	  and scheme_after_reconfig() where appropriate.
	  (socket_list_iterate): New function.
	* radiusd/scheme.c: Fork-safety: store fd's opened so far
	  in a list named %radius-sockets so that close-all-ports-except
	  works correctly. Added new function scheme_after_reconfig().
	* radiusd/config.y: Removed call to scheme_end_reconfig().
	* include/radiusd.h (scheme_before_reconfig,
	  scheme_after_reconfig, socket_list_iterate): New function
	  prototypes.
	  
        * radiusd/auth.c (sfn_validate): Handle check_expiration()
	  value.
	* test/radiusd.m4 (Expiration): new test.
	* test/raddb/users.in: Provisions for Expiration test.
	* raddb/dictionary (Expiration): Fixed properties.
	* THANKS: Added Cornel Cristea.

2002-07-01  Sergey Poznyakoff  

	* lib/radpdu.c (rad_decode_pdu): Add NAS-IP-Address to the packet
	  if the NAS didn't send one.

2002-06-27  Sergey Poznyakoff

	* examples: New dir
	* examples/.cvsignore: added
	* examples/Makefile.am: added
	* examples/README: added
	* examples/pam.conf: added
	* examples/nt.rw: added (ex raddb/rewrite.full)
	* examples/cisco.rw: Likewise.
	* examples/jetstream.rw: Likewise.
	* examples/ascend.rw: Likewise.
	* examples/config.syntax: Added

	* Makefile.am: Added examples/
	* configure.ac: Likewise.
	* raddb/config.syntax: removed.
	* raddb/rewrite.full: Likewise.
	* raddb/Makefile.am: Removed config.syntax and rewrite.full
	* radiusd/rewrite.y: Initialize rewrite_stack_size.
	* radiusd/scheme.c (boot_body): Bugfix.
	* test/raddb/Makefile.am (rewrite target): Updated
	
	* po/es.po: Updated
	* po/no.po: Updated

2002-06-27  Sergey Poznyakoff 

	* radiusd/rewrite.y: Rewritten to allow for simultaneous
	  execution.
	* radiusd/config.y: New statements: rewrite, stack-size
	* radiusd/config.kw: Likewise.
	* include/radiusd.h (request_stack_size): extern decl.
	* raddb/config.syntax: Example of rewrite statement.

2002-06-26  Sergey Poznyakoff 

	* client/pam_radius/pam_radius.c: Allow user to pass arbitrary
	  A/V pairs from the command line.

2002-06-26  Sergey Poznyakoff

	* radiusd/scheme.c: An attempt to work around the bottleneck
	  problem (see comment at the top of the file).
	* radiusd/config.y (guile_def): new configuration statement
	  `task-timeout' 
	* radiusd/config.kw: Likewise.
	* include/radiusd.h (scheme_task_timeout): extern declaration.
	* raddb/config.syntax: Example of task-timeout statement.
	
	* po/es.po: Updated.
	* po/no.po: Updated.
	
2002-06-25  Sergey Poznyakoff 

	* radiusd/radiusd.c: Set SIGCHLD to SIG_DFL (needed by exec.c)
	* radiusd/exec.c: Updated comment.

2002-06-23  Sergey Poznyakoff 

	* include/radiusd.h (Pthread_mutex_lock,Pthread_mutex_unlock): new
	  macros, taken from request.c
	  (request_thread_command_fp): New typedef.
	  (request_thread_command): New function prototype.
	* radiusd/acct.c (rad_acct_system): Removed empty else block.
	* radiusd/exec.c: Cleaned wording in comment.
	* radiusd/radiusd.c (rad_req_xmit): Likewise.
	  (rad_restart) Added call to rad_sql_shitdown.
	* radiusd/request.c
	  (request_thread_command,request_process_command): New functions
	* radiusd/sql.c (rad_sql_shutdown_thread): Perform sql shutdown
	  within a single thread.
	  (rad_sql_shutdown): Implemented.
	  (attach_sql_connection,detach_sql_connection): Removed unused
	  second argument.
	* radiusd/scheme.c: Use Pthread_mutex_* functions.
	* radscripts/radauth.m4: Use User-Password instead of obsolete
	  Password.
	* sql/disp.c (disp_sql_disconnect): Check ->connected before
	  proceeding.
	* sql/mysql.c (rad_mysql_disconnect): set ->data to NULL.  
	* TODO: Updated

2002-06-22  Sergey Poznyakoff

	* radiusd/acct.c (rad_check_multi): Fixed MPP validation.
	* radiusd/exec.c (radius_exec_program): Handle eventual
	  cancellation.

2002-06-21  Sergey Poznyakoff

	* include/radsql.h (SQL_DISPATCH_TAB): new argument to disconnect
	  member.
	* sql/mysql.c: Likewise.
	* sql/odbc.c: Likewise.
	* sql/postgres.c: Likewise.
	* sql/disp.c (disp_sql_drop): new function.
	
	* radiusd/radiusd.c (rad_thread_init): start threads in deferred
	  cancel mode.
	* radiusd/request.c (rad_cleanup_thread0): decrement num_threads.
	* radiusd/sql.c: handle eventual cancellation.
	
2002-06-20  Sergey Poznyakoff  

	* include/radius.h (avl_find_n, avl_delete_n): New functions.
	* lib/avl.c: Likewise.
	* radiusd/rewrite.y: Implemented `delete' and `%[attr](n)'.
	* doc/texinfo/extensions.texi: Documented new rewrite features.
	
	* po/es.po: Updated
	* po/no.po: Updated
	
2002-06-18  Sergey Poznyakoff 

	* configure.ac: Raised patchlevel
	* radiusd/config.y (channel_name production): initialize
	  `channel' with zeroes.
	* radiusd/log.c: Print tid in decimal
	* po/es.po: Updated
	* THANKS: Added Jaime Tellez Sanchez.
	* ABOUT-NLS: Updated
	
2002-06-17  Sergey Poznyakoff 

	* configure.ac: Do not panic if libmysqlclient_r wasn't found.
	* radiusd/request.c (rad_cleanup_thread0): a placeholder for
	  the cleanup function.
	  (request_put): Prevent successive invocations of pthread_cancel
	  by updating the request timestamp to the current time.
	* radiusd/radiusd.c: Always create the pidfile.
	
2002-06-14  Sergey Poznyakoff 

	* radiusd/radiusd.c: Added `watcher' feature. When radiusd
	  is started with the command line option --watcher, it
	  creates a watcher process which wakes up periodically to
	  check if the daemon is running. If it is not, the watcher
	  restarts it.

	* po/es.po: Updated.
	* po/no.po: Likewise.

2002-06-13  Sergey Poznyakoff

	* radiusd/auth.c (rad_check_password): Fixed bug introduced
	  yesterday.
	* radiusd/radiusd.c: Changed signal blocking.
	  (rad_thread_init): New function.
	* radiusd/request.c (request_thread0): use rad_thread_init(). 
	* radiusd/scheme.c (guile_boot0): Likewise.
	* include/radiusd.h (rad_thread_init): prototype declaration.
	
	* po/es.po: Updated.
	* po/no.po: Likewise.

2002-06-12  Sergey Poznyakoff  

	Fixed all varargs declarations (stdarg vs. varargs).
	Also a couple of bugfixes.
	
	* include/log.h: Removed
	* include/Makefile.am: Removed log.h
	* include/radius.h: Added logging stuff from log.h

	* include/sysdep.h: Check STDC_HEADERS and include either
	  stdarg.h or varargs.h. Define macro __PVAR for varargs
	  prototyping.
	* include/radiusd.h: Proper prototypes for varargs functions
	* radtest/radtest.h: Likewise.
	* lib/md5crypt.c (md5crypt): Fixed declaration.

	* lib/printutmp.c (output_hostname): Bugfix.
	* radscm/rscm_rewrite.c (rad_rewrite_execute_string): Fixed `type'
	  declaration.
	
	* lib/mem.c: Removed include <log.h>
	* lib/sysdep.c: Likewise.
	* radiusd/config.kw: Likewise.
	* radiusd/menu.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/stat.c: Likewise.
	* radlast/radlast.c: Likewise.
	* radscm/rscm_radlog.c: Likewise.
	* radtest/main.c: Likewise.
	* raduse/raduse.h: Likevise.
	* scripts/debugmod.m4: Likevise.
	
	* radiusd/snmpserv.c: Removed include <varargs.h>
	* radiusd/pam.c: Include <stdlib.h>
	
	* radiusd/log.c: Changed declarations of varargs functions.
	* client/pam_radius/pam_radius.c: Likevise.
	* lib/applog.c: Likevise.
	* lib/debug.c: Likevise.
	* lib/insist.c: Likevise.
	* lib/leakdetect.c: Likevise.
	* lib/logger.c: Likevise.
	* radiusd/rewrite.y: Likevise.	
	* radtest/gram.y: Likevise.
	
2002-06-12  Sergey Poznyakoff 

	* TODO: Updated.
	* configure.ac (--with-mysql): Try to link to libmysqlclient_r.
	  If that fails, fall back to using (possibly non thread-safe)
	  libmysqlclient.
	  Removed legacy --enable-sql option.

	* include/radius.h (typedef struct radius_req): Removed conn
	  member. Its use was not thread-safe.
	* include/radsql.h (rad_sql_need_reconnect): Removed.
	* radiusd/sql.c: Don't use radreq->conn member.
  	  (rad_sql_need_reconnect): Removed.
	* sql/disp.c (disp_sql_query): Print diagnostics.
	* sql/mysql.c: Lots of fixes. Do not use rad_sql_need_reconnect().
	  Fixed diagnostics.
	* sql/postgres.c: Likewise.
	* radiusd/radiusd.c (rad_req_drop): Use radlog_req when
	  printing duplicate request diagnostics.
	* radiusd/request.c (request_put): Disabled pthread_cancel block.
	
	* radiusd/auth.c (rad_check_password): Rewritten CHAP part: it
	  used to left garbage in `userpass', which then produced
	  confusing log output.

	* .gdbinit: Updated.
	
	* po/POTFILES.in: Added sql/disp.c
	* po/es.po: Updated.
	* po/no.po: Updated.
	
2002-06-07  Sergey Poznyakoff 

	* configure.ac: Include <stdio.h> when testing for strncasecmp
	  delaration.
	* include/radwho.h: removed  
	* include/Makefile.am: Removed radwho.h
	* po/es.po: Removed obsolete entries.

2002-06-07  Sergey Poznyakoff  

	* configure.ac: Check for declarations of (v)asprintf and getline

	* lib/Makefile.am: Fixed lint rules.
	* radiusd/Makefile.am: Likewise
	* radlast/Makefile.am: Likewise
	* radtest/Makefile.am: Likewise
	* radscm/Makefile.am: Likewise
	* radwho/Makefile.am: Likewise
	* radzap/Makefile.am: Likewise
	* radzap/Makefile.am: Likewise
	* sql/Makefile.am: Likewise

	Linted and cleaned up some bugs. Files affected:

	* include/obstack1.h,
	* include/radius.h,
	* include/radiusd.h,
	* include/radscm.h,
	* include/rewrite.h,
	* include/symtab.h,
	* include/sysdep.h,
	* include/snmp/snmp.h,
	* lib/ascend.c,
	* lib/client.c,
	* lib/debug.c,
	* lib/dict.c,
	* lib/envar.c,
	* lib/iputil.c,
	* lib/logger.c,
	* lib/nas.c,
	* lib/radargp.c,
	* lib/raddb.c,
	* lib/radpdu.c,
	* lib/radsrv.c,
	* lib/radutmp.c,
	* lib/realms.c,
	* lib/slist.c,
	* lib/symtab.c,
	* lib/users.y,
	* lib/util.c,
	* radiusd/acct.c,
	* radiusd/auth.c,
	* radiusd/config.y,
	* radiusd/exec.c,
	* radiusd/files.c,
	* radiusd/log.c,
	* radiusd/menu.c,
	* radiusd/proxy.c,
	* radiusd/radck.c,
	* radiusd/radius.c,
	* radiusd/radiusd.c,
	* radiusd/snmpserv.c,
	* radiusd/sql.c,
	* radiusd/stat.c,
	* radlast/radlast.c,
	* radtest/gram.y,
	* radtest/input.l,
	* radtest/main.c,
	* radtest/radtest.h,
	* snmplib/snmp_oid.c,
	* snmplib/snmp_recv.c,
	* snmplib/snmp_send.c,
	* test/findport.c,
	* lib/printutmp.c,
	* radiusd/radutil.c,
	* radiusd/request.c,
	* radiusd/rewrite.y,
	* radiusd/scheme.c,
	* radscm/rscm_avl.c,
	* radscm/rscm_lib.c,
	* radscm/rscm_utmp.c,
	* raduse/raduse.c,
	* radwho/radwho.c,
	* sql/disp.c,
	* sql/mysql.c,
	* sql/odbc.c.

	* po/es.po: Updated
	* po/no.po: Updated
	
2002-06-06  Sergey Poznyakoff

	* TODO: Updated.
	* include/radius.h: New attribute property AP_REQ_CMP marks
	  attributes that can be used in request comparisons to
	  determine duplicate requests.
	* lib/avl.c (avp_cmp): New function. Compares two A/V pairs
	  (a la eq?). Note: useless for comparing password attributes.
	  (avl_cmp): New function. Compares two A/V lists using
	  avp_cmp. Only attributes marked with AP_REQ_CMP are involved
	  in comparison.
	* lib/dict.c: New property flag 'c'. Sets AP_REQ_CMP bit.
	* lib/nas.c (read_naslist_entry): Allow two fields for
	  compatibility with previous versions. Set default nas type to
	  `true'
	* raddb/dictionary: Mark attributes that can be used for
	  comparisons.
	* radscm/rscm_avl.c (rscm_avl_match_p): Use avp_cmp().

2002-06-05  Sergey Poznyakoff

	* NEWS: Updated.
	* README: Updated.
	* doc/texinfo/attributes.texi: Updated.
	* doc/texinfo/auth.texi: Updated.
	* doc/texinfo/client.texi: Updated.
	* doc/texinfo/configure.texi: Updated.
	* doc/texinfo/extensions.texi: Updated.
	* doc/texinfo/invoke.texi: Updated.
	* doc/texinfo/radzap.texi: Updated.

	* raddb/config: Updated.
	* raddb/config.syntax: Updated.

2002-06-04  Sergey Poznyakoff 

	* configure.ac: Override a bug in autoconf's AC_PATH_PROG
	  (see source for details).
	* elisp/radius-mode.el (rad-electric-equal, rad-electric-comma):
	  accept equal sign within a string attribute.
	* po/es.po: Updated.
	* radiusd/scheme.c: Removed debugging output.

2002-06-03  Sergey Poznyakoff 

	* lib/radargp.c: Bugfix.
	* radiusd/config.y: Likewise. 
	* radiusd/proxy.c: Likewise.
	* radiusd/radck.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/rewrite.y: Likewise.
	* radiusd/sql.c: Likewise.
	* radlast/radlast.c: Likewise.
	* radtest/main.c: Likewise.
	* radwho/radwho.c: Likewise.
	* radzap/radzap.c: Likewise.
	* lib/radargp.c: Likewise.

	* po/no.po: Updated.
	* po/es.po: Likewise.

	* raddb/client.conf: Changed source IP to 127.0.0.1. Brought in
	  sync with raddb/clients.
	
2002-06-02  Sergey Poznyakoff

	* lib/mem.c: Fixed diagnostic output.
	* radiusd/auth.c: Likewise.
	* radiusd/builddbm.c: Likewise.
	* radiusd/config.y: Likewise.
	* radiusd/proxy.c: Likewise.
	* radiusd/radck.c: Likewise.
	* radiusd/rewrite.y: Likewise.
	* radiusd/sql.c: Likewise.
	* radiusd/version.c: Likewise.
	
	* po/POTFILES.in: Removed rewrite.c.
	* po/Makefile.in.in: Use fuzzy translations.
	* po/no.po: Brought in sync with the latest changes.

	* radiusd/scheme.c: Forgotten to commit yesterday.
	* scripts/guile/1.6/guile-doc-snarf: Removed unneeded bits.
	
2002-06-02  Sergey Poznyakoff  

	Added support for Guile 1.6. At the time of the writing
	guile 1.6 is still not released, but it seems that the
	problems with its snarfer will continue, since it does
	not install doc snarfer. Again, I have to provide my own
	snarfer...
	
	* scripts/guile/guile-doc-snarf: Moved to 1.4
	* scripts/guile/guile-func-name-check: Likewise.
	* scripts/guile/guile-snarf.awk: Likewise

	* scripts/guile/1.4: new directory
	* scripts/guile/1.4/guile-doc-snarf: new
	* scripts/guile/1.4/guile-func-name-check: new
	* scripts/guile/1.4/guile-snarf.awk: new
	* scripts/guile/1.4/Makefile.am: new
	* scripts/guile/1.4/.cvsignore: new

	* scripts/guile/1.6: new
	* scripts/guile/1.6/guile-doc-snarf: new
	* scripts/guile/1.6/guile-doc-snarf.awk: new
	* scripts/guile/1.6/Makefile.am: new
	* scripts/guile/1.6/.cvsignore: new

	* scripts/guile/Makefile.am: Updated

	* configure.ac: AC_SUBST(GUILE_SNARF_VERSION). The variable is
	  used to determine which snarfer to use.
	* m4/guile.m4: Additional checks for functions introduced in
	  guile 1.6
	* radiusd/rewrite.y: include <radscm.h>
	* radscm/main.c: Likewise.

	* radscm/radscm.c: Use functions, defined in guile 1.6 and
	  compatibility wrappers.
	* radscm/rscm_avl.c: Likewise.
	* radscm/rscm_dict.c: Likewise.
	* radscm/rscm_lib.c: Likewise.
	* radscm/rscm_syslog.c: Likewise.
	* radscm/rscm_radlog.c: Likewise.
	* radscm/rscm_utmp.c: Likewise.
	* radscm/rscm_rewrite.c: Likewise.
	
	* radscm/Makefile.am: Changed invocation of the snarfers.

	* radscm/boot.scm: use-modules format
	* radscm/ttl.scm: Likewise.
	  
	* lib/debug.c (auth_code_abbr): Bugfix

	* radscm/radscm.h: Moved to...
	* include/radscm.h: ...here. 
	* include/Makefile.am: Removed display.h. Added radscm.h

2002-05-31  Sergey Poznyakoff 

	* lib/mem.c: Again fixed mem_lock/mem_unlock. Previous
	  fix, dated 2002-03-17, seems to have been lost. Don't
	  know how it came...
	
	* include/display.h: Removed.
	* radiusd/radck.c: Renamed setbit to radck_setbit: the name
	  caused conflict on HP. Renamed bitisset for symmetry.
	  
	* include/timestr.h: Added forgotten copyright statement.

	Synchronized with 0.96.3:
	
	* include/radius.h: (DICT_ATTR): Added attr_parser_fp member.
	  (dict_register_parser, ascend_parse_filter): New protos.

	* lib/ascend.c: Implementation of ascend-specific filters.
	* lib/Makefile.am: Added ascend.c
	* lib/dict.c: Handle `abinary' attribute type.
	* lib/users.y: Likewise.
	* lib/util.c: (format_string_visual): Bugfix. Characters > 128
	  were printed incorrectly.
	* raddb/dict/ascend: Added Ascend-Call-Filter and
	  Ascend-Data-Filter attributes.
	* raddb/dict/ascend.vs: Changed type of Ascend-.*-Filter attributes
	  to abinary.

2002-05-29  Sergey Poznyakoff  

	* lib/radpdu.c (rad_pdu_finish): Bugfix: sealing of
	  RT_ACCOUNTING_REQUESTs was incorrect.
	  
	* lib/debug.c (auth_code_abbr): new function. Print abbreviated
	  request type.
	* lib/logger.c (rad_print_request): Format the request into
	  given output buffer. NOTES: Format must be revised. 
	  (radlog_req): Output a diagnostic message along with the
	  short request data.
	  
	* include/log.h: Proto for radlog_req and definition for
	  MAXIDBUFSIZE (the latter should certainly be fixed).
	* include/radius.h: Proto for rad_print_request.

	* radiusd/acct.c: Use radlog_req where appropriate.
	* radiusd/auth.c: Likewise.
	* radiusd/proxy.c: Likewise.
	* radiusd/radius.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/radutil.c: Likewise.
	* radiusd/sql.c: Likewise.
	
	* radiusd/log.c: Removed extra colon the diagnostic output.

	* radscm/rscm_dict.c: Added radscm.h
	* radscm/rscm_radlog.c: Likewise.
	* radscm/rscm_rewrite.c: Likewise.
	* radscm/rscm_syslog.c: Likewise.
	* radscm/rscm_utmp.c: Likewise.
	
2002-05-18  Sergey Poznyakoff 

	Client / Server Proxy revised.

	* Makefile.am: Added readme-alpha option.
	* configure.ac: Added no-exeext automake option.
	
	* lib/radpdu.c: new file.
	* lib/radsrv.c: new file.
	* lib/Makefile.am: Added radpdu.c and radsrv.c.
	
	* include/radclient.h: Removed.
	* include/Makefile.am: Removed radclient.h
	* include/radius.h (REALM): Redesigned the structure. Use
	  a queue of servers instead of a single IP.
	  (RADIUS_SERVER,RADIUS_SERVER_QUEUE): new structures.
	  
	* lib/mem.c (make_string): Handle NULL argument.
	* lib/radargp.c: Removed dubious assignment.
	* lib/raddb.c: Bugfix: count empty lines.
	* lib/realms.c: Reflect changes to REALM structure. Allow for
	  multiple servers per line.
	* radiusd/acct.c: Reflect changes to REALM structure.
	* radiusd/files.c: LIkewise.
	* radwho/radwho.c: Likewise.
	
	* lib/client.c: Redesigned.
	* lib/debug.c (auth_code_str): New function.
	
	* radiusd/proxy.c: Rewritten using new server/client functions.
	  Implemented multiple servers per realm. Proposed by Rasmus
   	  Aveskogh <rasmus.aveskogh@utfors.se>.
	* radiusd/radius.c: Rewritten using new server/client functions.
	  This file should disappear.
	* radiusd/radiusd.c: Use new server/client functions.
	* radscm/radscm.c: Likewise.
	* radscm/radscm.c: Likewise.
	* client/pam_radius/pam_radius.c: Likewise.
	
	* TODO: Updated.

2002-05-17  Sergey Poznyakoff

	Implemented retransmitting of the proxy requests.
	
	* configure.ac: Check declarations of strncasecmp, strtok_r,
	  localtime_r
	* m4/common.m4: Added comment to RA_CHECK_STRUCT_FIELD.
	* include/radius.h (struct radius_req): Changed type of `realm'
	  to REALM. Added new members: server_port and remote_user.
	* include/radiusd.h (proxy_retry): added prototype.
	  (snmp_req_drop): fixed prototype.
	* include/sysdep.h: Use HAVE_DECL_ defines to guard extra
	  prototypes. Removed utmp-related stuff.
	* lib/util.c (radreq_free): free remote_user. realm now points
	  to a global list entry and should not be freed any more.
	  
	* radiusd/acct.c: Reflect changes to RADIUS_REQ.
	* radiusd/auth.c: Likewise.

	* radiusd/proxy.c (get_socket_addr): new function.
	  (proxy_addinfo): Modified.
	  (proxy_retry): New. Retransmit the request.
	* radiusd/radiusd.c: Retransmit proxy requests.
	* radiusd/request.c (request_drop and dependents): Changed
	  prototype to allow for re-transmitting the
	  original request (namely, for proxy requests).
	* radiusd/snmpserv.c (snmp_req_drop): Changed prototype.

	* radlast/radlast.c (parse_opt): Bugfix.
	* radwho/radwho.c: Added utmp-related preprocessor stuff, taken
	  from include/sysdep.h
	* lib/printutmp.c: (output_tab): Bugfix.

	* po/no.po: Updated.
	* TODO: Updated.
	
2002-05-16  Sergey Poznyakoff  

	* radlib/*: Moved to
	* lib/*: ... here.

	Old radlib support discontinued.

	* Makefile.am: Renamed radlib/ to lib/
	* configure.ac: Likewise.
	* client/pam_radius/Makefile.am: Likewise.
	* po/POTFILES.in: Likewise.
	* radiusd/Makefile.am: Likewise.
	* radlast/Makefile.am: Likewise.
	* radscm/Makefile.am: Likewise.
	* radtest/Makefile.am: Likewise.
	* raduse/Makefile.am: Likewise.
	* radwho/Makefile.am: Likewise.
	* radzap/Makefile.am: Likewise.
	
	* lib/realms.c: Functions for dealing with data from
	  raddb/realms,
	* lib/printutmp.c: Functions to be used by radwho and
	  (in the long run) by radlast.
	* radiusd/acct.c: Use realm_lookup_name().
	* radiusd/proxy.c: Likewise.
	* radiusd/files.c: Removed realm-related functions.
	
	* include/radius.h: Added protos for realm_ functions
	* include/radiusd.h: Removed realm_find() proto.
	* include/radutmp.h: Added protos for functions from
	  lib/printutmp.c
	* radwho/radwho.c: Use functions from lib/printutmp.c.
	  Provide several predefined formats.
	  
	* radscripts/radping.m4: Use new format syntax.
	
	* TODO: Updated.

2002-05-14  Sergey Poznyakoff

	* TODO: Updated.

	* include/radutmp.h: Changed semantics of porttype member. Now
	  it keeps the value of NAS-Port-Type verbatim.
	* radiusd/acct.c: Likewise.
	* radlast/radlast.c: Likewise.
	* radwho/radwho.c: Likewise.

2002-05-14  Sergey Poznyakoff

	A little housekeeping:
	
	* configure.ac: Supply an argument to RA_MAINTAINER_MODE.
	* doc/texinfo/configure.texi: @tab after a newline confuses
	  tex2html.
	* m4/maintain.m4: RA_MAINTAINER_MODE takes an argument.
	* scripts/pofilter.c: A filter to ispell (vers. >= 3.2.06) for
	  use with .po files.
	* scripts/Makefile.am: Build pofilter if in maintainer mode.

	* po/no.po: Updated.

	* snmplib/COPYING.LIB: Updated to LGPL 2.1
	* include/snmp/asn1.h: Cleaned up wording: Lesser GPL instead
	  of Library GPL.
	* include/snmp/mib.h: Likewise.
	* include/snmp/snmp.h: Likewise.
	* include/snmp/snmp_intern.h: Likewise.
	* snmplib/asn1.c: Likewise.
	* snmplib/snmp_err.c: Likewise.
	* snmplib/snmp_mem.c: Likewise.
	* snmplib/snmp_mib.c: Likewise.
	* snmplib/snmp_oid.c: Likewise.
	* snmplib/snmp_pdu.c: Likewise.
	* snmplib/snmp_recv.c: Likewise.
	* snmplib/snmp_send.c: Likewise.
	* snmplib/snmp_sess.c: Likewise.
	* snmplib/snmp_var.c: Likewise.

	* mibs/GNU-RADIUS-SERVER-MIB.txt: Fixed REVISION format.
	* mibs/GNU-RADIUS-STAT-MIB.txt: Likewise.
	
2002-05-13  Sergey Poznyakoff  

	* po/no.po: Updated.
	* radiusd/rewrite.y: Mutual locking was badly broken. Fixed.
	  Notice that this version does not support recursive invocation
	  (rewrite -> guile -> rewrite will deadlock).

2002-05-12  Sergey Poznyakoff 

	* po/no.po: New translations.
	* radiusd/auth.c: Likewise.
	* radiusd/scheme.c (boot_body): Changed some spurious info's to
	  debug's.
	* scripts/dot.emacs: (new) 
	* scripts/Makefile.am: Added dot.emacs

2002-05-06  Sergey Poznyakof

	* radiusd/radutil.c: Expand \n to \r\n. 
	* TODO: Updated.

2002-05-06  Sergey Poznyakoff

	* radiusd/acct.c: Fixed diagnostics.
	* radiusd/auth.c: Likewise.
	* radiusd/config.y: Likewise.
	* radiusd/exec.c: Likewise.
	* radiusd/files.c: Likewise.
	* radiusd/log.c: Likewise.
	* radiusd/proxy.c: Likewise.
	* radiusd/radius.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/request.c: Likewise.
	* radlast/radlast.c: Likewise.
	* radlib/client.c: Likewise.
	* radlib/dict.c: Likewise.
	* radlib/radargp.c: Likewise.
	* radtest/input.l: Likewise.
	* radtest/main.c: Likewise.
	* radwho/radwho.c: Likewise.
	* sql/postgres.c: Likewise.
	* radiusd/rewrite.y: Likewise.
	* radiusd/scheme.c: Likewise.
	* radiusd/sql.c: Likewise.
	* radlib/radutmp.c: Likewise.
	* radlib/sysdep.c: Likewise.
	* radlib/users.l: Likewise.
	* radlib/users.y: Likewise.
	* radzap/radzap.c: Likewise.
	* sql/mysql.c: Likewise.
	* sql/odbc.c: Likewise.
	
	* radiusd/radius.c: Removed \r from user reply messages.
	* radiusd/menu.c: Likewise.

	* radlib/intl.c: Use ENABLE_NLS instead of HAVE_LIBINTL
	
	* TODO: Updated
	* README: Updated
	* .cvsignore: Added intl
	* Makefile.am: Likewise.
	* configure.ac: Fixed nls-related  issues.

	* client/pam_radius/Makefile.am: Added @LTLIBINTL@
	* radiusd/Makefile.am: Likewise.
	* radlast/Makefile.am: Likewise.
	* m4/Makefile.am: Added nls-related files.
	* radlib/Makefile.am: Added nls-related issues.
	* radscm/Makefile.am: Likewise.
	* radtest/Makefile.am: Likewise.
	* raduse/Makefile.am: Likewise.
	* radwho/Makefile.am: Likewise.
	* radzap/Makefile.am: Likewise.

	Added nls-related files:
	* m4/codeset.m4,
	* m4/gettext.m4,
	* m4/glibc21.m4,
	* m4/iconv.m4,
	* m4/isc-posix.m4,
	* m4/lcmessage.m4,
	* m4/lib-ld.m4,
	* m4/lib-link.m4,
	* m4/lib-prefix.m4,
	* m4/progtest.m4.
	
	* po/.cvsignore: Updated.
	* po/Makefile.in.in: new, from gettext-0.11.2.
	* po/Rules-quot: Likewise.
	* po/boldquot.sed: Likewise.
	* po/en@boldquot.header: Likewise.
	* po/en@quot.header: Likewise.
	* po/insert-header.sin: Likewise.
	* po/quot.sed: Likewise.
	* po/remove-potcdate.sin: Likewise.
	* po/remove-potcdate.sed: Likewise.

	* po/POTFILES.in: new.
	* po/LINGUAS: new.
	* po/Makevars: new.
	* po/no.po: Norwegian messages (bokmaal)

	* intl/: New directory. Sources for standalone libintl
	  implementation.
	* intl/Makefile.in: new, from gettext-0.11.2.
	* intl/ChangeLog: Likewise.
	* intl/VERSION: Likewise.
	* intl/bindtextdom.c: Likewise.
	* intl/config.charset: Likewise.
	* intl/dcgettext.c: Likewise.
	* intl/dcigettext.c: Likewise.
	* intl/dcngettext.c: Likewise.
	* intl/dgettext.c: Likewise.
	* intl/dngettext.c: Likewise.
	* intl/eval-plural.h: Likewise.
	* intl/explodename.c: Likewise.
	* intl/finddomain.c: Likewise.
	* intl/gettext.c: Likewise.
	* intl/gettextP.h: Likewise.
	* intl/gmo.h: Likewise.
	* intl/hash-string.h: Likewise.
	* intl/intl-compat.c: Likewise.
	* intl/l10nflist.c: Likewise.
	* intl/libgnuintl.h: Likewise.
	* intl/loadinfo.h: Likewise.
	* intl/loadmsgcat.c: Likewise.
	* intl/localcharset.c: Likewise.
	* intl/locale.alias: Likewise.
	* intl/localealias.c: Likewise.
	* intl/localename.c: Likewise.
	* intl/ngettext.c: Likewise.
	* intl/os2compat.c: Likewise.
	* intl/os2compat.h: Likewise.
	* intl/osdep.c: Likewise.
	* intl/plural-exp.c: Likewise.
	* intl/plural-exp.h: Likewise.
	* intl/plural.c: Likewise.
	* intl/plural.y: Likewise.
	* intl/ref-add.sin: Likewise.
	* intl/ref-del.sin: Likewise.
	* intl/textdomain.c: Likewise.
	* intl/libintl.h: Likewise.
	* intl/charset.alias: Likewise.
	* intl/ref-add.sed: Likewise.
	* intl/ref-del.sed: Likewise.
	* intl/.cvsignore: new.

	* ABOUT-NLS: new file, from gettext-0.11.2.
	
2002-05-02  Sergey Poznyakoff  

	* .cvsignore: Updated.
	* TODO: Updated.
	* test/raddb/.cvsignore: Updated.
	
	* radiusd/auth.c: Removed proxy_pairs from AUTH_MACH.
	* radiusd/radius.c (rad_send_reply): Always copy Proxy-State
	  attributes to the reply.

2002-04-30  Sergey Poznyakoff 

	* configure.ac: Add description string to AC_DEFINE_UNQUOTED.
	* client/Makefile.am: Add final newline.
	* include/Makefile.am: Add raddict.h radmibs.h to
	  MAINTAINERCLEANFILES
	* radzap/Makefile.am: Added CLEANFILES. Moved MAINTAINERCLEANFILES
	  out of conditional block.
	* test/Makefile.am: Removed commented out statement.
	* test/dejagnu/Makefile.am: Be more careful with various
	  ..CLEANFILES.
	* test/raddb/Makefile.am: Likewise.
	* test/shell/Makefile.am: Likewise.
	* test/raddb/sqlserver: Updated.
	
	* radiusd/exec.c: Trivial update.
	* radiusd/radius.c: Add extra diagnostics.
	* radlib/mem.c (alloc_bucket): Fixed inconsistencies in
	  computing class->allocated_cnt. 

2002-04-30  Sergey Poznyakoff

	Configuration rewritten for autoconf-2.53 / automake-1.6.
	
	* acconfig.h: Removed.
	* configure.in: Renamed to ...
	* configure.ac: ... this.
	* Makefile.am: Require automake 1.6. Override default
	  distcheck rule since it requires _everything_ to be
	  removed on uninstall, and we will not remove files
	  from $sysconfdir.
	  Similar considerations apply to distcleancheck_listfiles.
	* .cvsignore: Updated.
	* test/.cvsignore: Updated.
	* test/dejagnu/.cvsignore: Updated.
	* test/shell/.cvsignore: New.
	
	* client/pam_radius/Makefile.am: Reluctantly added $(EXEEXT)
	  to the .la target.
	* doc/texinfo/Makefile.am: Added CLEANFILES.

	* m4/common.m4: Changed rad_ prefix to RA_ for defuns and to
	  ra_ for variables.
	* m4/getopt.m4: Likewise.
	* m4/guile.m4: Likewise.
	* m4/inaddr.m4: Likewise.
	* m4/lib.m4: Likewise.
	* m4/maintain.m4: Likewise.
	* m4/rx.m4: Likewise.

	* radiusd/Makefile.am: Automake barks at RADIUSD_LDADD. Renamed
	  to RADIUSD_LDADD_LIST.
	* radscm/Makefile.am: Renamed RADSCM_BUILT_SOURCES to
	  RADSCM_BUILT_SOURCES_LIST. Added new CLEANFILES and
	  INCLUDES.  
	* test/Makefile.am: Changed CLEANFILES.
	* test/dejagnu/Makefile.am: Changed DISTCLEANFILES.
	* test/proxy/Makefile.am: Changed CLEANFILES. Provided
	  distclean-local.
	* test/raddb/Makefile.am: Likewise.
	
+	* radscm/radscm.c: Protect #include <*.x> with #ifndef
	  SCM_MAGIC_SNARFER.
	* radscm/rscm_avl.c: Likewise.
	* radscm/rscm_dict.c: Likewise.
	* radscm/rscm_lib.c: Likewise.
	* radscm/rscm_radlog.c: Likewise.
	* radscm/rscm_rewrite.c: Likewise.
	* radscm/rscm_syslog.c: Likewise.
	* radscm/rscm_utmp.c: Likewise.
	
	* radiusd/auth.c (rad_check_password): Attempt to autodetect
	  CHAP authentication.
	* radiusd/radius.c (rad_send_reply): Fixed silly bug.
	* radlib/debug.c: Provide clear_debug() in the #else branch.
	
2002-04-26  Sergey Poznyakoff 

	* radiusd/radius.c (rad_send_reply): Cleaned up handling of
	  reply attributes in authentication rejects.

2002-04-25  Sergey Poznyakoff 

	* radiusd/acct.c (rad_acct_system): Ignore only requests
	  without NAS-Port-Id or with Acct-Type!=System
	* radiusd/radius.c (rad_create_pdu): Changed error
	  control.
	  (rad_send_reply): Append 'reply' back to radreq->request.
	  This should be eliminated soon.
	* radiusd/request.c (request_xmit): No need to drop the request
	  if there is no xmit function associated with its type.
	* radlib/mem.c: Added some more insists.
	
	* radiusd/.gdbinit: Handle SIGHUP. Set spawn_flag=1

2002-04-15  Sergey Poznyakoff

	* include/radius.h (typedef struct radius_req): New fields
	  reply_code, reply_pairs and reply_msg. These are used
	  to keep the reply values for already processed requests.
	  These values are retransmitted when the need arises.
	* include/radiusd.h: Removed proto of rad_acct_xmit().
	* radiusd/acct.c (rad_acct_xmit): Removed.
	* radiusd/radius.c: Rewritten from scratch.
	* radiusd/radiusd.c (rad_req_xmit): New function. Retransmits
	  previous replies for AUTH and ACCT requests.
	  (request_class request_class): Use rad_req_xmit().
	* radlib/util.c (radreq_free): Free memory allocated  for
	  reply_.* members.

	* radiusd/proxy.c: Updated to reflect changes in the AUTH_HDR
	  structure.
	* radlib/client.c: Likewise.
	
	* radscm/rscm_utmp.c (rad_utmp_putent): Fixed typo in error
	  diagnostic string.
	* client/nas/nas.rc: Cleaned up wording in the heading comment.

	* AUTHORS: Updated.

2002-04-11  Sergey Poznyakoff

        * include/radutmp.h: Removed P_ protocol defines.
        * radiusd/acct.c: Store Framed-Attribute value in
          ut.proto verbatim.
        * radlast/radlast.c: Use dictionary to decode stored
          protocol value
        * radwho/radwho.c: Likewise.

        * radscm/rscm_utmp.c (s_rad_utmp_putent): Accept integer
          and string protocol values.
        * client/nas/nas.scm.in (nas-utmp-list): Use string protocol
          value.
	
2002-03-29  Sergey Poznyakoff 

	* radzap/radzap.c: New option: --file. --log-directory retained
	  for compatibility.
	* radscripts/radctl.m4: Removed potentially dangerous commands:
	  dumpdb and status.
	* TODO: Updated.

2002-03-25  Sergey Poznyakoff

	Switched to GNU argp functions for parsing command line
	options. 

	* radlib/argp-ba.c: (new).
	* radlib/argp-eexst.c: (new).
	* radlib/argp-fmtstream.c: (new).
	* radlib/argp-fs-xinl.c: (new).
        * radlib/argp-help.c: (new).
	* radlib/argp-parse.c: (new).
	* radlib/argp-pv.c: (new).
	* radlib/argp-pvh.c: (new).
	* radlib/argp-xinl.c: (new).
	* radlib/argp-fmtstream.h: (new).
	* radlib/argp-namefrob.h: (new).
	* radlib/argp.h: (new).
	* radlib/pin.c: (new).
	* radlib/strchrnul.c: (new).
	* radlib/strndup.c: (new).
	* radlib/strnlen.c: (new).
	* radlib/radargp.c: (new) Radius-specific command line
	  handling.
	* radlib/Makefile.am: Added new sources.
	* configure.in: Check for argp stuff.

	* include/radargp.h: (new)
	* include/Makefile.am: Removed getopt1.h, added radargp.h

	* radiusd/radiusd.c: Use rad_argp_parse().
	* radiusd/version.c: Changed version() to fit
	  argp_program_version_hook declaration.
	* radlast/radlast.c: Use rad_argp_parse().
	* raduse/raduse.c: Likewise.
	* radwho/radwho.c: Likewise.
	* radzap/radzap.c: Likewise.
	* radtest/main.c: Likewise.
	
	* radlast/Makefile.am: Added -I$(top_srcdir)/radlib
	* raduse/Makefile.am: Likewise.
	* radwho/Makefile.am: Likewise.
	* radzap/Makefile.am: Likewise.
	* radtest/Makefile.am: Likewise.
	
	* radscm/main.c: Removed include <getopt1.h>
	* radtest/radtest.h: Removed not needed externs.
	* radiusd/.gdbinit: Ignore SIGPIPE
	* doc/MACHINES: Added entry about Hurd (forgotten to
	  commint 2002-03-21?)
	* TODO: Updated. 

2002-03-22  Sergey Poznyakoff

        * radlib/users.l (pop_source): Zero out yyin when no more
          sources are on stack.
          (xinput -- both versions): Correctly handle yyin==NULL.
	
2002-03-21  Sergey Poznyakoff 

	* doc/MACHINES: Added entry about Hurd.

2002-03-20  Sergey Poznyakoff 

	According to RFC 2138, renamed Password attribute to
	User-Password. Files affected:
	
	* raddb/dictionary,
	* client/pam_radius/pam_radius.c,
	* doc/texinfo/attributes.texi,
	* doc/texinfo/auth.texi,
	* doc/texinfo/extensions.texi,
	* doc/texinfo/operation.texi,
	* radiusd/acct.c,
	* radiusd/auth.c,
	* radiusd/files.c,
	* radiusd/log.c,
	* radiusd/menu.c,
	* radiusd/proxy.c,
	* radiusd/radck.c,
	* radiusd/radutil.c,
	* radlib/client.c,
	* radscm/radsession.in,
	* test/proxy.m4,
	* test/radiusd.m4,
	* test/raddb/users.in.
	
	* raddb/dict/compat: Added Password for backward compatibility.

	* radiusd/stat.c: Bugfix: Initialize server_stat.start_time with
	  current time.
	* raddb/Makefile.am: Do not overwrite existing dictionary.
	
2002-03-19  Sergey Poznyakoff  

	* configure.in: More elaborate checking for POSIX threads
	  library: FreeBSD keeps pthread_ functions in libc_r.

2002-03-19  Sergey Poznyakoff
	
	* radiusd/sql.c (rad_sql_retrieve_pairs): Honor additivity
	  when moving pairs to the return_pairs. (Reported by
	  Ciprian Nica <nimaci@pcnet.ro>).
	* radlib/avl.c (avp_free): Be more safe: check for NULL.
	
2002-03-19  Sergey Poznyakoff 

	* configure.in: define lisp_LISP only if emacs was found
	  on the system.
	* elisp/Makefile.am: Install elisp files only if emacs
	  is present on the system (bug reported by Andrey Lakhno
	  <land@dnepr.net>).

	* doc/texinfo/configure.texi: Fixed wrong description of attrib.op
	  usage.
	* radiusd/exec.c: Removed #if 0 blocks.
	* radiusd/radiusd.c: Ignore SIGPIPE.
	* radiusd/sql.c (attach_sql_connection): Do not call time()
	  twice.

2002-03-18  Sergey Poznyakoff  

	* radiusd/auth.c: Renamed MACH to AUTH_MACH. It caused
	  trouble on Hurd.
	* sql/disp.c: Removed stray pth.h
	* doc/texinfo/radwho.texi: Typo
	* doc/texinfo/auth.texi: Removed erroneous Password != ""
	  from Auth-Type = Accept sample.
	* m4/inaddr.m4: include <sys/types.h>
	* radiusd/radiusd.c: Close all inherited descriptors right
	  after entering main. It is needed when linking against
	  GNU pth.
	
2002-03-17  Sergey Poznyakoff  

	* radiusd/files.c (hints_setup): Use avp_free instead
	  of avl_free to free a single pair.
	* radiusd/proxy.c (proxy_send): Likewise.
	* radiusd/radiusd.c: Do not call thread-related functions
	  (radlog is) from the signal handlers.
	* radiusd/sql.c: Removed obparse_stack_ready. (rad_sql_init):
	  init the obstack and destroy it after finishing.
	* radlib/client.c (radclient_send): Do not update number of
	  retries if select returns -1.
	
	* radlib/mem.c: mem_lock/mem_unlock were completely broken.
	  Fixed.

2002-03-11  Sergey Poznyakoff  

	Fixed snmp_errno thread-safety. Second todo from the
	previous entry remains in force, though I'm still not
	sure if that's necessary.
	
	* include/snmp/snmp.h: snmp_errno is a per-thread
	  variable.
	* snmplib/snmp_sess.c: initialize snmp_errno on a per-thread
	  basis.

2002-03-11  Sergey Poznyakoff  

	Thread-safety fixes to libsnmp. Todo's are:
	1. per-thread snmp_errno variable
	2. per-thread snmp_def structure. Possibly snmp_errno should be
	incorporated in it.
	
	* include/snmp/snmp.h (snmp_poll, snmp_timeout): Changed
	  prototypes.
          (snmp_read): Added prototype.
	* include/snmp/snmp_intern.h (struct snmp_def): Removed
	  session_list, alloc and free members.
	  (__snmp_alloc_fp, __snmp_free_fp): externs.
	  (snmp_fdset): prototype declaration.
	* snmplib/snmp_mem.c (__snmp_alloc_fp, __snmp_free_fp): New
	  globals. These keep appropriate function pointers, instead
	  of snmp_def.alloc and snmp_def.free. This will come handy
	  when snmp_def passes to thread-specific memory.
	* snmplib/snmp_recv.c (snmp_poll, snmp_timeout, snmp_read):
	  Changed declarations. All functions now take an explicit
	  struct snmp_session * argument, meaning the session list
	  to operate upon.
	* snmplib/snmp_sess.c (struct snmp_def): Removed
	  session_list, alloc and free members. Fixed rest of functions
	  accordingly.

2002-03-06  Sergey Poznyakoff

	* configure.in (enable-snmp): documented compat value.
	* include/radiusd.h: Changed definition of QUEUE_STAT.

	* mibs/GNU-RADIUS-SERVER-MIB.chart: Changed queue statistic
	  variables.
	* mibs/GNU-RADIUS-SERVER-MIB.txt: Likewise.
	* mibs/radmibs.h.in: Likewise.
	* radiusd/snmpserv.c: Handle new mibs.
	  (snmp_port_index2) Fixed gross bug. 
	* radiusd/request.c (request_put): Expire PS_WAITING requests
	  (request_stat_list) Use new QUEUE_STAT structure.
	
2002-03-05  Sergey Poznyakoff  

	* radlib/client.c (random_vector): Removed superfluous call to
	  srand().
	  (radclient_build_request): Added handling of accounting request.
	* radiusd/proxy.c (random_vector): Removed superfluous call to
	  srand().
	* include/radiusd.h: Define macros for return value of
	  calc_acctdigest().
	* radiusd/acct.c (write_detail): Use REQ_AUTH macros.
	* radiusd/radius.c (calc_acctdigest): Likewise.
	* radiusd/radiusd.c (main): Initialize random number generator.
	
2002-03-04  Sergey Poznyakoff  

+	* snmplib/asn1.c (asn_decode_int): Removed count > intsize
	  limitation: some hosts return 5 bytes of information (leading 0).
	* include/radiusd.h: include <signal.h>
	* radlib/avl.c (avp_dup): Duplicate string values of attributes
	  with deferred evaluation.
	* radiusd/scheme.c: Removed // comment.
	* radiusd/radiusd.c: Thread-safety: signal handlers only set
	  global flag, the main thread does the actual handling.
	
2002-03-04  Sergey Poznyakoff

	* radiusd/radiusd.c (rad_request_handle): Do not raise
	  condition after starting a new thread.
	  Added (a bit too extensive) debug logs.
	* radiusd/request.c (request_get): Mark retrieved record with
	  RS_PENDING flag. Added debug logs.
	* radiusd/scheme.c: Reorganized inter-thread communication.

2002-02-26  Sergey Poznyakoff

+	* radiusd/radius.c (rad_send_reply): Fixed memory leak
	  on reject packets. 
	* radiusd/request.c (request_thread0): Force async cancel type.
	  (request_handle): Bugfix: set child_id.

2002-02-25  Sergey Poznyakoff 

	* radiusd/radiusd.c (reread_config): Initialize socket_first to
	  zero.

	* m4/guile.m4: Emit extra newline after calling guile-config.
	  Needed for Sun's native sed (and possibly others).
	
	* radiusd/auth.c (sfn_eval_reply): Free strvalue before
	  assigning evaluated value. This caused memory leaks.
	* radiusd/config.y (acct_def productions): Bugfix: R_AUTH
	  was used instead of R_ACCT.

	* radiusd/stat.c: Thread safety: mutexes around critical sections.

	These should be revised (stack-size considerations):
	* radiusd/proxy.c: Thread safety: send_buffer is made local.
	* radiusd/radius.c: Likewise.

	* radiusd/.gdbinit: Disable handling for USR1 and USR2.
	
2002-02-20  Sergey Poznyakoff  

	* radiusd/radiusd.c (rad_request_handle): Bugfix: return 0 if new
	  thread cannot be started. In this case, one of currently active
	  threads will handle the request.
          (rad_restart): Install signal handlers after becoming a daemon.
	* radiusd/scheme.c (boot_body): Fixed info messages.
	* doc/texinfo/client.texi (nas.scm): Fixed typo.

2002-02-19  Sergey Poznyakoff  

	* include/radiusd.h: added extern for scheme_gc_interval.
	* radiusd/config.kw: New keyword gc-interval
	* radiusd/config.y: Handle gc-interval statements.
	* radiusd/log.c: Thread-safety: keep log-category in the thread-
	  specific memory.
	* radiusd/scheme.c: New variable scheme_gc_interval.
	  (boot_body): Run gc each `scheme_gc_interval.' seconds.
	* radiusd/snmpserv.c: Thread-safety: keep all private data in the 
	  thread-specific memory.
	* raddb/config.syntax (guile): Sample gc-interval statement.

2002-02-19  Sergey Poznyakoff  

	* radlib/md5crypt.c (md5crypt): Made thread safe. 
	* include/radius.h: Changed proto of md5crypt.
	* radiusd/auth.c: Use thread-safe md5init.
	
2002-02-18  Sergey Poznyakoff 

	* radiusd/radiusd.c (rad_daemon): Restore sighup.
	* radiusd/request.c (request_thread0): Handle as many
	  requests as possible before going to cond_wait.
	* test/proxy/config.in: Enable proxy debug level.
	* configure.in: Raised patchlevel.
	* radiusd/request.c: Number of bugfixes: child_id was used
	  instead of status.
	
2002-02-18  Sergey Poznyakoff 

	* radiusd/rewrite.y (interpret): Thread-safety: always return
	  allocated string value.
	* radiusd/auth.c (sfn_eval_reply): Use datum.sval directly,
	  instead of make_string() on it.
	* radiusd/files.c (hints_setup) Thread-safety: use local
	  obstack.
	* radlib/avl.c (avl_dup): Bugfix: dup_string if eval flag is set.
	  This caused difficult to trace coredumps.
	* radlib/mem.c: Thread-safety: mutex-protected string functions.

2002-02-16  Sergey Poznyakoff  

	Changed the threading paradigm: instead of spawning a new
	thread for each request, the server now keeps a pool of
	threads. When a request arrives, the first free thread from
	the pool undertakes to handle it. If there are no free threads
	available, the server spawns a new thread, unless the number
	of active threads reached the preconfigured maximum. In any
	case, the request is placed on the request queue.
	
	* radiusd/Makefile.am: Added request.c
	* radiusd/request.c: (new) Generic request handling functions.
	* radiusd/radiusd.c: Rewritten to use generic request functions.
	* radiusd/snmpserv.c: Use generic request functions.
	* radiusd/proxy.c: Likewise.
	
	* radiusd/sql.c: Got rid of connection queue stuff: each tread now
	  has (at most) two SQL connections associated with it. These are
	  stored in thread specific memory.
	  Parameters auth_max_connections and acct_max_connections are
	  deprecated.
	* radiusd/config.kw: new keyword max-threads
          new keyword: print-milliseconds.	
	* radiusd/config.y: Handle max-threads keyword (`option' block).
	  Handle print-millisecons (`channel' statement).
	* include/log.h: Added LO_MSEC flag.
        * radiusd/log.c (log_to_channel): Handle LO_MSEC flag
	  (print-milliseconds yes).
	
	* include/radiusd.h: Added required prototypes.
	* include/radius.h: Added required prototypes.
	* include/radsql.h (struct SQL_cfg): Removed max_connections.
	* raddb/sqlserver: Removed deprecated directives.
	* raddb/config.syntax: Example of max-threads statement.

	* sql/disp.c (disp_sql_reconnect): Disconnect if
	  necessary.

	* radiusd/scheme.c: Added debugging.
	* radiusd/radius.c: Likewise.
	
	* test/raddb/config.in: Added more debugging levels.
	* sql/mysql.c (rad_mysql_disconnect): reset conn->connected.
	* radlib/gethost_r.c: Fixed #ifdefs.

	* elisp/radius-mode.el: Fixed copyleft statement.
	* elisp/radconf-mode.el: Updated

	* db/db.m4: (table passwd): Modified `active' column definition.
	
	* README-alpha: Updated.
	
2002-02-14  Sergey Poznyakoff 

	* scripts/untabify.el: (new) Emacs script to help untabify the
	  sources.
	* TODO: Updated

2002-01-28  Sergey Poznyakoff

	* m4/common.m4: Fixed definition of rad_RESULT_ACTIONS.

	Untabified the sources.
	
2002-01-28  Sergey Poznyakoff  

	* radiusd/radiusd.c (rad_daemon): Force the safe umask.
	* test/radiusd.m4: Make number of subtests in stress test
	  configurable via environment variable STRESS_COUNT.
	* test/test.sh.m4: Sleep until daemon really starts up
	  instead of sleeping an arbitrary amount of time.

	* acconfig.h: Define _REENTRANT
	* configure.in:	Reentrant interfaces to gethostby.* functions
	  are defined in at least 4 different ways on different platforms.
	  Therefore, ignore them and provide our own versions
	  unconditionally.
	* radlib/gethost_r.c: Likewise.
	* radlib/iputil.c: Likewise.
	* include/radius.h: Likewise.
	* include/sysdep.h: Likewise.
	* radiusd/rewrite.y: Ensure thread safety.
	* radlib/mem.c: Recursive mutexes are not portable. Fixed.

	Removed autogenerated and/or unneded files:
	* acinclude.m4
	* config.guess
	* config.sub
	* install-sh
	* missing
	* mkinstalldirs
	* stamp-h.in
	* INSTALL 

2002-01-27  Sergey Poznyakoff  

	Fixed a couple of bugs. Tested authentication under stress
	conditions.
	
	* TODO: Updated.

	* include/radius.h: Renamed do_not_resolve to resolve_hostnames,
	  reversed its sense accordingly.
	* radiusd/config.y: Added new keyword `resolve [bool]'.	Determines
	  whether IP numbers should be resolved to hostnames.
	* radiusd/config.kw: Likewise.
	* raddb/config.syntax: Added sample `resolve' statement.
	* radiusd/radiusd.c: Renamed do_not_resolve to resolve_hostnames.
	  Bugfix: Create all threads with PTHREAD_CREATE_DETACHED bit on.
	  Removed duplicate call to request_cleanup.
	* radlib/iputil.c: Renamed do_not_resolve to resolve_hostnames,
          reversed its sense accordingly.
	  (ip_iptostr): Fixed byte order dependency.

	* test/proto.m4: Added driver-dependent tests.
	* test/dejagnu/dejagnu.m4: Likewise.
	* test/shell/shell.m4: Likewise.
	* test/shell/runtest.sh: Support for subtests.
	* test/radiusd.m4: Added stress test (authentication).
	* test/test.sh.m4: New option: --zero-logs to zero out the
	  log files.
	* test/raddb/config.in: Added `resolve no'. Currently commented
	  out.
	
	* radiusd/Makefile.am: Removed stray `shmem.c' entry

2002-01-25  Sergey Poznyakoff  

	Renamed IP-conversion functions:
		s/ip_hostname/ip_gethostname/
		s/get_ipaddr/ip_getaddr/
		s/ipaddr2str/ip_iptostr/
		s/ipstr2long/ip_strtoip/

	Files affected:
	
	* radlib/iputil.c
	* include/radius.h
	* radiusd/acct.c
	* radiusd/checkrad.c
	* radiusd/config.y
	* radiusd/files.c
	* radiusd/radiusd.c
	* radiusd/radutil.c
	* radiusd/rewrite.y
	* radiusd/snmpserv.c
	* radiusd/sql.c
	* radiusd/stat.c
	* radlast/radlast.c
	* radlib/client.c
	* radlib/iputil.c
	* radlib/nas.c
	* radlib/radutmp.c
	* radlib/users.y
	* radscm/radscm.c
	* radscm/rscm_lib.c
	* radscm/rscm_utmp.c
	* radtest/gram.y
	* radtest/input.l
	* radtest/main.c
	* raduse/session.c
	* raduse/stat.c
	* radwho/radwho.c
	* radzap/radzap.c

2002-01-25  Sergey Poznyakoff  

	Fixed thread-unsafe functions all over the package.
	
	* radlib/gethost_r.c: (new) Replacements for missing
	  gethostbyname_r and gethostbyaddr_r calls.
	* radlib/Makefile.am: Add gethost_r.c
	* radlib/localtime_r.c: Lock the mutex before calling localtime().
	* radlib/mem.c: Lock critical sections with mutexes.

	* m4/common.m4: (new) Some useful m4 macros (taken from
	  GNU inetutils).
	* m4/Makefile.am: Added m4/common.m4
	* acconfig.h: Added HAVE_HOSTENT_H_ADDR_LIST.
	* configure.in: Replace gethost.*_r and getline functions.
	* include/radius.h: Changed protos of ip_hostname, ipaddr2str,
	  nas_ip_to_name, nas_request_to_name. Removed format_ipaddr.
	* include/radiusd.h: Changed proto of client_lookup_name.
	* include/sysdep.h: Provide declarations for gethost.*_r
	  functions.

	* radiusd/acct.c: Use thread-safe functions.
	* radiusd/auth.c: Likewise.
	* radiusd/checkrad.c: Likewise.
	* radiusd/files.c: Likewise.
	* radiusd/proxy.c: Likewise.
	* radiusd/radius.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/radutil.c: Likewise.
	* radiusd/snmpserv.c: Likewise.
	* radiusd/sql.c: Likewise.
	* radiusd/stat.c: Likewise.
	
	* radlast/radlast.c: Likewise.
	* radlib/client.c: Likewise.
	* radlib/iputil.c: Likewise.
	* radlib/nas.c: Likewise.
	* radlib/radutmp.c: Likewise.
	* radlib/util.c: Likewise.
	* radscm/radscm.c: Likewise.
	* radtest/gram.y: Likewise.
	* radtest/main.c: Likewise.
	* raduse/raduse.c: Likewise.
	* raduse/session.c: Likewise.
	* raduse/stat.c: Likewise.
	* radwho/radwho.c: Likewise.
	* radzap/radzap.c: Likewise.
	
2002-01-24  Sergey Poznyakoff 

	Moved to POSIX threads. Tested basic functionality of
	the daemon. Still have to prove that some calls in radlib
	are thread-safe. radlib/mem.c surely isn't.

	* README: Fixed typo.
	* m4/pth.m4: Removed.
	* m4/Makefile.am: Removed pth.m4
	* configure.in: Removed pth- and added libpthread-realted stuff.
	* include/radiusd.h: Likewise.
	* radiusd/log.c: LIkewise.
	* radiusd/radius.c: Likewise.
	* radiusd/radiusd.c: Likewise.
	* radiusd/scheme.c: Likewise.
	* sql/disp.c: Likewise.
	
	* radiusd/config.y: Call scheme_add_load_path instead of
	  rscm_add_load_path.

	* test/test.sh.m4 (drv_dejagnu): Sleep 5 seconds before
	  starting radtest, so that radiusd finishes configuring
	  itself.

2002-01-24  Sergey Poznyakoff  

	-- tag: v_0_96_pth --

2002-01-16  Sergey Poznyakoff  

	* radiusd/files.c (nextkn): Bugfix: do not require a '=' in
	  A/V pairs to be surrounded by whitespace.

2002-01-13  Sergey Poznyakoff

	* radiusd/radiusd.c (main): Removed auto argval.
	* radiusd/snmpserv.c (mib_data): Added server-specific oids.
	* radiusd/stat.c (stat_get_next_port_no): Fixed erroneous
	  conditional.
	* raduse/raduse.h: New declarations: struct port_usage and
	  port_session.
	* raduse/session.c: Added debugging prints.
	  (walk_converse, run_walk): Do not allocate new objects for
	  each query, rather insert the data into appropriate places,
	  possibly reusing memory, allocated previously.
	* raduse/stat.c: Collect port usage statistics.

2002-01-11  Sergey Poznyakoff  

	* snmplib/snmp_recv.c: Bugfix.
+	* radiusd/snmpserv.c: Fixed handling of GetNext PDUs.
	* raduse/raduse.h: Added rudimental GetNext requests.
	* raduse/session.c: Likewise.
	* raduse/stat.c: Likewise.

2002-01-11  Sergey Poznyakoff  

	* include/radiusd.h: Moved NITEMS to radius.h
	* include/radius.h: Likewise.

	* snmplib/snmp_oid.c: (oid_cmp): new function.
	* include/snmp/snmp.h: (oid_cmp): Added prototype.

	* scripts/mksnmp-h.awk: Generate external declaractions,
	  if SERVER is not defined.
	
	Started rewriting of raduse:
	
	* raduse/Makefile.am: Updated
	* raduse/raduse.c: Cleaned-up.
	* raduse/session.c: (new) SNMP-session specific functions.
	* raduse/stat.c: (new) Statistic-specific variables and functions.
	* raduse/raduse.h: (new) Common header for raduse.

	Further changes due to removal of usr2delay statement:
	
	* raddb/config: Removed usr2delay statement.
	* raddb/config.syntax: Likewise.
	* test/raddb/config.in: Likewise.
	* test/proxy/config.in: Likewise.
	* radiusd/config.kw: Restored T_USR2DELAY.
	* radiusd/config.y: Handle 'usr2delay' for backward compatibility.

2002-01-10  Sergey Poznyakoff  

	* configure.in: --enable-snmp=compat enables support for
	  enterprises subtree compatible with version 0.96
	* acconfig.h: undef SNMP_COMPAT_0_96.
	* radiusd/version.c: Reflect SNMP_COMPAT_0_96 settings.
	* radiusd/snmpserv.c: Switched to the new
	  MIB tree (.iso.org.dod.internet.private.enterprises.gnu.radius).
	* mibs/radmibs.h.in: Likewise.
	* mibs/GNU-RADIUS-SERVER-MIB.chart: Likewise.
	* mibs/GNU-RADIUS-SERVER-MIB.txt: Likewise.
	* mibs/GNU-RADIUS-STAT-MIB.chart: Likewise.
	* mibs/GNU-RADIUS-STAT-MIB.txt: Likewise.

	* radiusd/stat.c: (stat_init): Bugfix.
	
	* radiusd/config.kw: Removed T_USR2DELAY.
	* radiusd/config.y: Likewise.
	* include/radiusd.h: (typedef Config): Removed delayed_hup_wait
	  member.
	  (extern radius_pid): Removed.
	* include/radpaths.h: Changed RADSTAT, so we may coexist with
	  the previous versions without clobbering their statfile.

	* radiusd/radiusd.c: Block asynchronous access to the request
	  list.
	* sql/disp.c: Inserted explicit cancellation points.
	
2002-01-10  Sergey Poznyakoff  

	* include/radiusd.h: Changes to Server_stat structure
	  and accompanying macros.
	  (extern server_stat): Static structure.
	  (stat_.* functions): Protected by USE_SNMP.
	  Removed shmem_.* declarations.
	* include/radsnmp.h: (struct nas_stat): New field 'next'.
	* radiusd/shmem.c: (removed) Not needed in multi-threaded version.
	* radiusd/Makefile.am: Removed shmem.c
	* radiusd/files.c: Removed call to stat_create().
	* radiusd/radiusd.c: server_stat is a static structure, not
	  a pointer.
	* radiusd/snmpserv.c: Likewise.
	* radiusd/stat.c: Rewritten. The statistics is kept in a
	  separate file, this file is read upon startup. While running,
	  all the statistics is updated in memory. It gets dumped to the
	  file just before shutdown.

	* TODO: Updated

2002-01-09  Sergey Poznyakoff  

	* raddb/Makefile.am: Fixed typo in raddb_subdirs (reported
	  by Andrey Mironenko).
	* radiusd/exec.c: Removed call to sig_cleanup.
	* radiusd/radiusd.c: Fixed thread termination routines.
	  Removed some conflicting/unneeded signal handlers.
	  (master_process): Removed.
	  (rad_child_cleanup): Removed.
	* include/radiusd.h: (master_process): Removed.
	  (sig_cleanup): Removed.
	* radiusd/sql.c: (attach_sql_connection): Bugfix.

	* include/log.h: New log option: LOG_TID -- print thread
	  identifier.
	* radiusd/config.kw: New keyword 'print-tid'.
	* radiusd/log.c: Handle LOG_TID bit.
	
2002-01-08  Sergey Poznyakoff  

	* m4/inaddr.m4: (new) Check whether INADDR_LOOPBACK is defined.
	* m4/Makefile.am: Added inaddr.m4.
	* acconfig.h: Prepare for defining INADDR_LOOPBACK.
	* configure.in: Call rad_CHECK_INADDR_LOOPBACK.

	* radwho/radwho.c: Use INADDR_LOOPBACK instead of hardcoded IP.
	
2002-01-08  Sergey Poznyakoff  

	* THANKS: Added Robert Abbate.
	* TODO: Updated.
	* configure.in: Replace strtok_r and localtime_r.
	* radlib/Makefile.am: Likewise.
	* radlib/strtok_r.c: (new) Replacement for strtok_r().
	* radlib/localtime_r.c: (new) Replacement for localtime_r().

	* radiusd/radiusd.c: (snmp_respond) spawn new thread to handle
	  the request.
	* radiusd/sql.c: Major rewrite.

	* radlib/util.c: (format_pair): rewritten to be thread-safe.
	* include/radius.h: Removed qid_t declaration: not needed any
	  longer. Changed qid in struct radius_req to void *conn. This
	  keeps a pointer to the actually attached sql connection.
	  Changed format_pair() proto.
	* include/radiusd.h: (SNMP_REQ): new field fd.
	* include/radsql.h: (struct sql_connection): Removed qid.
	  New field 'owner' keeps pointer to RADIUS_REQ structure
	  to which this connection is attached.
	  (rad_sql_setup): Removed declaration.
	* include/sysdep.h: Added protos for strtok_r(), localtime_r().
	* radiusd/acct.c: Use thread-safe format_pair().
	* radiusd/config.y: spawn statement is obsoleted.
	* raddb/config.syntax: Removed spawn statements.
	
	* radiusd/files.c: Use thread-safe functions.
	* radiusd/log.c: Likewise.
	* radiusd/proxy.c: Likewise.
	* radiusd/radius.c: Likewise.
	* radiusd/radutil.c: Likewise.
	* radiusd/timestr.c: Likewise.
	* radlib/avl.c: Likewise.
	* radlib/client.c: Likewise.
	* radlib/debug.c: Likewise.
	* radlib/users.y: Likewise.

	* m4/pth.m4: (new)
	* m4/Makefile.am: Added pth.m4.
	
2002-01-08 Sergey Poznyakoff

	Started redesigning radiusd to multithreaded model. Initially
	basing on GNU Pth.

	* configure.in: Added check for Pth. Removed --enable-yydebug.
	  Yacc is always called with -t flag.

	* include/radius.h: New field of RADIUS_REQ: fd keeps the
	  socket descriptor to send the reply through.
	* include/radiusd.h: include <pth.h>
	* radiusd/radiusd.c: Introduced threading support.
	* radiusd/scheme.c: Likewise.
	
	* radiusd/Makefile.am: Pass -t to yacc.
	* radiusd/config.y: Got rid of #ifdef YACC_DEBUG blocks.
	* radiusd/rewrite.y: Likewise.
	* radiusd/version.c: Likewise.
	* radlib/Makefile.am: Likewise.
	* radlib/users.y: Likewise.
	* radtest/Makefile.am: Likewise.
	* radtest/gram.y: Likewise.
	* acconfig.h: Removed YACC_DEBUG.
	* README: Removed --enable-yydebug.

	* radiusd/acct.c: Marked code to be revised with FIXME.
	* radiusd/files.c: (read_naslist_file) removed superfluous
	  if (master_process()).
	* radiusd/sql.c: Fixed typo.
	
	* TODO: Updated.
	
2002-01-08 Sergey Poznyakoff

	Tag 0.96p1. This will serve as a branchpoint for fork-based
	versions.
	
2002-01-05 Sergey Poznyakoff
	
	* db/db.m4: Use ENUM_T instead of enum.
	* db/mysql.m4: Define ENUM_T. Changed quoting.
	* db/pgsql.m4: Likewise.

	  Bugfixes:
	
	* radiusd/shmem.c: mmap returns -1 on failure. Change the
	  condition accordingly.
	* radiusd/stat.c: Maxstat was improperly initialized. This
	  caused grief when the number of NASes grew beyond a
	  certain limit.
	* radlib/radutmp.c: Check for fd==-1 after open().
	
2001-12-28 Vlad Lungu

	* sql/odbc.c: Apparently, there is no Postgres ODBC driver
	  bug. According to the SQL3 draft, SQLRowCount is defined only
	  for INSERT, UPDATE and DELETE, for all other statements it is
	  implementation dependent. So I was lucky it worked at all.
	  2. The curtuple and ntuples members of EXEC_DATA are not needed.

2001-12-28 Sergey Poznyakoff
	
	-== Version 0.96 released ==-
	
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: change-log
version-control: never
End:


	
