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