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