Mon Nov 15 23:01:58 EST 1999

	* released lukemftp 1.1

Mon Nov 15 09:07:01 EST 1999

	* merge libedit from NetBSD-current (19991115):
		- instead of using a private coord_t global variable to store
		  the size of the rprompt, use the previously unused coord_t
		  el->el_rprompt.p_pos

Sat Nov 13 14:42:22 EST 1999

	* support caching of results in AC_MSG_TRY_{COMPILE,LINK}
	  autoconf tests

	* add NEWS file

	* clarify copyright statement in COPYING

	* merge ftp from NetBSD-current (19991113):
		- implement `set rprompt'; right side version of `set prompt'.
		  depends on EL_RPROMPT support i added to editline(3).
		- allow $FTPPROMPT and $FTPRPROMPT to override defaults for
		  the relevant prompts
		- move `%' formatting code from prompt() to expandbuf().
		- implement `%.' and `%c', similar to the same % codes in
		  tcsh(1) (functionality I added to tcsh nearly 6 years ago),
		  except that `%.' always does `...trailing' and `%c' always
		  does `/<x>trailing'.
		- unknown `%foo' codes get printed as `%foo'
		- implement updateremotepwd(); update the global variable
		  `remotepwd' to contain the remote working directory.
		- add `set prompt', a user configurable prompt. (defaults to
		  `ftp> ').  the following escape characters a la tcsh(1) are
		  supported: %/, %m, %M, and %n.
		- add global var `username'; used by prompt code
		- fix a couple of minor memory leaks
		- bump version
		- prevent minor memory leak (unnecessary strdup)
		- implement restarting file:/// non-proxied http:// URLs
		  (with -R).
		- fix a semicolono which stopped file:/// from working
		- split the version string into product and version
		- be consistent about reporting the version between:
			+ status command
			+ about:version URL fetch
			+ User-agent sent in http requests
		- hookup(): when using getservbyname() (when getaddrinfo()
		  isn't available), if the provided port is a valid number
		  use that rather than trying to do getservbyname() against
		  it. fixes a problem on foreign systems noted by Chuck
		  Silvers <chuq@chuq.com>
		- support `about:version'. also display the version in the
		  output of `status'.

	* merge libedit from NetBSD-current (19991113):
		- implement printing a right-side prompt. code derived from
		  similar work I wrote for tcsh(1) three years ago.
		- implement EL_RPROMPT, which allows a setting/getting of a
		  function which returns a string to be used as the
		  right-side prompt.

	* replace manually managed config.h.in with acconfig.h and use
	  autoheader to generate the former.

	* add missing entry for `#undef write' in acconfig.h (for SOCKS)

	* configure.in:
		- use `LL' suffix on long long constant used to test
		  snprintf("%lld")
		- test for EL_RPROMPT instead of EL_EDITMODE, since the
		  former is is a newer required feature

	* in makelist, set LC_ALL="C", in case the locale confuses awk.
	  problem noted by Peter Seebach <seebs@plethora.net>

Wed Oct 27 07:00:00 UTC 1999	lukem

	* released 1.0

	* removed libedit/TEST/test.c; no need to distribute it

Mon Oct 25 21:59:54 EST 1999	lukem

	* released 1.0b7

	* put VERSION string into lukemftp.h, and display with the `status'
	  command

Mon Oct 25 11:36:59 EST 1999	lukem

	* merge ftp from NetBSD-current (19991025):
	- fix up confirm() (broke `a' and `p' in last commit)
	- simplify main loop (don't need `top' variable any more)
	- use a struct sockaddr_in6.sin6_addr for the result from inet_pton(),
	  rather than u_char buf[16]
	- add a few more comments

	new features:
	- add `usage'; displays the usage of a command.
	  implemented by calling the c_handler() with argc = 0, argv =
	  "funcname".
	- add `passive auto'; does the same as $FTPMODE=auto.
	- add `set [option value]'; display all options, or set an option to
	  a value.
	- add `unset option'; unset an option.
	- add getoptionvalue() to retrieve an option's value, and replace a few
	  global variables with calls to this.
	- implement cleanuppeer(), which resets various bits of state back to
	  `disconnected'. call in disconnect() and lostpeer().
	- support completing on `options'.
	- improve recovery after a SIGINT may have closed the connection.
	  XXX: there's still a couple to fix

	other stuff:
	- various consistency fixes in the man page.
	- ensure that the command usage strings in the code and man page
	  match reality.
	- mput/mget: check that the connection still exists before each xfer.
	- minor cosmetic changes in confirm().
	- set code correctly in sizecmd() and modtime()
	- don't need \n in err() strings.
	- change lostpeer to take an argument (rather than casting
	  (sig_t)lostpeer in signal handlers)
	- knf and whitespace police.


