1223328Sgavin$NetBSD: ChangeLog,v 1.58 2010/01/12 06:58:57 lukem Exp $
2223328Sgavin
3223328SgavinTue Jan 12 06:58:15 UTC 2010	lukem
4223328Sgavin
5223328Sgavin	* Release as "tnftp 20100108"
6223328Sgavin
7223328Sgavin	* Rename onoff() argument "bool" to "val".
8223328Sgavin
9223328SgavinTue Jan  5 09:12:01 UTC 2010	lukem
10223328Sgavin
11223328Sgavin	* If ARG_MAX isn't defined, use the result from sysconf(_SC_ARG_MAX).
12223328Sgavin	  Fixes build when using newer glibc.
13223328Sgavin
14223328Sgavin	* Add libnetbsd.la to the LIBADD for libedit.
15223328Sgavin	  Fix provided by Adam Sampson.
16223328Sgavin
17223328SgavinMon Jan  4 06:28:07 UTC 2010	lukem
18223328Sgavin
19223328Sgavin	* Distribute various files not shipped by default automake rules,
20223328Sgavin	  to use 'make dist' instead of 'cvs export'.
21223328Sgavin
22223328SgavinWed Dec 30 00:12:47 UTC 2009	lukem
23223328Sgavin
24223328Sgavin	* Release as "tnftp 20091122"
25223328Sgavin
26223328SgavinSun Nov 15 10:14:44 UTC 2009	lukem
27223328Sgavin
28223328Sgavin	* Merge NetBSD ftp from 20090520 to 20090915.  Change:
29223328Sgavin		- Rename internal getline() to get_line() to avoid
30223328Sgavin		  conflict with libc with former.
31223328Sgavin		- Avoid a NULL dereference in an error message.
32223328Sgavin
33223328SgavinSat Nov 14 09:21:19 UTC 2009	lukem
34223328Sgavin
35223328Sgavin	* Convert to automake & libtool.
36223328Sgavin
37223328SgavinSat Jun  6 07:17:38 UTC 2009	lukem
38223328Sgavin
39223328Sgavin	* Release as "tnftp 20090606"
40223328Sgavin
41223328SgavinFri May 22 01:11:15 UTC 2009	lukem
42223328Sgavin
43223328Sgavin	* configure fixes:
44223328Sgavin	  - Add the time.h headers to accheck_includes, for the strptime check.
45223328Sgavin	  - Remove the check for el_init in libedit; we're always replacing
46223328Sgavin	    the library and the presence of strvis() in some versions
47223328Sgavin	    confuses other checks.
48223328Sgavin
49223328SgavinWed May 20 13:47:43 UTC 2009	lukem
50223328Sgavin
51223328Sgavin	* Release as "tnftp 20090520"
52223328Sgavin
53223328Sgavin	* Merge NetBSD ftp from 20070722 to 20090520.  Changes:
54223328Sgavin	    - Only attempt to el_parse() a command unknown by the default
55223328Sgavin	      parser if editing is enabled.
56223328Sgavin	      Fixes PR 38589.
57223328Sgavin	    - Turn off the alarmtimer before resetting the SIGALRM handler
58223328Sgavin	      back to SIG_DFL.
59223328Sgavin	      Fixes PR 35630.
60223328Sgavin	    - Add epsv6 and epsv to disable extended passive mode for ipv6 or
61223328Sgavin	      both ipv4 and ipv6 respectively.  This hack is due to our
62223328Sgavin	      friends a Juniper Networks who break epsv in ipv6.
63223328Sgavin	      Should be fixed in ScreenOS 6.2.X.
64223328Sgavin	    - Improve parsing of chunked transfer chunks per RFC2616:
65223328Sgavin	      - more stringent chunk-size parsing
66223328Sgavin	      - ignore optional trailing ';chunk-ext' stuff, instead of barfing
67223328Sgavin	      - detect EOF before final \r\n.
68223328Sgavin	    - Use the service name to getaddrinfo() (along with the host
69223328Sgavin	      name), so that features such as DNS Service Discovery have a
70223328Sgavin	      better chance of working.
71223328Sgavin	      Display the service name in various status & error messages.
72223328Sgavin	    - Don't getservbyname() the :port component of a URL; RFC 3986
73223328Sgavin	      says it's just an unsigned number, not a service name.
74223328Sgavin	    - Fix numerous WARNS=4 issues (-Wcast-qual -Wsign-compare).
75223328Sgavin	    - Fix -Wshadow issues
76223328Sgavin	    - Update copyrights
77223328Sgavin	    - Remove clause 3 and 4 from TNF licenses
78223328Sgavin	    - Rename HAVE_STRUCT_SOCKADDR_SA_LEN to
79223328Sgavin	      HAVE_STRUCT_SOCKADDR_IN_SIN_LEN to accurately reflect the
80223328Sgavin	      structure member being used.
81223328Sgavin	    - Use AF_INET instead of AF_UNSPEC as the default family if
82223328Sgavin	      !defined(INET6).
83223328Sgavin
84223328Sgavin	* configure improvements:
85223328Sgavin	  - Style tweaks.
86223328Sgavin	  - Use AC_LANG_PROGRAM() instead of AC_LANG_SOURCE()
87223328Sgavin	  - Add a check for strptime() requiring separators between
88223328Sgavin	    conversions, and use our replacement one if it does.
89223328Sgavin
90223328SgavinSat Dec 20 15:28:24 UTC 2008	lukem
91223328Sgavin
92223328Sgavin	* configure improvements:
93223328Sgavin	  - Move IPv6 check from tnftp.h to configure.ac (as per tnftpd).
94223328Sgavin	  - Rework option descriptions.
95223328Sgavin	  - Highlight when tests are for a specific option.
96223328Sgavin	  - Move configuration results to the end of the file.
97223328Sgavin	  - Display $prefix in configure results.
98223328Sgavin
99223328SgavinFri Aug 15 03:03:36 UTC 2008	lukem
100223328Sgavin
101223328Sgavin	* Add a "Configuration results" display at the end of configure.
102223328Sgavin	  Cosmetic tweaks.
103223328Sgavin
104223328SgavinFri Feb 29 09:45:56 UTC 2008	lukem
105223328Sgavin
106223328Sgavin	* Support @EXEEXT@ for Cygwin (etc).
107223328Sgavin
108223328SgavinMon Aug  6 04:55:19 UTC 2007	lukem
109223328Sgavin
110223328Sgavin	* Release as "tnftp 20070806"
111223328Sgavin
112223328Sgavin	* Add a NEWS file.
113223328Sgavin
114223328Sgavin	* Reduce differences between NetBSD-ftp and local copy.
115223328Sgavin
116223328Sgavin	* Merge NetBSD ftp from 20070605 to 20070722.
117223328Sgavin	  Changes:
118223328Sgavin		- Document about:ftp and about:version.
119223328Sgavin
120223328Sgavin	* Add autoconf check for (Dante) SOCKS5.
121223328Sgavin	  (Needs run-time testing and more portability testing.)
122223328Sgavin
123223328SgavinMon Jul 23 11:44:42 UTC 2007	lukem
124223328Sgavin
125223328Sgavin	* Don't use non-standard: u_char u_short u_int.
126223328Sgavin	  Use uint32_t instead of u_int32_t.
127223328Sgavin
128223328Sgavin	* Consistently use AS_CASE() and AS_IF() in configure.ac.
129223328Sgavin
130223328Sgavin	* Don't use defined() with HAVE_DECL_xxx.
131223328Sgavin	  Use `LL' instead of `L' suffix for fallback
132223328Sgavin	  defines of LLONG_MIN and LLONG_MAX.
133223328Sgavin
134223328SgavinSun Jul 22 12:00:17 UTC 2007	lukem
135223328Sgavin
136223328Sgavin	* Include <arpa/nameser.h> if available, and provide fallback #defines.
137223328Sgavin
138223328Sgavin	* Sync with lib/libc/inet/inet_pton.c 1.3:
139223328Sgavin		* Sync to bind 9.3.x version
140223328Sgavin		* Update ISC copyright
141223328Sgavin		* Fix some lint
142223328Sgavin
143223328Sgavin	* Sync with lib/libc/inet/inet_ntop.c 1.3:
144223328Sgavin		* Sync to bind 9.3.x version
145223328Sgavin		* Update ISC copyright
146223328Sgavin		* Use socklen_t instead of size_t
147223328Sgavin		* Use snprintf() instead of SPRINTF()
148223328Sgavin		* Improve detection of various boundary conditions
149223328Sgavin
150223328Sgavin	* Sync to NetBSD glob.h 1.21, glob.c 1.16:
151223328Sgavin		* Standards compliance fix
152223328Sgavin		* De-lint
153223328Sgavin		* Don't overflow when DEBUG is defined.
154223328Sgavin
155223328Sgavin        * Sync fgetln.c to tools/compat/fgetln.c 1.7:
156223328Sgavin		* Clause 3 removal.
157223328Sgavin
158223328Sgavin	* Sync to config.guess 2007-07-22, config.sub 2007-06-28.
159223328Sgavin
160223328Sgavin	* Consistency tweaks in configure help strings.
161223328Sgavin
162223328Sgavin	* Add check for struct sockaddr.sa_len.
163223328Sgavin	  Change tests for HAVE_foo to defined(HAVE_foo).
164223328Sgavin	  Replace HAVE_SOCKADDR_SA_LEN with HAVE_STRUCT_SOCKADDR_SA_LEN.
165223328Sgavin
166223328Sgavin	* Remove pretence of supporting SOCKS for now;
167223328Sgavin	  no test system is available, and the old
168223328Sgavin	  autoconf 2.13 support wasn't upgraded to 2.61.
169223328Sgavin
170223328Sgavin	* configure.ac style consistency tweaks.
171223328Sgavin	  Move autoconf aux files from ./ to build-aux/
172223328Sgavin
173223328Sgavin	* Remove duplicate HAVE_STRERROR replacement in tnftp.h.
174223328Sgavin
175223328SgavinThu Jun  7 04:47:47 UTC 2007	lukem
176223328Sgavin
177223328Sgavin	* Merge NetBSD ftp from 20070510 to 20070605.  Changes:
178223328Sgavin		- Enforce restriction that (http) proxied URL fetchs don't
179223328Sgavin		  support being restarted at this time.
180223328Sgavin		  Addresses NetBSD Problem Report 28697.
181223328Sgavin		- Display times in RFC2822 form rather than using ctime(3),
182223328Sgavin		  since the former is more explicit about the timezone offset.
183223328Sgavin		- main: call tzset() to ensure TZ is setup for other <time.h>
184223328Sgavin		  functions.
185223328Sgavin		- remotemodtime(): use strptime() to parse the reply.
186223328Sgavin		- fetch_url(): ensure struct tm is zeroed before calling
187223328Sgavin		  strptime().
188223328Sgavin		- Modify parse_url() to consistently strip the leading `/'
189223328Sgavin		  off ftp URLs.
190223328Sgavin		  Fixes NetBSD Problem Report 17617.
191223328Sgavin		- Use 'RFCnnnn' (with leading 0) instead of 'RFC nnnn', to be
192223328Sgavin		  consistent with the style in the RFC index.
193223328Sgavin		- Refer to RFC3916 instead of 1738 or 2732.
194223328Sgavin		- Expand the list of supported RFCs in ftp(1) to contain the
195223328Sgavin		  document name as well.
196223328Sgavin
197223328SgavinFri May 11 04:39:55 UTC 2007	lukem
198223328Sgavin
199223328Sgavin	* Update INSTALL and COPYING.
200223328Sgavin
201223328Sgavin	* Rename HAVE_QUAD_SUPPORT to HAVE_PRINTF_LONG_LONG, and only
202223328Sgavin	  require support for 'long long' in that check rather than
203223328Sgavin	  needing sizeof(off_t)>=8, as some systems have a separate
204223328Sgavin	  off64_t when Large File Support is enabled.
205223328Sgavin
206223328Sgavin	* config.guess: treat 'i86xen:SunOS:5.*' as 'i86pc:SunOS:5.*'
207223328Sgavin
208223328SgavinThu May 10 15:23:33 UTC 2007	lukem
209223328Sgavin
210223328Sgavin	* Remove checks for util.h and libutil.h, and replacement for
211223328Sgavin	  fparseln(), since fparseln() isn't used any more.
212223328Sgavin
213223328Sgavin	* Merge NetBSD ftp from 20070418 to 20070510.  Changes:
214223328Sgavin		- Switch from fparseln() to the internal getline() when
215223328Sgavin		  parsing HTTP headers.  Makes ftp a bit more portable
216223328Sgavin		  (not needing fparseln()) at the expense of not supporting
217223328Sgavin		  arbitrary long header lines, which I'm not concerned about
218223328Sgavin		  because we don't support header line continuation either...
219223328Sgavin		- Replace references from draft-ietf-ftpext-mlst-NN to RFC 3659.
220223328Sgavin		- Fix misplaced const.
221223328Sgavin		- Implement copy_bytes() to copy bytes from one fd to another
222223328Sgavin		  via the provided buffer, with optional rate-limiting and
223223328Sgavin		  hash-mark printing, using one loop and handle short writes.
224223328Sgavin		  Refactor sendrequest() and recvrequest() to use copy_data().
225223328Sgavin		  Addresses NetBSD Problem Report 15943.
226223328Sgavin
227223328SgavinWed May  9 05:24:55 UTC 2007	lukem
228223328Sgavin
229223328Sgavin	* Fix typo in poll()-based implementation of usleep() replacement.
230223328Sgavin
231223328SgavinWed May  9 04:58:50 UTC 2007	lukem
232223328Sgavin
233223328Sgavin	* Rename configure.in to configure.ac, as the latter is the
234223328Sgavin	  preferred name in autoconf 2.61.
235223328Sgavin
236223328Sgavin	* Convert from autoconf 2.13 to 2.61:
237223328Sgavin	  * Use a consistent quoting mechanism.
238223328Sgavin	  * Use modern autoconf macros, #define names, etc.
239223328Sgavin	  * Search for more header files, and only #include if found.
240223328Sgavin	  * Remove old-style config.h.in generation.
241223328Sgavin	  This may fix various tests on platforms such as FreeBSD and OS X.
242223328Sgavin
243223328Sgavin	* Add -Wl,-search_paths_first to LDFLAGS on OS X (Darwin) if the
244223328Sgavin	  linker supports it.  This is needed so we use our libedit
245223328Sgavin	  rather than the system one.
246223328Sgavin
247223328Sgavin	XXX: SOCKS support is currently disabled until I update the
248223328Sgavin	     autoconf support.
249223328Sgavin
250223328SgavinMon Apr 23 06:04:26 UTC 2007	lukem
251223328Sgavin
252223328Sgavin	* Merge NetBSD ftp from 20050610 to 20070418.  Changes:
253223328Sgavin		- Add '-s srcaddr'.
254223328Sgavin		- Use IEC 60027-2 2^N based "KiB", "MiB" (etc) instead of
255223328Sgavin		  10^n "KB", "MB", ...
256223328Sgavin		- Recognize 307 redirect code.
257223328Sgavin		- Suppress printing non-COMPLETE reply strings when EPSV/EPRT
258223328Sgavin		  fails and we fall-back to PASV/PORT.  Should fix a problem
259223328Sgavin		  with the emacs ftp wrapper.
260223328Sgavin		- Fix display of 'Continue with <cmd>' messages.
261223328Sgavin		- Prevent segfaults in .netrc parsing.
262223328Sgavin		- Flush stdout before each command; ftp as slave process on
263223328Sgavin		  a pipe should work.
264223328Sgavin		- getpass() can return NULL in some implementations; cope.
265223328Sgavin		- Support '-q quittime' when waiting for server replies.
266223328Sgavin		- Various spelling & grammatical fixes in the manual.
267223328Sgavin		- Plug some memory leaks.
268223328Sgavin		- If a file upload (via -u) fails, return an non-zero exit
269223328Sgavin		  value based on the index of the file that caused the
270223328Sgavin		  problem (a la auto-fetch retrieval).
271223328Sgavin		- Coverity fixes for CIDs: 873 874 875 1447 1448 2194 2195 3610
272223328Sgavin		- Don't remove trailing character during auth_url()
273223328Sgavin		- Fix progressbar display on narrow terminals (<43 columns)
274223328Sgavin
275223328SgavinFri Mar 16 06:00:14 UTC 2007	lukem
276223328Sgavin
277223328Sgavin	* Change the return value of the replacement gai_strerror()
278223328Sgavin	  from "char *" to "const char *", to match the current
279223328Sgavin	  standards.
280223328Sgavin	  Problem noted by Thomas Klausner.
281223328Sgavin
282223328SgavinThu Oct 26 07:24:22 UTC 2006	lukem
283223328Sgavin
284223328Sgavin	* Correctly parse "AM" and "PM" in the replacement strptime().
285223328Sgavin	  Problem noted by Kathryn Hogg.
286223328Sgavin
287223328SgavinSat Jun 25 06:27:00 UTC 2005	lukem
288223328Sgavin
289223328Sgavin	* Release as "tnftp 20050625"
290223328Sgavin
291223328Sgavin	* Simplify the detection & replacement of dirname() and fparseln()
292223328Sgavin	  and just use AC_REPLACE_FUNCS.
293223328Sgavin	  (We don't care if the vendor has a working version in -lgen or -lutil
294223328Sgavin	  instead of -lc; they'll get our replacement version in that case).
295223328Sgavin	  Fixes build issue on older Darwin where the previous autoconf check
296223328Sgavin	  wouldn't find dirname() in the default system libraries.
297223328Sgavin
298223328Sgavin	* Only provide a prototype for dirname() if we can't find one in
299223328Sgavin	  <libgen.h>
300223328Sgavin
301223328Sgavin	* Search for NS_IN6ADDRSZ instead of IN6ADDRSZ, since we use the
302223328Sgavin	  former and not the latter and older Darwin has the former.
303223328Sgavin	  (This allows INET6 support to be enabled on Darwin 7.9.0)
304223328Sgavin
305223328SgavinMon Jun 13 09:22:13 UTC 2005	lukem
306223328Sgavin
307223328Sgavin	* Tweak SOCKS5 support:
308223328Sgavin	    acconfig.h:
309223328Sgavin		- fix a comment
310223328Sgavin		- ensure close() is replaced
311223328Sgavin		- list entries in the same order as aclocal.m4
312223328Sgavin		  (and the SOCKS5 FAQ)
313223328Sgavin	    aclocal.m4:
314223328Sgavin		- ensure getpeername() is replaced
315223328Sgavin		- don't replace listen() twice
316223328Sgavin
317223328SgavinFri Jun 10 04:39:33 UTC 2005	lukem
318223328Sgavin
319223328Sgavin	* Release as "tnftp 20050610"
320223328Sgavin
321223328Sgavin	* Add dependencies on ${srcdir}/../tnftp.h and ../config.h
322223328Sgavin
323223328Sgavin	* Merge NetBSD ftp from 20050609 to 20050610.  Changes:
324223328Sgavin		- Implement getline() to read a line into a buffer.
325223328Sgavin		- Convert to use getline() instead of fgets() whenever reading
326223328Sgavin		  user input to ensure that an overly long input line doesn't
327223328Sgavin		  leave excess characters for the next input operation to
328223328Sgavin		  accidentally use as input.
329223328Sgavin		- Zero out the password & account after we've finished with it.
330223328Sgavin		- Consistently use getpass(3) (i.e, character echo suppressed)
331223328Sgavin		  when reading the account data.  For some reason, historically
332223328Sgavin		  the "login" code suppressed echo for Account: yet the "user"
333223328Sgavin		  command did not!
334223328Sgavin		- Display the hostname in the "getaddrinfo failed" warning.
335223328Sgavin		- Appease some -Wcast-qual warnings.  Fixing all of these
336223328Sgavin		  requires significant code refactoring.  (mmm, legacy code).
337223328Sgavin
338223328SgavinThu Jun  9 16:49:05 UTC 2005	lukem
339223328Sgavin
340223328Sgavin	* src, libnetbsd: Excise RCSID block, rather than using
341223328Sgavin	  #if 0 ...  #endif.  The point was to minimise RCSID
342223328Sgavin	  conflicts, and the latter isn't helping there.
343223328Sgavin
344223328Sgavin	* Merge NetBSD ftp from 20050531 to 20050609.  Changes:
345223328Sgavin		- Only print the "Trying <address>..." message if verbose
346223328Sgavin		  and there's more than one struct addrinfo in the
347223328Sgavin		  getaddrinfo() result.
348223328Sgavin		- Don't use non-standard "u_int".
349223328Sgavin
350223328SgavinWed Jun  1 15:08:01 UTC 2005	lukem
351223328Sgavin
352223328Sgavin	* Look for dirname(3), which may be in -lgen on IRIX, and
353223328Sgavin	  replace it if not found..
354223328Sgavin
355223328SgavinWed Jun  1 11:48:58 UTC 2005	lukem
356223328Sgavin
357223328Sgavin	* libnetbsd:
358223328Sgavin		- Don't use non-standard: u_char u_short u_int.
359223328Sgavin		- Use uint32_t instead of u_int32_t.
360223328Sgavin		- Don't use register.
361223328Sgavin
362223328Sgavin	* libedit: Don't use non-standard uint or u_int.
363223328Sgavin
364223328SgavinTue May 31 02:23:08 UTC 2005	lukem
365223328Sgavin
366223328Sgavin	* tnftp.h: need <libgen.h> for dirname(3)
367223328Sgavin
368223328Sgavin	* Merge ftp from 20050513 to 20050531.  Changes:
369223328Sgavin		- Helps if the definition of xconnect() matches its
370223328Sgavin		  declaration....
371223328Sgavin		- Fix some cast issues highlighted by Scott Reynolds using
372223328Sgavin		  gcc 4 on OSX.4
373223328Sgavin		- Use size_t instead of int where appropriate.
374223328Sgavin		- Make this compile on sparc64 (size_t != int).
375223328Sgavin		- Printf field widths and size_t don't always mix well, so
376223328Sgavin		  cast to int.  Fixes build problem for alpha.
377223328Sgavin		- Some const cleanups.
378223328Sgavin		- tab cleanup
379223328Sgavin		- Improve method used in fileindir() to determine if `file'
380223328Sgavin		  is in or under `dir': realpath(3) on non-NetBSD systems may
381223328Sgavin		  fail if the target filename doesn't exist, so instead use
382223328Sgavin		  realpath(3) on the parent directory of `file'.
383223328Sgavin		  Per discussion with Todd Eigenschink.
384223328Sgavin		- formatbuf(): fix %m and %M to use the hostname, not the
385223328Sgavin		  username.
386223328Sgavin		- fetch_ftp(): preserve 'anonftp' across a disconnect() so
387223328Sgavin		  that multiple ftp auto-fetches on the same command line
388223328Sgavin		  login automatically.
389223328Sgavin		- auto_fetch(): use an initialized volatile int to appease
390223328Sgavin		  IRIX cc.
391223328Sgavin
392223328Sgavin	* Merge libedit from NetBSD 20050105 to 20050531.  Changes include:
393223328Sgavin		- Rui Paulo: Incorrect tok_line and tok_str declarations.
394223328Sgavin		- Remove clause 3 from the UCB license.
395223328Sgavin		- Luke Mewburn: Don't abuse unconstify'ing a string
396223328Sgavin		  and writing to it, because you'll core dump. Also remove
397223328Sgavin		  extra const that gives pain to the irix compiler.
398223328Sgavin		- Make sure we flush after we prepare when we are unbuffered
399223328Sgavin		  otherwise the prompt will not appear immediately.
400223328Sgavin		- Terminate the arglist with a NULL instead of 0.
401223328Sgavin		  (Shuts up gcc4.x)
402223328Sgavin
403223328SgavinSat May 28 13:19:38 UTC 2005	lukem
404223328Sgavin
405223328Sgavin	* libnetbsd/strvis.c:
406223328Sgavin		- Sync to NetBSD's vis.c 1.33:
407223328Sgavin		  Use malloc(3) instead of alloca(3).
408223328Sgavin		- Remove extraenous #endif
409223328Sgavin
410223328SgavinFri May 27 05:46:58 UTC 2005	lukem
411223328Sgavin
412223328Sgavin	* libnetbsd/strvis.c: Sync to NetBSD's vis.c 1.30:
413223328Sgavin	  Use a more standard TNF license.
414223328Sgavin
415223328Sgavin	* libedit/sig.c: Include "src/progressbar.h" for xsignal_restart()
416223328Sgavin	  prototype.
417223328Sgavin
418223328Sgavin	* Ensure that fallback #define of __attribute__ is available.
419223328Sgavin	  Fixes build problem on HP-UX with cc.
420223328Sgavin
421223328SgavinThu May 26 14:21:08 UTC 2005	lukem
422223328Sgavin
423223328Sgavin	* Extend xpoll()'s HAVE_SELECT implementation to support POLLRDNORM,
424223328Sgavin	  POLLWRNORM, and POLLRDBAND - the latter using exceptfds.
425223328Sgavin	  Per discussion with Christos Zoulas.
426223328Sgavin
427223328SgavinMon May 16 13:33:27 UTC 2005	lukem
428223328Sgavin
429223328Sgavin	* Pull in <poll.h> or <sys/poll.h> if they exist even if we're
430223328Sgavin	  not using poll, as struct pollfd might exist in those.
431223328Sgavin	  Fixes build problem on OSX.3.
432223328Sgavin
433223328Sgavin	* Separate CPPFLAGS from CFLAGS.
434223328Sgavin
435223328Sgavin	* Sync various files in libnetbsd with the original versions
436223328Sgavin	  in NetBSD.  Notable changes
437223328Sgavin		- Convert 4 clause UCB license to 3 clause.
438223328Sgavin		- Use strlcpy instead of strcpy.
439223328Sgavin		- Update ISC copyright.
440223328Sgavin		- Use NS_INADDRSZ, NS_IN6ADDRSZ and NS_INT16SZ instead of
441223328Sgavin		  equivalents without NS_ prefix.
442223328Sgavin		- Use socklen_t instead of size_t where appropriate.
443223328Sgavin		- Improve bounds checking.
444223328Sgavin		- Don't update the size of allocated storage until
445223328Sgavin		  realloc succeeds.
446223328Sgavin		- Fix comment about return value.
447223328Sgavin		- Reverse the order of two loop invariant to make
448223328Sgavin		  'strlcat(0, "foo", 0)' not get a SEGV.
449223328Sgavin		- Use Todd C. Miller's latest copyright notice (more loose).
450223328Sgavin		- Use "long long" instead of "quad" in various
451223328Sgavin		  comments & constants.
452223328Sgavin		- Support VIS_HTTPSTYLE.
453223328Sgavin		- Implement svis(), strsvis(), strsvisx(), strunvisx().
454223328Sgavin
455223328Sgavin	* Prefer poll over select when implementing replacement usleep().
456223328Sgavin
457223328SgavinSat May 14 04:44:35 UTC 2005	lukem
458223328Sgavin
459223328Sgavin	* Release "tnftp 20050514"
460223328Sgavin
461223328Sgavin	* Fail if we can't find a library with tgetent (needed for libedit).
462223328Sgavin	  NetBSD PR pkg/28925.
463223328Sgavin	* Improve quoting when using various autoconf macros.
464223328Sgavin
465223328Sgavin	* Merge NetBSD-ftp 20050513:
466223328Sgavin		- Correct the "optlen" argument passed to getsockopt(3) and
467223328Sgavin		  setsockopt(3) in various places.  Fixes a problem noted by
468223328Sgavin		  Allen Briggs.
469223328Sgavin		- Improve warning printed when connect(2) for the data
470223328Sgavin		  channel fails.
471223328Sgavin
472223328SgavinWed May 11 04:19:43 UTC 2005	lukem
473223328Sgavin
474223328Sgavin	* Release "tnftp 20050511"
475223328Sgavin
476223328SgavinWed May 11 04:10:01 UTC 2005	lukem
477223328Sgavin
478223328Sgavin	* Update the THANKS file.
479223328Sgavin
480223328Sgavin	* Only use poll() to implement xpoll() if it's available,
481223328Sgavin	  otherwise attempt to use select() if that's available,
482223328Sgavin	  otherwise #error.
483223328Sgavin
484223328Sgavin	* Detect if struct pollfd is available in <poll.h> or <sys/poll.h>.
485223328Sgavin	  Improve consistency in use of autoconf macros.
486223328Sgavin
487223328SgavinWed May 11 02:42:08 UTC 2005	lukem
488223328Sgavin
489223328Sgavin	* Merge NetBSD-ftp 20050511:
490223328Sgavin		- Use socklen_t instead of int as the 5th argument to
491223328Sgavin		  getsockopt().  Improve invocation of setsockopt() and
492223328Sgavin		  associated failure messages.
493223328Sgavin
494223328SgavinWed May 11 01:46:29 UTC 2005	lukem
495223328Sgavin
496223328Sgavin	* Clean up RCSID usage in vendor-derived code, restoring original
497223328Sgavin	  IDs where possible.
498223328Sgavin
499223328SgavinWed May 11 00:08:16 UTC 2005	lukem
500223328Sgavin
501223328Sgavin	* Merge NetBSD-ftp 20050510:
502223328Sgavin		- Prevent an overly-long input line causing a core dump when
503223328Sgavin		  editing is enabled.
504223328Sgavin		  Issue noted by Ryoji Kanai in FreeBSD Problem Report # 77158.
505223328Sgavin		- Implement a timeout on the accept(2) in dataconn() and the
506223328Sgavin		  connect(2) in xconnect() by temporarily setting O_NONBLOCK
507223328Sgavin		  on the socket and using xpoll() to wait for the operation
508223328Sgavin		  to succeed.  The timeout used is the '-q quittime' argument
509223328Sgavin		  (defaults to 60s for accept(2), and the system default for
510223328Sgavin		  connect(2)).  Idea inspired by discussion with Chuck Cranor.
511223328Sgavin		  This may (indirectly) fix various problems with timeouts in
512223328Sgavin		  active mode through broken firewalls.
513223328Sgavin		- Implement xpoll() as a wrapper around poll(2), to make it
514223328Sgavin		  easier to replace on systems without a functional poll(2).
515223328Sgavin		  Unconditionally use xpoll() instead of conditionally using
516223328Sgavin		  select(2) or poll(2).
517223328Sgavin		- In fetch_url(), don't call freeaddrinfo(res0) too early, as
518223328Sgavin		  we use pointers to its contents later in the function.
519223328Sgavin		  Problem found by Onno van der Linden.
520223328Sgavin		- Fix ftp url reget when globs are being used.
521223328Sgavin		  Provided by Mathieu Arnold <mat@FreeBSD.org>.
522223328Sgavin		- Factor out common string processing code eliminating static
523223328Sgavin		  buffers, making functions that should be static be static,
524223328Sgavin		  and cleaning up const usage. Added a guard against buffer
525223328Sgavin		  overflow, but the domap function is a bit too complicated
526223328Sgavin		  to tackle right now.
527223328Sgavin		- Clean up whitespace.
528223328Sgavin		- Expand description of http_proxy by suggesting the use of
529223328Sgavin		  RFC 1738 '%xx' encoding for "unsafe URL" characters in
530223328Sgavin		  usernames and passwords.
531223328Sgavin
532223328SgavinWed Jan  5 05:53:59 UTC 2005	lukem
533223328Sgavin
534223328Sgavin	* For now, assume libedit is not up-to-date and use our own version.
535223328Sgavin
536223328Sgavin	* Merge libedit from NetBSD 20020605 to 20050105.  Changes include:
537223328Sgavin		- Improve vi-mode.
538223328Sgavin		- Delete-previous-char and delete-next-char without an
539223328Sgavin		  argument are not supposed to modify the yank buffer in
540223328Sgavin		  emacs-mode.
541223328Sgavin		- Improve incremental searching.
542223328Sgavin		- Improve memory allocation & usage.
543223328Sgavin		- Move UCB-licensed code from 4-clause to 3-clause.
544223328Sgavin		- Make the tokenization functions publically available.
545223328Sgavin		- Various tty access bug-fixes.
546223328Sgavin		- Improve readline emulation.
547223328Sgavin
548223328SgavinTue Jan  4 13:33:40 UTC 2005	lukem
549223328Sgavin
550223328Sgavin	* Unixware 7.1.1 implements RFC 2133 (Basic Socket Interface
551223328Sgavin	  Extensions for IPv6) but not the successor RFC 2553. The configure
552223328Sgavin	  script detects this and decides that tnftp needs to compile its own
553223328Sgavin	  version of getaddrinfo().  This produces the error message
554223328Sgavin	    /usr/include/netdb.h:248: `getaddrinfo' previously defined here
555223328Sgavin	  because Unixware provides an implementation of getaddrinfo() in
556223328Sgavin	  netdb.h instead of a prototype declaration :-/. Since netdb.h
557223328Sgavin	  cannot be omitted, we will always get this definition and tnftp's
558223328Sgavin	  version of getaddrinfo will always create a conflict.  This ugly
559223328Sgavin	  preprocessor hack works around the problem. Hints for a better
560223328Sgavin	  solution welcome.  Fix from pkgsrc/net/tnftp.
561223328Sgavin
562223328Sgavin	* Workaround poll() being a compatibility function on Darwin 7
563223328Sgavin	  (MacOSX 10.3) by adding a custom test for _POLL_EMUL_H_ which
564223328Sgavin	  is defined in poll.h on some MacOSX 10.3 systems.  Not all 10.3
565223328Sgavin	  systems have poll.h, so only do the poll() test if at least one
566223328Sgavin	  of the header files is found.  Fix from pkgsrc/net/tnftp.
567223328Sgavin
568223328Sgavin	* Add a utimes() replacement (using utime()) for Interix.
569223328Sgavin	  From pkgsrc/net/tnftp.
570223328Sgavin
571223328SgavinMon Jan  3 10:21:57 UTC 2005	lukem
572223328Sgavin
573223328Sgavin	* Release "tnftp 20050103"
574223328Sgavin
575223328Sgavin	* Merge NetBSD-ftp 20050103:
576223328Sgavin		- Forbid filenames returned from mget that aren't in (or below)
577223328Sgavin		  the current directory.  The previous behaviour (of trusting
578223328Sgavin		  the remote server's response when retrieving the list of
579223328Sgavin		  files to mget with prompting disabled) has been in ftp
580223328Sgavin		  ~forever, and has been a "known issue" for a long time.
581223328Sgavin		  Recently an advisory was published by D.J. Bernstein on
582223328Sgavin		  behalf of Yosef Klein warning of the problems with the
583223328Sgavin		  previous behaviour, so to alleviate concern I've fixed
584223328Sgavin		  this with a sledgehammer.
585223328Sgavin		- Remember the local cwd after any operation which may
586223328Sgavin		  change it.
587223328Sgavin		- Use "remotecwd" instead of "remotepwd".
588223328Sgavin		- Add (unsigned char) cast to ctype functions
589223328Sgavin		- Ensure that "mname" is set in ls() and mls() so that an
590223328Sgavin		  aborted confirm() prints the correct name.
591223328Sgavin		  Problem highlighted & suggested fix from PR [bin/17766]
592223328Sgavin		  by Steve McClellan.
593223328Sgavin		- If an ftp auto-fetch transfer is interrupted by SIGINT
594223328Sgavin		  (usually ^C), exit with 130 instead of 1 (or rarely, 0).
595223328Sgavin		  This allows an ftp auto-fetch in a shell loop to correctly
596223328Sgavin		  terminate the loop.
597223328Sgavin		  Should fix PR [pkg/26351], and possibly others.
598223328Sgavin		- Save approximately 8K by not including http authentication,
599223328Sgavin		  extended status messages and help strings when the
600223328Sgavin		  appropriate options are set.
601223328Sgavin		- Move UCB-licensed code from 4-clause to 3-clause licence.
602223328Sgavin		  Patches provided by Joel Baker in PR 22365, verified by
603223328Sgavin		  Alistair Crooks.
604223328Sgavin		- Always decode %xx in a url's user & pass components.
605223328Sgavin		- Only remember {WWW,Proxy}-Authenticate "Basic" challenges; no
606223328Sgavin		  point in tracking any others since ftp doesn't support them.
607223328Sgavin		- Improve the parsing of HTTP responses.
608223328Sgavin		- Don't base64 encode the trailing NUL in the HTTP basic auth
609223328Sgavin		  response.  Problem noted by Eric Haszlakiewicz.
610223328Sgavin		- Improve parsing of HTTP response headers to be more RFC2616
611223328Sgavin		  compliant, and skip LWS (linear white space; CR, LF, space,
612223328Sgavin		  tab) and the end of lines and between the field name and
613223328Sgavin		  the field value.  This still isn't 100% compliant, since we
614223328Sgavin		  don't support "multi line" responses at this time.
615223328Sgavin		  This should fix PR [bin/22611] from TAMURA Kent (although I
616223328Sgavin		  can't easily find a http server to reproduce the problem
617223328Sgavin		  against.)
618223328Sgavin		- Fix a minor memory leak when parsing HTTP response headers.
619223328Sgavin		- Don't unnecessarily display a 401/407 error when running
620223328Sgavin		  with -V.  Fix from PR [bin/18535] by Jeremy Reed.
621223328Sgavin		- Don't warn about "ignored setsockopt" failures unless
622223328Sgavin		  debugging is enabled.  Suggested by Todd Vierling.
623223328Sgavin		- Allow empty passwords in ftp://user:@host/file auto-fetch
624223328Sgavin		  URLs, per RFC 1738.  Requested by Simon Poole.
625223328Sgavin		- correct URL syntax in comment
626223328Sgavin		- Note potentially surprising file-saving behaviour in case
627223328Sgavin		  of HTTP redirects
628223328Sgavin		- -n is ignored for auto-fetch transfers
629223328Sgavin		- If connect(2) in xconnect() fails with EINTR, call select(2)
630223328Sgavin		  on the socket until it's writable or it fails with something
631223328Sgavin		  other than EINTR.  This matches the behaviour in SUSv3, and
632223328Sgavin		  prevents the problem when pressing ^T (SIGINFO, which is
633223328Sgavin		  marked as restartable) during connection setup would cause
634223328Sgavin		  ftp to fail with EADDRINUSE or EALREADY when the second
635223328Sgavin		  connect(2) was attempted on the same socket.  Problem found
636223328Sgavin		  and solution provided by Maxime Henrion <mux@freebsd.org>.
637223328Sgavin		- Add -q to usage. From Kouichirou Hiratsuka in PR 26199.
638223328Sgavin		- PR/25566: Anders Magnusson: ftp(1) do not like large TCP
639223328Sgavin		  windows.  Limit it to 8M.
640223328Sgavin
641223328SgavinMon Oct  6 01:23:03 UTC 2003	lukem
642223328Sgavin
643223328Sgavin	* configure.in improvements:
644223328Sgavin		- When testing for IN6ADDRSZ in <arpa/nameser.h>, pull in
645223328Sgavin		  <sys/types.h> first.  From Stoned Elipot <seb @ NetBSD>
646223328Sgavin		- Whitespace cleanup
647223328Sgavin
648223328SgavinMon Aug 25 11:45:45 UTC 2003	lukem
649223328Sgavin
650223328Sgavin	* Release "tnftp 20030825"
651223328Sgavin
652223328Sgavin	* Add autoconf test for <sys/syslimits.h>; Cygwin needs it for ARG_MAX.
653223328Sgavin	  Per discussion with Eugene Kotlyarov <ekot@protek36.esoo.ru>.
654223328Sgavin
655223328SgavinThu Jul 31 07:30:00 UTC 2003	lukem
656223328Sgavin
657223328Sgavin	* release "tnftp 20030731"
658223328Sgavin
659223328Sgavin	* merge ftp from NetBSD 20030731 to 20030731b:
660223328Sgavin		- Work around broken ftp servers (notably ProFTPd) that can't
661223328Sgavin		  even follow RFC 2389, and skip any amount of whitespace
662223328Sgavin		  before a FEATure response.  The RFC says 'single space' yet
663223328Sgavin		  ProFTPd puts two.  Noted by DervishD <raul@pleyades.net>.
664223328Sgavin		- Improve formatting of features[] debug dump.
665223328Sgavin		- Invalidate remote directory completion cache if any command
666223328Sgavin		  which may change the remote contents completes successfully,
667223328Sgavin		  including: del, mdel, ren, mkdir, rmdir, quote, and all
668223328Sgavin		  upload commands.  Patch from Yar Tikhiy <yar@freebsd.org>.
669223328Sgavin
670223328Sgavin	* merge ftp from NetBSD 20030228 to 20030731:
671223328Sgavin		- $FTPUSERAGENT overrides the HTTP User-Agent header.
672223328Sgavin		  Based on patch from Douwe Kiela <virtus@wanadoo.nl>.
673223328Sgavin		- Add about:tnftp
674223328Sgavin		- Fix URL in about:netbsd
675223328Sgavin		- netbsd.org->NetBSD.org
676223328Sgavin		- strlcpy fix in fetch.c
677223328Sgavin		- Uppercase "URL"
678223328Sgavin		- fix a bogus error message when given a HTTP URL with a
679223328Sgavin		  trailing slash
680223328Sgavin		- groff fixes in man page
681223328Sgavin		- tweak progressbar.c copyright; the stuff jason did in util.c
682223328Sgavin		  wasn't migrated to this file
683223328Sgavin		- Don't coredump when printing '%n' in the prompt if there's
684223328Sgavin		  no username yet.
685223328Sgavin		  Fix from Maxim Konovalov <maxim@freebsd.org>
686223328Sgavin
687223328Sgavin	* Add test for HAVE_IN6ADDRSZ (which older Darwin is lacking),
688223328Sgavin	  and only enable INET6 if it exists.
689223328Sgavin	  Patch from Amitai Schlair <schmonz@schmonz.com>.
690223328Sgavin
691223328Sgavin	* Improve ipv6 check for older linux systems that don't provide
692223328Sgavin	  sin6_scope_id.
693223328Sgavin	  Patch from YAMANO Yuji <Yamano_Yuji@tk-bay.ogis-ri.co.jp>.
694223328Sgavin
695223328SgavinFri Feb 28 10:57:30 UTC 2003	lukem
696223328Sgavin
697223328Sgavin	* tagged as "tnftp 2.0 beta1"
698223328Sgavin
699223328SgavinFri Feb 28 10:07:07 UTC 2003	lukem
700223328Sgavin
701223328Sgavin	* renamed to `tnftp' (from `lukemftp')
702223328Sgavin
703223328Sgavin	* renamed `libukem' to `libnetbsd'
704223328Sgavin
705223328Sgavin
706223328SgavinMon Jun 17 06:50:13 UTC 2002	lukem
707223328Sgavin
708223328Sgavin	* #if USE_GLOB_H, use <glob.h> instead of "ftpglob.h".
709223328Sgavin	  Requested by Mike Heffner <mikeh@freebsd.org>
710223328Sgavin
71198247SmikehMon Jun 10 08:12:35 UTC 2002	lukem
71298247Smikeh
71398247Smikeh	* crank FTP_VERSION from 1.6-beta1 to 1.6-beta2
71498247Smikeh
71598247Smikeh	* replace missing fseeko(), with a wrapper to fseek() which
71698247Smikeh	  checks that the offset isn't > LONG_MAX
71798247Smikeh
71898247Smikeh	* #include <regex.h> #if HAVE_REGEX_H
71998247Smikeh
72098247SmikehMon Jun 10 01:27:46 UTC 2002	lukem
72198247Smikeh
72298247Smikeh	* check for and replace sa_family_t definition
72398247Smikeh
72498247Smikeh	* don't bother checking for issetugid(); it was only used in the
72598247Smikeh	  internal libedit to prevent $HOME/.editrc from being used if
72698247Smikeh	  running set-id, and the newer libedit code wouldn't even read
72798247Smikeh	  $HOME/.editrc if issetugid() wasn't available.  as many target
72898247Smikeh	  operating systems don't have issetugid(), and lukemftp isn't
72998247Smikeh	  likely to be run set-id (and $HOME/.netrc is used in any case),
73098247Smikeh	  the issetugid() check has been disabled in libedit.
73198247Smikeh
73298247Smikeh	* add back cpp code which #defines REGEX #if HAVE_REGEX_H
73398247Smikeh
73498247SmikehWed Jun  5 14:39:11 UTC 2002	lukem
73598247Smikeh
73698247Smikeh	* crank FTP_VERSION from 1.6alpha1 to 1.6-beta1
73798247Smikeh
73898247Smikeh	* implement replacement setprogname()
73998247Smikeh
74098247Smikeh	* use getprogname() instead of __progname
74198247Smikeh
74298247Smikeh	* convert to christos' replacement fgetln(), as it's better than mine
74398247Smikeh
74498247Smikeh	* merge ftp from NetBSD 20020605 to 20020606:
74598247Smikeh		- use setprogname()
74698247Smikeh		- only support -6 if INET6 is defined
74798247Smikeh
74898247SmikehWed Jun  5 13:08:25 UTC 2002	lukem
74998247Smikeh
75098247Smikeh	* don't bother checking if <glob.h> is usable (see below).
75198247Smikeh
75298247Smikeh	* always compile in local glob; it's the best way to ensure that
75398247Smikeh	  various security issues are fixed
75498247Smikeh
75598247Smikeh	* update libukem/glob.c from NetBSD's __glob13.c rev 1.22 and rev 1.23
75698247Smikeh
75798247Smikeh	* merge libedit from NetBSD 20010413 to 20020606:
75898247Smikeh		- constify; passes all gcc and lint strict checks.
75998247Smikeh		- add config.h [Jason Evans], to create a portable version of
76098247Smikeh		  libedit that can be easily compiled on other OS's.
76198247Smikeh		- PR/12963:Jason Waterman: Fix signed cast problems.
76298247Smikeh		- Fixed an __P remnant
76398247Smikeh		- Close quoting.
76498247Smikeh		- Generate <>& symbolically.
76598247Smikeh		- Punctuation and whitespace nits, fix a typo.
76698247Smikeh		- PR/14188: Anthony Mallet: Provide an opaque data
76798247Smikeh		  pointer to client programs.
76898247Smikeh		- a couple of minor fixes.  originally by Ruslan Ermilov
76998247Smikeh		  <ru@FreeBSD.org>, highlighted to me by way of Mike Barcroft
77098247Smikeh		  <mike@FreeBSD.org> (thanks!)
77198247Smikeh		- PR/14067: Anthony Mallet: Provide a programmatic way
77298247Smikeh		  to set the read_char function via a new el_set() operation.
77398247Smikeh		  Thanks, nicely done :-)
77498247Smikeh		- `existent', not `existant'
77598247Smikeh		- Don't use HAVE_ yet.
77698247Smikeh		- Fix a warning.
77798247Smikeh		- Remove an unused variable.
77898247Smikeh		- If term_init() fails, cleanup and return NULL. This
77998247Smikeh		  avoids other lossage.  Pointed by charles.
78098247Smikeh		- va_{start,end} audit: Make sure that each va_start has one
78198247Smikeh		  and only one matching va_end, especially in error cases.
78298247Smikeh		  If the va_list is used multiple times, do multiple
78398247Smikeh		  va_starts/va_ends.  If a function gets va_list as argument,
78498247Smikeh		  don't let it use va_end (since it's the callers
78598247Smikeh		  responsibility).  Improved by comments from enami and
78698247Smikeh		  christos -- thanks!
78798247Smikeh		- history_def_enter: fix off-by-one mistake in delete
78898247Smikeh		  condition (the behaviour to keep at least one entry on the
78998247Smikeh		  history list is retained). This fixes lib/9704 by Phil Nelson.
79098247Smikeh
79198247Smikeh	* merge ftp from NetBSD 20020524 to 20020605:
79298247Smikeh		- when showing the final progress bar, replace "00:00 ETA"
79398247Smikeh		  with the elapsed time.  (suggested by simonb)
79498247Smikeh		- actually display transfer stats after a URL fetch.
79598247Smikeh		  (bug introduced a *long* time ago)
79698247Smikeh		- update copyright & version
79798247Smikeh
79898247Smikeh	* merge ftp from NetBSD 20001127 to 20020524:
79998247Smikeh		- Use "r+" instead of "r+w", since the latter is not standard.
80098247Smikeh		  Noted by <Steve.McClellan@radisys.com> in private email.
80198247Smikeh		- Only send port number in HTTP/1.1 Host: request if port !=
80298247Smikeh		  80.  Fixes [bin/15415] from Takahiro Kambe
80398247Smikeh		  <taca@sky.yamashina.kyoto.jp>
80498247Smikeh		- Fix bad mode passed by mls() to recvrequest().  Fixes
80598247Smikeh		  [bin/16642] from <steve.mcclellan@radisys.com>
80698247Smikeh		- update copyrights
80798247Smikeh		- minor knf
80898247Smikeh		- invoke cmdtab.c_handler()s with argv[0] == c_name instead
80998247Smikeh		  of the supplied name. that way the full (unambiguous) name
81098247Smikeh		  is displayed in error messages and usage strings.
81198247Smikeh		- line2 may overrun if line is too long (> 200).  be more
81298247Smikeh		  careful on strcpy.
81398247Smikeh		- Handle URLs without files correctly (e.g, when using '-o -').
81498247Smikeh		  Fix from Anders Dinsen <anders@dinsen.net> in [bin/13768]
81598247Smikeh		- portnum is unsigned, use %u instead of %d
81698247Smikeh		- Add -4 to force IPv4 and -6 to force IPv6 address usage.
81798247Smikeh		  From Hajimu UMEMOTO, via Mike Heffner of FreeBSD.
81898247Smikeh		- use u_char instead of char in base64_encode().
81998247Smikeh		  problem noticed by Jorgen Lundman in private mail.
82098247Smikeh		- don't make broken file with -R option.
82198247Smikeh		- handle "*" in Content-Range properly.
82298247Smikeh		- If no_proxy condition is true && urltype == FTP_URL_T,
82398247Smikeh		  use fetch_ftp to retrieve
82498247Smikeh		- convert to use getprogname()
82598247Smikeh		- Fix description for "form", "mode", and "struct" commands.
82698247Smikeh		  Inspired by [bin/16736] from Steve McClellan
82798247Smikeh		  <steve.mcclellan@radisys.com>
82898247Smikeh		- Generate <>& symbolically. I'm avoiding .../dist/...
82998247Smikeh		  directories for now.
83098247Smikeh		- Punctuation nits.
83198247Smikeh		- Whitespace cleanup.
83298247Smikeh		- put "site" in alphabetical order. noted by Mike Barcroft
83398247Smikeh		  in private email
83498247Smikeh		- avoid buffer overrun on PASV from malicious server.
83598247Smikeh		- Large file ASCII mode support by using fseeko()
83698247Smikeh		  instead of fseek().  From Andrey A. Chernov of FreeBSD,
83798247Smikeh		  via Mike Heffner.
83898247Smikeh		- Deal with const'ification if el_parse().
83998247Smikeh		- call setlocale() on startup
84098247Smikeh		- display a limited progress bar (containing bytes xferred
84198247Smikeh		  and xfer rate) when the file size is unknown
84298247Smikeh		- disable progress bar during remglob()
84398247Smikeh
84498247SmikehThu Mar 14 05:41:49 UTC 2002	lukem
84598247Smikeh
84698247Smikeh	* ensure all AF_INET6 use is protected with #ifdef INET6
84798247Smikeh
84898247Smikeh	* remove unnecessary __attribute__ goop
84998247Smikeh
85098247Smikeh	* libukem/snprintf.c: fix compile errors with gcc 3.x
85198247Smikeh
85298247SmikehTue Apr 17 08:07:29 UTC 2001	lukem
85398247Smikeh
85498247Smikeh	* autoconf check for %q long long support in *printf()
85598247Smikeh	  (instead of %ll), define and use HAVE_PRINTF_QD if so
85698247Smikeh
85798247Smikeh	* ipv6 isn't compatible with socks, so disable the former
85898247Smikeh
85998247Smikeh	* look for <libutil.h> (instead of <util.h>) and <arpa/nameser.h>
86098247Smikeh
86198247Smikeh	* don't check for fparseln() twice
86298247Smikeh
86398247Smikeh	* fix getaddrinfo() checks
86498247Smikeh
86598247Smikeh	* crank FTP_VERSION from 1.5 to 1.6alpha1
86698247Smikeh
86798247Smikeh	* always ensure _PATH_BSHELL and _PATH_TMP are defined
86898247Smikeh
86998247Smikeh	* prototype inet_pton() if its missing
87098247Smikeh
87198247Smikeh	* don't bother trying to use if_indextoname() in ip6_sa2str()
87298247Smikeh	  (fixes problems on MacOS X)
87398247Smikeh
87498247Smikeh	* in inet_pton(), pull in <arpa/nameser.h> for IN6ADDRSZ and INT16SZ,
87598247Smikeh	  and define if missing
87698247Smikeh
87798247SmikehFri Apr 13 15:24:44 UTC 2001	lukem
87898247Smikeh
87998247Smikeh	* only include <arpa/nameser.h> if we have it
88098247Smikeh
88198247Smikeh	* update glob(3) to netbsd-current (20010329), adding support
88298247Smikeh	  for GLOB_LIMIT and fixing various buffer overflows.
88398247Smikeh
88498247Smikeh	* update editline from NetBSD 20000915 -> NetBSD 20010413
88598247Smikeh		- Enlarge editline buffers as needed to support arbitrary
88698247Smikeh		  length lines.  This also addresses lib/9712 by Phil Nelson.
88798247Smikeh		- consistently check for allocation failures and return -1,
88898247Smikeh		  if we could not get more memory.
88998247Smikeh		- add support for home and end keys.
89098247Smikeh		- improve debugging support
89198247Smikeh		- el_line_t: make 'limit' const
89298247Smikeh
89398247SmikehMon Nov 27 23:23:40 EST 2000	lukem
89498247Smikeh
89598247Smikeh	* merge ftp from NetBSD-current (20001127):
89698247Smikeh		- implement "mreget"; as per "mget" but uses "reget" instead
89798247Smikeh		  of "get"
89898247Smikeh		- add -N netrc and $NETRC, as methods to select an alternative
89998247Smikeh		  .netrc file
90098247Smikeh		- cache local user name and home directory for further use
90198247Smikeh		- in mget(), use docase() instead of a local version to do
90298247Smikeh		  the case conversion.
90398247Smikeh		- format string cleanups
90498247Smikeh		- be more explicit that $ftp_proxy and $http_proxy are not
90598247Smikeh		  supported for interactive sessions
90698247Smikeh		- cope with 2553bis getnameinfo (always attach scope id)
90798247Smikeh		  getnameinfo error check.
90898247Smikeh		- use NI_MAXHOST with getnameinfo.  we can assume presence of
90998247Smikeh		  getnameinfo.
91098247Smikeh
91198247SmikehTue Nov  7 00:16:23 EST 2000	lukem
91298247Smikeh
91398247Smikeh	* libukem/snprintf.c had a non-functional `%s' due to a
91498247Smikeh	  function declaration mismatch.  problem found and fixed
91598247Smikeh	  by Hubert Feyrer <hubert@feyrer.de>
91698247Smikeh
91779971SobrienWed Oct 11 14:06:19 EST 2000	lukem
91879971Sobrien
91979971Sobrien	* released version 1.5
92079971Sobrien
92179971SobrienTue Oct  3 10:22:36 EST 2000	lukem
92279971Sobrien
92379971Sobrien	* crank to version 1.5 beta6
92479971Sobrien
92579971Sobrien	* merge ftp from NetBSD-current (20001003)
92679971Sobrien		- explicitly use SOCK_STREAM with socket() instead of
92779971Sobrien		  res->ai_socktype, because it appears that linux with glibc
92879971Sobrien		  doesn't set the latter correctly after one of getaddrinfo()
92979971Sobrien		  or getnameinfo().
93079971Sobrien		- clarify that $ftp_proxy only works for full URLs and can't
93179971Sobrien		  be used for interactive connections.
93279971Sobrien
93379971SobrienMon Sep 25 21:52:12 EST 2000	lukem
93479971Sobrien
93579971Sobrien	* crank to version 1.5 beta5
936223328Sgavin
93779971SobrienSun Sep 24 13:31:19 EST 2000	lukem
93879971Sobrien
93979971Sobrien	* merge ftp from NetBSD-current (20000924)
94079971Sobrien		- since everything else here uses ANSI C, we might as well
94179971Sobrien		  replace __STRING() with the ANSI C stringization stuff...
94279971Sobrien		- base64_encode should be static. picked up by hp/ux(!)
94379971Sobrien		  compiler
94479971Sobrien		- It appears that whilst Apache 1.3.9 incorrectly puts a
94579971Sobrien		  trailing space after the chunksize (before the \r\n),
94679971Sobrien		  Apache 1.3.11 puts *multiple* trailing spaces after the
94779971Sobrien		  chunksize. I 'm fairly certain that this is contrary to
94879971Sobrien		  RFC 2068 section 3.6, but whatever...
94979971Sobrien		  Found by David Brownlee <abs@mono.org>
95079971Sobrien		- always include <netdb.h>, not just when INET6 is defined.
95179971Sobrien		  resolves PR [bin/10970] by Richard Earnshaw
95279971Sobrien		  <rearnsha@cambridge.arm.com>>
95379971Sobrien		- in progressmeter() perform the check for foregroundproc() a
95479971Sobrien		  little earlier
95579971Sobrien		- removed unused variable `items' in list_vertical()
956223328Sgavin
95779971SobrienSat Sep 23 15:43:34 EST 2000	lukem
95879971Sobrien
95979971Sobrien	* remove unused sverrno in warnx() and errx()
96079971Sobrien
96179971Sobrien	* remove unused h_error in getnameinfo()
96279971Sobrien
96379971Sobrien	* in getaddrinfo(), don't bother declaring in6_addrany[] and
96479971Sobrien	  in6_loopback #ifndef INET6
96579971Sobrien
96679971SobrienThu Sep 21 11:26:35 EST 2000	lukem
96779971Sobrien
96879971Sobrien	* in getaddrinfo.c::str_isnumber(), use strtol() and check the
96979971Sobrien	  result, instead of using strtoul() and not checking the result.
97079971Sobrien
97179971Sobrien	* define INADDRSZ if it's not found (e.g, HP/UX doesn't seem to have
97279971Sobrien	  it in <arpa/nameser.h>)
97379971Sobrien
97479971SobrienWed Sep 20 09:23:59 EST 2000	lukem
97579971Sobrien
97679971Sobrien	* crank to version 1.5 beta4
97779971Sobrien
97879971SobrienMon Sep 18 18:19:54 EST 2000	lukem
97979971Sobrien
98079971Sobrien	* add AC_AIX test, which defines _ALL_SOURCE under AIX
98179971Sobrien
98279971Sobrien	* use ANSI # stringization instead of __STRING()
98379971Sobrien
98479971Sobrien	* define HAVE_RFC2553_NETDB if <netdb.h> defines AI_NUMERICHOST
98579971Sobrien	  (et al) and has getaddrinfo(). (some systems only implement RFC2133)
98679971Sobrien
98779971Sobrien	* don't bother with AC_C_CONST as we depend upon ANSI C elsewhere
98879971Sobrien
98979971Sobrien	* when HAVE_RFC2553_NETDB isn't set, and we're #defining various EAI_,
99079971Sobrien	  AI_, and NI_ items, #undef first incase a system partially implements
99179971Sobrien	  these in <netdb.h>
99279971Sobrien
99379971Sobrien	* look for tgetent() in -ltinfo before -lncurses, because ncurses 5.0
99479971Sobrien	  has been split up into multiple libraries.
99579971Sobrien	  from Arkadiusz Miskiewicz <misiek@pld.org.pl>
99679971Sobrien
99779971SobrienFri Sep 15 01:09:10 EST 2000	lukem
99879971Sobrien
99979971Sobrien	* don't bother defining __P() or __STRING() based on whether
100079971Sobrien	  __STDC__ is available or not, since these aren't used any more
100179971Sobrien
100279971Sobrien	* fix mkstemp() prototype
100379971Sobrien
100479971Sobrien	* declare getpass() if necessary
100579971Sobrien
100679971Sobrien	* we don't need the readline xxgdb hack in libedit...
100779971Sobrien
100879971Sobrien	* convert to ansi declarations
100979971Sobrien
101079971Sobrien	* use ansi prototypes instead of __P()
101179971Sobrien
101279971Sobrien	* merge in changes from makelist 1.4 -> 1.6:
101379971Sobrien		- generate ansi prototypes instead of using __P().  noted by
101479971Sobrien		  christos
101579971Sobrien		- fix a couple of comments
101679971Sobrien		- add -m option to makelist, which generates an mdoc table
101779971Sobrien		  with the key bindings and their descriptions
101879971Sobrien		- manually add the output of 'sh ./makelist -m vi.c ed.c
101979971Sobrien		  common.c' to a new section in editrc(5) called
102079971Sobrien		  `EDITOR COMMANDS'
102179971Sobrien
102279971Sobrien	* merge libedit from NetBSD-current (20000915)
102379971Sobrien		* convert to new style guide, which includes:
102479971Sobrien			- ansi prototypes & features (such as stdargs)
102579971Sobrien			- 8 space indents
102679971Sobrien		* history_def_set has a `const int' as a third arg, not an
102779971Sobrien		  `int'.  picked up by the ultrix compiler, reported by
102879971Sobrien		  simonb@ ...
102979971Sobrien		* generate ansi prototypes instead of using __P().  noted by
103079971Sobrien		  christos.  fix a couple of comments
103179971Sobrien		* make xxgdb and a gdb linked with libedit's readline emulation
103279971Sobrien		  work properly together.   xxgdb communicates with a gdb
103379971Sobrien		  running on a pty that it sets to -echo,-onlcr prior to
103479971Sobrien		  forking the gdb process.  GNU readline preserves the -echo
103579971Sobrien		  setting while libedit was undoing it (setting the tty to a
103679971Sobrien		  sane state and totally confusing xxgdb's parser).
103779971Sobrien		  this diff simply disables libedit if both readline emulation
103879971Sobrien		  and "stty -echo" are used/set.   that is enough to make
103979971Sobrien		  xxgdb work once again, but (XXX) this is not how GNU readline
104079971Sobrien		  handles stty -echo (it does not echo anything, but editing
104179971Sobrien		  commands like ^A,^K, etc.  still work), so the readline
104279971Sobrien		  emulation isn't perfect.
104379971Sobrien
104479971SobrienTue Aug 29 18:00:08 EST 2000	lukem
104579971Sobrien
104679971Sobrien	* don't bother testing for #if __STDC__; just assume we have it...
104779971Sobrien
104879971SobrienMon Aug 28 22:45:08 EST 2000	lukem
104979971Sobrien
105079971Sobrien	* refine tests for IPv6 #defines (EAI_, AI_, NI_, ...).
105179971Sobrien	  should improve portability on systems which implement
105279971Sobrien	  RFC 2133 but not RFC 2553.
105379971Sobrien
105479971SobrienWed Aug  9 02:12:51 EST 2000	lukem
105579971Sobrien
105679971Sobrien	* use #if __STDC__ instead of #ifdef __STDC__
105779971Sobrien
105879971Sobrien	* only test 'case NETDB_INTERNAL:' if it's defined
105979971Sobrien
106079971Sobrien	* fix support for --program-prefix et al
106179971Sobrien
106279971Sobrien	* only include <arpa/nameser.h> in the files that need it, because
106379971Sobrien	  the DELETE define in some system's implementations causes name
106479971Sobrien	  collisions in libedit.
106579971Sobrien
106679971SobrienMon Aug  7 08:17:37 EST 2000	lukem
106779971Sobrien
106879971Sobrien	* merge ftp from NetBSD-current (20000807)
106979971Sobrien		* implement parseport(), which takes a string and attempts to
107079971Sobrien		  convert it to a numeric port number
107179971Sobrien		* use parseport() in parse_url() and hookup()
107279971Sobrien		* don't try and lookup the port number using getaddrinfo(),
107379971Sobrien		  as it's too hard to separate a failed host name lookup from
107479971Sobrien		  a failed service name lookup.  this was causing lossage on
107579971Sobrien		  systems that don't have `http' in services(5) (such as
107679971Sobrien		  solaris), but only crept in when we started using
107779971Sobrien		  getaddrinfo() unconditionally.
107879971Sobrien
107979971SobrienWed Aug  2 23:43:50 EST 2000	lukem
108079971Sobrien
108179971Sobrien	* crank to version 1.5 beta3
108279971Sobrien
108379971Sobrien	* define NO_LONG_LONG not NO_QUAD
108479971Sobrien
108579971Sobrien	* detect if struct sockaddr.sa_len exists (rather than relying upon
108679971Sobrien	  #ifdef BSD4_4)
108779971Sobrien
108879971Sobrien	* detect if socklen_t exists, and if not, typedef as unsigned int
108979971Sobrien
109079971Sobrien	* detect if struct addrinfo exists, and if not declare it and #define
109179971Sobrien	  associated EAI_, AI_, and NI_ defines.
109279971Sobrien
109379971Sobrien	* look for & replace: getaddrinfo(), getnameinfo(), inet_ntop(),
109479971Sobrien	  inet_pton()
109579971Sobrien	* look for gethostbyname2()
109679971Sobrien
109779971Sobrien	* don't bother looking for hstrerror() or inet_aton() anymore
109879971Sobrien
109979971Sobrien	* include <arpa/nameser.h> and <stddef.h>
110079971Sobrien
110179971Sobrien	* define USE_SELECT instead of __USE_SELECT
110279971Sobrien
110379971Sobrien	* always define HAVE_H_ERRNO
110479971Sobrien
110579971Sobrien	* add Brian Stark to THANKS, for lots of AIX porting feedback
110679971Sobrien
110779971Sobrien	* improve detection of sin_len for AIX (now part of sa_len test)
110879971Sobrien
110979971Sobrien	* add functions needed by recent ftp import:
111079971Sobrien		getaddrinfo(), getnameinfo(), inet_ntop(), inet_pton()
111179971Sobrien	  remove functions not needed anymore:
111279971Sobrien		hstrerror(), inet_aton()
111379971Sobrien
111479971Sobrien	* use #if HAVE_ISSETUGID not #ifdef
111579971Sobrien
111679971Sobrien	* update from NetBSD-current (20000802):
111779971Sobrien		- rename NO_QUAD to NO_LONG_LONG, QUAD* -> LL* and add ULL*
111879971Sobrien		  (unsigned) equivalents. name change suggested by Klaus
1119223328Sgavin		  Klein <kjk@NetBSD.org>
112079971Sobrien		- change defined(BSD4_4) || HAVE_SIN_LEN tests into
112179971Sobrien		  HAVE_SOCKADDR_SA_LEN, and set the latter if BSD4_4 exists
112279971Sobrien
112379971SobrienMon Jul 31 10:59:10 EST 2000	lukem
112479971Sobrien
112579971Sobrien	* merge ftp from NetBSD-current (20000731)
112679971Sobrien		- we can't just rename BSD4_4 -> HAVE_SIN_LEN, since bsd
112779971Sobrien		  systems define BSD4_4; change tests to test for either
112879971Sobrien		  defined(BSD4_4) or HAVE_SIN_LEN
112979971Sobrien		- more KNF
113079971Sobrien
113179971SobrienSun Jul 30 16:55:09 EST 2000	lukem
113279971Sobrien
113379971Sobrien	* merge ftp from NetBSD-current (20000730):
113479971Sobrien		- clean up NO_QUAD support: create helper #defines and use as
113579971Sobrien		  appropriate:
113679971Sobrien			#define         NOQUAD          ! NOQUAD
113779971Sobrien			-------         ------          - ------
113879971Sobrien			QUADF           "%ld"           "%lld"
113979971Sobrien			QUADFP(x)       "%" x "ld"      "%" x "lld"
114079971Sobrien			QUADT           long            long long
114179971Sobrien			STRTOL(x,y,z)   strtol(x,y,z)   strtoll(x,y,z)
114279971Sobrien		- always use getaddrinfo() and getnameinfo() instead of
114379971Sobrien		  maintaining two code paths.
114479971Sobrien		- rename __USE_SELECT to USE_SELECT
114579971Sobrien		- rename BSD4_4 to HAVE_SIN_LEN
114679971Sobrien		- replace union sockunion {} with struct sockinet {}, and
114779971Sobrien		  modify the code accordingly. this is possibly more portable,
114879971Sobrien		  as it doesn't rely upon the structure alignment within the
114979971Sobrien		  union for our own stuff.
115079971Sobrien
115179971SobrienFri Jul 28 22:11:17 EST 2000	lukem
115279971Sobrien
115379971Sobrien	* merge ftp from NetBSD-current (20000728):
115479971Sobrien		- no trailing , on last item (FEAT_max) in enum
115579971Sobrien		- rename "opts" to "remopts", so people used to "o host"
115679971Sobrien		  don't get bitten
115779971Sobrien
115879971SobrienWed Jul 26 18:59:19 EST 2000	lukem
115979971Sobrien
116079971Sobrien	* merge ftp from NetBSD-current (20000726):
116179971Sobrien		- add support for FEAT and OPTS commands with `features' and
116279971Sobrien		  `opts'.  (from RFC 2389).
116379971Sobrien		- add support for MLST & MLSD (machine parseble listings)
1164223328Sgavin		  with 'mlst', 'mlsd' and 'pmlsd' (mlsd |$PAGER) commands.
116579971Sobrien		  (from draft-ietf-ftpext-mlst-11)
116679971Sobrien		- rename remotesyst() to getremoteinfo(), and modify to parse
116779971Sobrien		  the result from FEAT (if supported), and take into account
116879971Sobrien		  the support for the various extensions such as MDTM, SIZE,
116979971Sobrien		  REST (STREAM), MLSD, and FEAT/OPTS.
117079971Sobrien		- put each feature into one of the following categories:
117179971Sobrien			- known to work (explicit FEAT)
117279971Sobrien			- unknown but assume works until explicit failure,
117379971Sobrien			  when it's then tagged as `known not to work'.
117479971Sobrien			- known not to work (FEAT succeeded but didn't return
117579971Sobrien			  anything, or was unknown and then explicit failure)
117679971Sobrien		  assign results into features[] matrix.
117779971Sobrien		- add support to getreply() so that an optional callback will
117879971Sobrien		  be called for each line received from the server except for
117979971Sobrien		  the first and last.  this is used in FEAT (and MLST) parsing.
118079971Sobrien		- modify various commands to check if REST (STREAM), MDTM and
118179971Sobrien		  SIZE are explicitly or implicitly supported before using.
118279971Sobrien		- fix `syst' when verbose is off.
118379971Sobrien		- minor knf (indent goto labels by one space, etc).
118479971Sobrien		- simply various command usage handlers by assuming that
118579971Sobrien		  argv != NULL except for quit() and disconnect().
1186223328Sgavin		- errx?/warnx? audit.  do not pass variable alone, use %s.
118779971Sobrien
118879971Sobrien	* check for issetugid() and don't use in libedit if it doesn't exist.
118979971Sobrien
119079971Sobrien	* merge libedit from NetBSD-current (20000726):
119179971Sobrien		* Only look in home directory for .editrc.  (Discussed
119279971Sobrien		  with Christos.)
119379971Sobrien
119479971Sobrien	* in glob.c #undef TILDE before redefining, because some AIX systems
119579971Sobrien	  #define TILDE in <sys/ioctl.h>
119679971Sobrien
119779971SobrienMon Jul 10 00:28:51 EST 2000	lukem
119879971Sobrien
119979971Sobrien	* released lukemftp 1.4
120079971Sobrien
120179971SobrienThu Jun 15 23:28:49 EST 2000	lukem
120279971Sobrien
120379971Sobrien	* merge ftp from NetBSD-current (20000615):
120479971Sobrien		* migrate the SYST parsing from setpeer() into a separate
120579971Sobrien		  remotesyst().  call remotesyst() only when login has been
120679971Sobrien		  successful some servers don't let you run SYST until you've
120779971Sobrien		  successfully logged in.
120879971Sobrien		* in fetch_ftp(), always call setpeer() with autologin
120979971Sobrien		  disabled, and use the following ftp_login() to DTRT.  this
121079971Sobrien		  prevents ftp from trying to login a second time if the
121179971Sobrien		  first autologin fails when connecting to a remote site
121279971Sobrien		  anonymously using autofetch.
121379971Sobrien		* reset unix_proxy and unix_server in cleanuppeer()
121479971Sobrien		* missed a function conversion in the KNF sweep...
121579971Sobrien
121679971SobrienMon Jun 12 01:16:12 EST 2000	lukem
121779971Sobrien
121879971Sobrien	* change lukemftp.h to check !HAVE_STRDUP instead of !HAVE_STRSUP.
121979971Sobrien	  fixes compile problem on systems which have strdup() as a macro.
122079971Sobrien
122179971Sobrien	* merge ftp from NetBSD-current (20000612):
122279971Sobrien		from itojun: better fix for previous (doesn't need
122379971Sobrien		in_addr_t or u_int32_t)
122479971Sobrien
122579971SobrienSun Jun 11 12:19:52 EST 2000	lukem
122679971Sobrien
122779971Sobrien	* merge ftp from NetBSD-current (20000611):
122879971Sobrien		portability fixes for lukemftp:
122979971Sobrien		* initconn(): use in_addr_t instead of u_int32_t when
123079971Sobrien		  manipulating IPv6 addresses (and assume anything with ipv6
123179971Sobrien		  has in_addr_t; if not, i'll add an autoconf test for it)
123279971Sobrien		* ai_unmapped(): not all systems have sin_len; so only set
123379971Sobrien		  #ifdef BSD4_4
123479971Sobrien		* fix some lint
123579971Sobrien
123679971SobrienMon Jun  5 21:10:31 EST 2000	lukem
123779971Sobrien
123879971Sobrien	* released lukemftp 1.3
123979971Sobrien
124079971SobrienMon Jun  5 19:53:49 EST 2000	lukem
124179971Sobrien
124279971Sobrien	* convert various support files to ANSI C
124379971Sobrien
124479971Sobrien	* look for strtoll() instead of strtoq()
124579971Sobrien
124679971Sobrien	* update COPYRIGHT, THANKS, NEWS
124779971Sobrien
124879971Sobrien	* merge ftp from NetBSD-current (20000605):
124979971Sobrien		- fix ai_unmapped() to be a no-op in the !def INET6 case
125079971Sobrien		- display `(-INET6)' at the end of the version string if
125179971Sobrien		  !def INET6
125279971Sobrien		- clarify in the man page that IPv6 support may not be present
125379971Sobrien		  (for lukemftp :)
125479971Sobrien
125579971Sobrien	* ensure <vis.h> has VIS_WHITE et al
125679971Sobrien
125779971SobrienSun Jun  4 18:00:07 EST 2000	lukem
125879971Sobrien
125979971Sobrien	* merge ftp from NetBSD-current (20000604):
126079971Sobrien		- Change `ls' to use the `LIST' and not `NLST' FTP protocol
126179971Sobrien		  command.  Now that after many years on not caring we find
126279971Sobrien		  certain popular ftp servers are starting to obey RFC959 to
126379971Sobrien		  the letter of the law and will only return a list of
126479971Sobrien		  filenames (not directories or other filetypes) in the
126579971Sobrien		  output of `NLST', then `LIST' is more useful in this case.
126679971Sobrien		  (Note that the aforementioned pedanticness means that
126779971Sobrien		  filename completion isn't as useful as it could be...)
126879971Sobrien		  Fixes [bin/8937] by David A. Gatwood
126979971Sobrien		  <dgatwood@deepspace.mklinux.org>
127079971Sobrien		- convert to ANSI KNF
127179971Sobrien		- Add support for `fget localfile', which reads a list of
127279971Sobrien		  filenames to retrieve from localfile.  Based on work by
127379971Sobrien		  Darren Reed.
127479971Sobrien		- Update copyright dates.
127579971Sobrien		- s/strtoq/strtoll/ (the latter is standardised)
127679971Sobrien		- Add support for 'ftp -u url file ...', to upload a list of
127779971Sobrien		  files to given url.  Mostly based on [bin/10019] by Scott
127879971Sobrien		  Aaron Bamford <sab@ansic.net>
127979971Sobrien		- convert IPv4 mapped address (::ffff:10.1.1.1) into real IPv4
128079971Sobrien		  address before touching it.  IPv4 mapped address complicates
128179971Sobrien		  too many things in FTP protocol handling.
128279971Sobrien		- do not pass scoped IPv6 address notation on Host: directive,
128379971Sobrien		  since scope identifier is local to the originating node.
128479971Sobrien		  do not allow scoped IPv6 address notation in URL, if it is
1285223328Sgavin		  via proxy.
128679971Sobrien		- fixes from cgd:
128779971Sobrien		  * sanity check a length (otherwise certain bogus responses
128879971Sobrien		    can crash ftp)
128979971Sobrien		  * allow a transfer encoding type of `binary'; certain
1290223328Sgavin		    firewall vendors return this bogus type...
129179971Sobrien		- make debugging output unambiguous on IPv6 numeric addrs
129279971Sobrien		  (don't use host:port)
129379971Sobrien		- http://[::1]:8080/ is legal.
129479971Sobrien		- send Host: directive with RFC2732 bracket notation for IPv6
129579971Sobrien		  numeric, otherwise "host:port" is ambiguous to servers
129679971Sobrien		  (clarification will be submitted as update to RFC2732).
129779971Sobrien		- only use getaddrinfo() et al if both NI_NUMERICHOST *and*
129879971Sobrien		  INET6 are defined...  (allows --disable-ipv6 in lukemftp's
129979971Sobrien		  configure script to disable this as well, which is good for
130079971Sobrien		  testing when it appears getaddrinfo() is borken)
130179971Sobrien		- updated comment on IPv4 mapped address.  sync with kame.
130279971Sobrien		- Fix examples on using pipes in local filenames.  AFAICT,
130379971Sobrien		  ftp has always required `dir . |more' not as `dir |more'
130479971Sobrien		  treats `|more' as the remote filename. Resolves [bin/9922]
130579971Sobrien		  by Geoff Wing <mason@primenet.com.au>
130679971Sobrien		- ftp(1): treats IPv4 mapped destination as IPv4 peer, not
130779971Sobrien		  native IPv6 peer.  this does not support network with SIIT
130879971Sobrien		  translator.
130979971Sobrien		- inhibit too-noisy message for scoped address data transfer
131079971Sobrien		  (will be enabled in "debug" mode).
131179971Sobrien		- only use IPTOS_ setsockopt()s if they're defined (e.g, SunOS
131279971Sobrien		  doesn't).  from Havard.Eidnes@runit.sintef.no
131379971Sobrien		- allow IPv6 extended numeric address in host part.
131479971Sobrien		  (draft-ietf-ipngwg-scopedaddr-format-01.txt). fixes PR 9616.
131579971Sobrien
131679971Sobrien	* merge libedit from NetBSD-current (20000604):
131779971Sobrien		- use strtol() (instead of atoi()) for sane error detection
131879971Sobrien
131979971SobrienWed May 31 19:24:53 EST 2000	lukem
132079971Sobrien
132179971Sobrien	* merge libedit from NetBSD-current (20000531):
132279971Sobrien		- Fix refresh glitches when using auto-margin.
132379971Sobrien		- Don't dump core on empty .editrc files.
132479971Sobrien		- el_insertstr takes a "const char *" not "char *" now as it
132579971Sobrien		  doesn't modify the argument.
132679971Sobrien
132779971SobrienThu Feb  3 20:19:40 EST 2000	lukem
132879971Sobrien
132979971Sobrien	* released lukemftp 1.2
133079971Sobrien
133179971SobrienTue Feb  1 09:47:51 EST 2000	lukem
133279971Sobrien
133379971Sobrien	* add --enable-ipv6 and --disable-ipv6 to configure
133479971Sobrien
133579971Sobrien	* modify libedit/sig.? to use sigfunc instead of sig_t, and
133679971Sobrien	  deprecate autoconf tests for retsigtype and sig_t.
133779971Sobrien	  This fixes portability problems with Digital UNIX 5.0.
133879971Sobrien
133979971Sobrien	* merge ftp from NetBSD-current (20000201):
134079971Sobrien		- define private type `sigfunc' as
134179971Sobrien			typedef void (*sigfunc) __P((int));
134279971Sobrien		  and replace use of sig_t and void (*)(int).
134379971Sobrien		  certain other OSes define sig_t differently to that (they
134479971Sobrien		  add extra arguments), and it causes problems due to
134579971Sobrien		  function mismatches, etc...
134679971Sobrien
134779971SobrienWed Jan 26 22:54:38 EST 2000	lukem
134879971Sobrien
134979971Sobrien	* search for tgetent() in -ltermcap then -lcurses and -lncurses
135079971Sobrien
135179971Sobrien	* merge ftp from NetBSD-current (20000126):
135279971Sobrien		- roll back to using sscanf() instead of strptime() to parse
135379971Sobrien		  `yyyymmddhhmmss' strings, since the latter technically can't
135479971Sobrien		  parse dates without non alphanumerics between the elements
135579971Sobrien		  (even though NetBSD's strptime() copes).
135679971Sobrien
135779971SobrienTue Jan 25 19:09:37 EST 2000	lukem
135879971Sobrien
135979971Sobrien	* merge ftp from NetBSD-current (20000125):
136079971Sobrien		- complete_ambiguous(): be consistent about completing
136179971Sobrien		  unambiguous matches; if the word is already complete then
136279971Sobrien		  return CC_REFRESH so that the higher layer may append a
136379971Sobrien		  suffix if necessary. Fix from Launey Thomas <ljt@alum.mit.edu>
136479971Sobrien		- change references from draft-ietf-ipngwg-url-literal-01.txt
136579971Sobrien		  to RFC2732
136679971Sobrien		- work around bug in apache 1.3.9 which incorrectly puts a
136779971Sobrien		  trailing space after the chunksize.  noted by Jun-ichiro
136879971Sobrien		  itojun Hagino <itojun@itojun.org> in [bin/9096]
136979971Sobrien		- work around lame ftpd's that don't return a correct post-Y2K
137079971Sobrien		  date in the output of `MDTM'.  obviously the programmer of
137179971Sobrien		  aforementioned lame ftpd's did something like
137279971Sobrien			"19%02d", tm->tm_year
137379971Sobrien		  instead of
137479971Sobrien			"%04d", tm->tm_year + TM_YEAR_BASE
137579971Sobrien		  fixes [bin/9289] by jbernard@mines.edu
137679971Sobrien
137779971Sobrien	* merge libedit from NetBSD-current (20000125):
137879971Sobrien		- PR/9244: Kevin Schoedel: libedit dumps bindings
137979971Sobrien		  inconsistently
138079971Sobrien		- PR/9243: Kevin Schoedel: libedit ignores repeat count
138179971Sobrien		- Add support for automatic and magic margins (from tcsh)
138279971Sobrien		  This makes the rightmost column usable on all programs
138379971Sobrien		  that use editline.
138479971Sobrien
138579971SobrienTue Dec 21 08:59:22 EST 1999	lukem
138679971Sobrien
138779971Sobrien	* update INSTALL notes for some systems
138879971Sobrien
138979971Sobrien	* if sl_init() exists, check return value of sl_add() is int and
139079971Sobrien	  compile in a replacement copy if it's not the case
139179971Sobrien
139279971Sobrien	* don't look for <stringlist.h> - always use local prototypes; older
139379971Sobrien	  NetBSD systems may have conflicting prototypes
139479971Sobrien
139579971SobrienMon Dec 20 11:21:28 EST 1999	lukem
139679971Sobrien
139779971Sobrien	* merge ftp from NetBSD-current (19991220):
139879971Sobrien	- Move version from ftp_var.h to version.h
139979971Sobrien	- Fix chunked support; probably broke after rate limiting was added.
140079971Sobrien	  Problem noticed/debugging assisted by giles lean
140179971Sobrien	  <giles@nemeton.com.au>.
140279971Sobrien	- remove unnecessary freeaddrinfo(res), since res0 was changed to be
140379971Sobrien	  freed earlier in itojun's last commit. fixes [bin/8948].
140479971Sobrien	- remove `const char *reason'; it was being assigned but not used.
140579971Sobrien	- fix memory leak in fetch_url (no freeaddrinfo was there).
140679971Sobrien	  sync with recent KAME.
140779971Sobrien	- separate out the main `data pump' loop into two: one that supports
140879971Sobrien	  rate limiting and one that doesn't. simplifies the code, and speeds
140979971Sobrien	  up the latter case a bit, at the expense of duplicating a few
141079971Sobrien	  lines...
141179971Sobrien
141279971SobrienSun Nov 28 18:20:41 EST 1999	lukem
141379971Sobrien
141479971Sobrien	* merge ftp from NetBSD-current (19991128):
141579971Sobrien	- implement xsl_init() and  xsl_add(); error checking forms of
141679971Sobrien	  sl_{init,add}()
141779971Sobrien	- fix bug where the second press of <TAB> on an empty word (i.e, list
1418223328Sgavin	  all options) may have resulted in an strncmp() against NULL.
141979971Sobrien	  (detected by _DIAGASSERT())
142079971Sobrien	- in cleanuppeer(), reset username to NULL after free()ing it.
142179971Sobrien	  fixes [bin/8870] by Wolfgang Rupprecht <wolfgang@wsrcc.com>
142279971Sobrien	- complete_remote(): use remglob("", ...) instead of remglob(".", ...),
142379971Sobrien	  for listings of the current working directory; some ftp servers don't
142479971Sobrien	  like `NLST .'.
142579971Sobrien	  [noted by Giles Lean <giles@nemeton.com.au>]
142679971Sobrien	- recvrequest(): treat remote=="" as remote==NULL when calling
142779971Sobrien	  command().  (to support the above change)
142879971Sobrien	- support `[user@]' in `[user@]host' and `[user@]host[:][path]'.
142979971Sobrien	  [based on idea (and initial code) from David Maxwell <david@fundy.ca>]
143079971Sobrien	- `idle' may be invoked without any args
143179971Sobrien	- reformat some comments
143279971Sobrien	- reformat usage string in program and man page
143379971Sobrien	- call updateremotepwd() after successful login, not after successful
143479971Sobrien	  connect
143579971Sobrien	- always call setsockopt(, IPPROTO_IP, IP_TOS, ) (et al); using #if
143679971Sobrien	  defined(IPPROTO_IP) doesn't work on certain foreign systems where
143779971Sobrien	  enums instead of #defines are used...
143879971Sobrien	  [noted by Matthias Pfaller <leo@dachau.marco.de>]
143979971Sobrien
144079971SobrienMon Nov 15 23:01:58 EST 1999	lukem
144179971Sobrien
144279971Sobrien	* released lukemftp 1.1
144379971Sobrien
144479971SobrienMon Nov 15 09:07:01 EST 1999	lukem
144579971Sobrien
144679971Sobrien	* merge libedit from NetBSD-current (19991115):
144779971Sobrien		- instead of using a private coord_t global variable to store
144879971Sobrien		  the size of the rprompt, use the previously unused coord_t
144979971Sobrien		  el->el_rprompt.p_pos
145079971Sobrien
145179971SobrienSat Nov 13 14:42:22 EST 1999	lukem
145279971Sobrien
145379971Sobrien	* support caching of results in AC_MSG_TRY_{COMPILE,LINK}
145479971Sobrien	  autoconf tests
145579971Sobrien
145679971Sobrien	* add NEWS file
145779971Sobrien
145879971Sobrien	* clarify copyright statement in COPYING
145979971Sobrien
146079971Sobrien	* merge ftp from NetBSD-current (19991113):
146179971Sobrien		- implement `set rprompt'; right side version of `set prompt'.
146279971Sobrien		  depends on EL_RPROMPT support i added to editline(3).
146379971Sobrien		- allow $FTPPROMPT and $FTPRPROMPT to override defaults for
146479971Sobrien		  the relevant prompts
146579971Sobrien		- move `%' formatting code from prompt() to expandbuf().
146679971Sobrien		- implement `%.' and `%c', similar to the same % codes in
146779971Sobrien		  tcsh(1) (functionality I added to tcsh nearly 6 years ago),
146879971Sobrien		  except that `%.' always does `...trailing' and `%c' always
146979971Sobrien		  does `/<x>trailing'.
147079971Sobrien		- unknown `%foo' codes get printed as `%foo'
147179971Sobrien		- implement updateremotepwd(); update the global variable
147279971Sobrien		  `remotepwd' to contain the remote working directory.
147379971Sobrien		- add `set prompt', a user configurable prompt. (defaults to
147479971Sobrien		  `ftp> ').  the following escape characters a la tcsh(1) are
147579971Sobrien		  supported: %/, %m, %M, and %n.
147679971Sobrien		- add global var `username'; used by prompt code
147779971Sobrien		- fix a couple of minor memory leaks
147879971Sobrien		- bump version
147979971Sobrien		- prevent minor memory leak (unnecessary strdup)
148079971Sobrien		- implement restarting file:/// non-proxied http:// URLs
148179971Sobrien		  (with -R).
148279971Sobrien		- fix a semicolono which stopped file:/// from working
148379971Sobrien		- split the version string into product and version
148479971Sobrien		- be consistent about reporting the version between:
148579971Sobrien			+ status command
148679971Sobrien			+ about:version URL fetch
148779971Sobrien			+ User-agent sent in http requests
148879971Sobrien		- hookup(): when using getservbyname() (when getaddrinfo()
148979971Sobrien		  isn't available), if the provided port is a valid number
149079971Sobrien		  use that rather than trying to do getservbyname() against
149179971Sobrien		  it. fixes a problem on foreign systems noted by Chuck
149279971Sobrien		  Silvers <chuq@chuq.com>
149379971Sobrien		- support `about:version'. also display the version in the
149479971Sobrien		  output of `status'.
149579971Sobrien
149679971Sobrien	* merge libedit from NetBSD-current (19991113):
149779971Sobrien		- implement printing a right-side prompt. code derived from
149879971Sobrien		  similar work I wrote for tcsh(1) three years ago.
149979971Sobrien		- implement EL_RPROMPT, which allows a setting/getting of a
150079971Sobrien		  function which returns a string to be used as the
150179971Sobrien		  right-side prompt.
150279971Sobrien
150379971Sobrien	* replace manually managed config.h.in with acconfig.h and use
150479971Sobrien	  autoheader to generate the former.
150579971Sobrien
150679971Sobrien	* add missing entry for `#undef write' in acconfig.h (for SOCKS)
150779971Sobrien
150879971Sobrien	* configure.in:
150979971Sobrien		- use `LL' suffix on long long constant used to test
151079971Sobrien		  snprintf("%lld")
151179971Sobrien		- test for EL_RPROMPT instead of EL_EDITMODE, since the
151279971Sobrien		  former is is a newer required feature
151379971Sobrien
151479971Sobrien	* in makelist, set LC_ALL="C", in case the locale confuses awk.
151579971Sobrien	  problem noted by Peter Seebach <seebs@plethora.net>
151679971Sobrien
151779971SobrienWed Oct 27 07:00:00 UTC 1999	lukem
151879971Sobrien
151979971Sobrien	* released 1.0
152079971Sobrien
152179971Sobrien	* removed libedit/TEST/test.c; no need to distribute it
152279971Sobrien
152379971SobrienMon Oct 25 21:59:54 EST 1999	lukem
152479971Sobrien
152579971Sobrien	* released 1.0b7
152679971Sobrien
152779971Sobrien	* put VERSION string into lukemftp.h, and display with the `status'
152879971Sobrien	  command
152979971Sobrien
153079971SobrienMon Oct 25 11:36:59 EST 1999	lukem
153179971Sobrien
153279971Sobrien	* merge ftp from NetBSD-current (19991025):
153379971Sobrien	- fix up confirm() (broke `a' and `p' in last commit)
153479971Sobrien	- simplify main loop (don't need `top' variable any more)
153579971Sobrien	- use a struct sockaddr_in6.sin6_addr for the result from inet_pton(),
153679971Sobrien	  rather than u_char buf[16]
153779971Sobrien	- add a few more comments
153879971Sobrien
153979971Sobrien	new features:
154079971Sobrien	- add `usage'; displays the usage of a command.
154179971Sobrien	  implemented by calling the c_handler() with argc = 0, argv =
154279971Sobrien	  "funcname".
154379971Sobrien	- add `passive auto'; does the same as $FTPMODE=auto.
154479971Sobrien	- add `set [option value]'; display all options, or set an option to
154579971Sobrien	  a value.
154679971Sobrien	- add `unset option'; unset an option.
154779971Sobrien	- add getoptionvalue() to retrieve an option's value, and replace a few
154879971Sobrien	  global variables with calls to this.
154979971Sobrien	- implement cleanuppeer(), which resets various bits of state back to
155079971Sobrien	  `disconnected'. call in disconnect() and lostpeer().
155179971Sobrien	- support completing on `options'.
155279971Sobrien	- improve recovery after a SIGINT may have closed the connection.
155379971Sobrien	  XXX: there's still a couple to fix
155479971Sobrien
155579971Sobrien	other stuff:
155679971Sobrien	- various consistency fixes in the man page.
155779971Sobrien	- ensure that the command usage strings in the code and man page
155879971Sobrien	  match reality.
155979971Sobrien	- mput/mget: check that the connection still exists before each xfer.
156079971Sobrien	- minor cosmetic changes in confirm().
156179971Sobrien	- set code correctly in sizecmd() and modtime()
156279971Sobrien	- don't need \n in err() strings.
156379971Sobrien	- change lostpeer to take an argument (rather than casting
156479971Sobrien	  (sig_t)lostpeer in signal handlers)
156579971Sobrien	- knf and whitespace police.
156679971Sobrien
156779971SobrienSun Oct 24 17:02:59 EST 1999	lukem
156879971Sobrien
156979971Sobrien	* merge libedit from NetBSD-current (19991024):
157079971Sobrien		- don't assume locales are not working - it may not be
157179971Sobrien		  the case
157279971Sobrien		- re_refresh(): cast the character passed to re_addc() to
157379971Sobrien		  unsigned char,  so we don't end up calling isprint() with
157479971Sobrien		  negative value when chars are signed and character value
157579971Sobrien		  is >= 128
157679971Sobrien		- Fix pointer arithmatic (caused problems on LP64, including
157779971Sobrien		  ftp dumping core when `edit' was turned off then on).
157879971Sobrien		  Problem solved by David Huggins-Daines <dhd@eradicator.org>
157979971Sobrien
158079971SobrienTue Oct 12 18:05:21 EST 1999	lukem
158179971Sobrien
158279971Sobrien	* install man page from ${srcdir} not from .
158379971Sobrien
158479971SobrienTue Oct 12 17:00:41 EST 1999	lukem
158579971Sobrien
158679971Sobrien	* released 1.0b6
158779971Sobrien
158879971Sobrien	* merge from NetBSD-current (19991012):
158979971Sobrien	  a few user interface and cosmetic tweaks:
159079971Sobrien		- confirm(): move from util.c to cmds.c. display mnemonic
159179971Sobrien		  string in its prompt. add support for `q' (terminate
159279971Sobrien		  current xfer), `?' (show help list)
159379971Sobrien		- in various signal handlers, output a linefeed only if
159479971Sobrien		  fromatty.
159579971Sobrien		- if fgets(stdin) returned NULL (i.e, EOF), clearerr(stdin)
159679971Sobrien		  because you don't want future fgets to fail. this is not
159779971Sobrien		  done for the fgets() in the main command loop, since ftp
159879971Sobrien		  will quit at that point.
159979971Sobrien		- unless ftp is invoked with -a, don't retain the anonftp
160079971Sobrien		  setting between hosts (`ftp somehost:' sets anonftp, but
160179971Sobrien		  you don't want that to `stick' if you close that connection
160279971Sobrien		  and open a new one).
160379971Sobrien
160479971SobrienMon Oct 11 23:06:38 EST 1999	lukem
160579971Sobrien
160679971Sobrien	* check for working const
160779971Sobrien
160879971Sobrien	* reorganise addition of -lukem to LIBS (was being added twice)
160979971Sobrien
161079971Sobrien	* merge from netbsd-current:
161179971Sobrien		- use sigjmp_buf instead of jmp_buf for sigsetjmp() buffer
161279971Sobrien
161379971Sobrien	* libedit: don't bother generating & compiling editline.c, since
161479971Sobrien	  its component parts are compiled anyway.
161579971Sobrien
161679971SobrienSun Oct 10 12:08:39 EST 1999	lukem
161779971Sobrien
161879971Sobrien	* released 1.0b5
161979971Sobrien
162079971Sobrien	* in libedit, use xsignal_restart() (from src/util.c) instead of
162179971Sobrien	  signal(); the isn't guaranteed to work on some foreign systems
162279971Sobrien	  (e.g, IRIX) if sigaction() is used in the same program.
162379971Sobrien
162479971Sobrien	* merge from netbsd-current:
162579971Sobrien		- use sigsetjmp()/siglongjump() instead of setjmp()/longjmp();
162679971Sobrien		  the latter don't save the signal mask on some foreign systems.
162779971Sobrien		- ensure signal handlers don't use stdio and do reset errno
162879971Sobrien		  if they don't exit with siglongjmp()
162979971Sobrien		- use a common SIGINT handler for {send,recv}request()
163079971Sobrien		- allow a second SIGINT during the "xfer aborted. waiting for
163179971Sobrien		  remote to finish abort." stage. if this occurs, just call
163279971Sobrien		  lostpeer() to close the connection.  whilst this might be
163379971Sobrien		  considered brutal, it's also extremely handy if you're
163479971Sobrien		  impatient or there's lossage at the remote end.
163579971Sobrien
163679971Sobrien	* add preformatted manual page
163779971Sobrien
163879971Sobrien	* fix --enable-editline
163979971Sobrien
164079971SobrienWed Oct  6 10:19:00 EST 1999	lukem
164179971Sobrien
164279971Sobrien	* released 1.0b4
164379971Sobrien
164479971Sobrien	* don't defining SIGINFO to SIGQUIT if the former doesn't exist; the
164579971Sobrien	  code now supports both as a method of getting the transfer stats
164679971Sobrien
164779971Sobrien	* rototill signal handling in the actual data xfer routines, and
164879971Sobrien	  specifically set SIGQUIT to psummary in each one, to override
164979971Sobrien	  editline's handler
165079971Sobrien
165179971SobrienTue Oct  5 23:48:29 EST 1999	lukem
165279971Sobrien
165379971Sobrien	* factor out SIGINFO setting into a handler that is always active
165479971Sobrien	  (but only prints out info if bytes > 0). only set the handler if
165579971Sobrien	  SIGINFO is defined
165679971Sobrien
165779971Sobrien	* hijack SIGQUIT to be the same as SIGINFO
165879971Sobrien
165979971Sobrien	* in {recv,send}request(), factor a lot of duplicated code out into
166079971Sobrien	  a `cleanup' section at the end
166179971Sobrien
166279971Sobrien	* rework shell() a bit
166379971Sobrien
166479971Sobrien	* enhancments from Marc Horowitz <marc@mit.edu> to improve
166579971Sobrien	  connection timeouts:
166679971Sobrien		- implement xsignal_restart(), which only sets the SA_RESTART
166779971Sobrien		  flag if specifically requested
166879971Sobrien		- xsignal() is now a wrapper to xsignal_restart(). INFO,
166979971Sobrien		  USR1, USR2 and WINCH are restartable, ALRM, INT, PIPE and
167079971Sobrien		  QUIT are not
167179971Sobrien		- improve getreply()'s timeout code to take advantage of the
167279971Sobrien		  above
167379971Sobrien
167479971Sobrien	* improve wording of how globbing works for `classic' URLs (host:path)
167579971Sobrien	  suggested by John Refling <johnr@imageworks.com> in relation to PRs
167679971Sobrien	  [bin/8519] and [bin/8520]
167779971Sobrien
167879971Sobrien	* always compile in the `edit' command even if NO_EDITCOMPLETE defined
167979971Sobrien	  it's just a no-op in the latter case, which is more consistent to
168079971Sobrien	  the users
168179971Sobrien
168279971Sobrien	* always compile in about: support (i.e, remove NO_ABOUT).  i'm
168379971Sobrien	  entitled to some vanity in this program...
168479971Sobrien
168579971Sobrien	* update copyrights
168679971Sobrien
168779971SobrienMon Oct  4 10:57:41 EST 1999	lukem
168879971Sobrien
168979971Sobrien	* Invoke ar with `cr' not `cq'
169079971Sobrien
169179971Sobrien	* Use AC_PROG_RANLIB to find ranlib, and use it on the libraries
169279971Sobrien
169379971Sobrien	* Remove `makelist' from dependency list for libedit files; re-running
169479971Sobrien	  configure shouldn't result in rebuilding libedit
169579971Sobrien
169679971Sobrien	* Add support for --{en,dis}able-editcomplete (defaults to enabled),
169779971Sobrien	  which prevents libedit support from being compiled in.
1698223328Sgavin	  From Chris G. Demetriou <cgd@NetBSD.org>
169979971Sobrien
170079971SobrienSun Oct  3 16:49:01 EST 1999	lukem
170179971Sobrien
170279971Sobrien	* touch up the README
170379971Sobrien
170479971Sobrien	* add COPYING, INSTALL, THANKS
170579971Sobrien
170679971Sobrien	* whitespace consistency
170779971Sobrien
170879971Sobrien	* in config.h, replace NO_QUAD with HAVE_QUAD_SUPPORT, and in
170979971Sobrien	  lukemftp.h define the former if the latter is non zero
171079971Sobrien
171179971Sobrien	* change test against GETPGRP_VOID from #ifdef to #if
171279971Sobrien
171379971Sobrien	* snprintf(): in the truncation case, ensure that the length
171479971Sobrien	  returned is the actual length, not the needed length
171579971Sobrien
171679971SobrienSat Oct  2 00:41:34 EST 1999	lukem
171779971Sobrien
171879971Sobrien	* fix more lossage with $(srcdir) / $(VPATH) stuff; seems to work now
171979971Sobrien	  when configured in a separate directory
172079971Sobrien
172179971Sobrien	* actually test the correct variable when determining whether to run
172279971Sobrien	  AC_FUNC_GETPGRP
172379971Sobrien
172479971SobrienFri Oct  1 19:32:22 EST 1999	lukem
172579971Sobrien
172679971Sobrien	* released 1.0b3
172779971Sobrien
172879971Sobrien	* use AC_PROG_MAKE_SET
172979971Sobrien
173079971Sobrien	* determine setting of NO_QUAD with configure not lukemftp.h
173179971Sobrien
173279971Sobrien	* if have long long and have snprintf, test that snprintf
173379971Sobrien	  supports %lld. if it doesn't use private version
173479971Sobrien
173579971Sobrien	* change strtoq from returning off_t to returning long long
173679971Sobrien
173779971Sobrien	* updates from NetBSD mainline:
173879971Sobrien		- only try epsv once per connection (i.e, don't bother again
173979971Sobrien		  if it fails)
174079971Sobrien		- improve description of rate command
174179971Sobrien		- fix up global vars; they're now externed in ftp_var.h
174279971Sobrien		  except when main.c includes it
174379971Sobrien		- remove "pathnames.h"
174479971Sobrien
174579971SobrienFri Oct  1 10:08:43 EST 1999	lukem
174679971Sobrien
174779971Sobrien	* updates from NetBSD mainline:
174879971Sobrien		- fix determining of homedir
174979971Sobrien		- parse_url(): fix checking of portnum
175079971Sobrien		- move kame copyrights after bsd/tnfi ones
175179971Sobrien
175279971Sobrien	* released 1.0b2
175379971Sobrien
175479971Sobrien	* add %lld and %qd support to snprintf() for displaying long long's
175579971Sobrien
175679971Sobrien	* support VPATH and srcdir
175779971Sobrien
175879971SobrienThu Sep 30 17:19:35 EST 1999	lukem
175979971Sobrien
176079971Sobrien	* released 1.0b1
176179971Sobrien
176279971Sobrien	* fix from NetBSD mainline: in empty() FD_ZERO the correct variable
176379971Sobrien
176479971SobrienWed Sep 29 23:34:33 EST 1999	lukem
176579971Sobrien
176679971Sobrien	* major rework; reimport code from NetBSD-current 1999/09/29 into
176779971Sobrien	  separate subdirectories and build from there. organisation is now:
176879971Sobrien		libedit		replacement libedit
176979971Sobrien		libukem		replacements for missing functions
177079971Sobrien		src		main ftp source
177179971Sobrien
177279971SobrienMon Sep 27 00:43:12 EST 1999	lukem
177379971Sobrien
177479971Sobrien	* released 1.0 a6
177579971Sobrien
177679971SobrienSun Sep 26 17:17:05 EST 1999	lukem
177779971Sobrien
177879971Sobrien	* released 1.0 a5
177979971Sobrien
178079971SobrienSat Sep 25 00:58:28 EST 1999	lukem
178179971Sobrien
178279971Sobrien	* released 1.0 a4
178379971Sobrien
178479971SobrienFri Sep 24 17:07:07 EST 1999	lukem
178579971Sobrien
178679971Sobrien	* released 1.0 a3
178779971Sobrien
178879971SobrienFri Sep 24 16:18:29 EST 1999	lukem
178979971Sobrien
179079971Sobrien	* released 1.0 a2
179179971Sobrien
179279971SobrienTue Sep 21 11:38:49 EST 1999	lukem
179379971Sobrien
179479971Sobrien	* import usr.src/bin/ftp and usr.src/lib/libedit sources from NetBSD
1795