$Id: ChangeLog,v 1.21 2004/08/10 01:01:06 lukem Exp $

Tue Aug 10 00:59:10 UTC 2004	lukem

	* Tagged as "tnftpd-20040810".

	* Updated version to "tnftpd 20040810"

Tue Aug 10 00:48:58 UTC 2004	lukem

	* BSD/OS 3.0 portability fixes from Jeremy C. Reed:
		* Use _POSIX_LOGIN_NAME_MAX if sysconf(_SC_LOGIN_NAME_MAX)
		  doesn't exist.
		* If _POSIX_LOGIN_NAME_MAX is missing, use LOGIN_NAME_MAX.
		* Provide definition for missing MAP_FAILED.

	* Provide prototype for vsnprintf() if ! HAVE_SNPRINTF.
	  (We may need to implement separate autoconf test for this.)

	* Remove autoconf test and libnetbsd support for vsyslog().

	* Update to NetBSD-ftpd 20040809:
		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'.
		* Correctly clamp illegal "SITE CHMOD" mode values.
		* Fix minor memory leak with fromname.

		Fixes by lukem:
		* 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.

Fri Dec 19 22:57:50 UTC 2003	grant@NetBSD.org

	* Honour --sysconfdir.

Thu Dec 18 00:49:31 UTC 2003	lukem

	* Tagged & released as "tnftpd-20031217"

Wed Dec 17 01:44:40 UTC 2003	lukem

	* Updated version to "tnftpd 20031217".

	* Fix merge botch in fts_open, which was the cause of the
	  "inbuilt ls doesn't work without -L" bug that Andrew Brown found.
	  Specific problem highlighted by Onno van der Linden.

	* Fix cut & paste botch in fallback #define for LLONG_MIN.
	  (noted by Onno).

Tue Dec 16 02:13:49 UTC 2003	lukem

	* Document how to enable large file support on Solaris.

	* Use LLONG_{MIN,MAX} instead of QUAD_{MIN,MAX}, and provide
	  fallback #defines for the former.

	* Rename HAVE_QUAD_SUPPORT to HAVE_WORKING_LONG_LONG.

Tue Dec 16 00:42:58 UTC 2003	lukem

	* Updated version to "tnftpd 20031216".

	* Update fts_open to avoid race condition, and improve portability
	  for LP64 platforms.
	  Thanks to Onno van der Linden for the "heads up" on this issue.

	* Sync strlcpy & strlcat to NetBSD for Todd Miller's latest license
	  and fix a potential SEGV in strlcat.

	* Convert the 4 clause UCB licensed code to the 3 clause license.

Wed Dec 10 02:30:19 UTC 2003	lukem

	* tagged as "tnftpd 20031210"

	* import example configuration files into examples/
	  from NetBSD-current's src/share/examples/ftpd.

	* update to NetBSD-current ftpd 2003-12-10
		- Move UCB-licensed code from 4-clause to 3-clause licence.
		  Patches provided by Joel Baker in PR 22284
		- Add ftpd_loginx() and ftpd_logwtmpx() and use them to hold
		  wtmpx file open while a session.  Close bin/21692 by
		  bqt@Krille.Update.UU.SE.
		- Fix typos accidentally introduced in rev 1.70 as part of the
		  large number support.  (NetBSD yacc didn't barf on these,
		  although Solaris and HP/UX's did...)
		- Don't declare "yylex()" static; AFAICT it shouldn't be, and
		  it causes build problems with the output of some versions
		  of yacc.
		- Use sysconf(_SC_LOGIN_NAME_MAX) to determine the length of
		  login names, rather than assuming LOGIN_NAME_MAX.  Based on
		  patch from Garrett Wollman via David O'Brien (both at
		  FreeBSD.org)
		- netbsd.org->NetBSD.org
		- Move Jason Downs's code from a 4-clause to a 3-clause
		  licence by removing the advertising clause.  Diffs provided
		  in PR 22410 by Joel Baker, confirmed to the board by Jason
		  Downs.  With additional thanks to Jason Thorpe.

Wed Dec 10 01:33:35 UTC 2003	lukem

	* replace netbsd.org with NetBSD.org as appropriate.

	* replace libnetbsd/fgetln.c with the better version
	  that Christos wrote (as found in tnftp).

Thu Jul 31 09:10:49 UTC 2003	lukem

	* work-around missing LLONG_MAX and LLONG_MIN on Darwin.
	  Patch from Yuji Yamano <yyamano@NetBSD.org>

Mon Mar  3 03:42:42 UTC 2003	lukem

	* manually apply revs 1.75-1.76 from netbsd repo:
		- fix typos accidentally introduced in rev 1.70
		- don't declare yylex() static.

	* replace missing sete[gi]uid() with setres[ug]id() if the
	  latter exists.  (for HP-UX)

