2003-02-12 13:40  thl

	* README, lmtp2nntp_version.c: flush pending changes before tagging

2003-02-12 13:27  rse

	* lmtp2nntp_msg.c: fix iteration logic

2003-02-11 21:24  thl

	* lmtp2nntp_option.c: be more careful with free(3)

2003-02-11 16:34  thl

	* README, lmtp2nntp_version.c: flush pending changes before tagging

2003-02-11 16:33  thl

	* devtool.conf: dmalloc by example

2003-02-11 16:32  thl

	* .dmallocrc: more tweaking

2003-02-11 16:31  thl

	* lmtp2nntp_main.c: always print destination number along with
	given option string

2003-02-11 16:03  thl

	* lmtp2nntp_msg.c: defeat leakage when tear down headermatrix;
	iterate using lookahead

2003-02-11 15:18  thl

	* lmtp2nntp_main.c: release fakestatus/dsn pair

2003-02-11 15:10  thl

	* lmtp2nntp_main.c: properly clean up access control list socket
	abstraction addresses

2003-02-11 14:49  thl

	* lmtp2nntp_main.c: revert signals to default action so they can be
	used as expected if cleanup hangs at some point

2003-02-11 14:40  thl

	* lmtp2nntp_l2.c: pass destruction through to childs

2003-02-11 13:55  thl

	* lmtp2nntp_option.c: work around memory leak in popt

2003-02-11 13:54  thl

	* lmtp2nntp_option.c: fix memory leak when overriding a hardcoded
	default assignemnt

2003-02-11 13:31  rse

	* lib_sa/ts.c: fix compile warning under latest GCC 3.3 SNAPSHOT

2003-02-11 12:41  thl

	* lmtp2nntp_config.h, lmtp2nntp_main.c: controlled exit when
	configuration throws exception

2003-02-11 12:40  thl

	* lmtp2nntp_option.c: cosmetics

2003-02-11 11:00  thl

	* lmtp2nntp_option.c: consolidate two try/clean/catch blocks,
	fixing a memory leak around cpBuf

2003-02-11 10:35  thl

	* lmtp2nntp_option.c: darn memory leak

2003-02-11 10:02  thl

	* lmtp2nntp_option.c: better use of ex, error reporting and memory
	handing in includeit()

2003-02-11 09:57  rse

	* .dmallocrc: here is the beast with memory dumps enabled

2003-02-11 09:47  rse

	* lib_str/ChangeLog: remember what we've done

2003-02-11 09:46  rse

	* lib_str/Makefile.in: add -DHAVE_CONFIG_H stuff to CFLAGS

2003-02-11 09:45  rse

	* lib_str/str_test.c: fix memory leak in test suite

2003-02-11 09:39  rse

	* lib_str/: ChangeLog, THANKS, ts.c: upgrade to fixed ts.c

2003-02-11 08:51  rse

	* lib_l2/: l2_spec_parse.y, l2_test.c: fix all dmalloc-detected
	memory leaks

2003-02-10 22:15  rse

	* lib_var/var.c: get rid of warning message because of constness

2003-02-10 22:12  rse

	* lib_var/var.c: fix final memory leak

2003-02-10 21:50  rse

	* lib_var/var.c: fix one more memory leak and simplify tokenbuf
	operations

2003-02-10 21:38  rse

	* lib_var/var.c: fix one more memory leak

2003-02-10 21:21  rse

	* lib_var/var.c: fix first set of memory leaks

2003-02-10 20:29  rse

	* lib_var/var_play.c: fix memory leak in var_play utility

2003-02-10 16:37  rse

	* lib_var/: var.c, var_play.c, var_test.c: cosmetics: strip
	trailing whitespaces

2003-02-10 16:27  rse

	* lib_var/var_test.c: fix memory leak in OSSP var test suite (under
	error conditions only)

2003-02-10 16:20  rse

	* lib_var/ts.c: upgrade to fixed test suite library

2003-02-10 15:25  thl

	* lmtp2nntp_main.c: plug memory two leaks not destroying lib_val
	handle

2003-02-10 15:24  thl

	* lmtp2nntp_option.c: plug memory leak

2003-02-10 14:51  thl

	* lmtp2nntp_config.c, lmtp2nntp_main.c: plug two memory leaks

2003-02-10 13:46  thl

	* 00TODO: remember possible performance issue

2003-02-10 11:13  thl

	* Makefile.in, README, aclocal.m4, configure.ac, devtool,
	devtool.func, lmtp2nntp.pod, lmtp2nntp_argz.c, lmtp2nntp_argz.h,
	lmtp2nntp_daemon.c, lmtp2nntp_daemon.h, lmtp2nntp_global.h,
	lmtp2nntp_lmtp.c, lmtp2nntp_lmtp.h, lmtp2nntp_main.c,
	lmtp2nntp_msg.c, lmtp2nntp_msg.h, lmtp2nntp_nntp.c,
	lmtp2nntp_nntp.h, lmtp2nntp_shpat.c, lmtp2nntp_shpat.h,
	lib_ex/devtool, lib_ex/ts.c, lib_ex/ts.h, lib_l2/l2_ut_sa.c,
	lib_l2/l2_ut_sa.h, lib_pcre/devtool.func, lib_pcre/pcre-config.in,
	lib_popt/devtool, lib_sa/configure.ac, lib_sa/ts.c,
	lib_str/.dmallocrc, lib_tai/devtool, lib_val/devtool: extend
	copyright messages based on CVS information

2003-02-09 19:15  rse

	* lib_ex/: ChangeLog, ts.c: Fixed test suite library (ts.c): the
	ts_suite_free() function performed an illegal iteration for freeing
	elements (they were freed but still references for traversing to
	next element).	This is now solved by a look-ahead traversion.

2003-02-09 15:43  rse

	* lib_sa/: ChangeLog, sa_test.c: Fix memory leak in test suite
	(sa_test.c).  (detected by valgrind, see
	http://developer.kde.org/~sewardj/)

2003-02-07 21:47  rse

	* lib_sa/: ChangeLog, TODO, sa.ac, sa.c, sa_test.c: Add internal
	address resolving support via the new IEEE Std 1003.1g-2000
	("POSIX.1") getaddrinfo(3) API. This especially provides more
	portable IPv6 address resolving.

2003-02-06 22:22  thl

	* INSTALL: consistently omit colon after file names

2003-02-06 22:02  thl

	* NEWS: mention platform support and OSSP spirit

2003-02-06 22:02  thl

	* README: features and documentation complete; BETA release

2003-02-06 21:43  thl

	* devtool.conf: automatically keep ChangeLog up to date

2003-02-06 20:39  thl

	* README, lmtp2nntp_version.c: flush pending changes before tagging

2003-02-06 17:58  thl

	* lib_val/val.c: swap keyptr/datptr to fix datptr alignment problem
	on non-i386 architectures [mlelstv]

2003-02-06 16:35  thl

	* README, lmtp2nntp_version.c: flush pending changes before tagging

2003-02-06 16:29  thl

	* test.sh: debian2 fails when attempting to bind client to wildcard
	address

2003-02-06 16:06  thl

	* lib_popt/popt.c: avoid name space conflict on solaris

2003-02-06 16:05  thl

	* lib_popt/popt.c: remove unnecessary (re)definition

2003-02-06 15:23  thl

	* lmtp2nntp_main.c: cast pid to/from int

2003-02-06 15:17  thl

	* test.sh: wrong description text

2003-02-06 14:53  thl

	* lib_ex/.cvsignore, lib_l2/.cvsignore, lib_pcre/.cvsignore,
	lib_popt/.cvsignore, lib_sa/.cvsignore, lib_str/.cvsignore,
	lib_tai/.cvsignore, lib_val/.cvsignore, lib_var/.cvsignore: ignore
	autom4te.cache

2003-02-06 14:50  thl

	* lmtp2nntp_common.h, lmtp2nntp_msg.c, lmtp2nntp_msg.h,
	lmtp2nntp_nntp.h: moving definitions between header files

2003-02-06 11:51  thl

	* lmtp2nntp_config.c: defeat double free(3)

2003-02-06 11:20  thl

	* lmtp2nntp_main.c: typo

2003-02-05 16:34  thl

	* INSTALL, example.conf: update documentation

2003-02-04 16:03  thl

	* README, lmtp2nntp_version.c: flush pending changes before tagging

2003-02-04 16:03  thl

	* devtool.conf: suck in code from fsl

2003-02-04 15:51  thl

	* devtool.conf: no more 1.conf working files and ~ temporary files
	in tarball

2003-02-04 15:50  thl

	* lmtp2nntp_msg.c: header rewriting engine was integrated through
	lmtp2nntp_common.h

2003-02-03 16:26  thl

	* lmtp2nntp_main.c: handle/log failed NNTP connections; retry all
	of them every time

2003-02-02 15:22  rse

	* lib_val/: Makefile.in, README, aclocal.m4, configure.ac,
	val-config.in, val-config.pod, val.c, val.h, val.pod, val_test.c:
	bump year in copyright messages

2003-01-31 19:59  rse

	* lib_sa/: README, VERSION: bump version number for release

2003-01-31 19:58  rse

	* lib_sa/: ChangeLog, ts.c: Fixed test suite library (ts.c): the
	ts_suite_free() function performed an illegal iteration for freeing
	elements (they were freed but still references for traversing to
	next element).	This is now solved by a look-ahead traversion.
	
	Hint by: Brian T. Egleston <brian@egleston.com>

2003-01-31 19:34  rse

	* lib_sa/: ChangeLog, THANKS, sa_test.c: Fixed test suite
	(sa_test.c): an sa_addr_t was destroyed too early and this way
	crashed the test suite.
	
	Submitted by: Brian T. Egleston <brian@egleston.com>

2003-01-31 19:32  rse

	* lib_sa/ChangeLog: fix date

2003-01-30 20:47  rse

	* configure.ac: update one more copyright occurrence

2003-01-30 20:46  rse

	* lmtp2nntp_msg.c: disable function to get rid of nasty compiler
	warning

2003-01-30 20:45  rse

	* AUTHORS, INSTALL, Makefile.in, configure.ac, devtool,
	devtool.func, example.conf, lmtp2nntp.pod, lmtp2nntp_argz.c,
	lmtp2nntp_config.c, lmtp2nntp_daemon.c, lmtp2nntp_l2.c,
	lmtp2nntp_lmtp.c, lmtp2nntp_main.c, lmtp2nntp_msg.c,
	lmtp2nntp_nntp.c, lmtp2nntp_option.c, lmtp2nntp_shpat.c, test.sh:
	remove trailing whitespaces from source tree

2003-01-30 20:42  rse

	* 00TODO, AUTHORS, INSTALL, Makefile.in, NEWS, README, THANKS,
	aclocal.m4, configure.ac, lmtp2nntp.pod, lmtp2nntp_argz.c,
	lmtp2nntp_argz.h, lmtp2nntp_common.h, lmtp2nntp_config.c,
	lmtp2nntp_config.h, lmtp2nntp_daemon.c, lmtp2nntp_daemon.h,
	lmtp2nntp_exwrap.c, lmtp2nntp_exwrap.h, lmtp2nntp_global.h,
	lmtp2nntp_l2.c, lmtp2nntp_lmtp.c, lmtp2nntp_lmtp.h,
	lmtp2nntp_main.c, lmtp2nntp_msg.c, lmtp2nntp_msg.h,
	lmtp2nntp_nntp.c, lmtp2nntp_nntp.h, lmtp2nntp_option.c,
	lmtp2nntp_option.h, lmtp2nntp_shpat.c, lmtp2nntp_shpat.h: Apply the
	standard OSSP copyright header, document ASCII art and fix URL to
	lmtp2nntp homepage.

2003-01-30 20:27  rse

	* 00TODO, Makefile.in, fixme.h, lmtp2nntp_common.h,
	lmtp2nntp_config.c, lmtp2nntp_config.h, lmtp2nntp_l2.c,
	lmtp2nntp_main.c, lmtp2nntp_msg.c, lmtp2nntp_nntp.h: Implement the
	decision from yesterday evening and finally rename fixme.h to
	lmtp2nntp_common.h because there is little chance this this stuff
	ever can be moved into more local source contexts.

2003-01-30 20:18  rse

	* 00TODO, lmtp2nntp_config.c, test.sh: Fix a big security hole: the
	l2_spec() is a varargs function which gets a format string and
	variable arguments. In case only a fixed string is used we have to
	use "%s" as the format string or else "%x" in the string is treated
	like a formatter (and hence cause a segfault or whatever else if it
	tries to fetch args from the stack). This especially also no longer
	requires the formatting constricts to be written %%X...

2003-01-30 20:14  rse

	* devtool.conf: switch to latest tool chain versions

2003-01-30 20:06  rse

	* lib_var/devtool.conf, lib_val/devtool.conf,
	lib_popt/devtool.conf, lib_tai/devtool.conf, lib_pcre/devtool.conf:
	switch to latest tool chain versions

2003-01-30 16:26  thl

	* lmtp2nntp_main.c: cleanup sequence

2003-01-30 16:20  thl

	* lmtp2nntp_main.c: remove obsolete code fragment

2003-01-30 16:19  thl

	* lmtp2nntp_config.c, lmtp2nntp_config.h, lmtp2nntp_main.c: remove
	all exit(3) but those within daemonizer and signal handler

2003-01-30 15:37  thl

	* lmtp2nntp_config.c: decide to keep lib_sa out of
	lmtp2nntp_option.c

2003-01-30 15:33  thl

	* lmtp2nntp_config.c: this is the official name and fair enough as
	a default

2003-01-30 15:26  thl

	* lmtp2nntp_config.c: no problem here, option.destionation can be
	queried successfully

2003-01-30 15:22  thl

	* lmtp2nntp_config.c: it works but don't confuse correct -l aka
	--l2spec with wrong -l2spec

2003-01-30 15:17  thl

	* lmtp2nntp_config.c: it feeds ctx->config_varctx into
	lmtp2nntp_l2.c:hook_configure()

2003-01-30 14:41  thl

	* lmtp2nntp.pod: update documentation

2003-01-30 14:30  thl

	* lmtp2nntp_msg.c: canonifydate requires a more complete lib_tai
	and is rescheduled for a later release

2003-01-30 12:04  rse

	* lib_ex/: Makefile.in, README, aclocal.m4, configure.ac,
	ex-config.in, ex.c, ex.h, ex.pod, ex_test.c, ts.c, ts.h: final
	polishing

2003-01-30 12:03  rse

	* lib_ex/: README, VERSION: bump for release

2003-01-30 12:02  rse

	* lib_ex/THANKS: give credit

2003-01-30 11:59  rse

	* lib_ex/: ChangeLog, ex.h: Fixed the implementation of the
	ex_cleanup clause.
	
	Submitted by: A Makarov <makarov@tecon.ru>

2003-01-30 11:23  rse

	* lib_ex/: ChangeLog, README, ex.pod: Polished and enhanced the
	manual page ex(3)

2003-01-28 17:34  thl

	* example.conf: l2 has learned octal notation in the meantime

2003-01-28 15:00  rse

	* lib_sa/: README, VERSION: bump for release

2003-01-28 14:58  rse

	* lib_sa/ChangeLog: remember change

2003-01-27 17:29  thl

	* lib_l2/devtool.func, lib_pcre/devtool.func: saying "still" is
	confusing if existing version is newer than expected

2003-01-27 17:01  thl

	* lib_l2/: TODO, l2_channel.c, l2_test.c: fix iteration through non
	malloc(3)ed memory in l2_channel_destroy(). Bug caught on FreeBSD5

2003-01-23 17:26  thl

	* devtool.func: saying "still" is confusing if existing version is
	newer than expected

2003-01-23 17:25  thl

	* lib_l2/l2_ut_sa.h: fix embedding support

2003-01-23 17:21  thl

	* lib_sa/sa.h: fix embedding support

2003-01-06 20:13  rse

	* lib_str/: AUTHORS, ChangeLog, INSTALL, LICENSE, Makefile.in,
	README, THANKS, TODO, aclocal.m4, configure.ac, devtool,
	devtool.conf, devtool.func, str-config.in, str-config.pod,
	str.h.in, str.pod, str_base64.c, str_basic.c, str_format.c,
	str_hash.c, str_memory.c, str_p.h, str_parse.c, str_pcre.c,
	str_search.c, str_test.c, str_token.c, str_version.c: - adjust
	copyright messages for new year 2003 - strip trailing whitespaces -
	consistently use OSSP ASCII-art - add standard devtool.conf stuff
	from OSSP sa

2003-01-06 16:32  rse

	* lib_ex/: README, VERSION: bump version for release

2003-01-06 16:31  rse

	* lib_ex/: 00TODO, AUTHORS, ChangeLog, INSTALL, Makefile.in,
	README, THANKS, aclocal.m4, configure.ac, devtool.conf,
	ex-config.in, ex.c, ex.h, ex.pod, ex_test.c: - consistently use
	"Exception Handling" - strip trailing whitespaces - adjust
	copyright for new year 2003 - consistently use OSSP ASCII-art

2003-01-06 14:11  rse

	* lib_sa/: ChangeLog, Makefile.in, README, VERSION, aclocal.m4,
	devtool.conf, sa-config.in, sa.ac, sa.c, sa.h, sa.pod, sa_test.c: -
	Adjusted all copyright messages for new year 2003.  - Fixed
	generated owner in distribution tarball.  - Prepare for 1.0.3
	release

2003-01-06 12:41  rse

	* lib_l2/: AUTHORS, ChangeLog, INSTALL, LICENSE, Makefile.in, NEWS,
	README, TODO, aclocal.m4, configure.ac, devtool, devtool.conf,
	devtool.func, l2-config.in, l2-config.pod, l2.h.in, l2.m4, l2.pod,
	l2_ch_buffer.c, l2_ch_fd.c, l2_ch_file.c, l2_ch_filter.c,
	l2_ch_irc.c, l2_ch_noop.c, l2_ch_null.c, l2_ch_pipe.c,
	l2_ch_prefix.c, l2_ch_smtp.c, l2_ch_socket.c, l2_ch_syslog.c,
	l2_channel.c, l2_env.c, l2_p.h, l2_spec.c, l2_spec.h,
	l2_spec_parse.y, l2_spec_scan.l, l2_test.c, l2_ut_fmtcb.c,
	l2_ut_format.c, l2_ut_format.h, l2_ut_level.c, l2_ut_param.c,
	l2_ut_pcre.c, l2tool.c, l2tool.pod: - remove trailing whitespaces -
	adjust copyright messages - consistently use "OSSP l2" -
	consistently talk about "Flexible Logging" - use standard OSSP
	ASCII-art

2003-01-06 12:19  rse

	* lib_l2/: configure.ac, devtool.conf, l2_spec_parse.y,
	l2_spec_scan.l: upgrade to the latest Flex & Bison & Autoconf combo

2002-12-31 23:08  rse

	* lib_sa/: ChangeLog, sa_test.c: Fixed two compile-time warnings in
	sa_test.c

2002-12-04 13:43  rse

	* lib_sa/: ChangeLog, README, VERSION, devtool.conf: upgrade to
	Autoconf 2.57 and prepare for release

2002-12-01 14:09  rse

	* lib_sa/ChangeLog: remember changes

2002-11-28 16:42  rse

	* lib_sa/: sa.c, sa.h: fix a few bugs, remove a lot of warnings;
	all found by splint

2002-11-16 09:41  rse

	* lib_sa/devtool.conf: move to 2.56

2002-11-14 09:54  rse

	* lib_sa/sa.c: be pedantic about unused variables

2002-11-09 15:45  rse

	* lib_pcre/devtool.conf: upgrade to latest expected versions

2002-11-09 15:44  rse

	* lib_l2/: l2_ch_socket.c, l2_ch_syslog.c, l2_ut_sa.ac, l2_ut_sa.c,
	l2_ut_sa.h: Upgrade to OSSP sa 1.0.1

2002-11-09 15:37  rse

	* lib_l2/: configure.ac, devtool.conf, l2_spec_scan.l: ok, with the
	latest and greatest plus a little tweaking it works again.

2002-11-07 14:05  rse

	* lib_sa/TODO: remember issue

2002-11-07 13:44  rse

	* lib_sa/ChangeLog: prepare for release

2002-11-07 13:44  rse

	* lib_sa/: ChangeLog, sa.c, ts.c: Make sure that "va_list"
	variables are not compared against NULL because this is not
	possible on all platforms.

2002-11-07 13:17  rse

	* lib_sa/: ChangeLog, sa.c: Ported to brain-dead OpenUNIX where
	shutdown(3)'s SHUT_XX values are not easily available and where
	variables named sa_len conflict with structure fields in vendor
	headers.

2002-11-07 11:34  rse

	* lib_sa/: README, VERSION: fix README and bump version for release

2002-11-07 11:08  rse

	* lib_sa/ChangeLog: remember change

2002-11-07 07:25  rse

	* lib_sa/THANKS: Give credit where credit is due

2002-11-07 07:24  rse

	* lib_sa/: ChangeLog, sa.c: Fixed two compile-time warnings.
	
	Submitted by: Alvaro Lopez Ortega <alvaro@alobbs.com>

2002-11-06 20:05  rse

	* lib_sa/devtool.conf: upgrade to latest and greatest GNU shtool

2002-11-05 14:04  rse

	* lib_sa/Makefile.in: be consistent in headers

2002-11-01 09:44  rse

	* lib_sa/: ChangeLog, README, VERSION: final adjustments for OSSP
	sa 1.0.0 release

2002-10-31 08:20  rse

	* lib_sa/: ChangeLog, sa.c: Consistently return SA_ERR_MEM instead
	of SA_ERR_SYS if memory allocations failed.

2002-10-31 08:17  rse

	* lib_sa/: AUTHORS, ChangeLog, INSTALL, NEWS, README, TODO,
	VERSION: polish for OSSP sa 1.0.0 release

2002-10-30 21:24  rse

	* lib_sa/: ChangeLog, sa.pod: Cleanup markup in manual page
	(sa.pod)

2002-10-30 21:22  rse

	* lib_sa/: ChangeLog, sa.c, sa.h, sa.pod, sa_test.c: API Cleanups:
	use politically correct use "extern" keyword in sa.h; use leading
	underscores for variables names in prototypes; move "raddr"
	argument to second position in sa_{send,recv,sendf}.

2002-10-30 20:21  rse

	* lib_sa/devtool.conf: shit, also build manpages

2002-10-30 20:17  rse

	* lib_sa/: README, VERSION: ops, 0.9.3 is the next release version
	number

2002-10-30 20:15  rse

	* lib_sa/ChangeLog: polish for release

2002-10-30 20:14  rse

	* lib_sa/devtool.conf: fix tarball rolling

2002-10-30 20:13  rse

	* lib_sa/: README, VERSION: bump version for release

2002-10-30 20:09  rse

	* lib_sa/: ChangeLog, sa.c, sa.h, sa.pod, sa_test.c: Added a
	function sa_sendf(3) which is a convience wrapper to sa_send(3) for
	sending formatted data. This is similar to what sa_writef(3) does
	for sa_write(3).
	
	The difference is just that sa_writef(3) does not need a temporary
	buffer (because can use the stream I/O write buffer) while
	sa_sendf(3) requires a temporary buffer for its operation.
	Nevertheless the temporary buffer is allocated only if the
	formatted data is large.  For small formatted data a fast
	stack-based buffer is used for higher performance.

2002-10-30 20:01  rse

	* lib_sa/ChangeLog: now done

2002-10-30 19:46  rse

	* lib_sa/: TODO, sa_test.c: puhhh... finally finish test suite

2002-10-30 19:43  rse

	* lib_sa/sa.pod: remember important point

2002-10-30 10:41  rse

	* lib_sa/sa_test.c: first cut for more covering test suite:
	client/server test via TCP stream communication

2002-10-30 10:21  rse

	* lib_sa/sa.c: flush write buffer on write-side shutdown

2002-10-30 09:43  rse

	* lib_sa/TODO: now done

2002-10-30 09:42  rse

	* lib_sa/: ChangeLog, sa.c, sa.h, sa.pod: Rewrote the
	implementation of sa_option(3) in order to make options
	configurable _before_ the underlying socket is implicitly
	allocated. This fixes especially sa_option(sa, SA_OPTION_REUSEADDR,
	1) before sa_bind().

2002-10-29 18:52  rse

	* lib_sa/devtool.conf: use an even more complete tarball rolling
	program

2002-10-27 08:56  rse

	* lib_sa/TODO: remember before working on it

2002-10-27 08:55  rse

	* lib_sa/TODO: move to cando section

2002-10-26 20:28  rse

	* lib_sa/: TODO, sa.pod: finish documentation

2002-10-26 20:01  rse

	* lib_sa/TODO: remember already started sub-project

2002-10-26 19:59  rse

	* lib_sa/: ChangeLog, NEWS, README, THANKS, TODO, VERSION, sa.pod:
	cleanup source tree

2002-10-26 17:45  rse

	* lib_sa/: INSTALL, README, TODO, devtool.conf, sa-config.in,
	sa.ac, sa.c, sa.pod, sa_test.c: strip trailing whitespaces

2002-10-26 13:11  rse

	* lib_sa/sa.c: be smart enough also for people who cannot read

2002-10-25 22:45  rse

	* lib_sa/sa.pod: more documentation, but enough for today

2002-10-25 22:27  rse

	* lib_sa/devtool.conf: upgrade to latest stuff

2002-10-25 21:53  rse

	* lib_sa/TODO: remember issue

2002-10-25 20:10  rse

	* lib_sa/sa.pod: cleanup the manual page (first part)

2002-10-25 19:36  rse

	* lib_sa/sa.pod: fix typos

2002-10-25 18:07  rse

	* lib_sa/sa.pod: better rendering of sa_syscall documentation

2002-10-25 18:04  rse

	* lib_sa/sa.pod: enhance rendering and fix lingering semantics

2002-10-25 17:27  rse

	* lib_sa/sa.c: Fix error processing logic in sa_read().
	
	Submitted by: Ulrich Dessauer <udessauer@agnitas.de>

2002-10-21 17:14  rse

	* lib_l2/: l2_ut_sa.c, l2_ut_sa.h: we are sure that config.h exists

2002-10-11 18:00  rse

	* lib_l2/: README, configure.ac, devtool.conf, l2_ut_sa.ac,
	l2_ut_sa.c, l2_ut_sa.h, l2_version.c: upgrade to OSSP sa 0.9.2 and
	release OSSP l2 0.9.1 with it

2002-10-11 17:28  rse

	* lib_sa/TODO: now fixed, too.

2002-10-11 17:27  rse

	* lib_sa/: sa.ac, sa.c, sa.h: - fix inet_ntoa(3) usage - fallback
	to usage of inet_addr(3) if inet_aton(3) does not exists - add
	casts for arguments to [gs]etsockopt(3) to shut down warnings
	
	(This especially gets OSSP sa running under dead Solaris 2.6...)

2002-09-22 09:36  rse

	* lib_sa/TODO: remember

2002-09-22 09:35  rse

	* lib_l2/l2_ut_format.c: fix memory leak

2002-09-20 20:16  rse

	* lib_popt/: VERSION, popt.c, popt.h: upgrade to POPT 1.7

2002-09-07 21:58  rse

	* lib_pcre/Makefile.in: do not build non-library parts with libtool

2002-09-05 09:27  rse

	* lib_sa/Makefile.in: fix name

2002-08-21 15:26  rse

	* lib_l2/Makefile.in: fix DESTDIR support

2002-08-14 23:19  thl

	* Makefile.in, README, lmtp2nntp_config.c, lmtp2nntp_version.c:
	bump version for release

2002-08-14 16:28  rse

	* lib_tai/: tai.ac, tai_data.c, tai_format.c, tai_lib.c, tai_p.h,
	tai_parse.c, tai_test.c: hacking wild to get OSSP tai (just)
	working on Solaris

2002-08-14 15:34  rse

	* lib_tai/: tai.ac, tai_lib.c: fix tai_op() and add support for
	gmtime_r under Solaris

2002-08-14 14:30  thl

	* lmtp2nntp_option.c: consequently strdup and properly clean up;
	fix segfault reallocating too little space

2002-08-07 18:04  rse

	* configure.ac: another bugfix for the subdir handling

2002-08-07 18:01  rse

	* configure.ac: bugfix Autoconf stuff

2002-08-06 14:55  thl

	* lib_l2/l2_ch_prefix.c: fixed %N on solaris "... successful ...
	non-negative ... Otherwise,  -1 ..."

2002-08-01 13:28  rse

	* lib_pcre/devtool.conf: require latest version

2002-07-31 09:39  thl

	* lib_l2/l2_ch_fd.c: renamed L2 fd() channel argument
	"filedescriptor" to "fd"

2002-07-30 21:13  rse

	* lib_l2/ChangeLog: add ChangeLog file

2002-07-30 21:12  rse

	* lib_l2/: README, devtool.conf: fix URLs

2002-07-30 21:08  rse

	* lib_l2/: LICENSE, Makefile.in, README, aclocal.m4, configure.ac,
	devtool.conf, l2-config.in, l2-config.pod, l2.h.in, l2.m4, l2.pod,
	l2_ch_buffer.c, l2_ch_fd.c, l2_ch_file.c, l2_ch_filter.c,
	l2_ch_irc.c, l2_ch_noop.c, l2_ch_null.c, l2_ch_pipe.c,
	l2_ch_prefix.c, l2_ch_smtp.c, l2_ch_socket.c, l2_ch_syslog.c,
	l2_channel.c, l2_env.c, l2_p.h, l2_spec.c, l2_spec_parse.y,
	l2_spec_scan.l, l2_test.c, l2_ut_fmtcb.c, l2_ut_format.c,
	l2_ut_format.h, l2_ut_level.c, l2_ut_param.c, l2_version.c,
	l2tool.c, l2tool.pod: polish for release

2002-07-29 19:42  rse

	* lib_l2/: l2_ch_file.c, l2_ut_param.c: allow hexadecimal and octal
	integer values, too. (especially for file permissions)

2002-07-29 13:45  thl

	* lib_l2/TODO, lib_pcre/TODO: embedding

2002-07-29 13:39  thl

	* 00TODO: security issue; lib_cfg consideration

2002-07-28 10:07  rse

	* lib_str/devtool.conf, lib_tai/devtool.conf, lib_val/devtool.conf,
	lib_var/devtool.conf: fix devtool config

2002-07-28 10:03  rse

	* lib_ex/devtool.conf, lib_l2/devtool.conf, lib_popt/devtool.conf:
	fix devtool config

2002-07-28 10:01  rse

	* lib_sa/devtool.conf: fix devtool configuration

2002-07-25 15:33  thl

	* lib_l2/: l2_ch_irc.c, l2_ch_syslog.c: proposal to use
	getservbyname() or successor

2002-07-25 14:28  rse

	* lib_l2/l2_ch_prefix.c: add support for hostname/nodename
	expansion via %N

2002-07-25 11:13  rse

	* lib_l2/l2_spec_parse.y: allow empty stream (means a 'null'
	channel)

2002-07-25 09:54  rse

	* lib_l2/: aclocal.m4, configure.ac, l2_spec_scan.l: upgrade to
	flex-beta 2.5.10 (incompatible, so require it)

2002-07-25 09:50  thl

	* lib_l2/TODO: proposal to cleanup code and improve documentation

2002-07-24 11:36  rse

	* lib_l2/l2_channel.c: make sure the channel mask on each
	individual channel is also active

2002-07-17 15:22  thl

	* lib_l2/l2_env.c: align l2_env_strerror with l2.h

2002-07-17 13:28  thl

	* lmtp2nntp_config.c: errno formatter is now part of l2

2002-07-17 13:19  thl

	* lib_l2/: l2_ut_fmtcb.c, l2.h.in: added errno formatter from
	lmtp2nntp

2002-07-09 10:50  rse

	* lib_l2/: Makefile.in, l2_syslog.c, l2_syslog.pod,
	l2_test_syslog.c: axe out l2syslog stuff (will occur on OSSP fsl
	soon)

2002-07-05 22:17  rse

	* lib_var/var.c: bugfix hex decoding

2002-07-02 11:50  rse

	* lib_l2/l2_syslog.pod: try to understand the spec and do cleanups
	in parallel ;)

