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, test/.cvsignore, test/run.sh,
	test/testmessage.foldlinesvialmtp, test/testmessage.viasendmail,
	test/triplecheck.sh: 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

	* l2/TODO: remember a few things

2001-09-12 18:07  ms

	* 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, 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 16:23  thl

	* test/: .cvsignore, run.sh, testmessage.foldlinesvialmtp,
	testmessage.vialmtp, testmessage.viasendmail: first self contained
	make check for release

2001-09-12 15:50  rse

	* 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

	* 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

	* 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

	* 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

	* 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

	* 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

	* 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

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

2001-09-12 10:08  thl

	* 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:52  thl

	* test/run.sh: relax hostname/ address dependencies for make check

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,
	test/run.sh, test/testmessage.vialmtp: 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

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

2001-09-11 14:55  rse

	* l2/TODO: do not forget interesting channel ideas

2001-09-11 14:32  rse

	* l2/TODO: update TODO list

2001-09-11 13:59  rse

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

2001-09-11 13:39  rse

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

2001-09-11 12:40  thl

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

2001-09-11 12:37  thl

	* 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

	* 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

	* 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

	* l2/l2_ch_syslog.c: Removed unused variable.

2001-09-10 16:32  ms

	* 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

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

2001-09-10 13:20  ms

	* 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

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

2001-09-10 12:14  thl

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

2001-09-10 11:55  thl

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

2001-09-10 11:54  thl

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

2001-09-10 11:48  thl

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

2001-09-10 08:55  thl

	* .configure, test/run.sh: 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

	* 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

	* 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

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

2001-09-09 18:01  rse

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

2001-09-09 17:59  rse

	* l2/TODO: remember my personal points

2001-09-09 17:57  rse

	* 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

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

2001-09-09 17:54  rse

	* 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

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

2001-09-09 00:06  rse

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

2001-09-09 00:06  rse

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

2001-09-09 00:05  rse

	* l2/l2_ut_sa.c: fix function name

2001-09-08 23:04  rse

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

2001-09-08 13:25  rse

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

2001-09-08 13:07  rse

	* 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

	* 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, test/.cvsignore, test/run.sh,
	test/testmessage.vialmtp: The -b option now works. L2 logging
	included.

2001-09-07 15:03  ms

	* l2/: l2_ch_socket.c, l2_sockmon.c: Bug fixes to both IPv4 and
	IPv6 socket binding.

2001-09-07 12:27  thl

	* .cvsignore, test/.cvsignore: ignore more files

2001-09-07 12:25  thl

	* l2/l2_ut_sa.c, sa.c: fix mandatory sockaddr_in initialization

2001-09-07 12:23  ms

	* l2/l2_ch_socket.c: Cleaned up and KR styled.

2001-09-06 21:29  ms

	* l2/l2_test.c: More kludges to test sockets UDP and IPv6.

2001-09-06 21:29  ms

	* l2/l2_sockmon.c: The monitor can now server UDP sockets and IPv6
	connections.

2001-09-06 21:28  ms

	* 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

	* 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

	* l2/: l2_ut_sa.c, l2_ut_sa.h: use the L2 prefix

2001-09-06 18:28  rse

	* 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

	* l2/l2_ch_socket.c: Use plain K&R coding style.

2001-09-06 18:10  rse

	* 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

	* 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

	* 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

	* l2/l2_sockmon.c: Included logic to monitor IPv6 and UDP
	connections.

2001-09-06 13:56  rse

	* 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

	* 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

	* 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

	* l2/l2_sockmon.c: Added socket monitoring tool for testing the
	socket channel handler.

2001-09-05 18:15  ms

	* 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

	* l2/l2_stream.c: fix bit-check

2001-09-05 15:56  rse

	* l2/: l2_ch_prefix.c, l2_test.c: Implemented prefix channel plus
	mini test.

2001-09-05 15:56  rse

	* 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

	* l2/l2_ut_param.c: fix L2_TYPE_STRING: argument can be NULL

2001-09-05 15:33  rse

	* l2/l2_stream.c: make sure logging message has a trailing newline

2001-09-05 15:33  rse

	* l2/Makefile.in: fix 'make check'

2001-09-05 15:32  thl

	* 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

	* 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

	* str/.cvsignore: more ignored files

2001-09-05 10:29  rse

	* 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

	* 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

	* 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

	* 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

	* l2/: l2_ch_syslog.c, l2_test.c: Array bug fixes and code to test
	sockets.

2001-09-04 21:34  ms

	* l2/l2_ch_socket.c: Completed IPv4 and IPv6 implementations of
	configure, open, and write callbacks functions.

