summaryrefslogtreecommitdiffstats
path: root/contrib/lukemftp/ChangeLog
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2001-07-19 16:26:14 +0000
committerobrien <obrien@FreeBSD.org>2001-07-19 16:26:14 +0000
commit3b6e1b54e4878f6b5771b886f08716f6c33c81f6 (patch)
treeb2e212d8817efdff7190924a6cf96f692ec3f76d /contrib/lukemftp/ChangeLog
downloadFreeBSD-src-3b6e1b54e4878f6b5771b886f08716f6c33c81f6.zip
FreeBSD-src-3b6e1b54e4878f6b5771b886f08716f6c33c81f6.tar.gz
Import of LukeM's ftp client, version 1.5.
Diffstat (limited to 'contrib/lukemftp/ChangeLog')
-rw-r--r--contrib/lukemftp/ChangeLog878
1 files changed, 878 insertions, 0 deletions
diff --git a/contrib/lukemftp/ChangeLog b/contrib/lukemftp/ChangeLog
new file mode 100644
index 0000000..6b3555f
--- /dev/null
+++ b/contrib/lukemftp/ChangeLog
@@ -0,0 +1,878 @@
+Wed Oct 11 14:06:19 EST 2000 lukem
+
+ * released version 1.5
+
+Tue Oct 3 10:22:36 EST 2000 lukem
+
+ * crank to version 1.5 beta6
+
+ * merge ftp from NetBSD-current (20001003)
+ - explicitly use SOCK_STREAM with socket() instead of
+ res->ai_socktype, because it appears that linux with glibc
+ doesn't set the latter correctly after one of getaddrinfo()
+ or getnameinfo().
+ - clarify that $ftp_proxy only works for full URLs and can't
+ be used for interactive connections.
+
+Mon Sep 25 21:52:12 EST 2000 lukem
+
+ * crank to version 1.5 beta5
+
+Sun Sep 24 13:31:19 EST 2000 lukem
+
+ * merge ftp from NetBSD-current (20000924)
+ - since everything else here uses ANSI C, we might as well
+ replace __STRING() with the ANSI C stringization stuff...
+ - base64_encode should be static. picked up by hp/ux(!)
+ compiler
+ - It appears that whilst Apache 1.3.9 incorrectly puts a
+ trailing space after the chunksize (before the \r\n),
+ Apache 1.3.11 puts *multiple* trailing spaces after the
+ chunksize. I 'm fairly certain that this is contrary to
+ RFC 2068 section 3.6, but whatever...
+ Found by David Brownlee <abs@mono.org>
+ - always include <netdb.h>, not just when INET6 is defined.
+ resolves PR [bin/10970] by Richard Earnshaw
+ <rearnsha@cambridge.arm.com>>
+ - in progressmeter() perform the check for foregroundproc() a
+ little earlier
+ - removed unused variable `items' in list_vertical()
+
+Sat Sep 23 15:43:34 EST 2000 lukem
+
+ * remove unused sverrno in warnx() and errx()
+
+ * remove unused h_error in getnameinfo()
+
+ * in getaddrinfo(), don't bother declaring in6_addrany[] and
+ in6_loopback #ifndef INET6
+
+Thu Sep 21 11:26:35 EST 2000 lukem
+
+ * in getaddrinfo.c::str_isnumber(), use strtol() and check the
+ result, instead of using strtoul() and not checking the result.
+
+ * define INADDRSZ if it's not found (e.g, HP/UX doesn't seem to have
+ it in <arpa/nameser.h>)
+
+Wed Sep 20 09:23:59 EST 2000 lukem
+
+ * crank to version 1.5 beta4
+
+Mon Sep 18 18:19:54 EST 2000 lukem
+
+ * add AC_AIX test, which defines _ALL_SOURCE under AIX
+
+ * use ANSI # stringization instead of __STRING()
+
+ * define HAVE_RFC2553_NETDB if <netdb.h> defines AI_NUMERICHOST
+ (et al) and has getaddrinfo(). (some systems only implement RFC2133)
+
+ * don't bother with AC_C_CONST as we depend upon ANSI C elsewhere
+
+ * when HAVE_RFC2553_NETDB isn't set, and we're #defining various EAI_,
+ AI_, and NI_ items, #undef first incase a system partially implements
+ these in <netdb.h>
+
+ * look for tgetent() in -ltinfo before -lncurses, because ncurses 5.0
+ has been split up into multiple libraries.
+ from Arkadiusz Miskiewicz <misiek@pld.org.pl>
+
+Fri Sep 15 01:09:10 EST 2000 lukem
+
+ * don't bother defining __P() or __STRING() based on whether
+ __STDC__ is available or not, since these aren't used any more
+
+ * fix mkstemp() prototype
+
+ * declare getpass() if necessary
+
+ * we don't need the readline xxgdb hack in libedit...
+
+ * convert to ansi declarations
+
+ * use ansi prototypes instead of __P()
+
+ * merge in changes from makelist 1.4 -> 1.6:
+ - generate ansi prototypes instead of using __P(). noted by
+ christos
+ - fix a couple of comments
+ - add -m option to makelist, which generates an mdoc table
+ with the key bindings and their descriptions
+ - manually add the output of 'sh ./makelist -m vi.c ed.c
+ common.c' to a new section in editrc(5) called
+ `EDITOR COMMANDS'
+
+ * merge libedit from NetBSD-current (20000915)
+ * convert to new style guide, which includes:
+ - ansi prototypes & features (such as stdargs)
+ - 8 space indents
+ * history_def_set has a `const int' as a third arg, not an
+ `int'. picked up by the ultrix compiler, reported by
+ simonb@ ...
+ * generate ansi prototypes instead of using __P(). noted by
+ christos. fix a couple of comments
+ * make xxgdb and a gdb linked with libedit's readline emulation
+ work properly together. xxgdb communicates with a gdb
+ running on a pty that it sets to -echo,-onlcr prior to
+ forking the gdb process. GNU readline preserves the -echo
+ setting while libedit was undoing it (setting the tty to a
+ sane state and totally confusing xxgdb's parser).
+ this diff simply disables libedit if both readline emulation
+ and "stty -echo" are used/set. that is enough to make
+ xxgdb work once again, but (XXX) this is not how GNU readline
+ handles stty -echo (it does not echo anything, but editing
+ commands like ^A,^K, etc. still work), so the readline
+ emulation isn't perfect.
+
+Tue Aug 29 18:00:08 EST 2000 lukem
+
+ * don't bother testing for #if __STDC__; just assume we have it...
+
+Mon Aug 28 22:45:08 EST 2000 lukem
+
+ * refine tests for IPv6 #defines (EAI_, AI_, NI_, ...).
+ should improve portability on systems which implement
+ RFC 2133 but not RFC 2553.
+
+Wed Aug 9 02:12:51 EST 2000 lukem
+
+ * use #if __STDC__ instead of #ifdef __STDC__
+
+ * only test 'case NETDB_INTERNAL:' if it's defined
+
+ * fix support for --program-prefix et al
+
+ * only include <arpa/nameser.h> in the files that need it, because
+ the DELETE define in some system's implementations causes name
+ collisions in libedit.
+
+Mon Aug 7 08:17:37 EST 2000 lukem
+
+ * merge ftp from NetBSD-current (20000807)
+ * implement parseport(), which takes a string and attempts to
+ convert it to a numeric port number
+ * use parseport() in parse_url() and hookup()
+ * don't try and lookup the port number using getaddrinfo(),
+ as it's too hard to separate a failed host name lookup from
+ a failed service name lookup. this was causing lossage on
+ systems that don't have `http' in services(5) (such as
+ solaris), but only crept in when we started using
+ getaddrinfo() unconditionally.
+
+Wed Aug 2 23:43:50 EST 2000 lukem
+
+ * crank to version 1.5 beta3
+
+ * define NO_LONG_LONG not NO_QUAD
+
+ * detect if struct sockaddr.sa_len exists (rather than relying upon
+ #ifdef BSD4_4)
+
+ * detect if socklen_t exists, and if not, typedef as unsigned int
+
+ * detect if struct addrinfo exists, and if not declare it and #define
+ associated EAI_, AI_, and NI_ defines.
+
+ * look for & replace: getaddrinfo(), getnameinfo(), inet_ntop(),
+ inet_pton()
+ * look for gethostbyname2()
+
+ * don't bother looking for hstrerror() or inet_aton() anymore
+
+ * include <arpa/nameser.h> and <stddef.h>
+
+ * define USE_SELECT instead of __USE_SELECT
+
+ * always define HAVE_H_ERRNO
+
+ * add Brian Stark to THANKS, for lots of AIX porting feedback
+
+ * improve detection of sin_len for AIX (now part of sa_len test)
+
+ * add functions needed by recent ftp import:
+ getaddrinfo(), getnameinfo(), inet_ntop(), inet_pton()
+ remove functions not needed anymore:
+ hstrerror(), inet_aton()
+
+ * use #if HAVE_ISSETUGID not #ifdef
+
+ * update from NetBSD-current (20000802):
+ - rename NO_QUAD to NO_LONG_LONG, QUAD* -> LL* and add ULL*
+ (unsigned) equivalents. name change suggested by Klaus
+ Klein <kjk@netbsd.org>
+ - change defined(BSD4_4) || HAVE_SIN_LEN tests into
+ HAVE_SOCKADDR_SA_LEN, and set the latter if BSD4_4 exists
+
+Mon Jul 31 10:59:10 EST 2000 lukem
+
+ * merge ftp from NetBSD-current (20000731)
+ - we can't just rename BSD4_4 -> HAVE_SIN_LEN, since bsd
+ systems define BSD4_4; change tests to test for either
+ defined(BSD4_4) or HAVE_SIN_LEN
+ - more KNF
+
+Sun Jul 30 16:55:09 EST 2000 lukem
+
+ * merge ftp from NetBSD-current (20000730):
+ - clean up NO_QUAD support: create helper #defines and use as
+ appropriate:
+ #define NOQUAD ! NOQUAD
+ ------- ------ - ------
+ QUADF "%ld" "%lld"
+ QUADFP(x) "%" x "ld" "%" x "lld"
+ QUADT long long long
+ STRTOL(x,y,z) strtol(x,y,z) strtoll(x,y,z)
+ - always use getaddrinfo() and getnameinfo() instead of
+ maintaining two code paths.
+ - rename __USE_SELECT to USE_SELECT
+ - rename BSD4_4 to HAVE_SIN_LEN
+ - replace union sockunion {} with struct sockinet {}, and
+ modify the code accordingly. this is possibly more portable,
+ as it doesn't rely upon the structure alignment within the
+ union for our own stuff.
+
+Fri Jul 28 22:11:17 EST 2000 lukem
+
+ * merge ftp from NetBSD-current (20000728):
+ - no trailing , on last item (FEAT_max) in enum
+ - rename "opts" to "remopts", so people used to "o host"
+ don't get bitten
+
+Wed Jul 26 18:59:19 EST 2000 lukem
+
+ * merge ftp from NetBSD-current (20000726):
+ - add support for FEAT and OPTS commands with `features' and
+ `opts'. (from RFC 2389).
+ - add support for MLST & MLSD (machine parseble listings)
+ with 'mlst', 'mlsd' and 'pmlsd' (mlsd |$PAGER) commands.
+ (from draft-ietf-ftpext-mlst-11)
+ - rename remotesyst() to getremoteinfo(), and modify to parse
+ the result from FEAT (if supported), and take into account
+ the support for the various extensions such as MDTM, SIZE,
+ REST (STREAM), MLSD, and FEAT/OPTS.
+ - put each feature into one of the following categories:
+ - known to work (explicit FEAT)
+ - unknown but assume works until explicit failure,
+ when it's then tagged as `known not to work'.
+ - known not to work (FEAT succeeded but didn't return
+ anything, or was unknown and then explicit failure)
+ assign results into features[] matrix.
+ - add support to getreply() so that an optional callback will
+ be called for each line received from the server except for
+ the first and last. this is used in FEAT (and MLST) parsing.
+ - modify various commands to check if REST (STREAM), MDTM and
+ SIZE are explicitly or implicitly supported before using.
+ - fix `syst' when verbose is off.
+ - minor knf (indent goto labels by one space, etc).
+ - simply various command usage handlers by assuming that
+ argv != NULL except for quit() and disconnect().
+ - errx?/warnx? audit. do not pass variable alone, use %s.
+
+ * check for issetugid() and don't use in libedit if it doesn't exist.
+
+ * merge libedit from NetBSD-current (20000726):
+ * Only look in home directory for .editrc. (Discussed
+ with Christos.)
+
+ * in glob.c #undef TILDE before redefining, because some AIX systems
+ #define TILDE in <sys/ioctl.h>
+
+Mon Jul 10 00:28:51 EST 2000 lukem
+
+ * released lukemftp 1.4
+
+Thu Jun 15 23:28:49 EST 2000 lukem
+
+ * merge ftp from NetBSD-current (20000615):
+ * migrate the SYST parsing from setpeer() into a separate
+ remotesyst(). call remotesyst() only when login has been
+ successful some servers don't let you run SYST until you've
+ successfully logged in.
+ * in fetch_ftp(), always call setpeer() with autologin
+ disabled, and use the following ftp_login() to DTRT. this
+ prevents ftp from trying to login a second time if the
+ first autologin fails when connecting to a remote site
+ anonymously using autofetch.
+ * reset unix_proxy and unix_server in cleanuppeer()
+ * missed a function conversion in the KNF sweep...
+
+Mon Jun 12 01:16:12 EST 2000 lukem
+
+ * change lukemftp.h to check !HAVE_STRDUP instead of !HAVE_STRSUP.
+ fixes compile problem on systems which have strdup() as a macro.
+
+ * merge ftp from NetBSD-current (20000612):
+ from itojun: better fix for previous (doesn't need
+ in_addr_t or u_int32_t)
+
+Sun Jun 11 12:19:52 EST 2000 lukem
+
+ * merge ftp from NetBSD-current (20000611):
+ portability fixes for lukemftp:
+ * initconn(): use in_addr_t instead of u_int32_t when
+ manipulating IPv6 addresses (and assume anything with ipv6
+ has in_addr_t; if not, i'll add an autoconf test for it)
+ * ai_unmapped(): not all systems have sin_len; so only set
+ #ifdef BSD4_4
+ * fix some lint
+
+Mon Jun 5 21:10:31 EST 2000 lukem
+
+ * released lukemftp 1.3
+
+Mon Jun 5 19:53:49 EST 2000 lukem
+
+ * convert various support files to ANSI C
+
+ * look for strtoll() instead of strtoq()
+
+ * update COPYRIGHT, THANKS, NEWS
+
+ * merge ftp from NetBSD-current (20000605):
+ - fix ai_unmapped() to be a no-op in the !def INET6 case
+ - display `(-INET6)' at the end of the version string if
+ !def INET6
+ - clarify in the man page that IPv6 support may not be present
+ (for lukemftp :)
+
+ * ensure <vis.h> has VIS_WHITE et al
+
+Sun Jun 4 18:00:07 EST 2000 lukem
+
+ * merge ftp from NetBSD-current (20000604):
+ - Change `ls' to use the `LIST' and not `NLST' FTP protocol
+ command. Now that after many years on not caring we find
+ certain popular ftp servers are starting to obey RFC959 to
+ the letter of the law and will only return a list of
+ filenames (not directories or other filetypes) in the
+ output of `NLST', then `LIST' is more useful in this case.
+ (Note that the aforementioned pedanticness means that
+ filename completion isn't as useful as it could be...)
+ Fixes [bin/8937] by David A. Gatwood
+ <dgatwood@deepspace.mklinux.org>
+ - convert to ANSI KNF
+ - Add support for `fget localfile', which reads a list of
+ filenames to retrieve from localfile. Based on work by
+ Darren Reed.
+ - Update copyright dates.
+ - s/strtoq/strtoll/ (the latter is standardised)
+ - Add support for 'ftp -u url file ...', to upload a list of
+ files to given url. Mostly based on [bin/10019] by Scott
+ Aaron Bamford <sab@ansic.net>
+ - convert IPv4 mapped address (::ffff:10.1.1.1) into real IPv4
+ address before touching it. IPv4 mapped address complicates
+ too many things in FTP protocol handling.
+ - do not pass scoped IPv6 address notation on Host: directive,
+ since scope identifier is local to the originating node.
+ do not allow scoped IPv6 address notation in URL, if it is
+ via proxy.
+ - fixes from cgd:
+ * sanity check a length (otherwise certain bogus responses
+ can crash ftp)
+ * allow a transfer encoding type of `binary'; certain
+ firewall vendors return this bogus type...
+ - make debugging output unambiguous on IPv6 numeric addrs
+ (don't use host:port)
+ - http://[::1]:8080/ is legal.
+ - send Host: directive with RFC2732 bracket notation for IPv6
+ numeric, otherwise "host:port" is ambiguous to servers
+ (clarification will be submitted as update to RFC2732).
+ - only use getaddrinfo() et al if both NI_NUMERICHOST *and*
+ INET6 are defined... (allows --disable-ipv6 in lukemftp's
+ configure script to disable this as well, which is good for
+ testing when it appears getaddrinfo() is borken)
+ - updated comment on IPv4 mapped address. sync with kame.
+ - Fix examples on using pipes in local filenames. AFAICT,
+ ftp has always required `dir . |more' not as `dir |more'
+ treats `|more' as the remote filename. Resolves [bin/9922]
+ by Geoff Wing <mason@primenet.com.au>
+ - ftp(1): treats IPv4 mapped destination as IPv4 peer, not
+ native IPv6 peer. this does not support network with SIIT
+ translator.
+ - inhibit too-noisy message for scoped address data transfer
+ (will be enabled in "debug" mode).
+ - only use IPTOS_ setsockopt()s if they're defined (e.g, SunOS
+ doesn't). from Havard.Eidnes@runit.sintef.no
+ - allow IPv6 extended numeric address in host part.
+ (draft-ietf-ipngwg-scopedaddr-format-01.txt). fixes PR 9616.
+
+ * merge libedit from NetBSD-current (20000604):
+ - use strtol() (instead of atoi()) for sane error detection
+
+Wed May 31 19:24:53 EST 2000 lukem
+
+ * merge libedit from NetBSD-current (20000531):
+ - Fix refresh glitches when using auto-margin.
+ - Don't dump core on empty .editrc files.
+ - el_insertstr takes a "const char *" not "char *" now as it
+ doesn't modify the argument.
+
+Thu Feb 3 20:19:40 EST 2000 lukem
+
+ * released lukemftp 1.2
+
+Tue Feb 1 09:47:51 EST 2000 lukem
+
+ * add --enable-ipv6 and --disable-ipv6 to configure
+
+ * modify libedit/sig.? to use sigfunc instead of sig_t, and
+ deprecate autoconf tests for retsigtype and sig_t.
+ This fixes portability problems with Digital UNIX 5.0.
+
+ * merge ftp from NetBSD-current (20000201):
+ - define private type `sigfunc' as
+ typedef void (*sigfunc) __P((int));
+ and replace use of sig_t and void (*)(int).
+ certain other OSes define sig_t differently to that (they
+ add extra arguments), and it causes problems due to
+ function mismatches, etc...
+
+Wed Jan 26 22:54:38 EST 2000 lukem
+
+ * search for tgetent() in -ltermcap then -lcurses and -lncurses
+
+ * merge ftp from NetBSD-current (20000126):
+ - roll back to using sscanf() instead of strptime() to parse
+ `yyyymmddhhmmss' strings, since the latter technically can't
+ parse dates without non alphanumerics between the elements
+ (even though NetBSD's strptime() copes).
+
+Tue Jan 25 19:09:37 EST 2000 lukem
+
+ * merge ftp from NetBSD-current (20000125):
+ - complete_ambiguous(): be consistent about completing
+ unambiguous matches; if the word is already complete then
+ return CC_REFRESH so that the higher layer may append a
+ suffix if necessary. Fix from Launey Thomas <ljt@alum.mit.edu>
+ - change references from draft-ietf-ipngwg-url-literal-01.txt
+ to RFC2732
+ - work around bug in apache 1.3.9 which incorrectly puts a
+ trailing space after the chunksize. noted by Jun-ichiro
+ itojun Hagino <itojun@itojun.org> in [bin/9096]
+ - work around lame ftpd's that don't return a correct post-Y2K
+ date in the output of `MDTM'. obviously the programmer of
+ aforementioned lame ftpd's did something like
+ "19%02d", tm->tm_year
+ instead of
+ "%04d", tm->tm_year + TM_YEAR_BASE
+ fixes [bin/9289] by jbernard@mines.edu
+
+ * merge libedit from NetBSD-current (20000125):
+ - PR/9244: Kevin Schoedel: libedit dumps bindings
+ inconsistently
+ - PR/9243: Kevin Schoedel: libedit ignores repeat count
+ - Add support for automatic and magic margins (from tcsh)
+ This makes the rightmost column usable on all programs
+ that use editline.
+
+Tue Dec 21 08:59:22 EST 1999 lukem
+
+ * update INSTALL notes for some systems
+
+ * if sl_init() exists, check return value of sl_add() is int and
+ compile in a replacement copy if it's not the case
+
+ * don't look for <stringlist.h> - always use local prototypes; older
+ NetBSD systems may have conflicting prototypes
+
+Mon Dec 20 11:21:28 EST 1999 lukem
+
+ * merge ftp from NetBSD-current (19991220):
+ - Move version from ftp_var.h to version.h
+ - Fix chunked support; probably broke after rate limiting was added.
+ Problem noticed/debugging assisted by giles lean
+ <giles@nemeton.com.au>.
+ - remove unnecessary freeaddrinfo(res), since res0 was changed to be
+ freed earlier in itojun's last commit. fixes [bin/8948].
+ - remove `const char *reason'; it was being assigned but not used.
+ - fix memory leak in fetch_url (no freeaddrinfo was there).
+ sync with recent KAME.
+ - separate out the main `data pump' loop into two: one that supports
+ rate limiting and one that doesn't. simplifies the code, and speeds
+ up the latter case a bit, at the expense of duplicating a few
+ lines...
+
+Sun Nov 28 18:20:41 EST 1999 lukem
+
+ * merge ftp from NetBSD-current (19991128):
+ - implement xsl_init() and xsl_add(); error checking forms of
+ sl_{init,add}()
+ - fix bug where the second press of <TAB> on an empty word (i.e, list
+ all options) may have resulted in an strncmp() against NULL.
+ (detected by _DIAGASSERT())
+ - in cleanuppeer(), reset username to NULL after free()ing it.
+ fixes [bin/8870] by Wolfgang Rupprecht <wolfgang@wsrcc.com>
+ - complete_remote(): use remglob("", ...) instead of remglob(".", ...),
+ for listings of the current working directory; some ftp servers don't
+ like `NLST .'.
+ [noted by Giles Lean <giles@nemeton.com.au>]
+ - recvrequest(): treat remote=="" as remote==NULL when calling
+ command(). (to support the above change)
+ - support `[user@]' in `[user@]host' and `[user@]host[:][path]'.
+ [based on idea (and initial code) from David Maxwell <david@fundy.ca>]
+ - `idle' may be invoked without any args
+ - reformat some comments
+ - reformat usage string in program and man page
+ - call updateremotepwd() after successful login, not after successful
+ connect
+ - always call setsockopt(, IPPROTO_IP, IP_TOS, ) (et al); using #if
+ defined(IPPROTO_IP) doesn't work on certain foreign systems where
+ enums instead of #defines are used...
+ [noted by Matthias Pfaller <leo@dachau.marco.de>]
+
+Mon Nov 15 23:01:58 EST 1999 lukem
+
+ * released lukemftp 1.1
+
+Mon Nov 15 09:07:01 EST 1999 lukem
+
+ * 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 lukem
+
+ * 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
OpenPOWER on IntegriCloud