Sun Oct 24 17:02:59 EST 1999	lukem

	* merge libedit from NetBSD-current (19991024):
		- don't assume locales are not working - it may not be
		  the case
		- re_refresh(): cast the character passed to re_addc() to
		  unsigned char,  so we don't end up calling isprint() with
		  negative value when chars are signed and character value
		  is >= 128
		- Fix pointer arithmatic (caused problems on LP64, including
		  ftp dumping core when `edit' was turned off then on).
		  Problem solved by David Huggins-Daines <dhd@eradicator.org>

Tue Oct 12 18:05:21 EST 1999	lukem

	* install man page from ${srcdir} not from .

Tue Oct 12 17:00:41 EST 1999	lukem

	* released 1.0b6

	* merge from NetBSD-current (19991012):
	  a few user interface and cosmetic tweaks:
		- confirm(): move from util.c to cmds.c. display mnemonic
		  string in its prompt. add support for `q' (terminate
		  current xfer), `?' (show help list)
		- in various signal handlers, output a linefeed only if
		  fromatty.
		- if fgets(stdin) returned NULL (i.e, EOF), clearerr(stdin)
		  because you don't want future fgets to fail. this is not
		  done for the fgets() in the main command loop, since ftp
		  will quit at that point.
		- unless ftp is invoked with -a, don't retain the anonftp
		  setting between hosts (`ftp somehost:' sets anonftp, but
		  you don't want that to `stick' if you close that connection
		  and open a new one).

Mon Oct 11 23:06:38 EST 1999	lukem

	* check for working const

	* reorganise addition of -lukem to LIBS (was being added twice)

	* merge from netbsd-current:
		- use sigjmp_buf instead of jmp_buf for sigsetjmp() buffer

	* libedit: don't bother generating & compiling editline.c, since
	  its component parts are compiled anyway.

Sun Oct 10 12:08:39 EST 1999	lukem

	* released 1.0b5

	* in libedit, use xsignal_restart() (from src/util.c) instead of
	  signal(); the isn't guaranteed to work on some foreign systems
	  (e.g, IRIX) if sigaction() is used in the same program.

	* merge from netbsd-current:
		- use sigsetjmp()/siglongjump() instead of setjmp()/longjmp();
		  the latter don't save the signal mask on some foreign systems.
		- ensure signal handlers don't use stdio and do reset errno
		  if they don't exit with siglongjmp()
		- use a common SIGINT handler for {send,recv}request()
		- allow a second SIGINT during the "xfer aborted. waiting for
		  remote to finish abort." stage. if this occurs, just call
		  lostpeer() to close the connection.  whilst this might be
		  considered brutal, it's also extremely handy if you're
		  impatient or there's lossage at the remote end.

	* add preformatted manual page

	* fix --enable-editline

Wed Oct  6 10:19:00 EST 1999	lukem

	* released 1.0b4

	* don't defining SIGINFO to SIGQUIT if the former doesn't exist; the
	  code now supports both as a method of getting the transfer stats

	* rototill signal handling in the actual data xfer routines, and
	  specifically set SIGQUIT to psummary in each one, to override
	  editline's handler