2001-09-04 21:18  rse

	* 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

	* l2/.cvsignore: Whoops, Ralf already fixed this. Back out my last
	change.

2001-09-04 17:59  ms

	* l2/.cvsignore: Ignore l2_config.h.in during cvs new file checks.

2001-09-04 17:44  rse

	* 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

	* 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

	* 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

	* l2/l2_ch_buffer.c: fix array sizes

2001-09-04 16:52  rse

	* 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

	* l2/l2_test.c: make static

2001-09-04 16:23  ms

	* l2/l2_test.c: Much more beautiful formatter callback (whitespace
	cleanup.)

2001-09-04 16:17  ms

	* l2/: l2_stream.c, l2_test.c: Bugfixes and new format testing.

2001-09-04 15:53  rse

	* l2/Makefile.in: remove test logfile from 'make check'

2001-09-04 15:52  rse

	* 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

	* l2/.cvsignore: fix ignore list

2001-09-04 15:12  rse

	* l2/.cvsignore: ignore generated files

2001-09-04 13:32  ms

	* 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

	* 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

	* l2/autogen.sh: Fix quoting

2001-09-04 11:12  rse

	* l2/AUTHORS: do not forget Michael

2001-09-03 19:23  rse

	* 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

	* 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

	* l2/l2_ch_file.c: fix configuration bug in file channel

2001-09-03 14:16  rse

	* l2/: TODO, l2-config.1, l2.h, l2_p.h, l2_stream.c: revamped L2
	stream API

2001-09-03 13:50  rse

	* l2/l2_channel.c: remove useless assign

2001-09-02 17:38  ms

	* l2/l2_test.c: Added configuration and opening of buffer and file
	channels.

2001-09-02 17:37  ms

	* 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

	* 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

	* l2/l2_objects.fig: Better positions of text labels.

2001-09-02 17:32  ms

	* l2/TODO: Added remarks about buffer write, socket send, and
	output endpoint.

2001-09-02 16:38  ms

	* l2/l2_ch_socket.c: Basic architecture and functionality
	additions.

2001-09-02 16:37  ms

	* l2/l2_channel.c: Revert to last version due to new design of
	l2_ch_socket_t.

2001-09-02 15:18  ms

	* 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

	* 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, test/testmessage.foldlinesvialmtp,
	test/testmessage.vialmtp: 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, test/run.sh: 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

	* 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, test/run.sh, test/testmessage.vialmtp:
	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

	* l2/l2_ch_socket.c: Wrote the l2_ch_socket_t class, and its create
	and configure methods.

2001-08-26 15:05  ms

	* l2/l2_ch_syslog.c: Completed syslog channel implementation -
	might need trimming down.

2001-08-26 15:02  ms

	* l2/l2_epreuve.c: Added code to check syslog channel logic.

2001-08-26 15:01  ms

	* 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

	* l2/TODO: Added syslog channel remarks and question about using a
	pointer reference.

2001-08-25 20:27  ms

	* l2/l2_ch_syslog.c: Upgraded skeleton of syslog channel module.

2001-08-24 17:16  ms

	* l2/l2_ch_buffer.c: Conforms to doc (mostly comments) standard set
	by l2_ch_file.c.

2001-08-24 17:15  ms

	* l2/l2_epreuve.c: Some output format changes.

2001-08-24 17:15  ms

	* 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:58  thl

	* test/: run.sh, testmessage.vialmtp, triplecheck.sh: updated
	check/test environment

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

	* 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

	* l2/l2_ch_buffer.c: Upgraded bzero(3) to memset(3).

2001-08-22 20:12  ms

	* 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

	* l2/TODO: Added two important things to remember - Error msgs and
	Doku.

2001-08-22 20:08  ms

	* l2/l2_epreuve.c: Additionally tests the buffer handler.

2001-08-22 19:28  ms

	* l2/l2_objects.fig: A new and better blob, minor cleanup, and full
	compliance to OMG UML standard.

2001-08-21 19:38  ms

	* l2/l2_objects.fig: Improved the class blob, and added the missing
	logging level constants.

2001-08-21 15:03  ms

	* l2/l2_objects.fig: Added shading, layer info, and reformatted a
	little.

2001-08-21 15:00  ms

	* 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

	* l2/epreuve.c: The file 'epreuve.c' is now called 'l2_epreuve.c'.

2001-08-20 19:17  ms

	* l2/l2_epreuve.c: Test file for individual channel testing

2001-08-20 19:06  ms

	* 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, test/run.sh: 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,
	test/run.sh, 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

	* 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, test/run.sh, test/testmessage.viasendmail: INN kludge,
	IHAVE feeding, -d deliverymode command line option, DEFER handing

