/*	$Id: TODO,v 1.88 2002/09/14 20:17:49 alejo Exp $	*/

** NEXT RELEASE 1.10 **

FOR THIS RELEASE

Important
---------

- option for udp to only resolve once with dns (cache names)
- om_classic take option to create the file if not present
- switch to getxopt() all the code
- switch to strlcpy() and strlcat() all the code
- sql modules option to override msg date and use local date
- unify common code for sql modules
- sql disk cache (available as option)
- back to single executable (too many shared lib problems)
- individually compile modules
- fix or remove doors module
- regex module rewrite
- fix working in openbsd when missing bsd.port.mk
- use the sourceforge compile farm to test and generate binaries
- fix rpm creation
- tcpwrappers support
- divide classic in om_file, om_udp, om_console, om_wall, om_user.
- use regular expressions to parse input logs
- allow chroot usage (this requires no input close)


Desirable
---------

- switch to libevent (this implies lots of changes)
- implement snmp modules
- openssl module
- vcr
- have processing modules
	- peo
	- vcr
	- regex
- peo and vcr support for sql
- peo code is a bit arcane, beautify (i.e. readline)
- general and regression tests
- unify documentation (docbook or similar)
- use 2.X configuration system
- change configuration file to /etc/msyslog.conf
- jabber modules


FOR NEXT RELEASE

- finish log structure stuff, including some queue handling
	- after that, improve om_regex, and join reduntant code.
	- have in mind new standards
- Move buffer of lost messages out of modules, so all om can use it.
- Check "" errors on solaris / support spaces intead the tabs on configfile
- define STYLE for names (ie. underscore or caps, indentation)
- redo parsing functions
- CHECK LIBC and GLIBC's way to work
- use more cache on autoconf
- %subst module
- Make source compile on non gcc systems.
- We need to allow several others log methods like syscalls (ex.: im_linux)
- Make a dbm/ndbm output module. talk w/ audit for that

FOR UNKNOWN FUTURE

- Use one function per module, with action as a parameter.
- Check linux kernel 2.4 potential header problems
- Let im_tcp do the connect, and om_tcp do the listen.
- support modules in shared libraries again
	- Makefiles should let compile a single module as a .so

Check for buffer overflows, as we now may get things from the outside world.

- Kill filed structure, associate ins and outs so no for(;;) is needed
- Optimize each input/output module
- redo line format while keeping "<" and ">" usage (prevent new syslog proto)
- Add linux extensions on selector field on configuration file
- Reconfiguing input modules on the fly (syslog -i "unix /dev/klog" when
  syslog is already running)
- Keep alive [remote] saying how many messages have been sent from the previous
  keep alive
- Check why messages to console take a while to pop up
- check M$ MAPI
- check pager stuff formats
