ChangeLog revision 98247
198247SmikehMon Jun 10 08:12:35 UTC 2002	lukem
298247Smikeh
398247Smikeh	* crank FTP_VERSION from 1.6-beta1 to 1.6-beta2
498247Smikeh
598247Smikeh	* replace missing fseeko(), with a wrapper to fseek() which
698247Smikeh	  checks that the offset isn't > LONG_MAX
798247Smikeh
898247Smikeh	* #include <regex.h> #if HAVE_REGEX_H
998247Smikeh
1098247SmikehMon Jun 10 01:27:46 UTC 2002	lukem
1198247Smikeh
1298247Smikeh	* check for and replace sa_family_t definition
1398247Smikeh
1498247Smikeh	* don't bother checking for issetugid(); it was only used in the
1598247Smikeh	  internal libedit to prevent $HOME/.editrc from being used if
1698247Smikeh	  running set-id, and the newer libedit code wouldn't even read
1798247Smikeh	  $HOME/.editrc if issetugid() wasn't available.  as many target
1898247Smikeh	  operating systems don't have issetugid(), and lukemftp isn't
1998247Smikeh	  likely to be run set-id (and $HOME/.netrc is used in any case),
2098247Smikeh	  the issetugid() check has been disabled in libedit.
2198247Smikeh
2298247Smikeh	* add back cpp code which #defines REGEX #if HAVE_REGEX_H
2398247Smikeh
2498247SmikehWed Jun  5 14:39:11 UTC 2002	lukem
2598247Smikeh
2698247Smikeh	* crank FTP_VERSION from 1.6alpha1 to 1.6-beta1
2798247Smikeh
2898247Smikeh	* implement replacement setprogname()
2998247Smikeh
3098247Smikeh	* use getprogname() instead of __progname
3198247Smikeh
3298247Smikeh	* convert to christos' replacement fgetln(), as it's better than mine
3398247Smikeh
3498247Smikeh	* merge ftp from NetBSD 20020605 to 20020606:
3598247Smikeh		- use setprogname()
3698247Smikeh		- only support -6 if INET6 is defined
3798247Smikeh
3898247SmikehWed Jun  5 13:08:25 UTC 2002	lukem
3998247Smikeh
4098247Smikeh	* don't bother checking if <glob.h> is usable (see below).
4198247Smikeh
4298247Smikeh	* always compile in local glob; it's the best way to ensure that
4398247Smikeh	  various security issues are fixed
4498247Smikeh
4598247Smikeh	* update libukem/glob.c from NetBSD's __glob13.c rev 1.22 and rev 1.23
4698247Smikeh
4798247Smikeh	* merge libedit from NetBSD 20010413 to 20020606:
4898247Smikeh		- constify; passes all gcc and lint strict checks.
4998247Smikeh		- add config.h [Jason Evans], to create a portable version of
5098247Smikeh		  libedit that can be easily compiled on other OS's.
5198247Smikeh		- PR/12963:Jason Waterman: Fix signed cast problems.
5298247Smikeh		- Fixed an __P remnant
5398247Smikeh		- Close quoting.
5498247Smikeh		- Generate <>& symbolically.
5598247Smikeh		- Punctuation and whitespace nits, fix a typo.
5698247Smikeh		- PR/14188: Anthony Mallet: Provide an opaque data
5798247Smikeh		  pointer to client programs.
5898247Smikeh		- a couple of minor fixes.  originally by Ruslan Ermilov
5998247Smikeh		  <ru@FreeBSD.org>, highlighted to me by way of Mike Barcroft
6098247Smikeh		  <mike@FreeBSD.org> (thanks!)
6198247Smikeh		- PR/14067: Anthony Mallet: Provide a programmatic way
6298247Smikeh		  to set the read_char function via a new el_set() operation.
6398247Smikeh		  Thanks, nicely done :-)
6498247Smikeh		- `existent', not `existant'
6598247Smikeh		- Don't use HAVE_ yet.
6698247Smikeh		- Fix a warning.
6798247Smikeh		- Remove an unused variable.
6898247Smikeh		- If term_init() fails, cleanup and return NULL. This
6998247Smikeh		  avoids other lossage.  Pointed by charles.
7098247Smikeh		- va_{start,end} audit: Make sure that each va_start has one
7198247Smikeh		  and only one matching va_end, especially in error cases.
7298247Smikeh		  If the va_list is used multiple times, do multiple
7398247Smikeh		  va_starts/va_ends.  If a function gets va_list as argument,
7498247Smikeh		  don't let it use va_end (since it's the callers
7598247Smikeh		  responsibility).  Improved by comments from enami and
7698247Smikeh		  christos -- thanks!
7798247Smikeh		- history_def_enter: fix off-by-one mistake in delete
7898247Smikeh		  condition (the behaviour to keep at least one entry on the
7998247Smikeh		  history list is retained). This fixes lib/9704 by Phil Nelson.
8098247Smikeh
8198247Smikeh	* merge ftp from NetBSD 20020524 to 20020605:
8298247Smikeh		- when showing the final progress bar, replace "00:00 ETA"
8398247Smikeh		  with the elapsed time.  (suggested by simonb)
8498247Smikeh		- actually display transfer stats after a URL fetch.
8598247Smikeh		  (bug introduced a *long* time ago)
8698247Smikeh		- update copyright & version
8798247Smikeh
8898247Smikeh	* merge ftp from NetBSD 20001127 to 20020524:
8998247Smikeh		- Use "r+" instead of "r+w", since the latter is not standard.
9098247Smikeh		  Noted by <Steve.McClellan@radisys.com> in private email.
9198247Smikeh		- Only send port number in HTTP/1.1 Host: request if port !=
9298247Smikeh		  80.  Fixes [bin/15415] from Takahiro Kambe
9398247Smikeh		  <taca@sky.yamashina.kyoto.jp>
9498247Smikeh		- Fix bad mode passed by mls() to recvrequest().  Fixes
9598247Smikeh		  [bin/16642] from <steve.mcclellan@radisys.com>
9698247Smikeh		- update copyrights
9798247Smikeh		- minor knf
9898247Smikeh		- invoke cmdtab.c_handler()s with argv[0] == c_name instead
9998247Smikeh		  of the supplied name. that way the full (unambiguous) name
10098247Smikeh		  is displayed in error messages and usage strings.
10198247Smikeh		- line2 may overrun if line is too long (> 200).  be more
10298247Smikeh		  careful on strcpy.
10398247Smikeh		- Handle URLs without files correctly (e.g, when using '-o -').
10498247Smikeh		  Fix from Anders Dinsen <anders@dinsen.net> in [bin/13768]
10598247Smikeh		- portnum is unsigned, use %u instead of %d
10698247Smikeh		- Add -4 to force IPv4 and -6 to force IPv6 address usage.
10798247Smikeh		  From Hajimu UMEMOTO, via Mike Heffner of FreeBSD.
10898247Smikeh		- use u_char instead of char in base64_encode().
10998247Smikeh		  problem noticed by Jorgen Lundman in private mail.
11098247Smikeh		- don't make broken file with -R option.
11198247Smikeh		- handle "*" in Content-Range properly.
11298247Smikeh		- If no_proxy condition is true && urltype == FTP_URL_T,
11398247Smikeh		  use fetch_ftp to retrieve
11498247Smikeh		- convert to use getprogname()
11598247Smikeh		- Fix description for "form", "mode", and "struct" commands.
11698247Smikeh		  Inspired by [bin/16736] from Steve McClellan
11798247Smikeh		  <steve.mcclellan@radisys.com>
11898247Smikeh		- Generate <>& symbolically. I'm avoiding .../dist/...
11998247Smikeh		  directories for now.
12098247Smikeh		- Punctuation nits.
12198247Smikeh		- Whitespace cleanup.
12298247Smikeh		- put "site" in alphabetical order. noted by Mike Barcroft
12398247Smikeh		  in private email
12498247Smikeh		- avoid buffer overrun on PASV from malicious server.
12598247Smikeh		- Large file ASCII mode support by using fseeko()
12698247Smikeh		  instead of fseek().  From Andrey A. Chernov of FreeBSD,
12798247Smikeh		  via Mike Heffner.
12898247Smikeh		- Deal with const'ification if el_parse().
12998247Smikeh		- call setlocale() on startup
13098247Smikeh		- display a limited progress bar (containing bytes xferred
13198247Smikeh		  and xfer rate) when the file size is unknown
13298247Smikeh		- disable progress bar during remglob()
13398247Smikeh
13498247SmikehThu Mar 14 05:41:49 UTC 2002	lukem
13598247Smikeh
13698247Smikeh	* ensure all AF_INET6 use is protected with #ifdef INET6
13798247Smikeh
13898247Smikeh	* remove unnecessary __attribute__ goop
13998247Smikeh
14098247Smikeh	* libukem/snprintf.c: fix compile errors with gcc 3.x
14198247Smikeh
14298247SmikehTue Apr 17 08:07:29 UTC 2001	lukem
14398247Smikeh
14498247Smikeh	* autoconf check for %q long long support in *printf()
14598247Smikeh	  (instead of %ll), define and use HAVE_PRINTF_QD if so
14698247Smikeh
14798247Smikeh	* ipv6 isn't compatible with socks, so disable the former
14898247Smikeh
14998247Smikeh	* look for <libutil.h> (instead of <util.h>) and <arpa/nameser.h>
15098247Smikeh
15198247Smikeh	* don't check for fparseln() twice
15298247Smikeh
15398247Smikeh	* fix getaddrinfo() checks
15498247Smikeh
15598247Smikeh	* crank FTP_VERSION from 1.5 to 1.6alpha1
15698247Smikeh
15798247Smikeh	* always ensure _PATH_BSHELL and _PATH_TMP are defined
15898247Smikeh
15998247Smikeh	* prototype inet_pton() if its missing
16098247Smikeh
16198247Smikeh	* don't bother trying to use if_indextoname() in ip6_sa2str()
16298247Smikeh	  (fixes problems on MacOS X)
16398247Smikeh
16498247Smikeh	* in inet_pton(), pull in <arpa/nameser.h> for IN6ADDRSZ and INT16SZ,
16598247Smikeh	  and define if missing
16698247Smikeh
16798247SmikehFri Apr 13 15:24:44 UTC 2001	lukem
16898247Smikeh
16998247Smikeh	* only include <arpa/nameser.h> if we have it
17098247Smikeh
17198247Smikeh	* update glob(3) to netbsd-current (20010329), adding support
17298247Smikeh	  for GLOB_LIMIT and fixing various buffer overflows.
17398247Smikeh
17498247Smikeh	* update editline from NetBSD 20000915 -> NetBSD 20010413
17598247Smikeh		- Enlarge editline buffers as needed to support arbitrary
17698247Smikeh		  length lines.  This also addresses lib/9712 by Phil Nelson.
17798247Smikeh		- consistently check for allocation failures and return -1,
17898247Smikeh		  if we could not get more memory.
17998247Smikeh		- add support for home and end keys.
18098247Smikeh		- improve debugging support
18198247Smikeh		- el_line_t: make 'limit' const
18298247Smikeh
18398247SmikehMon Nov 27 23:23:40 EST 2000	lukem
18498247Smikeh
18598247Smikeh	* merge ftp from NetBSD-current (20001127):
18698247Smikeh		- implement "mreget"; as per "mget" but uses "reget" instead
18798247Smikeh		  of "get"
18898247Smikeh		- add -N netrc and $NETRC, as methods to select an alternative
18998247Smikeh		  .netrc file
19098247Smikeh		- cache local user name and home directory for further use
19198247Smikeh		- in mget(), use docase() instead of a local version to do
19298247Smikeh		  the case conversion.
19398247Smikeh		- format string cleanups
19498247Smikeh		- be more explicit that $ftp_proxy and $http_proxy are not
19598247Smikeh		  supported for interactive sessions
19698247Smikeh		- cope with 2553bis getnameinfo (always attach scope id)
19798247Smikeh		  getnameinfo error check.
19898247Smikeh		- use NI_MAXHOST with getnameinfo.  we can assume presence of
19998247Smikeh		  getnameinfo.
20098247Smikeh
20198247SmikehTue Nov  7 00:16:23 EST 2000	lukem
20298247Smikeh
20398247Smikeh	* libukem/snprintf.c had a non-functional `%s' due to a
20498247Smikeh	  function declaration mismatch.  problem found and fixed
20598247Smikeh	  by Hubert Feyrer <hubert@feyrer.de>
20698247Smikeh
20779971SobrienWed Oct 11 14:06:19 EST 2000	lukem
20879971Sobrien
20979971Sobrien	* released version 1.5
21079971Sobrien
21179971SobrienTue Oct  3 10:22:36 EST 2000	lukem
21279971Sobrien
21379971Sobrien	* crank to version 1.5 beta6
21479971Sobrien
21579971Sobrien	* merge ftp from NetBSD-current (20001003)
21679971Sobrien		- explicitly use SOCK_STREAM with socket() instead of
21779971Sobrien		  res->ai_socktype, because it appears that linux with glibc
21879971Sobrien		  doesn't set the latter correctly after one of getaddrinfo()
21979971Sobrien		  or getnameinfo().
22079971Sobrien		- clarify that $ftp_proxy only works for full URLs and can't
22179971Sobrien		  be used for interactive connections.
22279971Sobrien
22379971SobrienMon Sep 25 21:52:12 EST 2000	lukem
22479971Sobrien
22579971Sobrien	* crank to version 1.5 beta5
22679971Sobrien	
22779971SobrienSun Sep 24 13:31:19 EST 2000	lukem
22879971Sobrien
22979971Sobrien	* merge ftp from NetBSD-current (20000924)
23079971Sobrien		- since everything else here uses ANSI C, we might as well
23179971Sobrien		  replace __STRING() with the ANSI C stringization stuff...
23279971Sobrien		- base64_encode should be static. picked up by hp/ux(!)
23379971Sobrien		  compiler
23479971Sobrien		- It appears that whilst Apache 1.3.9 incorrectly puts a
23579971Sobrien		  trailing space after the chunksize (before the \r\n),
23679971Sobrien		  Apache 1.3.11 puts *multiple* trailing spaces after the
23779971Sobrien		  chunksize. I 'm fairly certain that this is contrary to
23879971Sobrien		  RFC 2068 section 3.6, but whatever...
23979971Sobrien		  Found by David Brownlee <abs@mono.org>
24079971Sobrien		- always include <netdb.h>, not just when INET6 is defined.
24179971Sobrien		  resolves PR [bin/10970] by Richard Earnshaw
24279971Sobrien		  <rearnsha@cambridge.arm.com>>
24379971Sobrien		- in progressmeter() perform the check for foregroundproc() a
24479971Sobrien		  little earlier
24579971Sobrien		- removed unused variable `items' in list_vertical()
24679971Sobrien	
24779971SobrienSat Sep 23 15:43:34 EST 2000	lukem
24879971Sobrien
24979971Sobrien	* remove unused sverrno in warnx() and errx()
25079971Sobrien
25179971Sobrien	* remove unused h_error in getnameinfo()
25279971Sobrien
25379971Sobrien	* in getaddrinfo(), don't bother declaring in6_addrany[] and
25479971Sobrien	  in6_loopback #ifndef INET6
25579971Sobrien
25679971SobrienThu Sep 21 11:26:35 EST 2000	lukem
25779971Sobrien
25879971Sobrien	* in getaddrinfo.c::str_isnumber(), use strtol() and check the
25979971Sobrien	  result, instead of using strtoul() and not checking the result.
26079971Sobrien
26179971Sobrien	* define INADDRSZ if it's not found (e.g, HP/UX doesn't seem to have
26279971Sobrien	  it in <arpa/nameser.h>)
26379971Sobrien
26479971SobrienWed Sep 20 09:23:59 EST 2000	lukem
26579971Sobrien
26679971Sobrien	* crank to version 1.5 beta4
26779971Sobrien
26879971SobrienMon Sep 18 18:19:54 EST 2000	lukem
26979971Sobrien
27079971Sobrien	* add AC_AIX test, which defines _ALL_SOURCE under AIX
27179971Sobrien
27279971Sobrien	* use ANSI # stringization instead of __STRING()
27379971Sobrien
27479971Sobrien	* define HAVE_RFC2553_NETDB if <netdb.h> defines AI_NUMERICHOST
27579971Sobrien	  (et al) and has getaddrinfo(). (some systems only implement RFC2133)
27679971Sobrien
27779971Sobrien	* don't bother with AC_C_CONST as we depend upon ANSI C elsewhere
27879971Sobrien
27979971Sobrien	* when HAVE_RFC2553_NETDB isn't set, and we're #defining various EAI_,
28079971Sobrien	  AI_, and NI_ items, #undef first incase a system partially implements
28179971Sobrien	  these in <netdb.h>
28279971Sobrien
28379971Sobrien	* look for tgetent() in -ltinfo before -lncurses, because ncurses 5.0
28479971Sobrien	  has been split up into multiple libraries.
28579971Sobrien	  from Arkadiusz Miskiewicz <misiek@pld.org.pl>
28679971Sobrien
28779971SobrienFri Sep 15 01:09:10 EST 2000	lukem
28879971Sobrien
28979971Sobrien	* don't bother defining __P() or __STRING() based on whether
29079971Sobrien	  __STDC__ is available or not, since these aren't used any more
29179971Sobrien
29279971Sobrien	* fix mkstemp() prototype
29379971Sobrien
29479971Sobrien	* declare getpass() if necessary
29579971Sobrien
29679971Sobrien	* we don't need the readline xxgdb hack in libedit...
29779971Sobrien
29879971Sobrien	* convert to ansi declarations
29979971Sobrien
30079971Sobrien	* use ansi prototypes instead of __P()
30179971Sobrien
30279971Sobrien	* merge in changes from makelist 1.4 -> 1.6:
30379971Sobrien		- generate ansi prototypes instead of using __P().  noted by
30479971Sobrien		  christos
30579971Sobrien		- fix a couple of comments
30679971Sobrien		- add -m option to makelist, which generates an mdoc table
30779971Sobrien		  with the key bindings and their descriptions
30879971Sobrien		- manually add the output of 'sh ./makelist -m vi.c ed.c
30979971Sobrien		  common.c' to a new section in editrc(5) called
31079971Sobrien		  `EDITOR COMMANDS'
31179971Sobrien
31279971Sobrien	* merge libedit from NetBSD-current (20000915)
31379971Sobrien		* convert to new style guide, which includes:
31479971Sobrien			- ansi prototypes & features (such as stdargs)
31579971Sobrien			- 8 space indents
31679971Sobrien		* history_def_set has a `const int' as a third arg, not an
31779971Sobrien		  `int'.  picked up by the ultrix compiler, reported by
31879971Sobrien		  simonb@ ...
31979971Sobrien		* generate ansi prototypes instead of using __P().  noted by
32079971Sobrien		  christos.  fix a couple of comments
32179971Sobrien		* make xxgdb and a gdb linked with libedit's readline emulation
32279971Sobrien		  work properly together.   xxgdb communicates with a gdb
32379971Sobrien		  running on a pty that it sets to -echo,-onlcr prior to
32479971Sobrien		  forking the gdb process.  GNU readline preserves the -echo
32579971Sobrien		  setting while libedit was undoing it (setting the tty to a
32679971Sobrien		  sane state and totally confusing xxgdb's parser).
32779971Sobrien		  this diff simply disables libedit if both readline emulation
32879971Sobrien		  and "stty -echo" are used/set.   that is enough to make
32979971Sobrien		  xxgdb work once again, but (XXX) this is not how GNU readline
33079971Sobrien		  handles stty -echo (it does not echo anything, but editing
33179971Sobrien		  commands like ^A,^K, etc.  still work), so the readline
33279971Sobrien		  emulation isn't perfect.
33379971Sobrien
33479971SobrienTue Aug 29 18:00:08 EST 2000	lukem
33579971Sobrien
33679971Sobrien	* don't bother testing for #if __STDC__; just assume we have it...
33779971Sobrien
33879971SobrienMon Aug 28 22:45:08 EST 2000	lukem
33979971Sobrien
34079971Sobrien	* refine tests for IPv6 #defines (EAI_, AI_, NI_, ...).
34179971Sobrien	  should improve portability on systems which implement
34279971Sobrien	  RFC 2133 but not RFC 2553.
34379971Sobrien
34479971SobrienWed Aug  9 02:12:51 EST 2000	lukem
34579971Sobrien
34679971Sobrien	* use #if __STDC__ instead of #ifdef __STDC__
34779971Sobrien
34879971Sobrien	* only test 'case NETDB_INTERNAL:' if it's defined
34979971Sobrien
35079971Sobrien	* fix support for --program-prefix et al
35179971Sobrien
35279971Sobrien	* only include <arpa/nameser.h> in the files that need it, because
35379971Sobrien	  the DELETE define in some system's implementations causes name
35479971Sobrien	  collisions in libedit.
35579971Sobrien
35679971SobrienMon Aug  7 08:17:37 EST 2000	lukem
35779971Sobrien
35879971Sobrien	* merge ftp from NetBSD-current (20000807)
35979971Sobrien		* implement parseport(), which takes a string and attempts to
36079971Sobrien		  convert it to a numeric port number
36179971Sobrien		* use parseport() in parse_url() and hookup()
36279971Sobrien		* don't try and lookup the port number using getaddrinfo(),
36379971Sobrien		  as it's too hard to separate a failed host name lookup from
36479971Sobrien		  a failed service name lookup.  this was causing lossage on
36579971Sobrien		  systems that don't have `http' in services(5) (such as
36679971Sobrien		  solaris), but only crept in when we started using
36779971Sobrien		  getaddrinfo() unconditionally.
36879971Sobrien
36979971SobrienWed Aug  2 23:43:50 EST 2000	lukem
37079971Sobrien
37179971Sobrien	* crank to version 1.5 beta3
37279971Sobrien
37379971Sobrien	* define NO_LONG_LONG not NO_QUAD
37479971Sobrien
37579971Sobrien	* detect if struct sockaddr.sa_len exists (rather than relying upon
37679971Sobrien	  #ifdef BSD4_4)
37779971Sobrien
37879971Sobrien	* detect if socklen_t exists, and if not, typedef as unsigned int
37979971Sobrien
38079971Sobrien	* detect if struct addrinfo exists, and if not declare it and #define
38179971Sobrien	  associated EAI_, AI_, and NI_ defines.
38279971Sobrien
38379971Sobrien	* look for & replace: getaddrinfo(), getnameinfo(), inet_ntop(),
38479971Sobrien	  inet_pton()
38579971Sobrien	* look for gethostbyname2()
38679971Sobrien
38779971Sobrien	* don't bother looking for hstrerror() or inet_aton() anymore
38879971Sobrien
38979971Sobrien	* include <arpa/nameser.h> and <stddef.h>
39079971Sobrien
39179971Sobrien	* define USE_SELECT instead of __USE_SELECT
39279971Sobrien
39379971Sobrien	* always define HAVE_H_ERRNO
39479971Sobrien
39579971Sobrien	* add Brian Stark to THANKS, for lots of AIX porting feedback
39679971Sobrien
39779971Sobrien	* improve detection of sin_len for AIX (now part of sa_len test)
39879971Sobrien
39979971Sobrien	* add functions needed by recent ftp import:
40079971Sobrien		getaddrinfo(), getnameinfo(), inet_ntop(), inet_pton()
40179971Sobrien	  remove functions not needed anymore:
40279971Sobrien		hstrerror(), inet_aton()
40379971Sobrien
40479971Sobrien	* use #if HAVE_ISSETUGID not #ifdef
40579971Sobrien
40679971Sobrien	* update from NetBSD-current (20000802):
40779971Sobrien		- rename NO_QUAD to NO_LONG_LONG, QUAD* -> LL* and add ULL*
40879971Sobrien		  (unsigned) equivalents. name change suggested by Klaus
40979971Sobrien		  Klein <kjk@netbsd.org>
41079971Sobrien		- change defined(BSD4_4) || HAVE_SIN_LEN tests into
41179971Sobrien		  HAVE_SOCKADDR_SA_LEN, and set the latter if BSD4_4 exists
41279971Sobrien
41379971SobrienMon Jul 31 10:59:10 EST 2000	lukem
41479971Sobrien
41579971Sobrien	* merge ftp from NetBSD-current (20000731)
41679971Sobrien		- we can't just rename BSD4_4 -> HAVE_SIN_LEN, since bsd
41779971Sobrien		  systems define BSD4_4; change tests to test for either
41879971Sobrien		  defined(BSD4_4) or HAVE_SIN_LEN
41979971Sobrien		- more KNF
42079971Sobrien
42179971SobrienSun Jul 30 16:55:09 EST 2000	lukem
42279971Sobrien
42379971Sobrien	* merge ftp from NetBSD-current (20000730):
42479971Sobrien		- clean up NO_QUAD support: create helper #defines and use as
42579971Sobrien		  appropriate:
42679971Sobrien			#define         NOQUAD          ! NOQUAD
42779971Sobrien			-------         ------          - ------
42879971Sobrien			QUADF           "%ld"           "%lld"
42979971Sobrien			QUADFP(x)       "%" x "ld"      "%" x "lld"
43079971Sobrien			QUADT           long            long long
43179971Sobrien			STRTOL(x,y,z)   strtol(x,y,z)   strtoll(x,y,z)
43279971Sobrien		- always use getaddrinfo() and getnameinfo() instead of
43379971Sobrien		  maintaining two code paths.
43479971Sobrien		- rename __USE_SELECT to USE_SELECT
43579971Sobrien		- rename BSD4_4 to HAVE_SIN_LEN
43679971Sobrien		- replace union sockunion {} with struct sockinet {}, and
43779971Sobrien		  modify the code accordingly. this is possibly more portable,
43879971Sobrien		  as it doesn't rely upon the structure alignment within the
43979971Sobrien		  union for our own stuff.
44079971Sobrien
44179971SobrienFri Jul 28 22:11:17 EST 2000	lukem
44279971Sobrien
44379971Sobrien	* merge ftp from NetBSD-current (20000728):
44479971Sobrien		- no trailing , on last item (FEAT_max) in enum
44579971Sobrien		- rename "opts" to "remopts", so people used to "o host"
44679971Sobrien		  don't get bitten
44779971Sobrien
44879971SobrienWed Jul 26 18:59:19 EST 2000	lukem
44979971Sobrien
45079971Sobrien	* merge ftp from NetBSD-current (20000726):
45179971Sobrien		- add support for FEAT and OPTS commands with `features' and
45279971Sobrien		  `opts'.  (from RFC 2389).
45379971Sobrien		- add support for MLST & MLSD (machine parseble listings)
45479971Sobrien		  with 'mlst', 'mlsd' and 'pmlsd' (mlsd |$PAGER) commands. 
45579971Sobrien		  (from draft-ietf-ftpext-mlst-11)
45679971Sobrien		- rename remotesyst() to getremoteinfo(), and modify to parse
45779971Sobrien		  the result from FEAT (if supported), and take into account
45879971Sobrien		  the support for the various extensions such as MDTM, SIZE,
45979971Sobrien		  REST (STREAM), MLSD, and FEAT/OPTS.
46079971Sobrien		- put each feature into one of the following categories:
46179971Sobrien			- known to work (explicit FEAT)
46279971Sobrien			- unknown but assume works until explicit failure,
46379971Sobrien			  when it's then tagged as `known not to work'.
46479971Sobrien			- known not to work (FEAT succeeded but didn't return
46579971Sobrien			  anything, or was unknown and then explicit failure)
46679971Sobrien		  assign results into features[] matrix.
46779971Sobrien		- add support to getreply() so that an optional callback will
46879971Sobrien		  be called for each line received from the server except for
46979971Sobrien		  the first and last.  this is used in FEAT (and MLST) parsing.
47079971Sobrien		- modify various commands to check if REST (STREAM), MDTM and
47179971Sobrien		  SIZE are explicitly or implicitly supported before using.
47279971Sobrien		- fix `syst' when verbose is off.
47379971Sobrien		- minor knf (indent goto labels by one space, etc).
47479971Sobrien		- simply various command usage handlers by assuming that
47579971Sobrien		  argv != NULL except for quit() and disconnect().
47679971Sobrien		- errx?/warnx? audit.  do not pass variable alone, use %s. 
47779971Sobrien
47879971Sobrien	* check for issetugid() and don't use in libedit if it doesn't exist.
47979971Sobrien
48079971Sobrien	* merge libedit from NetBSD-current (20000726):
48179971Sobrien		* Only look in home directory for .editrc.  (Discussed
48279971Sobrien		  with Christos.)
48379971Sobrien
48479971Sobrien	* in glob.c #undef TILDE before redefining, because some AIX systems
48579971Sobrien	  #define TILDE in <sys/ioctl.h>
48679971Sobrien
48779971SobrienMon Jul 10 00:28:51 EST 2000	lukem
48879971Sobrien
48979971Sobrien	* released lukemftp 1.4
49079971Sobrien
49179971SobrienThu Jun 15 23:28:49 EST 2000	lukem
49279971Sobrien
49379971Sobrien	* merge ftp from NetBSD-current (20000615):
49479971Sobrien		* migrate the SYST parsing from setpeer() into a separate
49579971Sobrien		  remotesyst().  call remotesyst() only when login has been
49679971Sobrien		  successful some servers don't let you run SYST until you've
49779971Sobrien		  successfully logged in.
49879971Sobrien		* in fetch_ftp(), always call setpeer() with autologin
49979971Sobrien		  disabled, and use the following ftp_login() to DTRT.  this
50079971Sobrien		  prevents ftp from trying to login a second time if the
50179971Sobrien		  first autologin fails when connecting to a remote site
50279971Sobrien		  anonymously using autofetch.
50379971Sobrien		* reset unix_proxy and unix_server in cleanuppeer()
50479971Sobrien		* missed a function conversion in the KNF sweep...
50579971Sobrien
50679971SobrienMon Jun 12 01:16:12 EST 2000	lukem
50779971Sobrien
50879971Sobrien	* change lukemftp.h to check !HAVE_STRDUP instead of !HAVE_STRSUP.
50979971Sobrien	  fixes compile problem on systems which have strdup() as a macro.
51079971Sobrien
51179971Sobrien	* merge ftp from NetBSD-current (20000612):
51279971Sobrien		from itojun: better fix for previous (doesn't need
51379971Sobrien		in_addr_t or u_int32_t)
51479971Sobrien
51579971SobrienSun Jun 11 12:19:52 EST 2000	lukem
51679971Sobrien
51779971Sobrien	* merge ftp from NetBSD-current (20000611):
51879971Sobrien		portability fixes for lukemftp:
51979971Sobrien		* initconn(): use in_addr_t instead of u_int32_t when
52079971Sobrien		  manipulating IPv6 addresses (and assume anything with ipv6
52179971Sobrien		  has in_addr_t; if not, i'll add an autoconf test for it)
52279971Sobrien		* ai_unmapped(): not all systems have sin_len; so only set
52379971Sobrien		  #ifdef BSD4_4
52479971Sobrien		* fix some lint
52579971Sobrien
52679971SobrienMon Jun  5 21:10:31 EST 2000	lukem
52779971Sobrien
52879971Sobrien	* released lukemftp 1.3
52979971Sobrien
53079971SobrienMon Jun  5 19:53:49 EST 2000	lukem
53179971Sobrien
53279971Sobrien	* convert various support files to ANSI C
53379971Sobrien
53479971Sobrien	* look for strtoll() instead of strtoq()
53579971Sobrien
53679971Sobrien	* update COPYRIGHT, THANKS, NEWS
53779971Sobrien
53879971Sobrien	* merge ftp from NetBSD-current (20000605):
53979971Sobrien		- fix ai_unmapped() to be a no-op in the !def INET6 case
54079971Sobrien		- display `(-INET6)' at the end of the version string if
54179971Sobrien		  !def INET6
54279971Sobrien		- clarify in the man page that IPv6 support may not be present
54379971Sobrien		  (for lukemftp :)
54479971Sobrien
54579971Sobrien	* ensure <vis.h> has VIS_WHITE et al
54679971Sobrien
54779971SobrienSun Jun  4 18:00:07 EST 2000	lukem
54879971Sobrien
54979971Sobrien	* merge ftp from NetBSD-current (20000604):
55079971Sobrien		- Change `ls' to use the `LIST' and not `NLST' FTP protocol
55179971Sobrien		  command.  Now that after many years on not caring we find
55279971Sobrien		  certain popular ftp servers are starting to obey RFC959 to
55379971Sobrien		  the letter of the law and will only return a list of
55479971Sobrien		  filenames (not directories or other filetypes) in the
55579971Sobrien		  output of `NLST', then `LIST' is more useful in this case.
55679971Sobrien		  (Note that the aforementioned pedanticness means that
55779971Sobrien		  filename completion isn't as useful as it could be...)
55879971Sobrien		  Fixes [bin/8937] by David A. Gatwood
55979971Sobrien		  <dgatwood@deepspace.mklinux.org>
56079971Sobrien		- convert to ANSI KNF
56179971Sobrien		- Add support for `fget localfile', which reads a list of
56279971Sobrien		  filenames to retrieve from localfile.  Based on work by
56379971Sobrien		  Darren Reed.
56479971Sobrien		- Update copyright dates.
56579971Sobrien		- s/strtoq/strtoll/ (the latter is standardised)
56679971Sobrien		- Add support for 'ftp -u url file ...', to upload a list of
56779971Sobrien		  files to given url.  Mostly based on [bin/10019] by Scott
56879971Sobrien		  Aaron Bamford <sab@ansic.net>
56979971Sobrien		- convert IPv4 mapped address (::ffff:10.1.1.1) into real IPv4
57079971Sobrien		  address before touching it.  IPv4 mapped address complicates
57179971Sobrien		  too many things in FTP protocol handling.
57279971Sobrien		- do not pass scoped IPv6 address notation on Host: directive,
57379971Sobrien		  since scope identifier is local to the originating node.
57479971Sobrien		  do not allow scoped IPv6 address notation in URL, if it is
57579971Sobrien		  via proxy. 
57679971Sobrien		- fixes from cgd:
57779971Sobrien		  * sanity check a length (otherwise certain bogus responses
57879971Sobrien		    can crash ftp)
57979971Sobrien		  * allow a transfer encoding type of `binary'; certain
58079971Sobrien		    firewall vendors return this bogus type... 
58179971Sobrien		- make debugging output unambiguous on IPv6 numeric addrs
58279971Sobrien		  (don't use host:port)
58379971Sobrien		- http://[::1]:8080/ is legal.
58479971Sobrien		- send Host: directive with RFC2732 bracket notation for IPv6
58579971Sobrien		  numeric, otherwise "host:port" is ambiguous to servers
58679971Sobrien		  (clarification will be submitted as update to RFC2732).
58779971Sobrien		- only use getaddrinfo() et al if both NI_NUMERICHOST *and*
58879971Sobrien		  INET6 are defined...  (allows --disable-ipv6 in lukemftp's
58979971Sobrien		  configure script to disable this as well, which is good for
59079971Sobrien		  testing when it appears getaddrinfo() is borken)
59179971Sobrien		- updated comment on IPv4 mapped address.  sync with kame.
59279971Sobrien		- Fix examples on using pipes in local filenames.  AFAICT,
59379971Sobrien		  ftp has always required `dir . |more' not as `dir |more'
59479971Sobrien		  treats `|more' as the remote filename. Resolves [bin/9922]
59579971Sobrien		  by Geoff Wing <mason@primenet.com.au>
59679971Sobrien		- ftp(1): treats IPv4 mapped destination as IPv4 peer, not
59779971Sobrien		  native IPv6 peer.  this does not support network with SIIT
59879971Sobrien		  translator.
59979971Sobrien		- inhibit too-noisy message for scoped address data transfer
60079971Sobrien		  (will be enabled in "debug" mode).
60179971Sobrien		- only use IPTOS_ setsockopt()s if they're defined (e.g, SunOS
60279971Sobrien		  doesn't).  from Havard.Eidnes@runit.sintef.no
60379971Sobrien		- allow IPv6 extended numeric address in host part.
60479971Sobrien		  (draft-ietf-ipngwg-scopedaddr-format-01.txt). fixes PR 9616.
60579971Sobrien
60679971Sobrien	* merge libedit from NetBSD-current (20000604):
60779971Sobrien		- use strtol() (instead of atoi()) for sane error detection
60879971Sobrien
60979971SobrienWed May 31 19:24:53 EST 2000	lukem
61079971Sobrien
61179971Sobrien	* merge libedit from NetBSD-current (20000531):
61279971Sobrien		- Fix refresh glitches when using auto-margin.
61379971Sobrien		- Don't dump core on empty .editrc files.
61479971Sobrien		- el_insertstr takes a "const char *" not "char *" now as it
61579971Sobrien		  doesn't modify the argument.
61679971Sobrien
61779971SobrienThu Feb  3 20:19:40 EST 2000	lukem
61879971Sobrien
61979971Sobrien	* released lukemftp 1.2
62079971Sobrien
62179971SobrienTue Feb  1 09:47:51 EST 2000	lukem
62279971Sobrien
62379971Sobrien	* add --enable-ipv6 and --disable-ipv6 to configure
62479971Sobrien
62579971Sobrien	* modify libedit/sig.? to use sigfunc instead of sig_t, and
62679971Sobrien	  deprecate autoconf tests for retsigtype and sig_t.
62779971Sobrien	  This fixes portability problems with Digital UNIX 5.0.
62879971Sobrien
62979971Sobrien	* merge ftp from NetBSD-current (20000201):
63079971Sobrien		- define private type `sigfunc' as
63179971Sobrien			typedef void (*sigfunc) __P((int));
63279971Sobrien		  and replace use of sig_t and void (*)(int).
63379971Sobrien		  certain other OSes define sig_t differently to that (they
63479971Sobrien		  add extra arguments), and it causes problems due to
63579971Sobrien		  function mismatches, etc...
63679971Sobrien
63779971SobrienWed Jan 26 22:54:38 EST 2000	lukem
63879971Sobrien
63979971Sobrien	* search for tgetent() in -ltermcap then -lcurses and -lncurses
64079971Sobrien
64179971Sobrien	* merge ftp from NetBSD-current (20000126):
64279971Sobrien		- roll back to using sscanf() instead of strptime() to parse
64379971Sobrien		  `yyyymmddhhmmss' strings, since the latter technically can't
64479971Sobrien		  parse dates without non alphanumerics between the elements
64579971Sobrien		  (even though NetBSD's strptime() copes).
64679971Sobrien
64779971SobrienTue Jan 25 19:09:37 EST 2000	lukem
64879971Sobrien
64979971Sobrien	* merge ftp from NetBSD-current (20000125):
65079971Sobrien		- complete_ambiguous(): be consistent about completing
65179971Sobrien		  unambiguous matches; if the word is already complete then
65279971Sobrien		  return CC_REFRESH so that the higher layer may append a
65379971Sobrien		  suffix if necessary. Fix from Launey Thomas <ljt@alum.mit.edu>
65479971Sobrien		- change references from draft-ietf-ipngwg-url-literal-01.txt
65579971Sobrien		  to RFC2732
65679971Sobrien		- work around bug in apache 1.3.9 which incorrectly puts a
65779971Sobrien		  trailing space after the chunksize.  noted by Jun-ichiro
65879971Sobrien		  itojun Hagino <itojun@itojun.org> in [bin/9096]
65979971Sobrien		- work around lame ftpd's that don't return a correct post-Y2K
66079971Sobrien		  date in the output of `MDTM'.  obviously the programmer of
66179971Sobrien		  aforementioned lame ftpd's did something like
66279971Sobrien			"19%02d", tm->tm_year
66379971Sobrien		  instead of
66479971Sobrien			"%04d", tm->tm_year + TM_YEAR_BASE
66579971Sobrien		  fixes [bin/9289] by jbernard@mines.edu
66679971Sobrien
66779971Sobrien	* merge libedit from NetBSD-current (20000125):
66879971Sobrien		- PR/9244: Kevin Schoedel: libedit dumps bindings
66979971Sobrien		  inconsistently
67079971Sobrien		- PR/9243: Kevin Schoedel: libedit ignores repeat count
67179971Sobrien		- Add support for automatic and magic margins (from tcsh)
67279971Sobrien		  This makes the rightmost column usable on all programs
67379971Sobrien		  that use editline.
67479971Sobrien
67579971SobrienTue Dec 21 08:59:22 EST 1999	lukem
67679971Sobrien
67779971Sobrien	* update INSTALL notes for some systems
67879971Sobrien
67979971Sobrien	* if sl_init() exists, check return value of sl_add() is int and
68079971Sobrien	  compile in a replacement copy if it's not the case
68179971Sobrien
68279971Sobrien	* don't look for <stringlist.h> - always use local prototypes; older
68379971Sobrien	  NetBSD systems may have conflicting prototypes
68479971Sobrien
68579971SobrienMon Dec 20 11:21:28 EST 1999	lukem
68679971Sobrien
68779971Sobrien	* merge ftp from NetBSD-current (19991220):
68879971Sobrien	- Move version from ftp_var.h to version.h
68979971Sobrien	- Fix chunked support; probably broke after rate limiting was added.
69079971Sobrien	  Problem noticed/debugging assisted by giles lean
69179971Sobrien	  <giles@nemeton.com.au>.
69279971Sobrien	- remove unnecessary freeaddrinfo(res), since res0 was changed to be
69379971Sobrien	  freed earlier in itojun's last commit. fixes [bin/8948].
69479971Sobrien	- remove `const char *reason'; it was being assigned but not used.
69579971Sobrien	- fix memory leak in fetch_url (no freeaddrinfo was there).
69679971Sobrien	  sync with recent KAME.
69779971Sobrien	- separate out the main `data pump' loop into two: one that supports
69879971Sobrien	  rate limiting and one that doesn't. simplifies the code, and speeds
69979971Sobrien	  up the latter case a bit, at the expense of duplicating a few
70079971Sobrien	  lines...
70179971Sobrien
70279971SobrienSun Nov 28 18:20:41 EST 1999	lukem
70379971Sobrien
70479971Sobrien	* merge ftp from NetBSD-current (19991128):
70579971Sobrien	- implement xsl_init() and  xsl_add(); error checking forms of
70679971Sobrien	  sl_{init,add}()
70779971Sobrien	- fix bug where the second press of <TAB> on an empty word (i.e, list
70879971Sobrien	  all options) may have resulted in an strncmp() against NULL. 
70979971Sobrien	  (detected by _DIAGASSERT())
71079971Sobrien	- in cleanuppeer(), reset username to NULL after free()ing it.
71179971Sobrien	  fixes [bin/8870] by Wolfgang Rupprecht <wolfgang@wsrcc.com>
71279971Sobrien	- complete_remote(): use remglob("", ...) instead of remglob(".", ...),
71379971Sobrien	  for listings of the current working directory; some ftp servers don't
71479971Sobrien	  like `NLST .'.
71579971Sobrien	  [noted by Giles Lean <giles@nemeton.com.au>]
71679971Sobrien	- recvrequest(): treat remote=="" as remote==NULL when calling
71779971Sobrien	  command().  (to support the above change)
71879971Sobrien	- support `[user@]' in `[user@]host' and `[user@]host[:][path]'.
71979971Sobrien	  [based on idea (and initial code) from David Maxwell <david@fundy.ca>]
72079971Sobrien	- `idle' may be invoked without any args
72179971Sobrien	- reformat some comments
72279971Sobrien	- reformat usage string in program and man page
72379971Sobrien	- call updateremotepwd() after successful login, not after successful
72479971Sobrien	  connect
72579971Sobrien	- always call setsockopt(, IPPROTO_IP, IP_TOS, ) (et al); using #if
72679971Sobrien	  defined(IPPROTO_IP) doesn't work on certain foreign systems where
72779971Sobrien	  enums instead of #defines are used...
72879971Sobrien	  [noted by Matthias Pfaller <leo@dachau.marco.de>]
72979971Sobrien
73079971SobrienMon Nov 15 23:01:58 EST 1999	lukem
73179971Sobrien
73279971Sobrien	* released lukemftp 1.1
73379971Sobrien
73479971SobrienMon Nov 15 09:07:01 EST 1999	lukem
73579971Sobrien
73679971Sobrien	* merge libedit from NetBSD-current (19991115):
73779971Sobrien		- instead of using a private coord_t global variable to store
73879971Sobrien		  the size of the rprompt, use the previously unused coord_t
73979971Sobrien		  el->el_rprompt.p_pos
74079971Sobrien
74179971SobrienSat Nov 13 14:42:22 EST 1999	lukem
74279971Sobrien
74379971Sobrien	* support caching of results in AC_MSG_TRY_{COMPILE,LINK}
74479971Sobrien	  autoconf tests
74579971Sobrien
74679971Sobrien	* add NEWS file
74779971Sobrien
74879971Sobrien	* clarify copyright statement in COPYING
74979971Sobrien
75079971Sobrien	* merge ftp from NetBSD-current (19991113):
75179971Sobrien		- implement `set rprompt'; right side version of `set prompt'.
75279971Sobrien		  depends on EL_RPROMPT support i added to editline(3).
75379971Sobrien		- allow $FTPPROMPT and $FTPRPROMPT to override defaults for
75479971Sobrien		  the relevant prompts
75579971Sobrien		- move `%' formatting code from prompt() to expandbuf().
75679971Sobrien		- implement `%.' and `%c', similar to the same % codes in
75779971Sobrien		  tcsh(1) (functionality I added to tcsh nearly 6 years ago),
75879971Sobrien		  except that `%.' always does `...trailing' and `%c' always
75979971Sobrien		  does `/<x>trailing'.
76079971Sobrien		- unknown `%foo' codes get printed as `%foo'
76179971Sobrien		- implement updateremotepwd(); update the global variable
76279971Sobrien		  `remotepwd' to contain the remote working directory.
76379971Sobrien		- add `set prompt', a user configurable prompt. (defaults to
76479971Sobrien		  `ftp> ').  the following escape characters a la tcsh(1) are
76579971Sobrien		  supported: %/, %m, %M, and %n.
76679971Sobrien		- add global var `username'; used by prompt code
76779971Sobrien		- fix a couple of minor memory leaks
76879971Sobrien		- bump version
76979971Sobrien		- prevent minor memory leak (unnecessary strdup)
77079971Sobrien		- implement restarting file:/// non-proxied http:// URLs
77179971Sobrien		  (with -R).
77279971Sobrien		- fix a semicolono which stopped file:/// from working
77379971Sobrien		- split the version string into product and version
77479971Sobrien		- be consistent about reporting the version between:
77579971Sobrien			+ status command
77679971Sobrien			+ about:version URL fetch
77779971Sobrien			+ User-agent sent in http requests
77879971Sobrien		- hookup(): when using getservbyname() (when getaddrinfo()
77979971Sobrien		  isn't available), if the provided port is a valid number
78079971Sobrien		  use that rather than trying to do getservbyname() against
78179971Sobrien		  it. fixes a problem on foreign systems noted by Chuck
78279971Sobrien		  Silvers <chuq@chuq.com>
78379971Sobrien		- support `about:version'. also display the version in the
78479971Sobrien		  output of `status'.
78579971Sobrien
78679971Sobrien	* merge libedit from NetBSD-current (19991113):
78779971Sobrien		- implement printing a right-side prompt. code derived from
78879971Sobrien		  similar work I wrote for tcsh(1) three years ago.
78979971Sobrien		- implement EL_RPROMPT, which allows a setting/getting of a
79079971Sobrien		  function which returns a string to be used as the
79179971Sobrien		  right-side prompt.
79279971Sobrien
79379971Sobrien	* replace manually managed config.h.in with acconfig.h and use
79479971Sobrien	  autoheader to generate the former.
79579971Sobrien
79679971Sobrien	* add missing entry for `#undef write' in acconfig.h (for SOCKS)
79779971Sobrien
79879971Sobrien	* configure.in:
79979971Sobrien		- use `LL' suffix on long long constant used to test
80079971Sobrien		  snprintf("%lld")
80179971Sobrien		- test for EL_RPROMPT instead of EL_EDITMODE, since the
80279971Sobrien		  former is is a newer required feature
80379971Sobrien
80479971Sobrien	* in makelist, set LC_ALL="C", in case the locale confuses awk.
80579971Sobrien	  problem noted by Peter Seebach <seebs@plethora.net>
80679971Sobrien
80779971SobrienWed Oct 27 07:00:00 UTC 1999	lukem
80879971Sobrien
80979971Sobrien	* released 1.0
81079971Sobrien
81179971Sobrien	* removed libedit/TEST/test.c; no need to distribute it
81279971Sobrien
81379971SobrienMon Oct 25 21:59:54 EST 1999	lukem
81479971Sobrien
81579971Sobrien	* released 1.0b7
81679971Sobrien
81779971Sobrien	* put VERSION string into lukemftp.h, and display with the `status'
81879971Sobrien	  command
81979971Sobrien
82079971SobrienMon Oct 25 11:36:59 EST 1999	lukem
82179971Sobrien
82279971Sobrien	* merge ftp from NetBSD-current (19991025):
82379971Sobrien	- fix up confirm() (broke `a' and `p' in last commit)
82479971Sobrien	- simplify main loop (don't need `top' variable any more)
82579971Sobrien	- use a struct sockaddr_in6.sin6_addr for the result from inet_pton(),
82679971Sobrien	  rather than u_char buf[16]
82779971Sobrien	- add a few more comments
82879971Sobrien
82979971Sobrien	new features:
83079971Sobrien	- add `usage'; displays the usage of a command.
83179971Sobrien	  implemented by calling the c_handler() with argc = 0, argv =
83279971Sobrien	  "funcname".
83379971Sobrien	- add `passive auto'; does the same as $FTPMODE=auto.
83479971Sobrien	- add `set [option value]'; display all options, or set an option to
83579971Sobrien	  a value.
83679971Sobrien	- add `unset option'; unset an option.
83779971Sobrien	- add getoptionvalue() to retrieve an option's value, and replace a few
83879971Sobrien	  global variables with calls to this.
83979971Sobrien	- implement cleanuppeer(), which resets various bits of state back to
84079971Sobrien	  `disconnected'. call in disconnect() and lostpeer().
84179971Sobrien	- support completing on `options'.
84279971Sobrien	- improve recovery after a SIGINT may have closed the connection.
84379971Sobrien	  XXX: there's still a couple to fix
84479971Sobrien
84579971Sobrien	other stuff:
84679971Sobrien	- various consistency fixes in the man page.
84779971Sobrien	- ensure that the command usage strings in the code and man page
84879971Sobrien	  match reality.
84979971Sobrien	- mput/mget: check that the connection still exists before each xfer.
85079971Sobrien	- minor cosmetic changes in confirm().
85179971Sobrien	- set code correctly in sizecmd() and modtime()
85279971Sobrien	- don't need \n in err() strings.
85379971Sobrien	- change lostpeer to take an argument (rather than casting
85479971Sobrien	  (sig_t)lostpeer in signal handlers)
85579971Sobrien	- knf and whitespace police.
85679971Sobrien
85779971SobrienSun Oct 24 17:02:59 EST 1999	lukem
85879971Sobrien
85979971Sobrien	* merge libedit from NetBSD-current (19991024):
86079971Sobrien		- don't assume locales are not working - it may not be
86179971Sobrien		  the case
86279971Sobrien		- re_refresh(): cast the character passed to re_addc() to
86379971Sobrien		  unsigned char,  so we don't end up calling isprint() with
86479971Sobrien		  negative value when chars are signed and character value
86579971Sobrien		  is >= 128
86679971Sobrien		- Fix pointer arithmatic (caused problems on LP64, including
86779971Sobrien		  ftp dumping core when `edit' was turned off then on).
86879971Sobrien		  Problem solved by David Huggins-Daines <dhd@eradicator.org>
86979971Sobrien
87079971SobrienTue Oct 12 18:05:21 EST 1999	lukem
87179971Sobrien
87279971Sobrien	* install man page from ${srcdir} not from .
87379971Sobrien
87479971SobrienTue Oct 12 17:00:41 EST 1999	lukem
87579971Sobrien
87679971Sobrien	* released 1.0b6
87779971Sobrien
87879971Sobrien	* merge from NetBSD-current (19991012):
87979971Sobrien	  a few user interface and cosmetic tweaks:
88079971Sobrien		- confirm(): move from util.c to cmds.c. display mnemonic
88179971Sobrien		  string in its prompt. add support for `q' (terminate
88279971Sobrien		  current xfer), `?' (show help list)
88379971Sobrien		- in various signal handlers, output a linefeed only if
88479971Sobrien		  fromatty.
88579971Sobrien		- if fgets(stdin) returned NULL (i.e, EOF), clearerr(stdin)
88679971Sobrien		  because you don't want future fgets to fail. this is not
88779971Sobrien		  done for the fgets() in the main command loop, since ftp
88879971Sobrien		  will quit at that point.
88979971Sobrien		- unless ftp is invoked with -a, don't retain the anonftp
89079971Sobrien		  setting between hosts (`ftp somehost:' sets anonftp, but
89179971Sobrien		  you don't want that to `stick' if you close that connection
89279971Sobrien		  and open a new one).
89379971Sobrien
89479971SobrienMon Oct 11 23:06:38 EST 1999	lukem
89579971Sobrien
89679971Sobrien	* check for working const
89779971Sobrien
89879971Sobrien	* reorganise addition of -lukem to LIBS (was being added twice)
89979971Sobrien
90079971Sobrien	* merge from netbsd-current:
90179971Sobrien		- use sigjmp_buf instead of jmp_buf for sigsetjmp() buffer
90279971Sobrien
90379971Sobrien	* libedit: don't bother generating & compiling editline.c, since
90479971Sobrien	  its component parts are compiled anyway.
90579971Sobrien
90679971SobrienSun Oct 10 12:08:39 EST 1999	lukem
90779971Sobrien
90879971Sobrien	* released 1.0b5
90979971Sobrien
91079971Sobrien	* in libedit, use xsignal_restart() (from src/util.c) instead of
91179971Sobrien	  signal(); the isn't guaranteed to work on some foreign systems
91279971Sobrien	  (e.g, IRIX) if sigaction() is used in the same program.
91379971Sobrien
91479971Sobrien	* merge from netbsd-current:
91579971Sobrien		- use sigsetjmp()/siglongjump() instead of setjmp()/longjmp();
91679971Sobrien		  the latter don't save the signal mask on some foreign systems.
91779971Sobrien		- ensure signal handlers don't use stdio and do reset errno
91879971Sobrien		  if they don't exit with siglongjmp()
91979971Sobrien		- use a common SIGINT handler for {send,recv}request()
92079971Sobrien		- allow a second SIGINT during the "xfer aborted. waiting for
92179971Sobrien		  remote to finish abort." stage. if this occurs, just call
92279971Sobrien		  lostpeer() to close the connection.  whilst this might be
92379971Sobrien		  considered brutal, it's also extremely handy if you're
92479971Sobrien		  impatient or there's lossage at the remote end.
92579971Sobrien
92679971Sobrien	* add preformatted manual page
92779971Sobrien
92879971Sobrien	* fix --enable-editline
92979971Sobrien
93079971SobrienWed Oct  6 10:19:00 EST 1999	lukem
93179971Sobrien
93279971Sobrien	* released 1.0b4
93379971Sobrien
93479971Sobrien	* don't defining SIGINFO to SIGQUIT if the former doesn't exist; the
93579971Sobrien	  code now supports both as a method of getting the transfer stats
93679971Sobrien
93779971Sobrien	* rototill signal handling in the actual data xfer routines, and
93879971Sobrien	  specifically set SIGQUIT to psummary in each one, to override
93979971Sobrien	  editline's handler
94079971Sobrien
94179971SobrienTue Oct  5 23:48:29 EST 1999	lukem
94279971Sobrien
94379971Sobrien	* factor out SIGINFO setting into a handler that is always active
94479971Sobrien	  (but only prints out info if bytes > 0). only set the handler if
94579971Sobrien	  SIGINFO is defined
94679971Sobrien
94779971Sobrien	* hijack SIGQUIT to be the same as SIGINFO
94879971Sobrien
94979971Sobrien	* in {recv,send}request(), factor a lot of duplicated code out into
95079971Sobrien	  a `cleanup' section at the end
95179971Sobrien
95279971Sobrien	* rework shell() a bit
95379971Sobrien
95479971Sobrien	* enhancments from Marc Horowitz <marc@mit.edu> to improve
95579971Sobrien	  connection timeouts:
95679971Sobrien		- implement xsignal_restart(), which only sets the SA_RESTART
95779971Sobrien		  flag if specifically requested
95879971Sobrien		- xsignal() is now a wrapper to xsignal_restart(). INFO,
95979971Sobrien		  USR1, USR2 and WINCH are restartable, ALRM, INT, PIPE and
96079971Sobrien		  QUIT are not
96179971Sobrien		- improve getreply()'s timeout code to take advantage of the
96279971Sobrien		  above
96379971Sobrien
96479971Sobrien	* improve wording of how globbing works for `classic' URLs (host:path)
96579971Sobrien	  suggested by John Refling <johnr@imageworks.com> in relation to PRs
96679971Sobrien	  [bin/8519] and [bin/8520]
96779971Sobrien
96879971Sobrien	* always compile in the `edit' command even if NO_EDITCOMPLETE defined
96979971Sobrien	  it's just a no-op in the latter case, which is more consistent to
97079971Sobrien	  the users
97179971Sobrien
97279971Sobrien	* always compile in about: support (i.e, remove NO_ABOUT).  i'm
97379971Sobrien	  entitled to some vanity in this program...
97479971Sobrien
97579971Sobrien	* update copyrights
97679971Sobrien
97779971SobrienMon Oct  4 10:57:41 EST 1999	lukem
97879971Sobrien
97979971Sobrien	* Invoke ar with `cr' not `cq'
98079971Sobrien
98179971Sobrien	* Use AC_PROG_RANLIB to find ranlib, and use it on the libraries
98279971Sobrien
98379971Sobrien	* Remove `makelist' from dependency list for libedit files; re-running
98479971Sobrien	  configure shouldn't result in rebuilding libedit
98579971Sobrien
98679971Sobrien	* Add support for --{en,dis}able-editcomplete (defaults to enabled),
98779971Sobrien	  which prevents libedit support from being compiled in.
98879971Sobrien	  From Chris G. Demetriou <cgd@netbsd.org>
98979971Sobrien
99079971SobrienSun Oct  3 16:49:01 EST 1999	lukem
99179971Sobrien
99279971Sobrien	* touch up the README
99379971Sobrien
99479971Sobrien	* add COPYING, INSTALL, THANKS
99579971Sobrien
99679971Sobrien	* whitespace consistency
99779971Sobrien
99879971Sobrien	* in config.h, replace NO_QUAD with HAVE_QUAD_SUPPORT, and in
99979971Sobrien	  lukemftp.h define the former if the latter is non zero
100079971Sobrien
100179971Sobrien	* change test against GETPGRP_VOID from #ifdef to #if
100279971Sobrien
100379971Sobrien	* snprintf(): in the truncation case, ensure that the length
100479971Sobrien	  returned is the actual length, not the needed length
100579971Sobrien
100679971SobrienSat Oct  2 00:41:34 EST 1999	lukem
100779971Sobrien
100879971Sobrien	* fix more lossage with $(srcdir) / $(VPATH) stuff; seems to work now
100979971Sobrien	  when configured in a separate directory
101079971Sobrien
101179971Sobrien	* actually test the correct variable when determining whether to run
101279971Sobrien	  AC_FUNC_GETPGRP
101379971Sobrien
101479971SobrienFri Oct  1 19:32:22 EST 1999	lukem
101579971Sobrien
101679971Sobrien	* released 1.0b3
101779971Sobrien
101879971Sobrien	* use AC_PROG_MAKE_SET
101979971Sobrien
102079971Sobrien	* determine setting of NO_QUAD with configure not lukemftp.h
102179971Sobrien
102279971Sobrien	* if have long long and have snprintf, test that snprintf
102379971Sobrien	  supports %lld. if it doesn't use private version
102479971Sobrien
102579971Sobrien	* change strtoq from returning off_t to returning long long
102679971Sobrien
102779971Sobrien	* updates from NetBSD mainline:
102879971Sobrien		- only try epsv once per connection (i.e, don't bother again
102979971Sobrien		  if it fails)
103079971Sobrien		- improve description of rate command
103179971Sobrien		- fix up global vars; they're now externed in ftp_var.h
103279971Sobrien		  except when main.c includes it
103379971Sobrien		- remove "pathnames.h"
103479971Sobrien
103579971SobrienFri Oct  1 10:08:43 EST 1999	lukem
103679971Sobrien
103779971Sobrien	* updates from NetBSD mainline:
103879971Sobrien		- fix determining of homedir
103979971Sobrien		- parse_url(): fix checking of portnum
104079971Sobrien		- move kame copyrights after bsd/tnfi ones
104179971Sobrien
104279971Sobrien	* released 1.0b2
104379971Sobrien
104479971Sobrien	* add %lld and %qd support to snprintf() for displaying long long's
104579971Sobrien
104679971Sobrien	* support VPATH and srcdir
104779971Sobrien
104879971SobrienThu Sep 30 17:19:35 EST 1999	lukem
104979971Sobrien
105079971Sobrien	* released 1.0b1
105179971Sobrien
105279971Sobrien	* fix from NetBSD mainline: in empty() FD_ZERO the correct variable
105379971Sobrien
105479971SobrienWed Sep 29 23:34:33 EST 1999	lukem
105579971Sobrien
105679971Sobrien	* major rework; reimport code from NetBSD-current 1999/09/29 into
105779971Sobrien	  separate subdirectories and build from there. organisation is now:
105879971Sobrien		libedit		replacement libedit
105979971Sobrien		libukem		replacements for missing functions
106079971Sobrien		src		main ftp source
106179971Sobrien
106279971SobrienMon Sep 27 00:43:12 EST 1999	lukem
106379971Sobrien
106479971Sobrien	* released 1.0 a6
106579971Sobrien
106679971SobrienSun Sep 26 17:17:05 EST 1999	lukem
106779971Sobrien
106879971Sobrien	* released 1.0 a5
106979971Sobrien
107079971SobrienSat Sep 25 00:58:28 EST 1999	lukem
107179971Sobrien
107279971Sobrien	* released 1.0 a4
107379971Sobrien
107479971SobrienFri Sep 24 17:07:07 EST 1999	lukem
107579971Sobrien
107679971Sobrien	* released 1.0 a3
107779971Sobrien
107879971SobrienFri Sep 24 16:18:29 EST 1999	lukem
107979971Sobrien
108079971Sobrien	* released 1.0 a2
108179971Sobrien
108279971SobrienTue Sep 21 11:38:49 EST 1999	lukem
108379971Sobrien
108479971Sobrien	* import usr.src/bin/ftp and usr.src/lib/libedit sources from NetBSD
1085