Tue Oct  5 23:48:29 EST 1999	lukem

	* factor out SIGINFO setting into a handler that is always active
	  (but only prints out info if bytes > 0). only set the handler if
	  SIGINFO is defined

	* hijack SIGQUIT to be the same as SIGINFO

	* in {recv,send}request(), factor a lot of duplicated code out into
	  a `cleanup' section at the end

	* rework shell() a bit

	* enhancments from Marc Horowitz <marc@mit.edu> to improve
	  connection timeouts:
		- implement xsignal_restart(), which only sets the SA_RESTART
		  flag if specifically requested
		- xsignal() is now a wrapper to xsignal_restart(). INFO,
		  USR1, USR2 and WINCH are restartable, ALRM, INT, PIPE and
		  QUIT are not
		- improve getreply()'s timeout code to take advantage of the
		  above

	* improve wording of how globbing works for `classic' URLs (host:path)
	  suggested by John Refling <johnr@imageworks.com> in relation to PRs
	  [bin/8519] and [bin/8520]

	* always compile in the `edit' command even if NO_EDITCOMPLETE defined
	  it's just a no-op in the latter case, which is more consistent to
	  the users

	* always compile in about: support (i.e, remove NO_ABOUT).  i'm
	  entitled to some vanity in this program...

	* update copyrights

Mon Oct  4 10:57:41 EST 1999	lukem

	* Invoke ar with `cr' not `cq'

	* Use AC_PROG_RANLIB to find ranlib, and use it on the libraries

	* Remove `makelist' from dependency list for libedit files; re-running
	  configure shouldn't result in rebuilding libedit

	* Add support for --{en,dis}able-editcomplete (defaults to enabled),
	  which prevents libedit support from being compiled in.
	  From Chris G. Demetriou <cgd@netbsd.org>

Sun Oct  3 16:49:01 EST 1999	lukem

	* touch up the README

	* add COPYING, INSTALL, THANKS

	* whitespace consistency

	* in config.h, replace NO_QUAD with HAVE_QUAD_SUPPORT, and in
	  lukemftp.h define the former if the latter is non zero

	* change test against GETPGRP_VOID from #ifdef to #if

	* snprintf(): in the truncation case, ensure that the length
	  returned is the actual length, not the needed length

Sat Oct  2 00:41:34 EST 1999	lukem

	* fix more lossage with $(srcdir) / $(VPATH) stuff; seems to work now
	  when configured in a separate directory

	* actually test the correct variable when determining whether to run
	  AC_FUNC_GETPGRP

Fri Oct  1 19:32:22 EST 1999	lukem

	* released 1.0b3

	* use AC_PROG_MAKE_SET

	* determine setting of NO_QUAD with configure not lukemftp.h

	* if have long long and have snprintf, test that snprintf
	  supports %lld. if it doesn't use private version

	* change strtoq from returning off_t to returning long long

	* updates from NetBSD mainline:
		- only try epsv once per connection (i.e, don't bother again
		  if it fails)
		- improve description of rate command
		- fix up global vars; they're now externed in ftp_var.h
		  except when main.c includes it
		- remove "pathnames.h"

Fri Oct  1 10:08:43 EST 1999	lukem

	* updates from NetBSD mainline:
		- fix determining of homedir
		- parse_url(): fix checking of portnum
		- move kame copyrights after bsd/tnfi ones

	* released 1.0b2

	* add %lld and %qd support to snprintf() for displaying long long's

	* support VPATH and srcdir

Thu Sep 30 17:19:35 EST 1999	lukem

	* released 1.0b1

	* fix from NetBSD mainline: in empty() FD_ZERO the correct variable

Wed Sep 29 23:34:33 EST 1999	lukem

	* major rework; reimport code from NetBSD-current 1999/09/29 into
	  separate subdirectories and build from there. organisation is now:
		libedit		replacement libedit
		libukem		replacements for missing functions
		src		main ftp source

Mon Sep 27 00:43:12 EST 1999	lukem

	* released 1.0 a6

Sun Sep 26 17:17:05 EST 1999	lukem

	* released 1.0 a5

Sat Sep 25 00:58:28 EST 1999	lukem

	* released 1.0 a4

Fri Sep 24 17:07:07 EST 1999	lukem

	* released 1.0 a3

Fri Sep 24 16:18:29 EST 1999	lukem

	* released 1.0 a2

Tue Sep 21 11:38:49 EST 1999	lukem

	* import usr.src/bin/ftp and usr.src/lib/libedit sources
	  from NetBSD
