ChangeLog revision 98247
198247SmikehMon Jun 10 08:12:35 UTC 2002 lukem 298247Smikeh 398247Smikeh * crank FTP_VERSION from 1.6-beta1 to 1.6-beta2 498247Smikeh 598247Smikeh * replace missing fseeko(), with a wrapper to fseek() which 698247Smikeh checks that the offset isn't > LONG_MAX 798247Smikeh 898247Smikeh * #include <regex.h> #if HAVE_REGEX_H 998247Smikeh 1098247SmikehMon Jun 10 01:27:46 UTC 2002 lukem 1198247Smikeh 1298247Smikeh * check for and replace sa_family_t definition 1398247Smikeh 1498247Smikeh * don't bother checking for issetugid(); it was only used in the 1598247Smikeh internal libedit to prevent $HOME/.editrc from being used if 1698247Smikeh running set-id, and the newer libedit code wouldn't even read 1798247Smikeh $HOME/.editrc if issetugid() wasn't available. as many target 1898247Smikeh operating systems don't have issetugid(), and lukemftp isn't 1998247Smikeh likely to be run set-id (and $HOME/.netrc is used in any case), 2098247Smikeh the issetugid() check has been disabled in libedit. 2198247Smikeh 2298247Smikeh * add back cpp code which #defines REGEX #if HAVE_REGEX_H 2398247Smikeh 2498247SmikehWed Jun 5 14:39:11 UTC 2002 lukem 2598247Smikeh 2698247Smikeh * crank FTP_VERSION from 1.6alpha1 to 1.6-beta1 2798247Smikeh 2898247Smikeh * implement replacement setprogname() 2998247Smikeh 3098247Smikeh * use getprogname() instead of __progname 3198247Smikeh 3298247Smikeh * convert to christos' replacement fgetln(), as it's better than mine 3398247Smikeh 3498247Smikeh * merge ftp from NetBSD 20020605 to 20020606: 3598247Smikeh - use setprogname() 3698247Smikeh - only support -6 if INET6 is defined 3798247Smikeh 3898247SmikehWed Jun 5 13:08:25 UTC 2002 lukem 3998247Smikeh 4098247Smikeh * don't bother checking if <glob.h> is usable (see below). 4198247Smikeh 4298247Smikeh * always compile in local glob; it's the best way to ensure that 4398247Smikeh various security issues are fixed 4498247Smikeh 4598247Smikeh * update libukem/glob.c from NetBSD's __glob13.c rev 1.22 and rev 1.23 4698247Smikeh 4798247Smikeh * merge libedit from NetBSD 20010413 to 20020606: 4898247Smikeh - constify; passes all gcc and lint strict checks. 4998247Smikeh - add config.h [Jason Evans], to create a portable version of 5098247Smikeh libedit that can be easily compiled on other OS's. 5198247Smikeh - PR/12963:Jason Waterman: Fix signed cast problems. 5298247Smikeh - Fixed an __P remnant 5398247Smikeh - Close quoting. 5498247Smikeh - Generate <>& symbolically. 5598247Smikeh - Punctuation and whitespace nits, fix a typo. 5698247Smikeh - PR/14188: Anthony Mallet: Provide an opaque data 5798247Smikeh pointer to client programs. 5898247Smikeh - a couple of minor fixes. originally by Ruslan Ermilov 5998247Smikeh <ru@FreeBSD.org>, highlighted to me by way of Mike Barcroft 6098247Smikeh <mike@FreeBSD.org> (thanks!) 6198247Smikeh - PR/14067: Anthony Mallet: Provide a programmatic way 6298247Smikeh to set the read_char function via a new el_set() operation. 6398247Smikeh Thanks, nicely done :-) 6498247Smikeh - `existent', not `existant' 6598247Smikeh - Don't use HAVE_ yet. 6698247Smikeh - Fix a warning. 6798247Smikeh - Remove an unused variable. 6898247Smikeh - If term_init() fails, cleanup and return NULL. This 6998247Smikeh avoids other lossage. Pointed by charles. 7098247Smikeh - va_{start,end} audit: Make sure that each va_start has one 7198247Smikeh and only one matching va_end, especially in error cases. 7298247Smikeh If the va_list is used multiple times, do multiple 7398247Smikeh va_starts/va_ends. If a function gets va_list as argument, 7498247Smikeh don't let it use va_end (since it's the callers 7598247Smikeh responsibility). Improved by comments from enami and 7698247Smikeh christos -- thanks! 7798247Smikeh - history_def_enter: fix off-by-one mistake in delete 7898247Smikeh condition (the behaviour to keep at least one entry on the 7998247Smikeh history list is retained). This fixes lib/9704 by Phil Nelson. 8098247Smikeh 8198247Smikeh * merge ftp from NetBSD 20020524 to 20020605: 8298247Smikeh - when showing the final progress bar, replace "00:00 ETA" 8398247Smikeh with the elapsed time. (suggested by simonb) 8498247Smikeh - actually display transfer stats after a URL fetch. 8598247Smikeh (bug introduced a *long* time ago) 8698247Smikeh - update copyright & version 8798247Smikeh 8898247Smikeh * merge ftp from NetBSD 20001127 to 20020524: 8998247Smikeh - Use "r+" instead of "r+w", since the latter is not standard. 9098247Smikeh Noted by <Steve.McClellan@radisys.com> in private email. 9198247Smikeh - Only send port number in HTTP/1.1 Host: request if port != 9298247Smikeh 80. Fixes [bin/15415] from Takahiro Kambe 9398247Smikeh <taca@sky.yamashina.kyoto.jp> 9498247Smikeh - Fix bad mode passed by mls() to recvrequest(). Fixes 9598247Smikeh [bin/16642] from <steve.mcclellan@radisys.com> 9698247Smikeh - update copyrights 9798247Smikeh - minor knf 9898247Smikeh - invoke cmdtab.c_handler()s with argv[0] == c_name instead 9998247Smikeh of the supplied name. that way the full (unambiguous) name 10098247Smikeh is displayed in error messages and usage strings. 10198247Smikeh - line2 may overrun if line is too long (> 200). be more 10298247Smikeh careful on strcpy. 10398247Smikeh - Handle URLs without files correctly (e.g, when using '-o -'). 10498247Smikeh Fix from Anders Dinsen <anders@dinsen.net> in [bin/13768] 10598247Smikeh - portnum is unsigned, use %u instead of %d 10698247Smikeh - Add -4 to force IPv4 and -6 to force IPv6 address usage. 10798247Smikeh From Hajimu UMEMOTO, via Mike Heffner of FreeBSD. 10898247Smikeh - use u_char instead of char in base64_encode(). 10998247Smikeh problem noticed by Jorgen Lundman in private mail. 11098247Smikeh - don't make broken file with -R option. 11198247Smikeh - handle "*" in Content-Range properly. 11298247Smikeh - If no_proxy condition is true && urltype == FTP_URL_T, 11398247Smikeh use fetch_ftp to retrieve 11498247Smikeh - convert to use getprogname() 11598247Smikeh - Fix description for "form", "mode", and "struct" commands. 11698247Smikeh Inspired by [bin/16736] from Steve McClellan 11798247Smikeh <steve.mcclellan@radisys.com> 11898247Smikeh - Generate <>& symbolically. I'm avoiding .../dist/... 11998247Smikeh directories for now. 12098247Smikeh - Punctuation nits. 12198247Smikeh - Whitespace cleanup. 12298247Smikeh - put "site" in alphabetical order. noted by Mike Barcroft 12398247Smikeh in private email 12498247Smikeh - avoid buffer overrun on PASV from malicious server. 12598247Smikeh - Large file ASCII mode support by using fseeko() 12698247Smikeh instead of fseek(). From Andrey A. Chernov of FreeBSD, 12798247Smikeh via Mike Heffner. 12898247Smikeh - Deal with const'ification if el_parse(). 12998247Smikeh - call setlocale() on startup 13098247Smikeh - display a limited progress bar (containing bytes xferred 13198247Smikeh and xfer rate) when the file size is unknown 13298247Smikeh - disable progress bar during remglob() 13398247Smikeh 13498247SmikehThu Mar 14 05:41:49 UTC 2002 lukem 13598247Smikeh 13698247Smikeh * ensure all AF_INET6 use is protected with #ifdef INET6 13798247Smikeh 13898247Smikeh * remove unnecessary __attribute__ goop 13998247Smikeh 14098247Smikeh * libukem/snprintf.c: fix compile errors with gcc 3.x 14198247Smikeh 14298247SmikehTue Apr 17 08:07:29 UTC 2001 lukem 14398247Smikeh 14498247Smikeh * autoconf check for %q long long support in *printf() 14598247Smikeh (instead of %ll), define and use HAVE_PRINTF_QD if so 14698247Smikeh 14798247Smikeh * ipv6 isn't compatible with socks, so disable the former 14898247Smikeh 14998247Smikeh * look for <libutil.h> (instead of <util.h>) and <arpa/nameser.h> 15098247Smikeh 15198247Smikeh * don't check for fparseln() twice 15298247Smikeh 15398247Smikeh * fix getaddrinfo() checks 15498247Smikeh 15598247Smikeh * crank FTP_VERSION from 1.5 to 1.6alpha1 15698247Smikeh 15798247Smikeh * always ensure _PATH_BSHELL and _PATH_TMP are defined 15898247Smikeh 15998247Smikeh * prototype inet_pton() if its missing 16098247Smikeh 16198247Smikeh * don't bother trying to use if_indextoname() in ip6_sa2str() 16298247Smikeh (fixes problems on MacOS X) 16398247Smikeh 16498247Smikeh * in inet_pton(), pull in <arpa/nameser.h> for IN6ADDRSZ and INT16SZ, 16598247Smikeh and define if missing 16698247Smikeh 16798247SmikehFri Apr 13 15:24:44 UTC 2001 lukem 16898247Smikeh 16998247Smikeh * only include <arpa/nameser.h> if we have it 17098247Smikeh 17198247Smikeh * update glob(3) to netbsd-current (20010329), adding support 17298247Smikeh for GLOB_LIMIT and fixing various buffer overflows. 17398247Smikeh 17498247Smikeh * update editline from NetBSD 20000915 -> NetBSD 20010413 17598247Smikeh - Enlarge editline buffers as needed to support arbitrary 17698247Smikeh length lines. This also addresses lib/9712 by Phil Nelson. 17798247Smikeh - consistently check for allocation failures and return -1, 17898247Smikeh if we could not get more memory. 17998247Smikeh - add support for home and end keys. 18098247Smikeh - improve debugging support 18198247Smikeh - el_line_t: make 'limit' const 18298247Smikeh 18398247SmikehMon Nov 27 23:23:40 EST 2000 lukem 18498247Smikeh 18598247Smikeh * merge ftp from NetBSD-current (20001127): 18698247Smikeh - implement "mreget"; as per "mget" but uses "reget" instead 18798247Smikeh of "get" 18898247Smikeh - add -N netrc and $NETRC, as methods to select an alternative 18998247Smikeh .netrc file 19098247Smikeh - cache local user name and home directory for further use 19198247Smikeh - in mget(), use docase() instead of a local version to do 19298247Smikeh the case conversion. 19398247Smikeh - format string cleanups 19498247Smikeh - be more explicit that $ftp_proxy and $http_proxy are not 19598247Smikeh supported for interactive sessions 19698247Smikeh - cope with 2553bis getnameinfo (always attach scope id) 19798247Smikeh getnameinfo error check. 19898247Smikeh - use NI_MAXHOST with getnameinfo. we can assume presence of 19998247Smikeh getnameinfo. 20098247Smikeh 20198247SmikehTue Nov 7 00:16:23 EST 2000 lukem 20298247Smikeh 20398247Smikeh * libukem/snprintf.c had a non-functional `%s' due to a 20498247Smikeh function declaration mismatch. problem found and fixed 20598247Smikeh by Hubert Feyrer <hubert@feyrer.de> 20698247Smikeh 20779971SobrienWed Oct 11 14:06:19 EST 2000 lukem 20879971Sobrien 20979971Sobrien * released version 1.5 21079971Sobrien 21179971SobrienTue Oct 3 10:22:36 EST 2000 lukem 21279971Sobrien 21379971Sobrien * crank to version 1.5 beta6 21479971Sobrien 21579971Sobrien * merge ftp from NetBSD-current (20001003) 21679971Sobrien - explicitly use SOCK_STREAM with socket() instead of 21779971Sobrien res->ai_socktype, because it appears that linux with glibc 21879971Sobrien doesn't set the latter correctly after one of getaddrinfo() 21979971Sobrien or getnameinfo(). 22079971Sobrien - clarify that $ftp_proxy only works for full URLs and can't 22179971Sobrien be used for interactive connections. 22279971Sobrien 22379971SobrienMon Sep 25 21:52:12 EST 2000 lukem 22479971Sobrien 22579971Sobrien * crank to version 1.5 beta5 22679971Sobrien 22779971SobrienSun Sep 24 13:31:19 EST 2000 lukem 22879971Sobrien 22979971Sobrien * merge ftp from NetBSD-current (20000924) 23079971Sobrien - since everything else here uses ANSI C, we might as well 23179971Sobrien replace __STRING() with the ANSI C stringization stuff... 23279971Sobrien - base64_encode should be static. picked up by hp/ux(!) 23379971Sobrien compiler 23479971Sobrien - It appears that whilst Apache 1.3.9 incorrectly puts a 23579971Sobrien trailing space after the chunksize (before the \r\n), 23679971Sobrien Apache 1.3.11 puts *multiple* trailing spaces after the 23779971Sobrien chunksize. I 'm fairly certain that this is contrary to 23879971Sobrien RFC 2068 section 3.6, but whatever... 23979971Sobrien Found by David Brownlee <abs@mono.org> 24079971Sobrien - always include <netdb.h>, not just when INET6 is defined. 24179971Sobrien resolves PR [bin/10970] by Richard Earnshaw 24279971Sobrien <rearnsha@cambridge.arm.com>> 24379971Sobrien - in progressmeter() perform the check for foregroundproc() a 24479971Sobrien little earlier 24579971Sobrien - removed unused variable `items' in list_vertical() 24679971Sobrien 24779971SobrienSat Sep 23 15:43:34 EST 2000 lukem 24879971Sobrien 24979971Sobrien * remove unused sverrno in warnx() and errx() 25079971Sobrien 25179971Sobrien * remove unused h_error in getnameinfo() 25279971Sobrien 25379971Sobrien * in getaddrinfo(), don't bother declaring in6_addrany[] and 25479971Sobrien in6_loopback #ifndef INET6 25579971Sobrien 25679971SobrienThu Sep 21 11:26:35 EST 2000 lukem 25779971Sobrien 25879971Sobrien * in getaddrinfo.c::str_isnumber(), use strtol() and check the 25979971Sobrien result, instead of using strtoul() and not checking the result. 26079971Sobrien 26179971Sobrien * define INADDRSZ if it's not found (e.g, HP/UX doesn't seem to have 26279971Sobrien it in <arpa/nameser.h>) 26379971Sobrien 26479971SobrienWed Sep 20 09:23:59 EST 2000 lukem 26579971Sobrien 26679971Sobrien * crank to version 1.5 beta4 26779971Sobrien 26879971SobrienMon Sep 18 18:19:54 EST 2000 lukem 26979971Sobrien 27079971Sobrien * add AC_AIX test, which defines _ALL_SOURCE under AIX 27179971Sobrien 27279971Sobrien * use ANSI # stringization instead of __STRING() 27379971Sobrien 27479971Sobrien * define HAVE_RFC2553_NETDB if <netdb.h> defines AI_NUMERICHOST 27579971Sobrien (et al) and has getaddrinfo(). (some systems only implement RFC2133) 27679971Sobrien 27779971Sobrien * don't bother with AC_C_CONST as we depend upon ANSI C elsewhere 27879971Sobrien 27979971Sobrien * when HAVE_RFC2553_NETDB isn't set, and we're #defining various EAI_, 28079971Sobrien AI_, and NI_ items, #undef first incase a system partially implements 28179971Sobrien these in <netdb.h> 28279971Sobrien 28379971Sobrien * look for tgetent() in -ltinfo before -lncurses, because ncurses 5.0 28479971Sobrien has been split up into multiple libraries. 28579971Sobrien from Arkadiusz Miskiewicz <misiek@pld.org.pl> 28679971Sobrien 28779971SobrienFri Sep 15 01:09:10 EST 2000 lukem 28879971Sobrien 28979971Sobrien * don't bother defining __P() or __STRING() based on whether 29079971Sobrien __STDC__ is available or not, since these aren't used any more 29179971Sobrien 29279971Sobrien * fix mkstemp() prototype 29379971Sobrien 29479971Sobrien * declare getpass() if necessary 29579971Sobrien 29679971Sobrien * we don't need the readline xxgdb hack in libedit... 29779971Sobrien 29879971Sobrien * convert to ansi declarations 29979971Sobrien 30079971Sobrien * use ansi prototypes instead of __P() 30179971Sobrien 30279971Sobrien * merge in changes from makelist 1.4 -> 1.6: 30379971Sobrien - generate ansi prototypes instead of using __P(). noted by 30479971Sobrien christos 30579971Sobrien - fix a couple of comments 30679971Sobrien - add -m option to makelist, which generates an mdoc table 30779971Sobrien with the key bindings and their descriptions 30879971Sobrien - manually add the output of 'sh ./makelist -m vi.c ed.c 30979971Sobrien common.c' to a new section in editrc(5) called 31079971Sobrien `EDITOR COMMANDS' 31179971Sobrien 31279971Sobrien * merge libedit from NetBSD-current (20000915) 31379971Sobrien * convert to new style guide, which includes: 31479971Sobrien - ansi prototypes & features (such as stdargs) 31579971Sobrien - 8 space indents 31679971Sobrien * history_def_set has a `const int' as a third arg, not an 31779971Sobrien `int'. picked up by the ultrix compiler, reported by 31879971Sobrien simonb@ ... 31979971Sobrien * generate ansi prototypes instead of using __P(). noted by 32079971Sobrien christos. fix a couple of comments 32179971Sobrien * make xxgdb and a gdb linked with libedit's readline emulation 32279971Sobrien work properly together. xxgdb communicates with a gdb 32379971Sobrien running on a pty that it sets to -echo,-onlcr prior to 32479971Sobrien forking the gdb process. GNU readline preserves the -echo 32579971Sobrien setting while libedit was undoing it (setting the tty to a 32679971Sobrien sane state and totally confusing xxgdb's parser). 32779971Sobrien this diff simply disables libedit if both readline emulation 32879971Sobrien and "stty -echo" are used/set. that is enough to make 32979971Sobrien xxgdb work once again, but (XXX) this is not how GNU readline 33079971Sobrien handles stty -echo (it does not echo anything, but editing 33179971Sobrien commands like ^A,^K, etc. still work), so the readline 33279971Sobrien emulation isn't perfect. 33379971Sobrien 33479971SobrienTue Aug 29 18:00:08 EST 2000 lukem 33579971Sobrien 33679971Sobrien * don't bother testing for #if __STDC__; just assume we have it... 33779971Sobrien 33879971SobrienMon Aug 28 22:45:08 EST 2000 lukem 33979971Sobrien 34079971Sobrien * refine tests for IPv6 #defines (EAI_, AI_, NI_, ...). 34179971Sobrien should improve portability on systems which implement 34279971Sobrien RFC 2133 but not RFC 2553. 34379971Sobrien 34479971SobrienWed Aug 9 02:12:51 EST 2000 lukem 34579971Sobrien 34679971Sobrien * use #if __STDC__ instead of #ifdef __STDC__ 34779971Sobrien 34879971Sobrien * only test 'case NETDB_INTERNAL:' if it's defined 34979971Sobrien 35079971Sobrien * fix support for --program-prefix et al 35179971Sobrien 35279971Sobrien * only include <arpa/nameser.h> in the files that need it, because 35379971Sobrien the DELETE define in some system's implementations causes name 35479971Sobrien collisions in libedit. 35579971Sobrien 35679971SobrienMon Aug 7 08:17:37 EST 2000 lukem 35779971Sobrien 35879971Sobrien * merge ftp from NetBSD-current (20000807) 35979971Sobrien * implement parseport(), which takes a string and attempts to 36079971Sobrien convert it to a numeric port number 36179971Sobrien * use parseport() in parse_url() and hookup() 36279971Sobrien * don't try and lookup the port number using getaddrinfo(), 36379971Sobrien as it's too hard to separate a failed host name lookup from 36479971Sobrien a failed service name lookup. this was causing lossage on 36579971Sobrien systems that don't have `http' in services(5) (such as 36679971Sobrien solaris), but only crept in when we started using 36779971Sobrien getaddrinfo() unconditionally. 36879971Sobrien 36979971SobrienWed Aug 2 23:43:50 EST 2000 lukem 37079971Sobrien 37179971Sobrien * crank to version 1.5 beta3 37279971Sobrien 37379971Sobrien * define NO_LONG_LONG not NO_QUAD 37479971Sobrien 37579971Sobrien * detect if struct sockaddr.sa_len exists (rather than relying upon 37679971Sobrien #ifdef BSD4_4) 37779971Sobrien 37879971Sobrien * detect if socklen_t exists, and if not, typedef as unsigned int 37979971Sobrien 38079971Sobrien * detect if struct addrinfo exists, and if not declare it and #define 38179971Sobrien associated EAI_, AI_, and NI_ defines. 38279971Sobrien 38379971Sobrien * look for & replace: getaddrinfo(), getnameinfo(), inet_ntop(), 38479971Sobrien inet_pton() 38579971Sobrien * look for gethostbyname2() 38679971Sobrien 38779971Sobrien * don't bother looking for hstrerror() or inet_aton() anymore 38879971Sobrien 38979971Sobrien * include <arpa/nameser.h> and <stddef.h> 39079971Sobrien 39179971Sobrien * define USE_SELECT instead of __USE_SELECT 39279971Sobrien 39379971Sobrien * always define HAVE_H_ERRNO 39479971Sobrien 39579971Sobrien * add Brian Stark to THANKS, for lots of AIX porting feedback 39679971Sobrien 39779971Sobrien * improve detection of sin_len for AIX (now part of sa_len test) 39879971Sobrien 39979971Sobrien * add functions needed by recent ftp import: 40079971Sobrien getaddrinfo(), getnameinfo(), inet_ntop(), inet_pton() 40179971Sobrien remove functions not needed anymore: 40279971Sobrien hstrerror(), inet_aton() 40379971Sobrien 40479971Sobrien * use #if HAVE_ISSETUGID not #ifdef 40579971Sobrien 40679971Sobrien * update from NetBSD-current (20000802): 40779971Sobrien - rename NO_QUAD to NO_LONG_LONG, QUAD* -> LL* and add ULL* 40879971Sobrien (unsigned) equivalents. name change suggested by Klaus 40979971Sobrien Klein <kjk@netbsd.org> 41079971Sobrien - change defined(BSD4_4) || HAVE_SIN_LEN tests into 41179971Sobrien HAVE_SOCKADDR_SA_LEN, and set the latter if BSD4_4 exists 41279971Sobrien 41379971SobrienMon Jul 31 10:59:10 EST 2000 lukem 41479971Sobrien 41579971Sobrien * merge ftp from NetBSD-current (20000731) 41679971Sobrien - we can't just rename BSD4_4 -> HAVE_SIN_LEN, since bsd 41779971Sobrien systems define BSD4_4; change tests to test for either 41879971Sobrien defined(BSD4_4) or HAVE_SIN_LEN 41979971Sobrien - more KNF 42079971Sobrien 42179971SobrienSun Jul 30 16:55:09 EST 2000 lukem 42279971Sobrien 42379971Sobrien * merge ftp from NetBSD-current (20000730): 42479971Sobrien - clean up NO_QUAD support: create helper #defines and use as 42579971Sobrien appropriate: 42679971Sobrien #define NOQUAD ! NOQUAD 42779971Sobrien ------- ------ - ------ 42879971Sobrien QUADF "%ld" "%lld" 42979971Sobrien QUADFP(x) "%" x "ld" "%" x "lld" 43079971Sobrien QUADT long long long 43179971Sobrien STRTOL(x,y,z) strtol(x,y,z) strtoll(x,y,z) 43279971Sobrien - always use getaddrinfo() and getnameinfo() instead of 43379971Sobrien maintaining two code paths. 43479971Sobrien - rename __USE_SELECT to USE_SELECT 43579971Sobrien - rename BSD4_4 to HAVE_SIN_LEN 43679971Sobrien - replace union sockunion {} with struct sockinet {}, and 43779971Sobrien modify the code accordingly. this is possibly more portable, 43879971Sobrien as it doesn't rely upon the structure alignment within the 43979971Sobrien union for our own stuff. 44079971Sobrien 44179971SobrienFri Jul 28 22:11:17 EST 2000 lukem 44279971Sobrien 44379971Sobrien * merge ftp from NetBSD-current (20000728): 44479971Sobrien - no trailing , on last item (FEAT_max) in enum 44579971Sobrien - rename "opts" to "remopts", so people used to "o host" 44679971Sobrien don't get bitten 44779971Sobrien 44879971SobrienWed Jul 26 18:59:19 EST 2000 lukem 44979971Sobrien 45079971Sobrien * merge ftp from NetBSD-current (20000726): 45179971Sobrien - add support for FEAT and OPTS commands with `features' and 45279971Sobrien `opts'. (from RFC 2389). 45379971Sobrien - add support for MLST & MLSD (machine parseble listings) 45479971Sobrien with 'mlst', 'mlsd' and 'pmlsd' (mlsd |$PAGER) commands. 45579971Sobrien (from draft-ietf-ftpext-mlst-11) 45679971Sobrien - rename remotesyst() to getremoteinfo(), and modify to parse 45779971Sobrien the result from FEAT (if supported), and take into account 45879971Sobrien the support for the various extensions such as MDTM, SIZE, 45979971Sobrien REST (STREAM), MLSD, and FEAT/OPTS. 46079971Sobrien - put each feature into one of the following categories: 46179971Sobrien - known to work (explicit FEAT) 46279971Sobrien - unknown but assume works until explicit failure, 46379971Sobrien when it's then tagged as `known not to work'. 46479971Sobrien - known not to work (FEAT succeeded but didn't return 46579971Sobrien anything, or was unknown and then explicit failure) 46679971Sobrien assign results into features[] matrix. 46779971Sobrien - add support to getreply() so that an optional callback will 46879971Sobrien be called for each line received from the server except for 46979971Sobrien the first and last. this is used in FEAT (and MLST) parsing. 47079971Sobrien - modify various commands to check if REST (STREAM), MDTM and 47179971Sobrien SIZE are explicitly or implicitly supported before using. 47279971Sobrien - fix `syst' when verbose is off. 47379971Sobrien - minor knf (indent goto labels by one space, etc). 47479971Sobrien - simply various command usage handlers by assuming that 47579971Sobrien argv != NULL except for quit() and disconnect(). 47679971Sobrien - errx?/warnx? audit. do not pass variable alone, use %s. 47779971Sobrien 47879971Sobrien * check for issetugid() and don't use in libedit if it doesn't exist. 47979971Sobrien 48079971Sobrien * merge libedit from NetBSD-current (20000726): 48179971Sobrien * Only look in home directory for .editrc. (Discussed 48279971Sobrien with Christos.) 48379971Sobrien 48479971Sobrien * in glob.c #undef TILDE before redefining, because some AIX systems 48579971Sobrien #define TILDE in <sys/ioctl.h> 48679971Sobrien 48779971SobrienMon Jul 10 00:28:51 EST 2000 lukem 48879971Sobrien 48979971Sobrien * released lukemftp 1.4 49079971Sobrien 49179971SobrienThu Jun 15 23:28:49 EST 2000 lukem 49279971Sobrien 49379971Sobrien * merge ftp from NetBSD-current (20000615): 49479971Sobrien * migrate the SYST parsing from setpeer() into a separate 49579971Sobrien remotesyst(). call remotesyst() only when login has been 49679971Sobrien successful some servers don't let you run SYST until you've 49779971Sobrien successfully logged in. 49879971Sobrien * in fetch_ftp(), always call setpeer() with autologin 49979971Sobrien disabled, and use the following ftp_login() to DTRT. this 50079971Sobrien prevents ftp from trying to login a second time if the 50179971Sobrien first autologin fails when connecting to a remote site 50279971Sobrien anonymously using autofetch. 50379971Sobrien * reset unix_proxy and unix_server in cleanuppeer() 50479971Sobrien * missed a function conversion in the KNF sweep... 50579971Sobrien 50679971SobrienMon Jun 12 01:16:12 EST 2000 lukem 50779971Sobrien 50879971Sobrien * change lukemftp.h to check !HAVE_STRDUP instead of !HAVE_STRSUP. 50979971Sobrien fixes compile problem on systems which have strdup() as a macro. 51079971Sobrien 51179971Sobrien * merge ftp from NetBSD-current (20000612): 51279971Sobrien from itojun: better fix for previous (doesn't need 51379971Sobrien in_addr_t or u_int32_t) 51479971Sobrien 51579971SobrienSun Jun 11 12:19:52 EST 2000 lukem 51679971Sobrien 51779971Sobrien * merge ftp from NetBSD-current (20000611): 51879971Sobrien portability fixes for lukemftp: 51979971Sobrien * initconn(): use in_addr_t instead of u_int32_t when 52079971Sobrien manipulating IPv6 addresses (and assume anything with ipv6 52179971Sobrien has in_addr_t; if not, i'll add an autoconf test for it) 52279971Sobrien * ai_unmapped(): not all systems have sin_len; so only set 52379971Sobrien #ifdef BSD4_4 52479971Sobrien * fix some lint 52579971Sobrien 52679971SobrienMon Jun 5 21:10:31 EST 2000 lukem 52779971Sobrien 52879971Sobrien * released lukemftp 1.3 52979971Sobrien 53079971SobrienMon Jun 5 19:53:49 EST 2000 lukem 53179971Sobrien 53279971Sobrien * convert various support files to ANSI C 53379971Sobrien 53479971Sobrien * look for strtoll() instead of strtoq() 53579971Sobrien 53679971Sobrien * update COPYRIGHT, THANKS, NEWS 53779971Sobrien 53879971Sobrien * merge ftp from NetBSD-current (20000605): 53979971Sobrien - fix ai_unmapped() to be a no-op in the !def INET6 case 54079971Sobrien - display `(-INET6)' at the end of the version string if 54179971Sobrien !def INET6 54279971Sobrien - clarify in the man page that IPv6 support may not be present 54379971Sobrien (for lukemftp :) 54479971Sobrien 54579971Sobrien * ensure <vis.h> has VIS_WHITE et al 54679971Sobrien 54779971SobrienSun Jun 4 18:00:07 EST 2000 lukem 54879971Sobrien 54979971Sobrien * merge ftp from NetBSD-current (20000604): 55079971Sobrien - Change `ls' to use the `LIST' and not `NLST' FTP protocol 55179971Sobrien command. Now that after many years on not caring we find 55279971Sobrien certain popular ftp servers are starting to obey RFC959 to 55379971Sobrien the letter of the law and will only return a list of 55479971Sobrien filenames (not directories or other filetypes) in the 55579971Sobrien output of `NLST', then `LIST' is more useful in this case. 55679971Sobrien (Note that the aforementioned pedanticness means that 55779971Sobrien filename completion isn't as useful as it could be...) 55879971Sobrien Fixes [bin/8937] by David A. Gatwood 55979971Sobrien <dgatwood@deepspace.mklinux.org> 56079971Sobrien - convert to ANSI KNF 56179971Sobrien - Add support for `fget localfile', which reads a list of 56279971Sobrien filenames to retrieve from localfile. Based on work by 56379971Sobrien Darren Reed. 56479971Sobrien - Update copyright dates. 56579971Sobrien - s/strtoq/strtoll/ (the latter is standardised) 56679971Sobrien - Add support for 'ftp -u url file ...', to upload a list of 56779971Sobrien files to given url. Mostly based on [bin/10019] by Scott 56879971Sobrien Aaron Bamford <sab@ansic.net> 56979971Sobrien - convert IPv4 mapped address (::ffff:10.1.1.1) into real IPv4 57079971Sobrien address before touching it. IPv4 mapped address complicates 57179971Sobrien too many things in FTP protocol handling. 57279971Sobrien - do not pass scoped IPv6 address notation on Host: directive, 57379971Sobrien since scope identifier is local to the originating node. 57479971Sobrien do not allow scoped IPv6 address notation in URL, if it is 57579971Sobrien via proxy. 57679971Sobrien - fixes from cgd: 57779971Sobrien * sanity check a length (otherwise certain bogus responses 57879971Sobrien can crash ftp) 57979971Sobrien * allow a transfer encoding type of `binary'; certain 58079971Sobrien firewall vendors return this bogus type... 58179971Sobrien - make debugging output unambiguous on IPv6 numeric addrs 58279971Sobrien (don't use host:port) 58379971Sobrien - http://[::1]:8080/ is legal. 58479971Sobrien - send Host: directive with RFC2732 bracket notation for IPv6 58579971Sobrien numeric, otherwise "host:port" is ambiguous to servers 58679971Sobrien (clarification will be submitted as update to RFC2732). 58779971Sobrien - only use getaddrinfo() et al if both NI_NUMERICHOST *and* 58879971Sobrien INET6 are defined... (allows --disable-ipv6 in lukemftp's 58979971Sobrien configure script to disable this as well, which is good for 59079971Sobrien testing when it appears getaddrinfo() is borken) 59179971Sobrien - updated comment on IPv4 mapped address. sync with kame. 59279971Sobrien - Fix examples on using pipes in local filenames. AFAICT, 59379971Sobrien ftp has always required `dir . |more' not as `dir |more' 59479971Sobrien treats `|more' as the remote filename. Resolves [bin/9922] 59579971Sobrien by Geoff Wing <mason@primenet.com.au> 59679971Sobrien - ftp(1): treats IPv4 mapped destination as IPv4 peer, not 59779971Sobrien native IPv6 peer. this does not support network with SIIT 59879971Sobrien translator. 59979971Sobrien - inhibit too-noisy message for scoped address data transfer 60079971Sobrien (will be enabled in "debug" mode). 60179971Sobrien - only use IPTOS_ setsockopt()s if they're defined (e.g, SunOS 60279971Sobrien doesn't). from Havard.Eidnes@runit.sintef.no 60379971Sobrien - allow IPv6 extended numeric address in host part. 60479971Sobrien (draft-ietf-ipngwg-scopedaddr-format-01.txt). fixes PR 9616. 60579971Sobrien 60679971Sobrien * merge libedit from NetBSD-current (20000604): 60779971Sobrien - use strtol() (instead of atoi()) for sane error detection 60879971Sobrien 60979971SobrienWed May 31 19:24:53 EST 2000 lukem 61079971Sobrien 61179971Sobrien * merge libedit from NetBSD-current (20000531): 61279971Sobrien - Fix refresh glitches when using auto-margin. 61379971Sobrien - Don't dump core on empty .editrc files. 61479971Sobrien - el_insertstr takes a "const char *" not "char *" now as it 61579971Sobrien doesn't modify the argument. 61679971Sobrien 61779971SobrienThu Feb 3 20:19:40 EST 2000 lukem 61879971Sobrien 61979971Sobrien * released lukemftp 1.2 62079971Sobrien 62179971SobrienTue Feb 1 09:47:51 EST 2000 lukem 62279971Sobrien 62379971Sobrien * add --enable-ipv6 and --disable-ipv6 to configure 62479971Sobrien 62579971Sobrien * modify libedit/sig.? to use sigfunc instead of sig_t, and 62679971Sobrien deprecate autoconf tests for retsigtype and sig_t. 62779971Sobrien This fixes portability problems with Digital UNIX 5.0. 62879971Sobrien 62979971Sobrien * merge ftp from NetBSD-current (20000201): 63079971Sobrien - define private type `sigfunc' as 63179971Sobrien typedef void (*sigfunc) __P((int)); 63279971Sobrien and replace use of sig_t and void (*)(int). 63379971Sobrien certain other OSes define sig_t differently to that (they 63479971Sobrien add extra arguments), and it causes problems due to 63579971Sobrien function mismatches, etc... 63679971Sobrien 63779971SobrienWed Jan 26 22:54:38 EST 2000 lukem 63879971Sobrien 63979971Sobrien * search for tgetent() in -ltermcap then -lcurses and -lncurses 64079971Sobrien 64179971Sobrien * merge ftp from NetBSD-current (20000126): 64279971Sobrien - roll back to using sscanf() instead of strptime() to parse 64379971Sobrien `yyyymmddhhmmss' strings, since the latter technically can't 64479971Sobrien parse dates without non alphanumerics between the elements 64579971Sobrien (even though NetBSD's strptime() copes). 64679971Sobrien 64779971SobrienTue Jan 25 19:09:37 EST 2000 lukem 64879971Sobrien 64979971Sobrien * merge ftp from NetBSD-current (20000125): 65079971Sobrien - complete_ambiguous(): be consistent about completing 65179971Sobrien unambiguous matches; if the word is already complete then 65279971Sobrien return CC_REFRESH so that the higher layer may append a 65379971Sobrien suffix if necessary. Fix from Launey Thomas <ljt@alum.mit.edu> 65479971Sobrien - change references from draft-ietf-ipngwg-url-literal-01.txt 65579971Sobrien to RFC2732 65679971Sobrien - work around bug in apache 1.3.9 which incorrectly puts a 65779971Sobrien trailing space after the chunksize. noted by Jun-ichiro 65879971Sobrien itojun Hagino <itojun@itojun.org> in [bin/9096] 65979971Sobrien - work around lame ftpd's that don't return a correct post-Y2K 66079971Sobrien date in the output of `MDTM'. obviously the programmer of 66179971Sobrien aforementioned lame ftpd's did something like 66279971Sobrien "19%02d", tm->tm_year 66379971Sobrien instead of 66479971Sobrien "%04d", tm->tm_year + TM_YEAR_BASE 66579971Sobrien fixes [bin/9289] by jbernard@mines.edu 66679971Sobrien 66779971Sobrien * merge libedit from NetBSD-current (20000125): 66879971Sobrien - PR/9244: Kevin Schoedel: libedit dumps bindings 66979971Sobrien inconsistently 67079971Sobrien - PR/9243: Kevin Schoedel: libedit ignores repeat count 67179971Sobrien - Add support for automatic and magic margins (from tcsh) 67279971Sobrien This makes the rightmost column usable on all programs 67379971Sobrien that use editline. 67479971Sobrien 67579971SobrienTue Dec 21 08:59:22 EST 1999 lukem 67679971Sobrien 67779971Sobrien * update INSTALL notes for some systems 67879971Sobrien 67979971Sobrien * if sl_init() exists, check return value of sl_add() is int and 68079971Sobrien compile in a replacement copy if it's not the case 68179971Sobrien 68279971Sobrien * don't look for <stringlist.h> - always use local prototypes; older 68379971Sobrien NetBSD systems may have conflicting prototypes 68479971Sobrien 68579971SobrienMon Dec 20 11:21:28 EST 1999 lukem 68679971Sobrien 68779971Sobrien * merge ftp from NetBSD-current (19991220): 68879971Sobrien - Move version from ftp_var.h to version.h 68979971Sobrien - Fix chunked support; probably broke after rate limiting was added. 69079971Sobrien Problem noticed/debugging assisted by giles lean 69179971Sobrien <giles@nemeton.com.au>. 69279971Sobrien - remove unnecessary freeaddrinfo(res), since res0 was changed to be 69379971Sobrien freed earlier in itojun's last commit. fixes [bin/8948]. 69479971Sobrien - remove `const char *reason'; it was being assigned but not used. 69579971Sobrien - fix memory leak in fetch_url (no freeaddrinfo was there). 69679971Sobrien sync with recent KAME. 69779971Sobrien - separate out the main `data pump' loop into two: one that supports 69879971Sobrien rate limiting and one that doesn't. simplifies the code, and speeds 69979971Sobrien up the latter case a bit, at the expense of duplicating a few 70079971Sobrien lines... 70179971Sobrien 70279971SobrienSun Nov 28 18:20:41 EST 1999 lukem 70379971Sobrien 70479971Sobrien * merge ftp from NetBSD-current (19991128): 70579971Sobrien - implement xsl_init() and xsl_add(); error checking forms of 70679971Sobrien sl_{init,add}() 70779971Sobrien - fix bug where the second press of <TAB> on an empty word (i.e, list 70879971Sobrien all options) may have resulted in an strncmp() against NULL. 70979971Sobrien (detected by _DIAGASSERT()) 71079971Sobrien - in cleanuppeer(), reset username to NULL after free()ing it. 71179971Sobrien fixes [bin/8870] by Wolfgang Rupprecht <wolfgang@wsrcc.com> 71279971Sobrien - complete_remote(): use remglob("", ...) instead of remglob(".", ...), 71379971Sobrien for listings of the current working directory; some ftp servers don't 71479971Sobrien like `NLST .'. 71579971Sobrien [noted by Giles Lean <giles@nemeton.com.au>] 71679971Sobrien - recvrequest(): treat remote=="" as remote==NULL when calling 71779971Sobrien command(). (to support the above change) 71879971Sobrien - support `[user@]' in `[user@]host' and `[user@]host[:][path]'. 71979971Sobrien [based on idea (and initial code) from David Maxwell <david@fundy.ca>] 72079971Sobrien - `idle' may be invoked without any args 72179971Sobrien - reformat some comments 72279971Sobrien - reformat usage string in program and man page 72379971Sobrien - call updateremotepwd() after successful login, not after successful 72479971Sobrien connect 72579971Sobrien - always call setsockopt(, IPPROTO_IP, IP_TOS, ) (et al); using #if 72679971Sobrien defined(IPPROTO_IP) doesn't work on certain foreign systems where 72779971Sobrien enums instead of #defines are used... 72879971Sobrien [noted by Matthias Pfaller <leo@dachau.marco.de>] 72979971Sobrien 73079971SobrienMon Nov 15 23:01:58 EST 1999 lukem 73179971Sobrien 73279971Sobrien * released lukemftp 1.1 73379971Sobrien 73479971SobrienMon Nov 15 09:07:01 EST 1999 lukem 73579971Sobrien 73679971Sobrien * merge libedit from NetBSD-current (19991115): 73779971Sobrien - instead of using a private coord_t global variable to store 73879971Sobrien the size of the rprompt, use the previously unused coord_t 73979971Sobrien el->el_rprompt.p_pos 74079971Sobrien 74179971SobrienSat Nov 13 14:42:22 EST 1999 lukem 74279971Sobrien 74379971Sobrien * support caching of results in AC_MSG_TRY_{COMPILE,LINK} 74479971Sobrien autoconf tests 74579971Sobrien 74679971Sobrien * add NEWS file 74779971Sobrien 74879971Sobrien * clarify copyright statement in COPYING 74979971Sobrien 75079971Sobrien * merge ftp from NetBSD-current (19991113): 75179971Sobrien - implement `set rprompt'; right side version of `set prompt'. 75279971Sobrien depends on EL_RPROMPT support i added to editline(3). 75379971Sobrien - allow $FTPPROMPT and $FTPRPROMPT to override defaults for 75479971Sobrien the relevant prompts 75579971Sobrien - move `%' formatting code from prompt() to expandbuf(). 75679971Sobrien - implement `%.' and `%c', similar to the same % codes in 75779971Sobrien tcsh(1) (functionality I added to tcsh nearly 6 years ago), 75879971Sobrien except that `%.' always does `...trailing' and `%c' always 75979971Sobrien does `/<x>trailing'. 76079971Sobrien - unknown `%foo' codes get printed as `%foo' 76179971Sobrien - implement updateremotepwd(); update the global variable 76279971Sobrien `remotepwd' to contain the remote working directory. 76379971Sobrien - add `set prompt', a user configurable prompt. (defaults to 76479971Sobrien `ftp> '). the following escape characters a la tcsh(1) are 76579971Sobrien supported: %/, %m, %M, and %n. 76679971Sobrien - add global var `username'; used by prompt code 76779971Sobrien - fix a couple of minor memory leaks 76879971Sobrien - bump version 76979971Sobrien - prevent minor memory leak (unnecessary strdup) 77079971Sobrien - implement restarting file:/// non-proxied http:// URLs 77179971Sobrien (with -R). 77279971Sobrien - fix a semicolono which stopped file:/// from working 77379971Sobrien - split the version string into product and version 77479971Sobrien - be consistent about reporting the version between: 77579971Sobrien + status command 77679971Sobrien + about:version URL fetch 77779971Sobrien + User-agent sent in http requests 77879971Sobrien - hookup(): when using getservbyname() (when getaddrinfo() 77979971Sobrien isn't available), if the provided port is a valid number 78079971Sobrien use that rather than trying to do getservbyname() against 78179971Sobrien it. fixes a problem on foreign systems noted by Chuck 78279971Sobrien Silvers <chuq@chuq.com> 78379971Sobrien - support `about:version'. also display the version in the 78479971Sobrien output of `status'. 78579971Sobrien 78679971Sobrien * merge libedit from NetBSD-current (19991113): 78779971Sobrien - implement printing a right-side prompt. code derived from 78879971Sobrien similar work I wrote for tcsh(1) three years ago. 78979971Sobrien - implement EL_RPROMPT, which allows a setting/getting of a 79079971Sobrien function which returns a string to be used as the 79179971Sobrien right-side prompt. 79279971Sobrien 79379971Sobrien * replace manually managed config.h.in with acconfig.h and use 79479971Sobrien autoheader to generate the former. 79579971Sobrien 79679971Sobrien * add missing entry for `#undef write' in acconfig.h (for SOCKS) 79779971Sobrien 79879971Sobrien * configure.in: 79979971Sobrien - use `LL' suffix on long long constant used to test 80079971Sobrien snprintf("%lld") 80179971Sobrien - test for EL_RPROMPT instead of EL_EDITMODE, since the 80279971Sobrien former is is a newer required feature 80379971Sobrien 80479971Sobrien * in makelist, set LC_ALL="C", in case the locale confuses awk. 80579971Sobrien problem noted by Peter Seebach <seebs@plethora.net> 80679971Sobrien 80779971SobrienWed Oct 27 07:00:00 UTC 1999 lukem 80879971Sobrien 80979971Sobrien * released 1.0 81079971Sobrien 81179971Sobrien * removed libedit/TEST/test.c; no need to distribute it 81279971Sobrien 81379971SobrienMon Oct 25 21:59:54 EST 1999 lukem 81479971Sobrien 81579971Sobrien * released 1.0b7 81679971Sobrien 81779971Sobrien * put VERSION string into lukemftp.h, and display with the `status' 81879971Sobrien command 81979971Sobrien 82079971SobrienMon Oct 25 11:36:59 EST 1999 lukem 82179971Sobrien 82279971Sobrien * merge ftp from NetBSD-current (19991025): 82379971Sobrien - fix up confirm() (broke `a' and `p' in last commit) 82479971Sobrien - simplify main loop (don't need `top' variable any more) 82579971Sobrien - use a struct sockaddr_in6.sin6_addr for the result from inet_pton(), 82679971Sobrien rather than u_char buf[16] 82779971Sobrien - add a few more comments 82879971Sobrien 82979971Sobrien new features: 83079971Sobrien - add `usage'; displays the usage of a command. 83179971Sobrien implemented by calling the c_handler() with argc = 0, argv = 83279971Sobrien "funcname". 83379971Sobrien - add `passive auto'; does the same as $FTPMODE=auto. 83479971Sobrien - add `set [option value]'; display all options, or set an option to 83579971Sobrien a value. 83679971Sobrien - add `unset option'; unset an option. 83779971Sobrien - add getoptionvalue() to retrieve an option's value, and replace a few 83879971Sobrien global variables with calls to this. 83979971Sobrien - implement cleanuppeer(), which resets various bits of state back to 84079971Sobrien `disconnected'. call in disconnect() and lostpeer(). 84179971Sobrien - support completing on `options'. 84279971Sobrien - improve recovery after a SIGINT may have closed the connection. 84379971Sobrien XXX: there's still a couple to fix 84479971Sobrien 84579971Sobrien other stuff: 84679971Sobrien - various consistency fixes in the man page. 84779971Sobrien - ensure that the command usage strings in the code and man page 84879971Sobrien match reality. 84979971Sobrien - mput/mget: check that the connection still exists before each xfer. 85079971Sobrien - minor cosmetic changes in confirm(). 85179971Sobrien - set code correctly in sizecmd() and modtime() 85279971Sobrien - don't need \n in err() strings. 85379971Sobrien - change lostpeer to take an argument (rather than casting 85479971Sobrien (sig_t)lostpeer in signal handlers) 85579971Sobrien - knf and whitespace police. 85679971Sobrien 85779971SobrienSun Oct 24 17:02:59 EST 1999 lukem 85879971Sobrien 85979971Sobrien * merge libedit from NetBSD-current (19991024): 86079971Sobrien - don't assume locales are not working - it may not be 86179971Sobrien the case 86279971Sobrien - re_refresh(): cast the character passed to re_addc() to 86379971Sobrien unsigned char, so we don't end up calling isprint() with 86479971Sobrien negative value when chars are signed and character value 86579971Sobrien is >= 128 86679971Sobrien - Fix pointer arithmatic (caused problems on LP64, including 86779971Sobrien ftp dumping core when `edit' was turned off then on). 86879971Sobrien Problem solved by David Huggins-Daines <dhd@eradicator.org> 86979971Sobrien 87079971SobrienTue Oct 12 18:05:21 EST 1999 lukem 87179971Sobrien 87279971Sobrien * install man page from ${srcdir} not from . 87379971Sobrien 87479971SobrienTue Oct 12 17:00:41 EST 1999 lukem 87579971Sobrien 87679971Sobrien * released 1.0b6 87779971Sobrien 87879971Sobrien * merge from NetBSD-current (19991012): 87979971Sobrien a few user interface and cosmetic tweaks: 88079971Sobrien - confirm(): move from util.c to cmds.c. display mnemonic 88179971Sobrien string in its prompt. add support for `q' (terminate 88279971Sobrien current xfer), `?' (show help list) 88379971Sobrien - in various signal handlers, output a linefeed only if 88479971Sobrien fromatty. 88579971Sobrien - if fgets(stdin) returned NULL (i.e, EOF), clearerr(stdin) 88679971Sobrien because you don't want future fgets to fail. this is not 88779971Sobrien done for the fgets() in the main command loop, since ftp 88879971Sobrien will quit at that point. 88979971Sobrien - unless ftp is invoked with -a, don't retain the anonftp 89079971Sobrien setting between hosts (`ftp somehost:' sets anonftp, but 89179971Sobrien you don't want that to `stick' if you close that connection 89279971Sobrien and open a new one). 89379971Sobrien 89479971SobrienMon Oct 11 23:06:38 EST 1999 lukem 89579971Sobrien 89679971Sobrien * check for working const 89779971Sobrien 89879971Sobrien * reorganise addition of -lukem to LIBS (was being added twice) 89979971Sobrien 90079971Sobrien * merge from netbsd-current: 90179971Sobrien - use sigjmp_buf instead of jmp_buf for sigsetjmp() buffer 90279971Sobrien 90379971Sobrien * libedit: don't bother generating & compiling editline.c, since 90479971Sobrien its component parts are compiled anyway. 90579971Sobrien 90679971SobrienSun Oct 10 12:08:39 EST 1999 lukem 90779971Sobrien 90879971Sobrien * released 1.0b5 90979971Sobrien 91079971Sobrien * in libedit, use xsignal_restart() (from src/util.c) instead of 91179971Sobrien signal(); the isn't guaranteed to work on some foreign systems 91279971Sobrien (e.g, IRIX) if sigaction() is used in the same program. 91379971Sobrien 91479971Sobrien * merge from netbsd-current: 91579971Sobrien - use sigsetjmp()/siglongjump() instead of setjmp()/longjmp(); 91679971Sobrien the latter don't save the signal mask on some foreign systems. 91779971Sobrien - ensure signal handlers don't use stdio and do reset errno 91879971Sobrien if they don't exit with siglongjmp() 91979971Sobrien - use a common SIGINT handler for {send,recv}request() 92079971Sobrien - allow a second SIGINT during the "xfer aborted. waiting for 92179971Sobrien remote to finish abort." stage. if this occurs, just call 92279971Sobrien lostpeer() to close the connection. whilst this might be 92379971Sobrien considered brutal, it's also extremely handy if you're 92479971Sobrien impatient or there's lossage at the remote end. 92579971Sobrien 92679971Sobrien * add preformatted manual page 92779971Sobrien 92879971Sobrien * fix --enable-editline 92979971Sobrien 93079971SobrienWed Oct 6 10:19:00 EST 1999 lukem 93179971Sobrien 93279971Sobrien * released 1.0b4 93379971Sobrien 93479971Sobrien * don't defining SIGINFO to SIGQUIT if the former doesn't exist; the 93579971Sobrien code now supports both as a method of getting the transfer stats 93679971Sobrien 93779971Sobrien * rototill signal handling in the actual data xfer routines, and 93879971Sobrien specifically set SIGQUIT to psummary in each one, to override 93979971Sobrien editline's handler 94079971Sobrien 94179971SobrienTue Oct 5 23:48:29 EST 1999 lukem 94279971Sobrien 94379971Sobrien * factor out SIGINFO setting into a handler that is always active 94479971Sobrien (but only prints out info if bytes > 0). only set the handler if 94579971Sobrien SIGINFO is defined 94679971Sobrien 94779971Sobrien * hijack SIGQUIT to be the same as SIGINFO 94879971Sobrien 94979971Sobrien * in {recv,send}request(), factor a lot of duplicated code out into 95079971Sobrien a `cleanup' section at the end 95179971Sobrien 95279971Sobrien * rework shell() a bit 95379971Sobrien 95479971Sobrien * enhancments from Marc Horowitz <marc@mit.edu> to improve 95579971Sobrien connection timeouts: 95679971Sobrien - implement xsignal_restart(), which only sets the SA_RESTART 95779971Sobrien flag if specifically requested 95879971Sobrien - xsignal() is now a wrapper to xsignal_restart(). INFO, 95979971Sobrien USR1, USR2 and WINCH are restartable, ALRM, INT, PIPE and 96079971Sobrien QUIT are not 96179971Sobrien - improve getreply()'s timeout code to take advantage of the 96279971Sobrien above 96379971Sobrien 96479971Sobrien * improve wording of how globbing works for `classic' URLs (host:path) 96579971Sobrien suggested by John Refling <johnr@imageworks.com> in relation to PRs 96679971Sobrien [bin/8519] and [bin/8520] 96779971Sobrien 96879971Sobrien * always compile in the `edit' command even if NO_EDITCOMPLETE defined 96979971Sobrien it's just a no-op in the latter case, which is more consistent to 97079971Sobrien the users 97179971Sobrien 97279971Sobrien * always compile in about: support (i.e, remove NO_ABOUT). i'm 97379971Sobrien entitled to some vanity in this program... 97479971Sobrien 97579971Sobrien * update copyrights 97679971Sobrien 97779971SobrienMon Oct 4 10:57:41 EST 1999 lukem 97879971Sobrien 97979971Sobrien * Invoke ar with `cr' not `cq' 98079971Sobrien 98179971Sobrien * Use AC_PROG_RANLIB to find ranlib, and use it on the libraries 98279971Sobrien 98379971Sobrien * Remove `makelist' from dependency list for libedit files; re-running 98479971Sobrien configure shouldn't result in rebuilding libedit 98579971Sobrien 98679971Sobrien * Add support for --{en,dis}able-editcomplete (defaults to enabled), 98779971Sobrien which prevents libedit support from being compiled in. 98879971Sobrien From Chris G. Demetriou <cgd@netbsd.org> 98979971Sobrien 99079971SobrienSun Oct 3 16:49:01 EST 1999 lukem 99179971Sobrien 99279971Sobrien * touch up the README 99379971Sobrien 99479971Sobrien * add COPYING, INSTALL, THANKS 99579971Sobrien 99679971Sobrien * whitespace consistency 99779971Sobrien 99879971Sobrien * in config.h, replace NO_QUAD with HAVE_QUAD_SUPPORT, and in 99979971Sobrien lukemftp.h define the former if the latter is non zero 100079971Sobrien 100179971Sobrien * change test against GETPGRP_VOID from #ifdef to #if 100279971Sobrien 100379971Sobrien * snprintf(): in the truncation case, ensure that the length 100479971Sobrien returned is the actual length, not the needed length 100579971Sobrien 100679971SobrienSat Oct 2 00:41:34 EST 1999 lukem 100779971Sobrien 100879971Sobrien * fix more lossage with $(srcdir) / $(VPATH) stuff; seems to work now 100979971Sobrien when configured in a separate directory 101079971Sobrien 101179971Sobrien * actually test the correct variable when determining whether to run 101279971Sobrien AC_FUNC_GETPGRP 101379971Sobrien 101479971SobrienFri Oct 1 19:32:22 EST 1999 lukem 101579971Sobrien 101679971Sobrien * released 1.0b3 101779971Sobrien 101879971Sobrien * use AC_PROG_MAKE_SET 101979971Sobrien 102079971Sobrien * determine setting of NO_QUAD with configure not lukemftp.h 102179971Sobrien 102279971Sobrien * if have long long and have snprintf, test that snprintf 102379971Sobrien supports %lld. if it doesn't use private version 102479971Sobrien 102579971Sobrien * change strtoq from returning off_t to returning long long 102679971Sobrien 102779971Sobrien * updates from NetBSD mainline: 102879971Sobrien - only try epsv once per connection (i.e, don't bother again 102979971Sobrien if it fails) 103079971Sobrien - improve description of rate command 103179971Sobrien - fix up global vars; they're now externed in ftp_var.h 103279971Sobrien except when main.c includes it 103379971Sobrien - remove "pathnames.h" 103479971Sobrien 103579971SobrienFri Oct 1 10:08:43 EST 1999 lukem 103679971Sobrien 103779971Sobrien * updates from NetBSD mainline: 103879971Sobrien - fix determining of homedir 103979971Sobrien - parse_url(): fix checking of portnum 104079971Sobrien - move kame copyrights after bsd/tnfi ones 104179971Sobrien 104279971Sobrien * released 1.0b2 104379971Sobrien 104479971Sobrien * add %lld and %qd support to snprintf() for displaying long long's 104579971Sobrien 104679971Sobrien * support VPATH and srcdir 104779971Sobrien 104879971SobrienThu Sep 30 17:19:35 EST 1999 lukem 104979971Sobrien 105079971Sobrien * released 1.0b1 105179971Sobrien 105279971Sobrien * fix from NetBSD mainline: in empty() FD_ZERO the correct variable 105379971Sobrien 105479971SobrienWed Sep 29 23:34:33 EST 1999 lukem 105579971Sobrien 105679971Sobrien * major rework; reimport code from NetBSD-current 1999/09/29 into 105779971Sobrien separate subdirectories and build from there. organisation is now: 105879971Sobrien libedit replacement libedit 105979971Sobrien libukem replacements for missing functions 106079971Sobrien src main ftp source 106179971Sobrien 106279971SobrienMon Sep 27 00:43:12 EST 1999 lukem 106379971Sobrien 106479971Sobrien * released 1.0 a6 106579971Sobrien 106679971SobrienSun Sep 26 17:17:05 EST 1999 lukem 106779971Sobrien 106879971Sobrien * released 1.0 a5 106979971Sobrien 107079971SobrienSat Sep 25 00:58:28 EST 1999 lukem 107179971Sobrien 107279971Sobrien * released 1.0 a4 107379971Sobrien 107479971SobrienFri Sep 24 17:07:07 EST 1999 lukem 107579971Sobrien 107679971Sobrien * released 1.0 a3 107779971Sobrien 107879971SobrienFri Sep 24 16:18:29 EST 1999 lukem 107979971Sobrien 108079971Sobrien * released 1.0 a2 108179971Sobrien 108279971SobrienTue Sep 21 11:38:49 EST 1999 lukem 108379971Sobrien 108479971Sobrien * import usr.src/bin/ftp and usr.src/lib/libedit sources from NetBSD 1085