2002-07-02 09:49  rse

	* lmtp2nntp_config.c, lmtp2nntp_main.c, lmtp2nntp_msg.c,
	lmtp2nntp_option.c: get rid of all warnings under gcc 3.1

2002-07-01 19:50  rse

	* lib_l2/configure.ac: Upgrade tool checks to new strategy which
	supports the new OpenPKG "flex" package.

2002-07-01 16:33  rse

	* devtool.func: use newer devtool.func

2002-06-29 14:19  rse

	* lib_tai/tai.h: fix comment

2002-06-29 13:09  rse

	* lib_tai/tai_ui64.h: upgrade to new ui64 version

2002-06-27 11:24  thl

	* lib_l2/l2_syslog.pod: write down what we expect from this utility

2002-05-30 00:24  thl

	* README, lmtp2nntp_version.c: bump version for release

2002-05-29 23:35  thl

	* lmtp2nntp_msg.c, lmtp2nntp_msg.h: remove lot of hardcoded header
	handling; user can now shoot himself in foot

2002-05-29 15:53  rse

	* lib_l2/Makefile.in: disable syslog test for now

2002-05-29 14:41  thl

	* README, lmtp2nntp_version.c: bump version for release

2002-05-29 14:40  thl

	* devtool.conf: get rid of autom4te.cache in tarball

2002-05-29 14:24  thl

	* lmtp2nntp_option.c: we need argc + new + terminating NULL to
	avoid segfaults

2002-05-29 12:21  thl

	* lmtp2nntp_msg.c: not setting free()d resources to 0/NULL caused
	segfaults

2002-05-29 10:32  thl

	* lib_tai/: tai.h, tai_lib.c, tai_test.c: ugly hacks to allow
	lmtp2nntp to compile; comparison does not even work, yet

2002-05-28 16:17  thl

	* lmtp2nntp_msg.c: unused variable

2002-05-28 16:14  thl

	* lmtp2nntp_config.c: FIXMEs reviewed

2002-05-28 16:14  thl

	* lmtp2nntp_msg.c: tai debugging

2002-05-28 16:03  thl

	* lmtp2nntp_config.c: copy'n'paste bug

2002-05-28 16:02  thl

	* lmtp2nntp_config.c: remove debugging code blocks

2002-05-28 15:54  thl

	* lmtp2nntp_msg.c: clean up data.[sm]

2002-05-28 14:43  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_msg.c: rename

2002-05-28 14:32  thl

	* lmtp2nntp_msg.c: it is a good place here since code and callback
	are both in this file

2002-05-28 14:30  thl

	* lmtp2nntp_msg.c: kick off the bad name, use less variables, fix
	wrong variable in logs

2002-05-28 14:21  thl

	* lmtp2nntp_msg.c: a hash could be implemented to enhance
	performance here

2002-05-28 14:19  thl

	* 00TODO, lmtp2nntp_msg.c, lib_l2/TODO: disable debug code blocks;
	request to enhance l2; FIXME/TODO statement

2002-05-28 13:29  thl

	* lmtp2nntp_msg.c: changed from coder to user type logging

2002-05-28 09:53  thl

	* lmtp2nntp_msg.c: data.m and .s are unions, so cpOld is really
	needed but strdup is not

2002-05-27 17:37  thl

	* lmtp2nntp_msg.c: setting size to zero makes lib_var assume static
	outbuffer

2002-05-27 17:34  rse

	* lib_val/TODO: remember

2002-05-27 17:29  rse

	* lib_var/var.pod: backout now solved issue

2002-05-27 17:09  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c, lmtp2nntp_msg.c,
	lmtp2nntp_msg.h: createmessageid now using lib_val; added support
	for long nodenames

2002-05-23 11:37  thl

	* lmtp2nntp_msg.c, lmtp2nntp_msg.h: renamed and relocated

2002-05-23 11:34  thl

	* lmtp2nntp_msg.c: yes, at least on FreeBSD, LINUX and Solaris8

2002-05-23 11:13  thl

	* lmtp2nntp_msg.c, lib_var/var.pod: lib_var experts, please review

2002-05-23 10:35  thl

	* lmtp2nntp_msg.c, lmtp2nntp_msg.h: relocation to new home

2002-05-23 07:52  thl

	* 00TODO: do not forget

2002-05-01 20:48  rse

	* lib_tai/: Makefile.in, tai_cal.c, tai_lib.c, tai_p.h, tai_test.c:
	flush todays work

2002-04-29 21:24  rse

	* lib_tai/: tai_lib.c, tai_p.h: move to correct position and start
	with ui64_t integration

2002-04-29 21:19  rse

	* lib_tai/: Makefile.in, tai_ui64.c, tai_ui64.h: embed a copy of
	OSSP ui64 into OSSP tai

2002-04-29 21:09  rse

	* lib_tai/.cvsignore: ignore generated files

2002-04-25 11:17  thl

	* .cvsignore: ignore another autocreated file

2002-04-25 11:14  thl

	* lmtp2nntp_msg.c: added %createmessageid header rewrite function.
	This a dirty hack.

2002-04-24 11:41  thl

	* .cvsignore: ignore debug and testing input/ config/ logs ...

2002-04-24 11:37  thl

	* Makefile.in, configure.ac: absorb lib_tai

2002-04-24 11:26  thl

	* lmtp2nntp_msg.c: implemented %canonifydate so far as lib_tai
	currently permits

2002-04-24 11:07  thl

	* lib_tai/tai_lib.c: added a tai_op stub

2002-04-23 16:26  thl

	* lmtp2nntp_msg.c: flush canonifydate experiment

2002-04-23 16:23  thl

	* lib_tai/TODO: found parse/format problems

2002-04-18 17:38  thl

	* lmtp2nntp_config.c, lmtp2nntp_msg.c: use correct context for
	var_strerror

2002-04-18 17:38  thl

	* lmtp2nntp_main.c: remove debug code

2002-04-18 17:27  thl

	* lmtp2nntp_msg.c: put it in the right context. Thanks, rse

2002-04-18 16:27  thl

	* lmtp2nntp_l2.c: remove debug stuff

2002-04-18 16:09  thl

	* lmtp2nntp_config.c, lmtp2nntp_msg.c: no change, only a code move

2002-04-18 16:08  thl

	* devtool.conf: absorb lib_tai

2002-04-18 15:31  thl

	* lmtp2nntp.pod, lmtp2nntp_config.c, lmtp2nntp_option.c: updated
	documentation, aligned and sorted source;

2002-04-18 15:30  thl

	* NEWS: Changed features

2002-04-18 15:28  thl

	* 00TODO: update

2002-04-18 15:12  thl

	* example.conf: typo

2002-04-18 11:10  rse

	* lib_tai/: ChangeLog, Makefile.in, README, tai.pod, tai_lib.c,
	tai_p.h, tai_parse.c, tai_test.c, TODO, aclocal.m4, configure.ac,
	devtool, devtool.conf, devtool.func, tai.ac, tai.h, tai_data.c,
	ts.h, tai-config.in, tai_format.c, ts.c: Import first cut for OSSP
	tai

2002-04-18 11:10  rse

	* lib_tai/: ChangeLog, Makefile.in, README, tai.pod, tai_lib.c,
	tai_p.h, tai_parse.c, tai_test.c, TODO, aclocal.m4, configure.ac,
	devtool, devtool.conf, devtool.func, tai.ac, tai.h, tai_data.c,
	ts.h, tai-config.in, tai_format.c, ts.c: Initial revision

2002-04-02 19:54  rse

	* lib_ex/ex.pod: if we use printf(3), better to also use free(3)
	for consitency

2002-04-02 08:36  thl

	* lib_ex/ex.pod: typo

2002-04-01 14:22  rse

	* lib_sa/TODO: remember issue

2002-04-01 11:50  rse

	* lib_str/ChangeLog: fix historical date

2002-04-01 11:15  rse

	* lib_str/: str-config.in, str.pod: more branding

2002-04-01 11:12  rse

	* lib_str/: ChangeLog, README: polish for release

2002-04-01 11:10  rse

	* lib_str/ChangeLog: there was one more change

2002-04-01 11:08  rse

	* lib_str/ChangeLog: document recent changes

2002-04-01 11:03  rse

	* lib_str/: .cvsignore, Makefile.in, configure.ac, str_p.h,
	str_test.c, ts.c, ts.h: - switch to our OSSP ts sub-library -
	switch from str_config.h to just config.h

2002-04-01 10:32  rse

	* lib_str/: AUTHORS, ChangeLog, INSTALL, LICENSE, Makefile.in,
	README, THANKS, TODO, aclocal.m4, configure.ac, str-config.in,
	str-config.pod, str.h.in, str.pod, str_base64.c, str_basic.c,
	str_format.c, str_hash.c, str_memory.c, str_p.h, str_parse.c,
	str_search.c, str_test.c, str_token.c, str_version.c: finally
	switch to full OSSP branding

2002-03-30 20:07  rse

	* lib_ex/ChangeLog: annotate with more details

2002-03-30 20:04  rse

	* lib_ex/: 00TODO, AUTHORS, ChangeLog, INSTALL, README, THANKS,
	aclocal.m4: polishing

2002-03-30 19:56  rse

	* lib_ex/: AUTHORS, ChangeLog, Makefile.in, README, VERSION,
	configure.ac, devtool.conf, ex-config.in, ex.c, ex.h, ex_test.c:
	bump version and fix URLs

2002-03-30 19:55  rse

	* lib_ex/: 00TODO, ex.pod: Incorporate Thomas pitfall documentation
	into ex.pod and this way remove the last item from OSSP ex' TODO
	list.

2002-03-30 19:15  rse

	* lib_ex/ex.pod: fix manual page layouting

2002-03-28 11:02  thl

	* lmtp2nntp_main.c: now expanding variables on returned/lastresp
	message

2002-03-25 13:23  thl

	* Makefile.in, README, lmtp2nntp_version.c: flush date change

2002-03-15 12:41  rse

	* lib_val/Makefile.in: fix naming

2002-03-15 12:35  rse

	* lib_val/: .cvsignore, Makefile.in, val.pod: ignore manpages and
	fix building of them

2002-03-15 12:32  rse

	* lib_val/: Makefile.in, devtool.conf, val-config.pod: add manual
	page stuff

2002-03-15 12:23  rse

	* lib_val/: README, VERSION: prepare for release

2002-03-15 11:50  rse

	* lib_sa/: AUTHORS, NEWS: more docs

2002-03-15 11:47  rse

	* lib_sa/: README, VERSION, aclocal.m4, configure.ac, sa-config.in,
	sa.ac, sa.c, sa.h, sa.pod, sa_test.c: polishing for release

2002-03-15 09:49  rse

	* lib_popt/: popt.c, popt.h: upgrade to POPT 1.6.4

2002-03-14 17:07  thl

	* NEWS, README, THANKS: document polishing for release

2002-03-14 17:07  thl

	* acconfig.h, configure.ac, devtool.conf: upgrade to Autoconf 2.53
	environment

2002-03-14 16:51  thl

	* lib_l2/acconfig.h, lib_str/acconfig.h, lib_sa/acconfig.h: remove
	obsolete file

2002-03-14 16:49  thl

	* lib_str/: aclocal.m4, configure.ac, devtool.conf, devtool.func:
	upgrade to Autoconf 2.53 environment

2002-03-14 16:39  thl

	* lib_sa/: configure.ac, devtool.conf, devtool.func, sa.ac: upgrade
	to Autoconf 2.53 environment

2002-03-14 16:32  thl

	* lib_pcre/configure.ac, lib_pcre/devtool.conf,
	lib_pcre/devtool.func, lib_popt/configure.ac,
	lib_popt/devtool.conf, lib_popt/devtool.func: upgrade to Autoconf
	2.53 environment

2002-03-14 16:29  thl

	* lib_l2/: aclocal.m4, configure.ac, devtool.conf, devtool.func,
	l2_ut_sa.ac: upgrade to Autoconf 2.53 environment

2002-03-14 16:12  thl

	* lib_ex/: configure.ac, devtool.conf, devtool.func: upgrade to
	Autoconf 2.53 environment

2002-03-13 19:41  rse

	* lib_val/: val.c, val_test.c: add full dmalloc support

2002-03-13 19:39  rse

	* lib_val/: AUTHORS, NEWS, val.pod: more source tree polishing

2002-03-13 19:35  rse

	* lib_val/: Makefile.in, README, aclocal.m4, configure.ac,
	val-config.in, val.c, val.h, val.pod, val_test.c: fix naming and
	URLs

2002-03-13 19:19  rse

	* lib_var/aclocal.m4: fix naming

2002-03-13 19:19  rse

	* lib_val/: acconfig.h, aclocal.m4, configure.ac, devtool.conf,
	devtool.func: upgrade build environment to Autoconf 2.53

2002-03-13 17:38  thl

	* README, lmtp2nntp_version.c: Version 1.2a4 (13-Mar-2002)

2002-03-13 17:30  rse

	* configure.ac: fix version gathering

2002-03-13 17:22  thl

	* lmtp2nntp_config.c, lmtp2nntp_l2.c, lmtp2nntp_main.c: flush while
	looking for the var_expand reentrance problem

2002-03-13 16:32  thl

	* lmtp2nntp_main.c: corrected some variables, reduced FIXMEs

2002-03-13 15:50  thl

	* lmtp2nntp_config.c: since env exists, default is there; l2_spec
	sets channel_levels

2002-03-13 15:49  thl

	* lib_l2/l2_ch_file.c: not append means truncate

2002-03-13 15:41  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c, lmtp2nntp_msg.c:
	move from log macro to logbook function

2002-03-13 14:58  thl

	* Makefile.in, fixme.h, lmtp2nntp_config.c, lmtp2nntp_l2.c,
	lmtp2nntp_main.c: implemented var_expand inside l2

2002-03-13 13:05  ms

	* lib_l2/l2_ch_var.c: A var channel is not yet needed, or maybe
	cannot be designed to be generic eneough for common usage. It's in
	the attic, if needed later on.

2002-03-09 20:39  rse

	* lib_var/: aclocal.m4, configure.ac: require an ISO-C compliant
	compiler

2002-03-09 20:23  rse

	* lib_var/: NEWS, acconfig.h, configure.ac, devtool.conf,
	devtool.func: upgrade to Autoconf 2.53 build environment

2002-03-09 00:08  rse

	* lib_sa/ts.c: upgrade to fixed ts.c

2002-03-08 23:56  rse

	* lib_ex/: README, VERSION: update for release

2002-03-08 23:54  rse

	* lib_ex/ts.c: upgrade to fixed ts.c

2002-03-08 17:59  rse

	* lib_var/README: fix README

2002-03-08 13:57  rse

	* lib_var/: var_play.c, var_test.c: more copyright/license
	polishing

2002-03-08 13:55  rse

	* lib_var/: Makefile.in, README, VERSION, aclocal.m4, configure.ac,
	var-config.in, var-config.pod, var.c, var.h, var.pod: polishing and
	copyright extension (add natural person)

2002-03-08 13:55  rse

	* lib_var/devtool.conf: use external shtool

2002-03-08 13:38  rse

	* lib_var/ts.c: - add dmalloc support - fix indentation - fix
	memory leak

2002-03-08 13:37  rse

	* lib_var/var.c: ops, remove left-over fixme hint

2002-03-07 22:30  rse

	* lib_ex/: 00TODO, ex.h, ex.pod, ex_test.c: Implement one of the
	coolest things since sliced bread: deferred exceptions. This allows
	one to more conviniently program the allocation (and the freeing in
	case of an error) of multiple (independent) resources.

2002-03-07 17:03  thl

	* lmtp2nntp_option.c, lmtp2nntp_option.h: cleanup; better use of
	lib_ex; fight fixmes and resource leakage; cosmetics; flush;

2002-03-07 16:01  rse

	* lib_ex/00TODO: add Thomas' idea

2002-03-07 15:59  rse

	* lib_var/TODO: remember issue

2002-03-07 15:58  rse

	* lib_var/: Makefile.in, acconfig.h, configure.ac, ts.c, ts.h,
	var_test.c: - use our standard ts.[ch] test suite library - add
	support for Dmalloc facility

2002-03-07 15:03  rse

	* lib_var/var.c: Shit happens! Our tokenbuf_copy() function was a
	good idea, but cannot be used for the loop construct expansion,
	because an intermediate tokenbuf_append() can realloc(3) the
	underlying buffer, so the backuped token buffer would point to no
	longer valid data. We really have to re-introduce the original
	trick of Peter Simons where an offset is used only.

2002-03-07 13:39  rse

	* lib_var/: INSTALL, var.pod: more polishing

2002-03-07 13:19  rse

	* lib_var/: TODO, var.pod: Yeah, reduce the TODO list to zero
	items\!

2002-03-07 13:11  rse

	* lib_var/: TODO, configure.ac, var.c, var.h, var.pod, var_test.c:
	New API functions var_format and var_formatv which provide a
	convinience interface to printf-style expansion and variable
	expansion. var_format is like a combination of snprintf(3) and
	var_expand().
	
	Example: Assume the variable value context gives "bar" for
	${ARRAY[7]}, then the call..
	
	    var_format(var, &tmp, 1, "foo${ARRAY[%d]}quux", 7);o
	
	..results in tmp containing the malloc(3)'ed string "foobarquux". 
	Thanks to Thomas L. for providing the hint to this functionality.

2002-03-07 12:51  rse

	* lib_sa/sa.c: Hell, why did the compiler not complain? The ctx
	stuff is only allowed to be used if real output is written.
	Hmmmm...

2002-03-07 12:23  rse

	* lib_sa/sa.c: Oops, the NUL-terminating check is done later, so do
	not destroy it by already reducing the size in advance. Else an
	exactly sized buffer (including space for the NUL-termination)
	would result in an unexpected error.

2002-03-07 11:20  rse

	* lib_var/aclocal.m4: do not use this old gdb3 stuff any longer

2002-03-07 10:42  rse

	* lib_var/TODO: problems seems to be beeing solved implicitly by
	recent fixes ;)

2002-03-07 10:14  rse

	* lib_var/: TODO, var.c, var.pod, var_test.c: Major bugfixing and
	enhancing of search & replace operation: - finally fix
	${name:s/$/foo/} type substitutions (zero-length matching!) - add
	s/.../.../mg matching support (Perl-style multiline) - make
	non-multiline matching the default

2002-03-07 10:08  rse

	* lib_var/var.c: be even more carefully: regex(3) says rm_so _and_
	rm_eo are -1 if a back-reference is not available. So we could
	match with "&&" here. But because we want to be very carefully we
	match also rm_eo for -1 and use "||" here. That is, we use a weaker
	condition to gain stronger safety.

2002-03-06 16:30  rse

	* lib_var/TODO: remember great idea

2002-03-06 15:26  thl

	* lmtp2nntp_config.c: wipe out obsolete stuff

2002-03-06 15:25  thl

	* lmtp2nntp_main.c, lmtp2nntp_option.c, lmtp2nntp_option.h: Syntax
	and argument checking does no longer ignore errors silently. It
	properly prints error messages for unknown options or invalid
	arguments.  The message printed includes what it got and what it
	expected.  Processing is continued to check for more errors but
	finally it aborts before the main program starts.

2002-03-06 12:45  rse

	* lib_var/var.c: cleanup the code a little bit more before trying
	to fix it

2002-03-06 12:09  rse

	* lib_var/var_test.c: cleanup output of test suite

2002-03-06 11:33  rse

	* lib_var/var.c: One more bugfix to the search & replace stuff.
	Manual page regex(3) says:
	
	| Normally, regexec() returns 0 for success and the non-zero code |
	REG_NOMATCH for failure. Other non-zero error codes may be returned
	| in exceptional situations; see DIAGNOSTICS.
	
	So we have to check for "!= 0" and not just "== REG_NOMATCH" or we
	would perform substitutions with uninitialized data structures.

2002-03-06 11:25  rse

	* lib_var/TODO: Welcome to the wonderful world of TODO lists: One
	point solved, two new discovered... shit! :-(

2002-03-06 11:19  rse

	* lib_var/TODO: now solved, too.

2002-03-06 11:18  rse

	* lib_var/: var.c, var.pod: Change semantics of ${name:-word} from
	"If $name is not empty string, then $name, else word" to: "If $name
	is not empty string and not undefined, then $name, else word". This
	provides a more intuitive usage of ${name:-word} because it allows
	the user to turn an undefined variable (as returned with
	VAR_ERR_UNDEFINED_VARIABLE by the callback) into a defined one.
	This is important because changing the callback to return undefined
	variables as empty variables is incorrect because it usually breaks
	the array loop construct.

2002-03-06 11:05  rse

	* lib_var/var.c: typo

2002-03-06 11:04  rse

	* lib_var/var.c: Fix a soon to occur bug in advance:
	
	a search and replace operation on an empty token buffer has to
	result again in an empty token buffer and not an undefined token
	buffer.
	
	I do not know why this worked and only crashes with the forthcoming
	changed ${name:-default} behaviour (because this is totally
	unrelated I would say). But nevertheless, this is a bug. So fix it,
	although it works before and after the fix as good as it could ;)

2002-03-05 15:49  thl

	* 00TODO: remember new idea

2002-03-05 15:17  thl

	* lmtp2nntp_main.c: some things must be done by a formatter, not
	var_expand

2002-03-05 15:13  ms

	* lib_l2/l2_ch_var.c: First cut at a var channel. To avoid
	dependency problems it will include a reduced var library just like
	what is found in the filter channel with pcre.

2002-03-05 15:06  ms

	* lib_l2/l2_ch_filter.c: Fix memory leak.
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-03-04 16:54  thl

	* 00TODO, README, example.conf, fixme.h, lmtp2nntp_config.c,
	lmtp2nntp_main.c, lmtp2nntp_version.c, test.sh: Integration done
	replacing headervalue with new headerrule stuff. This version is
	v1.2a3 and runs live on visp.engelschall.com

2002-03-04 14:12  rse

	* lib_var/var.c: fix error description handling

2002-03-04 13:01  rse

	* lib_var/: TODO, var.c, var.pod, var_test.c: Fix regex problem by
	no longer allowing variables in the pattern part of
	s/pattern/subst/. Because it is far more common that one needs '$'
	there instead of a variable.

2002-03-04 12:54  rse

	* lib_var/TODO: already done

2002-03-04 12:53  rse

	* lib_var/: TODO, var.c, var.h, var.pod, var_test.c: Add new
	important feature: user-supplied post-operation functions.  This
	allows one to configure a var_cb_operation_t callback in the var_t
	context and allow it to implement functions triggered by
	${name:%func[(arg)]}. This is especially intended for
	application-specific encoding and post-adjustment functions.

2002-03-04 12:37  rse

	* lib_var/var.c: Code Cleanup Phase V (too much details to
	describe)

2002-03-02 13:29  rse

	* lib_var/var.c: Code Cleanup Phase IV (too much details to
	describe)

2002-03-01 23:02  rse

	* lib_var/var.c: more comments

2002-03-01 22:59  rse

	* lib_var/var.c: Code Cleanup Phase III (too much details to
	describe)

2002-03-01 21:28  rse

	* lib_var/var.c: Code Cleanup Phase II (too much details to
	describe)

2002-03-01 16:27  rse

	* devtool.conf: - use a loop construct to simplify %autogen and
	%autoclean targets
	
	- introduce a new %checkout target for checking out the sub-modules
	  now that we'll remove the nice but nasty (because has no
	history!) CVS	modules feature for lmtp2nntp.

2002-02-28 21:28  rse

	* lib_var/var.c: Code Cleanup Phase I (too much details to
	describe)

2002-02-28 21:27  rse

	* lib_var/var_test.c: always print on testing, not just on
	debugging

2002-02-28 16:57  thl

	* lmtp2nntp_config.c, lmtp2nntp_main.c: wipe out some debug stuff,
	reducing FIXMEs

2002-02-28 16:21  thl

	* lmtp2nntp_config.c: header now gets deleted when name or value is
	empty after expansion

2002-02-28 15:58  rse

	* lib_var/: var.pod, var_play.c: finish the API change Thomas
	started

2002-02-28 15:07  thl

	* lmtp2nntp_config.c, lmtp2nntp_main.c: headername comparisons must
	not be case sensitive

2002-02-28 15:02  thl

	* lmtp2nntp_config.c, lmtp2nntp_main.c: var callback now supports
	message header lookups

2002-02-28 13:57  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c: integrated new
	lib_var API; lib_var patch fixed expansion problem

2002-02-28 13:40  thl

	* lib_var/: var.c, var.h, var_test.c: prepare for API finally
	passing "val_t *" to callback, currently pass NULL

2002-02-28 13:10  rse

	* lib_var/: TODO, var.c: merge old internal_expand() into new
	var_expand()

2002-02-28 12:59  rse

	* lib_var/var.c: shorten table

2002-02-28 12:54  rse

	* lib_var/: TODO, var.c: Start internal code and logic cleanups: -
	move the name class table generation from var_expand()	 to
	var_config() by moving the table into var_t.  - move inital parts
	of internal_expand to var_expand().

2002-02-28 12:40  rse

	* lib_var/: TODO, var.pod: more docs, less TODO

2002-02-28 12:15  rse

	* lib_var/TODO: one more

2002-02-28 12:08  rse

	* lib_var/var.c: typo

2002-02-28 12:08  rse

	* lib_var/TODO: another bug

2002-02-28 10:29  rse

	* lib_var/: var.c, var_test.c: Try to solve the expansion problem
	with invalid name characters we encountered in OSSP lmtp2nntp if we
	expand in two passed with different name character sets. We want
	that the variable constructs which are not valid in the first pass
	to be correctly kept (assuming deactivated force_expand!) instead
	of an error produced.
	
	According to Peter Simons, this might be not the correct solution,
	although THL and RSE are sure it is, because we tried it in detail
	and it seems to be correct. Nevertheless Peter's comment (in
	german) for reference:
	
	| Ich wei nicht, ob das unbedingt eine gute Idee ist? Der Fehler |
	"incomplete variable spec" wird immer dann ausgelst, wenn
	innerhalb | der "${...}"-Umgebung ein Zeichen auftritt, das dort
	nicht sein | drfte. Einmal kommt das natrlich vor, wenn die
	gltigen Zeichen fr | Variablen von Pass 1 zu Pass 2 verschieden
	sind ... Aber eine andere | Ursache kann auch sein, da
	beispielsweise die schlieende "}"-Klammer | fehlt.  |	| IMHO ist
	die Tatsache, da libvar an dieser Stelle einen Fehler | liefert
	kein Softwarefehler, sondern liegt in der Natur der Sache. Die |
	"richtige" Lsung fr das Problem wre meiner Meinung nach, in
	beiden | Pssen die Vereinigung beider Zeichenmengen zuzulassen und
	dann im | jeweiligen Callback zu testen, ob der Variablenname
	richtig war oder | nicht.  |  | Genaugenommen sollte man ohnehin
	berlegen, ob es nicht gnstiger | wre, mit _einem_ Callback das
	ganze in einem Pass zu parsen, und | diesen dann einfach zwischen
	Callback A und B entscheiden zu lassen, | um die tatschliche
	Auflsung durchzufhren.

2002-02-28 09:48  rse

	* lib_var/: AUTHORS, INSTALL, Makefile.in, README, TODO,
	aclocal.m4, configure.ac, devtool.conf, var-config.in,
	var-config.pod, var.c, var.h, var.pod, var_test.c: URL fixing and
	additional documents

2002-02-28 09:08  rse

	* lib_var/: .cvsignore, Makefile.in, TODO, VERSION, var.c, var.h,
	var.pod, var_play.c, var_qref.pod, var_test.c: HEADS UPS:
	Mega-commit, revamping the whole library! - completely new API -
	completely new manual page

2002-02-27 14:44  rse

	* lib_var/: Makefile.in, VERSION, aclocal.m4, configure.ac,
	var-config.in, var-config.pod, var.c, var.h, var.pod, var_qref.pod,
	var_test.c: style and text cleanups

2002-02-27 13:17  thl

	* lmtp2nntp_config.c: ctx_lookup provides access to options through
	lib_val now

2002-02-27 12:56  rse

	* lib_var/TODO: remember an issue

2002-02-27 12:55  rse

	* lib_var/: TODO, var.pod: fix offset documentation

2002-02-27 12:36  rse

	* lib_var/TODO: update TODO

2002-02-27 11:22  thl

	* lmtp2nntp_config.c: removed odd incl./excl. problem

2002-02-27 11:02  thl

	* lmtp2nntp_config.c: eh, azNewsgroups is value only

2002-02-27 10:55  thl

	* lmtp2nntp_config.c: support for useless but possible --headerrule
	:match:header: where "header" doesn't matter as the absence of a
	value causes deletion of any matching header anyway. However,
	previously the program segfaulted.

2002-02-27 10:34  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_exwrap.c,
	lmtp2nntp_exwrap.h: changed semantic of --headerrule to "keep the
	colon"

2002-02-26 16:56  thl

	* lmtp2nntp_config.c, lmtp2nntp_msg.c, lmtp2nntp_option.c: added
	--testfile option for header rewrite testing. Transformation from
	argz to linked list of elements and back implemented for
	integration into the gateway's "inner loop". Have trouble with
	lib_ex segfaulting when throwing exception and tried to track down
	this issue with no luck.

2002-02-25 11:33  rse

	* lib_ex/ex.h: be pedantic in style

2002-02-25 11:30  rse

	* lib_ex/: ex.h, ex.pod: Allow ex_shield clauses to be dynamically
	nested. Without this the whole functionality would be useless in
	practice.

2002-02-21 16:47  thl

	* lmtp2nntp_config.c: Basic loop of desired new header rewriting
	feature now supports deleting a header and regex matching replaces
	backreferencing arguments in header name and header value.