Fri Feb 28 04:02:48 UTC 2003	lukem

	* replace references to `ftpd' in manual pages with `tnftpd',
	  update the dates, and regenerate the catdoc pages.

Thu Feb 27 03:15:51 UTC 2003	lukem

	* tagged as "tnftpd 2.0 beta3"

	* only use MAP_FILE if its available

Wed Feb 26 14:51:51 UTC 2003	lukem

	* fixes from Tetsuya Isaki <isaki@NetBSD.org>:
		- provide adhoc definition of LOGIN_NAME_MAX for slackware 8.1
		- need unistd.h before fnmatch.h; tnftpd.h already did this,
		  but configure.in did not.  (for slackware 8.1)
		- sys/time.h needs to be before sys/resource.h on freebsd 4.3

	* update to NetBSD-current 2003-02-26
		- add '-L xferlogfile'
		- rename local copies of log{in,out,wtmp}() to have ftpd_ prefix
		- use LLT and STRTOLL() for parsing "larger than int" args
		- fix some uninitialised variables
		- remove dummy "" arg from .Nm in man pages


Mon Feb 24 06:32:44 UTC 2003	lukem

	* update to NetBSD-current 2003-02-23
		- maintain a cwd cache
		- rename login/logout/logwtmp() to have ftpd_ prefixes.
		- always remember the "curname", even if logging is disabled
		- fix help usage for PORT.
		- stop ftpd changing inetd's 'logname'.
		- Stop buffer overrun if {NGROUPS_MAX} is greater than the
		  compile time NGROUPS_MAX
		- Apply DoS fix from Crist J. Clark, where port 20 was
		  bound to for an extended period of time, locking out
		  all other PORT connections.

Sun Dec  8 13:09:20 UTC 2002	lukem

	* tagged as "tnftpd 2.0 beta2"

	* build & install as "tnftpd" (instead of "ftpd")

	* provide replacement for strsuftollx()

	* update to NetBSD-current 2002-10-08

Sat Oct 26 12:25:03 UTC 2002	lukem

	* tagged as "tnftpd 2.0 beta1"

Sat Oct 26 03:24:45 UTC 2002	lukem

	* renamed release to `tnftpd'

	* renamed `libukem' to `libnetbsd'

Wed Jun  5 12:57:46 UTC 2002	lukem

	* don't bother checking if <glob.h> is usable since we're
	  always compiling in our own glob.c

Thu May 23 02:43:41 UTC 2002	lukem

	* released 1.2 beta 2

	* replace fnmatch(3) if FNM_CASEFOLD isn't available

Sat Mar 16 01:28:28 UTC 2002	lukem

	* libukem/glob.c: Fix two problems in the KNR->ANSI conversion
	  noticed by Yuji Yamano <yyamano@kt.rim.or.jp>

Thu Mar 14 06:02:31 UTC 2002	lukem

	* released 1.2 beta 1

Thu Mar 14 05:39:24 UTC 2002	lukem

	* libukem/snprintf.c: fix compile errors with gcc 3.x

Sat Mar  1 07:10:54 UTC 2002	lukem

	* update to NetBSD-current 2002-03-01
	    User visible changes include:
		- enable case insensitive fnmatch(3)ing for hostname globs
		  in ftpusers(5)
		- add 'denyquick' ftpd.conf(5) keyword
		- add 'private' ftpd.conf(5) keyword
		- use "advertise" in docco
	    User visible fixes:
		- reject SIZE requests for ASCII files > 10KB long
		- fixes for mlsd/mlst standards conformance
		- fix passive transfers for various web browsers
		- various glob(3) fixes
		- don't log xferlog-style entries if the transfer didn't start
		- fix skey password challenge
		- don't try and use the motd directive if it's not set

Thu Feb 28 01:39:06 UTC 2002	lukem

	* update libukem/glob.c from NetBSD's __glob13.c rev 1.22 and rev 1.23

Wed May  9 02:04:08 UTC 2001	lukem

	* released 1.1

Sat Apr 28 07:13:57 UTC 2001	lukem

	* released 1.1 beta 1

	* determine if crypt() and getusershell() need declarations

Wed Apr 25 06:27:08 UTC 2001	lukem

	* update to NetBSD-current 2001-04-25:
		- update copyrights
		- remove superfluous byte_count update in send_file_list
		- use own code instead of bothering with glob() to do ~
		  expansion in pathname; there's no need to support glob
		  wildcards in this case when it's not expanded here in the
		  non-~ case
		- As threatened, handle OOB commands from within ftpcmd.y.
		  This involved changing the yacc syntax to be line-oriented,
		  rather than having it run against the entire input at once,
		  and adding a flag to struct tab, to  indicate if or not
		  it's acceptable for a command to occur OOB.

