blob: f667d59d6fa8b6c74d9efb6db803b6f5955fb10d [file] [log] [blame]
Ben Lindstrom4a1d9162000-11-21 10:45:31 +00001Programming:
Damien Miller33804262001-02-04 23:20:18 +11002- Grep for 'XXX' comments and fix
3
Damien Miller883631b2001-03-21 11:12:55 +11004- Link order is incorrect for some systems using Kerberos 4 and AFS. Result
Damien Miller771bbac2001-03-27 16:10:22 +10005 is multiple inclusion of DES symbols. Holger Trapp
6 <holger.trapp@hrz.tu-chemnitz.de> reports that changing the configure
7 generated link order from:
8 -lresolv -lkrb -lz -lnsl -lutil -lkafs -lkrb -ldes -lcrypto
9 to:
10 -lresolv -lkrb -lz -lnsl -lutil -lcrypto -lkafs -lkrb -ldes
11 fixing the problem.
Damien Miller883631b2001-03-21 11:12:55 +110012
Damien Millerb8b8ecf2001-02-08 10:47:43 +110013- Write a test program that calls stat() to search for EGD/PRNGd socket
Damien Millerdd97de72001-03-05 23:33:24 +110014 rather than use the (non-portable) "test -S".
Damien Millerb8b8ecf2001-02-08 10:47:43 +110015
Kevin Steves55fb9a92001-03-19 14:58:47 +000016- Replacement for setproctitle() - HP-UX support only currently
Damien Miller356a0b01999-11-08 15:30:59 +110017
Damien Millerdd97de72001-03-05 23:33:24 +110018- Handle changing passwords for the non-PAM expired password case
19
Damien Millerc7b38ce1999-11-09 10:28:04 +110020- Improve PAM support (a pam_lastlog module will cause sshd to exit)
Damien Miller53998382002-09-05 16:32:02 +100021 and maybe support alternate forms of authentications like OPIE via
Ben Lindstromc72745a2000-12-02 19:03:54 +000022 pam?
Damien Miller356a0b01999-11-08 15:30:59 +110023
Damien Millerdd97de72001-03-05 23:33:24 +110024- Rework PAM ChallengeResponseAuthentication
25 - Use kbdint request packet with 0 prompts for informational messages
26 - Use different PAM service name for kbdint vs regular auth (suggest from
27 Solar Designer)
28 - Ability to select which ChallengeResponseAuthentications may be used
29 and order to try them in e.g. "ChallengeResponseAuthentication skey, pam"
30
Damien Millerad833b32000-08-23 10:46:23 +100031- Complete Tru64 SIA support
Damien Millerfdbcb5d2001-09-25 13:01:49 +100032 - It looks like we could merge it into the password auth code to cut down
33 on diff size. Maybe PAM password auth too?
Ben Lindstrom4a1d9162000-11-21 10:45:31 +000034
35- Finish integrating kernel-level auditing code for IRIX and SOLARIS
36 (Gilbert.r.loomis@saic.com)
37
Ben Lindstrom48b2f732001-01-08 06:20:38 +000038- sftp-server: Rework to step down to 32bit ints if the platform
39 lacks 'long long' == 64bit (Notable SCO w/ SCO compiler)
Ben Lindstrom4a1d9162000-11-21 10:45:31 +000040
Ben Lindstroma15e39b2000-12-02 04:58:57 +000041- Linux hangs for 20 seconds when you do "sleep 20&exit". All current
42 solutions break scp or leaves processes hanging around after the ssh
43 connection has ended. It seems to be linked to two things. One
44 select() under Linux is not as nice as others, and two the children
Damien Miller53998382002-09-05 16:32:02 +100045 of the shell are not killed on exiting the shell.
46 A short run-down of what happens:
47 - The shell starts up, and starts its own session. As a side-effect, it
48 gets its own process group.
49 - The child forks off sleep, and because it's in the background, puts it
50 into its own process group. The sleep command inherits a copy of the
51 shell's descriptor for the tty as its stdout.
52 - The shell exits, but doesn't SIGHUP all of its child PIDs like it probably
53 should(?)
54 - The sshd server attempts to read from the master side of the pty, and
55 while there are still process with the pty open, no EOF is produced.
56 - The sleep command exits, closes its descriptor, sshd detects the EOF, and
57 the connection gets closed.
58 Ways we've tried fixing this in sshd, and why they didn't work out:
59 - SIGHUP the sshd's process group.
60 - The shell is in its own process group.
61 - Track process group IDs of all children before we reap them (via an extra
62 field in Session structures which holds the pgid for each child pid), and
63 SIGHUP the pgid when we reap.
64 - Background commands are in yet another process group.
65 - Close the connection when the child dies.
66 - Background commands may need to write data to the connection. Also
67 prematurely truncates output from some commands (scp server, the
68 famous "dd if=/dev/zero bs=1000 count=100" case).
69 Known workarounds:
70 - bash: shopt huponexit on
71 - tcsh: none
72 - zsh: setopt HUP (usually the default setting)
73 (taken from email from Jason Stone to openssh-unix-dev, 5 May 2001)
74 - pdksh: ?
75 This appears to affect NetKit rsh under Linux as well: it behaves the same
76 with 'sleep 20 & exit'.
Ben Lindstroma15e39b2000-12-02 04:58:57 +000077
Damien Millerb8481582000-12-03 11:51:51 +110078- Build an automated test suite
79
Kevin Steves55fb9a92001-03-19 14:58:47 +000080- 64-bit builds on HP-UX 11.X (stevesk@pobox.com):
81 - utmp/wtmp get corrupted (something in loginrec?)
Kevin Steves55fb9a92001-03-19 14:58:47 +000082 - can't build with PAM (no 64-bit libpam yet)
83
Ben Lindstrom4a1d9162000-11-21 10:45:31 +000084Documentation:
85- More and better
86
87- Install FAQ?
88
89- General FAQ on S/Key, TIS, RSA, RSA2, DSA, etc and suggestions on when it
90 would be best to use them.
91
92- Create a Documentation/ directory?
93
94Clean up configure/makefiles:
Tim Riceb89e6942001-10-29 18:50:39 -080095- Clean up configure.ac - There are a few double #defined variables
Damien Millerdd97de72001-03-05 23:33:24 +110096 left to do. HAVE_LOGIN is one of them. Consider NOT looking for
97 information in wtmpx or utmpx or any of that stuff if it's not detected
98 from the start
Ben Lindstrom4a1d9162000-11-21 10:45:31 +000099
Ben Lindstrom4a1d9162000-11-21 10:45:31 +0000100- Fails to compile when cross compile.
101 (vinschen@redhat.com)
102
103- Replace the whole u_intXX_t evilness in acconfig.h with something better???
104
Ben Lindstrom28bfc0d2000-12-18 19:58:57 +0000105- Consider splitting the u_intXX_t test for sys/bitype.h into seperate test
106 to allow people to (right/wrongfully) link against Bind directly.
107
Damien Millerc68d4332002-01-22 22:26:20 +1100108- Consider splitting configure.ac into seperate files which do logically
109 similar tests. E.g move all the type detection stuff into one file,
110 entropy related stuff into another.
111
Ben Lindstrom4a1d9162000-11-21 10:45:31 +0000112Packaging:
113- Solaris: Update packaging scripts and build new sysv startup scripts
Damien Millerdd97de72001-03-05 23:33:24 +1100114 Ideally the package metadata should be generated by autoconf.
Ben Lindstrom4a1d9162000-11-21 10:45:31 +0000115 (gilbert.r.loomis@saic.com)
116
Kevin Steves55fb9a92001-03-19 14:58:47 +0000117- HP-UX: Provide DEPOT package scripts.
Ben Lindstrom4a1d9162000-11-21 10:45:31 +0000118 (gilbert.r.loomis@saic.com)
Damien Millere9cf3572001-02-09 12:55:35 +1100119
Ben Lindstromaa83b982002-06-25 02:28:22 +0000120
121PrivSep Issues:
122- mmap() issues.
Ben Lindstromacfef052002-06-25 14:14:30 +0000123 + /dev/zero solution (Solaris)
124 + No/broken MAP_ANON (Irix)
125 + broken /dev/zero parse (Linux)
Ben Lindstromaa83b982002-06-25 02:28:22 +0000126- PAM
127 + See above PAM notes
128- AIX
Ben Lindstromb129be62002-06-25 17:12:26 +0000129 + usrinfo() does not set TTY, but only required for legicy systems. Works
130 with PrivSep.
Ben Lindstromaa83b982002-06-25 02:28:22 +0000131- OSF
132 + SIA is broken
Ben Lindstrom2f0de482002-06-25 14:01:55 +0000133- Cygwin
134 + Privsep for Pre-auth only (no fd passing)
Ben Lindstromaa83b982002-06-25 02:28:22 +0000135
Damien Miller53998382002-09-05 16:32:02 +1000136$Id: TODO,v 1.51 2002/09/05 06:32:03 djm Exp $