2001-08-16 15:25  rse

	* str/THANKS: Give proper credit to contributors

2001-08-16 15:24  rse

	* str/: str-config.1, str.3: update generated files

2001-08-16 15:22  rse

	* 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

	* 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

	* str/ChangeLog: Ops, this was fixed by me, but discovered by
	Thomas.

2001-08-16 15:18  rse

	* str/THANKS: Add Thomas and Peter S. for their help

2001-08-16 15:17  rse

	* 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

	* str/str_test.c: Add two more tests for the recent problematic
	regex

2001-08-16 14:24  rse

	* str/: configure, configure.ac: We require Autoconf 2.52

2001-08-16 14:21  rse

	* 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

	* 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

	* 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-15 12:36  rse

	* 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

	* l2/: configure, configure.ac, configure.in, l2_config.h.in:
	Rename configure.in to configure.ac

2001-08-15 09:49  rse

	* 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

	* l2/TODO: add one idea which we could follow later...

2001-08-14 16:43  ms

	* 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,
	test/run.sh, test/testmessage.vialmtp,
	test/testmessage.viasendmail: connected LMTP and NNTP side, now
	featuring all three -g groupmodes, added post1000 articles burn-in

2001-08-14 13:26  thl

	* test/run.sh: run.sh now using -t /tmp/tracing option

2001-08-14 10:15  thl

	* lmtp.c, lmtp.h, lmtp2nntp.c, lmtp2nntp.pod, msg.c, msg.h, nntp.c,
	trace.c, trace.h, test/run.sh: 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, test/run.sh: 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-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 12:40  thl

	* test/run.sh: moved test from Makefile into run.sh

2001-08-08 11:26  thl

	* lmtp2nntp.c: added line wrapping

2001-08-07 20:56  rse

	* 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

	* l2/TODO: remember things

2001-05-26 10:06  rse

	* 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

	* l2/: l2.h, l2_ch_syslog.c: cleanup style

2001-05-26 10:02  rse

	* 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

	* 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

	* l2/TODO: test commit

2001-05-22 22:00  rse

	* l2/: l2_ch_buffer.c, l2_channel.c: Implement a first cut for a
	buffer channel (still untested).

2001-05-22 20:47  rse

	* 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

	* l2/l2_ch_file.c: Simplify the file handler, because a NULL ctx
	cannot happen at all.

2001-05-21 21:29  rse

	* l2/shtool: Update GNU shtool to version 1.5.3

2001-05-19 22:14  rse

	* 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

	* 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

	* l2/Makefile.in: fix 'make clean'

2001-05-19 12:23  rse

	* l2/TODO: Remember timeplan

2001-05-17 16:43  simons

	* l2/l2_stream.c: Implemented l2_stream_create(),
	l2_stream_destroy(), and l2_stream_channel().

2001-05-17 16:42  simons

	* l2/l2_test.c: Wrote a small test program for the library.

2001-05-17 16:42  simons

	* l2/l2_ch_syslog.c: Implemented write() method of the syslog
	handler.

2001-05-17 16:41  simons

	* l2/l2_p.h: Added missing "_st" suffix to the declaration of the
	l2_stream structure.

2001-05-17 16:40  simons

	* 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

	* l2/TODO: update todo

2001-05-12 09:23  rse

	* l2/: l2_test++.cc, l2_test.c: - Add copyrights - use l2++.h in
	C++ test

2001-05-11 21:50  rse

	* 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

	* l2/: configure, configure.in: fix typo in company name (ops)

2001-05-11 20:42  rse

	* l2/l2.m4: fix alignment

2001-05-11 20:37  rse

	* l2/Makefile.in: Fix manpage substitution

2001-05-11 19:07  rse

	* 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

	* l2/.cvsignore: add .cvsignore

2001-05-10 22:00  rse

	* l2/: l2.3, l2.pod: get rid of old Str stuff

2001-05-10 21:46  rse

	* 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-05-10 21:46  rse

	* 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-04-28 10:18  rse

	* str/: configure, configure.in, str_config.h.in, str_format.c: [no
	log message]

2001-04-27 14:22  rse

	* str/: .configure, ChangeLog, TODO, shtool, str.3, str_format.c,
	str_format.c: [no log message]

2001-04-27 14:12  rse

	* str/str_format.c: [no log message]

2000-11-20 20:48  rse

	* str/: ChangeLog, shtool, str_pcre_mk.c, str_search.c: [no log
	message]

2000-07-14 17:24  rse

	* 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

	* str/ChangeLog: Fix name now that it's known.

