xref: /freebsd/contrib/tnftp/ChangeLog (revision 935205e2307611615ed5a7fe0a32b225ffd8c19c)
1*cc361f65SGavin Atkinson$NetBSD: ChangeLog,v 1.58 2010/01/12 06:58:57 lukem Exp $
2*cc361f65SGavin Atkinson
3*cc361f65SGavin AtkinsonTue Jan 12 06:58:15 UTC 2010	lukem
4*cc361f65SGavin Atkinson
5*cc361f65SGavin Atkinson	* Release as "tnftp 20100108"
6*cc361f65SGavin Atkinson
7*cc361f65SGavin Atkinson	* Rename onoff() argument "bool" to "val".
8*cc361f65SGavin Atkinson
9*cc361f65SGavin AtkinsonTue Jan  5 09:12:01 UTC 2010	lukem
10*cc361f65SGavin Atkinson
11*cc361f65SGavin Atkinson	* If ARG_MAX isn't defined, use the result from sysconf(_SC_ARG_MAX).
12*cc361f65SGavin Atkinson	  Fixes build when using newer glibc.
13*cc361f65SGavin Atkinson
14*cc361f65SGavin Atkinson	* Add libnetbsd.la to the LIBADD for libedit.
15*cc361f65SGavin Atkinson	  Fix provided by Adam Sampson.
16*cc361f65SGavin Atkinson
17*cc361f65SGavin AtkinsonMon Jan  4 06:28:07 UTC 2010	lukem
18*cc361f65SGavin Atkinson
19*cc361f65SGavin Atkinson	* Distribute various files not shipped by default automake rules,
20*cc361f65SGavin Atkinson	  to use 'make dist' instead of 'cvs export'.
21*cc361f65SGavin Atkinson
22*cc361f65SGavin AtkinsonWed Dec 30 00:12:47 UTC 2009	lukem
23*cc361f65SGavin Atkinson
24*cc361f65SGavin Atkinson	* Release as "tnftp 20091122"
25*cc361f65SGavin Atkinson
26*cc361f65SGavin AtkinsonSun Nov 15 10:14:44 UTC 2009	lukem
27*cc361f65SGavin Atkinson
28*cc361f65SGavin Atkinson	* Merge NetBSD ftp from 20090520 to 20090915.  Change:
29*cc361f65SGavin Atkinson		- Rename internal getline() to get_line() to avoid
30*cc361f65SGavin Atkinson		  conflict with libc with former.
31*cc361f65SGavin Atkinson		- Avoid a NULL dereference in an error message.
32*cc361f65SGavin Atkinson
33*cc361f65SGavin AtkinsonSat Nov 14 09:21:19 UTC 2009	lukem
34*cc361f65SGavin Atkinson
35*cc361f65SGavin Atkinson	* Convert to automake & libtool.
36*cc361f65SGavin Atkinson
37*cc361f65SGavin AtkinsonSat Jun  6 07:17:38 UTC 2009	lukem
38*cc361f65SGavin Atkinson
39*cc361f65SGavin Atkinson	* Release as "tnftp 20090606"
40*cc361f65SGavin Atkinson
41*cc361f65SGavin AtkinsonFri May 22 01:11:15 UTC 2009	lukem
42*cc361f65SGavin Atkinson
43*cc361f65SGavin Atkinson	* configure fixes:
44*cc361f65SGavin Atkinson	  - Add the time.h headers to accheck_includes, for the strptime check.
45*cc361f65SGavin Atkinson	  - Remove the check for el_init in libedit; we're always replacing
46*cc361f65SGavin Atkinson	    the library and the presence of strvis() in some versions
47*cc361f65SGavin Atkinson	    confuses other checks.
48*cc361f65SGavin Atkinson
49*cc361f65SGavin AtkinsonWed May 20 13:47:43 UTC 2009	lukem
50*cc361f65SGavin Atkinson
51*cc361f65SGavin Atkinson	* Release as "tnftp 20090520"
52*cc361f65SGavin Atkinson
53*cc361f65SGavin Atkinson	* Merge NetBSD ftp from 20070722 to 20090520.  Changes:
54*cc361f65SGavin Atkinson	    - Only attempt to el_parse() a command unknown by the default
55*cc361f65SGavin Atkinson	      parser if editing is enabled.
56*cc361f65SGavin Atkinson	      Fixes PR 38589.
57*cc361f65SGavin Atkinson	    - Turn off the alarmtimer before resetting the SIGALRM handler
58*cc361f65SGavin Atkinson	      back to SIG_DFL.
59*cc361f65SGavin Atkinson	      Fixes PR 35630.
60*cc361f65SGavin Atkinson	    - Add epsv6 and epsv to disable extended passive mode for ipv6 or
61*cc361f65SGavin Atkinson	      both ipv4 and ipv6 respectively.  This hack is due to our
62*cc361f65SGavin Atkinson	      friends a Juniper Networks who break epsv in ipv6.
63*cc361f65SGavin Atkinson	      Should be fixed in ScreenOS 6.2.X.
64*cc361f65SGavin Atkinson	    - Improve parsing of chunked transfer chunks per RFC2616:
65*cc361f65SGavin Atkinson	      - more stringent chunk-size parsing
66*cc361f65SGavin Atkinson	      - ignore optional trailing ';chunk-ext' stuff, instead of barfing
67*cc361f65SGavin Atkinson	      - detect EOF before final \r\n.
68*cc361f65SGavin Atkinson	    - Use the service name to getaddrinfo() (along with the host
69*cc361f65SGavin Atkinson	      name), so that features such as DNS Service Discovery have a
70*cc361f65SGavin Atkinson	      better chance of working.
71*cc361f65SGavin Atkinson	      Display the service name in various status & error messages.
72*cc361f65SGavin Atkinson	    - Don't getservbyname() the :port component of a URL; RFC 3986
73*cc361f65SGavin Atkinson	      says it's just an unsigned number, not a service name.
74*cc361f65SGavin Atkinson	    - Fix numerous WARNS=4 issues (-Wcast-qual -Wsign-compare).
75*cc361f65SGavin Atkinson	    - Fix -Wshadow issues
76*cc361f65SGavin Atkinson	    - Update copyrights
77*cc361f65SGavin Atkinson	    - Remove clause 3 and 4 from TNF licenses
78*cc361f65SGavin Atkinson	    - Rename HAVE_STRUCT_SOCKADDR_SA_LEN to
79*cc361f65SGavin Atkinson	      HAVE_STRUCT_SOCKADDR_IN_SIN_LEN to accurately reflect the
80*cc361f65SGavin Atkinson	      structure member being used.
81*cc361f65SGavin Atkinson	    - Use AF_INET instead of AF_UNSPEC as the default family if
82*cc361f65SGavin Atkinson	      !defined(INET6).
83*cc361f65SGavin Atkinson
84*cc361f65SGavin Atkinson	* configure improvements:
85*cc361f65SGavin Atkinson	  - Style tweaks.
86*cc361f65SGavin Atkinson	  - Use AC_LANG_PROGRAM() instead of AC_LANG_SOURCE()
87*cc361f65SGavin Atkinson	  - Add a check for strptime() requiring separators between
88*cc361f65SGavin Atkinson	    conversions, and use our replacement one if it does.
89*cc361f65SGavin Atkinson
90*cc361f65SGavin AtkinsonSat Dec 20 15:28:24 UTC 2008	lukem
91*cc361f65SGavin Atkinson
92*cc361f65SGavin Atkinson	* configure improvements:
93*cc361f65SGavin Atkinson	  - Move IPv6 check from tnftp.h to configure.ac (as per tnftpd).
94*cc361f65SGavin Atkinson	  - Rework option descriptions.
95*cc361f65SGavin Atkinson	  - Highlight when tests are for a specific option.
96*cc361f65SGavin Atkinson	  - Move configuration results to the end of the file.
97*cc361f65SGavin Atkinson	  - Display $prefix in configure results.
98*cc361f65SGavin Atkinson
99*cc361f65SGavin AtkinsonFri Aug 15 03:03:36 UTC 2008	lukem
100*cc361f65SGavin Atkinson
101*cc361f65SGavin Atkinson	* Add a "Configuration results" display at the end of configure.
102*cc361f65SGavin Atkinson	  Cosmetic tweaks.
103*cc361f65SGavin Atkinson
104*cc361f65SGavin AtkinsonFri Feb 29 09:45:56 UTC 2008	lukem
105*cc361f65SGavin Atkinson
106*cc361f65SGavin Atkinson	* Support @EXEEXT@ for Cygwin (etc).
107*cc361f65SGavin Atkinson
108*cc361f65SGavin AtkinsonMon Aug  6 04:55:19 UTC 2007	lukem
109*cc361f65SGavin Atkinson
110*cc361f65SGavin Atkinson	* Release as "tnftp 20070806"
111*cc361f65SGavin Atkinson
112*cc361f65SGavin Atkinson	* Add a NEWS file.
113*cc361f65SGavin Atkinson
114*cc361f65SGavin Atkinson	* Reduce differences between NetBSD-ftp and local copy.
115*cc361f65SGavin Atkinson
116*cc361f65SGavin Atkinson	* Merge NetBSD ftp from 20070605 to 20070722.
117*cc361f65SGavin Atkinson	  Changes:
118*cc361f65SGavin Atkinson		- Document about:ftp and about:version.
119*cc361f65SGavin Atkinson
120*cc361f65SGavin Atkinson	* Add autoconf check for (Dante) SOCKS5.
121*cc361f65SGavin Atkinson	  (Needs run-time testing and more portability testing.)
122*cc361f65SGavin Atkinson
123*cc361f65SGavin AtkinsonMon Jul 23 11:44:42 UTC 2007	lukem
124*cc361f65SGavin Atkinson
125*cc361f65SGavin Atkinson	* Don't use non-standard: u_char u_short u_int.
126*cc361f65SGavin Atkinson	  Use uint32_t instead of u_int32_t.
127*cc361f65SGavin Atkinson
128*cc361f65SGavin Atkinson	* Consistently use AS_CASE() and AS_IF() in configure.ac.
129*cc361f65SGavin Atkinson
130*cc361f65SGavin Atkinson	* Don't use defined() with HAVE_DECL_xxx.
131*cc361f65SGavin Atkinson	  Use `LL' instead of `L' suffix for fallback
132*cc361f65SGavin Atkinson	  defines of LLONG_MIN and LLONG_MAX.
133*cc361f65SGavin Atkinson
134*cc361f65SGavin AtkinsonSun Jul 22 12:00:17 UTC 2007	lukem
135*cc361f65SGavin Atkinson
136*cc361f65SGavin Atkinson	* Include <arpa/nameser.h> if available, and provide fallback #defines.
137*cc361f65SGavin Atkinson
138*cc361f65SGavin Atkinson	* Sync with lib/libc/inet/inet_pton.c 1.3:
139*cc361f65SGavin Atkinson		* Sync to bind 9.3.x version
140*cc361f65SGavin Atkinson		* Update ISC copyright
141*cc361f65SGavin Atkinson		* Fix some lint
142*cc361f65SGavin Atkinson
143*cc361f65SGavin Atkinson	* Sync with lib/libc/inet/inet_ntop.c 1.3:
144*cc361f65SGavin Atkinson		* Sync to bind 9.3.x version
145*cc361f65SGavin Atkinson		* Update ISC copyright
146*cc361f65SGavin Atkinson		* Use socklen_t instead of size_t
147*cc361f65SGavin Atkinson		* Use snprintf() instead of SPRINTF()
148*cc361f65SGavin Atkinson		* Improve detection of various boundary conditions
149*cc361f65SGavin Atkinson
150*cc361f65SGavin Atkinson	* Sync to NetBSD glob.h 1.21, glob.c 1.16:
151*cc361f65SGavin Atkinson		* Standards compliance fix
152*cc361f65SGavin Atkinson		* De-lint
153*cc361f65SGavin Atkinson		* Don't overflow when DEBUG is defined.
154*cc361f65SGavin Atkinson
155*cc361f65SGavin Atkinson        * Sync fgetln.c to tools/compat/fgetln.c 1.7:
156*cc361f65SGavin Atkinson		* Clause 3 removal.
157*cc361f65SGavin Atkinson
158*cc361f65SGavin Atkinson	* Sync to config.guess 2007-07-22, config.sub 2007-06-28.
159*cc361f65SGavin Atkinson
160*cc361f65SGavin Atkinson	* Consistency tweaks in configure help strings.
161*cc361f65SGavin Atkinson
162*cc361f65SGavin Atkinson	* Add check for struct sockaddr.sa_len.
163*cc361f65SGavin Atkinson	  Change tests for HAVE_foo to defined(HAVE_foo).
164*cc361f65SGavin Atkinson	  Replace HAVE_SOCKADDR_SA_LEN with HAVE_STRUCT_SOCKADDR_SA_LEN.
165*cc361f65SGavin Atkinson
166*cc361f65SGavin Atkinson	* Remove pretence of supporting SOCKS for now;
167*cc361f65SGavin Atkinson	  no test system is available, and the old
168*cc361f65SGavin Atkinson	  autoconf 2.13 support wasn't upgraded to 2.61.
169*cc361f65SGavin Atkinson
170*cc361f65SGavin Atkinson	* configure.ac style consistency tweaks.
171*cc361f65SGavin Atkinson	  Move autoconf aux files from ./ to build-aux/
172*cc361f65SGavin Atkinson
173*cc361f65SGavin Atkinson	* Remove duplicate HAVE_STRERROR replacement in tnftp.h.
174*cc361f65SGavin Atkinson
175*cc361f65SGavin AtkinsonThu Jun  7 04:47:47 UTC 2007	lukem
176*cc361f65SGavin Atkinson
177*cc361f65SGavin Atkinson	* Merge NetBSD ftp from 20070510 to 20070605.  Changes:
178*cc361f65SGavin Atkinson		- Enforce restriction that (http) proxied URL fetchs don't
179*cc361f65SGavin Atkinson		  support being restarted at this time.
180*cc361f65SGavin Atkinson		  Addresses NetBSD Problem Report 28697.
181*cc361f65SGavin Atkinson		- Display times in RFC2822 form rather than using ctime(3),
182*cc361f65SGavin Atkinson		  since the former is more explicit about the timezone offset.
183*cc361f65SGavin Atkinson		- main: call tzset() to ensure TZ is setup for other <time.h>
184*cc361f65SGavin Atkinson		  functions.
185*cc361f65SGavin Atkinson		- remotemodtime(): use strptime() to parse the reply.
186*cc361f65SGavin Atkinson		- fetch_url(): ensure struct tm is zeroed before calling
187*cc361f65SGavin Atkinson		  strptime().
188*cc361f65SGavin Atkinson		- Modify parse_url() to consistently strip the leading `/'
189*cc361f65SGavin Atkinson		  off ftp URLs.
190*cc361f65SGavin Atkinson		  Fixes NetBSD Problem Report 17617.
191*cc361f65SGavin Atkinson		- Use 'RFCnnnn' (with leading 0) instead of 'RFC nnnn', to be
192*cc361f65SGavin Atkinson		  consistent with the style in the RFC index.
193*cc361f65SGavin Atkinson		- Refer to RFC3916 instead of 1738 or 2732.
194*cc361f65SGavin Atkinson		- Expand the list of supported RFCs in ftp(1) to contain the
195*cc361f65SGavin Atkinson		  document name as well.
196*cc361f65SGavin Atkinson
197*cc361f65SGavin AtkinsonFri May 11 04:39:55 UTC 2007	lukem
198*cc361f65SGavin Atkinson
199*cc361f65SGavin Atkinson	* Update INSTALL and COPYING.
200*cc361f65SGavin Atkinson
201*cc361f65SGavin Atkinson	* Rename HAVE_QUAD_SUPPORT to HAVE_PRINTF_LONG_LONG, and only
202*cc361f65SGavin Atkinson	  require support for 'long long' in that check rather than
203*cc361f65SGavin Atkinson	  needing sizeof(off_t)>=8, as some systems have a separate
204*cc361f65SGavin Atkinson	  off64_t when Large File Support is enabled.
205*cc361f65SGavin Atkinson
206*cc361f65SGavin Atkinson	* config.guess: treat 'i86xen:SunOS:5.*' as 'i86pc:SunOS:5.*'
207*cc361f65SGavin Atkinson
208*cc361f65SGavin AtkinsonThu May 10 15:23:33 UTC 2007	lukem
209*cc361f65SGavin Atkinson
210*cc361f65SGavin Atkinson	* Remove checks for util.h and libutil.h, and replacement for
211*cc361f65SGavin Atkinson	  fparseln(), since fparseln() isn't used any more.
212*cc361f65SGavin Atkinson
213*cc361f65SGavin Atkinson	* Merge NetBSD ftp from 20070418 to 20070510.  Changes:
214*cc361f65SGavin Atkinson		- Switch from fparseln() to the internal getline() when
215*cc361f65SGavin Atkinson		  parsing HTTP headers.  Makes ftp a bit more portable
216*cc361f65SGavin Atkinson		  (not needing fparseln()) at the expense of not supporting
217*cc361f65SGavin Atkinson		  arbitrary long header lines, which I'm not concerned about
218*cc361f65SGavin Atkinson		  because we don't support header line continuation either...
219*cc361f65SGavin Atkinson		- Replace references from draft-ietf-ftpext-mlst-NN to RFC 3659.
220*cc361f65SGavin Atkinson		- Fix misplaced const.
221*cc361f65SGavin Atkinson		- Implement copy_bytes() to copy bytes from one fd to another
222*cc361f65SGavin Atkinson		  via the provided buffer, with optional rate-limiting and
223*cc361f65SGavin Atkinson		  hash-mark printing, using one loop and handle short writes.
224*cc361f65SGavin Atkinson		  Refactor sendrequest() and recvrequest() to use copy_data().
225*cc361f65SGavin Atkinson		  Addresses NetBSD Problem Report 15943.
226*cc361f65SGavin Atkinson
227*cc361f65SGavin AtkinsonWed May  9 05:24:55 UTC 2007	lukem
228*cc361f65SGavin Atkinson
229*cc361f65SGavin Atkinson	* Fix typo in poll()-based implementation of usleep() replacement.
230*cc361f65SGavin Atkinson
231*cc361f65SGavin AtkinsonWed May  9 04:58:50 UTC 2007	lukem
232*cc361f65SGavin Atkinson
233*cc361f65SGavin Atkinson	* Rename configure.in to configure.ac, as the latter is the
234*cc361f65SGavin Atkinson	  preferred name in autoconf 2.61.
235*cc361f65SGavin Atkinson
236*cc361f65SGavin Atkinson	* Convert from autoconf 2.13 to 2.61:
237*cc361f65SGavin Atkinson	  * Use a consistent quoting mechanism.
238*cc361f65SGavin Atkinson	  * Use modern autoconf macros, #define names, etc.
239*cc361f65SGavin Atkinson	  * Search for more header files, and only #include if found.
240*cc361f65SGavin Atkinson	  * Remove old-style config.h.in generation.
241*cc361f65SGavin Atkinson	  This may fix various tests on platforms such as FreeBSD and OS X.
242*cc361f65SGavin Atkinson
243*cc361f65SGavin Atkinson	* Add -Wl,-search_paths_first to LDFLAGS on OS X (Darwin) if the
244*cc361f65SGavin Atkinson	  linker supports it.  This is needed so we use our libedit
245*cc361f65SGavin Atkinson	  rather than the system one.
246*cc361f65SGavin Atkinson
247*cc361f65SGavin Atkinson	XXX: SOCKS support is currently disabled until I update the
248*cc361f65SGavin Atkinson	     autoconf support.
249*cc361f65SGavin Atkinson
250*cc361f65SGavin AtkinsonMon Apr 23 06:04:26 UTC 2007	lukem
251*cc361f65SGavin Atkinson
252*cc361f65SGavin Atkinson	* Merge NetBSD ftp from 20050610 to 20070418.  Changes:
253*cc361f65SGavin Atkinson		- Add '-s srcaddr'.
254*cc361f65SGavin Atkinson		- Use IEC 60027-2 2^N based "KiB", "MiB" (etc) instead of
255*cc361f65SGavin Atkinson		  10^n "KB", "MB", ...
256*cc361f65SGavin Atkinson		- Recognize 307 redirect code.
257*cc361f65SGavin Atkinson		- Suppress printing non-COMPLETE reply strings when EPSV/EPRT
258*cc361f65SGavin Atkinson		  fails and we fall-back to PASV/PORT.  Should fix a problem
259*cc361f65SGavin Atkinson		  with the emacs ftp wrapper.
260*cc361f65SGavin Atkinson		- Fix display of 'Continue with <cmd>' messages.
261*cc361f65SGavin Atkinson		- Prevent segfaults in .netrc parsing.
262*cc361f65SGavin Atkinson		- Flush stdout before each command; ftp as slave process on
263*cc361f65SGavin Atkinson		  a pipe should work.
264*cc361f65SGavin Atkinson		- getpass() can return NULL in some implementations; cope.
265*cc361f65SGavin Atkinson		- Support '-q quittime' when waiting for server replies.
266*cc361f65SGavin Atkinson		- Various spelling & grammatical fixes in the manual.
267*cc361f65SGavin Atkinson		- Plug some memory leaks.
268*cc361f65SGavin Atkinson		- If a file upload (via -u) fails, return an non-zero exit
269*cc361f65SGavin Atkinson		  value based on the index of the file that caused the
270*cc361f65SGavin Atkinson		  problem (a la auto-fetch retrieval).
271*cc361f65SGavin Atkinson		- Coverity fixes for CIDs: 873 874 875 1447 1448 2194 2195 3610
272*cc361f65SGavin Atkinson		- Don't remove trailing character during auth_url()
273*cc361f65SGavin Atkinson		- Fix progressbar display on narrow terminals (<43 columns)
274*cc361f65SGavin Atkinson
275*cc361f65SGavin AtkinsonFri Mar 16 06:00:14 UTC 2007	lukem
276*cc361f65SGavin Atkinson
277*cc361f65SGavin Atkinson	* Change the return value of the replacement gai_strerror()
278*cc361f65SGavin Atkinson	  from "char *" to "const char *", to match the current
279*cc361f65SGavin Atkinson	  standards.
280*cc361f65SGavin Atkinson	  Problem noted by Thomas Klausner.
281*cc361f65SGavin Atkinson
282*cc361f65SGavin AtkinsonThu Oct 26 07:24:22 UTC 2006	lukem
283*cc361f65SGavin Atkinson
284*cc361f65SGavin Atkinson	* Correctly parse "AM" and "PM" in the replacement strptime().
285*cc361f65SGavin Atkinson	  Problem noted by Kathryn Hogg.
286*cc361f65SGavin Atkinson
287*cc361f65SGavin AtkinsonSat Jun 25 06:27:00 UTC 2005	lukem
288*cc361f65SGavin Atkinson
289*cc361f65SGavin Atkinson	* Release as "tnftp 20050625"
290*cc361f65SGavin Atkinson
291*cc361f65SGavin Atkinson	* Simplify the detection & replacement of dirname() and fparseln()
292*cc361f65SGavin Atkinson	  and just use AC_REPLACE_FUNCS.
293*cc361f65SGavin Atkinson	  (We don't care if the vendor has a working version in -lgen or -lutil
294*cc361f65SGavin Atkinson	  instead of -lc; they'll get our replacement version in that case).
295*cc361f65SGavin Atkinson	  Fixes build issue on older Darwin where the previous autoconf check
296*cc361f65SGavin Atkinson	  wouldn't find dirname() in the default system libraries.
297*cc361f65SGavin Atkinson
298*cc361f65SGavin Atkinson	* Only provide a prototype for dirname() if we can't find one in
299*cc361f65SGavin Atkinson	  <libgen.h>
300*cc361f65SGavin Atkinson
301*cc361f65SGavin Atkinson	* Search for NS_IN6ADDRSZ instead of IN6ADDRSZ, since we use the
302*cc361f65SGavin Atkinson	  former and not the latter and older Darwin has the former.
303*cc361f65SGavin Atkinson	  (This allows INET6 support to be enabled on Darwin 7.9.0)
304*cc361f65SGavin Atkinson
305*cc361f65SGavin AtkinsonMon Jun 13 09:22:13 UTC 2005	lukem
306*cc361f65SGavin Atkinson
307*cc361f65SGavin Atkinson	* Tweak SOCKS5 support:
308*cc361f65SGavin Atkinson	    acconfig.h:
309*cc361f65SGavin Atkinson		- fix a comment
310*cc361f65SGavin Atkinson		- ensure close() is replaced
311*cc361f65SGavin Atkinson		- list entries in the same order as aclocal.m4
312*cc361f65SGavin Atkinson		  (and the SOCKS5 FAQ)
313*cc361f65SGavin Atkinson	    aclocal.m4:
314*cc361f65SGavin Atkinson		- ensure getpeername() is replaced
315*cc361f65SGavin Atkinson		- don't replace listen() twice
316*cc361f65SGavin Atkinson
317*cc361f65SGavin AtkinsonFri Jun 10 04:39:33 UTC 2005	lukem
318*cc361f65SGavin Atkinson
319*cc361f65SGavin Atkinson	* Release as "tnftp 20050610"
320*cc361f65SGavin Atkinson
321*cc361f65SGavin Atkinson	* Add dependencies on ${srcdir}/../tnftp.h and ../config.h
322*cc361f65SGavin Atkinson
323*cc361f65SGavin Atkinson	* Merge NetBSD ftp from 20050609 to 20050610.  Changes:
324*cc361f65SGavin Atkinson		- Implement getline() to read a line into a buffer.
325*cc361f65SGavin Atkinson		- Convert to use getline() instead of fgets() whenever reading
326*cc361f65SGavin Atkinson		  user input to ensure that an overly long input line doesn't
327*cc361f65SGavin Atkinson		  leave excess characters for the next input operation to
328*cc361f65SGavin Atkinson		  accidentally use as input.
329*cc361f65SGavin Atkinson		- Zero out the password & account after we've finished with it.
330*cc361f65SGavin Atkinson		- Consistently use getpass(3) (i.e, character echo suppressed)
331*cc361f65SGavin Atkinson		  when reading the account data.  For some reason, historically
332*cc361f65SGavin Atkinson		  the "login" code suppressed echo for Account: yet the "user"
333*cc361f65SGavin Atkinson		  command did not!
334*cc361f65SGavin Atkinson		- Display the hostname in the "getaddrinfo failed" warning.
335*cc361f65SGavin Atkinson		- Appease some -Wcast-qual warnings.  Fixing all of these
336*cc361f65SGavin Atkinson		  requires significant code refactoring.  (mmm, legacy code).
337*cc361f65SGavin Atkinson
338*cc361f65SGavin AtkinsonThu Jun  9 16:49:05 UTC 2005	lukem
339*cc361f65SGavin Atkinson
340*cc361f65SGavin Atkinson	* src, libnetbsd: Excise RCSID block, rather than using
341*cc361f65SGavin Atkinson	  #if 0 ...  #endif.  The point was to minimise RCSID
342*cc361f65SGavin Atkinson	  conflicts, and the latter isn't helping there.
343*cc361f65SGavin Atkinson
344*cc361f65SGavin Atkinson	* Merge NetBSD ftp from 20050531 to 20050609.  Changes:
345*cc361f65SGavin Atkinson		- Only print the "Trying <address>..." message if verbose
346*cc361f65SGavin Atkinson		  and there's more than one struct addrinfo in the
347*cc361f65SGavin Atkinson		  getaddrinfo() result.
348*cc361f65SGavin Atkinson		- Don't use non-standard "u_int".
349*cc361f65SGavin Atkinson
350*cc361f65SGavin AtkinsonWed Jun  1 15:08:01 UTC 2005	lukem
351*cc361f65SGavin Atkinson
352*cc361f65SGavin Atkinson	* Look for dirname(3), which may be in -lgen on IRIX, and
353*cc361f65SGavin Atkinson	  replace it if not found..
354*cc361f65SGavin Atkinson
355*cc361f65SGavin AtkinsonWed Jun  1 11:48:58 UTC 2005	lukem
356*cc361f65SGavin Atkinson
357*cc361f65SGavin Atkinson	* libnetbsd:
358*cc361f65SGavin Atkinson		- Don't use non-standard: u_char u_short u_int.
359*cc361f65SGavin Atkinson		- Use uint32_t instead of u_int32_t.
360*cc361f65SGavin Atkinson		- Don't use register.
361*cc361f65SGavin Atkinson
362*cc361f65SGavin Atkinson	* libedit: Don't use non-standard uint or u_int.
363*cc361f65SGavin Atkinson
364*cc361f65SGavin AtkinsonTue May 31 02:23:08 UTC 2005	lukem
365*cc361f65SGavin Atkinson
366*cc361f65SGavin Atkinson	* tnftp.h: need <libgen.h> for dirname(3)
367*cc361f65SGavin Atkinson
368*cc361f65SGavin Atkinson	* Merge ftp from 20050513 to 20050531.  Changes:
369*cc361f65SGavin Atkinson		- Helps if the definition of xconnect() matches its
370*cc361f65SGavin Atkinson		  declaration....
371*cc361f65SGavin Atkinson		- Fix some cast issues highlighted by Scott Reynolds using
372*cc361f65SGavin Atkinson		  gcc 4 on OSX.4
373*cc361f65SGavin Atkinson		- Use size_t instead of int where appropriate.
374*cc361f65SGavin Atkinson		- Make this compile on sparc64 (size_t != int).
375*cc361f65SGavin Atkinson		- Printf field widths and size_t don't always mix well, so
376*cc361f65SGavin Atkinson		  cast to int.  Fixes build problem for alpha.
377*cc361f65SGavin Atkinson		- Some const cleanups.
378*cc361f65SGavin Atkinson		- tab cleanup
379*cc361f65SGavin Atkinson		- Improve method used in fileindir() to determine if `file'
380*cc361f65SGavin Atkinson		  is in or under `dir': realpath(3) on non-NetBSD systems may
381*cc361f65SGavin Atkinson		  fail if the target filename doesn't exist, so instead use
382*cc361f65SGavin Atkinson		  realpath(3) on the parent directory of `file'.
383*cc361f65SGavin Atkinson		  Per discussion with Todd Eigenschink.
384*cc361f65SGavin Atkinson		- formatbuf(): fix %m and %M to use the hostname, not the
385*cc361f65SGavin Atkinson		  username.
386*cc361f65SGavin Atkinson		- fetch_ftp(): preserve 'anonftp' across a disconnect() so
387*cc361f65SGavin Atkinson		  that multiple ftp auto-fetches on the same command line
388*cc361f65SGavin Atkinson		  login automatically.
389*cc361f65SGavin Atkinson		- auto_fetch(): use an initialized volatile int to appease
390*cc361f65SGavin Atkinson		  IRIX cc.
391*cc361f65SGavin Atkinson
392*cc361f65SGavin Atkinson	* Merge libedit from NetBSD 20050105 to 20050531.  Changes include:
393*cc361f65SGavin Atkinson		- Rui Paulo: Incorrect tok_line and tok_str declarations.
394*cc361f65SGavin Atkinson		- Remove clause 3 from the UCB license.
395*cc361f65SGavin Atkinson		- Luke Mewburn: Don't abuse unconstify'ing a string
396*cc361f65SGavin Atkinson		  and writing to it, because you'll core dump. Also remove
397*cc361f65SGavin Atkinson		  extra const that gives pain to the irix compiler.
398*cc361f65SGavin Atkinson		- Make sure we flush after we prepare when we are unbuffered
399*cc361f65SGavin Atkinson		  otherwise the prompt will not appear immediately.
400*cc361f65SGavin Atkinson		- Terminate the arglist with a NULL instead of 0.
401*cc361f65SGavin Atkinson		  (Shuts up gcc4.x)
402*cc361f65SGavin Atkinson
403*cc361f65SGavin AtkinsonSat May 28 13:19:38 UTC 2005	lukem
404*cc361f65SGavin Atkinson
405*cc361f65SGavin Atkinson	* libnetbsd/strvis.c:
406*cc361f65SGavin Atkinson		- Sync to NetBSD's vis.c 1.33:
407*cc361f65SGavin Atkinson		  Use malloc(3) instead of alloca(3).
408*cc361f65SGavin Atkinson		- Remove extraenous #endif
409*cc361f65SGavin Atkinson
410*cc361f65SGavin AtkinsonFri May 27 05:46:58 UTC 2005	lukem
411*cc361f65SGavin Atkinson
412*cc361f65SGavin Atkinson	* libnetbsd/strvis.c: Sync to NetBSD's vis.c 1.30:
413*cc361f65SGavin Atkinson	  Use a more standard TNF license.
414*cc361f65SGavin Atkinson
415*cc361f65SGavin Atkinson	* libedit/sig.c: Include "src/progressbar.h" for xsignal_restart()
416*cc361f65SGavin Atkinson	  prototype.
417*cc361f65SGavin Atkinson
418*cc361f65SGavin Atkinson	* Ensure that fallback #define of __attribute__ is available.
419*cc361f65SGavin Atkinson	  Fixes build problem on HP-UX with cc.
420*cc361f65SGavin Atkinson
421*cc361f65SGavin AtkinsonThu May 26 14:21:08 UTC 2005	lukem
422*cc361f65SGavin Atkinson
423*cc361f65SGavin Atkinson	* Extend xpoll()'s HAVE_SELECT implementation to support POLLRDNORM,
424*cc361f65SGavin Atkinson	  POLLWRNORM, and POLLRDBAND - the latter using exceptfds.
425*cc361f65SGavin Atkinson	  Per discussion with Christos Zoulas.
426*cc361f65SGavin Atkinson
427*cc361f65SGavin AtkinsonMon May 16 13:33:27 UTC 2005	lukem
428*cc361f65SGavin Atkinson
429*cc361f65SGavin Atkinson	* Pull in <poll.h> or <sys/poll.h> if they exist even if we're
430*cc361f65SGavin Atkinson	  not using poll, as struct pollfd might exist in those.
431*cc361f65SGavin Atkinson	  Fixes build problem on OSX.3.
432*cc361f65SGavin Atkinson
433*cc361f65SGavin Atkinson	* Separate CPPFLAGS from CFLAGS.
434*cc361f65SGavin Atkinson
435*cc361f65SGavin Atkinson	* Sync various files in libnetbsd with the original versions
436*cc361f65SGavin Atkinson	  in NetBSD.  Notable changes
437*cc361f65SGavin Atkinson		- Convert 4 clause UCB license to 3 clause.
438*cc361f65SGavin Atkinson		- Use strlcpy instead of strcpy.
439*cc361f65SGavin Atkinson		- Update ISC copyright.
440*cc361f65SGavin Atkinson		- Use NS_INADDRSZ, NS_IN6ADDRSZ and NS_INT16SZ instead of
441*cc361f65SGavin Atkinson		  equivalents without NS_ prefix.
442*cc361f65SGavin Atkinson		- Use socklen_t instead of size_t where appropriate.
443*cc361f65SGavin Atkinson		- Improve bounds checking.
444*cc361f65SGavin Atkinson		- Don't update the size of allocated storage until
445*cc361f65SGavin Atkinson		  realloc succeeds.
446*cc361f65SGavin Atkinson		- Fix comment about return value.
447*cc361f65SGavin Atkinson		- Reverse the order of two loop invariant to make
448*cc361f65SGavin Atkinson		  'strlcat(0, "foo", 0)' not get a SEGV.
449*cc361f65SGavin Atkinson		- Use Todd C. Miller's latest copyright notice (more loose).
450*cc361f65SGavin Atkinson		- Use "long long" instead of "quad" in various
451*cc361f65SGavin Atkinson		  comments & constants.
452*cc361f65SGavin Atkinson		- Support VIS_HTTPSTYLE.
453*cc361f65SGavin Atkinson		- Implement svis(), strsvis(), strsvisx(), strunvisx().
454*cc361f65SGavin Atkinson
455*cc361f65SGavin Atkinson	* Prefer poll over select when implementing replacement usleep().
456*cc361f65SGavin Atkinson
457*cc361f65SGavin AtkinsonSat May 14 04:44:35 UTC 2005	lukem
458*cc361f65SGavin Atkinson
459*cc361f65SGavin Atkinson	* Release "tnftp 20050514"
460*cc361f65SGavin Atkinson
461*cc361f65SGavin Atkinson	* Fail if we can't find a library with tgetent (needed for libedit).
462*cc361f65SGavin Atkinson	  NetBSD PR pkg/28925.
463*cc361f65SGavin Atkinson	* Improve quoting when using various autoconf macros.
464*cc361f65SGavin Atkinson
465*cc361f65SGavin Atkinson	* Merge NetBSD-ftp 20050513:
466*cc361f65SGavin Atkinson		- Correct the "optlen" argument passed to getsockopt(3) and
467*cc361f65SGavin Atkinson		  setsockopt(3) in various places.  Fixes a problem noted by
468*cc361f65SGavin Atkinson		  Allen Briggs.
469*cc361f65SGavin Atkinson		- Improve warning printed when connect(2) for the data
470*cc361f65SGavin Atkinson		  channel fails.
471*cc361f65SGavin Atkinson
472*cc361f65SGavin AtkinsonWed May 11 04:19:43 UTC 2005	lukem
473*cc361f65SGavin Atkinson
474*cc361f65SGavin Atkinson	* Release "tnftp 20050511"
475*cc361f65SGavin Atkinson
476*cc361f65SGavin AtkinsonWed May 11 04:10:01 UTC 2005	lukem
477*cc361f65SGavin Atkinson
478*cc361f65SGavin Atkinson	* Update the THANKS file.
479*cc361f65SGavin Atkinson
480*cc361f65SGavin Atkinson	* Only use poll() to implement xpoll() if it's available,
481*cc361f65SGavin Atkinson	  otherwise attempt to use select() if that's available,
482*cc361f65SGavin Atkinson	  otherwise #error.
483*cc361f65SGavin Atkinson
484*cc361f65SGavin Atkinson	* Detect if struct pollfd is available in <poll.h> or <sys/poll.h>.
485*cc361f65SGavin Atkinson	  Improve consistency in use of autoconf macros.
486*cc361f65SGavin Atkinson
487*cc361f65SGavin AtkinsonWed May 11 02:42:08 UTC 2005	lukem
488*cc361f65SGavin Atkinson
489*cc361f65SGavin Atkinson	* Merge NetBSD-ftp 20050511:
490*cc361f65SGavin Atkinson		- Use socklen_t instead of int as the 5th argument to
491*cc361f65SGavin Atkinson		  getsockopt().  Improve invocation of setsockopt() and
492*cc361f65SGavin Atkinson		  associated failure messages.
493*cc361f65SGavin Atkinson
494*cc361f65SGavin AtkinsonWed May 11 01:46:29 UTC 2005	lukem
495*cc361f65SGavin Atkinson
496*cc361f65SGavin Atkinson	* Clean up RCSID usage in vendor-derived code, restoring original
497*cc361f65SGavin Atkinson	  IDs where possible.
498*cc361f65SGavin Atkinson
499*cc361f65SGavin AtkinsonWed May 11 00:08:16 UTC 2005	lukem
500*cc361f65SGavin Atkinson
501*cc361f65SGavin Atkinson	* Merge NetBSD-ftp 20050510:
502*cc361f65SGavin Atkinson		- Prevent an overly-long input line causing a core dump when
503*cc361f65SGavin Atkinson		  editing is enabled.
504*cc361f65SGavin Atkinson		  Issue noted by Ryoji Kanai in FreeBSD Problem Report # 77158.
505*cc361f65SGavin Atkinson		- Implement a timeout on the accept(2) in dataconn() and the
506*cc361f65SGavin Atkinson		  connect(2) in xconnect() by temporarily setting O_NONBLOCK
507*cc361f65SGavin Atkinson		  on the socket and using xpoll() to wait for the operation
508*cc361f65SGavin Atkinson		  to succeed.  The timeout used is the '-q quittime' argument
509*cc361f65SGavin Atkinson		  (defaults to 60s for accept(2), and the system default for
510*cc361f65SGavin Atkinson		  connect(2)).  Idea inspired by discussion with Chuck Cranor.
511*cc361f65SGavin Atkinson		  This may (indirectly) fix various problems with timeouts in
512*cc361f65SGavin Atkinson		  active mode through broken firewalls.
513*cc361f65SGavin Atkinson		- Implement xpoll() as a wrapper around poll(2), to make it
514*cc361f65SGavin Atkinson		  easier to replace on systems without a functional poll(2).
515*cc361f65SGavin Atkinson		  Unconditionally use xpoll() instead of conditionally using
516*cc361f65SGavin Atkinson		  select(2) or poll(2).
517*cc361f65SGavin Atkinson		- In fetch_url(), don't call freeaddrinfo(res0) too early, as
518*cc361f65SGavin Atkinson		  we use pointers to its contents later in the function.
519*cc361f65SGavin Atkinson		  Problem found by Onno van der Linden.
520*cc361f65SGavin Atkinson		- Fix ftp url reget when globs are being used.
521*cc361f65SGavin Atkinson		  Provided by Mathieu Arnold <mat@FreeBSD.org>.
522*cc361f65SGavin Atkinson		- Factor out common string processing code eliminating static
523*cc361f65SGavin Atkinson		  buffers, making functions that should be static be static,
524*cc361f65SGavin Atkinson		  and cleaning up const usage. Added a guard against buffer
525*cc361f65SGavin Atkinson		  overflow, but the domap function is a bit too complicated
526*cc361f65SGavin Atkinson		  to tackle right now.
527*cc361f65SGavin Atkinson		- Clean up whitespace.
528*cc361f65SGavin Atkinson		- Expand description of http_proxy by suggesting the use of
529*cc361f65SGavin Atkinson		  RFC 1738 '%xx' encoding for "unsafe URL" characters in
530*cc361f65SGavin Atkinson		  usernames and passwords.
531*cc361f65SGavin Atkinson
532*cc361f65SGavin AtkinsonWed Jan  5 05:53:59 UTC 2005	lukem
533*cc361f65SGavin Atkinson
534*cc361f65SGavin Atkinson	* For now, assume libedit is not up-to-date and use our own version.
535*cc361f65SGavin Atkinson
536*cc361f65SGavin Atkinson	* Merge libedit from NetBSD 20020605 to 20050105.  Changes include:
537*cc361f65SGavin Atkinson		- Improve vi-mode.
538*cc361f65SGavin Atkinson		- Delete-previous-char and delete-next-char without an
539*cc361f65SGavin Atkinson		  argument are not supposed to modify the yank buffer in
540*cc361f65SGavin Atkinson		  emacs-mode.
541*cc361f65SGavin Atkinson		- Improve incremental searching.
542*cc361f65SGavin Atkinson		- Improve memory allocation & usage.
543*cc361f65SGavin Atkinson		- Move UCB-licensed code from 4-clause to 3-clause.
544*cc361f65SGavin Atkinson		- Make the tokenization functions publically available.
545*cc361f65SGavin Atkinson		- Various tty access bug-fixes.
546*cc361f65SGavin Atkinson		- Improve readline emulation.
547*cc361f65SGavin Atkinson
548*cc361f65SGavin AtkinsonTue Jan  4 13:33:40 UTC 2005	lukem
549*cc361f65SGavin Atkinson
550*cc361f65SGavin Atkinson	* Unixware 7.1.1 implements RFC 2133 (Basic Socket Interface
551*cc361f65SGavin Atkinson	  Extensions for IPv6) but not the successor RFC 2553. The configure
552*cc361f65SGavin Atkinson	  script detects this and decides that tnftp needs to compile its own
553*cc361f65SGavin Atkinson	  version of getaddrinfo().  This produces the error message
554*cc361f65SGavin Atkinson	    /usr/include/netdb.h:248: `getaddrinfo' previously defined here
555*cc361f65SGavin Atkinson	  because Unixware provides an implementation of getaddrinfo() in
556*cc361f65SGavin Atkinson	  netdb.h instead of a prototype declaration :-/. Since netdb.h
557*cc361f65SGavin Atkinson	  cannot be omitted, we will always get this definition and tnftp's
558*cc361f65SGavin Atkinson	  version of getaddrinfo will always create a conflict.  This ugly
559*cc361f65SGavin Atkinson	  preprocessor hack works around the problem. Hints for a better
560*cc361f65SGavin Atkinson	  solution welcome.  Fix from pkgsrc/net/tnftp.
561*cc361f65SGavin Atkinson
562*cc361f65SGavin Atkinson	* Workaround poll() being a compatibility function on Darwin 7
563*cc361f65SGavin Atkinson	  (MacOSX 10.3) by adding a custom test for _POLL_EMUL_H_ which
564*cc361f65SGavin Atkinson	  is defined in poll.h on some MacOSX 10.3 systems.  Not all 10.3
565*cc361f65SGavin Atkinson	  systems have poll.h, so only do the poll() test if at least one
566*cc361f65SGavin Atkinson	  of the header files is found.  Fix from pkgsrc/net/tnftp.
567*cc361f65SGavin Atkinson
568*cc361f65SGavin Atkinson	* Add a utimes() replacement (using utime()) for Interix.
569*cc361f65SGavin Atkinson	  From pkgsrc/net/tnftp.
570*cc361f65SGavin Atkinson
571*cc361f65SGavin AtkinsonMon Jan  3 10:21:57 UTC 2005	lukem
572*cc361f65SGavin Atkinson
573*cc361f65SGavin Atkinson	* Release "tnftp 20050103"
574*cc361f65SGavin Atkinson
575*cc361f65SGavin Atkinson	* Merge NetBSD-ftp 20050103:
576*cc361f65SGavin Atkinson		- Forbid filenames returned from mget that aren't in (or below)
577*cc361f65SGavin Atkinson		  the current directory.  The previous behaviour (of trusting
578*cc361f65SGavin Atkinson		  the remote server's response when retrieving the list of
579*cc361f65SGavin Atkinson		  files to mget with prompting disabled) has been in ftp
580*cc361f65SGavin Atkinson		  ~forever, and has been a "known issue" for a long time.
581*cc361f65SGavin Atkinson		  Recently an advisory was published by D.J. Bernstein on
582*cc361f65SGavin Atkinson		  behalf of Yosef Klein warning of the problems with the
583*cc361f65SGavin Atkinson		  previous behaviour, so to alleviate concern I've fixed
584*cc361f65SGavin Atkinson		  this with a sledgehammer.
585*cc361f65SGavin Atkinson		- Remember the local cwd after any operation which may
586*cc361f65SGavin Atkinson		  change it.
587*cc361f65SGavin Atkinson		- Use "remotecwd" instead of "remotepwd".
588*cc361f65SGavin Atkinson		- Add (unsigned char) cast to ctype functions
589*cc361f65SGavin Atkinson		- Ensure that "mname" is set in ls() and mls() so that an
590*cc361f65SGavin Atkinson		  aborted confirm() prints the correct name.
591*cc361f65SGavin Atkinson		  Problem highlighted & suggested fix from PR [bin/17766]
592*cc361f65SGavin Atkinson		  by Steve McClellan.
593*cc361f65SGavin Atkinson		- If an ftp auto-fetch transfer is interrupted by SIGINT
594*cc361f65SGavin Atkinson		  (usually ^C), exit with 130 instead of 1 (or rarely, 0).
595*cc361f65SGavin Atkinson		  This allows an ftp auto-fetch in a shell loop to correctly
596*cc361f65SGavin Atkinson		  terminate the loop.
597*cc361f65SGavin Atkinson		  Should fix PR [pkg/26351], and possibly others.
598*cc361f65SGavin Atkinson		- Save approximately 8K by not including http authentication,
599*cc361f65SGavin Atkinson		  extended status messages and help strings when the
600*cc361f65SGavin Atkinson		  appropriate options are set.
601*cc361f65SGavin Atkinson		- Move UCB-licensed code from 4-clause to 3-clause licence.
602*cc361f65SGavin Atkinson		  Patches provided by Joel Baker in PR 22365, verified by
603*cc361f65SGavin Atkinson		  Alistair Crooks.
604*cc361f65SGavin Atkinson		- Always decode %xx in a url's user & pass components.
605*cc361f65SGavin Atkinson		- Only remember {WWW,Proxy}-Authenticate "Basic" challenges; no
606*cc361f65SGavin Atkinson		  point in tracking any others since ftp doesn't support them.
607*cc361f65SGavin Atkinson		- Improve the parsing of HTTP responses.
608*cc361f65SGavin Atkinson		- Don't base64 encode the trailing NUL in the HTTP basic auth
609*cc361f65SGavin Atkinson		  response.  Problem noted by Eric Haszlakiewicz.
610*cc361f65SGavin Atkinson		- Improve parsing of HTTP response headers to be more RFC2616
611*cc361f65SGavin Atkinson		  compliant, and skip LWS (linear white space; CR, LF, space,
612*cc361f65SGavin Atkinson		  tab) and the end of lines and between the field name and
613*cc361f65SGavin Atkinson		  the field value.  This still isn't 100% compliant, since we
614*cc361f65SGavin Atkinson		  don't support "multi line" responses at this time.
615*cc361f65SGavin Atkinson		  This should fix PR [bin/22611] from TAMURA Kent (although I
616*cc361f65SGavin Atkinson		  can't easily find a http server to reproduce the problem
617*cc361f65SGavin Atkinson		  against.)
618*cc361f65SGavin Atkinson		- Fix a minor memory leak when parsing HTTP response headers.
619*cc361f65SGavin Atkinson		- Don't unnecessarily display a 401/407 error when running
620*cc361f65SGavin Atkinson		  with -V.  Fix from PR [bin/18535] by Jeremy Reed.
621*cc361f65SGavin Atkinson		- Don't warn about "ignored setsockopt" failures unless
622*cc361f65SGavin Atkinson		  debugging is enabled.  Suggested by Todd Vierling.
623*cc361f65SGavin Atkinson		- Allow empty passwords in ftp://user:@host/file auto-fetch
624*cc361f65SGavin Atkinson		  URLs, per RFC 1738.  Requested by Simon Poole.
625*cc361f65SGavin Atkinson		- correct URL syntax in comment
626*cc361f65SGavin Atkinson		- Note potentially surprising file-saving behaviour in case
627*cc361f65SGavin Atkinson		  of HTTP redirects
628*cc361f65SGavin Atkinson		- -n is ignored for auto-fetch transfers
629*cc361f65SGavin Atkinson		- If connect(2) in xconnect() fails with EINTR, call select(2)
630*cc361f65SGavin Atkinson		  on the socket until it's writable or it fails with something
631*cc361f65SGavin Atkinson		  other than EINTR.  This matches the behaviour in SUSv3, and
632*cc361f65SGavin Atkinson		  prevents the problem when pressing ^T (SIGINFO, which is
633*cc361f65SGavin Atkinson		  marked as restartable) during connection setup would cause
634*cc361f65SGavin Atkinson		  ftp to fail with EADDRINUSE or EALREADY when the second
635*cc361f65SGavin Atkinson		  connect(2) was attempted on the same socket.  Problem found
636*cc361f65SGavin Atkinson		  and solution provided by Maxime Henrion <mux@freebsd.org>.
637*cc361f65SGavin Atkinson		- Add -q to usage. From Kouichirou Hiratsuka in PR 26199.
638*cc361f65SGavin Atkinson		- PR/25566: Anders Magnusson: ftp(1) do not like large TCP
639*cc361f65SGavin Atkinson		  windows.  Limit it to 8M.
640*cc361f65SGavin Atkinson
641*cc361f65SGavin AtkinsonMon Oct  6 01:23:03 UTC 2003	lukem
642*cc361f65SGavin Atkinson
643*cc361f65SGavin Atkinson	* configure.in improvements:
644*cc361f65SGavin Atkinson		- When testing for IN6ADDRSZ in <arpa/nameser.h>, pull in
645*cc361f65SGavin Atkinson		  <sys/types.h> first.  From Stoned Elipot <seb @ NetBSD>
646*cc361f65SGavin Atkinson		- Whitespace cleanup
647*cc361f65SGavin Atkinson
648*cc361f65SGavin AtkinsonMon Aug 25 11:45:45 UTC 2003	lukem
649*cc361f65SGavin Atkinson
650*cc361f65SGavin Atkinson	* Release "tnftp 20030825"
651*cc361f65SGavin Atkinson
652*cc361f65SGavin Atkinson	* Add autoconf test for <sys/syslimits.h>; Cygwin needs it for ARG_MAX.
653*cc361f65SGavin Atkinson	  Per discussion with Eugene Kotlyarov <ekot@protek36.esoo.ru>.
654*cc361f65SGavin Atkinson
655*cc361f65SGavin AtkinsonThu Jul 31 07:30:00 UTC 2003	lukem
656*cc361f65SGavin Atkinson
657*cc361f65SGavin Atkinson	* release "tnftp 20030731"
658*cc361f65SGavin Atkinson
659*cc361f65SGavin Atkinson	* merge ftp from NetBSD 20030731 to 20030731b:
660*cc361f65SGavin Atkinson		- Work around broken ftp servers (notably ProFTPd) that can't
661*cc361f65SGavin Atkinson		  even follow RFC 2389, and skip any amount of whitespace
662*cc361f65SGavin Atkinson		  before a FEATure response.  The RFC says 'single space' yet
663*cc361f65SGavin Atkinson		  ProFTPd puts two.  Noted by DervishD <raul@pleyades.net>.
664*cc361f65SGavin Atkinson		- Improve formatting of features[] debug dump.
665*cc361f65SGavin Atkinson		- Invalidate remote directory completion cache if any command
666*cc361f65SGavin Atkinson		  which may change the remote contents completes successfully,
667*cc361f65SGavin Atkinson		  including: del, mdel, ren, mkdir, rmdir, quote, and all
668*cc361f65SGavin Atkinson		  upload commands.  Patch from Yar Tikhiy <yar@freebsd.org>.
669*cc361f65SGavin Atkinson
670*cc361f65SGavin Atkinson	* merge ftp from NetBSD 20030228 to 20030731:
671*cc361f65SGavin Atkinson		- $FTPUSERAGENT overrides the HTTP User-Agent header.
672*cc361f65SGavin Atkinson		  Based on patch from Douwe Kiela <virtus@wanadoo.nl>.
673*cc361f65SGavin Atkinson		- Add about:tnftp
674*cc361f65SGavin Atkinson		- Fix URL in about:netbsd
675*cc361f65SGavin Atkinson		- netbsd.org->NetBSD.org
676*cc361f65SGavin Atkinson		- strlcpy fix in fetch.c
677*cc361f65SGavin Atkinson		- Uppercase "URL"
678*cc361f65SGavin Atkinson		- fix a bogus error message when given a HTTP URL with a
679*cc361f65SGavin Atkinson		  trailing slash
680*cc361f65SGavin Atkinson		- groff fixes in man page
681*cc361f65SGavin Atkinson		- tweak progressbar.c copyright; the stuff jason did in util.c
682*cc361f65SGavin Atkinson		  wasn't migrated to this file
683*cc361f65SGavin Atkinson		- Don't coredump when printing '%n' in the prompt if there's
684*cc361f65SGavin Atkinson		  no username yet.
685*cc361f65SGavin Atkinson		  Fix from Maxim Konovalov <maxim@freebsd.org>
686*cc361f65SGavin Atkinson
687*cc361f65SGavin Atkinson	* Add test for HAVE_IN6ADDRSZ (which older Darwin is lacking),
688*cc361f65SGavin Atkinson	  and only enable INET6 if it exists.
689*cc361f65SGavin Atkinson	  Patch from Amitai Schlair <schmonz@schmonz.com>.
690*cc361f65SGavin Atkinson
691*cc361f65SGavin Atkinson	* Improve ipv6 check for older linux systems that don't provide
692*cc361f65SGavin Atkinson	  sin6_scope_id.
693*cc361f65SGavin Atkinson	  Patch from YAMANO Yuji <Yamano_Yuji@tk-bay.ogis-ri.co.jp>.
694*cc361f65SGavin Atkinson
695*cc361f65SGavin AtkinsonFri Feb 28 10:57:30 UTC 2003	lukem
696*cc361f65SGavin Atkinson
697*cc361f65SGavin Atkinson	* tagged as "tnftp 2.0 beta1"
698*cc361f65SGavin Atkinson
699*cc361f65SGavin AtkinsonFri Feb 28 10:07:07 UTC 2003	lukem
700*cc361f65SGavin Atkinson
701*cc361f65SGavin Atkinson	* renamed to `tnftp' (from `lukemftp')
702*cc361f65SGavin Atkinson
703*cc361f65SGavin Atkinson	* renamed `libukem' to `libnetbsd'
704*cc361f65SGavin Atkinson
705*cc361f65SGavin Atkinson
706*cc361f65SGavin AtkinsonMon Jun 17 06:50:13 UTC 2002	lukem
707*cc361f65SGavin Atkinson
708*cc361f65SGavin Atkinson	* #if USE_GLOB_H, use <glob.h> instead of "ftpglob.h".
709*cc361f65SGavin Atkinson	  Requested by Mike Heffner <mikeh@freebsd.org>
710*cc361f65SGavin Atkinson
711f982db4aSGavin AtkinsonMon Jun 10 08:12:35 UTC 2002	lukem
712f982db4aSGavin Atkinson
713f982db4aSGavin Atkinson	* crank FTP_VERSION from 1.6-beta1 to 1.6-beta2
714f982db4aSGavin Atkinson
715f982db4aSGavin Atkinson	* replace missing fseeko(), with a wrapper to fseek() which
716f982db4aSGavin Atkinson	  checks that the offset isn't > LONG_MAX
717f982db4aSGavin Atkinson
718f982db4aSGavin Atkinson	* #include <regex.h> #if HAVE_REGEX_H
719f982db4aSGavin Atkinson
720f982db4aSGavin AtkinsonMon Jun 10 01:27:46 UTC 2002	lukem
721f982db4aSGavin Atkinson
722f982db4aSGavin Atkinson	* check for and replace sa_family_t definition
723f982db4aSGavin Atkinson
724f982db4aSGavin Atkinson	* don't bother checking for issetugid(); it was only used in the
725f982db4aSGavin Atkinson	  internal libedit to prevent $HOME/.editrc from being used if
726f982db4aSGavin Atkinson	  running set-id, and the newer libedit code wouldn't even read
727f982db4aSGavin Atkinson	  $HOME/.editrc if issetugid() wasn't available.  as many target
728f982db4aSGavin Atkinson	  operating systems don't have issetugid(), and lukemftp isn't
729f982db4aSGavin Atkinson	  likely to be run set-id (and $HOME/.netrc is used in any case),
730f982db4aSGavin Atkinson	  the issetugid() check has been disabled in libedit.
731f982db4aSGavin Atkinson
732f982db4aSGavin Atkinson	* add back cpp code which #defines REGEX #if HAVE_REGEX_H
733f982db4aSGavin Atkinson
734f982db4aSGavin AtkinsonWed Jun  5 14:39:11 UTC 2002	lukem
735f982db4aSGavin Atkinson
736f982db4aSGavin Atkinson	* crank FTP_VERSION from 1.6alpha1 to 1.6-beta1
737f982db4aSGavin Atkinson
738f982db4aSGavin Atkinson	* implement replacement setprogname()
739f982db4aSGavin Atkinson
740f982db4aSGavin Atkinson	* use getprogname() instead of __progname
741f982db4aSGavin Atkinson
742f982db4aSGavin Atkinson	* convert to christos' replacement fgetln(), as it's better than mine
743f982db4aSGavin Atkinson
744f982db4aSGavin Atkinson	* merge ftp from NetBSD 20020605 to 20020606:
745f982db4aSGavin Atkinson		- use setprogname()
746f982db4aSGavin Atkinson		- only support -6 if INET6 is defined
747f982db4aSGavin Atkinson
748f982db4aSGavin AtkinsonWed Jun  5 13:08:25 UTC 2002	lukem
749f982db4aSGavin Atkinson
750f982db4aSGavin Atkinson	* don't bother checking if <glob.h> is usable (see below).
751f982db4aSGavin Atkinson
752f982db4aSGavin Atkinson	* always compile in local glob; it's the best way to ensure that
753f982db4aSGavin Atkinson	  various security issues are fixed
754f982db4aSGavin Atkinson
755f982db4aSGavin Atkinson	* update libukem/glob.c from NetBSD's __glob13.c rev 1.22 and rev 1.23
756f982db4aSGavin Atkinson
757f982db4aSGavin Atkinson	* merge libedit from NetBSD 20010413 to 20020606:
758f982db4aSGavin Atkinson		- constify; passes all gcc and lint strict checks.
759f982db4aSGavin Atkinson		- add config.h [Jason Evans], to create a portable version of
760f982db4aSGavin Atkinson		  libedit that can be easily compiled on other OS's.
761f982db4aSGavin Atkinson		- PR/12963:Jason Waterman: Fix signed cast problems.
762f982db4aSGavin Atkinson		- Fixed an __P remnant
763f982db4aSGavin Atkinson		- Close quoting.
764f982db4aSGavin Atkinson		- Generate <>& symbolically.
765f982db4aSGavin Atkinson		- Punctuation and whitespace nits, fix a typo.
766f982db4aSGavin Atkinson		- PR/14188: Anthony Mallet: Provide an opaque data
767f982db4aSGavin Atkinson		  pointer to client programs.
768f982db4aSGavin Atkinson		- a couple of minor fixes.  originally by Ruslan Ermilov
769f982db4aSGavin Atkinson		  <ru@FreeBSD.org>, highlighted to me by way of Mike Barcroft
770f982db4aSGavin Atkinson		  <mike@FreeBSD.org> (thanks!)
771f982db4aSGavin Atkinson		- PR/14067: Anthony Mallet: Provide a programmatic way
772f982db4aSGavin Atkinson		  to set the read_char function via a new el_set() operation.
773f982db4aSGavin Atkinson		  Thanks, nicely done :-)
774f982db4aSGavin Atkinson		- `existent', not `existant'
775f982db4aSGavin Atkinson		- Don't use HAVE_ yet.
776f982db4aSGavin Atkinson		- Fix a warning.
777f982db4aSGavin Atkinson		- Remove an unused variable.
778f982db4aSGavin Atkinson		- If term_init() fails, cleanup and return NULL. This
779f982db4aSGavin Atkinson		  avoids other lossage.  Pointed by charles.
780f982db4aSGavin Atkinson		- va_{start,end} audit: Make sure that each va_start has one
781f982db4aSGavin Atkinson		  and only one matching va_end, especially in error cases.
782f982db4aSGavin Atkinson		  If the va_list is used multiple times, do multiple
783f982db4aSGavin Atkinson		  va_starts/va_ends.  If a function gets va_list as argument,
784f982db4aSGavin Atkinson		  don't let it use va_end (since it's the callers
785f982db4aSGavin Atkinson		  responsibility).  Improved by comments from enami and
786f982db4aSGavin Atkinson		  christos -- thanks!
787f982db4aSGavin Atkinson		- history_def_enter: fix off-by-one mistake in delete
788f982db4aSGavin Atkinson		  condition (the behaviour to keep at least one entry on the
789f982db4aSGavin Atkinson		  history list is retained). This fixes lib/9704 by Phil Nelson.
790f982db4aSGavin Atkinson
791f982db4aSGavin Atkinson	* merge ftp from NetBSD 20020524 to 20020605:
792f982db4aSGavin Atkinson		- when showing the final progress bar, replace "00:00 ETA"
793f982db4aSGavin Atkinson		  with the elapsed time.  (suggested by simonb)
794f982db4aSGavin Atkinson		- actually display transfer stats after a URL fetch.
795f982db4aSGavin Atkinson		  (bug introduced a *long* time ago)
796f982db4aSGavin Atkinson		- update copyright & version
797f982db4aSGavin Atkinson
798f982db4aSGavin Atkinson	* merge ftp from NetBSD 20001127 to 20020524:
799f982db4aSGavin Atkinson		- Use "r+" instead of "r+w", since the latter is not standard.
800f982db4aSGavin Atkinson		  Noted by <Steve.McClellan@radisys.com> in private email.
801f982db4aSGavin Atkinson		- Only send port number in HTTP/1.1 Host: request if port !=
802f982db4aSGavin Atkinson		  80.  Fixes [bin/15415] from Takahiro Kambe
803f982db4aSGavin Atkinson		  <taca@sky.yamashina.kyoto.jp>
804f982db4aSGavin Atkinson		- Fix bad mode passed by mls() to recvrequest().  Fixes
805f982db4aSGavin Atkinson		  [bin/16642] from <steve.mcclellan@radisys.com>
806f982db4aSGavin Atkinson		- update copyrights
807f982db4aSGavin Atkinson		- minor knf
808f982db4aSGavin Atkinson		- invoke cmdtab.c_handler()s with argv[0] == c_name instead
809f982db4aSGavin Atkinson		  of the supplied name. that way the full (unambiguous) name
810f982db4aSGavin Atkinson		  is displayed in error messages and usage strings.
811f982db4aSGavin Atkinson		- line2 may overrun if line is too long (> 200).  be more
812f982db4aSGavin Atkinson		  careful on strcpy.
813f982db4aSGavin Atkinson		- Handle URLs without files correctly (e.g, when using '-o -').
814f982db4aSGavin Atkinson		  Fix from Anders Dinsen <anders@dinsen.net> in [bin/13768]
815f982db4aSGavin Atkinson		- portnum is unsigned, use %u instead of %d
816f982db4aSGavin Atkinson		- Add -4 to force IPv4 and -6 to force IPv6 address usage.
817f982db4aSGavin Atkinson		  From Hajimu UMEMOTO, via Mike Heffner of FreeBSD.
818f982db4aSGavin Atkinson		- use u_char instead of char in base64_encode().
819f982db4aSGavin Atkinson		  problem noticed by Jorgen Lundman in private mail.
820f982db4aSGavin Atkinson		- don't make broken file with -R option.
821f982db4aSGavin Atkinson		- handle "*" in Content-Range properly.
822f982db4aSGavin Atkinson		- If no_proxy condition is true && urltype == FTP_URL_T,
823f982db4aSGavin Atkinson		  use fetch_ftp to retrieve
824f982db4aSGavin Atkinson		- convert to use getprogname()
825f982db4aSGavin Atkinson		- Fix description for "form", "mode", and "struct" commands.
826f982db4aSGavin Atkinson		  Inspired by [bin/16736] from Steve McClellan
827f982db4aSGavin Atkinson		  <steve.mcclellan@radisys.com>
828f982db4aSGavin Atkinson		- Generate <>& symbolically. I'm avoiding .../dist/...
829f982db4aSGavin Atkinson		  directories for now.
830f982db4aSGavin Atkinson		- Punctuation nits.
831f982db4aSGavin Atkinson		- Whitespace cleanup.
832f982db4aSGavin Atkinson		- put "site" in alphabetical order. noted by Mike Barcroft
833f982db4aSGavin Atkinson		  in private email
834f982db4aSGavin Atkinson		- avoid buffer overrun on PASV from malicious server.
835f982db4aSGavin Atkinson		- Large file ASCII mode support by using fseeko()
836f982db4aSGavin Atkinson		  instead of fseek().  From Andrey A. Chernov of FreeBSD,
837f982db4aSGavin Atkinson		  via Mike Heffner.
838f982db4aSGavin Atkinson		- Deal with const'ification if el_parse().
839f982db4aSGavin Atkinson		- call setlocale() on startup
840f982db4aSGavin Atkinson		- display a limited progress bar (containing bytes xferred
841f982db4aSGavin Atkinson		  and xfer rate) when the file size is unknown
842f982db4aSGavin Atkinson		- disable progress bar during remglob()
843f982db4aSGavin Atkinson
844f982db4aSGavin AtkinsonThu Mar 14 05:41:49 UTC 2002	lukem
845f982db4aSGavin Atkinson
846f982db4aSGavin Atkinson	* ensure all AF_INET6 use is protected with #ifdef INET6
847f982db4aSGavin Atkinson
848f982db4aSGavin Atkinson	* remove unnecessary __attribute__ goop
849f982db4aSGavin Atkinson
850f982db4aSGavin Atkinson	* libukem/snprintf.c: fix compile errors with gcc 3.x
851f982db4aSGavin Atkinson
852f982db4aSGavin AtkinsonTue Apr 17 08:07:29 UTC 2001	lukem
853f982db4aSGavin Atkinson
854f982db4aSGavin Atkinson	* autoconf check for %q long long support in *printf()
855f982db4aSGavin Atkinson	  (instead of %ll), define and use HAVE_PRINTF_QD if so
856f982db4aSGavin Atkinson
857f982db4aSGavin Atkinson	* ipv6 isn't compatible with socks, so disable the former
858f982db4aSGavin Atkinson
859f982db4aSGavin Atkinson	* look for <libutil.h> (instead of <util.h>) and <arpa/nameser.h>
860f982db4aSGavin Atkinson
861f982db4aSGavin Atkinson	* don't check for fparseln() twice
862f982db4aSGavin Atkinson
863f982db4aSGavin Atkinson	* fix getaddrinfo() checks
864f982db4aSGavin Atkinson
865f982db4aSGavin Atkinson	* crank FTP_VERSION from 1.5 to 1.6alpha1
866f982db4aSGavin Atkinson
867f982db4aSGavin Atkinson	* always ensure _PATH_BSHELL and _PATH_TMP are defined
868f982db4aSGavin Atkinson
869f982db4aSGavin Atkinson	* prototype inet_pton() if its missing
870f982db4aSGavin Atkinson
871f982db4aSGavin Atkinson	* don't bother trying to use if_indextoname() in ip6_sa2str()
872f982db4aSGavin Atkinson	  (fixes problems on MacOS X)
873f982db4aSGavin Atkinson
874f982db4aSGavin Atkinson	* in inet_pton(), pull in <arpa/nameser.h> for IN6ADDRSZ and INT16SZ,
875f982db4aSGavin Atkinson	  and define if missing
876f982db4aSGavin Atkinson
877f982db4aSGavin AtkinsonFri Apr 13 15:24:44 UTC 2001	lukem
878f982db4aSGavin Atkinson
879f982db4aSGavin Atkinson	* only include <arpa/nameser.h> if we have it
880f982db4aSGavin Atkinson
881f982db4aSGavin Atkinson	* update glob(3) to netbsd-current (20010329), adding support
882f982db4aSGavin Atkinson	  for GLOB_LIMIT and fixing various buffer overflows.
883f982db4aSGavin Atkinson
884f982db4aSGavin Atkinson	* update editline from NetBSD 20000915 -> NetBSD 20010413
885f982db4aSGavin Atkinson		- Enlarge editline buffers as needed to support arbitrary
886f982db4aSGavin Atkinson		  length lines.  This also addresses lib/9712 by Phil Nelson.
887f982db4aSGavin Atkinson		- consistently check for allocation failures and return -1,
888f982db4aSGavin Atkinson		  if we could not get more memory.
889f982db4aSGavin Atkinson		- add support for home and end keys.
890f982db4aSGavin Atkinson		- improve debugging support
891f982db4aSGavin Atkinson		- el_line_t: make 'limit' const
892f982db4aSGavin Atkinson
893f982db4aSGavin AtkinsonMon Nov 27 23:23:40 EST 2000	lukem
894f982db4aSGavin Atkinson
895f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20001127):
896f982db4aSGavin Atkinson		- implement "mreget"; as per "mget" but uses "reget" instead
897f982db4aSGavin Atkinson		  of "get"
898f982db4aSGavin Atkinson		- add -N netrc and $NETRC, as methods to select an alternative
899f982db4aSGavin Atkinson		  .netrc file
900f982db4aSGavin Atkinson		- cache local user name and home directory for further use
901f982db4aSGavin Atkinson		- in mget(), use docase() instead of a local version to do
902f982db4aSGavin Atkinson		  the case conversion.
903f982db4aSGavin Atkinson		- format string cleanups
904f982db4aSGavin Atkinson		- be more explicit that $ftp_proxy and $http_proxy are not
905f982db4aSGavin Atkinson		  supported for interactive sessions
906f982db4aSGavin Atkinson		- cope with 2553bis getnameinfo (always attach scope id)
907f982db4aSGavin Atkinson		  getnameinfo error check.
908f982db4aSGavin Atkinson		- use NI_MAXHOST with getnameinfo.  we can assume presence of
909f982db4aSGavin Atkinson		  getnameinfo.
910f982db4aSGavin Atkinson
911f982db4aSGavin AtkinsonTue Nov  7 00:16:23 EST 2000	lukem
912f982db4aSGavin Atkinson
913f982db4aSGavin Atkinson	* libukem/snprintf.c had a non-functional `%s' due to a
914f982db4aSGavin Atkinson	  function declaration mismatch.  problem found and fixed
915f982db4aSGavin Atkinson	  by Hubert Feyrer <hubert@feyrer.de>
916f982db4aSGavin Atkinson
917f982db4aSGavin AtkinsonWed Oct 11 14:06:19 EST 2000	lukem
918f982db4aSGavin Atkinson
919f982db4aSGavin Atkinson	* released version 1.5
920f982db4aSGavin Atkinson
921f982db4aSGavin AtkinsonTue Oct  3 10:22:36 EST 2000	lukem
922f982db4aSGavin Atkinson
923f982db4aSGavin Atkinson	* crank to version 1.5 beta6
924f982db4aSGavin Atkinson
925f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20001003)
926f982db4aSGavin Atkinson		- explicitly use SOCK_STREAM with socket() instead of
927f982db4aSGavin Atkinson		  res->ai_socktype, because it appears that linux with glibc
928f982db4aSGavin Atkinson		  doesn't set the latter correctly after one of getaddrinfo()
929f982db4aSGavin Atkinson		  or getnameinfo().
930f982db4aSGavin Atkinson		- clarify that $ftp_proxy only works for full URLs and can't
931f982db4aSGavin Atkinson		  be used for interactive connections.
932f982db4aSGavin Atkinson
933f982db4aSGavin AtkinsonMon Sep 25 21:52:12 EST 2000	lukem
934f982db4aSGavin Atkinson
935f982db4aSGavin Atkinson	* crank to version 1.5 beta5
936f982db4aSGavin Atkinson
937f982db4aSGavin AtkinsonSun Sep 24 13:31:19 EST 2000	lukem
938f982db4aSGavin Atkinson
939f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000924)
940f982db4aSGavin Atkinson		- since everything else here uses ANSI C, we might as well
941f982db4aSGavin Atkinson		  replace __STRING() with the ANSI C stringization stuff...
942f982db4aSGavin Atkinson		- base64_encode should be static. picked up by hp/ux(!)
943f982db4aSGavin Atkinson		  compiler
944f982db4aSGavin Atkinson		- It appears that whilst Apache 1.3.9 incorrectly puts a
945f982db4aSGavin Atkinson		  trailing space after the chunksize (before the \r\n),
946f982db4aSGavin Atkinson		  Apache 1.3.11 puts *multiple* trailing spaces after the
947f982db4aSGavin Atkinson		  chunksize. I 'm fairly certain that this is contrary to
948f982db4aSGavin Atkinson		  RFC 2068 section 3.6, but whatever...
949f982db4aSGavin Atkinson		  Found by David Brownlee <abs@mono.org>
950f982db4aSGavin Atkinson		- always include <netdb.h>, not just when INET6 is defined.
951f982db4aSGavin Atkinson		  resolves PR [bin/10970] by Richard Earnshaw
952f982db4aSGavin Atkinson		  <rearnsha@cambridge.arm.com>>
953f982db4aSGavin Atkinson		- in progressmeter() perform the check for foregroundproc() a
954f982db4aSGavin Atkinson		  little earlier
955f982db4aSGavin Atkinson		- removed unused variable `items' in list_vertical()
956f982db4aSGavin Atkinson
957f982db4aSGavin AtkinsonSat Sep 23 15:43:34 EST 2000	lukem
958f982db4aSGavin Atkinson
959f982db4aSGavin Atkinson	* remove unused sverrno in warnx() and errx()
960f982db4aSGavin Atkinson
961f982db4aSGavin Atkinson	* remove unused h_error in getnameinfo()
962f982db4aSGavin Atkinson
963f982db4aSGavin Atkinson	* in getaddrinfo(), don't bother declaring in6_addrany[] and
964f982db4aSGavin Atkinson	  in6_loopback #ifndef INET6
965f982db4aSGavin Atkinson
966f982db4aSGavin AtkinsonThu Sep 21 11:26:35 EST 2000	lukem
967f982db4aSGavin Atkinson
968f982db4aSGavin Atkinson	* in getaddrinfo.c::str_isnumber(), use strtol() and check the
969f982db4aSGavin Atkinson	  result, instead of using strtoul() and not checking the result.
970f982db4aSGavin Atkinson
971f982db4aSGavin Atkinson	* define INADDRSZ if it's not found (e.g, HP/UX doesn't seem to have
972f982db4aSGavin Atkinson	  it in <arpa/nameser.h>)
973f982db4aSGavin Atkinson
974f982db4aSGavin AtkinsonWed Sep 20 09:23:59 EST 2000	lukem
975f982db4aSGavin Atkinson
976f982db4aSGavin Atkinson	* crank to version 1.5 beta4
977f982db4aSGavin Atkinson
978f982db4aSGavin AtkinsonMon Sep 18 18:19:54 EST 2000	lukem
979f982db4aSGavin Atkinson
980f982db4aSGavin Atkinson	* add AC_AIX test, which defines _ALL_SOURCE under AIX
981f982db4aSGavin Atkinson
982f982db4aSGavin Atkinson	* use ANSI # stringization instead of __STRING()
983f982db4aSGavin Atkinson
984f982db4aSGavin Atkinson	* define HAVE_RFC2553_NETDB if <netdb.h> defines AI_NUMERICHOST
985f982db4aSGavin Atkinson	  (et al) and has getaddrinfo(). (some systems only implement RFC2133)
986f982db4aSGavin Atkinson
987f982db4aSGavin Atkinson	* don't bother with AC_C_CONST as we depend upon ANSI C elsewhere
988f982db4aSGavin Atkinson
989f982db4aSGavin Atkinson	* when HAVE_RFC2553_NETDB isn't set, and we're #defining various EAI_,
990f982db4aSGavin Atkinson	  AI_, and NI_ items, #undef first incase a system partially implements
991f982db4aSGavin Atkinson	  these in <netdb.h>
992f982db4aSGavin Atkinson
993f982db4aSGavin Atkinson	* look for tgetent() in -ltinfo before -lncurses, because ncurses 5.0
994f982db4aSGavin Atkinson	  has been split up into multiple libraries.
995f982db4aSGavin Atkinson	  from Arkadiusz Miskiewicz <misiek@pld.org.pl>
996f982db4aSGavin Atkinson
997f982db4aSGavin AtkinsonFri Sep 15 01:09:10 EST 2000	lukem
998f982db4aSGavin Atkinson
999f982db4aSGavin Atkinson	* don't bother defining __P() or __STRING() based on whether
1000f982db4aSGavin Atkinson	  __STDC__ is available or not, since these aren't used any more
1001f982db4aSGavin Atkinson
1002f982db4aSGavin Atkinson	* fix mkstemp() prototype
1003f982db4aSGavin Atkinson
1004f982db4aSGavin Atkinson	* declare getpass() if necessary
1005f982db4aSGavin Atkinson
1006f982db4aSGavin Atkinson	* we don't need the readline xxgdb hack in libedit...
1007f982db4aSGavin Atkinson
1008f982db4aSGavin Atkinson	* convert to ansi declarations
1009f982db4aSGavin Atkinson
1010f982db4aSGavin Atkinson	* use ansi prototypes instead of __P()
1011f982db4aSGavin Atkinson
1012f982db4aSGavin Atkinson	* merge in changes from makelist 1.4 -> 1.6:
1013f982db4aSGavin Atkinson		- generate ansi prototypes instead of using __P().  noted by
1014f982db4aSGavin Atkinson		  christos
1015f982db4aSGavin Atkinson		- fix a couple of comments
1016f982db4aSGavin Atkinson		- add -m option to makelist, which generates an mdoc table
1017f982db4aSGavin Atkinson		  with the key bindings and their descriptions
1018f982db4aSGavin Atkinson		- manually add the output of 'sh ./makelist -m vi.c ed.c
1019f982db4aSGavin Atkinson		  common.c' to a new section in editrc(5) called
1020f982db4aSGavin Atkinson		  `EDITOR COMMANDS'
1021f982db4aSGavin Atkinson
1022f982db4aSGavin Atkinson	* merge libedit from NetBSD-current (20000915)
1023f982db4aSGavin Atkinson		* convert to new style guide, which includes:
1024f982db4aSGavin Atkinson			- ansi prototypes & features (such as stdargs)
1025f982db4aSGavin Atkinson			- 8 space indents
1026f982db4aSGavin Atkinson		* history_def_set has a `const int' as a third arg, not an
1027f982db4aSGavin Atkinson		  `int'.  picked up by the ultrix compiler, reported by
1028f982db4aSGavin Atkinson		  simonb@ ...
1029f982db4aSGavin Atkinson		* generate ansi prototypes instead of using __P().  noted by
1030f982db4aSGavin Atkinson		  christos.  fix a couple of comments
1031f982db4aSGavin Atkinson		* make xxgdb and a gdb linked with libedit's readline emulation
1032f982db4aSGavin Atkinson		  work properly together.   xxgdb communicates with a gdb
1033f982db4aSGavin Atkinson		  running on a pty that it sets to -echo,-onlcr prior to
1034f982db4aSGavin Atkinson		  forking the gdb process.  GNU readline preserves the -echo
1035f982db4aSGavin Atkinson		  setting while libedit was undoing it (setting the tty to a
1036f982db4aSGavin Atkinson		  sane state and totally confusing xxgdb's parser).
1037f982db4aSGavin Atkinson		  this diff simply disables libedit if both readline emulation
1038f982db4aSGavin Atkinson		  and "stty -echo" are used/set.   that is enough to make
1039f982db4aSGavin Atkinson		  xxgdb work once again, but (XXX) this is not how GNU readline
1040f982db4aSGavin Atkinson		  handles stty -echo (it does not echo anything, but editing
1041f982db4aSGavin Atkinson		  commands like ^A,^K, etc.  still work), so the readline
1042f982db4aSGavin Atkinson		  emulation isn't perfect.
1043f982db4aSGavin Atkinson
1044f982db4aSGavin AtkinsonTue Aug 29 18:00:08 EST 2000	lukem
1045f982db4aSGavin Atkinson
1046f982db4aSGavin Atkinson	* don't bother testing for #if __STDC__; just assume we have it...
1047f982db4aSGavin Atkinson
1048f982db4aSGavin AtkinsonMon Aug 28 22:45:08 EST 2000	lukem
1049f982db4aSGavin Atkinson
1050f982db4aSGavin Atkinson	* refine tests for IPv6 #defines (EAI_, AI_, NI_, ...).
1051f982db4aSGavin Atkinson	  should improve portability on systems which implement
1052f982db4aSGavin Atkinson	  RFC 2133 but not RFC 2553.
1053f982db4aSGavin Atkinson
1054f982db4aSGavin AtkinsonWed Aug  9 02:12:51 EST 2000	lukem
1055f982db4aSGavin Atkinson
1056f982db4aSGavin Atkinson	* use #if __STDC__ instead of #ifdef __STDC__
1057f982db4aSGavin Atkinson
1058f982db4aSGavin Atkinson	* only test 'case NETDB_INTERNAL:' if it's defined
1059f982db4aSGavin Atkinson
1060f982db4aSGavin Atkinson	* fix support for --program-prefix et al
1061f982db4aSGavin Atkinson
1062f982db4aSGavin Atkinson	* only include <arpa/nameser.h> in the files that need it, because
1063f982db4aSGavin Atkinson	  the DELETE define in some system's implementations causes name
1064f982db4aSGavin Atkinson	  collisions in libedit.
1065f982db4aSGavin Atkinson
1066f982db4aSGavin AtkinsonMon Aug  7 08:17:37 EST 2000	lukem
1067f982db4aSGavin Atkinson
1068f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000807)
1069f982db4aSGavin Atkinson		* implement parseport(), which takes a string and attempts to
1070f982db4aSGavin Atkinson		  convert it to a numeric port number
1071f982db4aSGavin Atkinson		* use parseport() in parse_url() and hookup()
1072f982db4aSGavin Atkinson		* don't try and lookup the port number using getaddrinfo(),
1073f982db4aSGavin Atkinson		  as it's too hard to separate a failed host name lookup from
1074f982db4aSGavin Atkinson		  a failed service name lookup.  this was causing lossage on
1075f982db4aSGavin Atkinson		  systems that don't have `http' in services(5) (such as
1076f982db4aSGavin Atkinson		  solaris), but only crept in when we started using
1077f982db4aSGavin Atkinson		  getaddrinfo() unconditionally.
1078f982db4aSGavin Atkinson
1079f982db4aSGavin AtkinsonWed Aug  2 23:43:50 EST 2000	lukem
1080f982db4aSGavin Atkinson
1081f982db4aSGavin Atkinson	* crank to version 1.5 beta3
1082f982db4aSGavin Atkinson
1083f982db4aSGavin Atkinson	* define NO_LONG_LONG not NO_QUAD
1084f982db4aSGavin Atkinson
1085f982db4aSGavin Atkinson	* detect if struct sockaddr.sa_len exists (rather than relying upon
1086f982db4aSGavin Atkinson	  #ifdef BSD4_4)
1087f982db4aSGavin Atkinson
1088f982db4aSGavin Atkinson	* detect if socklen_t exists, and if not, typedef as unsigned int
1089f982db4aSGavin Atkinson
1090f982db4aSGavin Atkinson	* detect if struct addrinfo exists, and if not declare it and #define
1091f982db4aSGavin Atkinson	  associated EAI_, AI_, and NI_ defines.
1092f982db4aSGavin Atkinson
1093f982db4aSGavin Atkinson	* look for & replace: getaddrinfo(), getnameinfo(), inet_ntop(),
1094f982db4aSGavin Atkinson	  inet_pton()
1095f982db4aSGavin Atkinson	* look for gethostbyname2()
1096f982db4aSGavin Atkinson
1097f982db4aSGavin Atkinson	* don't bother looking for hstrerror() or inet_aton() anymore
1098f982db4aSGavin Atkinson
1099f982db4aSGavin Atkinson	* include <arpa/nameser.h> and <stddef.h>
1100f982db4aSGavin Atkinson
1101f982db4aSGavin Atkinson	* define USE_SELECT instead of __USE_SELECT
1102f982db4aSGavin Atkinson
1103f982db4aSGavin Atkinson	* always define HAVE_H_ERRNO
1104f982db4aSGavin Atkinson
1105f982db4aSGavin Atkinson	* add Brian Stark to THANKS, for lots of AIX porting feedback
1106f982db4aSGavin Atkinson
1107f982db4aSGavin Atkinson	* improve detection of sin_len for AIX (now part of sa_len test)
1108f982db4aSGavin Atkinson
1109f982db4aSGavin Atkinson	* add functions needed by recent ftp import:
1110f982db4aSGavin Atkinson		getaddrinfo(), getnameinfo(), inet_ntop(), inet_pton()
1111f982db4aSGavin Atkinson	  remove functions not needed anymore:
1112f982db4aSGavin Atkinson		hstrerror(), inet_aton()
1113f982db4aSGavin Atkinson
1114f982db4aSGavin Atkinson	* use #if HAVE_ISSETUGID not #ifdef
1115f982db4aSGavin Atkinson
1116f982db4aSGavin Atkinson	* update from NetBSD-current (20000802):
1117f982db4aSGavin Atkinson		- rename NO_QUAD to NO_LONG_LONG, QUAD* -> LL* and add ULL*
1118f982db4aSGavin Atkinson		  (unsigned) equivalents. name change suggested by Klaus
1119*cc361f65SGavin Atkinson		  Klein <kjk@NetBSD.org>
1120f982db4aSGavin Atkinson		- change defined(BSD4_4) || HAVE_SIN_LEN tests into
1121f982db4aSGavin Atkinson		  HAVE_SOCKADDR_SA_LEN, and set the latter if BSD4_4 exists
1122f982db4aSGavin Atkinson
1123f982db4aSGavin AtkinsonMon Jul 31 10:59:10 EST 2000	lukem
1124f982db4aSGavin Atkinson
1125f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000731)
1126f982db4aSGavin Atkinson		- we can't just rename BSD4_4 -> HAVE_SIN_LEN, since bsd
1127f982db4aSGavin Atkinson		  systems define BSD4_4; change tests to test for either
1128f982db4aSGavin Atkinson		  defined(BSD4_4) or HAVE_SIN_LEN
1129f982db4aSGavin Atkinson		- more KNF
1130f982db4aSGavin Atkinson
1131f982db4aSGavin AtkinsonSun Jul 30 16:55:09 EST 2000	lukem
1132f982db4aSGavin Atkinson
1133f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000730):
1134f982db4aSGavin Atkinson		- clean up NO_QUAD support: create helper #defines and use as
1135f982db4aSGavin Atkinson		  appropriate:
1136f982db4aSGavin Atkinson			#define         NOQUAD          ! NOQUAD
1137f982db4aSGavin Atkinson			-------         ------          - ------
1138f982db4aSGavin Atkinson			QUADF           "%ld"           "%lld"
1139f982db4aSGavin Atkinson			QUADFP(x)       "%" x "ld"      "%" x "lld"
1140f982db4aSGavin Atkinson			QUADT           long            long long
1141f982db4aSGavin Atkinson			STRTOL(x,y,z)   strtol(x,y,z)   strtoll(x,y,z)
1142f982db4aSGavin Atkinson		- always use getaddrinfo() and getnameinfo() instead of
1143f982db4aSGavin Atkinson		  maintaining two code paths.
1144f982db4aSGavin Atkinson		- rename __USE_SELECT to USE_SELECT
1145f982db4aSGavin Atkinson		- rename BSD4_4 to HAVE_SIN_LEN
1146f982db4aSGavin Atkinson		- replace union sockunion {} with struct sockinet {}, and
1147f982db4aSGavin Atkinson		  modify the code accordingly. this is possibly more portable,
1148f982db4aSGavin Atkinson		  as it doesn't rely upon the structure alignment within the
1149f982db4aSGavin Atkinson		  union for our own stuff.
1150f982db4aSGavin Atkinson
1151f982db4aSGavin AtkinsonFri Jul 28 22:11:17 EST 2000	lukem
1152f982db4aSGavin Atkinson
1153f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000728):
1154f982db4aSGavin Atkinson		- no trailing , on last item (FEAT_max) in enum
1155f982db4aSGavin Atkinson		- rename "opts" to "remopts", so people used to "o host"
1156f982db4aSGavin Atkinson		  don't get bitten
1157f982db4aSGavin Atkinson
1158f982db4aSGavin AtkinsonWed Jul 26 18:59:19 EST 2000	lukem
1159f982db4aSGavin Atkinson
1160f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000726):
1161f982db4aSGavin Atkinson		- add support for FEAT and OPTS commands with `features' and
1162f982db4aSGavin Atkinson		  `opts'.  (from RFC 2389).
1163f982db4aSGavin Atkinson		- add support for MLST & MLSD (machine parseble listings)
1164f982db4aSGavin Atkinson		  with 'mlst', 'mlsd' and 'pmlsd' (mlsd |$PAGER) commands.
1165f982db4aSGavin Atkinson		  (from draft-ietf-ftpext-mlst-11)
1166f982db4aSGavin Atkinson		- rename remotesyst() to getremoteinfo(), and modify to parse
1167f982db4aSGavin Atkinson		  the result from FEAT (if supported), and take into account
1168f982db4aSGavin Atkinson		  the support for the various extensions such as MDTM, SIZE,
1169f982db4aSGavin Atkinson		  REST (STREAM), MLSD, and FEAT/OPTS.
1170f982db4aSGavin Atkinson		- put each feature into one of the following categories:
1171f982db4aSGavin Atkinson			- known to work (explicit FEAT)
1172f982db4aSGavin Atkinson			- unknown but assume works until explicit failure,
1173f982db4aSGavin Atkinson			  when it's then tagged as `known not to work'.
1174f982db4aSGavin Atkinson			- known not to work (FEAT succeeded but didn't return
1175f982db4aSGavin Atkinson			  anything, or was unknown and then explicit failure)
1176f982db4aSGavin Atkinson		  assign results into features[] matrix.
1177f982db4aSGavin Atkinson		- add support to getreply() so that an optional callback will
1178f982db4aSGavin Atkinson		  be called for each line received from the server except for
1179f982db4aSGavin Atkinson		  the first and last.  this is used in FEAT (and MLST) parsing.
1180f982db4aSGavin Atkinson		- modify various commands to check if REST (STREAM), MDTM and
1181f982db4aSGavin Atkinson		  SIZE are explicitly or implicitly supported before using.
1182f982db4aSGavin Atkinson		- fix `syst' when verbose is off.
1183f982db4aSGavin Atkinson		- minor knf (indent goto labels by one space, etc).
1184f982db4aSGavin Atkinson		- simply various command usage handlers by assuming that
1185f982db4aSGavin Atkinson		  argv != NULL except for quit() and disconnect().
1186f982db4aSGavin Atkinson		- errx?/warnx? audit.  do not pass variable alone, use %s.
1187f982db4aSGavin Atkinson
1188f982db4aSGavin Atkinson	* check for issetugid() and don't use in libedit if it doesn't exist.
1189f982db4aSGavin Atkinson
1190f982db4aSGavin Atkinson	* merge libedit from NetBSD-current (20000726):
1191f982db4aSGavin Atkinson		* Only look in home directory for .editrc.  (Discussed
1192f982db4aSGavin Atkinson		  with Christos.)
1193f982db4aSGavin Atkinson
1194f982db4aSGavin Atkinson	* in glob.c #undef TILDE before redefining, because some AIX systems
1195f982db4aSGavin Atkinson	  #define TILDE in <sys/ioctl.h>
1196f982db4aSGavin Atkinson
1197f982db4aSGavin AtkinsonMon Jul 10 00:28:51 EST 2000	lukem
1198f982db4aSGavin Atkinson
1199f982db4aSGavin Atkinson	* released lukemftp 1.4
1200f982db4aSGavin Atkinson
1201f982db4aSGavin AtkinsonThu Jun 15 23:28:49 EST 2000	lukem
1202f982db4aSGavin Atkinson
1203f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000615):
1204f982db4aSGavin Atkinson		* migrate the SYST parsing from setpeer() into a separate
1205f982db4aSGavin Atkinson		  remotesyst().  call remotesyst() only when login has been
1206f982db4aSGavin Atkinson		  successful some servers don't let you run SYST until you've
1207f982db4aSGavin Atkinson		  successfully logged in.
1208f982db4aSGavin Atkinson		* in fetch_ftp(), always call setpeer() with autologin
1209f982db4aSGavin Atkinson		  disabled, and use the following ftp_login() to DTRT.  this
1210f982db4aSGavin Atkinson		  prevents ftp from trying to login a second time if the
1211f982db4aSGavin Atkinson		  first autologin fails when connecting to a remote site
1212f982db4aSGavin Atkinson		  anonymously using autofetch.
1213f982db4aSGavin Atkinson		* reset unix_proxy and unix_server in cleanuppeer()
1214f982db4aSGavin Atkinson		* missed a function conversion in the KNF sweep...
1215f982db4aSGavin Atkinson
1216f982db4aSGavin AtkinsonMon Jun 12 01:16:12 EST 2000	lukem
1217f982db4aSGavin Atkinson
1218f982db4aSGavin Atkinson	* change lukemftp.h to check !HAVE_STRDUP instead of !HAVE_STRSUP.
1219f982db4aSGavin Atkinson	  fixes compile problem on systems which have strdup() as a macro.
1220f982db4aSGavin Atkinson
1221f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000612):
1222f982db4aSGavin Atkinson		from itojun: better fix for previous (doesn't need
1223f982db4aSGavin Atkinson		in_addr_t or u_int32_t)
1224f982db4aSGavin Atkinson
1225f982db4aSGavin AtkinsonSun Jun 11 12:19:52 EST 2000	lukem
1226f982db4aSGavin Atkinson
1227f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000611):
1228f982db4aSGavin Atkinson		portability fixes for lukemftp:
1229f982db4aSGavin Atkinson		* initconn(): use in_addr_t instead of u_int32_t when
1230f982db4aSGavin Atkinson		  manipulating IPv6 addresses (and assume anything with ipv6
1231f982db4aSGavin Atkinson		  has in_addr_t; if not, i'll add an autoconf test for it)
1232f982db4aSGavin Atkinson		* ai_unmapped(): not all systems have sin_len; so only set
1233f982db4aSGavin Atkinson		  #ifdef BSD4_4
1234f982db4aSGavin Atkinson		* fix some lint
1235f982db4aSGavin Atkinson
1236f982db4aSGavin AtkinsonMon Jun  5 21:10:31 EST 2000	lukem
1237f982db4aSGavin Atkinson
1238f982db4aSGavin Atkinson	* released lukemftp 1.3
1239f982db4aSGavin Atkinson
1240f982db4aSGavin AtkinsonMon Jun  5 19:53:49 EST 2000	lukem
1241f982db4aSGavin Atkinson
1242f982db4aSGavin Atkinson	* convert various support files to ANSI C
1243f982db4aSGavin Atkinson
1244f982db4aSGavin Atkinson	* look for strtoll() instead of strtoq()
1245f982db4aSGavin Atkinson
1246f982db4aSGavin Atkinson	* update COPYRIGHT, THANKS, NEWS
1247f982db4aSGavin Atkinson
1248f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000605):
1249f982db4aSGavin Atkinson		- fix ai_unmapped() to be a no-op in the !def INET6 case
1250f982db4aSGavin Atkinson		- display `(-INET6)' at the end of the version string if
1251f982db4aSGavin Atkinson		  !def INET6
1252f982db4aSGavin Atkinson		- clarify in the man page that IPv6 support may not be present
1253f982db4aSGavin Atkinson		  (for lukemftp :)
1254f982db4aSGavin Atkinson
1255f982db4aSGavin Atkinson	* ensure <vis.h> has VIS_WHITE et al
1256f982db4aSGavin Atkinson
1257f982db4aSGavin AtkinsonSun Jun  4 18:00:07 EST 2000	lukem
1258f982db4aSGavin Atkinson
1259f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000604):
1260f982db4aSGavin Atkinson		- Change `ls' to use the `LIST' and not `NLST' FTP protocol
1261f982db4aSGavin Atkinson		  command.  Now that after many years on not caring we find
1262f982db4aSGavin Atkinson		  certain popular ftp servers are starting to obey RFC959 to
1263f982db4aSGavin Atkinson		  the letter of the law and will only return a list of
1264f982db4aSGavin Atkinson		  filenames (not directories or other filetypes) in the
1265f982db4aSGavin Atkinson		  output of `NLST', then `LIST' is more useful in this case.
1266f982db4aSGavin Atkinson		  (Note that the aforementioned pedanticness means that
1267f982db4aSGavin Atkinson		  filename completion isn't as useful as it could be...)
1268f982db4aSGavin Atkinson		  Fixes [bin/8937] by David A. Gatwood
1269f982db4aSGavin Atkinson		  <dgatwood@deepspace.mklinux.org>
1270f982db4aSGavin Atkinson		- convert to ANSI KNF
1271f982db4aSGavin Atkinson		- Add support for `fget localfile', which reads a list of
1272f982db4aSGavin Atkinson		  filenames to retrieve from localfile.  Based on work by
1273f982db4aSGavin Atkinson		  Darren Reed.
1274f982db4aSGavin Atkinson		- Update copyright dates.
1275f982db4aSGavin Atkinson		- s/strtoq/strtoll/ (the latter is standardised)
1276f982db4aSGavin Atkinson		- Add support for 'ftp -u url file ...', to upload a list of
1277f982db4aSGavin Atkinson		  files to given url.  Mostly based on [bin/10019] by Scott
1278f982db4aSGavin Atkinson		  Aaron Bamford <sab@ansic.net>
1279f982db4aSGavin Atkinson		- convert IPv4 mapped address (::ffff:10.1.1.1) into real IPv4
1280f982db4aSGavin Atkinson		  address before touching it.  IPv4 mapped address complicates
1281f982db4aSGavin Atkinson		  too many things in FTP protocol handling.
1282f982db4aSGavin Atkinson		- do not pass scoped IPv6 address notation on Host: directive,
1283f982db4aSGavin Atkinson		  since scope identifier is local to the originating node.
1284f982db4aSGavin Atkinson		  do not allow scoped IPv6 address notation in URL, if it is
1285f982db4aSGavin Atkinson		  via proxy.
1286f982db4aSGavin Atkinson		- fixes from cgd:
1287f982db4aSGavin Atkinson		  * sanity check a length (otherwise certain bogus responses
1288f982db4aSGavin Atkinson		    can crash ftp)
1289f982db4aSGavin Atkinson		  * allow a transfer encoding type of `binary'; certain
1290f982db4aSGavin Atkinson		    firewall vendors return this bogus type...
1291f982db4aSGavin Atkinson		- make debugging output unambiguous on IPv6 numeric addrs
1292f982db4aSGavin Atkinson		  (don't use host:port)
1293f982db4aSGavin Atkinson		- http://[::1]:8080/ is legal.
1294f982db4aSGavin Atkinson		- send Host: directive with RFC2732 bracket notation for IPv6
1295f982db4aSGavin Atkinson		  numeric, otherwise "host:port" is ambiguous to servers
1296f982db4aSGavin Atkinson		  (clarification will be submitted as update to RFC2732).
1297f982db4aSGavin Atkinson		- only use getaddrinfo() et al if both NI_NUMERICHOST *and*
1298f982db4aSGavin Atkinson		  INET6 are defined...  (allows --disable-ipv6 in lukemftp's
1299f982db4aSGavin Atkinson		  configure script to disable this as well, which is good for
1300f982db4aSGavin Atkinson		  testing when it appears getaddrinfo() is borken)
1301f982db4aSGavin Atkinson		- updated comment on IPv4 mapped address.  sync with kame.
1302f982db4aSGavin Atkinson		- Fix examples on using pipes in local filenames.  AFAICT,
1303f982db4aSGavin Atkinson		  ftp has always required `dir . |more' not as `dir |more'
1304f982db4aSGavin Atkinson		  treats `|more' as the remote filename. Resolves [bin/9922]
1305f982db4aSGavin Atkinson		  by Geoff Wing <mason@primenet.com.au>
1306f982db4aSGavin Atkinson		- ftp(1): treats IPv4 mapped destination as IPv4 peer, not
1307f982db4aSGavin Atkinson		  native IPv6 peer.  this does not support network with SIIT
1308f982db4aSGavin Atkinson		  translator.
1309f982db4aSGavin Atkinson		- inhibit too-noisy message for scoped address data transfer
1310f982db4aSGavin Atkinson		  (will be enabled in "debug" mode).
1311f982db4aSGavin Atkinson		- only use IPTOS_ setsockopt()s if they're defined (e.g, SunOS
1312f982db4aSGavin Atkinson		  doesn't).  from Havard.Eidnes@runit.sintef.no
1313f982db4aSGavin Atkinson		- allow IPv6 extended numeric address in host part.
1314f982db4aSGavin Atkinson		  (draft-ietf-ipngwg-scopedaddr-format-01.txt). fixes PR 9616.
1315f982db4aSGavin Atkinson
1316f982db4aSGavin Atkinson	* merge libedit from NetBSD-current (20000604):
1317f982db4aSGavin Atkinson		- use strtol() (instead of atoi()) for sane error detection
1318f982db4aSGavin Atkinson
1319f982db4aSGavin AtkinsonWed May 31 19:24:53 EST 2000	lukem
1320f982db4aSGavin Atkinson
1321f982db4aSGavin Atkinson	* merge libedit from NetBSD-current (20000531):
1322f982db4aSGavin Atkinson		- Fix refresh glitches when using auto-margin.
1323f982db4aSGavin Atkinson		- Don't dump core on empty .editrc files.
1324f982db4aSGavin Atkinson		- el_insertstr takes a "const char *" not "char *" now as it
1325f982db4aSGavin Atkinson		  doesn't modify the argument.
1326f982db4aSGavin Atkinson
1327f982db4aSGavin AtkinsonThu Feb  3 20:19:40 EST 2000	lukem
1328f982db4aSGavin Atkinson
1329f982db4aSGavin Atkinson	* released lukemftp 1.2
1330f982db4aSGavin Atkinson
1331f982db4aSGavin AtkinsonTue Feb  1 09:47:51 EST 2000	lukem
1332f982db4aSGavin Atkinson
1333f982db4aSGavin Atkinson	* add --enable-ipv6 and --disable-ipv6 to configure
1334f982db4aSGavin Atkinson
1335f982db4aSGavin Atkinson	* modify libedit/sig.? to use sigfunc instead of sig_t, and
1336f982db4aSGavin Atkinson	  deprecate autoconf tests for retsigtype and sig_t.
1337f982db4aSGavin Atkinson	  This fixes portability problems with Digital UNIX 5.0.
1338f982db4aSGavin Atkinson
1339f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000201):
1340f982db4aSGavin Atkinson		- define private type `sigfunc' as
1341f982db4aSGavin Atkinson			typedef void (*sigfunc) __P((int));
1342f982db4aSGavin Atkinson		  and replace use of sig_t and void (*)(int).
1343f982db4aSGavin Atkinson		  certain other OSes define sig_t differently to that (they
1344f982db4aSGavin Atkinson		  add extra arguments), and it causes problems due to
1345f982db4aSGavin Atkinson		  function mismatches, etc...
1346f982db4aSGavin Atkinson
1347f982db4aSGavin AtkinsonWed Jan 26 22:54:38 EST 2000	lukem
1348f982db4aSGavin Atkinson
1349f982db4aSGavin Atkinson	* search for tgetent() in -ltermcap then -lcurses and -lncurses
1350f982db4aSGavin Atkinson
1351f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000126):
1352f982db4aSGavin Atkinson		- roll back to using sscanf() instead of strptime() to parse
1353f982db4aSGavin Atkinson		  `yyyymmddhhmmss' strings, since the latter technically can't
1354f982db4aSGavin Atkinson		  parse dates without non alphanumerics between the elements
1355f982db4aSGavin Atkinson		  (even though NetBSD's strptime() copes).
1356f982db4aSGavin Atkinson
1357f982db4aSGavin AtkinsonTue Jan 25 19:09:37 EST 2000	lukem
1358f982db4aSGavin Atkinson
1359f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (20000125):
1360f982db4aSGavin Atkinson		- complete_ambiguous(): be consistent about completing
1361f982db4aSGavin Atkinson		  unambiguous matches; if the word is already complete then
1362f982db4aSGavin Atkinson		  return CC_REFRESH so that the higher layer may append a
1363f982db4aSGavin Atkinson		  suffix if necessary. Fix from Launey Thomas <ljt@alum.mit.edu>
1364f982db4aSGavin Atkinson		- change references from draft-ietf-ipngwg-url-literal-01.txt
1365f982db4aSGavin Atkinson		  to RFC2732
1366f982db4aSGavin Atkinson		- work around bug in apache 1.3.9 which incorrectly puts a
1367f982db4aSGavin Atkinson		  trailing space after the chunksize.  noted by Jun-ichiro
1368f982db4aSGavin Atkinson		  itojun Hagino <itojun@itojun.org> in [bin/9096]
1369f982db4aSGavin Atkinson		- work around lame ftpd's that don't return a correct post-Y2K
1370f982db4aSGavin Atkinson		  date in the output of `MDTM'.  obviously the programmer of
1371f982db4aSGavin Atkinson		  aforementioned lame ftpd's did something like
1372f982db4aSGavin Atkinson			"19%02d", tm->tm_year
1373f982db4aSGavin Atkinson		  instead of
1374f982db4aSGavin Atkinson			"%04d", tm->tm_year + TM_YEAR_BASE
1375f982db4aSGavin Atkinson		  fixes [bin/9289] by jbernard@mines.edu
1376f982db4aSGavin Atkinson
1377f982db4aSGavin Atkinson	* merge libedit from NetBSD-current (20000125):
1378f982db4aSGavin Atkinson		- PR/9244: Kevin Schoedel: libedit dumps bindings
1379f982db4aSGavin Atkinson		  inconsistently
1380f982db4aSGavin Atkinson		- PR/9243: Kevin Schoedel: libedit ignores repeat count
1381f982db4aSGavin Atkinson		- Add support for automatic and magic margins (from tcsh)
1382f982db4aSGavin Atkinson		  This makes the rightmost column usable on all programs
1383f982db4aSGavin Atkinson		  that use editline.
1384f982db4aSGavin Atkinson
1385f982db4aSGavin AtkinsonTue Dec 21 08:59:22 EST 1999	lukem
1386f982db4aSGavin Atkinson
1387f982db4aSGavin Atkinson	* update INSTALL notes for some systems
1388f982db4aSGavin Atkinson
1389f982db4aSGavin Atkinson	* if sl_init() exists, check return value of sl_add() is int and
1390f982db4aSGavin Atkinson	  compile in a replacement copy if it's not the case
1391f982db4aSGavin Atkinson
1392f982db4aSGavin Atkinson	* don't look for <stringlist.h> - always use local prototypes; older
1393f982db4aSGavin Atkinson	  NetBSD systems may have conflicting prototypes
1394f982db4aSGavin Atkinson
1395f982db4aSGavin AtkinsonMon Dec 20 11:21:28 EST 1999	lukem
1396f982db4aSGavin Atkinson
1397f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (19991220):
1398f982db4aSGavin Atkinson	- Move version from ftp_var.h to version.h
1399f982db4aSGavin Atkinson	- Fix chunked support; probably broke after rate limiting was added.
1400f982db4aSGavin Atkinson	  Problem noticed/debugging assisted by giles lean
1401f982db4aSGavin Atkinson	  <giles@nemeton.com.au>.
1402f982db4aSGavin Atkinson	- remove unnecessary freeaddrinfo(res), since res0 was changed to be
1403f982db4aSGavin Atkinson	  freed earlier in itojun's last commit. fixes [bin/8948].
1404f982db4aSGavin Atkinson	- remove `const char *reason'; it was being assigned but not used.
1405f982db4aSGavin Atkinson	- fix memory leak in fetch_url (no freeaddrinfo was there).
1406f982db4aSGavin Atkinson	  sync with recent KAME.
1407f982db4aSGavin Atkinson	- separate out the main `data pump' loop into two: one that supports
1408f982db4aSGavin Atkinson	  rate limiting and one that doesn't. simplifies the code, and speeds
1409f982db4aSGavin Atkinson	  up the latter case a bit, at the expense of duplicating a few
1410f982db4aSGavin Atkinson	  lines...
1411f982db4aSGavin Atkinson
1412f982db4aSGavin AtkinsonSun Nov 28 18:20:41 EST 1999	lukem
1413f982db4aSGavin Atkinson
1414f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (19991128):
1415f982db4aSGavin Atkinson	- implement xsl_init() and  xsl_add(); error checking forms of
1416f982db4aSGavin Atkinson	  sl_{init,add}()
1417f982db4aSGavin Atkinson	- fix bug where the second press of <TAB> on an empty word (i.e, list
1418f982db4aSGavin Atkinson	  all options) may have resulted in an strncmp() against NULL.
1419f982db4aSGavin Atkinson	  (detected by _DIAGASSERT())
1420f982db4aSGavin Atkinson	- in cleanuppeer(), reset username to NULL after free()ing it.
1421f982db4aSGavin Atkinson	  fixes [bin/8870] by Wolfgang Rupprecht <wolfgang@wsrcc.com>
1422f982db4aSGavin Atkinson	- complete_remote(): use remglob("", ...) instead of remglob(".", ...),
1423f982db4aSGavin Atkinson	  for listings of the current working directory; some ftp servers don't
1424f982db4aSGavin Atkinson	  like `NLST .'.
1425f982db4aSGavin Atkinson	  [noted by Giles Lean <giles@nemeton.com.au>]
1426f982db4aSGavin Atkinson	- recvrequest(): treat remote=="" as remote==NULL when calling
1427f982db4aSGavin Atkinson	  command().  (to support the above change)
1428f982db4aSGavin Atkinson	- support `[user@]' in `[user@]host' and `[user@]host[:][path]'.
1429f982db4aSGavin Atkinson	  [based on idea (and initial code) from David Maxwell <david@fundy.ca>]
1430f982db4aSGavin Atkinson	- `idle' may be invoked without any args
1431f982db4aSGavin Atkinson	- reformat some comments
1432f982db4aSGavin Atkinson	- reformat usage string in program and man page
1433f982db4aSGavin Atkinson	- call updateremotepwd() after successful login, not after successful
1434f982db4aSGavin Atkinson	  connect
1435f982db4aSGavin Atkinson	- always call setsockopt(, IPPROTO_IP, IP_TOS, ) (et al); using #if
1436f982db4aSGavin Atkinson	  defined(IPPROTO_IP) doesn't work on certain foreign systems where
1437f982db4aSGavin Atkinson	  enums instead of #defines are used...
1438f982db4aSGavin Atkinson	  [noted by Matthias Pfaller <leo@dachau.marco.de>]
1439f982db4aSGavin Atkinson
1440f982db4aSGavin AtkinsonMon Nov 15 23:01:58 EST 1999	lukem
1441f982db4aSGavin Atkinson
1442f982db4aSGavin Atkinson	* released lukemftp 1.1
1443f982db4aSGavin Atkinson
1444f982db4aSGavin AtkinsonMon Nov 15 09:07:01 EST 1999	lukem
1445f982db4aSGavin Atkinson
1446f982db4aSGavin Atkinson	* merge libedit from NetBSD-current (19991115):
1447f982db4aSGavin Atkinson		- instead of using a private coord_t global variable to store
1448f982db4aSGavin Atkinson		  the size of the rprompt, use the previously unused coord_t
1449f982db4aSGavin Atkinson		  el->el_rprompt.p_pos
1450f982db4aSGavin Atkinson
1451f982db4aSGavin AtkinsonSat Nov 13 14:42:22 EST 1999	lukem
1452f982db4aSGavin Atkinson
1453f982db4aSGavin Atkinson	* support caching of results in AC_MSG_TRY_{COMPILE,LINK}
1454f982db4aSGavin Atkinson	  autoconf tests
1455f982db4aSGavin Atkinson
1456f982db4aSGavin Atkinson	* add NEWS file
1457f982db4aSGavin Atkinson
1458f982db4aSGavin Atkinson	* clarify copyright statement in COPYING
1459f982db4aSGavin Atkinson
1460f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (19991113):
1461f982db4aSGavin Atkinson		- implement `set rprompt'; right side version of `set prompt'.
1462f982db4aSGavin Atkinson		  depends on EL_RPROMPT support i added to editline(3).
1463f982db4aSGavin Atkinson		- allow $FTPPROMPT and $FTPRPROMPT to override defaults for
1464f982db4aSGavin Atkinson		  the relevant prompts
1465f982db4aSGavin Atkinson		- move `%' formatting code from prompt() to expandbuf().
1466f982db4aSGavin Atkinson		- implement `%.' and `%c', similar to the same % codes in
1467f982db4aSGavin Atkinson		  tcsh(1) (functionality I added to tcsh nearly 6 years ago),
1468f982db4aSGavin Atkinson		  except that `%.' always does `...trailing' and `%c' always
1469f982db4aSGavin Atkinson		  does `/<x>trailing'.
1470f982db4aSGavin Atkinson		- unknown `%foo' codes get printed as `%foo'
1471f982db4aSGavin Atkinson		- implement updateremotepwd(); update the global variable
1472f982db4aSGavin Atkinson		  `remotepwd' to contain the remote working directory.
1473f982db4aSGavin Atkinson		- add `set prompt', a user configurable prompt. (defaults to
1474f982db4aSGavin Atkinson		  `ftp> ').  the following escape characters a la tcsh(1) are
1475f982db4aSGavin Atkinson		  supported: %/, %m, %M, and %n.
1476f982db4aSGavin Atkinson		- add global var `username'; used by prompt code
1477f982db4aSGavin Atkinson		- fix a couple of minor memory leaks
1478f982db4aSGavin Atkinson		- bump version
1479f982db4aSGavin Atkinson		- prevent minor memory leak (unnecessary strdup)
1480f982db4aSGavin Atkinson		- implement restarting file:/// non-proxied http:// URLs
1481f982db4aSGavin Atkinson		  (with -R).
1482f982db4aSGavin Atkinson		- fix a semicolono which stopped file:/// from working
1483f982db4aSGavin Atkinson		- split the version string into product and version
1484f982db4aSGavin Atkinson		- be consistent about reporting the version between:
1485f982db4aSGavin Atkinson			+ status command
1486f982db4aSGavin Atkinson			+ about:version URL fetch
1487f982db4aSGavin Atkinson			+ User-agent sent in http requests
1488f982db4aSGavin Atkinson		- hookup(): when using getservbyname() (when getaddrinfo()
1489f982db4aSGavin Atkinson		  isn't available), if the provided port is a valid number
1490f982db4aSGavin Atkinson		  use that rather than trying to do getservbyname() against
1491f982db4aSGavin Atkinson		  it. fixes a problem on foreign systems noted by Chuck
1492f982db4aSGavin Atkinson		  Silvers <chuq@chuq.com>
1493f982db4aSGavin Atkinson		- support `about:version'. also display the version in the
1494f982db4aSGavin Atkinson		  output of `status'.
1495f982db4aSGavin Atkinson
1496f982db4aSGavin Atkinson	* merge libedit from NetBSD-current (19991113):
1497f982db4aSGavin Atkinson		- implement printing a right-side prompt. code derived from
1498f982db4aSGavin Atkinson		  similar work I wrote for tcsh(1) three years ago.
1499f982db4aSGavin Atkinson		- implement EL_RPROMPT, which allows a setting/getting of a
1500f982db4aSGavin Atkinson		  function which returns a string to be used as the
1501f982db4aSGavin Atkinson		  right-side prompt.
1502f982db4aSGavin Atkinson
1503f982db4aSGavin Atkinson	* replace manually managed config.h.in with acconfig.h and use
1504f982db4aSGavin Atkinson	  autoheader to generate the former.
1505f982db4aSGavin Atkinson
1506f982db4aSGavin Atkinson	* add missing entry for `#undef write' in acconfig.h (for SOCKS)
1507f982db4aSGavin Atkinson
1508f982db4aSGavin Atkinson	* configure.in:
1509f982db4aSGavin Atkinson		- use `LL' suffix on long long constant used to test
1510f982db4aSGavin Atkinson		  snprintf("%lld")
1511f982db4aSGavin Atkinson		- test for EL_RPROMPT instead of EL_EDITMODE, since the
1512f982db4aSGavin Atkinson		  former is is a newer required feature
1513f982db4aSGavin Atkinson
1514f982db4aSGavin Atkinson	* in makelist, set LC_ALL="C", in case the locale confuses awk.
1515f982db4aSGavin Atkinson	  problem noted by Peter Seebach <seebs@plethora.net>
1516f982db4aSGavin Atkinson
1517f982db4aSGavin AtkinsonWed Oct 27 07:00:00 UTC 1999	lukem
1518f982db4aSGavin Atkinson
1519f982db4aSGavin Atkinson	* released 1.0
1520f982db4aSGavin Atkinson
1521f982db4aSGavin Atkinson	* removed libedit/TEST/test.c; no need to distribute it
1522f982db4aSGavin Atkinson
1523f982db4aSGavin AtkinsonMon Oct 25 21:59:54 EST 1999	lukem
1524f982db4aSGavin Atkinson
1525f982db4aSGavin Atkinson	* released 1.0b7
1526f982db4aSGavin Atkinson
1527f982db4aSGavin Atkinson	* put VERSION string into lukemftp.h, and display with the `status'
1528f982db4aSGavin Atkinson	  command
1529f982db4aSGavin Atkinson
1530f982db4aSGavin AtkinsonMon Oct 25 11:36:59 EST 1999	lukem
1531f982db4aSGavin Atkinson
1532f982db4aSGavin Atkinson	* merge ftp from NetBSD-current (19991025):
1533f982db4aSGavin Atkinson	- fix up confirm() (broke `a' and `p' in last commit)
1534f982db4aSGavin Atkinson	- simplify main loop (don't need `top' variable any more)
1535f982db4aSGavin Atkinson	- use a struct sockaddr_in6.sin6_addr for the result from inet_pton(),
1536f982db4aSGavin Atkinson	  rather than u_char buf[16]
1537f982db4aSGavin Atkinson	- add a few more comments
1538f982db4aSGavin Atkinson
1539f982db4aSGavin Atkinson	new features:
1540f982db4aSGavin Atkinson	- add `usage'; displays the usage of a command.
1541f982db4aSGavin Atkinson	  implemented by calling the c_handler() with argc = 0, argv =
1542f982db4aSGavin Atkinson	  "funcname".
1543f982db4aSGavin Atkinson	- add `passive auto'; does the same as $FTPMODE=auto.
1544f982db4aSGavin Atkinson	- add `set [option value]'; display all options, or set an option to
1545f982db4aSGavin Atkinson	  a value.
1546f982db4aSGavin Atkinson	- add `unset option'; unset an option.
1547f982db4aSGavin Atkinson	- add getoptionvalue() to retrieve an option's value, and replace a few
1548f982db4aSGavin Atkinson	  global variables with calls to this.
1549f982db4aSGavin Atkinson	- implement cleanuppeer(), which resets various bits of state back to
1550f982db4aSGavin Atkinson	  `disconnected'. call in disconnect() and lostpeer().
1551f982db4aSGavin Atkinson	- support completing on `options'.
1552f982db4aSGavin Atkinson	- improve recovery after a SIGINT may have closed the connection.
1553f982db4aSGavin Atkinson	  XXX: there's still a couple to fix
1554f982db4aSGavin Atkinson
1555f982db4aSGavin Atkinson	other stuff:
1556f982db4aSGavin Atkinson	- various consistency fixes in the man page.
1557f982db4aSGavin Atkinson	- ensure that the command usage strings in the code and man page
1558f982db4aSGavin Atkinson	  match reality.
1559f982db4aSGavin Atkinson	- mput/mget: check that the connection still exists before each xfer.
1560f982db4aSGavin Atkinson	- minor cosmetic changes in confirm().
1561f982db4aSGavin Atkinson	- set code correctly in sizecmd() and modtime()
1562f982db4aSGavin Atkinson	- don't need \n in err() strings.
1563f982db4aSGavin Atkinson	- change lostpeer to take an argument (rather than casting
1564f982db4aSGavin Atkinson	  (sig_t)lostpeer in signal handlers)
1565f982db4aSGavin Atkinson	- knf and whitespace police.
1566f982db4aSGavin Atkinson
1567f982db4aSGavin AtkinsonSun Oct 24 17:02:59 EST 1999	lukem
1568f982db4aSGavin Atkinson
1569f982db4aSGavin Atkinson	* merge libedit from NetBSD-current (19991024):
1570f982db4aSGavin Atkinson		- don't assume locales are not working - it may not be
1571f982db4aSGavin Atkinson		  the case
1572f982db4aSGavin Atkinson		- re_refresh(): cast the character passed to re_addc() to
1573f982db4aSGavin Atkinson		  unsigned char,  so we don't end up calling isprint() with
1574f982db4aSGavin Atkinson		  negative value when chars are signed and character value
1575f982db4aSGavin Atkinson		  is >= 128
1576f982db4aSGavin Atkinson		- Fix pointer arithmatic (caused problems on LP64, including
1577f982db4aSGavin Atkinson		  ftp dumping core when `edit' was turned off then on).
1578f982db4aSGavin Atkinson		  Problem solved by David Huggins-Daines <dhd@eradicator.org>
1579f982db4aSGavin Atkinson
1580f982db4aSGavin AtkinsonTue Oct 12 18:05:21 EST 1999	lukem
1581f982db4aSGavin Atkinson
1582f982db4aSGavin Atkinson	* install man page from ${srcdir} not from .
1583f982db4aSGavin Atkinson
1584f982db4aSGavin AtkinsonTue Oct 12 17:00:41 EST 1999	lukem
1585f982db4aSGavin Atkinson
1586f982db4aSGavin Atkinson	* released 1.0b6
1587f982db4aSGavin Atkinson
1588f982db4aSGavin Atkinson	* merge from NetBSD-current (19991012):
1589f982db4aSGavin Atkinson	  a few user interface and cosmetic tweaks:
1590f982db4aSGavin Atkinson		- confirm(): move from util.c to cmds.c. display mnemonic
1591f982db4aSGavin Atkinson		  string in its prompt. add support for `q' (terminate
1592f982db4aSGavin Atkinson		  current xfer), `?' (show help list)
1593f982db4aSGavin Atkinson		- in various signal handlers, output a linefeed only if
1594f982db4aSGavin Atkinson		  fromatty.
1595f982db4aSGavin Atkinson		- if fgets(stdin) returned NULL (i.e, EOF), clearerr(stdin)
1596f982db4aSGavin Atkinson		  because you don't want future fgets to fail. this is not
1597f982db4aSGavin Atkinson		  done for the fgets() in the main command loop, since ftp
1598f982db4aSGavin Atkinson		  will quit at that point.
1599f982db4aSGavin Atkinson		- unless ftp is invoked with -a, don't retain the anonftp
1600f982db4aSGavin Atkinson		  setting between hosts (`ftp somehost:' sets anonftp, but
1601f982db4aSGavin Atkinson		  you don't want that to `stick' if you close that connection
1602f982db4aSGavin Atkinson		  and open a new one).
1603f982db4aSGavin Atkinson
1604f982db4aSGavin AtkinsonMon Oct 11 23:06:38 EST 1999	lukem
1605f982db4aSGavin Atkinson
1606f982db4aSGavin Atkinson	* check for working const
1607f982db4aSGavin Atkinson
1608f982db4aSGavin Atkinson	* reorganise addition of -lukem to LIBS (was being added twice)
1609f982db4aSGavin Atkinson
1610f982db4aSGavin Atkinson	* merge from netbsd-current:
1611f982db4aSGavin Atkinson		- use sigjmp_buf instead of jmp_buf for sigsetjmp() buffer
1612f982db4aSGavin Atkinson
1613f982db4aSGavin Atkinson	* libedit: don't bother generating & compiling editline.c, since
1614f982db4aSGavin Atkinson	  its component parts are compiled anyway.
1615f982db4aSGavin Atkinson
1616f982db4aSGavin AtkinsonSun Oct 10 12:08:39 EST 1999	lukem
1617f982db4aSGavin Atkinson
1618f982db4aSGavin Atkinson	* released 1.0b5
1619f982db4aSGavin Atkinson
1620f982db4aSGavin Atkinson	* in libedit, use xsignal_restart() (from src/util.c) instead of
1621f982db4aSGavin Atkinson	  signal(); the isn't guaranteed to work on some foreign systems
1622f982db4aSGavin Atkinson	  (e.g, IRIX) if sigaction() is used in the same program.
1623f982db4aSGavin Atkinson
1624f982db4aSGavin Atkinson	* merge from netbsd-current:
1625f982db4aSGavin Atkinson		- use sigsetjmp()/siglongjump() instead of setjmp()/longjmp();
1626f982db4aSGavin Atkinson		  the latter don't save the signal mask on some foreign systems.
1627f982db4aSGavin Atkinson		- ensure signal handlers don't use stdio and do reset errno
1628f982db4aSGavin Atkinson		  if they don't exit with siglongjmp()
1629f982db4aSGavin Atkinson		- use a common SIGINT handler for {send,recv}request()
1630f982db4aSGavin Atkinson		- allow a second SIGINT during the "xfer aborted. waiting for
1631f982db4aSGavin Atkinson		  remote to finish abort." stage. if this occurs, just call
1632f982db4aSGavin Atkinson		  lostpeer() to close the connection.  whilst this might be
1633f982db4aSGavin Atkinson		  considered brutal, it's also extremely handy if you're
1634f982db4aSGavin Atkinson		  impatient or there's lossage at the remote end.
1635f982db4aSGavin Atkinson
1636f982db4aSGavin Atkinson	* add preformatted manual page
1637f982db4aSGavin Atkinson
1638f982db4aSGavin Atkinson	* fix --enable-editline
1639f982db4aSGavin Atkinson
1640f982db4aSGavin AtkinsonWed Oct  6 10:19:00 EST 1999	lukem
1641f982db4aSGavin Atkinson
1642f982db4aSGavin Atkinson	* released 1.0b4
1643f982db4aSGavin Atkinson
1644f982db4aSGavin Atkinson	* don't defining SIGINFO to SIGQUIT if the former doesn't exist; the
1645f982db4aSGavin Atkinson	  code now supports both as a method of getting the transfer stats
1646f982db4aSGavin Atkinson
1647f982db4aSGavin Atkinson	* rototill signal handling in the actual data xfer routines, and
1648f982db4aSGavin Atkinson	  specifically set SIGQUIT to psummary in each one, to override
1649f982db4aSGavin Atkinson	  editline's handler
1650f982db4aSGavin Atkinson
1651f982db4aSGavin AtkinsonTue Oct  5 23:48:29 EST 1999	lukem
1652f982db4aSGavin Atkinson
1653f982db4aSGavin Atkinson	* factor out SIGINFO setting into a handler that is always active
1654f982db4aSGavin Atkinson	  (but only prints out info if bytes > 0). only set the handler if
1655f982db4aSGavin Atkinson	  SIGINFO is defined
1656f982db4aSGavin Atkinson
1657f982db4aSGavin Atkinson	* hijack SIGQUIT to be the same as SIGINFO
1658f982db4aSGavin Atkinson
1659f982db4aSGavin Atkinson	* in {recv,send}request(), factor a lot of duplicated code out into
1660f982db4aSGavin Atkinson	  a `cleanup' section at the end
1661f982db4aSGavin Atkinson
1662f982db4aSGavin Atkinson	* rework shell() a bit
1663f982db4aSGavin Atkinson
1664f982db4aSGavin Atkinson	* enhancments from Marc Horowitz <marc@mit.edu> to improve
1665f982db4aSGavin Atkinson	  connection timeouts:
1666f982db4aSGavin Atkinson		- implement xsignal_restart(), which only sets the SA_RESTART
1667f982db4aSGavin Atkinson		  flag if specifically requested
1668f982db4aSGavin Atkinson		- xsignal() is now a wrapper to xsignal_restart(). INFO,
1669f982db4aSGavin Atkinson		  USR1, USR2 and WINCH are restartable, ALRM, INT, PIPE and
1670f982db4aSGavin Atkinson		  QUIT are not
1671f982db4aSGavin Atkinson		- improve getreply()'s timeout code to take advantage of the
1672f982db4aSGavin Atkinson		  above
1673f982db4aSGavin Atkinson
1674f982db4aSGavin Atkinson	* improve wording of how globbing works for `classic' URLs (host:path)
1675f982db4aSGavin Atkinson	  suggested by John Refling <johnr@imageworks.com> in relation to PRs
1676f982db4aSGavin Atkinson	  [bin/8519] and [bin/8520]
1677f982db4aSGavin Atkinson
1678f982db4aSGavin Atkinson	* always compile in the `edit' command even if NO_EDITCOMPLETE defined
1679f982db4aSGavin Atkinson	  it's just a no-op in the latter case, which is more consistent to
1680f982db4aSGavin Atkinson	  the users
1681f982db4aSGavin Atkinson
1682f982db4aSGavin Atkinson	* always compile in about: support (i.e, remove NO_ABOUT).  i'm
1683f982db4aSGavin Atkinson	  entitled to some vanity in this program...
1684f982db4aSGavin Atkinson
1685f982db4aSGavin Atkinson	* update copyrights
1686f982db4aSGavin Atkinson
1687f982db4aSGavin AtkinsonMon Oct  4 10:57:41 EST 1999	lukem
1688f982db4aSGavin Atkinson
1689f982db4aSGavin Atkinson	* Invoke ar with `cr' not `cq'
1690f982db4aSGavin Atkinson
1691f982db4aSGavin Atkinson	* Use AC_PROG_RANLIB to find ranlib, and use it on the libraries
1692f982db4aSGavin Atkinson
1693f982db4aSGavin Atkinson	* Remove `makelist' from dependency list for libedit files; re-running
1694f982db4aSGavin Atkinson	  configure shouldn't result in rebuilding libedit
1695f982db4aSGavin Atkinson
1696f982db4aSGavin Atkinson	* Add support for --{en,dis}able-editcomplete (defaults to enabled),
1697f982db4aSGavin Atkinson	  which prevents libedit support from being compiled in.
1698*cc361f65SGavin Atkinson	  From Chris G. Demetriou <cgd@NetBSD.org>
1699f982db4aSGavin Atkinson
1700f982db4aSGavin AtkinsonSun Oct  3 16:49:01 EST 1999	lukem
1701f982db4aSGavin Atkinson
1702f982db4aSGavin Atkinson	* touch up the README
1703f982db4aSGavin Atkinson
1704f982db4aSGavin Atkinson	* add COPYING, INSTALL, THANKS
1705f982db4aSGavin Atkinson
1706f982db4aSGavin Atkinson	* whitespace consistency
1707f982db4aSGavin Atkinson
1708f982db4aSGavin Atkinson	* in config.h, replace NO_QUAD with HAVE_QUAD_SUPPORT, and in
1709f982db4aSGavin Atkinson	  lukemftp.h define the former if the latter is non zero
1710f982db4aSGavin Atkinson
1711f982db4aSGavin Atkinson	* change test against GETPGRP_VOID from #ifdef to #if
1712f982db4aSGavin Atkinson
1713f982db4aSGavin Atkinson	* snprintf(): in the truncation case, ensure that the length
1714f982db4aSGavin Atkinson	  returned is the actual length, not the needed length
1715f982db4aSGavin Atkinson
1716f982db4aSGavin AtkinsonSat Oct  2 00:41:34 EST 1999	lukem
1717f982db4aSGavin Atkinson
1718f982db4aSGavin Atkinson	* fix more lossage with $(srcdir) / $(VPATH) stuff; seems to work now
1719f982db4aSGavin Atkinson	  when configured in a separate directory
1720f982db4aSGavin Atkinson
1721f982db4aSGavin Atkinson	* actually test the correct variable when determining whether to run
1722f982db4aSGavin Atkinson	  AC_FUNC_GETPGRP
1723f982db4aSGavin Atkinson
1724f982db4aSGavin AtkinsonFri Oct  1 19:32:22 EST 1999	lukem
1725f982db4aSGavin Atkinson
1726f982db4aSGavin Atkinson	* released 1.0b3
1727f982db4aSGavin Atkinson
1728f982db4aSGavin Atkinson	* use AC_PROG_MAKE_SET
1729f982db4aSGavin Atkinson
1730f982db4aSGavin Atkinson	* determine setting of NO_QUAD with configure not lukemftp.h
1731f982db4aSGavin Atkinson
1732f982db4aSGavin Atkinson	* if have long long and have snprintf, test that snprintf
1733f982db4aSGavin Atkinson	  supports %lld. if it doesn't use private version
1734f982db4aSGavin Atkinson
1735f982db4aSGavin Atkinson	* change strtoq from returning off_t to returning long long
1736f982db4aSGavin Atkinson
1737f982db4aSGavin Atkinson	* updates from NetBSD mainline:
1738f982db4aSGavin Atkinson		- only try epsv once per connection (i.e, don't bother again
1739f982db4aSGavin Atkinson		  if it fails)
1740f982db4aSGavin Atkinson		- improve description of rate command
1741f982db4aSGavin Atkinson		- fix up global vars; they're now externed in ftp_var.h
1742f982db4aSGavin Atkinson		  except when main.c includes it
1743f982db4aSGavin Atkinson		- remove "pathnames.h"
1744f982db4aSGavin Atkinson
1745f982db4aSGavin AtkinsonFri Oct  1 10:08:43 EST 1999	lukem
1746f982db4aSGavin Atkinson
1747f982db4aSGavin Atkinson	* updates from NetBSD mainline:
1748f982db4aSGavin Atkinson		- fix determining of homedir
1749f982db4aSGavin Atkinson		- parse_url(): fix checking of portnum
1750f982db4aSGavin Atkinson		- move kame copyrights after bsd/tnfi ones
1751f982db4aSGavin Atkinson
1752f982db4aSGavin Atkinson	* released 1.0b2
1753f982db4aSGavin Atkinson
1754f982db4aSGavin Atkinson	* add %lld and %qd support to snprintf() for displaying long long's
1755f982db4aSGavin Atkinson
1756f982db4aSGavin Atkinson	* support VPATH and srcdir
1757f982db4aSGavin Atkinson
1758f982db4aSGavin AtkinsonThu Sep 30 17:19:35 EST 1999	lukem
1759f982db4aSGavin Atkinson
1760f982db4aSGavin Atkinson	* released 1.0b1
1761f982db4aSGavin Atkinson
1762f982db4aSGavin Atkinson	* fix from NetBSD mainline: in empty() FD_ZERO the correct variable
1763f982db4aSGavin Atkinson
1764f982db4aSGavin AtkinsonWed Sep 29 23:34:33 EST 1999	lukem
1765f982db4aSGavin Atkinson
1766f982db4aSGavin Atkinson	* major rework; reimport code from NetBSD-current 1999/09/29 into
1767f982db4aSGavin Atkinson	  separate subdirectories and build from there. organisation is now:
1768f982db4aSGavin Atkinson		libedit		replacement libedit
1769f982db4aSGavin Atkinson		libukem		replacements for missing functions
1770f982db4aSGavin Atkinson		src		main ftp source
1771f982db4aSGavin Atkinson
1772f982db4aSGavin AtkinsonMon Sep 27 00:43:12 EST 1999	lukem
1773f982db4aSGavin Atkinson
1774f982db4aSGavin Atkinson	* released 1.0 a6
1775f982db4aSGavin Atkinson
1776f982db4aSGavin AtkinsonSun Sep 26 17:17:05 EST 1999	lukem
1777f982db4aSGavin Atkinson
1778f982db4aSGavin Atkinson	* released 1.0 a5
1779f982db4aSGavin Atkinson
1780f982db4aSGavin AtkinsonSat Sep 25 00:58:28 EST 1999	lukem
1781f982db4aSGavin Atkinson
1782f982db4aSGavin Atkinson	* released 1.0 a4
1783f982db4aSGavin Atkinson
1784f982db4aSGavin AtkinsonFri Sep 24 17:07:07 EST 1999	lukem
1785f982db4aSGavin Atkinson
1786f982db4aSGavin Atkinson	* released 1.0 a3
1787f982db4aSGavin Atkinson
1788f982db4aSGavin AtkinsonFri Sep 24 16:18:29 EST 1999	lukem
1789f982db4aSGavin Atkinson
1790f982db4aSGavin Atkinson	* released 1.0 a2
1791f982db4aSGavin Atkinson
1792f982db4aSGavin AtkinsonTue Sep 21 11:38:49 EST 1999	lukem
1793f982db4aSGavin Atkinson
1794f982db4aSGavin Atkinson	* import usr.src/bin/ftp and usr.src/lib/libedit sources from NetBSD
1795