2002-02-20 16:42  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_msg.h: flush work done
	this week. New structure for headers. Basic loop of desired new
	header rewriting feature currently supports replacing a header,
	adding a header and regex matching finds the correct header and
	calls lib_var. Try ./lmtp2nntp -i 1.conf -h
	':Reply-To:New-Reply:${xyz}' -h ::To:bv -h 21::ch:cv

2002-02-19 14:00  thl

	* fixme.h: this is dynamic now

2002-02-14 16:56  rse

	* lib_ex/00TODO: don't forget the lessons learned today

2002-02-14 16:11  thl

	* lmtp2nntp_config.c: working experimental code for evaluating pcre

2002-02-14 12:03  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c: Please review!
	Attempt to use lib_ex for proper cleanup. I discovered some tweaks
	and quirks regarding the volatile nature of the hrNew structure
	temporary allocating resources. Two wrappers, strdupex() and
	mallocex() are used to throw exceptions. It was a pain, or at least
	a different kind of programming, to always ensure that hrNew
	resoures are cleaned up completely when they should and to stop the
	cleanup code from releasing resources in the non-exceptional case.
	Although, the declaration of a volatile structure requires casting
	where i do not want to use it. Maybe i did something wrong, and
	life becomes easier in this particular case when i put the
	exeptional cleanup code in the catch construct, because in this
	try-cleanup-catch block i only want cleanup in the exeptional case.
	However, this would only remove the "hrNew = NULL" line at the
	buttom of the for() loop. Would this help, should it work? Unsure
	...

2002-02-14 11:51  thl

	* Makefile.in, lmtp2nntp_exwrap.c, lmtp2nntp_exwrap.h,
	lmtp2nntp_global.h: add some wrapper code for lib_ex

2002-02-14 11:47  thl

	* lmtp2nntp_config.h, lmtp2nntp_option.h: add outermost ifndef
	headers

2002-02-13 17:25  thl

	* 00TODO, fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c,
	lmtp2nntp_option.c: new -h option and config

2002-02-13 14:46  thl

	* 00TODO: brainstorming

2002-02-13 14:18  thl

	* Makefile.in, configure.ac, devtool.conf: absorb pcre

2002-02-08 19:31  rse

	* lib_val/Makefile.in: Object files depend on the makefile.
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-02-07 14:39  thl

	* test.sh: added test suite for --headervalue and --restrictheader

2002-02-07 14:38  thl

	* lmtp2nntp_main.c: The '& 1' check is wrong as argz counts the
	characters not the pairs.  The wholly check is not needed at all
	because while would skip empty pairs anyway.

2002-02-07 14:36  thl

	* lmtp2nntp_config.c: keep the colon

2002-02-07 13:54  thl

	* 00TODO: remember issue regarding newsserver fallback

2002-02-07 13:53  thl

	* lmtp2nntp_config.c: fix to calculate nns correctly

2002-02-07 10:01  thl

	* lmtp2nntp_config.c: eliminate a nasty copy'n'paste bug which
	caused segfaults

2002-02-07 09:59  thl

	* fixme.h: throw out a bunch of obsolete stuff

2002-02-06 14:51  thl

	* lmtp2nntp_config.c, lmtp2nntp_main.c, lmtp2nntp_option.c,
	test.sh: Fixed bug in --destionation and main() not initializing
	data correctly causing segfaults.  Deactivated leftover code from
	the static ns array with nsc counter where memcpy segfaults.  Fixed
	bug in option_register() not strdup()ing the default value causing
	free() to fail on cleanup.  Added '-b -' to test.sh cause defaultng
	to stdio does not currenly work.  Deactivated l2_channel_destroy()
	because it's cleanup fails and it hangs in a infinite loop in user
	space.

2002-02-05 20:55  rse

	* lib_var/Makefile.in: Force new object file generation if the
	Makefile changed.
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-02-05 20:52  rse

	* lib_ex/Makefile.in, lib_popt/Makefile.in, lib_str/Makefile.in:
	Force new object file generation if the Makefile changed.
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-02-05 17:14  rse

	* lib_str/Makefile.in: Conform building across all OSSP rc included
	libraries. Please review, as OSSP doesn't have a build standard
	(and other libraries are also out of conformance.)
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-02-05 16:58  thl

	* lmtp2nntp_config.c: yes popt supports dash optargs. Bugfix
	optarg.

2002-02-05 15:56  thl

	* lmtp2nntp_config.c, lmtp2nntp_main.c, lmtp2nntp_option.c,
	test.sh: "make check" works again!  --operationmode now correctly
	sets OPERATIONMODE_FAKE and detects internal error when this
	mandatory option was neither given nor preset through
	option_register().  Found missing functionality where
	option_parse_internal() does not fail on syntax errors or unknown
	options. Corrected --timeout* options in "test.sh".

2002-02-05 15:14  thl

	* lmtp2nntp_config.c, lmtp2nntp_option.c, test.sh: --version should
	print then exit the program. It's use is mutually exclusive and it
	should be checked very soon in the config process. Fixed a bug in
	--childsmax where sa_addr_u2a expects a colon. Started to work on
	testsuite which needs major corrections and exhibits lots of bugs
	in lmtp2nntp. Found a bug where --l2spec does not work when
	specified on command line.

2002-02-05 11:42  thl

	* fixme.h, lmtp2nntp_main.c, lmtp2nntp_option.c: removed obsolete
	--veryverbose

2002-02-05 11:40  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c: moved
	--destination from nsc/ns to nns/pns and fixed a copynpaste bug

2002-02-04 16:43  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c: merged new --acl
	option with obsolete post-option processing

2002-02-04 15:48  thl

	* lmtp2nntp_config.c, lmtp2nntp_main.c: options are optional now
	;-)

2002-02-04 14:52  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c,
	lmtp2nntp_option.c, lmtp2nntp_option.h: application defaults now
	set through option_register()

2002-01-31 22:35  rse

	* lib_sa/: .cvsignore, INSTALL, Makefile.in, README, VERSION,
	configure.ac, devtool.conf, sa-config.in, sa.pod: final polishing
	for release

2002-01-31 22:20  rse

	* lib_ex/: Makefile.in, configure.ac: fix licenses

2002-01-31 22:17  rse

	* lib_sa/sa_test.c: fix name

2002-01-31 22:07  rse

	* lib_ex/devtool.conf: add %release shortcut

2002-01-31 22:03  rse

	* lib_ex/: INSTALL, Makefile.in, devtool.conf: final polishing for
	release

2002-01-31 21:48  rse

	* lib_ex/: .cvsignore, Makefile.in, ex.pod: add ex.3 generation

2002-01-31 21:35  rse

	* lib_ex/: configure.ac, devtool.conf: provide version in ex-config
	and fix devtool dist

2002-01-31 21:31  rse

	* lib_ex/: README, VERSION, devtool.conf: bump release number

2002-01-31 21:27  rse

	* lib_ex/TODO: remove TODO

2002-01-31 21:23  rse

	* lib_ex/ex.pod: fix copyright

2002-01-31 21:22  rse

	* lib_ex/ex.pod: final polishing

2002-01-31 20:54  rse

	* lib_ex/ex.h: remove USE in macro names. It is already clear
	without this.

2002-01-31 17:04  thl

	* lmtp2nntp_main.c: mounted new option handling

2002-01-31 17:01  thl

	* lmtp2nntp_main.c: remove obsolete usage()

2002-01-31 16:59  thl

	* lmtp2nntp_config.c, lmtp2nntp_main.c, lmtp2nntp_main.c:
	moved/added --newsgroup option

2002-01-31 16:54  thl

	* example.conf, lmtp2nntp_config.c: bugfix

2002-01-31 16:53  thl

	* example.conf, lmtp2nntp_config.c, lmtp2nntp_main.c,
	lmtp2nntp_option.c: moved --version option

2002-01-31 16:42  thl

	* example.conf, lmtp2nntp_config.c, lmtp2nntp_main.c,
	lmtp2nntp_option.c: moved --user option

2002-01-31 16:32  thl

	* example.conf, lmtp2nntp_config.c, lmtp2nntp_main.c,
	lmtp2nntp_option.c: moved --timeout_XXX options

2002-01-31 16:13  thl

	* lmtp2nntp.pod, lmtp2nntp_config.c, lmtp2nntp_main.c: moved --size
	option

2002-01-31 16:09  thl

	* lmtp2nntp_config.c, lmtp2nntp_main.c, lmtp2nntp_option.c: moved
	--restrictheader option

2002-01-31 16:03  thl

	* lmtp2nntp_config.c: bugfix

2002-01-31 16:03  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c: moved
	--operationmode option

2002-01-31 15:47  thl

	* lmtp2nntp_config.c, lmtp2nntp_main.c: moved --nodename option

2002-01-31 15:43  thl

	* lmtp2nntp_config.c, lmtp2nntp_main.c: moved --mailfrom option

2002-01-31 15:20  thl

	* example.conf, lmtp2nntp_config.c, lmtp2nntp_main.c: moved
	--headervalue option

2002-01-31 14:54  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c: moved --groupmode
	option

2002-01-31 14:48  thl

	* lmtp2nntp_config.c: use one line for a log, no matter how large

2002-01-31 14:44  thl

	* example.conf, fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c:
	moved --destination option

2002-01-31 14:35  rse

	* lib_str/str.pod: typo

2002-01-31 14:34  rse

	* lib_str/: Makefile.in, str_basic.c: str_concat included the
	terminating NUL in copy and added a useless NUL

2002-01-31 11:42  thl

	* lmtp2nntp_main.c: removed unused variables

2002-01-31 11:40  thl

	* example.conf, fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c:
	moved --client option

2002-01-31 11:14  thl

	* fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c: moved --bind
	option

2002-01-31 10:47  thl

	* 00TODO, 00TODO: don't forget

2002-01-31 10:32  thl

	* 00TODO: don't forget

2002-01-31 10:09  rse

	* lib_var/configure.ac, lib_val/configure.ac, lib_sa/configure.ac:
	fix naming

2002-01-31 10:03  thl

	* example.conf, fixme.h, lmtp2nntp_config.c, lmtp2nntp_main.c:
	moved --acl option

2002-01-30 20:37  rse

	* lib_var/: acconfig.h, aclocal.m4, configure.ac, var.c, var.h: add
	optional OSSP ex based exception handling support

2002-01-30 20:28  rse

	* lib_l2/configure.ac, lib_val/val.c: fix name

2002-01-30 19:55  rse

	* lib_val/: acconfig.h, aclocal.m4, configure.ac, val.c, val.h: add
	optional OSSP ex based exception handling support

2002-01-30 19:46  rse

	* lib_val/val_test.c: fix style

2002-01-30 17:43  rse

	* lib_sa/: acconfig.h, aclocal.m4, configure.ac, sa.c, sa.h,
	sa_test.c: add optional OSSP ex based exception handling support

2002-01-30 17:41  thl

	* example.conf, fixme.h, lmtp2nntp_config.c, lmtp2nntp_global.h,
	lmtp2nntp_main.c, lmtp2nntp_option.c, lmtp2nntp_option.h: flush.
	first options moved. introduced exception handling.

2002-01-30 16:42  rse

	* lib_l2/l2.h.in: make logX utility macros public

2002-01-30 15:22  thl

	* Makefile.in, configure.ac, devtool.conf, lmtp2nntp_config.c,
	lmtp2nntp_main.c, lmtp2nntp_option.c, lmtp2nntp_popt.c,
	lmtp2nntp_popt.h: Switch from local copy of POPT to our new
	linked-in child OSSP popt.

2002-01-30 15:20  rse

	* lib_popt/.cvsignore: ignore generated files

2002-01-30 15:05  rse

	* lib_popt/: Makefile.in, README, VERSION, aclocal.m4,
	configure.ac, devtool, devtool.conf, devtool.func, popt-config.in,
	popt_test.c: add devtool based build environment

2002-01-30 15:02  rse

	* lib_popt/popt.ps: add POPT Postscript document

2002-01-30 15:00  rse

	* lib_popt/: popt.3, popt.ac, popt.c, popt.h: Import of stripped
	down POPT 1.6.3

2002-01-30 15:00  rse

	* lib_popt/: popt.3, popt.ac, popt.c, popt.h: Initial revision

2002-01-30 14:39  rse

	* lib_ex/ex.pod: mention C++ and Java

2002-01-30 13:34  rse

	* lib_ex/ex.pod: be correct and mention version number of Pth

2002-01-30 13:28  rse

	* lib_ex/ex.pod: remember the volatile situation

2002-01-30 13:17  rse

	* lib_ex/ex.pod: replace MT stuff

2002-01-30 12:55  rse

	* lib_ex/ex.pod: forget to mention 'cleanup' in namespace mapping

2002-01-30 12:11  rse

	* lib_ex/ex.pod: polishing after ex_cleanup introduction

2002-01-30 11:40  rse

	* lib_ex/ex_test.c: resolve name space mapping conflict

2002-01-30 11:37  rse

	* lib_ex/ex.h: added namespace mapping for cleanup

2002-01-30 11:33  rse

	* lib_ex/: ex.h, ex.pod, ex_test.c: add ex_cleanup clause to
	ex_try/ex_catch, modelled after Java's "finally"

2002-01-30 09:38  thl

	* Makefile.in, configure.ac, devtool.conf, lmtp2nntp_main.c: add
	OSSP ex to OSSP lmtp2nntp

2002-01-29 21:10  rse

	* lib_ex/: ex.c, ex.h, ex.pod: make defaults useable from outside
	to reset library

2002-01-29 13:48  rse

	* lib_sa/sa.c: cleanups triggered by Intel ICC

2002-01-29 12:06  rse

	* lib_ex/ex.c: just a few comments I forgot...

2002-01-29 12:05  rse

	* lib_ex/: ex.c, ex.h, ex.pod: overhaul __ex_ctx and __ex_terminate
	stuff

2002-01-27 21:43  rse

	* lib_sa/sa.c: Ops, an else was killed... add it again

2002-01-27 21:42  rse

	* lib_sa/sa.c: Linux does not have SA_OPTION_REUSEPORT, so use this
	optionally only.

2002-01-27 20:38  rse

	* lib_ex/ex.h: reduce referencing amount (important in MT
	environments)

2002-01-27 12:49  thl

	* aclocal.m4: finally fix AC_CHECK_EXTLIB output on --help

2002-01-26 23:50  rse

	* lib_ex/ex.h: fix typo

2002-01-26 23:45  rse

	* lib_ex/ex_test.c: add ex_catching to test suite

2002-01-26 23:43  rse

	* lib_ex/ex.pod: these are boolean flags

2002-01-26 23:42  rse

	* lib_ex/: ex.h, ex.pod, ex_test.c: - rename ex_shielded to
	ex_shielding - do not provide namespace mapping for ex_shielding -
	add ex_catching for testing whether someone is trying to catch
	exceptions

2002-01-26 23:35  rse

	* lib_ex/: ex-config.in, ex.c, ex.h, ex.pod, ex_test.c: fix license
	messages

2002-01-26 23:30  rse

	* lib_ex/: TODO, ex_test.c: first cut for a real test suite

2002-01-26 23:29  rse

	* lib_ex/.cvsignore: ignore Makefile

2002-01-26 21:13  rse

	* lib_ex/TODO: remember

2002-01-26 21:12  rse

	* lib_ex/: .cvsignore, Makefile, Makefile.in, README, TODO,
	VERSION, aclocal.m4, configure.ac, devtool, devtool.conf,
	devtool.func, ex-config.in, ex.c, ex.h, ts.c, ts.h: switch to our
	standard build environment

2002-01-25 23:23  rse

	* lib_ex/ex.pod: typo

2002-01-25 23:23  rse

	* lib_ex/: TODO, ex.h, ex.pod, ex_test.c: many many polishing and
	extending

2002-01-25 19:36  rse

	* lib_ex/ex.h: cleanups

2002-01-25 19:32  rse

	* lib_ex/TODO: done

2002-01-25 19:31  rse

	* lib_ex/ex.h: Allow overriding of machine context switching
	approach.

2002-01-25 16:44  rse

	* lib_ex/.cvsignore: ignore files

2002-01-25 16:30  rse

	* lib_ex/ex.pod: notice that nesting is ok, of course

2002-01-25 16:25  rse

	* lib_ex/: Makefile, README, TODO, ex.c, ex.h, ex.pod, ex_test.c:
	Welcome OSSP ex, another new-born OSSP library.  This is the first
	cut for a C exception handling library.  Read ex.pod for details...

2002-01-24 17:30  rse

	* lib_l2/.cvsignore, lib_str/.cvsignore: ignore one more .in file

2002-01-24 17:25  thl

	* lmtp2nntp_config.c, lmtp2nntp_config.h, lmtp2nntp_main.c,
	lmtp2nntp_option.c, lmtp2nntp_option.h: option works and data can
	be read by config

2002-01-24 16:30  rse

	* lib_val/val.c: This one is really a typo ;-)
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-01-24 16:30  thl

	* Makefile.in: fixed dependency generator

2002-01-24 16:29  rse

	* lib_val/val_test.c: Backed out changed comment. Value names are
	parsed, and their values are implicitly stored lower in the cascade
	after all.
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-01-24 13:07  thl

	* fixme.h, lmtp2nntp_main.c, lmtp2nntp_nntp.h: master of the
	FIXMEs! please read comment in fixme.h

2002-01-24 13:05  thl

	* Makefile.in: added option

2002-01-24 13:04  thl

	* lmtp2nntp_config.c, lmtp2nntp_config.h, lmtp2nntp_option.c,
	lmtp2nntp_option.h: moved config to option, created a new config

2002-01-24 12:05  rse

	* lib_val/val_test.c: Fix typo.
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-01-24 09:54  thl

	* lmtp2nntp_config.c: fixed nasty realloc problem. Thanks FreeBSD
	for MALLOC_OPTIONS=Z

2002-01-23 16:55  thl

	* example.conf, lmtp2nntp_config.c: flag options no longer have an
	optarg

2002-01-23 15:12  thl

	* example.conf, lmtp2nntp_config.c: can now read flat example.conf
	through include option

2002-01-22 17:09  thl

	* lmtp2nntp_config.c, lmtp2nntp_config.h, lmtp2nntp_main.c: flush

2002-01-21 17:21  thl

	* lmtp2nntp_config.c, lmtp2nntp_config.h: flush

2002-01-21 14:24  rse

	* lib_val/devtool.conf: fix name of library

2002-01-21 14:23  rse

	* lib_val/Makefile.in: fix global replace mistake

2002-01-18 19:12  rse

	* lib_val/val.c: fix memory leak

2002-01-17 18:01  thl

	* Makefile.in, lmtp2nntp_config.c, lmtp2nntp_config.h,
	lmtp2nntp_global.h, lmtp2nntp_main.c: flush weekly work

2002-01-17 14:26  rse

	* lib_val/val.pod: more polishing

2002-01-17 14:01  rse

	* lib_val/val.pod: - add a third example - add a little bit more
	tests to first examples - remove all error checking because in
	examples   we generally ommit this for easier reading - display
	expected output

2002-01-17 13:19  rse

	* lib_val/: val.c, val.h, val.pod: add val_unreg() function

2002-01-17 12:53  thl

	* configure.ac, devtool.conf: lib val was missing

2002-01-17 12:50  rse

	* lib_val/val.pod: added two copy'n'past examples

2002-01-17 10:22  rse

	* lib_val/val.pod: completed documentation

2002-01-17 09:02  thl

	* lmtp2nntp_lh.c, lmtp2nntp_lh.h: remove lh, it was relocated to
	lib val

2002-01-16 21:47  rse

	* lib_val/val.pod: Provide the skeleton for the manual page. 
	Details will be filled in soon (Thomas?!)

2002-01-16 21:32  rse

	* lib_val/: val.c, val.h: add general query function which can be
	used to get back all things which were stored on val_reg() and
	especially allows to query just the existance of the value.

2002-01-16 21:24  rse

	* lib_val/: val.c, val.h: - fully document the source code - lots
	of additional cosmetic cleanups

2002-01-16 17:14  rse

	* lib_val/val_test.c: test showing all functions and provides a
	data dumper callback example. Use of direct and OO-style access is
	shown. Multiple names for C-code variable and intermixing direct
	and OO-style access demonstrated.

2002-01-16 17:10  rse

	* lib_val/val.c: code cleanup

2002-01-16 15:22  thl

	* Makefile.in, configure.ac, lmtp2nntp_config.c, lmtp2nntp_val.c,
	lmtp2nntp_val.h: switch from included to linked-in OSSP val variant

2002-01-16 15:19  thl

	* lmtp2nntp_config.c, lmtp2nntp_val.c, lmtp2nntp_val.h: commit for
	protocol reasons

2002-01-16 15:17  rse

	* lib_val/: val.c, val.h: move val+lh code from OSSP lmtp2nntp to
	its dedicated source tree

2002-01-16 15:09  rse

	* lib_val/.cvsignore: ignore generated files

2002-01-16 15:09  rse

	* lib_val/: README, TODO, VERSION, aclocal.m4, devtool.conf,
	val.pod: new OSSP val build environment

2002-01-16 10:46  thl

	* lmtp2nntp_config.c, lmtp2nntp_lh.c, lmtp2nntp_lh.h,
	lmtp2nntp_val.c, lmtp2nntp_val.h: val now supports OO-style
	variable names.  lh now supports iteration through all elements and
	applying a callback to each.  lmtp2nntp_config.c currently has
	sample code for lib val embedded, including a data dumper.

2002-01-15 14:02  thl

	* Makefile.in, lmtp2nntp_config.c, lmtp2nntp_map.c,
	lmtp2nntp_map.h, lmtp2nntp_val.c, lmtp2nntp_val.h,
	lmtp2nntp_config.c: map renamed to val and basic functionality
	successfully verified

2002-01-15 12:57  thl

	* lmtp2nntp_lh.c, lmtp2nntp_lh.h: constification

2002-01-14 16:00  thl

	* lmtp2nntp_map.c, lmtp2nntp_map.h: first cut for map library

2002-01-14 15:49  thl

	* Makefile.in, lmtp2nntp_lh.c, lmtp2nntp_lh.h: include a stripped
	down version of OSSP act's linae hashing library

2002-01-14 13:23  thl

	* example.conf, lmtp2nntp_config.c, lmtp2nntp_config.h,
	lmtp2nntp_main.c: first steps toward popt

2002-01-11 11:36  rse

	* lib_l2/: l2_ut_pcre.c, l2_ut_pcre.h: upgrade to PCRE 3.9

2002-01-11 11:27  rse

	* lib_str/: str_pcre.c, str_pcre.h: upgrade to PCRE 3.9

2002-01-11 11:19  rse

	* lib_pcre/: ChangeLog, ChangeLog.OSSP, pcre.h, pcregrep.1,
	pcre_test.d/testoutput1, pcre_test.d/testoutput2,
	pcre_test.d/testoutput3, pcre_test.d/testoutput4,
	pcre_test.d/testoutput5, pcre_test.d/testoutput6: upgrade to PCRE
	3.9

2002-01-10 21:05  rse

	* lib_val/TODO: We don't need locking, let the controlling
	application do such checks instead.
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-01-10 11:37  thl

	* Makefile.in, example.conf, lmtp2nntp_config.c,
	lmtp2nntp_dotconf.c, lmtp2nntp_dotconf.h: replaced dotconf library
	with own code and str_token

2002-01-09 15:10  rse

	* lib_val/val-config.in: VAL is correct, yes

2002-01-09 14:54  thl

	* Makefile.in, example.conf, lmtp2nntp_config.c,
	lmtp2nntp_config.h, lmtp2nntp_dotconf.c, lmtp2nntp_dotconf.h,
	lmtp2nntp_main.c: configfile example with sections and evaluation
	of code to parse it

2002-01-09 14:51  thl

	* lmtp2nntp.pod: moved a paragraph; better description of acl

2002-01-09 14:44  rse

	* lib_val/TODO: Remember flock(2).
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-01-09 14:36  rse

	* lib_val/val.pod: Cleanup.
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-01-09 14:34  rse

	* lib_val/: devtool.conf, val-config.in: More build configuration
	fixes.
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-01-09 13:39  rse

	* lib_val/aclocal.m4: File header had wrong project name.
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-01-09 12:27  rse

	* lib_var/var.c: - Compile regular expressions with REG_NEWLINE
	flag so that '^' and   '$' match in the middle of the string where
	appropriate.
	
	- Fixed incorrect results of search_and_replace() with zero-length 
	 matches, such as '^'.

2002-01-09 12:23  rse

	* lib_var/var_test.c: Added test case that verifies the correct
	behavior of search_and_replace() when zero-length matches occur.

2002-01-09 12:17  rse

	* lib_var/var_test.c: Fixed a test case where the expected result
	was incorrect. Thus, the test didn't not fail even though
	search_and_replace() contained a bug.

2002-01-09 11:44  rse

	* lib_val/: Makefile.in, README, TODO, VERSION, aclocal.m4,
	configure.ac, devtool, devtool.conf, devtool.func, val-config.in,
	val.c, val.h, val.pod, val_test.c: Create a fresh build environment
	for new born child OSSP val.  This soon to be written library will
	provide a user-land val with O(1) time complexity and fixed size
	memory usage.

2002-01-09 08:42  thl

	* example.conf: first draft of a configuration file example

2002-01-08 17:36  rse

	* lib_var/var_qref.pod: polishing

2002-01-07 16:42  rse

	* lib_l2/acconfig.h: add missing stuff

2002-01-07 16:21  rse

	* lib_pcre/: .cvsignore, ChangeLog, Makefile.in, pcre.3, pcre.c,
	pcre.h, pcre_dftables.c, pcre_get.c, pcre_internal.h,
	pcre_maketables.c, pcre_study.c, pcre_test.c, pcre_test.sh,
	pcregrep.1, pcregrep.c, pcreposix.3, pcreposix.c, pcreposix.h,
	pgrep.1, pgrep.c, pcre_test.d/testinput1, pcre_test.d/testinput2,
	pcre_test.d/testinput6, pcre_test.d/testoutput1,
	pcre_test.d/testoutput2, pcre_test.d/testoutput3,
	pcre_test.d/testoutput4, pcre_test.d/testoutput5,
	pcre_test.d/testoutput6: upgrade to PCRE 3.8

2002-01-07 15:52  rse

	* lib_pcre/: config.h.in, configure: remove generated files

2002-01-07 15:51  rse

	* lib_pcre/: autogen.sh, config.guess, config.h.in, config.sub,
	configure.ac, devtool, devtool.conf, devtool.func, libtool.m4,
	ltmain.sh, shtool: switch to devtool

2002-01-07 15:36  rse

	* lib_pcre/: AUTHORS, COPYING, ChangeLog, ChangeLog.OSSP, LICENCE,
	NEWS, README: merge changes from 3.4 to 3.5

2002-01-07 14:15  thl

	* Makefile.in, configure.ac, lmtp2nntp_main.c, lmtp2nntp_popt.c,
	lmtp2nntp_popt.h: link in a stripped down version of POPT

2002-01-04 23:31  rse

	* lib_var/TODO: remember

2002-01-04 23:31  rse

	* lib_var/var_qref.pod: add first cut for OSSP var quick reference

2002-01-03 17:21  rse

	* lib_l2/TODO: update entries

2002-01-03 17:13  rse

	* lib_l2/.cvsignore: update ignored files

2002-01-03 17:13  rse

	* lib_l2/l2_test_syslog.c: integrate first cut of l2syslog stuff
	(missing file)

2002-01-03 17:12  rse

	* lib_l2/: Makefile.in, configure.ac, l2_syslog.c: integrate first
	cut of l2syslog stuff

2002-01-03 16:23  rse

	* lib_l2/TODO: updates

2002-01-03 12:54  rse

	* lib_l2/TODO: Remember to document the formatter functions.
	
	PR: Submitted by: Reviewed by: Approved by: Obtained from:

2002-01-02 18:12  rse

	* lib_var/: Makefile.in, configure.ac, devtool, devtool.func,
	var-config.in, var-config.pod, var.c, var.h, var.pod, var_test.c:
	bump copyright year

2002-01-02 18:07  rse

	* lib_l2/LICENSE, lib_l2/Makefile.in, lib_l2/README,
	lib_l2/aclocal.m4, lib_l2/configure.ac, lib_l2/devtool,
	lib_l2/devtool.func, lib_l2/l2-config.in, lib_l2/l2-config.pod,
	lib_l2/l2.h.in, lib_l2/l2.m4, lib_l2/l2.pod, lib_l2/l2_ch_buffer.c,
	lib_l2/l2_ch_fd.c, lib_l2/l2_ch_file.c, lib_l2/l2_ch_filter.c,
	lib_l2/l2_ch_irc.c, lib_l2/l2_ch_noop.c, lib_l2/l2_ch_null.c,
	lib_l2/l2_ch_pipe.c, lib_l2/l2_ch_prefix.c, lib_l2/l2_ch_smtp.c,
	lib_l2/l2_ch_socket.c, lib_l2/l2_ch_syslog.c, lib_l2/l2_channel.c,
	lib_l2/l2_env.c, lib_l2/l2_p.h, lib_l2/l2_spec.c,
	lib_l2/l2_spec_parse.y, lib_l2/l2_spec_scan.l, lib_l2/l2_test.c,
	lib_l2/l2_ut_fmtcb.c, lib_l2/l2_ut_format.c, lib_l2/l2_ut_format.h,
	lib_l2/l2_ut_level.c, lib_l2/l2_ut_param.c, lib_l2/l2tool.c,
	lib_l2/l2tool.pod, lib_str/LICENSE, lib_str/Makefile.in,
	lib_str/README, lib_str/configure.ac, lib_str/devtool,
	lib_str/devtool.func, lib_str/str-config.in,
	lib_str/str-config.pod, lib_str/str.h.in, lib_str/str.pod,
	lib_str/str_base64.c, lib_str/str_basic.c, lib_str/str_format.c,
	lib_str/str_hash.c, lib_str/str_memory.c, lib_str/str_p.h,
	lib_str/str_parse.c, lib_str/str_search.c, lib_str/str_test.c,
	lib_str/str_token.c: bump copyright year

2002-01-02 15:41  rse

	* lib_sa/sa.pod: even more docs

2002-01-02 14:54  rse

	* lib_sa/TODO: todo

2002-01-02 14:53  rse

	* lib_sa/sa.c: fix syntax

2002-01-02 14:52  rse

	* lib_sa/sa.c: rewrite with a more readable switch() statement

2002-01-02 14:44  rse

	* lib_sa/: sa.c, sa.h, sa.pod: add support for lingering on close

2002-01-02 14:35  rse

	* lib_sa/: sa.c, sa.h, sa.pod: add support for reusability of
	address or port

2002-01-02 14:27  rse

	* lib_sa/sa.c: complain if no socket is available for
	SA_OPTION_NONBLOCK

2002-01-02 14:21  rse

	* lib_sa/sa.c: ops, syntax error

2002-01-02 14:20  rse

	* lib_sa/: TODO, sa.c: first cut for PF_XXX usage

2002-01-02 14:08  rse

	* lib_sa/sa.c: conditionalize variable, too.