2000-07-14 13:09  rse

	* str/: ChangeLog, ltconfig, ltmain.sh, shtool, ChangeLog: [no log
	message]

2000-07-14 13:04  rse

	* str/: ChangeLog, configure, configure.in: [no log message]

2000-07-03 11:47  rse

	* str/ChangeLog: [no log message]

2000-07-03 11:38  rse

	* str/TODO: [no log message]

2000-05-25 15:04  rse

	* str/: ChangeLog, str_basic.c, str_p.h: [no log message]

2000-05-25 14:51  rse

	* str/: ChangeLog, TODO: [no log message]

2000-04-24 18:34  rse

	* str/TODO: [no log message]

2000-03-01 12:08  rse

	* str/: str_basic.c, str_test.c: [no log message]

2000-03-01 10:59  rse

	* str/: str_p.h, str_search.c: [no log message]

2000-03-01 10:50  rse

	* str/str_search.c: [no log message]

2000-03-01 08:51  rse

	* str/: ChangeLog, str_format.c: [no log message]

2000-02-29 16:30  rse

	* str/: ChangeLog, README, str-config.1, str.3, str_version.c: [no
	log message]

2000-02-21 14:02  rse

	* str/: str_test.c, ChangeLog, README, str-config.1, str.3,
	str_version.c: [no log message]

2000-02-21 13:55  rse

	* str/: ChangeLog, str_search.c: [no log message]

2000-02-13 18:35  rse

	* str/: ChangeLog, str_search.c: [no log message]

2000-02-04 18:11  rse

	* str/: str.3, str.pod: [no log message]

2000-02-04 18:05  rse

	* str/: str.3, str.pod, str_base64.c: [no log message]

2000-02-04 17:45  rse

	* str/: ChangeLog, README, TODO, str-config.1, str.3,
	str_version.c: [no log message]

2000-01-20 21:42  rse

	* str/: ChangeLog, str.h, str_basic.c, str_format.c, str_parse.c:
	[no log message]

2000-01-20 20:02  rse

	* str/str_hash.c: [no log message]

2000-01-20 19:56  rse

	* 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

	* str/: str.h, str_hash.c: [no log message]

2000-01-17 14:45  rse

	* str/: ChangeLog, Makefile.in, str.h, str_hash.c: [no log message]

2000-01-16 16:19  rse

	* str/: .configure, Makefile.in: [no log message]

2000-01-10 17:54  rse

	* str/: README, str-config.1, str.3, str_version.c: [no log
	message]

2000-01-10 13:00  rse

	* str/ChangeLog: [no log message]

2000-01-10 12:55  rse

	* str/: ChangeLog, str_format.c, str_parse.c, str_pcre.c,
	str_test.c: [no log message]

2000-01-09 20:11  rse

	* 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

	* str/: str_token.c, ChangeLog, THANKS: [no log message]

2000-01-02 13:25  rse

	* str/TODO: [no log message]

2000-01-02 13:21  rse

	* 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

	* 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

	* str/: TODO, TODO, README, str-config.1, str.3, str_version.c: [no
	log message]

1999-12-28 16:25  rse

	* str/: TODO, str.3, str.pod: [no log message]

1999-12-28 11:50  rse

	* str/Makefile.in: [no log message]

1999-12-28 11:46  rse

	* str/: TODO, str.3, str_test.c: [no log message]

1999-12-28 11:31  rse

	* str/: str_pcre.c, Makefile.in: [no log message]

1999-12-28 11:18  rse

	* 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-27 21:36  rse

	* str/: str.3, str.pod: [no log message]

1999-12-27 21:15  rse

	* str/: str.3, str.pod, str.3, str.pod: [no log message]

1999-12-27 21:09  rse

	* str/: str.3, str.pod: [no log message]

1999-12-27 21:02  rse

	* str/: str.3, str.pod: [no log message]

1999-12-27 20:43  rse

	* str/: README, str.3, str.pod, AUTHORS: [no log message]

1999-12-27 20:20  rse

	* str/str_search.c: [no log message]

1999-12-27 19:40  rse

	* str/: str_format.c, str_search.c, str_token.c, AUTHORS: [no log
	message]

1999-12-27 19:28  rse

	* str/: str.3, str_basic.c: [no log message]

1999-12-27 16:59  rse

	* str/: str.3, str.pod: [no log message]

1999-12-27 16:53  rse

	* str/: str.h, str_format.c, str_p.h, str_parse.c, str_test.c: [no
	log message]

1999-12-27 16:29  rse

	* str/: str.3, str.pod: [no log message]

1999-12-27 15:02  rse

	* str/str_token.c: [no log message]

