Programming:
- Grep for 'XXX' comments and fix

- Write a test program that calls stat() to search for EGD/PRNGd socket
  rather than use the (non-portable) "test -S".

- Replacement for setproctitle() - HP/UX support only currently

- Improve PAM support (a pam_lastlog module will cause sshd to exit)
  and maybe support alternate forms of authenications like OPIE via
  pam?

- Complete Tru64 SIA support

- Finish integrating kernel-level auditing code for IRIX and SOLARIS
  (Gilbert.r.loomis@saic.com)

- sftp-server:  Rework to step down to 32bit ints if the platform
  lacks 'long long' == 64bit (Notable SCO w/ SCO compiler)

- Linux hangs for 20 seconds when you do "sleep 20&exit".  All current
  solutions break scp or leaves processes hanging around after the ssh
  connection has ended.  It seems to be linked to two things.  One
  select() under Linux is not as nice as others, and two the children
  of the shell are not killed on exiting the shell.

- Build an automated test suite

- Verify that It's safe to enable NGROUPS_MAX under NeXTStep for
  groupaccess features. (mouring@eviladmin.org)

Documentation:
- More and better

- Install FAQ?

- General FAQ on S/Key, TIS, RSA, RSA2, DSA, etc and suggestions on when it
  would be best to use them.  

- Create a Documentation/ directory?

Clean up configure/makefiles:
- Clean up configure.in - There are a few double #defined variables
  left to do.  HAVE_LOGIN is one of them.  Consider NOT looking for information
  in wtmpx or utmpx or any of that stuff if it's not detected from the start

- Fails to compile when cross compile.
  (vinschen@redhat.com)

- Replace the whole u_intXX_t evilness in acconfig.h with something better???

- Consider splitting the u_intXX_t test for sys/bitype.h  into seperate test
  to allow people to (right/wrongfully) link against Bind directly.

Packaging:
- Solaris: Update packaging scripts and build new sysv startup scripts
  (gilbert.r.loomis@saic.com)

- HP/UX: Provide DEPOT package scripts.
  (gilbert.r.loomis@saic.com)

$Id: TODO,v 1.36 2001/02/17 01:04:37 mouring Exp $
