From owner-svn-src-all@FreeBSD.ORG Sun Jun 19 16:54:06 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 860F71065670; Sun, 19 Jun 2011 16:54:06 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 745B48FC22; Sun, 19 Jun 2011 16:54:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5JGs6Jd001927; Sun, 19 Jun 2011 16:54:06 GMT (envelope-from gavin@svn.freebsd.org) Received: (from gavin@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5JGs6G6001923; Sun, 19 Jun 2011 16:54:06 GMT (envelope-from gavin@svn.freebsd.org) Message-Id: <201106191654.p5JGs6G6001923@svn.freebsd.org> From: Gavin Atkinson Date: Sun, 19 Jun 2011 16:54:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223300 - in vendor/lukemftp/dist: . contrib src X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jun 2011 16:54:06 -0000 Author: gavin Date: Sun Jun 19 16:54:06 2011 New Revision: 223300 URL: http://svn.freebsd.org/changeset/base/223300 Log: Bootstrap lukemftp vendor area Added: - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/COPYING - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/ChangeLog - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/FreeBSD-patchset - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/INSTALL - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/Makefile.in - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/NEWS - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/README - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/THANKS - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/acconfig.h - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/aclocal.m4 - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/config.h.in - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/configure - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/configure.in - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/diffout - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/install-sh - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/lukemftp.h vendor/lukemftp/dist/src/ - copied from r223298, vendor/lukemftp/dist/contrib/lukemftp/src/ - copied unchanged from r223298, vendor/lukemftp/dist/contrib/lukemftp/todo Directory Properties: vendor/lukemftp/dist/COPYING (props changed) vendor/lukemftp/dist/ChangeLog (props changed) vendor/lukemftp/dist/FreeBSD-patchset (props changed) vendor/lukemftp/dist/INSTALL (props changed) vendor/lukemftp/dist/Makefile.in (props changed) vendor/lukemftp/dist/NEWS (props changed) vendor/lukemftp/dist/README (props changed) vendor/lukemftp/dist/THANKS (props changed) vendor/lukemftp/dist/acconfig.h (props changed) vendor/lukemftp/dist/aclocal.m4 (props changed) vendor/lukemftp/dist/config.h.in (props changed) vendor/lukemftp/dist/configure (props changed) vendor/lukemftp/dist/configure.in (props changed) vendor/lukemftp/dist/diffout (props changed) vendor/lukemftp/dist/install-sh (props changed) vendor/lukemftp/dist/lukemftp.h (props changed) vendor/lukemftp/dist/todo (props changed) Deleted: vendor/lukemftp/dist/contrib/ Modified: Directory Properties: vendor/lukemftp/dist/src/Makefile (props changed) vendor/lukemftp/dist/src/Makefile.in (props changed) vendor/lukemftp/dist/src/cmds.c (props changed) vendor/lukemftp/dist/src/cmdtab.c (props changed) vendor/lukemftp/dist/src/complete.c (props changed) vendor/lukemftp/dist/src/domacro.c (props changed) vendor/lukemftp/dist/src/extern.h (props changed) vendor/lukemftp/dist/src/fetch.c (props changed) vendor/lukemftp/dist/src/ftp.1 (props changed) vendor/lukemftp/dist/src/ftp.c (props changed) vendor/lukemftp/dist/src/ftp.cat1 (props changed) vendor/lukemftp/dist/src/ftp_var.h (props changed) vendor/lukemftp/dist/src/main.c (props changed) vendor/lukemftp/dist/src/progressbar.c (props changed) vendor/lukemftp/dist/src/progressbar.h (props changed) vendor/lukemftp/dist/src/ruserpass.c (props changed) vendor/lukemftp/dist/src/util.c (props changed) vendor/lukemftp/dist/src/version.h (props changed) Copied: vendor/lukemftp/dist/COPYING (from r223298, vendor/lukemftp/dist/contrib/lukemftp/COPYING) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lukemftp/dist/COPYING Sun Jun 19 16:54:06 2011 (r223300, copy of r223298, vendor/lukemftp/dist/contrib/lukemftp/COPYING) @@ -0,0 +1,47 @@ +Copyright 1999, 2000 Luke Mewburn . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by Luke Mewburn. +4. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +This product also contains software developed by other people, and you +are advised to read the various source files to read the full details +of the other licenses. Those licenses also require the following +acknowledgements: + + This product includes software developed by the NetBSD Foundation, + Inc. and its contributors. Those contributors include: + - Jaromir Dolecek + - Klaus Klein + - Luke Mewburn + - Jason R. Thorpe of the Numerical Aerospace Simulation + Facility, NASA Ames Research Center. + + This product includes software developed by the University of + California, Berkeley and its contributors. Those contributors include: + - Christos Zoulas of Cornell University. + - Guido van Rossum. + + This product includes software developed by Christos Zoulas. + Copied: vendor/lukemftp/dist/ChangeLog (from r223298, vendor/lukemftp/dist/contrib/lukemftp/ChangeLog) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lukemftp/dist/ChangeLog Sun Jun 19 16:54:06 2011 (r223300, copy of r223298, vendor/lukemftp/dist/contrib/lukemftp/ChangeLog) @@ -0,0 +1,1084 @@ +Mon Jun 10 08:12:35 UTC 2002 lukem + + * crank FTP_VERSION from 1.6-beta1 to 1.6-beta2 + + * replace missing fseeko(), with a wrapper to fseek() which + checks that the offset isn't > LONG_MAX + + * #include #if HAVE_REGEX_H + +Mon Jun 10 01:27:46 UTC 2002 lukem + + * check for and replace sa_family_t definition + + * don't bother checking for issetugid(); it was only used in the + internal libedit to prevent $HOME/.editrc from being used if + running set-id, and the newer libedit code wouldn't even read + $HOME/.editrc if issetugid() wasn't available. as many target + operating systems don't have issetugid(), and lukemftp isn't + likely to be run set-id (and $HOME/.netrc is used in any case), + the issetugid() check has been disabled in libedit. + + * add back cpp code which #defines REGEX #if HAVE_REGEX_H + +Wed Jun 5 14:39:11 UTC 2002 lukem + + * crank FTP_VERSION from 1.6alpha1 to 1.6-beta1 + + * implement replacement setprogname() + + * use getprogname() instead of __progname + + * convert to christos' replacement fgetln(), as it's better than mine + + * merge ftp from NetBSD 20020605 to 20020606: + - use setprogname() + - only support -6 if INET6 is defined + +Wed Jun 5 13:08:25 UTC 2002 lukem + + * don't bother checking if is usable (see below). + + * always compile in local glob; it's the best way to ensure that + various security issues are fixed + + * update libukem/glob.c from NetBSD's __glob13.c rev 1.22 and rev 1.23 + + * merge libedit from NetBSD 20010413 to 20020606: + - constify; passes all gcc and lint strict checks. + - add config.h [Jason Evans], to create a portable version of + libedit that can be easily compiled on other OS's. + - PR/12963:Jason Waterman: Fix signed cast problems. + - Fixed an __P remnant + - Close quoting. + - Generate <>& symbolically. + - Punctuation and whitespace nits, fix a typo. + - PR/14188: Anthony Mallet: Provide an opaque data + pointer to client programs. + - a couple of minor fixes. originally by Ruslan Ermilov + , highlighted to me by way of Mike Barcroft + (thanks!) + - PR/14067: Anthony Mallet: Provide a programmatic way + to set the read_char function via a new el_set() operation. + Thanks, nicely done :-) + - `existent', not `existant' + - Don't use HAVE_ yet. + - Fix a warning. + - Remove an unused variable. + - If term_init() fails, cleanup and return NULL. This + avoids other lossage. Pointed by charles. + - va_{start,end} audit: Make sure that each va_start has one + and only one matching va_end, especially in error cases. + If the va_list is used multiple times, do multiple + va_starts/va_ends. If a function gets va_list as argument, + don't let it use va_end (since it's the callers + responsibility). Improved by comments from enami and + christos -- thanks! + - history_def_enter: fix off-by-one mistake in delete + condition (the behaviour to keep at least one entry on the + history list is retained). This fixes lib/9704 by Phil Nelson. + + * merge ftp from NetBSD 20020524 to 20020605: + - when showing the final progress bar, replace "00:00 ETA" + with the elapsed time. (suggested by simonb) + - actually display transfer stats after a URL fetch. + (bug introduced a *long* time ago) + - update copyright & version + + * merge ftp from NetBSD 20001127 to 20020524: + - Use "r+" instead of "r+w", since the latter is not standard. + Noted by in private email. + - Only send port number in HTTP/1.1 Host: request if port != + 80. Fixes [bin/15415] from Takahiro Kambe + + - Fix bad mode passed by mls() to recvrequest(). Fixes + [bin/16642] from + - update copyrights + - minor knf + - invoke cmdtab.c_handler()s with argv[0] == c_name instead + of the supplied name. that way the full (unambiguous) name + is displayed in error messages and usage strings. + - line2 may overrun if line is too long (> 200). be more + careful on strcpy. + - Handle URLs without files correctly (e.g, when using '-o -'). + Fix from Anders Dinsen in [bin/13768] + - portnum is unsigned, use %u instead of %d + - Add -4 to force IPv4 and -6 to force IPv6 address usage. + From Hajimu UMEMOTO, via Mike Heffner of FreeBSD. + - use u_char instead of char in base64_encode(). + problem noticed by Jorgen Lundman in private mail. + - don't make broken file with -R option. + - handle "*" in Content-Range properly. + - If no_proxy condition is true && urltype == FTP_URL_T, + use fetch_ftp to retrieve + - convert to use getprogname() + - Fix description for "form", "mode", and "struct" commands. + Inspired by [bin/16736] from Steve McClellan + + - Generate <>& symbolically. I'm avoiding .../dist/... + directories for now. + - Punctuation nits. + - Whitespace cleanup. + - put "site" in alphabetical order. noted by Mike Barcroft + in private email + - avoid buffer overrun on PASV from malicious server. + - Large file ASCII mode support by using fseeko() + instead of fseek(). From Andrey A. Chernov of FreeBSD, + via Mike Heffner. + - Deal with const'ification if el_parse(). + - call setlocale() on startup + - display a limited progress bar (containing bytes xferred + and xfer rate) when the file size is unknown + - disable progress bar during remglob() + +Thu Mar 14 05:41:49 UTC 2002 lukem + + * ensure all AF_INET6 use is protected with #ifdef INET6 + + * remove unnecessary __attribute__ goop + + * libukem/snprintf.c: fix compile errors with gcc 3.x + +Tue Apr 17 08:07:29 UTC 2001 lukem + + * autoconf check for %q long long support in *printf() + (instead of %ll), define and use HAVE_PRINTF_QD if so + + * ipv6 isn't compatible with socks, so disable the former + + * look for (instead of ) and + + * don't check for fparseln() twice + + * fix getaddrinfo() checks + + * crank FTP_VERSION from 1.5 to 1.6alpha1 + + * always ensure _PATH_BSHELL and _PATH_TMP are defined + + * prototype inet_pton() if its missing + + * don't bother trying to use if_indextoname() in ip6_sa2str() + (fixes problems on MacOS X) + + * in inet_pton(), pull in for IN6ADDRSZ and INT16SZ, + and define if missing + +Fri Apr 13 15:24:44 UTC 2001 lukem + + * only include if we have it + + * update glob(3) to netbsd-current (20010329), adding support + for GLOB_LIMIT and fixing various buffer overflows. + + * update editline from NetBSD 20000915 -> NetBSD 20010413 + - Enlarge editline buffers as needed to support arbitrary + length lines. This also addresses lib/9712 by Phil Nelson. + - consistently check for allocation failures and return -1, + if we could not get more memory. + - add support for home and end keys. + - improve debugging support + - el_line_t: make 'limit' const + +Mon Nov 27 23:23:40 EST 2000 lukem + + * merge ftp from NetBSD-current (20001127): + - implement "mreget"; as per "mget" but uses "reget" instead + of "get" + - add -N netrc and $NETRC, as methods to select an alternative + .netrc file + - cache local user name and home directory for further use + - in mget(), use docase() instead of a local version to do + the case conversion. + - format string cleanups + - be more explicit that $ftp_proxy and $http_proxy are not + supported for interactive sessions + - cope with 2553bis getnameinfo (always attach scope id) + getnameinfo error check. + - use NI_MAXHOST with getnameinfo. we can assume presence of + getnameinfo. + +Tue Nov 7 00:16:23 EST 2000 lukem + + * libukem/snprintf.c had a non-functional `%s' due to a + function declaration mismatch. problem found and fixed + by Hubert Feyrer + +Wed Oct 11 14:06:19 EST 2000 lukem + + * released version 1.5 + +Tue Oct 3 10:22:36 EST 2000 lukem + + * crank to version 1.5 beta6 + + * merge ftp from NetBSD-current (20001003) + - explicitly use SOCK_STREAM with socket() instead of + res->ai_socktype, because it appears that linux with glibc + doesn't set the latter correctly after one of getaddrinfo() + or getnameinfo(). + - clarify that $ftp_proxy only works for full URLs and can't + be used for interactive connections. + +Mon Sep 25 21:52:12 EST 2000 lukem + + * crank to version 1.5 beta5 + +Sun Sep 24 13:31:19 EST 2000 lukem + + * merge ftp from NetBSD-current (20000924) + - since everything else here uses ANSI C, we might as well + replace __STRING() with the ANSI C stringization stuff... + - base64_encode should be static. picked up by hp/ux(!) + compiler + - It appears that whilst Apache 1.3.9 incorrectly puts a + trailing space after the chunksize (before the \r\n), + Apache 1.3.11 puts *multiple* trailing spaces after the + chunksize. I 'm fairly certain that this is contrary to + RFC 2068 section 3.6, but whatever... + Found by David Brownlee + - always include , not just when INET6 is defined. + resolves PR [bin/10970] by Richard Earnshaw + > + - in progressmeter() perform the check for foregroundproc() a + little earlier + - removed unused variable `items' in list_vertical() + +Sat Sep 23 15:43:34 EST 2000 lukem + + * remove unused sverrno in warnx() and errx() + + * remove unused h_error in getnameinfo() + + * in getaddrinfo(), don't bother declaring in6_addrany[] and + in6_loopback #ifndef INET6 + +Thu Sep 21 11:26:35 EST 2000 lukem + + * in getaddrinfo.c::str_isnumber(), use strtol() and check the + result, instead of using strtoul() and not checking the result. + + * define INADDRSZ if it's not found (e.g, HP/UX doesn't seem to have + it in ) + +Wed Sep 20 09:23:59 EST 2000 lukem + + * crank to version 1.5 beta4 + +Mon Sep 18 18:19:54 EST 2000 lukem + + * add AC_AIX test, which defines _ALL_SOURCE under AIX + + * use ANSI # stringization instead of __STRING() + + * define HAVE_RFC2553_NETDB if defines AI_NUMERICHOST + (et al) and has getaddrinfo(). (some systems only implement RFC2133) + + * don't bother with AC_C_CONST as we depend upon ANSI C elsewhere + + * when HAVE_RFC2553_NETDB isn't set, and we're #defining various EAI_, + AI_, and NI_ items, #undef first incase a system partially implements + these in + + * look for tgetent() in -ltinfo before -lncurses, because ncurses 5.0 + has been split up into multiple libraries. + from Arkadiusz Miskiewicz + +Fri Sep 15 01:09:10 EST 2000 lukem + + * don't bother defining __P() or __STRING() based on whether + __STDC__ is available or not, since these aren't used any more + + * fix mkstemp() prototype + + * declare getpass() if necessary + + * we don't need the readline xxgdb hack in libedit... + + * convert to ansi declarations + + * use ansi prototypes instead of __P() + + * merge in changes from makelist 1.4 -> 1.6: + - generate ansi prototypes instead of using __P(). noted by + christos + - fix a couple of comments + - add -m option to makelist, which generates an mdoc table + with the key bindings and their descriptions + - manually add the output of 'sh ./makelist -m vi.c ed.c + common.c' to a new section in editrc(5) called + `EDITOR COMMANDS' + + * merge libedit from NetBSD-current (20000915) + * convert to new style guide, which includes: + - ansi prototypes & features (such as stdargs) + - 8 space indents + * history_def_set has a `const int' as a third arg, not an + `int'. picked up by the ultrix compiler, reported by + simonb@ ... + * generate ansi prototypes instead of using __P(). noted by + christos. fix a couple of comments + * make xxgdb and a gdb linked with libedit's readline emulation + work properly together. xxgdb communicates with a gdb + running on a pty that it sets to -echo,-onlcr prior to + forking the gdb process. GNU readline preserves the -echo + setting while libedit was undoing it (setting the tty to a + sane state and totally confusing xxgdb's parser). + this diff simply disables libedit if both readline emulation + and "stty -echo" are used/set. that is enough to make + xxgdb work once again, but (XXX) this is not how GNU readline + handles stty -echo (it does not echo anything, but editing + commands like ^A,^K, etc. still work), so the readline + emulation isn't perfect. + +Tue Aug 29 18:00:08 EST 2000 lukem + + * don't bother testing for #if __STDC__; just assume we have it... + +Mon Aug 28 22:45:08 EST 2000 lukem + + * refine tests for IPv6 #defines (EAI_, AI_, NI_, ...). + should improve portability on systems which implement + RFC 2133 but not RFC 2553. + +Wed Aug 9 02:12:51 EST 2000 lukem + + * use #if __STDC__ instead of #ifdef __STDC__ + + * only test 'case NETDB_INTERNAL:' if it's defined + + * fix support for --program-prefix et al + + * only include in the files that need it, because + the DELETE define in some system's implementations causes name + collisions in libedit. + +Mon Aug 7 08:17:37 EST 2000 lukem + + * merge ftp from NetBSD-current (20000807) + * implement parseport(), which takes a string and attempts to + convert it to a numeric port number + * use parseport() in parse_url() and hookup() + * don't try and lookup the port number using getaddrinfo(), + as it's too hard to separate a failed host name lookup from + a failed service name lookup. this was causing lossage on + systems that don't have `http' in services(5) (such as + solaris), but only crept in when we started using + getaddrinfo() unconditionally. + +Wed Aug 2 23:43:50 EST 2000 lukem + + * crank to version 1.5 beta3 + + * define NO_LONG_LONG not NO_QUAD + + * detect if struct sockaddr.sa_len exists (rather than relying upon + #ifdef BSD4_4) + + * detect if socklen_t exists, and if not, typedef as unsigned int + + * detect if struct addrinfo exists, and if not declare it and #define + associated EAI_, AI_, and NI_ defines. + + * look for & replace: getaddrinfo(), getnameinfo(), inet_ntop(), + inet_pton() + * look for gethostbyname2() + + * don't bother looking for hstrerror() or inet_aton() anymore + + * include and + + * define USE_SELECT instead of __USE_SELECT + + * always define HAVE_H_ERRNO + + * add Brian Stark to THANKS, for lots of AIX porting feedback + + * improve detection of sin_len for AIX (now part of sa_len test) + + * add functions needed by recent ftp import: + getaddrinfo(), getnameinfo(), inet_ntop(), inet_pton() + remove functions not needed anymore: + hstrerror(), inet_aton() + + * use #if HAVE_ISSETUGID not #ifdef + + * update from NetBSD-current (20000802): + - rename NO_QUAD to NO_LONG_LONG, QUAD* -> LL* and add ULL* + (unsigned) equivalents. name change suggested by Klaus + Klein + - change defined(BSD4_4) || HAVE_SIN_LEN tests into + HAVE_SOCKADDR_SA_LEN, and set the latter if BSD4_4 exists + +Mon Jul 31 10:59:10 EST 2000 lukem + + * merge ftp from NetBSD-current (20000731) + - we can't just rename BSD4_4 -> HAVE_SIN_LEN, since bsd + systems define BSD4_4; change tests to test for either + defined(BSD4_4) or HAVE_SIN_LEN + - more KNF + +Sun Jul 30 16:55:09 EST 2000 lukem + + * merge ftp from NetBSD-current (20000730): + - clean up NO_QUAD support: create helper #defines and use as + appropriate: + #define NOQUAD ! NOQUAD + ------- ------ - ------ + QUADF "%ld" "%lld" + QUADFP(x) "%" x "ld" "%" x "lld" + QUADT long long long + STRTOL(x,y,z) strtol(x,y,z) strtoll(x,y,z) + - always use getaddrinfo() and getnameinfo() instead of + maintaining two code paths. + - rename __USE_SELECT to USE_SELECT + - rename BSD4_4 to HAVE_SIN_LEN + - replace union sockunion {} with struct sockinet {}, and + modify the code accordingly. this is possibly more portable, + as it doesn't rely upon the structure alignment within the + union for our own stuff. + +Fri Jul 28 22:11:17 EST 2000 lukem + + * merge ftp from NetBSD-current (20000728): + - no trailing , on last item (FEAT_max) in enum + - rename "opts" to "remopts", so people used to "o host" + don't get bitten + +Wed Jul 26 18:59:19 EST 2000 lukem + + * merge ftp from NetBSD-current (20000726): + - add support for FEAT and OPTS commands with `features' and + `opts'. (from RFC 2389). + - add support for MLST & MLSD (machine parseble listings) + with 'mlst', 'mlsd' and 'pmlsd' (mlsd |$PAGER) commands. + (from draft-ietf-ftpext-mlst-11) + - rename remotesyst() to getremoteinfo(), and modify to parse + the result from FEAT (if supported), and take into account + the support for the various extensions such as MDTM, SIZE, + REST (STREAM), MLSD, and FEAT/OPTS. + - put each feature into one of the following categories: + - known to work (explicit FEAT) + - unknown but assume works until explicit failure, + when it's then tagged as `known not to work'. + - known not to work (FEAT succeeded but didn't return + anything, or was unknown and then explicit failure) + assign results into features[] matrix. + - add support to getreply() so that an optional callback will + be called for each line received from the server except for + the first and last. this is used in FEAT (and MLST) parsing. + - modify various commands to check if REST (STREAM), MDTM and + SIZE are explicitly or implicitly supported before using. + - fix `syst' when verbose is off. + - minor knf (indent goto labels by one space, etc). + - simply various command usage handlers by assuming that + argv != NULL except for quit() and disconnect(). + - errx?/warnx? audit. do not pass variable alone, use %s. + + * check for issetugid() and don't use in libedit if it doesn't exist. + + * merge libedit from NetBSD-current (20000726): + * Only look in home directory for .editrc. (Discussed + with Christos.) + + * in glob.c #undef TILDE before redefining, because some AIX systems + #define TILDE in + +Mon Jul 10 00:28:51 EST 2000 lukem + + * released lukemftp 1.4 + +Thu Jun 15 23:28:49 EST 2000 lukem + + * merge ftp from NetBSD-current (20000615): + * migrate the SYST parsing from setpeer() into a separate + remotesyst(). call remotesyst() only when login has been + successful some servers don't let you run SYST until you've + successfully logged in. + * in fetch_ftp(), always call setpeer() with autologin + disabled, and use the following ftp_login() to DTRT. this + prevents ftp from trying to login a second time if the + first autologin fails when connecting to a remote site + anonymously using autofetch. + * reset unix_proxy and unix_server in cleanuppeer() + * missed a function conversion in the KNF sweep... + +Mon Jun 12 01:16:12 EST 2000 lukem + + * change lukemftp.h to check !HAVE_STRDUP instead of !HAVE_STRSUP. + fixes compile problem on systems which have strdup() as a macro. + + * merge ftp from NetBSD-current (20000612): + from itojun: better fix for previous (doesn't need + in_addr_t or u_int32_t) + +Sun Jun 11 12:19:52 EST 2000 lukem + + * merge ftp from NetBSD-current (20000611): + portability fixes for lukemftp: + * initconn(): use in_addr_t instead of u_int32_t when + manipulating IPv6 addresses (and assume anything with ipv6 + has in_addr_t; if not, i'll add an autoconf test for it) + * ai_unmapped(): not all systems have sin_len; so only set + #ifdef BSD4_4 + * fix some lint + +Mon Jun 5 21:10:31 EST 2000 lukem + + * released lukemftp 1.3 + +Mon Jun 5 19:53:49 EST 2000 lukem + + * convert various support files to ANSI C + + * look for strtoll() instead of strtoq() + + * update COPYRIGHT, THANKS, NEWS + + * merge ftp from NetBSD-current (20000605): + - fix ai_unmapped() to be a no-op in the !def INET6 case + - display `(-INET6)' at the end of the version string if + !def INET6 + - clarify in the man page that IPv6 support may not be present + (for lukemftp :) + + * ensure has VIS_WHITE et al + +Sun Jun 4 18:00:07 EST 2000 lukem + + * merge ftp from NetBSD-current (20000604): + - Change `ls' to use the `LIST' and not `NLST' FTP protocol + command. Now that after many years on not caring we find + certain popular ftp servers are starting to obey RFC959 to + the letter of the law and will only return a list of + filenames (not directories or other filetypes) in the + output of `NLST', then `LIST' is more useful in this case. + (Note that the aforementioned pedanticness means that + filename completion isn't as useful as it could be...) + Fixes [bin/8937] by David A. Gatwood + + - convert to ANSI KNF + - Add support for `fget localfile', which reads a list of + filenames to retrieve from localfile. Based on work by + Darren Reed. + - Update copyright dates. + - s/strtoq/strtoll/ (the latter is standardised) + - Add support for 'ftp -u url file ...', to upload a list of + files to given url. Mostly based on [bin/10019] by Scott + Aaron Bamford + - convert IPv4 mapped address (::ffff:10.1.1.1) into real IPv4 + address before touching it. IPv4 mapped address complicates + too many things in FTP protocol handling. + - do not pass scoped IPv6 address notation on Host: directive, + since scope identifier is local to the originating node. + do not allow scoped IPv6 address notation in URL, if it is + via proxy. + - fixes from cgd: + * sanity check a length (otherwise certain bogus responses + can crash ftp) + * allow a transfer encoding type of `binary'; certain + firewall vendors return this bogus type... + - make debugging output unambiguous on IPv6 numeric addrs + (don't use host:port) + - http://[::1]:8080/ is legal. + - send Host: directive with RFC2732 bracket notation for IPv6 + numeric, otherwise "host:port" is ambiguous to servers + (clarification will be submitted as update to RFC2732). + - only use getaddrinfo() et al if both NI_NUMERICHOST *and* + INET6 are defined... (allows --disable-ipv6 in lukemftp's + configure script to disable this as well, which is good for + testing when it appears getaddrinfo() is borken) + - updated comment on IPv4 mapped address. sync with kame. + - Fix examples on using pipes in local filenames. AFAICT, + ftp has always required `dir . |more' not as `dir |more' + treats `|more' as the remote filename. Resolves [bin/9922] + by Geoff Wing + - ftp(1): treats IPv4 mapped destination as IPv4 peer, not + native IPv6 peer. this does not support network with SIIT + translator. + - inhibit too-noisy message for scoped address data transfer + (will be enabled in "debug" mode). + - only use IPTOS_ setsockopt()s if they're defined (e.g, SunOS + doesn't). from Havard.Eidnes@runit.sintef.no + - allow IPv6 extended numeric address in host part. + (draft-ietf-ipngwg-scopedaddr-format-01.txt). fixes PR 9616. + + * merge libedit from NetBSD-current (20000604): + - use strtol() (instead of atoi()) for sane error detection + +Wed May 31 19:24:53 EST 2000 lukem + + * merge libedit from NetBSD-current (20000531): + - Fix refresh glitches when using auto-margin. + - Don't dump core on empty .editrc files. + - el_insertstr takes a "const char *" not "char *" now as it + doesn't modify the argument. + +Thu Feb 3 20:19:40 EST 2000 lukem + + * released lukemftp 1.2 + +Tue Feb 1 09:47:51 EST 2000 lukem + + * add --enable-ipv6 and --disable-ipv6 to configure + + * modify libedit/sig.? to use sigfunc instead of sig_t, and + deprecate autoconf tests for retsigtype and sig_t. + This fixes portability problems with Digital UNIX 5.0. + + * merge ftp from NetBSD-current (20000201): + - define private type `sigfunc' as + typedef void (*sigfunc) __P((int)); + and replace use of sig_t and void (*)(int). + certain other OSes define sig_t differently to that (they + add extra arguments), and it causes problems due to + function mismatches, etc... + +Wed Jan 26 22:54:38 EST 2000 lukem + + * search for tgetent() in -ltermcap then -lcurses and -lncurses + + * merge ftp from NetBSD-current (20000126): + - roll back to using sscanf() instead of strptime() to parse + `yyyymmddhhmmss' strings, since the latter technically can't + parse dates without non alphanumerics between the elements + (even though NetBSD's strptime() copes). + +Tue Jan 25 19:09:37 EST 2000 lukem + + * merge ftp from NetBSD-current (20000125): + - complete_ambiguous(): be consistent about completing + unambiguous matches; if the word is already complete then + return CC_REFRESH so that the higher layer may append a + suffix if necessary. Fix from Launey Thomas + - change references from draft-ietf-ipngwg-url-literal-01.txt + to RFC2732 + - work around bug in apache 1.3.9 which incorrectly puts a + trailing space after the chunksize. noted by Jun-ichiro + itojun Hagino in [bin/9096] + - work around lame ftpd's that don't return a correct post-Y2K + date in the output of `MDTM'. obviously the programmer of + aforementioned lame ftpd's did something like + "19%02d", tm->tm_year + instead of + "%04d", tm->tm_year + TM_YEAR_BASE + fixes [bin/9289] by jbernard@mines.edu + + * merge libedit from NetBSD-current (20000125): + - PR/9244: Kevin Schoedel: libedit dumps bindings + inconsistently + - PR/9243: Kevin Schoedel: libedit ignores repeat count + - Add support for automatic and magic margins (from tcsh) + This makes the rightmost column usable on all programs + that use editline. + +Tue Dec 21 08:59:22 EST 1999 lukem + + * update INSTALL notes for some systems + + * if sl_init() exists, check return value of sl_add() is int and + compile in a replacement copy if it's not the case + + * don't look for - always use local prototypes; older + NetBSD systems may have conflicting prototypes + +Mon Dec 20 11:21:28 EST 1999 lukem + + * merge ftp from NetBSD-current (19991220): + - Move version from ftp_var.h to version.h + - Fix chunked support; probably broke after rate limiting was added. + Problem noticed/debugging assisted by giles lean + . + - remove unnecessary freeaddrinfo(res), since res0 was changed to be + freed earlier in itojun's last commit. fixes [bin/8948]. + - remove `const char *reason'; it was being assigned but not used. + - fix memory leak in fetch_url (no freeaddrinfo was there). + sync with recent KAME. + - separate out the main `data pump' loop into two: one that supports + rate limiting and one that doesn't. simplifies the code, and speeds + up the latter case a bit, at the expense of duplicating a few + lines... + +Sun Nov 28 18:20:41 EST 1999 lukem + + * merge ftp from NetBSD-current (19991128): + - implement xsl_init() and xsl_add(); error checking forms of + sl_{init,add}() + - fix bug where the second press of on an empty word (i.e, list + all options) may have resulted in an strncmp() against NULL. + (detected by _DIAGASSERT()) + - in cleanuppeer(), reset username to NULL after free()ing it. + fixes [bin/8870] by Wolfgang Rupprecht + - complete_remote(): use remglob("", ...) instead of remglob(".", ...), + for listings of the current working directory; some ftp servers don't + like `NLST .'. + [noted by Giles Lean ] + - recvrequest(): treat remote=="" as remote==NULL when calling + command(). (to support the above change) + - support `[user@]' in `[user@]host' and `[user@]host[:][path]'. + [based on idea (and initial code) from David Maxwell ] + - `idle' may be invoked without any args + - reformat some comments + - reformat usage string in program and man page + - call updateremotepwd() after successful login, not after successful + connect + - always call setsockopt(, IPPROTO_IP, IP_TOS, ) (et al); using #if + defined(IPPROTO_IP) doesn't work on certain foreign systems where + enums instead of #defines are used... + [noted by Matthias Pfaller ] + +Mon Nov 15 23:01:58 EST 1999 lukem + + * released lukemftp 1.1 + +Mon Nov 15 09:07:01 EST 1999 lukem + + * merge libedit from NetBSD-current (19991115): + - instead of using a private coord_t global variable to store + the size of the rprompt, use the previously unused coord_t + el->el_rprompt.p_pos + +Sat Nov 13 14:42:22 EST 1999 lukem + + * support caching of results in AC_MSG_TRY_{COMPILE,LINK} + autoconf tests + + * add NEWS file + + * clarify copyright statement in COPYING + + * merge ftp from NetBSD-current (19991113): + - implement `set rprompt'; right side version of `set prompt'. + depends on EL_RPROMPT support i added to editline(3). + - allow $FTPPROMPT and $FTPRPROMPT to override defaults for + the relevant prompts + - move `%' formatting code from prompt() to expandbuf(). + - implement `%.' and `%c', similar to the same % codes in + tcsh(1) (functionality I added to tcsh nearly 6 years ago), + except that `%.' always does `...trailing' and `%c' always + does `/trailing'. + - unknown `%foo' codes get printed as `%foo' + - implement updateremotepwd(); update the global variable + `remotepwd' to contain the remote working directory. + - add `set prompt', a user configurable prompt. (defaults to + `ftp> '). the following escape characters a la tcsh(1) are + supported: %/, %m, %M, and %n. + - add global var `username'; used by prompt code + - fix a couple of minor memory leaks + - bump version + - prevent minor memory leak (unnecessary strdup) + - implement restarting file:/// non-proxied http:// URLs + (with -R). + - fix a semicolono which stopped file:/// from working + - split the version string into product and version + - be consistent about reporting the version between: + + status command + + about:version URL fetch + + User-agent sent in http requests + - hookup(): when using getservbyname() (when getaddrinfo() + isn't available), if the provided port is a valid number + use that rather than trying to do getservbyname() against + it. fixes a problem on foreign systems noted by Chuck + Silvers + - support `about:version'. also display the version in the + output of `status'. + + * merge libedit from NetBSD-current (19991113): + - implement printing a right-side prompt. code derived from + similar work I wrote for tcsh(1) three years ago. + - implement EL_RPROMPT, which allows a setting/getting of a + function which returns a string to be used as the + right-side prompt. + + * replace manually managed config.h.in with acconfig.h and use + autoheader to generate the former. + + * add missing entry for `#undef write' in acconfig.h (for SOCKS) + + * configure.in: + - use `LL' suffix on long long constant used to test + snprintf("%lld") + - test for EL_RPROMPT instead of EL_EDITMODE, since the + former is is a newer required feature + + * in makelist, set LC_ALL="C", in case the locale confuses awk. + problem noted by Peter Seebach + +Wed Oct 27 07:00:00 UTC 1999 lukem + + * released 1.0 + + * removed libedit/TEST/test.c; no need to distribute it + +Mon Oct 25 21:59:54 EST 1999 lukem + + * released 1.0b7 + + * put VERSION string into lukemftp.h, and display with the `status' + command + +Mon Oct 25 11:36:59 EST 1999 lukem + + * merge ftp from NetBSD-current (19991025): + - fix up confirm() (broke `a' and `p' in last commit) + - simplify main loop (don't need `top' variable any more) + - use a struct sockaddr_in6.sin6_addr for the result from inet_pton(), + rather than u_char buf[16] + - add a few more comments + + new features: + - add `usage'; displays the usage of a command. + implemented by calling the c_handler() with argc = 0, argv = + "funcname". + - add `passive auto'; does the same as $FTPMODE=auto. + - add `set [option value]'; display all options, or set an option to + a value. + - add `unset option'; unset an option. + - add getoptionvalue() to retrieve an option's value, and replace a few + global variables with calls to this. + - implement cleanuppeer(), which resets various bits of state back to + `disconnected'. call in disconnect() and lostpeer(). + - support completing on `options'. + - improve recovery after a SIGINT may have closed the connection. + XXX: there's still a couple to fix + + other stuff: + - various consistency fixes in the man page. + - ensure that the command usage strings in the code and man page + match reality. + - mput/mget: check that the connection still exists before each xfer. + - minor cosmetic changes in confirm(). + - set code correctly in sizecmd() and modtime() + - don't need \n in err() strings. + - change lostpeer to take an argument (rather than casting + (sig_t)lostpeer in signal handlers) + - knf and whitespace police. + +Sun Oct 24 17:02:59 EST 1999 lukem + + * merge libedit from NetBSD-current (19991024): + - don't assume locales are not working - it may not be + the case + - re_refresh(): cast the character passed to re_addc() to + unsigned char, so we don't end up calling isprint() with + negative value when chars are signed and character value + is >= 128 + - Fix pointer arithmatic (caused problems on LP64, including + ftp dumping core when `edit' was turned off then on). + Problem solved by David Huggins-Daines + +Tue Oct 12 18:05:21 EST 1999 lukem + + * install man page from ${srcdir} not from . + +Tue Oct 12 17:00:41 EST 1999 lukem + + * released 1.0b6 + + * merge from NetBSD-current (19991012): + a few user interface and cosmetic tweaks: + - confirm(): move from util.c to cmds.c. display mnemonic + string in its prompt. add support for `q' (terminate + current xfer), `?' (show help list) + - in various signal handlers, output a linefeed only if + fromatty. + - if fgets(stdin) returned NULL (i.e, EOF), clearerr(stdin) + because you don't want future fgets to fail. this is not + done for the fgets() in the main command loop, since ftp + will quit at that point. + - unless ftp is invoked with -a, don't retain the anonftp + setting between hosts (`ftp somehost:' sets anonftp, but + you don't want that to `stick' if you close that connection + and open a new one). + +Mon Oct 11 23:06:38 EST 1999 lukem + + * check for working const + + * reorganise addition of -lukem to LIBS (was being added twice) + + * merge from netbsd-current: + - use sigjmp_buf instead of jmp_buf for sigsetjmp() buffer + + * libedit: don't bother generating & compiling editline.c, since + its component parts are compiled anyway. + +Sun Oct 10 12:08:39 EST 1999 lukem + + * released 1.0b5 + + * in libedit, use xsignal_restart() (from src/util.c) instead of + signal(); the isn't guaranteed to work on some foreign systems + (e.g, IRIX) if sigaction() is used in the same program. + + * merge from netbsd-current: + - use sigsetjmp()/siglongjump() instead of setjmp()/longjmp(); + the latter don't save the signal mask on some foreign systems. + - ensure signal handlers don't use stdio and do reset errno + if they don't exit with siglongjmp() + - use a common SIGINT handler for {send,recv}request() + - allow a second SIGINT during the "xfer aborted. waiting for + remote to finish abort." stage. if this occurs, just call + lostpeer() to close the connection. whilst this might be + considered brutal, it's also extremely handy if you're + impatient or there's lossage at the remote end. + + * add preformatted manual page + + * fix --enable-editline + +Wed Oct 6 10:19:00 EST 1999 lukem + + * released 1.0b4 + + * don't defining SIGINFO to SIGQUIT if the former doesn't exist; the + code now supports both as a method of getting the transfer stats + + * rototill signal handling in the actual data xfer routines, and + specifically set SIGQUIT to psummary in each one, to override + editline's handler + +Tue Oct 5 23:48:29 EST 1999 lukem + + * factor out SIGINFO setting into a handler that is always active + (but only prints out info if bytes > 0). only set the handler if + SIGINFO is defined + + * hijack SIGQUIT to be the same as SIGINFO *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***