1999-12-27 14:47  rse

	* str/str_format.c: [no log message]

1999-12-27 14:43  rse

	* 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

	* str/: THANKS, AUTHORS, ChangeLog: [no log message]

1999-12-26 18:46  rse

	* str/: AUTHORS, CHANGES, ChangeLog, INSTALL, THANKS, Makefile.in,
	Makefile.in: [no log message]

1999-12-26 18:38  rse

	* 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

	* str/: str.pod, str.3, Makefile.in: [no log message]

1999-12-26 17:33  rse

	* str/str.3: [no log message]

1999-12-26 17:30  rse

	* str/: str_test.c, str_test.c, Makefile.in: [no log message]

1999-12-26 17:08  rse

	* str/: str_memory.c, str_p.h: [no log message]

1999-12-26 17:05  rse

	* str/: TODO, str_config.h.in: [no log message]

1999-12-26 17:02  rse

	* str/: str.3, str.pod: [no log message]

1999-12-26 16:53  rse

	* 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

	* str/Makefile.in: [no log message]

1999-12-26 16:37  rse

	* str/: str.h, str_format.c, str_parse.c, str_search.c: [no log
	message]

1999-12-26 16:31  rse

	* str/str.h: [no log message]

1999-12-26 16:24  rse

	* str/: Makefile.in, str_p.h, str_p.h.in, Makefile.in: [no log
	message]

1999-12-26 16:19  rse

	* str/: Makefile.in, str_p.h, str_p.h.in: [no log message]

1999-12-26 16:13  rse

	* str/: Makefile.in, str.3, str.pod: [no log message]

1999-12-26 16:10  rse

	* str/: Makefile.in, str-config.1, str.3, TODO, Makefile.in: [no
	log message]

1999-12-26 16:06  rse

	* str/: .configure, str-config.pod: [no log message]

1999-12-26 16:01  rse

	* str/: configure, configure.in, str-config.in, .cvsignore,
	.cvsignore, TODO: [no log message]

1999-12-26 15:56  rse

	* str/: .cvsignore, aclocal.m4, config.guess, config.sub,
	configure, configure.in, Makefile.in, TODO: [no log message]

1999-12-26 15:52  rse

	* str/: ltconfig, ltmain.sh, Makefile.in, configure: [no log
	message]

1999-12-26 15:45  rse

	* str/: str.h, str_handle.c, str_memory.c, str_p.h, str_search.c:
	[no log message]

1999-12-26 15:08  rse

	* str/: Makefile.in, configure, configure.in, str_memory.c,
	str_p.h: [no log message]

1999-12-25 21:57  rse

	* str/: TODO, str.h, str.pod, str_handle.c, str_search.c: [no log
	message]

1999-12-25 19:33  rse

	* 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

	* str/: configure, configure.in, str_p.h: [no log message]

1999-12-25 19:23  rse

	* 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

	* str/: TODO, str.pod: [no log message]

1999-11-26 18:08  rse

	* str/: TODO, str_format.c, str_p.h, str_format.c: [no log message]

1999-11-26 18:04  rse

	* str/str_test.c: [no log message]

1999-11-26 17:57  rse

	* str/str_format.c: [no log message]

1999-11-26 17:48  rse

	* str/: str_parse.c, str_test.c: [no log message]

1999-11-24 10:48  rse

	* str/str_test.c: [no log message]

1999-11-23 17:08  rse

	* str/: str_parse.c, str_test.c: [no log message]

1999-11-23 16:39  rse

	* str/: str.h, str_format.c: [no log message]

1999-11-23 16:32  rse

	* str/: .cvsignore, str_format.c: [no log message]

1999-11-23 16:07  rse

	* str/str_p.h: [no log message]

1999-11-23 16:04  rse

	* str/: str.h, str_format.c: [no log message]

1999-11-23 15:41  rse

	* str/: str_format.c, str.h: [no log message]

1999-11-23 15:27  rse

	* str/: str_format.c, str.h: [no log message]

1999-11-23 14:54  rse

	* str/: str_format.c, TODO: [no log message]

1999-11-23 10:02  rse

	* str/str.pod: [no log message]

1999-11-23 09:57  rse

	* 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

	* str/: str.pod, str_match.c: [no log message]

1999-11-22 19:02  rse

	* str/: Makefile.in, str.h, str_format.c, str_wrapper.c: [no log
	message]

1999-11-22 18:37  rse

	* str/: str_match.c, str_match.c, str_match.c, str_match.c: [no log
	message]

1999-11-22 18:29  rse

	* 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-22 18:29  rse

	* 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]