2002-01-02 14:08  rse

	* lib_sa/sa.c: use faster IPPROTO_XXX instead of getprotobyname if
	available

2002-01-02 13:43  rse

	* lib_sa/: Makefile.in, README, aclocal.m4, sa-config.in, sa.ac,
	sa.c, sa.h, sa.pod, sa_test.c, ts.c, ts.h: bump copyright year

2002-01-02 13:40  rse

	* lib_sa/sa.pod: lots of more documentation

2002-01-02 13:33  rse

	* lib_sa/sa.c: ops, uninitialized variable.

2002-01-02 13:31  rse

	* lib_sa/sa.c: add support for optional port matching

2001-12-31 16:15  thl

	* Makefile.in, README, aclocal.m4, configure.ac, devtool,
	devtool.func, lmtp2nntp.pod, lmtp2nntp_argz.c, lmtp2nntp_argz.h,
	lmtp2nntp_global.h, lmtp2nntp_lmtp.c, lmtp2nntp_lmtp.h,
	lmtp2nntp_main.c, lmtp2nntp_msg.c, lmtp2nntp_msg.h,
	lmtp2nntp_nntp.c, lmtp2nntp_nntp.h, lmtp2nntp_shpat.c,
	lmtp2nntp_shpat.h: bump copyright year

2001-12-31 13:06  rse

	* lib_var/configure.ac: style police ;)

2001-12-31 13:03  thl

	* .configure, Makefile.in, autogen.sh, devtool, devtool.conf,
	devtool.func, lmtp2nntp_version.c: switch to devtool stuff

2001-12-31 12:30  thl

	* 00TODO: TODO list for Thomas ;)

2001-12-31 12:09  thl

	* Makefile.in, README, argz.c, argz.h, autogen.sh, configure.ac,
	daemon.c, daemon.h, lmtp.c, lmtp.h, lmtp2nntp.c, lmtp2nntp.h,
	lmtp2nntp_argz.c, lmtp2nntp_argz.h, lmtp2nntp_daemon.c,
	lmtp2nntp_daemon.h, lmtp2nntp_dotconf.c, lmtp2nntp_dotconf.h,
	lmtp2nntp_global.h, lmtp2nntp_lmtp.c, lmtp2nntp_lmtp.h,
	lmtp2nntp_main.c, lmtp2nntp_msg.c, lmtp2nntp_msg.h,
	lmtp2nntp_nntp.c, lmtp2nntp_nntp.h, lmtp2nntp_shpat.c,
	lmtp2nntp_shpat.h, lmtp2nntp_version.c, msg.c, msg.h, nntp.c,
	nntp.h, shpat_match.c, shpat_match.h, version.c: Mega-Commit:
	Finally restructure the lmtp2nntp source tree in order to clean it
	up. We especially use a consistent prefix for all inlined sources.

2001-12-31 11:23  rse

	* lib_str/ChangeLog: remember changes

2001-12-31 11:23  thl

	* autogen.sh: fix autogen.sh to reflect recent str changes

2001-12-27 13:25  rse

	* lib_str/str.pod: reflect latest change

2001-12-27 13:24  rse

	* lib_str/: .cvsignore, Makefile.in, str_pcre.c, str_pcre.h:
	upgrade from PCRE 3.5 (full) to PCRE 3.8 (stripped-down)

2001-12-27 13:16  rse

	* lib_str/Makefile.in: remove str.h on distclean, too

2001-12-27 13:15  rse

	* lib_str/: .configure, autogen.sh, devtool, devtool.conf,
	devtool.func: switch to devtool

2001-12-27 13:11  rse

	* lib_str/: .dmallocrc, str_test.c: more dmalloc support

2001-12-22 23:24  rse

	* lib_l2/: TODO, l2_ch_filter.c: add no case support

2001-12-22 23:23  rse

	* lib_l2/: TODO, TODO: remember issue

2001-12-22 23:18  rse

	* lib_l2/: l2.h.in, l2_env.c, l2_spec.c: Fix l2_spec_error function
	and remove again the not really needed l2_env_verrorinfo function.

2001-12-22 23:04  rse

	* lib_l2/Makefile.in: fix realclean target

2001-12-22 23:04  rse

	* lib_l2/l2_spec.c: remove warning

2001-12-22 22:58  rse

	* lib_l2/: Makefile.in, l2_sockmon.c: Remove socket monitor
	utility, because now we have SA and the functionality either has to
	be applied again as an "satool" to SA or we should use one of the
	existing tools like "netcat", etc.

2001-12-22 22:54  rse

	* lib_l2/l2_objects.fig: remove already obsolete illustration

2001-12-22 22:51  rse

	* lib_l2/: Makefile.in, aclocal.m4, configure.ac, l2++.cc, l2++.h,
	l2++.pod, l2-config.in, l2-config.pod, l2_test++.cc: Remove all
	half-done C++ things. Because in the near future we neither will
	have time to finish this nor do we really want it to be finished. 
	So kick out all of this stuff. If we later want to add real C++
	support, we can easily apply this again.

2001-12-21 11:50  rse

	* lib_l2/: l2_ut_pcre.c, l2_ut_pcre.h: upgrade to PCRE 3.8

2001-12-17 13:58  thl

	* lmtp2nntp.c: First cut in integrating OSSP var into OSSP
	lmtp2nntp.

2001-12-17 13:57  rse

	* lib_var/: var.c, var.pod: allow result_len to be NULL

2001-12-17 11:29  rse

	* lib_var/: var.c, var.h, var.pod, var_test.c: Finally adjust
	return code semantics of var_cb_t to use var_rc_t only.

2001-12-17 10:03  rse

	* lib_var/var.c: silence gcc

2001-12-17 10:00  rse

	* lib_var/var.c: remove debugging messages

2001-12-17 00:40  rse

	* lib_var/: var.c, var.h, var.pod, var_test.c: Implemented loops
	with explicit start, stop, and step values.

2001-12-16 19:13  rse

	* lib_var/TODO: test commit for new repository

2001-12-14 15:40  rse

	* lib_var/var.c: remove debugging stuff

2001-12-14 15:06  rse

	* lib_var/var.c: Cleanup post-processing code by reducing
	redundancy.  Nevertheless the error result_len is still incorrect
	IMHO!

2001-12-14 14:49  rse

	* lib_var/var_test.c: Manual OSSP coding style adjustments.

