Subject: CVS commit: [netbsd-2-0] src/libexec/ftpd
To: None <source-changes@NetBSD.org>
From: James Chacon <jmc@netbsd.org>
List: source-changes
Date: 08/13/2004 04:18:45
Module Name:	src
Committed By:	jmc
Date:		Fri Aug 13 04:18:45 UTC 2004

Modified Files:
	src/libexec/ftpd [netbsd-2-0]: cmds.c

Log Message:
Pullup rev 1.23 (requested by lukem in ticket #757)

* 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'.
* 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.


To generate a diff of this commit:
cvs rdiff -r1.22 -r1.22.2.1 src/libexec/ftpd/cmds.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.