NetBSD/libexec/ftpd
lukem 635a375704 Fixes from (or inspired by) OpenBSD:
* Fix yacc parser error recovery so that setjmp(3)/longjmp(3) is unnecessary.
* Fix SIGURG handler to set an urgflag that's later tested, rather than
  abusing setjmp(3)/longjmp(3).
* Use "volatile sig_atomic_t" as the type of variables modified by sig handlers.
* Use sigaction(3) instead of signal(3) to set the signal handlers.
* Only set the main SIGALRM handler once.  If we need to change it,
  cache the old handler and restore appropriately...
* Remove a bunch of signal races by improving the signal handlers.
* Fix memory leak with 'ESPV ALL'.

My stuff:
* Clean up the debug message in reply(); use vsnprintf(3) instead of vsyslog(3).
* Rework parsing of OOB commands to _not_ use the yacc parser, since the
  latter isn't reentrant and the hacks to work around that are ugly.
  We now examine urgflag at appropriate locations and call handleoobcmd()
  if it's set.  Since the only OOB commands we currently implement are
  ABOR and STAT, this isn't an issue.  (I also can't find the reference in
  RFC2228 where MIC, CONF & ENC are OOB-only commands.  Go figure.)
  I could clean up the is_oob stuff some more, but the remaining stuff
  in ftpcmd.y is harmless and it's unnecessary churn right this moment.
2004-08-09 12:56:47 +00:00
..
Makefile
cmds.c Fixes from (or inspired by) OpenBSD: 2004-08-09 12:56:47 +00:00
conf.c Fixes from (or inspired by) OpenBSD: 2004-08-09 12:56:47 +00:00
extern.h Fixes from (or inspired by) OpenBSD: 2004-08-09 12:56:47 +00:00
ftpcmd.y Fixes from (or inspired by) OpenBSD: 2004-08-09 12:56:47 +00:00
ftpd.8 Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 09:46:37 +00:00
ftpd.c Fixes from (or inspired by) OpenBSD: 2004-08-09 12:56:47 +00:00
ftpd.conf.5
ftpusers.5
logutmp.c Fixes from (or inspired by) OpenBSD: 2004-08-09 12:56:47 +00:00
logwtmp.c Fixes from (or inspired by) OpenBSD: 2004-08-09 12:56:47 +00:00
pathnames.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 09:46:37 +00:00
popen.c Fixes from (or inspired by) OpenBSD: 2004-08-09 12:56:47 +00:00
version.h Fixes from (or inspired by) OpenBSD: 2004-08-09 12:56:47 +00:00