2001-12-14 14:47  rse

	* lib_var/: var.c, var.h, var_test.c: Get rid of the following
	warnings under "gcc -O2 -pedantic -Wall -Wshadow -Wpointer-arith
	-Wcast-align -Winline -Wmissing-prototypes -Wmissing-declarations
	-Wnested-externs -Wno-long-long":
	
	var.h:91: warning: declaration of `index' shadows global
	declaration var.c: In function `expression': var.c:693: warning:
	declaration of `index' shadows global declaration var.c: At top
	level: var.c:1769: warning: declaration of `varname' shadows global
	declaration var.c:1769: warning: declaration of `index' shadows
	global declaration var.c: In function `lookup_wrapper': var.c:1772:
	warning: declaration of `index' shadows global declaration
	var.c:1772: warning: declaration of `varname' shadows global
	declaration var_test.c:13: warning: declaration of `index' shadows
	global declaration var_test.c: In function `var_lookup':
	var_test.c:16: warning: declaration of `index' shadows global
	declaration

2001-12-14 14:42  rse

	* lib_var/var.c: Manual OSSP coding style adjustments.

2001-12-14 13:42  rse

	* lib_l2/TODO: done... puhhh!

2001-12-14 13:42  rse

	* lib_l2/: l2_spec.c, l2_spec.h, l2_spec_parse.y, l2_spec_scan.l:
	Whoohooo! Add support for location tracking. This way the reported
	errors contain line, column, context and found/expected
	information.  Now the specification parser is full featured...

2001-12-14 13:39  rse

	* lib_l2/: l2.h.in, l2_env.c: provide l2_env_verrorinfo() and a new
	L2_ERR_SYN

2001-12-13 17:25  simons

	* lib_var/var.c: Fixed syntax error.

2001-12-13 17:03  simons

	* lib_var/: var.c, var_test.c: Implemented correct termination and
	recursion for loop constructs.

2001-12-13 15:34  simons

	* lib_var/var.c: Variables that have no index specified are always
	looked up with index zero now; the default index does no longer
	apply.

2001-12-13 10:20  thl

	* lib_var/TODO: clarifications

2001-12-12 18:18  simons

	* lib_var/: var.c, var.pod, var_test.c: Guarantee that the buffer
	returned by var_expand() is terminated with a null byte.

2001-12-12 17:52  simons

	* lib_var/var.c: Support the loop construct only if startindex has
	been set.

2001-12-12 17:51  simons

	* lib_var/: var.c, var.h, var.pod, var_test.c: Implemented the
	looping construct. However, there are still some semantical issues
	that need to be clarified before the code is stable.

2001-12-12 15:34  rse

	* lib_var/var.pod: fix comment

2001-12-11 13:02  rse

	* .configure, Makefile.in, autogen.sh, configure.ac: activate OSSP
	var

2001-12-11 12:53  thl

	* README, autogen.sh, lmtp2nntp.c, lmtp2nntp.h, msg.h, version.c:
	switch to latest L2 version

2001-12-08 21:58  rse

	* lib_l2/l2.pod: rember a few things from the past team meetings

2001-12-08 21:50  rse

	* lib_l2/TODO: remember next steps

2001-12-08 17:28  simons

	* lib_var/var_test.c: Fixed test case for division-by-zero error
	with force_expand mode.

2001-12-08 17:27  simons

	* lib_var/: var.c, var.h, var_test.c: Implemented division-by-zero
	error.

2001-12-08 17:17  simons

	* lib_var/: var.c, var_test.c: Implemented force_expand mode in
	num_exp().

2001-12-08 17:02  simons

	* lib_var/: var.c, var.pod, var_test.c: Added support for variables
	as operands in index specifications.

2001-12-08 16:31  simons

	* lib_var/var_test.c: Implemented the semantic for negative index
	yielding the length of the variable or the length of the array.

2001-12-08 16:14  simons

	* lib_var/var_test.c: Implemented array-lookups in the callback and
	customized test cases appropriately.

2001-12-04 15:25  simons

	* lib_var/var.c: We support the current_index and startindex tokens
	only when they're not zero.

2001-12-04 14:37  simons

	* lib_var/var.pod: Updated the BNF grammar for the arithmetik
	parser.

2001-12-04 14:37  simons

	* lib_var/var.h: Added the return codes
	VAR_ERR_UNCLOSED_BRACKET_IN_INDEX, VAR_ERR_INCOMPLETE_INDEX_SPEC,
	and VAR_ERR_INVALID_CHAR_IN_INDEX_SPEC, which are used by the index
	parser.

2001-12-04 14:36  simons

	* lib_var/var.c: Added support for indexed variables to
	expression().

2001-12-04 14:35  simons

	* lib_var/var_test.c: Added test cases for array lookups.

2001-12-04 09:28  rse

	* lib_l2/TODO: L2 really needs cronolog functionality in order to
	fulfill user requirements

2001-12-03 11:53  ms

	* lib_l2/TODO: Deleted items marked 'to be deleted.'

2001-12-03 11:51  simons

	* lib_var/: var.c, var.h, var.pod, var_test.c: Extended the
	interface of var_cb_t to support variable arrays. To customize your
	already existing lookup functions quickly to the new interface,
	just add the "int index" parameter to the function's prototype and
	add the lines
	
	    if (index != 0)
		return VAR_ERR_ARRAY_LOOKUPS_ARE_UNSUPPORTED;
	
	to the function itself.

2001-12-01 13:35  rse

	* lib_str/str.pod: add missing quote

2001-11-30 18:12  ms

	* lib_l2/TODO: Reorganization and clarification.

2001-11-30 10:50  rse

	* lib_sa/sa.h, lib_l2/l2_ut_sa.h: add missing API function call
	namespace protector

2001-11-30 10:44  rse

	* lib_l2/: l2.h.in, l2_spec.c, l2_test.c: Allow a channel tree
	specification to be a printf-style string to make the API more
	powerful and to remove the burden from the application to
	pre-format the specification in an own buffer.

2001-11-24 09:13  rse

	* lib_l2/: l2_ut_pcre.c, l2_ut_pcre.h: upgrade to PCRE 3.7

2001-11-20 21:02  rse

	* lib_var/: .cvsignore, Makefile, Makefile.in, VERSION,
	configure.ac, devtool, devtool.conf, devtool.func, var-config.in,
	var-config.pod: Apply standard environment for OSSP libraries.

2001-11-20 16:46  simons

	* lib_var/: var.c, var.pod, var_test.c: Changed semantics of the :o
	operation so that the specified end-offset is included in the
	result. Updated documentation and test cases appropriately.

2001-11-20 16:36  simons

	* lib_var/var.c: Rather than to hard-code the size of the buffer
	required for format an integer into a string in the ':#' operation,
	use approximation based on 'sizeof(int)'.

2001-11-20 16:34  simons

	* lib_var/SPEC: File not required anymore.

2001-11-20 16:33  simons

	* lib_var/TODO: Neues, fettes, geplantes Feature.

2001-11-20 15:04  thl

	* lib_var/var.c: THLs review

2001-11-20 14:44  thl

	* lib_var/var.c: THLs review

2001-11-20 14:33  thl

	* lib_var/var.c: THLs review

2001-11-20 14:08  thl

	* lib_var/var.pod: THLs review

2001-11-20 13:45  thl

	* lib_var/var.c: THLs review

2001-11-20 13:22  thl

	* lib_var/: var.c, var.pod, var.c: THLs review

2001-11-20 12:49  simons

	* lib_var/var_test.c: Renamed callback from env_lookup to
	var_lookup().

2001-11-20 12:46  simons

	* lib_var/var.c: Removed comment from Thomas in accordance with
	Ralf: We don't want to add further consistency checks, because
	they're somewhat mood anyway.  If a user does not understand the
	implications of his choice of tokens, there's no way we can
	guarantee the parser will still work. On the other hand, additional
	consistency checks might hinder users who know what they're doing
	from doing it.

2001-11-20 12:44  simons

	* lib_var/var.c: Removed comment from Thomas in accordance with
	Ralf: We don't want to introduce a context for the library at this
	point, because this would complicate the API quite a bit without
	bringing significant benefits.

2001-11-20 12:41  simons

	* lib_var/var_test.c: Rewrote env_lookup callback to use an
	internal array of variables rather than the system environment,
	because setenv() and unsetenv() are not really portable. Also,
	these routines lose memory, which is not a good thing for a test
	program.

2001-11-19 17:30  thl

	* lib_var/var.c: THLs review

2001-11-19 17:15  simons

	* lib_var/var.pod: Added documentation for the var_strerror() call.

2001-11-19 17:09  simons

	* lib_var/var.h: Cleaned the header file up.

2001-11-19 17:07  simons

	* lib_var/: var.c, var.h: Implemented var_strerror().

2001-11-19 17:05  thl

	* lib_var/var.c: THLs review

2001-11-19 16:56  thl

	* lib_var/: var.c, var.h: THLs review

2001-11-19 16:38  simons

	* lib_var/var.pod: Added the missing part of the documentation.
	Everything is fully documented now.

2001-11-19 16:15  simons

	* lib_var/var.c: Added early initialization of the "result" pointer
	so that we never leave it unitialized when var_expand() failes.

2001-11-19 15:10  simons

	* lib_var/var.c: Implemented the error-reporting semantics
	specified in the man page: If var_expand() fails with an error,
	"result" will contain a pointer to the construct in the input
	buffer, which's expansion caused the failure.

2001-11-17 16:03  rse

	* lib_sa/sa.pod: more references

2001-11-17 00:00  rse

	* lib_l2/l2.pod: Birthday commit: Shorten grammar to the usual BNF
	notation and add an example.

2001-11-16 21:07  ms

	* lib_l2/l2_ch_buffer.c: Cleanup before introducing timer changes.

2001-11-16 20:53  ms

	* lib_l2/l2.h.in: Whoops, corrected function prototype.

2001-11-16 20:45  ms

	* lib_l2/l2_env.c: Introduced new tree safe timer logic to the L2
	environment.

2001-11-16 20:44  ms

	* lib_l2/l2_spec_ebnf: L2 grammar for the L2CDL (L2 Channel
	Description Language) removed to l2.pod

2001-11-16 20:41  ms

	* lib_l2/l2_spec_ebnf: Reflect last state of grammar before killing
	it (it's in the pod file now.)

2001-11-16 20:40  ms

	* lib_l2/: TODO, l2.h.in, l2_p.h, l2_test.c: Mostly finished phase
	in of timer code to l2_env. Buffer needs work.

2001-11-16 17:35  rse

	* lib_pcre/pcre-config.in: Reverse order: pcreposix depends on
	pcre.  Found out by Peter Simons <simons@cryp.to>

2001-11-16 17:01  simons

	* lib_var/var.c: Added support for the PCRE library: If
	HAVE_PCREPOSIX is defined at compile time, the PCRE POSIX wrapper
	functions will be used rather than the system's regular expression
	engine.

2001-11-16 16:44  simons

	* lib_var/var.pod: Added all section of the man page, except for
	the PURPOSE section, which is till missing.

2001-11-16 16:19  simons

	* lib_var/SPEC: The :? has been removed from the specification.

2001-11-15 16:36  simons

	* lib_var/var.c: Replaced the use of the explicit character class
	type "char class[256]" by an abstract data type "char_class_t".

2001-11-15 12:03  ms

	* lib_l2/l2_ch_file.c: Close potential memory leak.

2001-11-15 10:57  thl

	* 00TODO: OSSP var a little extended can solve issues very elegant

2001-11-15 10:47  ms

	* lib_l2/l2.pod: Added L2CDL grammar text (L2 Channel Definition
	Language.) Looks crappy.

2001-11-14 16:55  ms

	* lib_var/: var.h, var_test.c: Minor corrections.

2001-11-14 16:05  thl

	* README, version.c: bump version for release

2001-11-14 15:37  thl

	* msg.c: ricudis@paiko.gr - How about adding a custom entry on the
	Path: header on gated messages, so the news system can distinguish
	messages that should be passed back to the mailing list on doubly
	gated mailing lists?
	
	    Path: lmtp2nntp!not-for-mail
	
	and placing in the INN newsfeeds file :
	
	    news2mail-feed/lmtp2nntp:*:blah blah blah
	
	would prevent loops caused by messages gated to Usenet by lmtp2nntp
	then forwarded back to their origination message-list by the
	newsfeed feeding the Usenet->mail side of the gateway.

2001-11-14 15:32  thl

	* msg.c: allow indented headers and respect RFC0822 character range
	- ricudis@paiko.gr

2001-11-14 15:25  thl

	* msg.c: msg.c

2001-11-14 15:22  thl

	* msg.c, test.sh: ALERT! The line folding algorithm in
	LMTP2NNTP_1_1_0 had a bug when wrapping long lines. It used
	argz_insert() inside an iteration loop while manipulating the
	elements the loop's based on. When the element being inserted did
	not fit into the previously allocated buffer, a realloc() occured.
	This rendered the iteration loop pointer invalid causing the code
	to write into the wilderness.  This caused segfaults at the very
	best but it also happend that the folding code hung in an arbitrary
	loop effectively exhausting all available CPU horsepower. This
	happend on our live machine and was reported by ricudis@paiko.gr,
	too. This fix is the ultimate reason for releasing LMTP2NNTP_1_1_1.

2001-11-14 14:59  ms

	* lib_l2/l2_spec_ebnf: Corrected grammar typos and indentation.

2001-11-14 14:57  thl

	* INSTALL: email address is valid having trailing dot;
	ricudis@paiko.gr

2001-11-14 14:55  thl

	* 00TODO: duplicate header issue repored by rse@de.cw.net and
	ricudis@paiko.gr

2001-11-14 13:59  rse

	* lib_var/TODO: remember my stuff here (added strerror issue, too)

2001-11-14 13:57  rse

	* lib_var/var.c: ops, lookup_context is allowed to be NULL, of
	course

2001-11-14 13:52  rse

	* lib_var/var.c: one more hard-coded value vs. symbolic name

2001-11-14 13:21  ms

	* lib_var/var_test.c: Fix indentation.

2001-11-14 13:21  rse

	* lib_var/var.c: be pedantic and use the symbol instead of
	hard-coded value

2001-11-14 13:05  rse

	* lib_var/var.h: bugfix: make sure errors use different numbers

2001-11-14 13:02  rse

	* lib_var/: var.c, var.h: Safe time by cleaning up var_expand()
	myself instead of first writing down the wishes and having Peter do
	it himself afterwards: - use tokenbuf_init() instead of doing it
	manually - perform additional argument sanity checks - some minor
	coding style adjustments

2001-11-14 12:11  rse

	* lib_var/: var.c, var.h, var_test.c: Rename the return codes
	VAR_XXX to VAR_ERR_XXX (except for VAR_OK) to be consistent with
	other OSSP libraries like L2.

2001-11-14 12:04  ms

	* lib_var/var.h: Removed tabs, fixed readability.

2001-11-14 11:47  ms

	* lib_var/var_test.c: Expanded tabs.

2001-11-14 10:47  rse

	* lib_var/var.c: Cleanup code of token buffer stuff to be
	consistent with our general style in our OSSP libraries: - rename
	all xxx_tokenbuf functions to tokenbuf_xxx ("grouping by prefix") -
	rename tokenbuf to tokenbuf_t (POSIX-like type namespace) - move
	variable definitions to top of functions (group them together).  -
	glue code comments directly to code (no extra newline) - use the
	combined "assign and check" style ('if ((var = ...) != NULL)..)

2001-11-13 20:37  rse

	* lib_var/Makefile: we decided that the beast is named just 'var'

2001-11-13 20:32  rse

	* lib_var/var.c: be consistent: every function has at least one
	'return'

2001-11-13 20:28  rse

	* lib_var/var.c: use consistent style for pointers

2001-11-13 20:25  rse

	* lib_var/var.c: Quickly get rid of tabs before reviewing and
	editing starts

2001-11-13 15:56  simons

	* lib_var/var.c: Added cast to int for isdigit() parameter to avoid
	compile-time warning.

2001-11-13 15:46  simons

	* lib_var/Makefile: Made the execution of the test program at the
	'check' target silent.

2001-11-13 15:43  simons

	* lib_var/TODO: Unescaping and submatching are implemented and
	hence removed from the TODO file.

2001-11-13 15:42  simons

	* lib_var/: var.c, var.h, var_test.c: Reformatted the sources to
	Kernighan & Ritchie style according to the wishes of Ralf.

2001-11-13 15:36  simons

	* lib_var/: var.c, var.h, var_test.c: Implemented submatching in
	regular expressions and added the appropriate test cases.

2001-11-13 15:36  simons

	* lib_var/Makefile: Edited Makefile for production compilation.

2001-11-13 14:34  simons

	* lib_var/Makefile: Changed compile flags for debugging purposes.

2001-11-13 14:33  simons

	* lib_var/var_test.c: The test program will print the data in each
	step to stdout when compiled with a DEBUG define.

2001-11-13 14:32  simons

	* lib_var/var.c: Removed all debug output except for that in
	search_and_replace().

2001-11-13 14:29  simons

	* lib_var/: var.c, var_test.c: Changed the semantics of
	var_unescape(): It will only recognize a named character as being
	an octal if there are three digits following the backslash.
	Anything else will be interpreted as an ordinary quoted character
	that's copied verbatimly. Added a test case to verify that
	behavior.

2001-11-13 14:25  simons

	* lib_var/: var.c, var_test.c: Implemented the
	unescape_all-behavior and added modified the test program to make
	use of var_unescape(). Also added a test case, which verifies hex
	and octal characters are handled correctly.

2001-11-13 13:49  simons

	* lib_var/TODO: Moved the grammar from this file to the man page.

2001-11-13 13:47  simons

	* lib_var/var.pod: Added VAR_CALLBACK_ERROR to the list of return
	codes.

2001-11-13 13:47  simons

	* lib_var/Makefile: Added the man page to the build process.

2001-11-13 13:46  simons

	* lib_var/var_test.c: The callback will now return a proper error
	code in case of failure, rather than using exit(1).

2001-11-13 13:46  simons

	* lib_var/var.h: - Added VAR_CALLBACK_ERROR define.
	
	- Renamed expand_named_characters() to var_unescape while adding
	the   flag telling the function whether to expand anything or only 
	 constructs it knows.

2001-11-13 13:45  simons

	* lib_var/var.c: Renamed expand_named_characters() to var_unescape
	while adding the flag telling the function whether to expand
	anything or only constructs it knows.

2001-11-13 13:37  simons

	* lib_var/.cvsignore: Added var.3.

2001-11-13 13:36  simons

	* lib_var/var.pod: Added skeleton version of the library's manual
	page.

2001-11-13 13:18  simons

	* lib_var/TODO: Removed the items that are fully implemented from
	the TODO file.

2001-11-13 13:16  simons

	* lib_var/var.c: - Fixed copyright header to show the right
	description.  - Removed assertions.

2001-11-13 13:15  simons

	* lib_var/var.h: Added OSSP copyright header.

2001-11-13 13:15  simons

	* lib_var/Makefile: - Updated clean target.  - Updated
	dependencies.

2001-11-13 13:14  simons

	* lib_var/.cvsignore: Added var_test.

2001-11-13 13:08  simons

	* lib_var/: Makefile, Odinfile, command.c, cut-out-offset.c,
	expand-character-class.c, expand-named-characters.c, expand.c,
	expression.c, input.c, internal.h, padding.c, search-and-replace.c,
	text.c, tokenbuf.c, transpose.c, var.c, var.h, var_test.c,
	varexp.h, variable.c: - Moved all routines into a single source
	file var.c.  - Renamed varexp.h to var.h.  - Removed odin-based
	build system.  - Moved test cases into var_test.c.  - Adapted build
	system.

2001-11-12 21:18  ms

	* lib_l2/l2_spec_ebnf: Condensed and clarified EBNF grammar
	description of the L2 language.

2001-11-12 13:54  thl

	* README, version.c: bump version for release

2001-11-11 13:40  rse

	* lib_var/SPEC: Remember the specification here.

2001-11-10 15:04  rse

	* lib_l2/TODO: remember idea

2001-11-10 15:01  rse

	* lib_l2/: .cvsignore, Makefile.in, l2tool.c, l2tool.pod: First cut
	for the L2 command line tool which allows us very easy testing
	through the new channel tree specification parser.

2001-11-09 18:01  rse

	* lib_var/: Makefile, Odinfile, TODO, command.c, cut-out-offset.c,
	expand-character-class.c, expand-named-characters.c, expand.c,
	expression.c, input.c, internal.h, padding.c, search-and-replace.c,
	text.c, tokenbuf.c, transpose.c, varexp.h, variable.c: import first
	cut of OSSP var

2001-11-09 18:01  rse

	* lib_var/: Makefile, Odinfile, TODO, command.c, cut-out-offset.c,
	expand-character-class.c, expand-named-characters.c, expand.c,
	expression.c, input.c, internal.h, padding.c, search-and-replace.c,
	text.c, tokenbuf.c, transpose.c, varexp.h, variable.c: Initial
	revision

2001-11-09 13:45  rse

	* lib_l2/: README, l2.pod: first cut for an L2 summary

2001-11-08 22:58  rse

	* lib_l2/: Makefile.in, l2_spec_parse.y, l2_spec_scan.l, l2_test.c:
	Enhance the specification parser to be more smart in parsing
	parameter values in order to remove the burden on the user to
	provide massive syntactic sugar.
	
	One now can name=value or name="value" or even name=va"lu"e, i.e.,
	do not require quotation marks. But if they are present they can be
	used to introduce spaces or special characters with \xXX notation.

2001-11-08 21:28  rse

	* lib_l2/: Makefile.in, aclocal.m4, configure.ac, devtool.conf: Add
	--enable-maintainer mode and only use Bison and Flex if this mode
	enabled. Else we assume end user mode where the scanner and parser
	files have to be already pre-generated. Additionally check the
	version of the installed GNU Flex to make sure developers to not
	think the 1997'er Flex version 2.5.4 is sufficient.

2001-11-08 19:31  ms

	* lib_l2/Makefile.in: The parser should be compiled first to later
	provide the lexer with symbols.

2001-11-08 17:54  ms

	* lib_l2/Makefile.in: Remove yacc and lex generated files.

2001-11-08 14:34  thl

	* README, version.c: bump version for release

2001-11-08 11:59  thl

	* README, version.c: bump version for release

2001-11-08 11:08  thl

	* lmtp2nntp.c: even shorter IPv6 syntax

2001-11-08 11:03  rse

	* lib_l2/: TODO, l2_test.c: fix old prefix problem, but find new
	one :-(

2001-11-08 10:53  rse

	* lib_l2/: .configure, Makefile.in, autogen.sh, devtool,
	devtool.conf, devtool.func, l2_version.c: switch to devtool stuff
	(taken over from OSSP SA)

2001-11-08 10:33  rse

	* lib_l2/l2_spec_scan.l: more polishing

2001-11-08 10:28  rse

	* lib_l2/: l2_spec_parse.y, l2_spec_scan.l: code cleanups and
	documentation

2001-11-08 10:02  rse

	* lib_l2/l2_ch_syslog.c: fix big security hole

2001-11-08 09:32  thl

	* lmtp2nntp.c: adapt correct IPv6 syntax used by updated sa

2001-11-07 18:01  rse

	* lib_l2/l2_spec_parse.y: more cleanups

2001-11-07 17:43  rse

	* lib_l2/l2_spec.c: reduce includes

2001-11-07 17:35  rse

	* lib_l2/l2_spec.c: cleanup and documentation

2001-11-07 17:30  rse

	* lib_l2/l2_spec.h: cleanup and document

2001-11-07 17:29  rse

	* lib_l2/l2_spec_scan.l: fix warning

2001-11-07 17:25  rse

	* lib_l2/TODO: remember issue

2001-11-07 17:21  rse

	* autogen.sh: fix autogen stuff for SA in lmtp2nntp

2001-11-07 17:18  rse

	* lib_l2/Makefile.in: ok, this was just for easier developing the
	parser

2001-11-07 17:17  rse

	* lib_l2/: .cvsignore, Makefile.in, TODO, l2.h.in, l2_spec.c,
	l2_spec.h, l2_spec_parse.y, l2_spec_scan.l, l2_test.c: HEADS UP,
	guys:
	
	Here comes the first cut for the long-awaited channel tree
	specification parser and channel tree builder. This certainly makes
	L2 finally _THE_ killer library in the logging field. Woohooo...
	and the crowd goes wild!
	
	It allows one to build an arbitrary complex logging channel tree
	out of a single textual specification. An example follows:
	
	    noop -> {
		prefix(prefix="[%d-%m-%Y/%H:%M:%S] %L test[%P]: ",
	timezone="local")
		-> filter(regex="hecking", negate="0")
		   -> buffer(size="800")
		      -> file(path="l2_test.log",append="1",perm="420");
		error: syslog(ident="L2-Test", facility="user",
			      remotehost="en1", logpid="1",
	target="remote");
		panic: smtp(rcpt="rse@engelschall.com", host="en1",
	port="25"
	    }
	
	This allows one to log nice timestamp-prefixed messages containing
	the word "hecking" to a buffered file. Additionally if the message
	has a level higher or equal to "error" it also logs it remotely via
	UDP to the syslogd on en1. And additionally if the message is a
	panic message, it is also sent out as an Email via SMTP to the MTA
	on en1.
	
	Ever thought a C library has to be dull and simple? ;)
	
	PS: This stuff certainly needs more polishing and cleanup and also 
	   a few things I'll enhance in the future (for instance to remove
	the	restriction that parameter values have to be in quotation
	marks, etc.).

2001-11-07 17:04  rse

	* lib_l2/l2_channel.c: do not re-init related links, because the
	parser else has no chance

2001-11-07 16:17  thl

	* THANKS: thank you

2001-11-07 15:22  rse

	* lib_l2/aclocal.m4: remove -ggdb3, because it causes trouble
	nowadays

2001-11-07 14:47  thl

	* INSTALL: LMTP2NNTP_MAILER_MAX was renamed to
	LMTP2NNTP_MAILER_SIZE

2001-11-07 14:05  rse

	* lib_l2/: l2.h.in, l2_ch_buffer.c, l2_ch_fd.c, l2_ch_file.c,
	l2_ch_filter.c, l2_ch_irc.c, l2_ch_pipe.c, l2_ch_prefix.c,
	l2_ch_smtp.c, l2_ch_socket.c, l2_ch_syslog.c, l2_test.c,
	l2_ut_param.c: Hell, I've seldom seen that it is needed to prepare
	and adjust such a lot of subtle details of existing code in order
	to make a new feature implementable in a straight-forward way.
	Anyway, here comes one more preparation change for the forthcoming
	channel tree specification parser:
	
	- change l2_util_setparam() to take an l2_env_t parameter   which
	allows the function to report better error messages.
	
	- completely rewrite l2_util_setparam() to support calls      
	l2_channel_configure(ch, "n1=v1,n2=v2,n3=v3")	and/or	    
	l2_channel_configure(ch, "n1=%x,n2=%x,n3=%x", v1, v2, v3)   instead
	of	 l2_channel_configure(ch, "n1,n2,n3", v1, v2, v3)
	
	  This is both a step forward to make the interface of
	  l2_channel_configure() more flexible (because one now can
	directly
	  inline values instead of having them to be passed explicitly) and
	  allows the spec parser not having to know the type (integer,
	floating
	  point or string) of a parameter (which is important if one wants
	the
	  parser to be independent of the implementing channel handlers).

2001-11-07 12:37  rse

	* lib_l2/: l2.h.in, l2_ch_buffer.c, l2_ch_fd.c, l2_ch_file.c,
	l2_ch_filter.c, l2_ch_irc.c, l2_ch_noop.c, l2_ch_null.c,
	l2_ch_pipe.c, l2_ch_prefix.c, l2_ch_smtp.c, l2_ch_socket.c,
	l2_ch_syslog.c, l2_channel.c, l2_env.c, l2_p.h, l2_test.c: More
	preparations for forthcoming channel tree specification parser
	(especially to allow the parser to determine the handler structure
	from a handler name without introducing another and this way
	redundant sub-API):
	
	- add "char *name" to l2_handler_t in order to tag each   handler
	structure with the corresponding channel name
	
	- add l2_env_handler() function to add handler to   l2_env_t
	objects. All l2_handler_xxxx are automatically	 pre-configured
	there after l2_env_create().
	
	- change l2_channel_create() to take a "const char *name"  
	(handler name) instead of the "l2_handler_t *h" (handler   pointer)
	to make the stuff consistent and more clear.
	
	- adjust l2_test.c to reflect the changes.

2001-11-07 10:28  ms

	* lib_l2/TODO: Good group lunchtime idea.

2001-11-06 16:02  rse

	* lib_l2/: l2.h.in, l2_channel.c, l2_test.c: Change semantics of
	sibling linkage operations in order to fulfill the requirements in
	the forthcoming channel tree specification parser.

2001-11-05 21:39  rse

	* lib_l2/: Makefile.in, l2.h.in, l2_ch_noop.c, l2_ch_nop.c,
	l2_test.c: Seems like my long years of programming in assembly
	language still have an impact on my thinking. Change "nop"
	(assembly mnemonic) to "noop" (english abbreviation) in the name of
	our no-operation channel. Thanks to Michael for catching this.

2001-11-05 12:02  rse

	* lib_l2/: acconfig.h, configure.ac: fix Autoconf stuff after
	recent SA changes

2001-11-04 15:11  rse

	* lib_l2/l2_ch_buffer.c: be pedantic about syntax in order to be
	really portable

2001-11-04 15:08  rse

	* lib_l2/: Makefile.in, l2.h.in, l2_ch_nop.c, l2_ch_null.c,
	l2_test.c: Simplify "null" (discard) output channel to minimum
	implementation and provide an additional "nop" (no-operation)
	filter channel for typical use as the root channel in a channel
	tree.

2001-11-04 14:58  rse

	* lib_l2/TODO: remove now solved issues

2001-11-04 14:55  rse

	* lib_l2/: l2_channel.c, l2_env.c, l2_p.h: code cleanups

2001-11-04 14:46  rse

	* lib_l2/l2_p.h: remove no longer used definition

2001-11-04 14:45  rse

	* lib_l2/: l2_p.h, l2_ut_format.c, l2_ut_format.h: Cleanup
	formatting stuff by making stand-alone.

2001-11-04 14:21  rse

	* lib_l2/: Makefile.in, TODO, l2.h.in, l2_ch_filter.c,
	l2_channel.c, l2_env.c, l2_p.h, l2_stream.c, l2_test.c:
	Channel-Only Revamping Step 2: - moved code of l2_stream.c into
	(new) l2_env.c and l2_channel.c - created new l2_env_t and
	l2_env_xxx() - changed l2_xx_create() functions to also return
	l2_result_t - moved error handling into l2_env_t - replaced
	l2_channel_stack() with two new and more flexible  
	l2_channel_link() and l2_channel_unlink() functions - rewritten
	test stuff in l2_test.c to use new structure - added new
	l2_channel_env() function for retriving l2_env_t
	
	Puhhh....

2001-11-03 23:51  rse

	* lib_l2/: l2.h.in, l2_ch_buffer.c, l2_ch_filter.c, l2_ch_prefix.c,
	l2_channel.c, l2_p.h, l2_stream.c, l2_test.c: Channel-Only
	Revamping Step 1: allow multiple downstream channels in order to
	approach the later tree-like channel-only structure.

2001-11-03 21:49  rse

	* lib_l2/: l2_ch_socket.c, l2_test.c: - change protocol parameter
	from "IPPROTO_XXX" to just "xxx" - add support for numerical and
	textual ports - add UDP support - remove unused iSocket variable -
	fix massive memory leaks on channel destruction - generally
	simplify implementation - cleanup coding style

2001-11-02 19:42  ms

	* lib_l2/: l2_ch_socket.c, l2_test.c: Partially rewrote the socket
	channel to use the OSSP socket abstraction library. Channel still
	needs UDP configuration and writing logic.

2001-10-31 22:27  rse

	* lib_l2/l2_epreuve.c: remove code obsoleted by l2_test.c

2001-10-31 22:26  rse

	* lib_l2/: l2_ut_sa.c, l2_ut_sa.h: update to latest OSSP SA

2001-10-31 21:51  rse

	* lib_sa/sa.pod: a little bit of more documemtation

2001-10-31 21:42  rse

	* lib_sa/sa.c: Make sure we import only supported addresses on
	sa_addr_s2a().

2001-10-31 21:27  rse

	* lib_sa/sa.pod: fix result code list to reflect recend changes

2001-10-31 21:16  rse

	* lib_sa/sa_test.c: remember what we want to test

2001-10-31 21:09  rse

	* lib_sa/sa_test.c: cleanup formatting

2001-10-31 21:07  rse

	* lib_sa/TODO: move two things from TODO to CANDO and describe in
	detail

2001-10-31 20:58  rse

	* lib_sa/devtool.conf: reverse order because Autoconf already needs
	libtool.m4

2001-10-31 20:58  rse

	* lib_sa/configure.ac: add expanded name

2001-10-31 20:52  rse

	* lib_sa/TODO: now provided by sa_option()

2001-10-31 20:52  rse

	* lib_sa/Makefile.in: provide uninstall target

2001-10-31 20:28  rse

	* lib_sa/: sa_test.c, ts.c, ts.h: Rename test suite library name
	spaces in order to get rid of problems under Sun Solaris 2.x.

2001-10-31 17:47  ms

	* lib_l2/: configure.ac, l2_ch_buffer.c, l2_ut_level.c: Bug fixes,
	correction of sys/type.h inclusion, rid of warning errors.

2001-10-31 14:11  rse

	* lib_sa/TODO: remember the issue now that we did our best

2001-10-31 13:41  rse

	* lib_sa/: sa.c, sa.h, sa.pod: - provide additional SA_ERR_IMP
	result code for indicating that   an implementation part is not
	available on the current platform.
	
	- provide new sa_option() function for setting various	 socket
	options.
	
	- implement SA_OPTION_NAGLE (for enabling/disabling Nagle's
	Algorithm)   and SA_OPTION_NONBLOCK (for enabling/disabling
	non-blocking I/O mode).

2001-10-31 12:45  rse

	* lib_sa/sa.c: Improve performance by only flushing the output
	buffer of we really read from the socket. If we fulfill the request
	with data from the user-space buffer we now no longer force a flush
	of the output buffer.

2001-10-31 10:46  rse

	* lib_sa/TODO: remember issue here, too.

2001-10-31 09:24  thl

	* 00TODO: feature request: post w/o stat

2001-10-31 09:08  thl

	* 00TODO: need a plain english description

2001-10-30 19:56  ms

	* lib_l2/l2_ch_pipe.c: Cleanup the signal handler to avoid compiler
	warnings on some platforms.

2001-10-30 19:55  ms

	* lib_l2/l2_ch_buffer.c: Fixed implicit inclusion of sys/time.h.
	Now it is included explicitly, and solves a linux OS preprocessor
	problem found by Lawrence "Larry" Greenfield <leg+@andrew.cmu.edu>.

2001-10-30 09:12  thl

	* lib_l2/l2_ch_buffer.c: external feedback. I don't think
	hardcoding the include would be correct solution

2001-10-26 13:02  rse

	* lib_l2/l2_ch_buffer.c: get rid of compile warnings by moving code

2001-10-26 12:59  rse

	* lib_l2/: l2_ut_sa.ac, l2_ut_sa.c: upgrade to latest and greatest
	OSSP SA

2001-10-26 12:57  rse

	* lib_sa/TODO: errr.. I meant blocking, not buffering

2001-10-26 12:54  rse

	* lib_l2/TODO: remember ideas

2001-10-24 15:42  rse

	* lib_sa/devtool.func: get rid of (in this context) useless
	information

2001-10-24 15:40  rse

	* lib_sa/devtool.conf: Ops, this was just for debugging

2001-10-24 15:40  rse

	* lib_sa/: Makefile.in, devtool.conf: move stuff from Makefile.in
	to devtool.conf, too.

2001-10-24 15:38  rse

	* lib_sa/: .configure, devtool.conf: move also .configure stuff to
	new devtool.conf

2001-10-24 15:37  rse

	* lib_sa/devtool: pass parameters

2001-10-24 15:36  rse

	* lib_sa/: autogen.sh, devtool, devtool.conf, devtool.func: Replace
	old autogen.sh with first cut for a "devtool" based approach where
	we don't have to repeat code in such a redundant way. The "devtool"
	and "devtool.func" files will be moved to their own project soon
	and only "devtool.conf" will remain inside each package.

2001-10-24 15:34  rse

	* lib_sa/acconfig.h: fix define

2001-10-24 15:04  ms

	* lib_l2/l2_ut_sa.ac: Mirror improvement to external sa library
	source sa.ac.

2001-10-24 14:24  rse

	* lib_sa/TODO: remember multiple return issue on resolving

2001-10-24 14:24  rse

	* lib_sa/sa.pod: remember RFCs

2001-10-24 14:17  rse

	* lib_sa/sa.ac: make sure some platforms find their IPv6 library

2001-10-24 14:11  rse

	* lib_sa/sa.c: Add support for ACLs with "IPv4-mapped IPv6
	addresses" (e.g.  "::ffff:1.2.3.4") as defined by RFC 2373. This is
	important for security reasons because these are IPv6 addresses but
	which have to match incoming IPv4 addresses in ACLs.

2001-10-24 13:43  rse

	* lib_sa/sa.c: fix socket descriptor handling in case of connect
	errors

2001-10-24 13:23  rse

	* lib_sa/sa.c: Enhance/Bugfix IPv6 address handling.

2001-10-23 14:33  ms

	* lib_l2/TODO: New ideas and dreams about asynch, pipe, shared
	memory, and multithreading.

2001-10-23 14:02  rse

	* lib_sa/TODO: remember issue

2001-10-23 12:05  ms

	* lib_l2/: TODO, l2_ch_buffer.c: Implemented half-solution to
	occupied timer problem.

2001-10-22 18:32  ms

	* lib_l2/: l2_ch_buffer.c, l2_test.c: Completed implementation of
	timer. Beware of scope problem - I have only tested it, but not
	proven it correct.

2001-10-22 17:25  rse

	* lib_l2/TODO: remember a view ideas

2001-10-19 18:32  ms

	* lib_l2/TODO: Added Ralf's idea of l2_ch_proxy.

2001-10-19 15:06  rse

	* lib_l2/l2_ch_irc.c: First cut for an IRC output channel. This
	beast is able to send the message to the IRC channel, but the whole
	client/server communication is not quite correct because I don't
	know how to correctly deal with the server responses due to the
	fact that the IRC protocol (according to the RFC) is asynchronous
	and there can be replies but there have no to be replies. The
	effect is that currently we see:
	
	| *** l2_test (~rse@dev10.dev.de.cw.net) has joined channel #l2 |
	<l2_test> A program of user rse on host dev10.dev.de.cw.net logged
	at Fri, 19 | Oct 2001 15:01:27 CEST: | <l2_test> 0Checking
	localhost foo [12345/myparm] |
	<foo\x01bar><66:6f:6f:01:62:61:72><Zm9vAWJhcg==> | *** Signoff:
	l2_test (EOF From client)
	
	As you can see, the "EOF from client" is the problem. Currently it
	is caused by a sa_shutdown(), but I don't know how to program it.
	So, feel free to jump in and fix the communication of this channel.

2001-10-19 13:55  rse

	* lib_l2/l2_ch_smtp.c: fix memory leak

2001-10-15 16:55  thl

	* README, version.c: bump version for release

2001-10-15 16:38  thl

	* NEWS: tell NEWS about -r option

2001-10-15 16:32  thl

	* 00TODO: remember fine tuning

2001-10-15 16:22  thl

	* lmtp2nntp.c, lmtp2nntp.pod, test.sh: added -r restrictheaders
	option

2001-10-15 15:14  thl

	* lmtp2nntp.c: trimmed STDSTRLEN. made nntp_(error|lastresp) output
	nicer

2001-10-15 15:05  thl

	* lmtp2nntp.c: some errors in option parsing reported obsolete
	option names

2001-10-15 14:48  thl

	* 00TODO, lmtp2nntp.c, nntp.c, nntp.h: Remember text from last NNTP
	error message and pass it back to LMTP

2001-10-15 13:32  thl

	* 00TODO: make sure almshouse does not get boring

2001-10-15 13:26  thl

	* lmtp2nntp.c: need to check the leftmost colon to support colons
	in Headervalue

2001-10-15 12:14  thl

	* NEWS: tell NEWS about -h option

2001-10-15 12:13  thl

	* lmtp2nntp.c, lmtp2nntp.pod, test.sh: Applied Ralf's "Approved:"
	header patch but in a more general form which allows any kind and
	any number of headers to be inserted.

2001-10-14 08:21  ms

	* lib_l2/TODO: Idea of action channel to conditionally run user
	code depending on L2 message stream content.

2001-10-13 15:45  rse

	* INSTALL: Enhance installation instructions by adding Postix
	details.

2001-10-12 16:48  ms

	* lib_l2/l2_sockmon.c: Intermediate committal of local socket code
	translation to libsa-type calls.

2001-10-12 16:46  ms

	* lib_l2/: configure.ac, l2_ch_buffer.c: Make usage of setitimer(2)
	dependent on if it exists on the target system.  Quick hack, future
	fix will replace lost functionality by issuing a call to alarm(3)
	instead.

2001-10-12 16:04  thl

	* Makefile.in: fix dependencies

2001-10-12 16:04  thl

	* README, version.c: bump version for release

2001-10-12 16:02  thl

	* test.sh: bugfix test suite

2001-10-12 15:51  rse

	* configure.ac, daemon.c: portability fixes for Solaris 2.8

2001-10-12 15:51  rse

	* lib_l2/l2_ch_syslog.c: portability fix for Solaris 2.8

2001-10-12 15:24  thl

	* lmtp2nntp.c: prevent cleanup from cleaning up clean things

2001-10-12 15:23  thl

	* lmtp2nntp.c, lmtp2nntp.pod: added -V veryverbose (unbuffered
	logging) option

2001-10-12 14:52  rse

	* 00TODO: remember issues

2001-10-12 14:34  thl

	* 00TODO: remember some things in TODO

2001-10-12 14:26  thl

	* lmtp2nntp.c, lmtp2nntp.pod: documented -C childsmax option and -b
	path[:perms]

2001-10-12 14:17  rse

	* lib_l2/TODO: remember Thomas' issues

2001-10-12 14:13  rse

	* Makefile.in: Install into sbindir

2001-10-12 14:03  rse

	* lmtp2nntp.c: IPv6 now works

2001-10-12 12:25  rse

	* 00TODO, lmtp2nntp.c: Implement -C option (maximum number of
	childs).

2001-10-12 12:08  rse

	* 00TODO, lmtp2nntp.c: Improve -u option and -b (uid/mode on Unix
	Domain sockets).

2001-10-12 10:57  thl

	* lmtp2nntp.c, lmtp2nntp.pod: added -u uid option

2001-10-12 09:43  thl

	* lmtp2nntp.c, lmtp2nntp.pod: Sending a USR1 signal to the program
	will flush the logging buffer

2001-10-12 09:14  thl

	* lmtp2nntp.c: child must close listening socket

2001-10-12 09:03  thl

	* lmtp2nntp.c: removed fprintf(stderr, ...) past l2 initialization

2001-10-12 08:58  thl

	* lmtp2nntp.c: cleaned ACL logging, moved ACL fake initialization
	using fprintf before l2 initalization, changed "any-IP" to IPv4 ACL
	insertion, prepared for IPv6 fake ACL insertion (not working due to
	IPv6 syntax, possibly in sa)

2001-10-11 17:46  rse

	* lmtp2nntp.c: flush our work

2001-10-11 17:20  rse

	* lib_sa/sa.c: make prefixlen=0 a real wildcard

2001-10-11 17:12  rse

	* lib_sa/sa.c: - Fix Unix Domain socket handling in case of unbound
	remote side.
	
	- Simplified family detection in sa_addr_s2a() in order to
	correctly   support again the situation of unbound remote Unix
	Domain sockets.
	
	- Fixed sa_readln() return code semantics by passing through  
	sa_read() return value.

2001-10-11 16:36  rse

	* lib_sa/sa.c: fix two nasty bugs

2001-10-11 11:35  thl

	* INSTALL: prepare INSTALL for release

2001-10-11 11:28  thl

	* NEWS: prepare NEWS for release (assume version will be v1.1.0)

2001-10-11 10:02  thl

	* lib_l2/Makefile.in: make depend

2001-10-11 10:01  thl

	* lmtp2nntp.c: fixed typo in usage. undo separator for undo-ed l2

2001-10-11 10:00  thl

	* lib_l2/l2_ut_sa.h, lib_sa/sa.h: updated embedding support for new
	and renamed functions

2001-10-10 21:32  rse

	* lib_sa/sa.pod: more documemtation

2001-10-10 21:32  rse

	* lib_sa/: acconfig.h, sa.ac, sa.c: support for ssize_t fallback

2001-10-10 17:58  rse

	* lib_l2/: l2_ch_smtp.c, l2_ch_syslog.c, l2_ut_sa.c, l2_ut_sa.h:
	Upgrade to the latest and greatest OSSP SA.

2001-10-10 17:51  rse

	* lib_sa/: TODO, TODO: update TODO

2001-10-10 17:50  rse

	* lib_sa/sa_test.c: Create a real-life test suite for the socket
	address abstraction part.

2001-10-10 17:40  rse

	* lib_sa/sa.c: complain on 'unix:' (no path)

2001-10-10 17:11  rse

	* lib_sa/ts.c: fix texts

2001-10-10 17:01  rse

	* lib_sa/: Makefile.in, sa_test.c, ts.c, ts.h: Implemented a new
	sub-library OSSP TS (Test Suite) and use this new beast for the
	first cut of an OSSP SA test suite. The TS library produces nice
	test suite reports like this one (for a failed test suite):
	
	|  Test Suite: OSSP SA (Socket Abstraction Library) | 
	__________________________________________________________________
	| |  Test: socket address abstraction
	.............................. OK |  Test: socket abstraction
	.................................. FAILED |	   Ops, 1/1 checks
	failed! Detailed report follows: |	  Check: testerliX
	[sa_test.c:43] |	       Log: sorry [sa_test.c:44] | 
	__________________________________________________________________
	| |  Test Summary: 2 tests (1 ok, 1 failed), 5 checks (4 ok, 1
	failed) |  Test Suite: FAILED (Test Suite Failed)
	
	Or this one (for a successfull test suite):
	
	|  Test Suite: OSSP SA (Socket Abstraction Library) | 
	__________________________________________________________________
	| |  Test: socket address abstraction
	.............................. OK |  Test: socket abstraction
	...................................... OK | 
	__________________________________________________________________
	| |  Test Summary: 2 tests (2 ok, 0 failed), 5 checks (5 ok, 0
	failed) |  Test Suite: OK (Test Suite Successfully)

2001-10-10 11:21  rse

	* lib_sa/: TODO, sa.c, sa.h, sa.pod: Revert my idea of using an
	L2-style error handling also in SA, because this is not possible in
	a consistent way due to the multiple objects and the fact that we
	cannot remember anything without an object (in L2 an environment
	object will be introduced soon, so there is it is a different
	game). So we use a plain sa_error() which is now similar to
	strerror(3).

2001-10-10 11:05  rse

	* lib_sa/: TODO, sa.c: Woohoooo, fully revamp formatting stuff:
	
	- evolve sa_mvsnprintf() into an sa_mvxprintf() which	1. is
	output independent   2. support especially no-output mode (length
	determination only)   3. performs better by output plain text in
	largest possible chunks   4. does output operation only once in the
	loop (smaller code-size)
	
	- write a new sa_mvsnprintf() for buffer output based on
	sa_mvxprintf()
	
	- change sa_writef() from brain-dead and problematic "first format 
	 anything into temporary buffer following by a single write" to the
	  expected "format on-the-fly into the SA_BUFFER_WRITE and if not
	enough	 space exists, write directly to the socket".

2001-10-10 09:57  rse

	* lib_sa/TODO: cleanup

2001-10-10 09:45  rse

	* lib_sa/sa.pod: reflect recent changes

2001-10-10 09:42  rse

	* lib_sa/: TODO, sa.c, sa.h, sa.pod: Change
	
	   sa_rc_t sa_buffers	   (sa_t *sa, size_t rsize, size_t wsize);
	
	to    sa_rc_t sa_buffer       (sa_t *sa, sa_buffer_t  id, size_t
	size);
	
	in order to make this API function more flexible.

2001-10-09 22:19  rse

	* lib_sa/: sa.c, sa.h: [still untested stuff]
	
	- Remove SA_TIMEOUT_RECV and SA_TIMEOUT_SEND, because  
	SA_TIMEOUT_READ and SA_TIMEOUT_WRITE are sufficient because you
	cannot	 use datagram and stream communication at the same time
	anyway. So   there is no need to distinguish between the two
	communications in   timeouts. Additionally this enables the next
	point from being able to   be implemented at all.
	
	- Implement the read/write timeouts alternatively in kernel-space  
	through the newer SO_RCVTIMEO and SO_SNDTIMEO socket options. This 
	 means a select(2) system call less for each read/write operation.

2001-10-09 22:12  thl

	* lmtp2nntp.pod: document todays changes including option revamping

2001-10-09 22:11  thl

	* lmtp2nntp.c: cosmetics

2001-10-09 21:58  rse

	* lib_sa/sa.c: According to STEVENS' "Unix Network Programming,
	Vol.1" (p.412) we have to close the socket if a connection timeout
	occured to make sure that the TCP three-way handshake does not
	proceed further.

2001-10-09 20:55  rse

	* lib_sa/TODO: remember error issue

2001-10-09 20:55  rse

	* lib_sa/: sa.c, sa.h: - error text cleanup - allow "sa_t *" to be
	NULL

2001-10-09 20:36  rse

	* lib_sa/: sa.c, sa.c, sa.c: cosmetics only.

2001-10-09 20:34  rse

	* lib_sa/: TODO, sa.c, sa.h: Change return code semantic for
	timeouts from "rv == SA_ERR_SYS && errno == ETIMEDOUT" to a
	dedicated timeout return value "rv == SA_ERR_TMT".

2001-10-09 20:27  rse

	* lib_sa/TODO: update TODO

2001-10-09 20:26  rse

	* lib_sa/: TODO, sa.c: support relative paths for 'unix:path'

2001-10-09 17:34  rse

	* lib_l2/: l2.h.in, l2_ch_prefix.c, l2_ut_level.c: Veto: back-out
	latest level-related changes.  Sorry, Michael, the padding has to
	be done in l2_ch_prefix.c only.

2001-10-09 17:22  rse

	* lmtp2nntp.c: Implement option -a: Access Control List.

2001-10-09 16:58  rse

	* lib_sa/sa.c: bugfix sa_addr_match()

2001-10-09 16:05  rse

	* lib_sa/: sa.c, sa.h: Support prefixlen == 0 for an "always
	matches" and instead use prefixlen == -1 for "full match". Credits
	to Thomas ;)

2001-10-09 16:03  ms

	* lib_l2/: l2.h.in, l2_ch_prefix.c, l2_ut_level.c: Corrected prefix
	functionality, because channel write operations do not take level
	masks as input.

2001-10-09 15:19  rse

	* lib_sa/: sa.c, sa.h, sa.pod: Implement new sa_addr_match()
	function which can be used for Access Control List (ACL)
	implementations. It is capable of matching Unix Domain and Internet
	Addresses (both IPv4 and IPv6) with prefix lengths.

2001-10-09 14:08  rse

	* lmtp2nntp.c, nntp.c, nntp.h: - Change NNTP library to fully use
	OSSP SA.  - Removed timeout handling from NNTP library and use SA
	timeouts instead.

2001-10-09 12:34  rse

	* lmtp2nntp.c, test.sh: post-bugfixes to reflect recent changes

2001-10-09 12:24  rse

	* lmtp2nntp.c: bugfix syntax

2001-10-09 12:19  rse

	* INSTALL, NEWS, lmtp2nntp.c, lmtp2nntp.pod: Revamp command line
	options and their semantics (all daemons uppercase now, all address
	options [a-d], etc):
	
	o -D new option o -k -> -K o -p -> -P o -b -> -c o -a -> -b plus -
	o -a new option o -d -> -o o -h -> -d o -t name=value,...  o -w
	removed

2001-10-09 11:08  thl

	* lmtp2nntp.c: worked out FIXMEs, all were related to free/ destroy
	memory leaks

2001-10-09 10:24  thl

	* lmtp2nntp.c: fixed whitespaces/ indents

2001-10-09 10:22  thl

	* lmtp2nntp.c, lmtp2nntp.pod: added -a altio, -p pidfile and -k
	kill options

2001-10-08 17:17  rse

	* lib_sa/TODO: remember TODOs

2001-10-08 17:15  rse

	* lib_sa/sa.c: support IPv6 addresses

2001-10-08 17:08  rse

	* lib_sa/sa_test.c: log line number

2001-10-08 17:01  rse

	* lib_sa/: Makefile.in, configure.ac, sa.ac, sa.h, sa.h.in: Revert
	my idea of fixing the socklen_t stuff with a fallback substitution
	in sa.h, because this is nasty for the inclusion in L2. Do it with
	a less-heavy #define on-the-fly in sa.h

2001-10-08 16:51  rse

	* lib_sa/.configure: add convinience .configure script

2001-10-08 16:50  rse

	* lib_sa/Makefile.in: fix Makefile

2001-10-08 16:47  rse

	* lib_sa/: .cvsignore, acconfig.h, configure.ac, sa.ac, sa.h,
	sa.h.in: make SA more portable (now also works under Tru64 5.0)

2001-10-08 16:30  thl

	* lmtp2nntp.c, lmtp2nntp.pod: -a option now supports both unix:/
	and inet:// URLs. It tries to guess missing prefixes.

2001-10-08 15:50  rse

	* lmtp2nntp.pod: fix manpage

2001-10-08 15:40  rse

	* lmtp.c, lmtp.h, lmtp2nntp.c: Change LMTP library from using a
	file-descriptor (int) to using a opaque handle (void *) and use
	this new feature to support STDIN/STDOUT and SA.

2001-10-08 15:37  rse

	* lib_sa/sa.c: clone parameters on sa_accept()

2001-10-08 15:21  thl

	* lmtp2nntp.c: commit for getting rid of fd merger

2001-10-08 13:43  rse

	* lib_sa/: Makefile.in, VERSION: add VERSION file

2001-10-08 13:38  rse

	* lib_sa/: .cvsignore, configure.ac: activate sa-config

2001-10-08 12:28  thl

	* lmtp2nntp.c, test.sh: defeated zombies

2001-10-08 12:03  rse

	* lib_sa/: Makefile.in, README, aclocal.m4, configure.ac,
	sa-config.in, sa.ac, sa.c, sa.h, sa.pod, sa_test.c: Various
	cleanups

2001-10-07 17:21  rse

	* lib_sa/: TODO, sa.c, sa.h: Implement (still fully untested!)
	system call overriding support through a new function sa_syscall().
	Anybody here who finds predestinated to test this out in depth?

2001-10-07 16:17  rse

	* lib_sa/TODO: update TODO

2001-10-07 16:16  rse

	* lib_sa/: sa.c, sa.h: Provide distinct timeouts, i.e., an own
	timeout for each individual I/O function. This is especially useful
	because an accept(2) timeout is usually something totally different
	than a connect(2) timeout.

2001-10-06 18:01  rse

	* lib_sa/: sa.c, sa.h: Add sa_error() function.

2001-10-06 16:35  rse

	* lib_l2/l2_ch_syslog.c: Use save l2_util_sprintf instead of unsafe
	sprintf and correctly set variable "n" (number of characters).

2001-10-06 16:33  rse

	* lib_l2/: configure.ac, l2_ch_smtp.c, l2_ch_syslog.c, l2_p.h,
	l2_ut_sa.ac, l2_ut_sa.c, l2_ut_sa.h: Upgrade to latest OSSP SA
	snapshot.  This time by using SA_PREFIX to hide SA inside the
	l2_util_ namespace prefix.

2001-10-06 16:30  rse

	* lib_l2/: l2_ut_pcre.c, l2_ut_pcre.h: Upgrade to latest sripped
	down version of PCRE 3.5.  This time we use the new PCRE_PREFIX
	feature to hide PCRE inside the l2_util_ namespace prefix.

2001-10-06 13:05  rse

	* lib_sa/TODO: remember writev issue

2001-10-06 13:05  rse

	* lib_sa/sa.h: reflect recent changes

2001-10-06 13:02  rse

	* lib_sa/TODO: remember timeout issue

2001-10-05 23:37  rse

	* lib_sa/TODO: remember test suite issue

2001-10-05 23:37  rse

	* lib_sa/TODO: update TODO

2001-10-05 23:11  rse

	* lib_sa/: sa.h, sa.pod: more documentation

2001-10-05 22:52  rse

	* lib_sa/: TODO, sa.c, sa.h, sa.pod, sa_test.c: Woohhhooo: Second
	major revamp of Socket Abstraction (SA) library.  This time is gets
	really close to a 100% clean and polished library.

2001-10-05 16:25  ms

	* lib_l2/: l2_ch_buffer.c, l2_test.c: Changed timer from VIRTUAL to
	REAL. Completed flush alarm mechanism which seems to work, probably
	because we are not forking.

2001-10-05 15:19  rse

	* lib_sa/sa.c: fix sa_connect() if no timeout is set

2001-10-05 15:18  rse

	* lib_sa/TODO: no timeout is already implemented

2001-10-05 15:17  rse

	* lib_sa/: TODO, sa.c: Support fully unbuffered I/O and make this
	the default.

2001-10-05 14:56  rse

	* lib_sa/sa_test.c: simplify test

2001-10-05 13:55  rse

	* lib_sa/: TODO, sa.pod: remember one more thing

2001-10-05 13:49  rse

	* lib_sa/: sa.h, sa.pod: update to reflect latest changes

2001-10-05 13:48  rse

	* lib_sa/: sa.ac, sa.c: use snprintf(3) if exists

2001-10-05 13:40  rse

	* lib_sa/: Makefile.in, TODO, sa.c, sa.h, sa_test.c: Major revamp
	of SA library in order to support Unix Domain sockets.	-
	"{tcp,udp}://host:port" addresses are now "inet://host:port"
	addresses - "unix:/path/to/socket" is the address for Unix Domain
	sockets - sa_type() was introduced which sets socket type to stream
	or datagram

2001-10-05 12:40  ms

	* lib_l2/: TODO, l2_ch_buffer.c, l2_test.c: Added untested code to
	implement alarm exceptions in the buffer channel. The buffer will
	auto-flush after a user specified timeout if it is even possible to
	do this with a c-style exception handler.

2001-10-04 18:07  thl

	* Makefile.in, daemon.c, lmtp2nntp.c, lmtp2nntp.pod: flush daily
	work. First working daemon. Awful cleanup.

2001-10-04 16:58  ms

	* lib_l2/: Makefile.in, l2_ch_irc.c, l2_test.c: Birth of IRC
	channel.

2001-10-04 15:35  ms

	* lib_l2/: l2_ch_socket.c, l2_test.c: More socket channel
	configuration parameter adjustments.

2001-10-04 14:53  ms

	* lib_l2/: l2_ch_pipe.c, l2_test.c: Pipe and socket channel
	configuration-time parameter improvements.

2001-10-04 14:34  ms

	* lib_l2/l2_ch_pipe.c: Bug fixes and new child process blocking
	with oneshot mode.

2001-10-04 13:25  rse

	* lib_sa/: TODO, sa.c, sa.h: Change sa_addr_t API: - there is now a
	constructor and destructor - renamed sa_x2x functions to
	sa_addr_x2x

2001-10-04 13:04  rse

	* lib_sa/sa_test.c: reduce warnings

2001-10-04 13:00  rse

	* daemon.c, daemon.h: make it easier for our situation

2001-10-04 12:57  rse

	* daemon.c, daemon.h: add daemon support code

2001-10-04 11:51  thl

	* configure.ac: SA now using libtool

2001-10-03 21:40  rse

	* lib_sa/: sa.c, sa.h: - Use an own minimal snprintf(3) - Rename
	sa_printf to sa_writef

2001-10-02 20:47  rse

	* lib_sa/sa.pod: remember SA history

2001-10-02 20:41  rse

	* lib_sa/sa.pod: do not forget sa_rc_t and sa_getfd()

2001-10-02 20:37  rse

	* lib_sa/: .cvsignore, Makefile.in, autogen.sh, configure.ac,
	sa_test.c, test.c: Upgrade ad-hoc build environment to standard
	OSSP build environment.

2001-10-02 17:51  ms

	* lib_l2/l2_ch_pipe.c: Added new logic to accommodate one-shot
	behavior, and some changes to handle a child process that writes
	when it should only read.

2001-10-02 16:34  thl

	* lmtp2nntp.c: introduced new OSSP SA library; removed connect_nonb
	obsoleted by sa library;

2001-10-02 16:12  thl

	* lib_sa/sa.h: provide embedding support

2001-10-02 16:11  thl

	* lib_l2/: l2_p.h, l2_ut_sa.c, l2_ut_sa.h: - upgrade to latest SA -
	use SA_PREFIX feature for library embedding without conflicts

2001-10-02 15:36  rse

	* Makefile.in, autogen.sh, configure.ac, sa.c, sa.h: use the
	brand-new OSSP SA library (first cut)

2001-10-02 15:36  rse

	* lib_sa/.cvsignore: ignore files

2001-10-02 15:27  rse

	* lib_sa/: Makefile.in, README, aclocal.m4, autogen.sh,
	configure.ac, sa.ac, sa.c, TODO, sa.h, sa.pod, test.c: Initial
	revision

2001-10-02 15:27  rse

	* lib_sa/: Makefile.in, README, aclocal.m4, autogen.sh,
	configure.ac, sa.ac, sa.c, TODO, sa.h, sa.pod, test.c: Import first
	cut of OSSP SA

2001-10-01 18:26  ms

	* lib_l2/l2_ch_pipe.c: Fixed incorrect comments.

2001-10-01 18:14  ms

	* lib_l2/l2_ch_pipe.c: Added graphical commentary describing new
	runtime reliability options.

2001-09-28 16:30  ms

	* lib_l2/TODO: Remember adding options to the filter channel.

2001-09-28 16:28  ms

	* lib_l2/: l2_ch_filter.c, l2_test.c: Fixed bug of incorrectly
	checking the result of a call to pcre_study(), and later testing
	the return of pcre_exec(). Added code to test the filter channel.

2001-09-27 15:56  rse

	* lib_l2/l2_channel.c: document channel lifecycle

2001-09-27 09:16  rse

	* lib_l2/l2.h.in: add a convinient level mask which includes all
	levels

2001-09-26 20:16  rse

	* lib_l2/TODO: brain dump to remember my L2 thoughts of today

2001-09-26 16:31  rse

	* lib_l2/l2_ch_pipe.c: Cleanup: always use the channel API and 1:1
	pass through errors.

2001-09-26 16:29  rse

	* lib_l2/l2_ch_pipe.c: bugfix pipe channel

2001-09-26 14:10  ms

	* lib_l2/l2_ch_pipe.c: Fixed bugs, adjusted scope of command parse,
	corrected NULL assignments and comparisons, removed inconsistent
	command check, added fail-safe exit code.

2001-09-26 11:13  ms

	* lib_l2/l2_ch_pipe.c: Removed magic number, corrected comment.

2001-09-26 11:00  ms

	* lib_l2/l2_sockmon.c: More cleanup.

2001-09-26 10:55  ms

	* lib_l2/: l2_ch_socket.c, l2_sockmon.c: Cleanup before conversion
	to use sa_family socket calls.

2001-09-25 17:22  ms

	* lib_l2/: l2.h.in, l2_ch_pipe.c, l2_p.h: Got rid of compile
	warnings and made minor TRACE modifications. Sorry, but there is no
	way to use a va_list in a TRACE call. TRACE is a macro that expands
	anywhere in source, so a va_list declaraction will sometimes
	violate ANSI c decl specs.

2001-09-25 11:35  rse

	* lib_l2/l2_ch_filter.c: Blindly implement the regex-based filter
	channel.  This is still not tested.

2001-09-24 17:36  rse

	* lib_l2/: l2_channel.c, l2_p.h: Provide convinient channel error
	handling functions.

2001-09-24 16:37  ms

	* lib_l2/l2_p.h: Debugged TRACE.

2001-09-24 16:36  ms

	* lib_l2/l2_ch_pipe.c: Debugged TRACE and added debug test code.

2001-09-21 19:32  ms

	* lib_l2/l2_ch_pipe.c: Yet another signal handler redesign and more
	reliability.

2001-09-21 19:30  ms

	* lib_l2/l2_p.h: Added more homebrewed TRACE elements.

2001-09-21 19:30  ms

	* lib_l2/l2_test.c: Followup this suspicion later to remove
	unnecessary junk.

2001-09-21 19:29  ms

	* lib_l2/TODO: Remember chaining the signals if we get that far.

2001-09-20 18:26  ms

	* lib_l2/: TODO, l2.pod, l2_ch_pipe.c: Debugging of channel's
	behavior logic when facing problematic children.

2001-09-19 18:39  ms

	* lib_l2/: l2_ch_pipe.c, l2_test.c: New implementation of signal
	handler and process control logic, improved reliability, some
	redesign, and test logic.

2001-09-18 16:41  ms

	* lib_l2/l2_test.c: Fixed missing ifdef WITH_SOCKET.

2001-09-18 16:38  ms

	* lib_l2/: TODO, l2_ch_pipe.c, l2_test.c: Pipe channel handler
	redesign, bugfixes, and cleanup.

2001-09-15 18:03  rse

	* lib_l2/: .cvsignore, Makefile.in, l2_ut_pcre.c, l2_ut_pcre.h:
	Reduce to the new generated version of PCRE 3.5. This version is
	just half the size, because all comments and unneccessary
	whitespaces were stripped.

2001-09-14 21:22  rse

	* lib_l2/l2.pod: document syslog channel

2001-09-14 21:11  rse

	* lib_l2/: l2_ch_syslog.c, l2_test.c: Revamp Syslog output channel.
	It now fully supports local _AND_ remote logging. The local variant
	is still based on syslog(3), the remote variant is based on manual
	network connections with the syslog protocol as defined in RFC3164.

2001-09-14 21:06  rse

	* lib_l2/: configure.ac, l2_ut_sa.ac, l2_ut_sa.c, l2_ut_sa.h:
	Upgrade to the latest version of the Socket Abstraction (SA)
	library which is now maintained externally and will be comitted
	into its own module soon. This upgrade fixes the UDP protocol
	handling.

2001-09-14 20:49  rse

	* lib_l2/l2_test.c: wrap things with WITH_XXX

2001-09-14 17:40  ms

	* lib_l2/: l2_ch_pipe.c, l2_test.c: Added the Thomas signal handler
	to catch SIGCHLD and SIGPIPE, pipe handler is now a filter not an
	output, new logic to test code, bugfixes.

2001-09-14 15:27  rse

	* lib_l2/TODO: SMTP channel is now complete

2001-09-14 15:26  rse

	* lib_l2/l2.pod: provide documentation for SMTP channel

2001-09-14 14:55  rse

	* lib_l2/l2_ch_smtp.c: Finish and enhance the SMTP channel
	implementation.  - use 4KB buffers, because a single SMTP line is  
	already allowed to be up to 1KB in size.  - use the cleanup macros
	to get rid of the deep if-cascade.  - add support for correct
	RFC2821/RFC2822 dot escaping - add RFC2822-compliant Date header -
	reduce User-Agent header to just "L2/V.R.L"

2001-09-14 13:13  ms

	* lib_l2/l2_ch_pipe.c: First cut at pipe channel handler. Lacks
	logic to guarantee reliability.

2001-09-14 12:22  rse

	* lib_l2/l2_ut_sa.c: Allow the result parameter to be NULL if the
	caller wants to ignore the number written/read bytes.

2001-09-14 12:12  rse

	* lib_l2/l2_p.h: provide cleanup macros

2001-09-14 09:44  rse

	* lib_l2/TODO: update TODO

2001-09-14 09:44  rse

	* lib_l2/configure.ac: we require Autoconf 2.52

2001-09-14 09:41  rse

	* lib_l2/l2_ch_buffer.c: 1. make level flushing optional by
	introducing a "levelflush" parameter	which by default is off to
	make sure maximum throughput is achieved.  2. bugfix the write
	operation.

2001-09-13 22:27  rse

	* lib_l2/: l2_ut_sa.c, l2_ut_sa.h: implement sa_readfrom() and
	sa_writeto() functions

2001-09-13 22:13  rse

	* lib_l2/: l2_ut_sa.c, l2_ut_sa.h: Implement sa_getremote() and
	sa_getlocal()

2001-09-13 22:07  rse

	* lib_l2/: l2_ut_sa.c, l2_ut_sa.h: Implement
	sa_{bind,listen,accept}() to make the SA library also useful for
	server applications.

2001-09-13 21:21  rse

	* lib_l2/TODO: update TODO

2001-09-13 21:20  rse

	* lib_l2/: l2.h.in, l2_stream.c: For consistency reasons provide a
	l2_stream_flush() function which allows one to flush all channel
	(stacks) in one action.

2001-09-13 21:18  rse

	* lib_l2/: l2.h.in, l2_ch_socket.c, l2_p.h, l2_sockmon.c: use
	assert(3) instead of home-brewn stuff

2001-09-13 21:14  rse

	* lib_l2/autogen.sh: libtool 1.4.2 is the current version

2001-09-13 20:51  rse

	* .cvsignore, Makefile.in: Ops, lmtp2nntp's manual page should be
	in the Unix manual page section 8 (where system tools are located)
	instead of 1 (where user tools are located).

2001-09-13 20:40  rse

	* INSTALL: fix email address regex

2001-09-13 18:32  ms

	* lib_l2/l2.h.in: Added assertion macro for debugging purposes.

2001-09-13 18:19  ms

	* lib_l2/: aclocal.m4, l2_ch_socket.c, l2_sockmon.c, l2_test.c:
	Added debug infrastructure, assertions, fixed one bug.

2001-09-13 18:18  ms

	* lib_l2/l2_stream.c: Remove redundant runtime variable checks,
	added level variable check where it is needed most.

2001-09-13 16:44  thl

	* lib_l2/Makefile.in: remove l2.h on 'make distclean'

2001-09-13 16:24  thl

	* 00TODO, README, configure.ac, lmtp2nntp.c, version.c: even more
	polishing for release

2001-09-13 16:22  rse

	* lib_l2/: README, l2_version.c: bump for release

2001-09-13 16:12  rse

	* lib_str/: README, str_version.c: bump version for release

2001-09-13 16:12  rse

	* lib_str/configure.ac: update for release

2001-09-13 16:07  thl

	* lib_str/ChangeLog: update for release

2001-09-13 15:59  thl

	* Makefile.in: update also README on 'make new-version'

2001-09-13 15:57  thl

	* configure.ac, lib_l2/aclocal.m4, lib_l2/configure.ac,
	lib_str/aclocal.m4, lib_str/configure.ac: headline polishing

2001-09-13 15:45  thl

	* AUTHORS, INSTALL, Makefile.in, NEWS, README, THANKS, argz.html,
	lmtp.pod, lmtp2nntp.c, lmtp2nntp.pod, shpat_match.3: revamping and
	polishing documentation files for release

2001-09-13 14:57  thl

	* INSTALL: updated sendmail macros

2001-09-13 14:50  thl

	* test.sh: use a more unusual address

2001-09-13 14:50  thl

	* lib_l2/l2_channel.c: temporary bugfix

2001-09-13 14:35  ms

	* lib_l2/l2_stream.c: Backed out changes for lmtp2nntp release
	testing.

2001-09-13 14:21  thl

	* Makefile.in: revamped test/run.sh into test.sh

2001-09-13 14:20  thl

	* lmtp2nntp.c: portability bugfix for 64bit platforms

2001-09-13 14:19  thl

	* lib_l2/: configure.ac, l2_ch_socket.c, l2_ut_level.c, l2_ut_sa.c:
	portability fixes for solaris

2001-09-13 14:18  thl

	* test.sh: revamped test/run.sh into test.sh

2001-09-13 13:58  ms

	* lib_l2/l2_stream.c: Check that an incoming level argument is
	given, but only check arguments once - in l2_stream_vlog where it
	counts.

2001-09-13 10:54  thl

	* version.c: bump version for release

2001-09-13 10:51  thl

	* Makefile.in: ignore backup files

2001-09-13 10:47  thl

	* Makefile.in, lib_l2/Makefile.in, lib_str/Makefile.in: Fix
	dependency generation

2001-09-13 09:49  thl

	* version.c: bump version for release

2001-09-13 09:40  thl

	* .cvsignore: ignore ChangeLog

2001-09-13 09:39  thl

	* Makefile.in: distribution now includes test suite

2001-09-13 09:37  thl

	* Makefile.in: revamped test suite for public release

2001-09-13 09:35  thl

	* lmtp2nntp.c: implemented CU/CUS cleanup sequence for main();
	removed unneccessary command line option tracing which was already
	disabled in preprocessor for some time; New lmtp_gfs_ns graceful
	shutdown for ns structure removes a memory leak; removed trailing
	empty line in LHLO response;

2001-09-12 20:43  rse

	* lib_l2/TODO: remember a few things

2001-09-12 18:07  ms

	* lib_l2/l2_ch_buffer.c: Added new logic to buffer only until
	incoming message level changes.

2001-09-12 17:30  thl

	* version.c: bump version for release

2001-09-12 16:43  thl

	* lmtp2nntp.c, lib_l2/Makefile.in: adapted new L2 flushmask feature

2001-09-12 16:35  thl

	* .configure: return default to work without dmalloc

2001-09-12 16:35  thl

	* msg.c: fixed a memory leak

2001-09-12 16:34  thl

	* lmtp2nntp.c: level is now logged in Vplain text; better -m
	tracing now showing value and pattern to be compared;

2001-09-12 15:50  rse

	* lib_l2/: l2.h.in, l2_p.h, l2_stream.c, l2_test.c: First cut for
	flush mask support.

2001-09-12 15:05  rse

	* lib_l2/: l2_ch_prefix.c, l2_test.c: add support for %L (level)
	and %P (pid) to prefix channel

2001-09-12 15:04  thl

	* lmtp2nntp.c: relocating -l code according to sortspec; added
	missing break in -s option switch

2001-09-12 12:32  ms

	* lib_l2/l2.h: Source l2.h is now automatically generated by
	autoconf. Rerun ./configure to get a fresh l2.h revision, do not
	checkout from cvs!

2001-09-12 12:24  ms

	* lib_l2/l2.h.in: Merged new L2_LEVEL_NONE enum value from l2.h
	source file.

2001-09-12 11:58  thl

	* 00TODO, lmtp2nntp.c: now handling signals

2001-09-12 11:42  ms

	* lib_l2/: l2.h.in, l2_ch_file.c, l2_ch_filter.c, l2_ch_null.c,
	l2_ch_pipe.c, l2_ch_prefix.c, l2_ch_smtp.c, l2_ch_socket.c,
	l2_ch_syslog.c, l2_channel.c, l2_stream.c: Upgraded both stream and
	channel-level APIs to include new L2_LEVEL parameter design.

2001-09-12 11:39  ms

	* lib_l2/l2_ch_buffer.c: Corrected bufsize variable inconsistency
	and upgraded file descriptor handler to new L2_LEVEL parameter
	design.

2001-09-12 11:35  ms

	* lib_l2/l2_ch_fd.c: Bug fixes and upgraded file descriptor handler
	to new L2_LEVEL pass-through design.

2001-09-12 10:18  thl

	* lmtp2nntp.c, 00TODO: added ability to log nothing by creating/
	configuring/ stacking zero channels

2001-09-12 10:16  thl

	* Makefile.in: make depend

2001-09-12 10:13  thl

	* lib_l2/l2.h: added L2_LEVEL_NONE - 2nd attempt

2001-09-12 10:08  thl

	* lib_l2/l2.h: added L2_LEVEL_NONE

2001-09-12 09:29  thl

	* lmtp2nntp.c, lmtp2nntp.pod: updated documentation

2001-09-12 08:53  thl

	* lmtp2nntp.c: For the -m option any capturing brackets are
	rewritten to clustering syntax.

2001-09-12 08:50  thl

	* Makefile.in: added make depend

2001-09-12 08:50  thl

	* .dmallocrc: dmalloc now dumps unfreed memory using
	log-nonfree-space option

2001-09-11 15:41  thl

	* .configure, 00TODO, lmtp2nntp.c, lmtp2nntp.h, msg.c, msg.h: msg.c
	is now l2 enabled; improved logging using foreign (aka sendmail
	queuing) id; now calculating and logging message size;

2001-09-11 15:38  thl

	* nntp.c: we do no longer care about checking groups

2001-09-11 15:20  rse

	* lib_str/str_parse.c: fix one more memory leak

2001-09-11 14:55  rse

	* lib_l2/TODO: do not forget interesting channel ideas

2001-09-11 14:32  rse

	* lib_l2/TODO: update TODO list

2001-09-11 13:59  rse

	* lib_l2/: l2_ch_buffer.c, l2_ch_prefix.c: fix channel destruction
	in case of channel stacks

2001-09-11 13:39  rse

	* lib_str/str_parse.c: try to fix memory leak

2001-09-11 12:40  thl

	* lib_str/: acconfig.h, configure.ac, str_p.h: add Dmalloc support
	to Str

2001-09-11 12:37  thl

	* lib_l2/: acconfig.h, aclocal.m4, configure.ac, l2_ch_socket.c,
	l2_p.h, l2_ut_sa.c: add Dmalloc support to L2

2001-09-11 12:24  thl

	* configure.ac: fix EXTLIB stuff

2001-09-11 12:17  ms

	* lib_l2/TODO: Added idea of rewriting the syslog write hook.

2001-09-11 08:43  thl

	* 00TODO, AUTHORS, NEWS, README, THANKS: added/ updated GNU style
	information files

2001-09-11 08:41  thl

	* 00TODO, lmtp2nntp.c: RFC1891 ENVID, 6.2 is not the way to go
	findind out the queue-ID from sendmail. It is a information stored
	in the message envelope and received and forwarded by sendmail but
	it has no relationship to the queue-ID.

2001-09-11 08:37  thl

	* lmtp2nntp.h: cleaned FIXMEs regarding CU/CUS cleanup sequence
	logic

2001-09-11 08:36  thl

	* sa.pod: The socket adapter was a starting point only. It was the
	base for and is currenlty maintained in l2/l2_ut_sa.c and still
	growing. So this tiny little incarnation is a dead-end and needs no
	manual page.

2001-09-10 16:34  ms

	* lib_l2/l2_test.c: Added provisional testing of syslog channel.
	Once syslog is trimmed or redesigned, this test code will reflect
	the changes.

2001-09-10 16:33  ms

	* lib_l2/l2_ch_syslog.c: Removed unused variable.

2001-09-10 16:32  ms

	* lib_l2/l2_ch_socket.c: Removed unused variables.

2001-09-10 16:11  thl

	* lmtp2nntp.c, lmtp2nntp.pod, nntp.c, nntp.h: fake mode now
	supports NTTP-less setups

2001-09-10 14:50  thl

	* 00TODO: request to support SMTP and SYSLOG logging in addition to
	FILE

2001-09-10 14:49  thl

	* lmtp2nntp.c: more user friendly and detailled logging

2001-09-10 14:48  thl

	* nntp.c, nntp.h: POST really should be called DELIVERY as we
	support posting and feeding

2001-09-10 13:26  rse

	* lib_l2/ChangeLog: remove ChangeLog; will be generated soon

2001-09-10 13:20  ms

	* lib_l2/.cvsignore: Added l2_sockmon (executable) to cvs ignore
	list.

2001-09-10 13:19  thl

	* 00TODO: input from team meeting

2001-09-10 12:16  thl

	* 00TODO, lmtp2nntp.c: add library version checks (compile-time and
	run-time)

2001-09-10 12:15  thl

	* nntp.c: Str is not used here

2001-09-10 12:15  thl

	* lib_l2/: l2.h.in, l2_p.h: no need to double-declare the version
	stuff

2001-09-10 12:14  thl

	* lib_str/: Makefile.in, str.h.in: add also run-time version
	information to public API

2001-09-10 11:55  thl

	* lib_str/: .cvsignore, configure.ac, str.h, str.h.in: add library
	version to public API

2001-09-10 11:54  thl

	* lib_l2/l2.h.in: a string is a string ;)

2001-09-10 11:48  thl

	* lib_l2/: .cvsignore, configure.ac, l2.h, l2.h.in: add version
	information to public API

2001-09-10 08:55  thl

	* .configure: change test modifications and enable dmalloc
	debugging

2001-09-10 08:54  thl

	* lmtp2nntp.c, lmtp2nntp.h: added *lot* of l2 logging

2001-09-10 08:50  thl

	* 00TODO, lmtp2nntp.c: added -m mailfrom filter

2001-09-10 08:43  ms

	* lib_l2/: Makefile.in, l2_ch_socket.c, l2_sockmon.c: Bug fixes,
	cleanup, and removed makefile redundancies (see end.)

2001-09-10 08:41  thl

	* lib_l2/: l2_ch_socket.c, l2_ch_syslog.c: minor modifications for
	compile run to survive --pendantic-errors. Please review.

2001-09-10 06:27  ms

	* lib_l2/l2_sockmon.c: Removed redundant call to memset for address
	structures.

2001-09-09 18:01  rse

	* lib_l2/l2_test.c: Cleanup socket stuff and add SMTP test.

2001-09-09 17:59  rse

	* lib_l2/TODO: remember my personal points

2001-09-09 17:57  rse

	* lib_l2/: Makefile.in, l2.h, l2_ch_smtp.c: First cut for an SMTP
	output channel. This is very useful for (additionally) logging
	L2_LEVEL_PANIC messages in real-time to a mailbox via direct SMTP
	connection to a mail server. Internally it is very simple, because
	it is based on our new Socket Abstraction (SA) library
	(l2_ut_sa.[ch])...

2001-09-09 17:55  rse

	* lib_l2/configure.ac: ops, l2_ut_sa.c now requires more Autoconf
	magic

2001-09-09 17:54  rse

	* lib_l2/: l2_ut_sa.c, l2_ut_sa.h: Whohoooooo! The first cut for a
	Socket Abstraction (SA) library. Later it should be moved to its
	own source tree because it should be a highly reusable library, but
	until it proofed to be the way we want it, let's stay in L2.
	
	This beast allows us to greatly simplify socket handling, because
	it provides bi-directional socket address conversions (between URIs
	or "struct sockaddr *" to "sa_addr_t *"), read/write buffering
	support (readline!) and timeout support (for connect, read, write,
	etc.).

2001-09-09 17:42  rse

	* lib_l2/: Makefile.in, l2_p.h: make sure the version is available
	internally

2001-09-09 00:06  rse

	* lib_l2/l2_ut_format.c: Ops, endless recursion! Use friend
	function instead our own, of course.

2001-09-09 00:06  rse

	* lib_l2/l2_ut_param.c: fix memory leak for string parameters

2001-09-09 00:05  rse

	* lib_l2/l2_ut_sa.c: fix function name

2001-09-08 23:04  rse

	* lib_l2/: README, l2_version.c: regenerate l2_version.c with
	correct prefix

2001-09-08 13:25  rse

	* lib_l2/l2_test.c: do not use C++ comments

2001-09-08 13:07  rse

	* lib_l2/l2_ch_fd.c: remove ununsed variable

2001-09-07 17:02  thl

	* Makefile.in, lmtp.c, lmtp.h, lmtp2nntp.c, lmtp2nntp.h, nntp.c,
	nntp.h, trace.c, trace.h: Replace ad-hoc tracing with
	L2_LEVEL_TRACE based approach.

2001-09-07 16:49  thl

	* lib_l2/l2_ut_fmtcb.c: better readable text dumping

2001-09-07 15:56  thl

	* lmtp2nntp.c: remove obsolete DEBUG stuff

2001-09-07 15:53  thl

	* .cvsignore, 00TODO, Makefile.in, lmtp2nntp.c, lmtp2nntp.h,
	lmtp2nntp.pod: The -b option now works. L2 logging included.

2001-09-07 15:03  ms

	* lib_l2/: l2_ch_socket.c, l2_sockmon.c: Bug fixes to both IPv4 and
	IPv6 socket binding.

2001-09-07 12:27  thl

	* .cvsignore: ignore more files

2001-09-07 12:25  thl

	* lib_l2/l2_ut_sa.c, sa.c: fix mandatory sockaddr_in initialization

2001-09-07 12:23  ms

	* lib_l2/l2_ch_socket.c: Cleaned up and KR styled.

2001-09-06 21:29  ms

	* lib_l2/l2_test.c: More kludges to test sockets UDP and IPv6.

2001-09-06 21:29  ms

	* lib_l2/l2_sockmon.c: The monitor can now server UDP sockets and
	IPv6 connections.

2001-09-06 21:28  ms

	* lib_l2/l2_ch_socket.c: Redesigned IPv6 logic, added support for
	UDP. UDP write operation is still not working.

2001-09-06 21:27  ms

	* lib_l2/l2_ch_fd.c: Added the file descriptor implementation, just
	a copy of the file channel with some stuff left out.

2001-09-06 19:17  rse

	* lib_l2/: l2_ut_sa.c, l2_ut_sa.h: use the L2 prefix

2001-09-06 18:28  rse

	* lib_l2/: Makefile.in, configure.ac, l2_p.h, l2_ut_sa.c,
	l2_ut_sa.h: Add a copy of our SA library to L2 in order to simplify
	socket channel and socket monitor program.

2001-09-06 18:14  rse

	* lib_l2/l2_ch_socket.c: Use plain K&R coding style.

2001-09-06 18:10  rse

	* lib_l2/: l2_ch_buffer.c, l2_ch_file.c, l2_ch_prefix.c,
	l2_ch_socket.c, l2_ch_syslog.c: Simplify channels again: The
	channel framework gurranties that the handler context is available
	if the handler has set it, so there is no need to perform an
	additional run-time check and try to return L2_ERR_ARG.

2001-09-06 16:43  rse

	* lib_l2/: l2_ch_file.c, l2_ch_socket.c, l2_ch_syslog.c: It is
	fully legal to have some handler operations not implemented in case
	there is nothing to do for the handler. So remove the No-op hooks.

2001-09-06 16:37  rse

	* lib_l2/: TODO, l2.h, l2_ch_buffer.c, l2_ch_file.c,
	l2_ch_prefix.c, l2_ch_socket.c, l2_ch_syslog.c, l2_channel.c,
	l2_stream.c, l2_ut_fmtcb.c, l2_ut_format.c, l2_ut_level.c,
	l2_ut_param.c: Replace generic L2_ERROR with more granular
	L2_ERR_XXX and make sure that we always check with "!= L2_OK".

2001-09-06 16:31  ms

	* lib_l2/l2_sockmon.c: Included logic to monitor IPv6 and UDP
	connections.

2001-09-06 13:56  rse

	* lib_l2/: Makefile.in, l2.h, l2_test.c, l2_ut_fmtcb.c: Add two
	cool extra formatter functions ;)
	
	l2_util_fmt_string:    This can be used like %s, but instead of
	fetching only a "char *"    from the var-args stack, it fetches a
	"char *" plus a "size_t" and	this way allows one to log only a
	sub-string of a larger string	 without the need for any temporary
	buffers, etc.
	
	l2_util_fmt_dump:    This can be used as "%{type}X" for dumping
	arbitrary octets. The	 parameter "type" can be either "text" (the
	default if only "%X"	is used) for dumping the octets as text but
	with non-printable    characters replaced by "\xXX" constructs;
	"hex" for dumping the	 octets in hexadecimal as "XX:XX:XX:XX" or
	"base64" for dumping the    octets Base64 encoded. All three are
	intended for making it easier to    produce reasonable
	L2_LEVEL_DEBUG messages without having to fiddle    around with
	temporary buffers and having to care with non-printable   
	characters.
	
	For instance, using...
	
	      :
	  l2_stream_formatter(st, 'D', l2_util_fmt_dump, NULL);
	      :
	  l2_stream_vlog(st, L2_LEVEL_DEBUG, "%{text}D %{hex}D
	%{base64}D\n",
			 "foo", 12345, "foo\1bar", 7, "foo\1bar", 7,
	"foo\1bar", 7);
	      :
	
	...produces "foo\x01bar 66:6f:6f:01:62:61:72 Zm9vAWJhcg==" in the
	output.

2001-09-06 13:47  rse

	* lib_l2/l2_ch_buffer.c: Fix buffer channel: in case the buffer is
	full, the "write" operation has to flush it instead of complaining,
	of course.

2001-09-05 21:58  rse

	* lib_l2/l2_channel.c: Perform the channel state tagging
	immediately for a channel and not afterwards. Functionality-wise
	this is the same, but semantically it is more clean.

2001-09-05 18:15  ms

	* lib_l2/l2_sockmon.c: Added socket monitoring tool for testing the
	socket channel handler.

2001-09-05 18:15  ms

	* lib_l2/l2_ch_socket.c: Gethostbyname2() is not yet stable across
	platforms, and actually unnecessary in this case.

2001-09-05 17:01  thl

	* lmtp2nntp.c, lmtp2nntp.pod: flush pending (unfinished) work.

2001-09-05 16:10  thl

	* lib_l2/l2_stream.c: fix bit-check

2001-09-05 15:56  rse

	* lib_l2/: l2_ch_prefix.c, l2_test.c: Implemented prefix channel
	plus mini test.

2001-09-05 15:56  rse

	* lib_l2/l2_channel.c: Bugfix channel API: L2_OK -> NULL, states
	have to be remembered for all channels in a stack, not just the
	last found one.

2001-09-05 15:34  rse

	* lib_l2/l2_ut_param.c: fix L2_TYPE_STRING: argument can be NULL

2001-09-05 15:33  rse

	* lib_l2/l2_stream.c: make sure logging message has a trailing
	newline

2001-09-05 15:33  rse

	* lib_l2/Makefile.in: fix 'make check'

2001-09-05 15:32  thl

	* lib_l2/: Makefile.in, l2.h, l2_ut_level.c: added to utility
	functions for transforming levelmask between string and int and
	vice versa

2001-09-05 12:59  ms

	* lib_l2/l2_channel.c: Bring into conformance with new l2_result_t
	channel handler return standard.

2001-09-05 11:14  thl

	* 00TODO, lmtp2nntp.c, lmtp2nntp.pod: flush pending (unfinished)
	work.

2001-09-05 11:10  rse

	* .configure, Makefile.in, aclocal.m4, autogen.sh, configure.ac:
	Add support for local OSSP Str and OSSP L2 library source copies.

2001-09-05 10:30  rse

	* lib_str/.cvsignore: more ignored files

2001-09-05 10:29  rse

	* lib_str/: .cvsignore, Makefile.in, autogen.sh, config.guess,
	config.sub, configure, libtool.m4, ltmain.sh, shtool, str-config.1,
	str.3, str_config.h.in: finally remove generated stuff from Str
	tree

2001-09-05 09:47  rse

	* lib_l2/: l2_ch_buffer.c, l2_ch_fd.c, l2_ch_file.c,
	l2_ch_filter.c, l2_ch_null.c, l2_ch_pipe.c, l2_ch_prefix.c,
	l2_ch_socket.c, l2_ch_syslog.c: Be politically correct: channels
	are intended to be implemented also by users, which have only
	access to the public API (l2.h), so do not even try to use anything
	more in our own shipped channels.

2001-09-05 09:41  rse

	* lib_l2/: l2.h, l2_ut_param.c: Provide an L2_TYPE_STRING for the
	channel configuration steps. This is like L2_TYPE_CHARPTR but
	treats the target as a NUL-terminated string and performs a
	strdup() on it. This make the channels simpler, because they no
	longer have to post-process the configuration step in order to make
	own copies of provided strings.

2001-09-05 09:38  rse

	* lib_l2/l2_stream.c: on stream attachment of a channel stack, make
	sure the stack of channels consists of zero or more filter channels
	followed by exactly one output channel. I knew that providing
	l2_channel_type() will be useful... ;)

2001-09-04 21:35  ms

	* lib_l2/: l2_ch_syslog.c, l2_test.c: Array bug fixes and code to
	test sockets.

2001-09-04 21:34  ms

	* lib_l2/l2_ch_socket.c: Completed IPv4 and IPv6 implementations of
	configure, open, and write callbacks functions.

2001-09-04 21:18  rse

	* lib_l2/: l2.h, l2_ch_buffer.c, l2_ch_fd.c, l2_ch_file.c,
	l2_ch_filter.c, l2_ch_null.c, l2_ch_pipe.c, l2_ch_prefix.c,
	l2_ch_socket.c, l2_ch_syslog.c: Be pedantically correct: handler
	hooks return "l2_result_t" and not "int", although currently it is
	just an int/enum.

2001-09-04 18:00  ms

	* lib_l2/.cvsignore: Whoops, Ralf already fixed this. Back out my
	last change.

2001-09-04 17:59  ms

	* lib_l2/.cvsignore: Ignore l2_config.h.in during cvs new file
	checks.

2001-09-04 17:44  rse

	* lib_l2/: l2_ch_file.c, l2_ch_socket.c, l2_ch_syslog.c: Whohooo,
	now we can simplify output channels: because output channels are
	guarrantied to be not on top of other channels, they do not have
	any downstream channels. So remove all downstream handling from
	them. Only filter channels have to be aware of downstream channels.

2001-09-04 17:41  rse

	* lib_l2/: l2.h, l2_ch_buffer.c, l2_ch_fd.c, l2_ch_file.c,
	l2_ch_filter.c, l2_ch_null.c, l2_ch_pipe.c, l2_ch_prefix.c,
	l2_ch_socket.c, l2_ch_syslog.c, l2_channel.c: Revamp channel
	handler API:
	
	Instead of passing the downstream channel to all channels we
	instead provide a l2_channel_downstream() function and provide the
	current channel. This way the handler API is prototype-wise fully
	orthogonal with the channel API (which it implements) and we no
	longer pass information to 2/3 of our (output) channels which is of
	no use there.
	
	Additionally add a channel type field to l2_handler_t which allows
	a handler to say what type of channel it implements (filter or
	output).  This information is now used in l2_channel_stack() to
	make sure that one can only stack a filter channel on top of
	another channel. For convinience reasons there is also a new
	l2_channel_type() function which allows one to query the type of a
	particular channel.

2001-09-04 16:56  rse

	* lib_l2/: l2.h, l2_stream.c, l2_test.c: cleanup level API (no need
	for retrieving old mask just in one function - either in all or in
	none).

2001-09-04 16:54  rse

	* lib_l2/l2_ch_buffer.c: fix array sizes

2001-09-04 16:52  rse

	* lib_l2/: .cvsignore, Makefile.in, l2_p.h, l2_ut_pcre.c,
	l2_ut_pcre.h: Add (automatically) stripped down version of PCRE 3.5
	for use in the filter channel.

2001-09-04 16:46  rse

	* lib_l2/l2_test.c: make static

2001-09-04 16:23  ms

	* lib_l2/l2_test.c: Much more beautiful formatter callback
	(whitespace cleanup.)

2001-09-04 16:17  ms

	* lib_l2/: l2_stream.c, l2_test.c: Bugfixes and new format testing.

2001-09-04 15:53  rse

	* lib_l2/Makefile.in: remove test logfile from 'make check'

2001-09-04 15:52  rse

	* lib_l2/: Makefile.in, l2.h, l2_ch_buffer.c, l2_ch_file.c,
	l2_ch_socket.c, l2_ch_syslog.c, l2_channel.c, l2_p.h, l2_stream.c,
	l2_ut_format.c, l2_ut_param.c: Wohhooooo! Here comes the underlying
	message formatting support:
	
	1. renamed l2_channel_setparam() to l2_util_setparam() because it  
	 is just a utility function and is not tied to any channel.
	
	2. moved l2_util_setparam() to its own l2_ut_param.c source file.
	
	3. added l2_ut_format.c which contains a slightly adjusted version 
	  of Str's str_format() stuff under the name l2_util_format().
	
	4. use l2_util_format() in l2_stream.c instead of vsnprintf()	
	and this way finally support l2_formatter_t callbacks.
	
	5. cleanup adjustments to the l2_stream_formatter() API.
	
	Let's rock...

2001-09-04 15:47  rse

	* lib_l2/.cvsignore: fix ignore list

2001-09-04 15:12  rse

	* lib_l2/.cvsignore: ignore generated files

2001-09-04 13:32  ms

	* lib_l2/l2_config.h.in: Removed file which is generated by
	autoheader during autogen.sh execution.

2001-09-04 11:46  rse

	* AUTHORS, COPYING, Makefile.in, aclocal.m4, argz.c, argz.h,
	autogen.sh, configure.ac, lmtp.c, lmtp.h, lmtp.pod, lmtp2nntp.c,
	lmtp2nntp.pod, msg.c, msg.h, nntp.c, nntp.h, sa.c, sa.h,
	shpat_match.c, shpat_match.h, trace.c, trace.h: Finally apply GNU
	General Public License (GPL) to OSSP lmtp2nntp.

2001-09-04 11:15  rse

	* lib_l2/: config.guess, config.sub, configure, l2++.3,
	l2-config.1, l2.3, libtool.m4, ltmain.sh, shtool: Finally remove
	the generated files from CVS now that we have a working autogen.sh.

2001-09-04 11:14  rse

	* lib_l2/autogen.sh: Fix quoting

2001-09-04 11:12  rse

	* lib_l2/AUTHORS: do not forget Michael

2001-09-03 19:23  rse

	* lib_l2/Makefile.in: - fix realclean target - remove tool update
	targets (done by autogen.sh)

2001-09-03 17:06  thl

	* 00TODO, lmtp2nntp.c, lmtp2nntp.pod: tried to add -b option w/o
	success. Binding to a given port, which should only be a side
	effect anyway) works but binding to given address currently fails
	for unknown reason.

2001-09-03 15:43  rse

	* lib_l2/: l2.h, l2_channel.c, l2_p.h, l2_stream.c, l2_test.c: -
	replace "int" with "l2_result_t" in L2 channel API - use a 2^n for
	L2_LEVEL_XXX in order to be able to create mask - remember loglevel
	for each channel - rewrite test suite

2001-09-03 15:37  rse

	* lib_l2/l2_ch_file.c: fix configuration bug in file channel

2001-09-03 14:16  rse

	* lib_l2/: TODO, l2-config.1, l2.h, l2_p.h, l2_stream.c: revamped
	L2 stream API

2001-09-03 13:50  rse

	* lib_l2/l2_channel.c: remove useless assign

2001-09-02 17:38  ms

	* lib_l2/l2_test.c: Added configuration and opening of buffer and
	file channels.

2001-09-02 17:37  ms

	* lib_l2/l2_ch_buffer.c: Buffer channel now flushes itself to the
	downstream channel before closing itself due to a call to its close
	method.

2001-09-02 17:35  ms

	* lib_l2/l2_channel.c: When destroying a channel, erase its pointer
	to avoid a double-destruction mistake (possibly by both the channel
	and stream parent.)

2001-09-02 17:33  ms

	* lib_l2/l2_objects.fig: Better positions of text labels.

2001-09-02 17:32  ms

	* lib_l2/TODO: Added remarks about buffer write, socket send, and
	output endpoint.

2001-09-02 16:38  ms

	* lib_l2/l2_ch_socket.c: Basic architecture and functionality
	additions.

2001-09-02 16:37  ms

	* lib_l2/l2_channel.c: Revert to last version due to new design of
	l2_ch_socket_t.

2001-09-02 15:18  ms

	* lib_l2/: l2.h, l2_p.h: Revert to last version due to new design
	of l2_ch_socket_t.

2001-08-30 19:37  rse

	* lib_str/str-config.in: Fix version variable in str-config.in

2001-08-30 15:58  thl

	* version.c: bump version for release

2001-08-30 15:57  thl

	* lmtp.c, msg.c, sa.c: get rid of warnings by properly casting char
	to int for isdigit()

2001-08-30 15:56  thl

	* lmtp2nntp.pod: updated and reformatted manpage

2001-08-30 15:38  thl

	* 00TODO, lmtp.c: lmtp_response() no longer segfaults when a
	physical line ('\n' terminated) of the logical line input exceeds
	LMTP_LINE_MAXLEN but wraps the line by cutting it off; manpage
	header issue was no problem when using pod in Makefile; 00TODO
	updated;

2001-08-30 13:53  thl

	* lmtp2nntp.c, lmtp2nntp.pod: implemented and documented [-w
	waittime] option including nonblocking connect

2001-08-30 11:01  thl

	* lmtp2nntp.c, lmtp2nntp.pod: implemented and documented [-n
	hostname] option

2001-08-30 10:58  thl

	* 00TODO: RFC1891 ENVID option to MAIL command might solve the ID
	logging problem

2001-08-30 10:35  thl

	* 00TODO, lmtp2nntp.c, lmtp2nntp.pod: updated documentation

2001-08-29 16:58  thl

	* 00TODO, lmtp.c, lmtp2nntp.c, lmtp2nntp.pod: added -m
	maxmessagesize option

2001-08-28 16:30  thl

	* version.c: bump version for release

2001-08-28 16:27  thl

	* 00TODO, lmtp2nntp.c: the MAIL and DATA callbacks checked for
	information no longer available after we proper free the structure
	containing this data. Now rewritten to first check for existence of
	structure then look into the structure; segfault fixed; 00TODO
	updated; long line test file renamed and long lines removed from
	normal test suite;

2001-08-28 16:24  thl

	* msg.c: isblank() not available on solaris8 - replaced by
	isspace()

2001-08-28 16:22  thl

	* .configure: dmalloc comment inside multiline command failes -
	relocated

2001-08-28 15:35  thl

	* Makefile.in: fixed Makefile tab vs. space problem

2001-08-28 15:12  thl

	* .cvsignore, 00TODO, Makefile.in, README, lmtp2nntp.c,
	lmtp2nntp.pod: option -h now understands multiple hosts as comma
	separated list; .cvsignore test/dmalloc.log; program is now called
	"mail to news gateway" consequently - including case; parts of
	usage() and .pod can now be created from source; test suite and
	00TODO updated;

2001-08-28 14:49  thl

	* nntp.c: news regarding INNs MODE READER behavior and 441 returns

2001-08-28 13:31  thl

	* .configure, .cvsignore, .dmallocrc, 00TODO, README, lmtp.c,
	lmtp2nntp.c, msg.c, sa.c: reduced dmalloc() complaints about
	non-free()d resources during one a "lmtp post arg
	cw.de.sd.apps.dev.test" run to zero regarding own code; A
	memoryleak in str library 0.9.5 was detected which was reported to
	and fixed by RSE;

2001-08-28 13:29  thl

	* lmtp2nntp.pod: rewrote DESCRIPTION; added RFCs to STANDARD
	section;

2001-08-28 12:38  rse

	* lib_str/str_parse.c: Fix a memory leak in Str

2001-08-27 16:49  thl

	* lmtp.c, lmtp2nntp.c, msg.c, nntp.c, sa.c: now using NUL instead
	of '\0'

2001-08-27 16:29  thl

	* 00TODO, lmtp2nntp.c, msg.c, nntp.c: removed DEBUGs; updated
	00TODO;

2001-08-27 16:25  thl

	* lmtp2nntp.c, nntp.c: removed ==TRUE and !=TRUE comparisons in
	favor of ==FALSE, !=FALSE and boolean expressions

2001-08-27 15:45  thl

	* 00TODO, msg.c, msg.h: worked out all FIXMEs in msg.c; renamed
	SPLITSPLITBODY to SPLITHEADBODY - this was a search'n'replace
	accident; major changes in the "fold headers" functionality in
	msg_join(); modified str_parse calls to (re)use the now fixed
	[^not] operator; made workarounds for missing str_parse()
	functionality "s//g" and "malloc optimization" permanent; reviewed
	"Path: not-for-mail" issue and kept it as is; the
	"testmessage.vialmtp" now contains very long headers to be wrapped/
	folded; updated 00TODO;

2001-08-26 15:07  ms

	* lib_l2/l2_ch_socket.c: Wrote the l2_ch_socket_t class, and its
	create and configure methods.

2001-08-26 15:05  ms

	* lib_l2/l2_ch_syslog.c: Completed syslog channel implementation -
	might need trimming down.

2001-08-26 15:02  ms

	* lib_l2/l2_epreuve.c: Added code to check syslog channel logic.

2001-08-26 15:01  ms

	* lib_l2/: l2.h, l2_p.h, l2_channel.c: Added unsigned short type to
	PARAMETER macros for sockaddr_in struct.

2001-08-26 14:59  ms

	* lib_l2/TODO: Added syslog channel remarks and question about
	using a pointer reference.

2001-08-25 20:27  ms

	* lib_l2/l2_ch_syslog.c: Upgraded skeleton of syslog channel
	module.

2001-08-24 17:16  ms

	* lib_l2/l2_ch_buffer.c: Conforms to doc (mostly comments) standard
	set by l2_ch_file.c.

2001-08-24 17:15  ms

	* lib_l2/l2_epreuve.c: Some output format changes.

2001-08-24 17:15  ms

	* lib_l2/TODO: Added one more loggin level definition.

2001-08-23 16:03  thl

	* version.c: bump version for release

2001-08-23 11:12  rse

	* .configure, .dmallocrc, Makefile.in, README, acconfig.h, argz.c,
	configure.ac, lmtp.c, lmtp2nntp.c, msg.c, nntp.c, sa.c,
	shpat_match.c, trace.c: Add DMalloc support

2001-08-23 11:00  rse

	* nntp.c: Ops, no assignment! A comparison, of course.

2001-08-23 10:36  rse

	* lmtp2nntp.c, msg.c: adjust for recently fixed return code
	semantic of str_parse()

2001-08-23 10:36  rse

	* nntp.c: remove dependency to Str library

2001-08-23 10:30  rse

	* lmtp2nntp.c: simplify regex

2001-08-23 10:18  rse

	* 00TODO: one more item

2001-08-23 10:10  rse

	* nntp.c: remove fixmes

2001-08-23 09:57  thl

	* 00TODO: pushed down and updated 00TODO including relocation of
	pertinent informatin directly into source

2001-08-23 09:55  thl

	* lmtp2nntp.c: worked out all FIXMEs in lmtp2nntp.c; completely
	reviewed all lmtp_response() statuscodes and dsncodes especially
	distinguishing between "5xx Permanent Failure" and "4xx Persistent
	Transient Failure" conditions, documented every return code
	including reference to and excerpt from related RFCs; added
	graceful release of all resources; replaced hardcoded uname by
	uname(3) system call; added wildmat-style pattern matching for
	GROUPMODE_ENVELOPE and GROUPMODE_HEADER using shpat_match; added
	multiline responses for erroneous status after posting/feeding in
	lmtp_cb_data(); pushed down and updated 00TODO including relocation
	of pertinent information directly into source;

2001-08-23 09:54  thl

	* lmtp.c, msg.c: cosmetic correction make all RFC references match
	RFC\d{4} allowing to grep for them when writing documentation

2001-08-23 09:52  thl

	* nntp.c, nntp.h: added NNTP_ERR_UNKNOWN which is useful for
	injecting artifical errors when debugging

2001-08-23 09:50  thl

	* nntp.c: fixed style vs. optimization

2001-08-23 07:32  ms

	* lib_l2/l2_epreuve.c: Removed problematic after-flush buf-checker.
	Now we don't verify that the buffer is left unused after an
	immediate flush operation.

2001-08-23 07:30  ms

	* lib_l2/l2_ch_buffer.c: Upgraded bzero(3) to memset(3).

2001-08-22 20:12  ms

	* lib_l2/l2_ch_buffer.c: When buffer will overflow, it should fail
	first. Also, when buffer gets a write message it should not pass it
	downstream. The buffer writes data further downstream only when it
	is flushed (either by the user or implicitly.)

2001-08-22 20:09  ms

	* lib_l2/TODO: Added two important things to remember - Error msgs
	and Doku.

2001-08-22 20:08  ms

	* lib_l2/l2_epreuve.c: Additionally tests the buffer handler.

2001-08-22 19:28  ms

	* lib_l2/l2_objects.fig: A new and better blob, minor cleanup, and
	full compliance to OMG UML standard.

2001-08-21 19:38  ms

	* lib_l2/l2_objects.fig: Improved the class blob, and added the
	missing logging level constants.

2001-08-21 15:03  ms

	* lib_l2/l2_objects.fig: Added shading, layer info, and reformatted
	a little.

2001-08-21 15:00  ms

	* lib_l2/TODO: A stream could grow its member channels dynamically.

2001-08-21 12:52  thl

	* lmtp.c: removed FIXME. We are a LMTP server and we send multiline
	replies and don't receive any so no need to handle such incoming
	messages. The NNTP client has no need for handling multiline
	replies because the protocol does not support multiline replies.

2001-08-21 12:16  simons

	* aclocal.m4: Removed duplicate quotation characters in
	AC_CHECK_EXTLIB's help string.

2001-08-21 12:13  simons

	* aclocal.m4: Grouped the parameters of AC_CHECK_EXTLIB's
	AC_WITH_ARG macro call by '[' and ']' delimiters to avoid autoconf
	confusion.

2001-08-21 12:02  simons

	* aclocal.m4: Fixed --help output of AC_CHECK_EXTLIB macro to show
	the correct flag name rather than the hard-coded name "substr".
	There's still something to do, though, because the amount of
	white-space to insert between the flag and the help text must be
	calculated dynamically according to the length of the library name
	rather than being hard-coded as it is right now.

2001-08-21 11:35  simons

	* configure.ac: Removed unnecessary white-space at the end of the
	file.

2001-08-21 11:32  simons

	* configure.ac: Report failure in the configure script using
	AC_MSG_ERROR() rather than using exit().

2001-08-21 10:56  thl

	* lmtp2nntp.c: added support for BODY keyword detection with =7BIT
	and =8BITMIME in MAIL command

2001-08-21 09:44  thl

	* lmtp2nntp.c: isdigit() paramters casted to int. Now only a single
	warning remains on solaris (string length in line 509).

2001-08-21 09:40  thl

	* lmtp.c, lmtp2nntp.c, msg.c, nntp.c: replaced c++ style //
	comments with c style /* */ comments

2001-08-20 19:19  ms

	* lib_l2/epreuve.c: The file 'epreuve.c' is now called
	'l2_epreuve.c'.

2001-08-20 19:17  ms

	* lib_l2/l2_epreuve.c: Test file for individual channel testing

2001-08-20 19:06  ms

	* lib_l2/l2_objects.fig: Graphical representation of stream and
	channel objects in xfig format.

2001-08-20 16:41  thl

	* version.c: bump version for release

2001-08-20 16:36  rse

	* INSTALL: typo

2001-08-20 16:11  thl

	* 00TODO, INSTALL, lmtp2nntp.c: fixed GROUPMODE_ENVELOPE
	foo+bar@quux.com notation prefix stripping where sendmail passes us
	already rewritten <bar@quux.com> as argument to "RCPT To:" command

2001-08-20 15:22  thl

	* INSTALL: More sendmail config required

2001-08-20 15:02  thl

	* 00TODO: done ;)

2001-08-20 14:57  thl

	* INSTALL: Add first cut for INSTALL document with Sendmail info

2001-08-20 14:23  thl

	* Makefile.in: do not distribute developer test suite

2001-08-20 14:22  thl

	* Makefile.in: moved test stuff to subdir

2001-08-20 14:17  thl

	* .configure: better developer stuff

2001-08-20 13:32  rse

	* .cvsignore, Makefile.in: final cleanup to cleanup targets ;)

2001-08-20 13:29  rse

	* Makefile.in: fix cleaning

2001-08-20 13:28  rse

	* .configure, .cvsignore, autogen.sh, configure.ac, sa.c, trace.c,
	trace.h: Autoconf phase 4

2001-08-20 12:50  rse

	* .configure: add helper script

2001-08-20 12:47  rse

	* Makefile.in: cosmetics

2001-08-20 12:45  rse

	* Makefile.in, aclocal.m4, configure.ac: Autoconf phase 3

2001-08-20 12:33  rse

	* .cvsignore: ignore tarballs

2001-08-20 12:33  rse

	* .cvsignore, Makefile.in, autogen.sh, configure.ac, lmtp2nntp.c,
	version.c: Autoconf phase 2

2001-08-20 12:02  rse

	* .cvsignore, 00TODO, Makefile.in, README, autogen.sh,
	configure.ac: Autoconf phase 1

2001-08-17 21:23  ms

	* lib_l2/epreuve.c: File used for individual channel testing,
	currently using file handler object
	
	Submitted by: ms

2001-08-16 17:00  thl

	* 00TODO, lmtp.c, lmtp2nntp.c, lmtp2nntp.pod, msg.c, nntp.c,
	nntp.h: INN kludge, IHAVE feeding, -d deliverymode command line
	option, DEFER handing

2001-08-16 15:25  rse

	* lib_str/THANKS: Give proper credit to contributors

2001-08-16 15:24  rse

	* lib_str/: str-config.1, str.3: update generated files

2001-08-16 15:22  rse

	* lib_str/: README, str-config.1, str.3, str_version.c: Update
	current date for release of version 0.9.5

2001-08-16 15:21  rse

	* lib_str/: LICENSE, Makefile.in, README, configure, configure.ac,
	str-config.in, str-config.pod, str.h, str.pod, str_base64.c,
	str_basic.c, str_format.c, str_hash.c, str_memory.c, str_p.h,
	str_parse.c, str_search.c, str_test.c, str_token.c: Adjust
	copyright for year 2001.

2001-08-16 15:19  rse

	* lib_str/ChangeLog: Ops, this was fixed by me, but discovered by
	Thomas.

2001-08-16 15:18  rse

	* lib_str/THANKS: Add Thomas and Peter S. for their help

2001-08-16 15:17  rse

	* lib_str/: ChangeLog, str.3, str.pod: Fix return code
	documentation of str_parse(): it -1 (error), 0 (no matching) or +1
	(matching) and not just TRUE or FALSE.	Additionally fixed the
	str_parse() examples in the documentation.

2001-08-16 15:16  rse

	* lib_str/str_test.c: Add two more tests for the recent problematic
	regex

2001-08-16 14:24  rse

	* lib_str/: configure, configure.ac: We require Autoconf 2.52

2001-08-16 14:21  rse

	* lib_str/: ChangeLog, str_base64.c: Let
	str_base64(STR_BASE64_DECODE, ...) correctly honor the specified
	maximum size of the input string.
	
	Submitted by: Peter Simons <simons@cryp.to>

2001-08-16 14:16  rse

	* lib_str/: ChangeLog, Makefile.in, aclocal.m4, autogen.sh,
	config.guess, config.sub, configure, configure.ac, configure.in,
	libtool.m4, ltconfig, ltmain.sh, str_config.h.in: Upgraded STR to
	GNU Autoconf 2.52 and GNU Libtool 1.4

2001-08-16 14:04  rse

	* lib_str/: .cvsignore, ChangeLog, Makefile.in, str_pcre.c,
	str_pcre.h, str_pcre_mk.c, str_pcre_p.h: Upgrade to PCRE 3.5

2001-08-16 12:08  rse

	* lib_pcre/: ChangeLog.OSSP, Makefile.in, autogen.sh, config.guess,
	config.sub, configure, configure.ac, configure.in, libtool.m4,
	ltconfig, ltmain.sh, shtool: Upgrade GNU autoconf, libtool, shtool.

2001-08-15 12:36  rse

	* lib_l2/: LICENSE, Makefile.in, aclocal.m4, autogen.sh,
	configure.ac, l2++.cc, l2++.h, l2++.pod, l2-config.in,
	l2-config.pod, l2.h, l2.m4, l2.pod, l2_ch_buffer.c, l2_ch_fd.c,
	l2_ch_file.c, l2_ch_filter.c, l2_ch_null.c, l2_ch_pipe.c,
	l2_ch_prefix.c, l2_ch_socket.c, l2_ch_syslog.c, l2_channel.c,
	l2_p.h, l2_stream.c, l2_test++.cc, l2_test.c: Fix more ossp.com
	references by replacing with the correct domain name ossp.org.

2001-08-15 09:52  rse

	* lib_l2/: configure, configure.ac, configure.in, l2_config.h.in:
	Rename configure.in to configure.ac

2001-08-15 09:49  rse

	* lib_l2/: Makefile.in, aclocal.m4, autogen.sh, configure,
	configure.in, l2.3, l2_config.h.in, libtool.m4, ltconfig,
	ltmain.sh, shtool: Upgrade to GNU autoconf 2.52, GNU libtool 1.4,
	GNU shtool 1.5.4

2001-08-15 09:41  rse

	* lib_l2/TODO: add one idea which we could follow later...

2001-08-14 16:43  ms

	* lib_l2/README: Commit tester, corrected ossp.com to ossp.org

2001-08-14 16:42  thl

	* lmtp.c, lmtp.h, lmtp2nntp.c, msg.c, msg.h, nntp.c, nntp.h:
	connected LMTP and NNTP side, now featuring all three -g
	groupmodes, added post1000 articles burn-in

2001-08-14 10:15  thl

	* lmtp.c, lmtp.h, lmtp2nntp.c, lmtp2nntp.pod, msg.c, msg.h, nntp.c,
	trace.c, trace.h: cleanup msg.[ch], moved tracing to trace.[ch],
	added target to Makefile, added -t switch in lmtp2nntp.[c|pod],
	incorporated tracing into lmtp.[ch] and nntp.[ch], run.sh now using
	new tracing option

2001-08-13 17:16  thl

	* lmtp2nntp.c, msg.c, nntp.c, nntp.h: first successful posting

2001-08-13 08:41  thl

	* lmtp2nntp.c, msg.c, msg.h, nntp.c, nntp.h: moved message issues
	from lmtp2nntp.[ch] and nntp.[ch] into separate new file msg.[ch]

2001-08-12 15:49  rse

	* shpat_match.c: fix K&R left-over

2001-08-12 15:44  rse

	* sa.pod: add manual page for sa library

2001-08-12 15:44  rse

	* sa.c, sa.h: cleanup sa library

2001-08-11 21:51  rse

	* lib_pcre/: ChangeLog.OSSP, shtool: Upgrade to GNU shtool 1.5.4

2001-08-08 12:43  thl

	* lmtp2nntp.c: fixed problems with headers w/o or whitespace-only
	values; fixed accidently checked values and headers when looking
	for headers only

2001-08-08 11:26  thl

	* lmtp2nntp.c: added line wrapping

2001-08-07 20:56  rse

	* lib_str/: ChangeLog, shtool: Update to GNU shtool 1.5.4

2001-08-07 16:58  thl

	* lmtp2nntp.c: headers now exctracted and manipulated

2001-08-07 11:21  thl

	* lmtp2nntp.c: replaced newsservicecount and newsservice by nsc and
	ns

2001-08-07 11:05  thl

	* lmtp2nntp.c, lmtp2nntp.pod, nntp.c, nntp.h: lmtp/nntp joined at
	command args and lhlo

2001-08-07 11:05  thl

	* 00TODO: typo in newsservers

2001-08-07 11:04  thl

	* sa.c, sa.h: sock is now sa (sockaddr) only

2001-08-07 08:41  thl

	* 00TODO: feeder/reader names

2001-08-06 12:51  thl

	* shpat_match.3, shpat_match.c, shpat_match.h: add shpat_match from
	OSSP shpat library

2001-08-02 16:58  thl

	* lmtp2nntp.c, lmtp2nntp.pod, nntp.c: no more dummy-OKs on the lmtp
	side, some first steps on the nntp side

2001-08-02 16:57  thl

	* 00TODO: rfc overview

2001-08-01 09:08  thl

	* lmtp2nntp.c: reflects removal of sock_sample/sio and addition of
	sock/nntp

2001-08-01 09:07  thl

	* lmtp.c: improved robustness adding some parameter sanit checks

2001-08-01 09:05  thl

	* 00TODO: kick out statetables, add some RFC research

2001-08-01 09:04  thl

	* nntp.c, nntp.h: first client using sock.[ch]. Just connects,
	reads, writes and quits

2001-07-26 17:18  thl

	* lmtp.c, lmtp2nntp.c: lmtp_cb_helo using strict RFC821 <domain>
	checking in a perl-generated regex

2001-07-25 21:51  rse

	* lmtp.c, lmtp.h, lmtp.pod: Full-metal jacket cleanup ;) Hopefully
	Thomas does not kill me...

2001-07-25 17:02  thl

	* argz.c, argz.h, argz.html, lmtp.c, lmtp.h, lmtp2nntp.c: added
	argz library and first inter-callback functionality

2001-07-25 13:29  thl

	* 00TODO, lmtp.c, lmtp.h, lmtp2nntp.c: shortly before
	lmtp_message/lmtp_reset are vanished

2001-07-24 13:32  thl

	* 00TODO, lmtp.c, lmtp.h, lmtp2nntp.c, lmtp2nntp.pod: first time
	working with sendmail

2001-07-23 14:14  thl

	* 00TODO, lmtp.c, lmtp.h, lmtp2nntp.c: first successful loop()

2001-07-17 14:40  thl

	* .cvsignore, 00TODO, lmtp.c, lmtp.h, lmtp2nntp.c, lmtp2nntp.pod:
	ralf s. engelschall first api draft

2001-07-16 14:18  thl

	* .cvsignore: .cvsignore

2001-07-16 14:12  thl

	* 00TODO: Initial revision

2001-07-16 14:12  thl

	* 00TODO: genesis as rename from mail2nntp to lmtp2nntp

2001-05-26 10:07  rse

	* lib_l2/TODO: remember things

2001-05-26 10:06  rse

	* lib_l2/TODO: forget timestamps now that I've to do it myself and
	we are now in holiday for two weeks

2001-05-26 10:04  rse

	* lib_l2/: l2.h, l2_ch_syslog.c: cleanup style

2001-05-26 10:02  rse

	* lib_l2/: l2.h, l2_ch_fd.c, l2_ch_filter.c, l2_ch_null.c,
	l2_ch_pipe.c, l2_ch_prefix.c, l2_ch_socket.c, l2_ch_syslog.c,
	l2_stream.c: change terminology: below -> downstream

2001-05-24 11:40  rse

	* lib_l2/: l2.h, l2_ch_buffer.c, l2_ch_file.c, l2_channel.c,
	l2_p.h: o rename l2_error_t to l2_result_t o introduce internal
	channel state for API robustness

2001-05-23 23:44  rse

	* lib_l2/TODO: test commit

2001-05-22 22:00  rse

	* lib_l2/: l2_ch_buffer.c, l2_channel.c: Implement a first cut for
	a buffer channel (still untested).

2001-05-22 20:47  rse

	* lib_l2/: Makefile.in, l2.h, l2_ch_file.c, l2_channel.c, l2_log.c,
	l2_param.c, l2_stream.c: Simplify things by merging the parameter
	stuff into l2_channel.c and the l2_stream_t related things into
	l2_stream.c

2001-05-21 22:15  rse

	* lib_l2/l2_ch_file.c: Simplify the file handler, because a NULL
	ctx cannot happen at all.

2001-05-21 21:29  rse

	* lib_l2/shtool: Update GNU shtool to version 1.5.3

2001-05-19 22:14  rse

	* lib_l2/l2_ch_file.c: Give us a clue how the handler functions
	actually should look now that we have l2_param_parse() and friends
	available. So to help Peti in approaching milestone 2 for Monday, I
	felt free to implement l2_handler_file for us, based on raw Unix
	I/O.

2001-05-19 22:08  rse

	* lib_l2/: Makefile.in, l2.h, l2_p.h, l2_param.c: the "int
	l2_channel_configure(l2_channel_t *ch, const char *fmt, ...);"
	beast was my idea, so it is fair to also provide the necessary tool
	for implementing the underlying handler functions. Here it is,
	l2_param_parse().

2001-05-19 21:01  rse

	* lib_l2/Makefile.in: fix 'make clean'

2001-05-19 12:23  rse

	* lib_l2/TODO: Remember timeplan

2001-05-17 16:43  simons

	* lib_l2/l2_stream.c: Implemented l2_stream_create(),
	l2_stream_destroy(), and l2_stream_channel().

2001-05-17 16:42  simons

	* lib_l2/l2_test.c: Wrote a small test program for the library.

2001-05-17 16:42  simons

	* lib_l2/l2_ch_syslog.c: Implemented write() method of the syslog
	handler.

2001-05-17 16:41  simons

	* lib_l2/l2_p.h: Added missing "_st" suffix to the declaration of
	the l2_stream structure.

2001-05-17 16:40  simons

	* lib_l2/: Makefile.in, l2_log.c: Added l2_log.c module, which
	contains l2_stream_log() and l2_stream_vlog().

2001-05-12 11:27  rse

	* lib_l2/TODO: update todo

2001-05-12 09:23  rse

	* lib_l2/: l2_test++.cc, l2_test.c: - Add copyrights - use l2++.h
	in C++ test

2001-05-11 21:50  rse

	* lib_l2/: .configure, .cvsignore, Makefile.in, configure,
	configure.in, l2++.3, l2++.pod, l2-config.1, l2-config.in,
	l2-config.pod, l2.3, l2.pod, l2_test++.cc: Major overhaul and
	improvement of build environment. Especially we now added optional
	support for C++ building with --with-cxx.

2001-05-11 20:46  rse

	* lib_l2/: configure, configure.in: fix typo in company name (ops)

2001-05-11 20:42  rse

	* lib_l2/l2.m4: fix alignment

2001-05-11 20:37  rse

	* lib_l2/Makefile.in: Fix manpage substitution

2001-05-11 19:07  rse

	* lib_l2/: l2.h, l2_ch_buffer.c, l2_ch_fd.c, l2_ch_file.c,
	l2_ch_filter.c, l2_ch_null.c, l2_ch_pipe.c, l2_ch_prefix.c,
	l2_ch_socket.c, l2_ch_syslog.c: Fill in channel handler template
	code.

2001-05-10 22:01  rse

	* lib_l2/.cvsignore: add .cvsignore

2001-05-10 22:00  rse

	* lib_l2/: l2.3, l2.pod: get rid of old Str stuff

2001-05-10 21:46  rse

	* lib_l2/: .configure, AUTHORS, ChangeLog, INSTALL, LICENSE,
	Makefile.in, NEWS, README, TODO, aclocal.m4, config.guess,
	config.sub, configure, configure.in, l2++.cc, l2++.h, l2-config.1,
	l2-config.in, l2-config.pod, l2.3, l2.h, l2.m4, l2.pod,
	l2_ch_buffer.c, l2_ch_fd.c, l2_ch_file.c, l2_ch_filter.c,
	l2_ch_null.c, l2_ch_pipe.c, l2_ch_prefix.c, l2_ch_socket.c,
	l2_ch_syslog.c, l2_channel.c, l2_config.h.in, l2_p.h, l2_stream.c,
	l2_test.c, l2_version.c, ltconfig, ltmain.sh, shtool: L2 initial
	source tree

2001-05-10 21:46  rse

	* lib_l2/: .configure, AUTHORS, ChangeLog, INSTALL, LICENSE,
	Makefile.in, NEWS, README, TODO, aclocal.m4, config.guess,
	config.sub, configure, configure.in, l2++.cc, l2++.h, l2-config.1,
	l2-config.in, l2-config.pod, l2.3, l2.h, l2.m4, l2.pod,
	l2_ch_buffer.c, l2_ch_fd.c, l2_ch_file.c, l2_ch_filter.c,
	l2_ch_null.c, l2_ch_pipe.c, l2_ch_prefix.c, l2_ch_socket.c,
	l2_ch_syslog.c, l2_channel.c, l2_config.h.in, l2_p.h, l2_stream.c,
	l2_test.c, l2_version.c, ltconfig, ltmain.sh, shtool: Initial
	revision

2001-04-28 10:18  rse

	* lib_str/: configure, configure.in, str_config.h.in, str_format.c:
	[no log message]

2001-04-27 14:22  rse

	* lib_str/: .configure, ChangeLog, TODO, shtool, str.3,
	str_format.c, str_format.c: [no log message]

2001-04-27 14:12  rse

	* lib_str/str_format.c: [no log message]

2000-11-20 20:48  rse

	* lib_str/: ChangeLog, shtool, str_pcre_mk.c, str_search.c: [no log
	message]

2000-08-29 21:24  rse

	* lib_pcre/: .configure, ChangeLog, ChangeLog.OSSP, configure,
	pcre.3, pcre.c, pcre.h, pcre_internal.h, pcreposix.c,
	pcre_test.d/testinput2, pcre_test.d/testoutput1,
	pcre_test.d/testoutput2, pcre_test.d/testoutput3,
	pcre_test.d/testoutput4, pcre_test.d/testoutput5,
	pcre_test.d/testoutput6: Merge in changes between PCRE 3.3 and PCRE
	3.4

2000-08-02 11:53  rse

	* lib_pcre/pcre.c: Remove left-over from merging

2000-08-02 11:46  rse

	* lib_pcre/: ChangeLog, ChangeLog.OSSP, LICENCE, README, configure,
	configure.in, pcre.3, pcre.c, pcre.h, pcre_get.c, pcre_internal.h,
	pcre_test.c, pcreposix.3, pcreposix.c, pgrep.1, pgrep.c, shtool,
	pcre_test.d/testinput1, pcre_test.d/testinput2,
	pcre_test.d/testinput3, pcre_test.d/testinput4,
	pcre_test.d/testinput5, pcre_test.d/testinput6,
	pcre_test.d/testoutput1, pcre_test.d/testoutput2,
	pcre_test.d/testoutput3, pcre_test.d/testoutput4,
	pcre_test.d/testoutput5, pcre_test.d/testoutput6: Upgrade to PCRE
	3.3 and GNU shtool 1.5.1

2000-08-02 10:52  rse

	* lib_pcre/.configure: Add -pedantic

2000-07-14 17:24  rse

	* lib_str/: ChangeLog, Makefile.in, README, str-config.1, str.3,
	str_version.c: Update str_version.c to new GNU shtool 1.5.0 format.

2000-07-14 17:14  rse

	* lib_str/ChangeLog: Fix name now that it's known.

2000-07-14 13:09  rse

	* lib_str/: ChangeLog, ltconfig, ltmain.sh, shtool, ChangeLog: [no
	log message]

2000-07-14 13:04  rse

	* lib_str/: ChangeLog, configure, configure.in: [no log message]

2000-07-07 08:18  rse

	* lib_pcre/: ChangeLog.OSSP, configure, ltconfig, ltmain.sh,
	shtool: [no log message]

2000-07-03 11:47  rse

	* lib_str/ChangeLog: [no log message]

2000-07-03 11:38  rse

	* lib_str/TODO: [no log message]

2000-05-25 15:04  rse

	* lib_str/: ChangeLog, str_basic.c, str_p.h: [no log message]

2000-05-25 14:51  rse

	* lib_str/: ChangeLog, TODO: [no log message]

2000-05-16 20:47  rse

	* lib_pcre/: ChangeLog, ChangeLog.OSSP, LICENCE, config.h.in,
	pcre.3, pcre.c, pcre.h, pcre_internal.h, pcre_test.c,
	pcre_test.d/testinput3, pcre_test.d/testoutput1,
	pcre_test.d/testoutput2, pcre_test.d/testoutput3,
	pcre_test.d/testoutput4, shtool, ChangeLog.OSSP: [no log message]

2000-05-16 20:33  rse

	* lib_pcre/: configure, configure.in: [no log message]

2000-04-24 18:34  rse

	* lib_str/TODO: [no log message]

2000-03-01 12:08  rse

	* lib_str/: str_basic.c, str_test.c: [no log message]

2000-03-01 10:59  rse

	* lib_str/: str_p.h, str_search.c: [no log message]

2000-03-01 10:50  rse

	* lib_str/str_search.c: [no log message]

2000-03-01 08:51  rse

	* lib_str/: ChangeLog, str_format.c: [no log message]

2000-02-29 16:30  rse

	* lib_str/: ChangeLog, README, str-config.1, str.3, str_version.c:
	[no log message]

2000-02-21 14:02  rse

	* lib_str/: str_test.c, ChangeLog, README, str-config.1, str.3,
	str_version.c: [no log message]

2000-02-21 13:55  rse

	* lib_str/: ChangeLog, str_search.c: [no log message]

2000-02-13 18:35  rse

	* lib_str/: ChangeLog, str_search.c: [no log message]

2000-02-09 17:41  rse

	* lib_pcre/: ChangeLog, ChangeLog.OSSP, Makefile.in, pcre.h,
	pcre_test.d/testoutput1, pcre_test.d/testoutput2,
	pcre_test.d/testoutput3, pcre_test.d/testoutput4: [no log message]

2000-02-04 18:11  rse

	* lib_str/: str.3, str.pod: [no log message]

2000-02-04 18:05  rse

	* lib_str/: str.3, str.pod, str_base64.c: [no log message]

2000-02-04 17:45  rse

	* lib_str/: ChangeLog, README, TODO, str-config.1, str.3,
	str_version.c: [no log message]

2000-02-02 18:23  rse

	* lib_pcre/README.OSSP: [no log message]

2000-02-02 18:20  rse

	* lib_pcre/: Makefile.in, ChangeLog.OSSP, ltconfig, ltmain.sh,
	shtool: [no log message]

2000-02-02 18:18  rse

	* lib_pcre/: .cvsignore, ChangeLog, ChangeLog.OSSP, LICENCE,
	README, config.h.in, configure, configure.in, pcre.c, pcre.h,
	pcre_dftables.c, pcre_internal.h, pcre_maketables.c, pcre_study.c,
	pcre_test.c, pcreposix.c, pcreposix.h, pgrep.c,
	pcre_test.d/testinput1, pcre_test.d/testinput2,
	pcre_test.d/testoutput1, pcre_test.d/testoutput2,
	pcre_test.d/testoutput3, pcre_test.d/testoutput4, configure: Update
	from 2.08 to 3.0

2000-01-20 21:42  rse

	* lib_str/: ChangeLog, str.h, str_basic.c, str_format.c,
	str_parse.c: [no log message]

2000-01-20 20:02  rse

	* lib_str/str_hash.c: [no log message]

2000-01-20 19:56  rse

	* lib_str/: AUTHORS, ChangeLog, Makefile.in, str.h, str_base64.c,
	str_test.c, Makefile.in, Makefile.in: [no log message]

2000-01-17 16:51  rse

	* lib_str/: str.h, str_hash.c: [no log message]

2000-01-17 14:45  rse

	* lib_str/: ChangeLog, Makefile.in, str.h, str_hash.c: [no log
	message]

2000-01-16 16:19  rse

	* lib_str/: .configure, Makefile.in: [no log message]

2000-01-10 17:54  rse

	* lib_str/: README, str-config.1, str.3, str_version.c: [no log
	message]

2000-01-10 13:00  rse

	* lib_str/ChangeLog: [no log message]

2000-01-10 12:55  rse

	* lib_str/: ChangeLog, str_format.c, str_parse.c, str_pcre.c,
	str_test.c: [no log message]

2000-01-09 20:11  rse

	* lib_str/: ChangeLog, README, THANKS, str-config.1, str.3,
	str_basic.c, str_parse.c, str_version.c, str-config.1, str.3: [no
	log message]

2000-01-04 20:42  rse

	* lib_str/: str_token.c, ChangeLog, THANKS: [no log message]

2000-01-02 13:25  rse

	* lib_str/TODO: [no log message]

2000-01-02 13:21  rse

	* lib_str/: README, TODO, str-config.1, str.3, str.pod,
	str_version.c, ChangeLog, THANKS, LICENSE, ChangeLog: [no log
	message]

2000-01-01 14:05  rse

	* lib_str/: Makefile.in, README, configure, configure.in,
	str-config.in, str-config.pod, str.h, str.pod, str_basic.c,
	str_format.c, str_memory.c, str_p.h, str_parse.c, str_pcre.c,
	str_search.c, str_test.c, str_token.c, str-config.1, str.3,
	Makefile.in, ChangeLog: [no log message]

2000-01-01 14:01  rse

	* lib_str/: TODO, TODO, README, str-config.1, str.3, str_version.c:
	[no log message]

1999-12-28 16:25  rse

	* lib_str/: TODO, str.3, str.pod: [no log message]

1999-12-28 11:50  rse

	* lib_str/Makefile.in: [no log message]

1999-12-28 11:46  rse

	* lib_str/: TODO, str.3, str_test.c: [no log message]

1999-12-28 11:31  rse

	* lib_str/: str_pcre.c, Makefile.in: [no log message]

1999-12-28 11:18  rse

	* lib_str/: .cvsignore, AUTHORS, Makefile.in, acconfig.h,
	configure, configure.in, str_config.h.in, str_p.h, str_parse.c,
	str_pcre.c, str_pcre.h, str_pcre_mk.c, str_pcre_p.h, str_test.c:
	[no log message]

1999-12-28 11:00  rse

	* lib_pcre/: .cvsignore, ChangeLog.OSSP, Makefile.in,
	pcre_chartables.c, pcre_dftables.c: [no log message]

1999-12-27 21:36  rse

	* lib_str/: str.3, str.pod: [no log message]

1999-12-27 21:15  rse

	* lib_str/: str.3, str.pod, str.3, str.pod: [no log message]

1999-12-27 21:09  rse

	* lib_str/: str.3, str.pod: [no log message]

1999-12-27 21:02  rse

	* lib_str/: str.3, str.pod: [no log message]

1999-12-27 20:43  rse

	* lib_str/: README, str.3, str.pod, AUTHORS: [no log message]

1999-12-27 20:20  rse

	* lib_str/str_search.c: [no log message]

1999-12-27 19:40  rse

	* lib_str/: str_format.c, str_search.c, str_token.c, AUTHORS: [no
	log message]

1999-12-27 19:28  rse

	* lib_str/: str.3, str_basic.c: [no log message]

1999-12-27 16:59  rse

	* lib_str/: str.3, str.pod: [no log message]

1999-12-27 16:53  rse

	* lib_str/: str.h, str_format.c, str_p.h, str_parse.c, str_test.c:
	[no log message]

1999-12-27 16:29  rse

	* lib_str/: str.3, str.pod: [no log message]

1999-12-27 15:02  rse

	* lib_str/str_token.c: [no log message]

1999-12-27 14:47  rse

	* lib_str/str_format.c: [no log message]

1999-12-27 14:43  rse

	* lib_str/: Makefile.in, str.3, str.h, str.pod, str_basic.c,
	str_compare.c, str_handle.c, str_p.h, str_test.c, str_token.c: [no
	log message]

1999-12-26 18:49  rse

	* lib_str/: THANKS, AUTHORS, ChangeLog: [no log message]

1999-12-26 18:46  rse

	* lib_str/: AUTHORS, CHANGES, ChangeLog, INSTALL, THANKS,
	Makefile.in, Makefile.in: [no log message]

1999-12-26 18:38  rse

	* lib_str/: shtool, README, str-config.1, str.3, str.pod,
	str_version.c, str-config.1: [no log message]

1999-12-26 18:35  rse

	* lib_str/: str.pod, str.3, Makefile.in: [no log message]

1999-12-26 17:33  rse

	* lib_str/str.3: [no log message]

1999-12-26 17:30  rse

	* lib_str/: str_test.c, str_test.c, Makefile.in: [no log message]

1999-12-26 17:08  rse

	* lib_str/: str_memory.c, str_p.h: [no log message]

1999-12-26 17:05  rse

	* lib_str/: TODO, str_config.h.in: [no log message]

1999-12-26 17:02  rse

	* lib_str/: str.3, str.pod: [no log message]

1999-12-26 16:53  rse

	* lib_str/: Makefile.in, README, str-config.1, str.3, str.pod,
	str_version.c, str.3, str.pod: [no log message]

1999-12-26 16:41  rse

	* lib_str/Makefile.in: [no log message]

1999-12-26 16:37  rse

	* lib_str/: str.h, str_format.c, str_parse.c, str_search.c: [no log
	message]

1999-12-26 16:31  rse

	* lib_str/str.h: [no log message]

1999-12-26 16:24  rse

	* lib_str/: Makefile.in, str_p.h, str_p.h.in, Makefile.in: [no log
	message]

1999-12-26 16:19  rse

	* lib_str/: Makefile.in, str_p.h, str_p.h.in: [no log message]

1999-12-26 16:13  rse

	* lib_str/: Makefile.in, str.3, str.pod: [no log message]

1999-12-26 16:10  rse

	* lib_str/: Makefile.in, str-config.1, str.3, TODO, Makefile.in:
	[no log message]

1999-12-26 16:06  rse

	* lib_str/: .configure, str-config.pod: [no log message]

1999-12-26 16:01  rse

	* lib_str/: configure, configure.in, str-config.in, .cvsignore,
	.cvsignore, TODO: [no log message]

1999-12-26 15:56  rse

	* lib_str/: .cvsignore, aclocal.m4, config.guess, config.sub,
	configure, configure.in, Makefile.in, TODO: [no log message]

1999-12-26 15:52  rse

	* lib_str/: ltconfig, ltmain.sh, Makefile.in, configure: [no log
	message]

1999-12-26 15:45  rse

	* lib_str/: str.h, str_handle.c, str_memory.c, str_p.h,
	str_search.c: [no log message]

1999-12-26 15:08  rse

	* lib_str/: Makefile.in, configure, configure.in, str_memory.c,
	str_p.h: [no log message]

1999-12-25 21:57  rse

	* lib_str/: TODO, str.h, str.pod, str_handle.c, str_search.c: [no
	log message]

1999-12-25 19:33  rse

	* lib_str/: str_compare.c, str_handle.c, str_p.h, str_parse.c,
	str_search.c: [no log message]

1999-12-25 19:26  rse

	* lib_str/: configure, configure.in, str_p.h: [no log message]

1999-12-25 19:23  rse

	* lib_str/: CHANGES, Makefile.in, TODO, str.h, str.pod,
	str_compare.c, str_format.c, str_handle.c, str_parse.c,
	str_search.c, str_test.c, shtool: [no log message]

1999-11-26 19:08  rse

	* lib_str/: TODO, str.pod: [no log message]

1999-11-26 18:08  rse

	* lib_str/: TODO, str_format.c, str_p.h, str_format.c: [no log
	message]

1999-11-26 18:04  rse

	* lib_str/str_test.c: [no log message]

1999-11-26 17:57  rse

	* lib_str/str_format.c: [no log message]

1999-11-26 17:48  rse

	* lib_str/: str_parse.c, str_test.c: [no log message]

1999-11-24 10:48  rse

	* lib_str/str_test.c: [no log message]

1999-11-23 17:08  rse

	* lib_str/: str_parse.c, str_test.c: [no log message]

1999-11-23 16:39  rse

	* lib_str/: str.h, str_format.c: [no log message]

1999-11-23 16:32  rse

	* lib_str/: .cvsignore, str_format.c: [no log message]

1999-11-23 16:07  rse

	* lib_str/str_p.h: [no log message]

1999-11-23 16:04  rse

	* lib_str/: str.h, str_format.c: [no log message]

1999-11-23 15:41  rse

	* lib_str/: str_format.c, str.h: [no log message]

1999-11-23 15:27  rse

	* lib_str/: str_format.c, str.h: [no log message]

1999-11-23 14:54  rse

	* lib_str/: str_format.c, TODO: [no log message]

1999-11-23 10:02  rse

	* lib_str/str.pod: [no log message]

1999-11-23 09:57  rse

	* lib_str/: Makefile.in, str.h, str_handle.c, str_match.c,
	str_parse.c, str_search.c, str_test.c, str.h, str_parse.c,
	str_test.c: [no log message]

1999-11-22 21:26  rse

	* lib_str/: str.pod, str_match.c: [no log message]

1999-11-22 19:02  rse

	* lib_str/: Makefile.in, str.h, str_format.c, str_wrapper.c: [no
	log message]

1999-11-22 18:37  rse

	* lib_str/: str_match.c, str_match.c, str_match.c, str_match.c: [no
	log message]

1999-11-22 18:29  rse

	* lib_str/: .configure, .indent.pro, CHANGES, Makefile.in, README,
	TODO, acconfig.h, aclocal.m4, configure, configure.in, shtool,
	str.h, str.pod, str_compare.c, str_config.h.in, str_format.c,
	str_handle.c, str_match.c, str_search.c, str_test.c, str_version.c,
	str_wrapper.c, str_match.c, .cvsignore, .configure: [no log
	message]

1999-11-22 18:29  rse

	* lib_str/: .configure, .indent.pro, CHANGES, Makefile.in, README,
	TODO, acconfig.h, aclocal.m4, configure, configure.in, shtool,
	str.h, str.pod, str_compare.c, str_config.h.in, str_format.c,
	str_handle.c, str_match.c, str_search.c, str_test.c, str_version.c,
	str_wrapper.c: Initial revision

1999-11-17 12:53  rse

	* lib_pcre/pcre_match.c: [no log message]

1999-11-17 12:49  rse

	* lib_pcre/.cvsignore: [no log message]

1999-11-17 12:37  rse

	* lib_pcre/: libtool, ChangeLog.OSSP, pcre_match.c, configure,
	ChangeLog.OSSP: [no log message]

1999-09-28 12:39  rse

	* lib_pcre/: Makefile.in, configure, configure.in: [no log message]

1999-09-28 12:33  rse

	* lib_pcre/: ChangeLog, ChangeLog.OSSP, README, pcre.3, pcre.c,
	pcre.h, pcre_internal.h, pcre_test.c, shtool,
	pcre_test.d/testinput2, pcre_test.d/testinput3,
	pcre_test.d/testoutput1, pcre_test.d/testoutput2,
	pcre_test.d/testoutput3, pcre_test.d/testoutput4, configure,
	configure.in: [no log message]

1999-08-26 10:23  rse

	* lib_pcre/: ChangeLog.OSSP, README.OSSP, pcre-config.in: [no log
	message]

1999-08-26 10:19  rse

	* lib_pcre/: .cvsignore, ChangeLog.OSSP: [no log message]

1999-08-26 10:15  rse

	* lib_pcre/: .configure, pcre_test.d/testinput1,
	pcre_test.d/testinput2, pcre_test.d/testinput3,
	pcre_test.d/testinput4, pcre_test.d/testoutput1,
	pcre_test.d/testoutput2, pcre_test.d/testoutput3,
	pcre_test.d/testoutput4: Import AXE pcre

1999-08-26 10:15  rse

	* lib_pcre/: LICENCE, README, configure, configure.in, pcre.3,
	pcre.c, pcre.h, pcre_dftables.c, pcre_get.c, pcre_internal.h,
	pcreposix.3, pcreposix.c, pcreposix.h, shtool, .configure,
	ChangeLog, ChangeLog.OSSP, INSTALL, Makefile.in, libtool, ltconfig,
	ltmain.sh, pcre-config.in, pcre_chartables.c, pcre_maketables.c,
	pcre_match.c, pcre_study.c, pcre_test.c, pcre_test.sh, pgrep.1,
	pgrep.c, pcre_test.d/testinput1, pcre_test.d/testinput2,
	pcre_test.d/testinput3, pcre_test.d/testinput4,
	pcre_test.d/testoutput1, pcre_test.d/testoutput2,
	pcre_test.d/testoutput3, pcre_test.d/testoutput4: Initial revision

1999-08-26 10:15  rse

	* lib_pcre/: LICENCE, README, configure, configure.in, pcre.3,
	pcre.c, pcre.h, pcre_dftables.c, pcre_get.c, pcre_internal.h,
	pcreposix.3, pcreposix.c, pcreposix.h, shtool, ChangeLog,
	ChangeLog.OSSP, INSTALL, Makefile.in, libtool, ltconfig, ltmain.sh,
	pcre-config.in, pcre_chartables.c, pcre_maketables.c, pcre_match.c,
	pcre_study.c, pcre_test.c, pcre_test.sh, pgrep.1, pgrep.c: Import
	OSSP pcre

