ChangeLog revision 79971
1Wed Oct 11 14:06:19 EST 2000 lukem 2 3 * released version 1.5 4 5Tue Oct 3 10:22:36 EST 2000 lukem 6 7 * crank to version 1.5 beta6 8 9 * merge ftp from NetBSD-current (20001003) 10 - explicitly use SOCK_STREAM with socket() instead of 11 res->ai_socktype, because it appears that linux with glibc 12 doesn't set the latter correctly after one of getaddrinfo() 13 or getnameinfo(). 14 - clarify that $ftp_proxy only works for full URLs and can't 15 be used for interactive connections. 16 17Mon Sep 25 21:52:12 EST 2000 lukem 18 19 * crank to version 1.5 beta5 20 21Sun Sep 24 13:31:19 EST 2000 lukem 22 23 * merge ftp from NetBSD-current (20000924) 24 - since everything else here uses ANSI C, we might as well 25 replace __STRING() with the ANSI C stringization stuff... 26 - base64_encode should be static. picked up by hp/ux(!) 27 compiler 28 - It appears that whilst Apache 1.3.9 incorrectly puts a 29 trailing space after the chunksize (before the \r\n), 30 Apache 1.3.11 puts *multiple* trailing spaces after the 31 chunksize. I 'm fairly certain that this is contrary to 32 RFC 2068 section 3.6, but whatever... 33 Found by David Brownlee <abs@mono.org> 34 - always include <netdb.h>, not just when INET6 is defined. 35 resolves PR [bin/10970] by Richard Earnshaw 36 <rearnsha@cambridge.arm.com>> 37 - in progressmeter() perform the check for foregroundproc() a 38 little earlier 39 - removed unused variable `items' in list_vertical() 40 41Sat Sep 23 15:43:34 EST 2000 lukem 42 43 * remove unused sverrno in warnx() and errx() 44 45 * remove unused h_error in getnameinfo() 46 47 * in getaddrinfo(), don't bother declaring in6_addrany[] and 48 in6_loopback #ifndef INET6 49 50Thu Sep 21 11:26:35 EST 2000 lukem 51 52 * in getaddrinfo.c::str_isnumber(), use strtol() and check the 53 result, instead of using strtoul() and not checking the result. 54 55 * define INADDRSZ if it's not found (e.g, HP/UX doesn't seem to have 56 it in <arpa/nameser.h>) 57 58Wed Sep 20 09:23:59 EST 2000 lukem 59 60 * crank to version 1.5 beta4 61 62Mon Sep 18 18:19:54 EST 2000 lukem 63 64 * add AC_AIX test, which defines _ALL_SOURCE under AIX 65 66 * use ANSI # stringization instead of __STRING() 67 68 * define HAVE_RFC2553_NETDB if <netdb.h> defines AI_NUMERICHOST 69 (et al) and has getaddrinfo(). (some systems only implement RFC2133) 70 71 * don't bother with AC_C_CONST as we depend upon ANSI C elsewhere 72 73 * when HAVE_RFC2553_NETDB isn't set, and we're #defining various EAI_, 74 AI_, and NI_ items, #undef first incase a system partially implements 75 these in <netdb.h> 76 77 * look for tgetent() in -ltinfo before -lncurses, because ncurses 5.0 78 has been split up into multiple libraries. 79 from Arkadiusz Miskiewicz <misiek@pld.org.pl> 80 81Fri Sep 15 01:09:10 EST 2000 lukem 82 83 * don't bother defining __P() or __STRING() based on whether 84 __STDC__ is available or not, since these aren't used any more 85 86 * fix mkstemp() prototype 87 88 * declare getpass() if necessary 89 90 * we don't need the readline xxgdb hack in libedit... 91 92 * convert to ansi declarations 93 94 * use ansi prototypes instead of __P() 95 96 * merge in changes from makelist 1.4 -> 1.6: 97 - generate ansi prototypes instead of using __P(). noted by 98 christos 99 - fix a couple of comments 100 - add -m option to makelist, which generates an mdoc table 101 with the key bindings and their descriptions 102 - manually add the output of 'sh ./makelist -m vi.c ed.c 103 common.c' to a new section in editrc(5) called 104 `EDITOR COMMANDS' 105 106 * merge libedit from NetBSD-current (20000915) 107 * convert to new style guide, which includes: 108 - ansi prototypes & features (such as stdargs) 109 - 8 space indents 110 * history_def_set has a `const int' as a third arg, not an 111 `int'. picked up by the ultrix compiler, reported by 112 simonb@ ... 113 * generate ansi prototypes instead of using __P(). noted by 114 christos. fix a couple of comments 115 * make xxgdb and a gdb linked with libedit's readline emulation 116 work properly together. xxgdb communicates with a gdb 117 running on a pty that it sets to -echo,-onlcr prior to 118 forking the gdb process. GNU readline preserves the -echo 119 setting while libedit was undoing it (setting the tty to a 120 sane state and totally confusing xxgdb's parser). 121 this diff simply disables libedit if both readline emulation 122 and "stty -echo" are used/set. that is enough to make 123 xxgdb work once again, but (XXX) this is not how GNU readline 124 handles stty -echo (it does not echo anything, but editing 125 commands like ^A,^K, etc. still work), so the readline 126 emulation isn't perfect. 127 128Tue Aug 29 18:00:08 EST 2000 lukem 129 130 * don't bother testing for #if __STDC__; just assume we have it... 131 132Mon Aug 28 22:45:08 EST 2000 lukem 133 134 * refine tests for IPv6 #defines (EAI_, AI_, NI_, ...). 135 should improve portability on systems which implement 136 RFC 2133 but not RFC 2553. 137 138Wed Aug 9 02:12:51 EST 2000 lukem 139 140 * use #if __STDC__ instead of #ifdef __STDC__ 141 142 * only test 'case NETDB_INTERNAL:' if it's defined 143 144 * fix support for --program-prefix et al 145 146 * only include <arpa/nameser.h> in the files that need it, because 147 the DELETE define in some system's implementations causes name 148 collisions in libedit. 149 150Mon Aug 7 08:17:37 EST 2000 lukem 151 152 * merge ftp from NetBSD-current (20000807) 153 * implement parseport(), which takes a string and attempts to 154 convert it to a numeric port number 155 * use parseport() in parse_url() and hookup() 156 * don't try and lookup the port number using getaddrinfo(), 157 as it's too hard to separate a failed host name lookup from 158 a failed service name lookup. this was causing lossage on 159 systems that don't have `http' in services(5) (such as 160 solaris), but only crept in when we started using 161 getaddrinfo() unconditionally. 162 163Wed Aug 2 23:43:50 EST 2000 lukem 164 165 * crank to version 1.5 beta3 166 167 * define NO_LONG_LONG not NO_QUAD 168 169 * detect if struct sockaddr.sa_len exists (rather than relying upon 170 #ifdef BSD4_4) 171 172 * detect if socklen_t exists, and if not, typedef as unsigned int 173 174 * detect if struct addrinfo exists, and if not declare it and #define 175 associated EAI_, AI_, and NI_ defines. 176 177 * look for & replace: getaddrinfo(), getnameinfo(), inet_ntop(), 178 inet_pton() 179 * look for gethostbyname2() 180 181 * don't bother looking for hstrerror() or inet_aton() anymore 182 183 * include <arpa/nameser.h> and <stddef.h> 184 185 * define USE_SELECT instead of __USE_SELECT 186 187 * always define HAVE_H_ERRNO 188 189 * add Brian Stark to THANKS, for lots of AIX porting feedback 190 191 * improve detection of sin_len for AIX (now part of sa_len test) 192 193 * add functions needed by recent ftp import: 194 getaddrinfo(), getnameinfo(), inet_ntop(), inet_pton() 195 remove functions not needed anymore: 196 hstrerror(), inet_aton() 197 198 * use #if HAVE_ISSETUGID not #ifdef 199 200 * update from NetBSD-current (20000802): 201 - rename NO_QUAD to NO_LONG_LONG, QUAD* -> LL* and add ULL* 202 (unsigned) equivalents. name change suggested by Klaus 203 Klein <kjk@netbsd.org> 204 - change defined(BSD4_4) || HAVE_SIN_LEN tests into 205 HAVE_SOCKADDR_SA_LEN, and set the latter if BSD4_4 exists 206 207Mon Jul 31 10:59:10 EST 2000 lukem 208 209 * merge ftp from NetBSD-current (20000731) 210 - we can't just rename BSD4_4 -> HAVE_SIN_LEN, since bsd 211 systems define BSD4_4; change tests to test for either 212 defined(BSD4_4) or HAVE_SIN_LEN 213 - more KNF 214 215Sun Jul 30 16:55:09 EST 2000 lukem 216 217 * merge ftp from NetBSD-current (20000730): 218 - clean up NO_QUAD support: create helper #defines and use as 219 appropriate: 220 #define NOQUAD ! NOQUAD 221 ------- ------ - ------ 222 QUADF "%ld" "%lld" 223 QUADFP(x) "%" x "ld" "%" x "lld" 224 QUADT long long long 225 STRTOL(x,y,z) strtol(x,y,z) strtoll(x,y,z) 226 - always use getaddrinfo() and getnameinfo() instead of 227 maintaining two code paths. 228 - rename __USE_SELECT to USE_SELECT 229 - rename BSD4_4 to HAVE_SIN_LEN 230 - replace union sockunion {} with struct sockinet {}, and 231 modify the code accordingly. this is possibly more portable, 232 as it doesn't rely upon the structure alignment within the 233 union for our own stuff. 234 235Fri Jul 28 22:11:17 EST 2000 lukem 236 237 * merge ftp from NetBSD-current (20000728): 238 - no trailing , on last item (FEAT_max) in enum 239 - rename "opts" to "remopts", so people used to "o host" 240 don't get bitten 241 242Wed Jul 26 18:59:19 EST 2000 lukem 243 244 * merge ftp from NetBSD-current (20000726): 245 - add support for FEAT and OPTS commands with `features' and 246 `opts'. (from RFC 2389). 247 - add support for MLST & MLSD (machine parseble listings) 248 with 'mlst', 'mlsd' and 'pmlsd' (mlsd |$PAGER) commands. 249 (from draft-ietf-ftpext-mlst-11) 250 - rename remotesyst() to getremoteinfo(), and modify to parse 251 the result from FEAT (if supported), and take into account 252 the support for the various extensions such as MDTM, SIZE, 253 REST (STREAM), MLSD, and FEAT/OPTS. 254 - put each feature into one of the following categories: 255 - known to work (explicit FEAT) 256 - unknown but assume works until explicit failure, 257 when it's then tagged as `known not to work'. 258 - known not to work (FEAT succeeded but didn't return 259 anything, or was unknown and then explicit failure) 260 assign results into features[] matrix. 261 - add support to getreply() so that an optional callback will 262 be called for each line received from the server except for 263 the first and last. this is used in FEAT (and MLST) parsing. 264 - modify various commands to check if REST (STREAM), MDTM and 265 SIZE are explicitly or implicitly supported before using. 266 - fix `syst' when verbose is off. 267 - minor knf (indent goto labels by one space, etc). 268 - simply various command usage handlers by assuming that 269 argv != NULL except for quit() and disconnect(). 270 - errx?/warnx? audit. do not pass variable alone, use %s. 271 272 * check for issetugid() and don't use in libedit if it doesn't exist. 273 274 * merge libedit from NetBSD-current (20000726): 275 * Only look in home directory for .editrc. (Discussed 276 with Christos.) 277 278 * in glob.c #undef TILDE before redefining, because some AIX systems 279 #define TILDE in <sys/ioctl.h> 280 281Mon Jul 10 00:28:51 EST 2000 lukem 282 283 * released lukemftp 1.4 284 285Thu Jun 15 23:28:49 EST 2000 lukem 286 287 * merge ftp from NetBSD-current (20000615): 288 * migrate the SYST parsing from setpeer() into a separate 289 remotesyst(). call remotesyst() only when login has been 290 successful some servers don't let you run SYST until you've 291 successfully logged in. 292 * in fetch_ftp(), always call setpeer() with autologin 293 disabled, and use the following ftp_login() to DTRT. this 294 prevents ftp from trying to login a second time if the 295 first autologin fails when connecting to a remote site 296 anonymously using autofetch. 297 * reset unix_proxy and unix_server in cleanuppeer() 298 * missed a function conversion in the KNF sweep... 299 300Mon Jun 12 01:16:12 EST 2000 lukem 301 302 * change lukemftp.h to check !HAVE_STRDUP instead of !HAVE_STRSUP. 303 fixes compile problem on systems which have strdup() as a macro. 304 305 * merge ftp from NetBSD-current (20000612): 306 from itojun: better fix for previous (doesn't need 307 in_addr_t or u_int32_t) 308 309Sun Jun 11 12:19:52 EST 2000 lukem 310 311 * merge ftp from NetBSD-current (20000611): 312 portability fixes for lukemftp: 313 * initconn(): use in_addr_t instead of u_int32_t when 314 manipulating IPv6 addresses (and assume anything with ipv6 315 has in_addr_t; if not, i'll add an autoconf test for it) 316 * ai_unmapped(): not all systems have sin_len; so only set 317 #ifdef BSD4_4 318 * fix some lint 319 320Mon Jun 5 21:10:31 EST 2000 lukem 321 322 * released lukemftp 1.3 323 324Mon Jun 5 19:53:49 EST 2000 lukem 325 326 * convert various support files to ANSI C 327 328 * look for strtoll() instead of strtoq() 329 330 * update COPYRIGHT, THANKS, NEWS 331 332 * merge ftp from NetBSD-current (20000605): 333 - fix ai_unmapped() to be a no-op in the !def INET6 case 334 - display `(-INET6)' at the end of the version string if 335 !def INET6 336 - clarify in the man page that IPv6 support may not be present 337 (for lukemftp :) 338 339 * ensure <vis.h> has VIS_WHITE et al 340 341Sun Jun 4 18:00:07 EST 2000 lukem 342 343 * merge ftp from NetBSD-current (20000604): 344 - Change `ls' to use the `LIST' and not `NLST' FTP protocol 345 command. Now that after many years on not caring we find 346 certain popular ftp servers are starting to obey RFC959 to 347 the letter of the law and will only return a list of 348 filenames (not directories or other filetypes) in the 349 output of `NLST', then `LIST' is more useful in this case. 350 (Note that the aforementioned pedanticness means that 351 filename completion isn't as useful as it could be...) 352 Fixes [bin/8937] by David A. Gatwood 353 <dgatwood@deepspace.mklinux.org> 354 - convert to ANSI KNF 355 - Add support for `fget localfile', which reads a list of 356 filenames to retrieve from localfile. Based on work by 357 Darren Reed. 358 - Update copyright dates. 359 - s/strtoq/strtoll/ (the latter is standardised) 360 - Add support for 'ftp -u url file ...', to upload a list of 361 files to given url. Mostly based on [bin/10019] by Scott 362 Aaron Bamford <sab@ansic.net> 363 - convert IPv4 mapped address (::ffff:10.1.1.1) into real IPv4 364 address before touching it. IPv4 mapped address complicates 365 too many things in FTP protocol handling. 366 - do not pass scoped IPv6 address notation on Host: directive, 367 since scope identifier is local to the originating node. 368 do not allow scoped IPv6 address notation in URL, if it is 369 via proxy. 370 - fixes from cgd: 371 * sanity check a length (otherwise certain bogus responses 372 can crash ftp) 373 * allow a transfer encoding type of `binary'; certain 374 firewall vendors return this bogus type... 375 - make debugging output unambiguous on IPv6 numeric addrs 376 (don't use host:port) 377 - http://[::1]:8080/ is legal. 378 - send Host: directive with RFC2732 bracket notation for IPv6 379 numeric, otherwise "host:port" is ambiguous to servers 380 (clarification will be submitted as update to RFC2732). 381 - only use getaddrinfo() et al if both NI_NUMERICHOST *and* 382 INET6 are defined... (allows --disable-ipv6 in lukemftp's 383 configure script to disable this as well, which is good for 384 testing when it appears getaddrinfo() is borken) 385 - updated comment on IPv4 mapped address. sync with kame. 386 - Fix examples on using pipes in local filenames. AFAICT, 387 ftp has always required `dir . |more' not as `dir |more' 388 treats `|more' as the remote filename. Resolves [bin/9922] 389 by Geoff Wing <mason@primenet.com.au> 390 - ftp(1): treats IPv4 mapped destination as IPv4 peer, not 391 native IPv6 peer. this does not support network with SIIT 392 translator. 393 - inhibit too-noisy message for scoped address data transfer 394 (will be enabled in "debug" mode). 395 - only use IPTOS_ setsockopt()s if they're defined (e.g, SunOS 396 doesn't). from Havard.Eidnes@runit.sintef.no 397 - allow IPv6 extended numeric address in host part. 398 (draft-ietf-ipngwg-scopedaddr-format-01.txt). fixes PR 9616. 399 400 * merge libedit from NetBSD-current (20000604): 401 - use strtol() (instead of atoi()) for sane error detection 402 403Wed May 31 19:24:53 EST 2000 lukem 404 405 * merge libedit from NetBSD-current (20000531): 406 - Fix refresh glitches when using auto-margin. 407 - Don't dump core on empty .editrc files. 408 - el_insertstr takes a "const char *" not "char *" now as it 409 doesn't modify the argument. 410 411Thu Feb 3 20:19:40 EST 2000 lukem 412 413 * released lukemftp 1.2 414 415Tue Feb 1 09:47:51 EST 2000 lukem 416 417 * add --enable-ipv6 and --disable-ipv6 to configure 418 419 * modify libedit/sig.? to use sigfunc instead of sig_t, and 420 deprecate autoconf tests for retsigtype and sig_t. 421 This fixes portability problems with Digital UNIX 5.0. 422 423 * merge ftp from NetBSD-current (20000201): 424 - define private type `sigfunc' as 425 typedef void (*sigfunc) __P((int)); 426 and replace use of sig_t and void (*)(int). 427 certain other OSes define sig_t differently to that (they 428 add extra arguments), and it causes problems due to 429 function mismatches, etc... 430 431Wed Jan 26 22:54:38 EST 2000 lukem 432 433 * search for tgetent() in -ltermcap then -lcurses and -lncurses 434 435 * merge ftp from NetBSD-current (20000126): 436 - roll back to using sscanf() instead of strptime() to parse 437 `yyyymmddhhmmss' strings, since the latter technically can't 438 parse dates without non alphanumerics between the elements 439 (even though NetBSD's strptime() copes). 440 441Tue Jan 25 19:09:37 EST 2000 lukem 442 443 * merge ftp from NetBSD-current (20000125): 444 - complete_ambiguous(): be consistent about completing 445 unambiguous matches; if the word is already complete then 446 return CC_REFRESH so that the higher layer may append a 447 suffix if necessary. Fix from Launey Thomas <ljt@alum.mit.edu> 448 - change references from draft-ietf-ipngwg-url-literal-01.txt 449 to RFC2732 450 - work around bug in apache 1.3.9 which incorrectly puts a 451 trailing space after the chunksize. noted by Jun-ichiro 452 itojun Hagino <itojun@itojun.org> in [bin/9096] 453 - work around lame ftpd's that don't return a correct post-Y2K 454 date in the output of `MDTM'. obviously the programmer of 455 aforementioned lame ftpd's did something like 456 "19%02d", tm->tm_year 457 instead of 458 "%04d", tm->tm_year + TM_YEAR_BASE 459 fixes [bin/9289] by jbernard@mines.edu 460 461 * merge libedit from NetBSD-current (20000125): 462 - PR/9244: Kevin Schoedel: libedit dumps bindings 463 inconsistently 464 - PR/9243: Kevin Schoedel: libedit ignores repeat count 465 - Add support for automatic and magic margins (from tcsh) 466 This makes the rightmost column usable on all programs 467 that use editline. 468 469Tue Dec 21 08:59:22 EST 1999 lukem 470 471 * update INSTALL notes for some systems 472 473 * if sl_init() exists, check return value of sl_add() is int and 474 compile in a replacement copy if it's not the case 475 476 * don't look for <stringlist.h> - always use local prototypes; older 477 NetBSD systems may have conflicting prototypes 478 479Mon Dec 20 11:21:28 EST 1999 lukem 480 481 * merge ftp from NetBSD-current (19991220): 482 - Move version from ftp_var.h to version.h 483 - Fix chunked support; probably broke after rate limiting was added. 484 Problem noticed/debugging assisted by giles lean 485 <giles@nemeton.com.au>. 486 - remove unnecessary freeaddrinfo(res), since res0 was changed to be 487 freed earlier in itojun's last commit. fixes [bin/8948]. 488 - remove `const char *reason'; it was being assigned but not used. 489 - fix memory leak in fetch_url (no freeaddrinfo was there). 490 sync with recent KAME. 491 - separate out the main `data pump' loop into two: one that supports 492 rate limiting and one that doesn't. simplifies the code, and speeds 493 up the latter case a bit, at the expense of duplicating a few 494 lines... 495 496Sun Nov 28 18:20:41 EST 1999 lukem 497 498 * merge ftp from NetBSD-current (19991128): 499 - implement xsl_init() and xsl_add(); error checking forms of 500 sl_{init,add}() 501 - fix bug where the second press of <TAB> on an empty word (i.e, list 502 all options) may have resulted in an strncmp() against NULL. 503 (detected by _DIAGASSERT()) 504 - in cleanuppeer(), reset username to NULL after free()ing it. 505 fixes [bin/8870] by Wolfgang Rupprecht <wolfgang@wsrcc.com> 506 - complete_remote(): use remglob("", ...) instead of remglob(".", ...), 507 for listings of the current working directory; some ftp servers don't 508 like `NLST .'. 509 [noted by Giles Lean <giles@nemeton.com.au>] 510 - recvrequest(): treat remote=="" as remote==NULL when calling 511 command(). (to support the above change) 512 - support `[user@]' in `[user@]host' and `[user@]host[:][path]'. 513 [based on idea (and initial code) from David Maxwell <david@fundy.ca>] 514 - `idle' may be invoked without any args 515 - reformat some comments 516 - reformat usage string in program and man page 517 - call updateremotepwd() after successful login, not after successful 518 connect 519 - always call setsockopt(, IPPROTO_IP, IP_TOS, ) (et al); using #if 520 defined(IPPROTO_IP) doesn't work on certain foreign systems where 521 enums instead of #defines are used... 522 [noted by Matthias Pfaller <leo@dachau.marco.de>] 523 524Mon Nov 15 23:01:58 EST 1999 lukem 525 526 * released lukemftp 1.1 527 528Mon Nov 15 09:07:01 EST 1999 lukem 529 530 * merge libedit from NetBSD-current (19991115): 531 - instead of using a private coord_t global variable to store 532 the size of the rprompt, use the previously unused coord_t 533 el->el_rprompt.p_pos 534 535Sat Nov 13 14:42:22 EST 1999 lukem 536 537 * support caching of results in AC_MSG_TRY_{COMPILE,LINK} 538 autoconf tests 539 540 * add NEWS file 541 542 * clarify copyright statement in COPYING 543 544 * merge ftp from NetBSD-current (19991113): 545 - implement `set rprompt'; right side version of `set prompt'. 546 depends on EL_RPROMPT support i added to editline(3). 547 - allow $FTPPROMPT and $FTPRPROMPT to override defaults for 548 the relevant prompts 549 - move `%' formatting code from prompt() to expandbuf(). 550 - implement `%.' and `%c', similar to the same % codes in 551 tcsh(1) (functionality I added to tcsh nearly 6 years ago), 552 except that `%.' always does `...trailing' and `%c' always 553 does `/<x>trailing'. 554 - unknown `%foo' codes get printed as `%foo' 555 - implement updateremotepwd(); update the global variable 556 `remotepwd' to contain the remote working directory. 557 - add `set prompt', a user configurable prompt. (defaults to 558 `ftp> '). the following escape characters a la tcsh(1) are 559 supported: %/, %m, %M, and %n. 560 - add global var `username'; used by prompt code 561 - fix a couple of minor memory leaks 562 - bump version 563 - prevent minor memory leak (unnecessary strdup) 564 - implement restarting file:/// non-proxied http:// URLs 565 (with -R). 566 - fix a semicolono which stopped file:/// from working 567 - split the version string into product and version 568 - be consistent about reporting the version between: 569 + status command 570 + about:version URL fetch 571 + User-agent sent in http requests 572 - hookup(): when using getservbyname() (when getaddrinfo() 573 isn't available), if the provided port is a valid number 574 use that rather than trying to do getservbyname() against 575 it. fixes a problem on foreign systems noted by Chuck 576 Silvers <chuq@chuq.com> 577 - support `about:version'. also display the version in the 578 output of `status'. 579 580 * merge libedit from NetBSD-current (19991113): 581 - implement printing a right-side prompt. code derived from 582 similar work I wrote for tcsh(1) three years ago. 583 - implement EL_RPROMPT, which allows a setting/getting of a 584 function which returns a string to be used as the 585 right-side prompt. 586 587 * replace manually managed config.h.in with acconfig.h and use 588 autoheader to generate the former. 589 590 * add missing entry for `#undef write' in acconfig.h (for SOCKS) 591 592 * configure.in: 593 - use `LL' suffix on long long constant used to test 594 snprintf("%lld") 595 - test for EL_RPROMPT instead of EL_EDITMODE, since the 596 former is is a newer required feature 597 598 * in makelist, set LC_ALL="C", in case the locale confuses awk. 599 problem noted by Peter Seebach <seebs@plethora.net> 600 601Wed Oct 27 07:00:00 UTC 1999 lukem 602 603 * released 1.0 604 605 * removed libedit/TEST/test.c; no need to distribute it 606 607Mon Oct 25 21:59:54 EST 1999 lukem 608 609 * released 1.0b7 610 611 * put VERSION string into lukemftp.h, and display with the `status' 612 command 613 614Mon Oct 25 11:36:59 EST 1999 lukem 615 616 * merge ftp from NetBSD-current (19991025): 617 - fix up confirm() (broke `a' and `p' in last commit) 618 - simplify main loop (don't need `top' variable any more) 619 - use a struct sockaddr_in6.sin6_addr for the result from inet_pton(), 620 rather than u_char buf[16] 621 - add a few more comments 622 623 new features: 624 - add `usage'; displays the usage of a command. 625 implemented by calling the c_handler() with argc = 0, argv = 626 "funcname". 627 - add `passive auto'; does the same as $FTPMODE=auto. 628 - add `set [option value]'; display all options, or set an option to 629 a value. 630 - add `unset option'; unset an option. 631 - add getoptionvalue() to retrieve an option's value, and replace a few 632 global variables with calls to this. 633 - implement cleanuppeer(), which resets various bits of state back to 634 `disconnected'. call in disconnect() and lostpeer(). 635 - support completing on `options'. 636 - improve recovery after a SIGINT may have closed the connection. 637 XXX: there's still a couple to fix 638 639 other stuff: 640 - various consistency fixes in the man page. 641 - ensure that the command usage strings in the code and man page 642 match reality. 643 - mput/mget: check that the connection still exists before each xfer. 644 - minor cosmetic changes in confirm(). 645 - set code correctly in sizecmd() and modtime() 646 - don't need \n in err() strings. 647 - change lostpeer to take an argument (rather than casting 648 (sig_t)lostpeer in signal handlers) 649 - knf and whitespace police. 650 651Sun Oct 24 17:02:59 EST 1999 lukem 652 653 * merge libedit from NetBSD-current (19991024): 654 - don't assume locales are not working - it may not be 655 the case 656 - re_refresh(): cast the character passed to re_addc() to 657 unsigned char, so we don't end up calling isprint() with 658 negative value when chars are signed and character value 659 is >= 128 660 - Fix pointer arithmatic (caused problems on LP64, including 661 ftp dumping core when `edit' was turned off then on). 662 Problem solved by David Huggins-Daines <dhd@eradicator.org> 663 664Tue Oct 12 18:05:21 EST 1999 lukem 665 666 * install man page from ${srcdir} not from . 667 668Tue Oct 12 17:00:41 EST 1999 lukem 669 670 * released 1.0b6 671 672 * merge from NetBSD-current (19991012): 673 a few user interface and cosmetic tweaks: 674 - confirm(): move from util.c to cmds.c. display mnemonic 675 string in its prompt. add support for `q' (terminate 676 current xfer), `?' (show help list) 677 - in various signal handlers, output a linefeed only if 678 fromatty. 679 - if fgets(stdin) returned NULL (i.e, EOF), clearerr(stdin) 680 because you don't want future fgets to fail. this is not 681 done for the fgets() in the main command loop, since ftp 682 will quit at that point. 683 - unless ftp is invoked with -a, don't retain the anonftp 684 setting between hosts (`ftp somehost:' sets anonftp, but 685 you don't want that to `stick' if you close that connection 686 and open a new one). 687 688Mon Oct 11 23:06:38 EST 1999 lukem 689 690 * check for working const 691 692 * reorganise addition of -lukem to LIBS (was being added twice) 693 694 * merge from netbsd-current: 695 - use sigjmp_buf instead of jmp_buf for sigsetjmp() buffer 696 697 * libedit: don't bother generating & compiling editline.c, since 698 its component parts are compiled anyway. 699 700Sun Oct 10 12:08:39 EST 1999 lukem 701 702 * released 1.0b5 703 704 * in libedit, use xsignal_restart() (from src/util.c) instead of 705 signal(); the isn't guaranteed to work on some foreign systems 706 (e.g, IRIX) if sigaction() is used in the same program. 707 708 * merge from netbsd-current: 709 - use sigsetjmp()/siglongjump() instead of setjmp()/longjmp(); 710 the latter don't save the signal mask on some foreign systems. 711 - ensure signal handlers don't use stdio and do reset errno 712 if they don't exit with siglongjmp() 713 - use a common SIGINT handler for {send,recv}request() 714 - allow a second SIGINT during the "xfer aborted. waiting for 715 remote to finish abort." stage. if this occurs, just call 716 lostpeer() to close the connection. whilst this might be 717 considered brutal, it's also extremely handy if you're 718 impatient or there's lossage at the remote end. 719 720 * add preformatted manual page 721 722 * fix --enable-editline 723 724Wed Oct 6 10:19:00 EST 1999 lukem 725 726 * released 1.0b4 727 728 * don't defining SIGINFO to SIGQUIT if the former doesn't exist; the 729 code now supports both as a method of getting the transfer stats 730 731 * rototill signal handling in the actual data xfer routines, and 732 specifically set SIGQUIT to psummary in each one, to override 733 editline's handler 734 735Tue Oct 5 23:48:29 EST 1999 lukem 736 737 * factor out SIGINFO setting into a handler that is always active 738 (but only prints out info if bytes > 0). only set the handler if 739 SIGINFO is defined 740 741 * hijack SIGQUIT to be the same as SIGINFO 742 743 * in {recv,send}request(), factor a lot of duplicated code out into 744 a `cleanup' section at the end 745 746 * rework shell() a bit 747 748 * enhancments from Marc Horowitz <marc@mit.edu> to improve 749 connection timeouts: 750 - implement xsignal_restart(), which only sets the SA_RESTART 751 flag if specifically requested 752 - xsignal() is now a wrapper to xsignal_restart(). INFO, 753 USR1, USR2 and WINCH are restartable, ALRM, INT, PIPE and 754 QUIT are not 755 - improve getreply()'s timeout code to take advantage of the 756 above 757 758 * improve wording of how globbing works for `classic' URLs (host:path) 759 suggested by John Refling <johnr@imageworks.com> in relation to PRs 760 [bin/8519] and [bin/8520] 761 762 * always compile in the `edit' command even if NO_EDITCOMPLETE defined 763 it's just a no-op in the latter case, which is more consistent to 764 the users 765 766 * always compile in about: support (i.e, remove NO_ABOUT). i'm 767 entitled to some vanity in this program... 768 769 * update copyrights 770 771Mon Oct 4 10:57:41 EST 1999 lukem 772 773 * Invoke ar with `cr' not `cq' 774 775 * Use AC_PROG_RANLIB to find ranlib, and use it on the libraries 776 777 * Remove `makelist' from dependency list for libedit files; re-running 778 configure shouldn't result in rebuilding libedit 779 780 * Add support for --{en,dis}able-editcomplete (defaults to enabled), 781 which prevents libedit support from being compiled in. 782 From Chris G. Demetriou <cgd@netbsd.org> 783 784Sun Oct 3 16:49:01 EST 1999 lukem 785 786 * touch up the README 787 788 * add COPYING, INSTALL, THANKS 789 790 * whitespace consistency 791 792 * in config.h, replace NO_QUAD with HAVE_QUAD_SUPPORT, and in 793 lukemftp.h define the former if the latter is non zero 794 795 * change test against GETPGRP_VOID from #ifdef to #if 796 797 * snprintf(): in the truncation case, ensure that the length 798 returned is the actual length, not the needed length 799 800Sat Oct 2 00:41:34 EST 1999 lukem 801 802 * fix more lossage with $(srcdir) / $(VPATH) stuff; seems to work now 803 when configured in a separate directory 804 805 * actually test the correct variable when determining whether to run 806 AC_FUNC_GETPGRP 807 808Fri Oct 1 19:32:22 EST 1999 lukem 809 810 * released 1.0b3 811 812 * use AC_PROG_MAKE_SET 813 814 * determine setting of NO_QUAD with configure not lukemftp.h 815 816 * if have long long and have snprintf, test that snprintf 817 supports %lld. if it doesn't use private version 818 819 * change strtoq from returning off_t to returning long long 820 821 * updates from NetBSD mainline: 822 - only try epsv once per connection (i.e, don't bother again 823 if it fails) 824 - improve description of rate command 825 - fix up global vars; they're now externed in ftp_var.h 826 except when main.c includes it 827 - remove "pathnames.h" 828 829Fri Oct 1 10:08:43 EST 1999 lukem 830 831 * updates from NetBSD mainline: 832 - fix determining of homedir 833 - parse_url(): fix checking of portnum 834 - move kame copyrights after bsd/tnfi ones 835 836 * released 1.0b2 837 838 * add %lld and %qd support to snprintf() for displaying long long's 839 840 * support VPATH and srcdir 841 842Thu Sep 30 17:19:35 EST 1999 lukem 843 844 * released 1.0b1 845 846 * fix from NetBSD mainline: in empty() FD_ZERO the correct variable 847 848Wed Sep 29 23:34:33 EST 1999 lukem 849 850 * major rework; reimport code from NetBSD-current 1999/09/29 into 851 separate subdirectories and build from there. organisation is now: 852 libedit replacement libedit 853 libukem replacements for missing functions 854 src main ftp source 855 856Mon Sep 27 00:43:12 EST 1999 lukem 857 858 * released 1.0 a6 859 860Sun Sep 26 17:17:05 EST 1999 lukem 861 862 * released 1.0 a5 863 864Sat Sep 25 00:58:28 EST 1999 lukem 865 866 * released 1.0 a4 867 868Fri Sep 24 17:07:07 EST 1999 lukem 869 870 * released 1.0 a3 871 872Fri Sep 24 16:18:29 EST 1999 lukem 873 874 * released 1.0 a2 875 876Tue Sep 21 11:38:49 EST 1999 lukem 877 878 * import usr.src/bin/ftp and usr.src/lib/libedit sources from NetBSD 879