Tue Apr 17 08:20:09 UTC 2001	lukem

	* look for <arpa/nameser.h>

	* pull in <arpa/nameser.h> for INADDRZ, IN6ADDRSZ and INT16SZ,
	  and define if missing

	* don't bother trying to use if_indextoname() in ip6_sa2str()
	  (fixes problems on MacOS X)

	* remove unused sverrno in warnx() and errx()

Fri Apr 13 16:02:40 UTC 2001	lukem

	* improve test for long long support so that it's only enabled
	  if printf supports %ll or %q and they do the right thing.
	  use %q instead of %ll #if HAVE_PRINTF_QD

	* added NEWS file

	* support S/Key with add support for --with-skey

	* pull up changes made in NetBSD in ftpcmd.y revision 1.61:
		make checkportcmd address family independent, and correct
		IPv4 case.  PR 12558.

Sun Apr  8 03:35:55 UTC 2001	lukem

	* release 1.0

Thu Apr  5 14:08:25 UTC 2001	lukem

	* search for lockf and flock, and use the first found (in that
	  order) to lock the pid files

	* pull up fix to glob.c from rev 1.21 of NetBSD's __glob13.c:
		- Fix sentinel for the buffer in globtilde. It was off
		  by x 2. Noted by Theo.

Thu Mar 29 16:57:17 EST 2001	lukem

	* release 1.0 beta 4

	* merge ftpd from NetBSD-current (20010329):
		- don't leak globbed memory.

	* only look for setproctitle in -lutil if fparseln wasn't found in it

	* only REPLACE_FUNC(fparseln) if it wasn't found in -lutil

	* always compile in local glob; it's the best way to ensure that
	  various security issues are fixed

	* update glob(3) to netbsd-current (20010329), adding support for
	  GLOB_LIMIT and fixing various buffer overflows.

	* support --enable-builtinls (default) and --disable-builtinls

Sun Mar 18 10:14:17 UTC 2001	lukem

	* detect if d_namlen exists in struct dirent, and use in
	  fts_open() appropriately

Sun Mar 18 08:30:01 UTC 2001	lukem

	* released 1.0 beta3

	* use inbuilt ls source

	* autoconf improvements:
		- replace missing fts_open, strmode, user_from_uid
		- detect if optreset exists, and only use if it does
		- fix AC_MSG strings (remove comma's from the messages)

	* fixes to inbuilt ls:
		- revert part of previous
		- add rcsid
		- remove stat_flags; flags_to_string is unused (i.e, ignore -o)
		- conditionally support S_IFWHT
		- hardcode blocksize to 1K
		- remove support for nsec comparison in time sorting

Sat Mar 17 12:02:51 UTC 2001	lukem

	* generate cat manpages

	* merge ftpd from NetBSD-current (20010317):
		- make sure we do not return stray " at the end of stirng,
		  like bla"\0.  From: "William C. Allen" <allenwc@home.com>
		- ensure replydirname() do not truncate the names.
		  From: Paul Janzen <pjanzen@foatdi.harvard.edu>
		- don't support t(erabyte) as a suffix in strsuftoll()
		  #ifdef NO_LONG_LONG
		- Use GLOB_LIMIT. Also fix a bug where gl_offs was not
		  initialized and could contain trash.
		- fix redundant declarations.
		- comment or delete text after CPP directives.
		- consistently use syslog priorities

	* improve detection of working glob(), including requiring GLOB_LIMIT.
	  don't bother explicilty looking for glob.h; the test above will
	  detect that.

	* update replacement glob() to support GLOB_LIMIT

	* look for setproctitle in -lutil as well

	* pull in <paths.h> if it exists, but still check each _PATH_xxx and
	  define to something sane if not found; certain platforms have a
	  lobotomised <paths.h>

Fri Mar 16 08:27:09 EST 2001	lukem

	* in getusershell.c, remove __P() and const cruft

	* undef _PATH_FTPUSERS before defining

	* define _PATH_SHELLS if there's no <path.h>

Wed Mar 14 18:49:57 EST 2001	lukem

	* released 1.0 beta2

	* add COPYING INSTALL README THANKS

	* replace missing vsyslog

Sat Mar 10 09:15:46 EST 2001	lukem

	* replace missing getusershell

	* look for vfork and don't use if it doesn't exist

	* note tru64 doesn't have vsyslog (still to fix)

	* prototype getusershell et al if missing

Fri Mar  9 06:27:08 EST 2001	lukem

	* released 1.0 beta1

	* look for libutil.h (FreeBSD) as well as util.h (NetBSD)

	* change the way that glob(3) is checked for 4.4BSD feature
	  compliance so that it's much more robust

	* add strtoll()

Thu Feb  1 12:24:00 EST 2001	lukem

	* released 1.0 alpha
