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