diff options
author | cvs2svn <cvs2svn@FreeBSD.org> | 2004-04-27 00:31:37 +0000 |
---|---|---|
committer | cvs2svn <cvs2svn@FreeBSD.org> | 2004-04-27 00:31:37 +0000 |
commit | 75e72205dec5b323b9c9a745e23618fd5c525158 (patch) | |
tree | 5c81c371bb8d708df8d714ed5ea902f96be1b171 | |
parent | 7e475d60f53f104292ac3b1c0015eeb52678c424 (diff) |
Notes
-rw-r--r-- | contrib/lukemftp/COPYING | 47 | ||||
-rw-r--r-- | contrib/lukemftp/ChangeLog | 1084 | ||||
-rw-r--r-- | contrib/lukemftp/FreeBSD-patchset | 64 | ||||
-rw-r--r-- | contrib/lukemftp/INSTALL | 211 | ||||
-rw-r--r-- | contrib/lukemftp/Makefile.in | 33 | ||||
-rw-r--r-- | contrib/lukemftp/NEWS | 84 | ||||
-rw-r--r-- | contrib/lukemftp/README | 61 | ||||
-rw-r--r-- | contrib/lukemftp/THANKS | 30 | ||||
-rw-r--r-- | contrib/lukemftp/acconfig.h | 92 | ||||
-rw-r--r-- | contrib/lukemftp/aclocal.m4 | 257 | ||||
-rw-r--r-- | contrib/lukemftp/config.h.in | 275 | ||||
-rwxr-xr-x | contrib/lukemftp/configure | 4229 | ||||
-rw-r--r-- | contrib/lukemftp/configure.in | 307 | ||||
-rw-r--r-- | contrib/lukemftp/diffout | 3500 | ||||
-rwxr-xr-x | contrib/lukemftp/install-sh | 251 | ||||
-rw-r--r-- | contrib/lukemftp/lukemftp.h | 403 | ||||
-rw-r--r-- | contrib/lukemftp/src/ftp.cat1 | 1055 | ||||
-rw-r--r-- | contrib/lukemftp/todo | 25 |
18 files changed, 0 insertions, 12008 deletions
diff --git a/contrib/lukemftp/COPYING b/contrib/lukemftp/COPYING deleted file mode 100644 index 31acb7415c36..000000000000 --- a/contrib/lukemftp/COPYING +++ /dev/null @@ -1,47 +0,0 @@ -Copyright 1999, 2000 Luke Mewburn <lukem@netbsd.org>. 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. - diff --git a/contrib/lukemftp/ChangeLog b/contrib/lukemftp/ChangeLog deleted file mode 100644 index 8bdbb45faa89..000000000000 --- a/contrib/lukemftp/ChangeLog +++ /dev/null @@ -1,1084 +0,0 @@ -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 <regex.h> #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 <glob.h> 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 - <ru@FreeBSD.org>, highlighted to me by way of Mike Barcroft - <mike@FreeBSD.org> (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 <Steve.McClellan@radisys.com> in private email. - - Only send port number in HTTP/1.1 Host: request if port != - 80. Fixes [bin/15415] from Takahiro Kambe - <taca@sky.yamashina.kyoto.jp> - - Fix bad mode passed by mls() to recvrequest(). Fixes - [bin/16642] from <steve.mcclellan@radisys.com> - - 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 <anders@dinsen.net> 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 - <steve.mcclellan@radisys.com> - - 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 <libutil.h> (instead of <util.h>) and <arpa/nameser.h> - - * 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 <arpa/nameser.h> for IN6ADDRSZ and INT16SZ, - and define if missing - -Fri Apr 13 15:24:44 UTC 2001 lukem - - * only include <arpa/nameser.h> 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 <hubert@feyrer.de> - -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 <abs@mono.org> - - always include <netdb.h>, not just when INET6 is defined. - resolves PR [bin/10970] by Richard Earnshaw - <rearnsha@cambridge.arm.com>> - - 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 <arpa/nameser.h>) - -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 <netdb.h> 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 <netdb.h> - - * look for tgetent() in -ltinfo before -lncurses, because ncurses 5.0 - has been split up into multiple libraries. - from Arkadiusz Miskiewicz <misiek@pld.org.pl> - -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 <arpa/nameser.h> 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 <arpa/nameser.h> and <stddef.h> - - * 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 <kjk@netbsd.org> - - 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 <sys/ioctl.h> - -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 <vis.h> 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 - <dgatwood@deepspace.mklinux.org> - - 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 <sab@ansic.net> - - 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 <mason@primenet.com.au> - - 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 <ljt@alum.mit.edu> - - 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 <itojun@itojun.org> 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 <stringlist.h> - 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 - <giles@nemeton.com.au>. - - 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 <TAB> 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 <wolfgang@wsrcc.com> - - 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 <giles@nemeton.com.au>] - - 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 <david@fundy.ca>] - - `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 <leo@dachau.marco.de>] - -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 `/<x>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 <chuq@chuq.com> - - 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 <seebs@plethora.net> - -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 <dhd@eradicator.org> - -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 - - * in {recv,send}request(), factor a lot of duplicated code out into - a `cleanup' section at the end - - * rework shell() a bit - - * enhancments from Marc Horowitz <marc@mit.edu> to improve - connection timeouts: - - implement xsignal_restart(), which only sets the SA_RESTART - flag if specifically requested - - xsignal() is now a wrapper to xsignal_restart(). INFO, - USR1, USR2 and WINCH are restartable, ALRM, INT, PIPE and - QUIT are not - - improve getreply()'s timeout code to take advantage of the - above - - * improve wording of how globbing works for `classic' URLs (host:path) - suggested by John Refling <johnr@imageworks.com> in relation to PRs - [bin/8519] and [bin/8520] - - * always compile in the `edit' command even if NO_EDITCOMPLETE defined - it's just a no-op in the latter case, which is more consistent to - the users - - * always compile in about: support (i.e, remove NO_ABOUT). i'm - entitled to some vanity in this program... - - * update copyrights - -Mon Oct 4 10:57:41 EST 1999 lukem - - * Invoke ar with `cr' not `cq' - - * Use AC_PROG_RANLIB to find ranlib, and use it on the libraries - - * Remove `makelist' from dependency list for libedit files; re-running - configure shouldn't result in rebuilding libedit - - * Add support for --{en,dis}able-editcomplete (defaults to enabled), - which prevents libedit support from being compiled in. - From Chris G. Demetriou <cgd@netbsd.org> - -Sun Oct 3 16:49:01 EST 1999 lukem - - * touch up the README - - * add COPYING, INSTALL, THANKS - - * whitespace consistency - - * in config.h, replace NO_QUAD with HAVE_QUAD_SUPPORT, and in - lukemftp.h define the former if the latter is non zero - - * change test against GETPGRP_VOID from #ifdef to #if - - * snprintf(): in the truncation case, ensure that the length - returned is the actual length, not the needed length - -Sat Oct 2 00:41:34 EST 1999 lukem - - * fix more lossage with $(srcdir) / $(VPATH) stuff; seems to work now - when configured in a separate directory - - * actually test the correct variable when determining whether to run - AC_FUNC_GETPGRP - -Fri Oct 1 19:32:22 EST 1999 lukem - - * released 1.0b3 - - * use AC_PROG_MAKE_SET - - * determine setting of NO_QUAD with configure not lukemftp.h - - * if have long long and have snprintf, test that snprintf - supports %lld. if it doesn't use private version - - * change strtoq from returning off_t to returning long long - - * updates from NetBSD mainline: - - only try epsv once per connection (i.e, don't bother again - if it fails) - - improve description of rate command - - fix up global vars; they're now externed in ftp_var.h - except when main.c includes it - - remove "pathnames.h" - -Fri Oct 1 10:08:43 EST 1999 lukem - - * updates from NetBSD mainline: - - fix determining of homedir - - parse_url(): fix checking of portnum - - move kame copyrights after bsd/tnfi ones - - * released 1.0b2 - - * add %lld and %qd support to snprintf() for displaying long long's - - * support VPATH and srcdir - -Thu Sep 30 17:19:35 EST 1999 lukem - - * released 1.0b1 - - * fix from NetBSD mainline: in empty() FD_ZERO the correct variable - -Wed Sep 29 23:34:33 EST 1999 lukem - - * major rework; reimport code from NetBSD-current 1999/09/29 into - separate subdirectories and build from there. organisation is now: - libedit replacement libedit - libukem replacements for missing functions - src main ftp source - -Mon Sep 27 00:43:12 EST 1999 lukem - - * released 1.0 a6 - -Sun Sep 26 17:17:05 EST 1999 lukem - - * released 1.0 a5 - -Sat Sep 25 00:58:28 EST 1999 lukem - - * released 1.0 a4 - -Fri Sep 24 17:07:07 EST 1999 lukem - - * released 1.0 a3 - -Fri Sep 24 16:18:29 EST 1999 lukem - - * released 1.0 a2 - -Tue Sep 21 11:38:49 EST 1999 lukem - - * import usr.src/bin/ftp and usr.src/lib/libedit sources from NetBSD diff --git a/contrib/lukemftp/FreeBSD-patchset b/contrib/lukemftp/FreeBSD-patchset deleted file mode 100644 index 2f9ff8a1ba11..000000000000 --- a/contrib/lukemftp/FreeBSD-patchset +++ /dev/null @@ -1,64 +0,0 @@ -diff -ru src.orig/cmds.c src/cmds.c ---- src.orig/cmds.c Sun Jun 15 22:11:43 2003 -+++ src/cmds.c Sun Jun 15 21:46:37 2003 -@@ -131,6 +131,7 @@ - #include <string.h> - #include <time.h> - #include <unistd.h> -+#include <libutil.h> - - #include "ftp_var.h" - #include "version.h" -diff -ru src.orig/fetch.c src/fetch.c ---- src.orig/fetch.c Sun Jun 15 22:11:43 2003 -+++ src/fetch.c Sun Jun 15 21:46:53 2003 -@@ -69,6 +69,7 @@ - #include <string.h> - #include <unistd.h> - #include <time.h> -+#include <libutil.h> - - #include "ftp_var.h" - #include "version.h" -Only in src: ftp.cat1 -diff -ru src.orig/progressbar.c src/progressbar.c ---- src.orig/progressbar.c Sun Jun 15 22:11:43 2003 -+++ src/progressbar.c Sun Jun 15 21:50:48 2003 -@@ -50,6 +50,7 @@ - */ - #include <sys/types.h> - #include <sys/param.h> -+#include <sys/time.h> - - #include <err.h> - #include <errno.h> -@@ -57,10 +58,12 @@ - #include <stdio.h> - #include <stdlib.h> - #include <time.h> --#include <tzfile.h> - #include <unistd.h> - - #include "progressbar.h" -+ -+#define SECSPERHOUR (60 * 60) -+#define SECSPERDAY ((long)60 * 60 * 24) - - #if !defined(NO_PROGRESS) - /* -diff -ru src.orig/util.c src/util.c ---- src.orig/util.c Sun Jun 15 22:11:44 2003 -+++ src/util.c Sun Jun 15 21:51:31 2003 -@@ -101,10 +101,11 @@ - #include <string.h> - #include <termios.h> - #include <time.h> --#include <tzfile.h> - #include <unistd.h> - - #include "ftp_var.h" -+ -+#define TM_YEAR_BASE 1900 - - /* - * Connect to peer server and auto-login, if possible. diff --git a/contrib/lukemftp/INSTALL b/contrib/lukemftp/INSTALL deleted file mode 100644 index 97e82b0d46ed..000000000000 --- a/contrib/lukemftp/INSTALL +++ /dev/null @@ -1,211 +0,0 @@ -INSTALLATION INTRODUCTION -------------------------- - -This file describes how to compile and install lukemftp on your -system. - - ============================================ - = = - = NOTE: You will need an ANSI C compiler. = - = = - ============================================ - - -For most systems, execute the following to compile and install -lukemftp: - ./configure - make - make install - -A preformatted manual page (src/ftp.cat1) is also installed. If -you wish to install the source (src/ftp.1), ensure that your system -has up-to-date mandoc macros. groff ships with this macro suite, -but it has bugs. Try: - ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/share/tmac/ -for a more recent version. - - -CONFIGURATION OPTIONS ---------------------- - -lukemftp is configured using an `autoconf' generated `configure' -script. `configure' supports the following options: - -* The standard `autoconf configure' options, including: - --prefix=PREFIX install architecture-independent files in PREFIX - [/usr/local] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --srcdir=DIR find the sources in DIR [configure dir or ..] - BSD or GNU make may be required for this to work. - -* Specific options: - --enable-editcomplete Turn on command line editing and completion. - --disable-editcomplete Turn off command line editing and completion - [default: enabled]. - --enable-ipv6 Enable IPv6 support (if your OS supports it) - --disable-ipv6 Disable IPv6 support (even if your OS supports it.) - [default: enabled]. - --with-socks Compile with SOCKS firewall traversal support. - --with-socks5[=PATH] Compile with SOCKS5 firewall traversal support. - --with-socks4[=PATH] Compile with SOCKS4 firewall traversal support. - -The following environment variables can be set to override various -compiler related settings. - CC=compiler specify name of the C compiler (default: gcc or cc) - CFLAGS=flags specify flags to C compiler (default: -O -g or just -O) - LDFLAGS=flags specify flags to linker (default: none) - -This can be achieved with: - env CC="compiler" CFLAGS="flags" LDFLAGS="flags" ./configure - - - ============================================ - = = - = NOTE: You will need an ANSI C compiler. = - = = - ============================================ - - -PLATFORM SPECIFIC NOTES ------------------------ - -The following platforms & compilers have been tested: - -- AIX 4.1.5: -- AIX 4.2.1: -- AIX 4.3.3: - - Compiler: xlc -qlanglvl=ansi - version: xlC 3.1.4.10 -- C for AIX Compiler - version: ibmcxx.cmp 3.6.6.6 -- IBM C and C++ Compilers - - Configure with: - env CC="xlc" CFLAGS="-qlanglvl=ansi" ./configure - -- BSD/OS 4.0.1 (x86) -- BSD/OS 4.1 (x86) -- BSD/OS 4.1 (sparc) -- BSD/OS 4.2 (x86) - - Compiler: /bin/cc - version: gcc 2.7.2.1 - version: gcc version 2.95.2 19991024 - -- Digital UNIX 4.0b -- Digital UNIX 4.0d -- Digital UNIX 4.0f - - Compiler: cc -std - version: DEC C V5.2-036 on Digital UNIX V4.0 (Rev. 564) - version: DEC C V5.9-005 on Digital UNIX V4.0 (Rev. 1229) - - Configure with - env CC="cc -std" ./configure - - - Compiler: gcc - version: 2.95.1 - -- Digital UNIX 5.0 - - Compiler: cc - version: Compaq C V6.1-011 on Digital UNIX V5.0 (Rev. 910) - -- FreeBSD 3.4 (i386): -- FreeBSD 3.5 (i386): -- FreeBSD 4.1 (i386): - - Compiler: cc - version: gcc version 2.7.2.3 - version: gcc version 2.95.2 19991024 - -- HP/UX 10.20: -- HP/UX 11.00: - - Compiler: /opt/ansic/bin/cc -Ae - version: A.10.32.03 - - Configure with - env CC="cc -Ae" ./configure - - To generate code that will run on old architectures you - may need to add "+DAportable" to CC. - - -- IRIX 6.5.4 -- IRIX 6.5.8 - Compiler: /bin/cc - version: MIPSpro Compilers: Version 7.2.1 - Compiler: - version: gcc version 2.95.2 - -- HP/UX 11.00: -- HP/UX 11.00 64 bit: - - Compiler: /opt/ansic/bin/cc -Ae - version: A.11.01.00 - - Configure with - env CC="cc -Ae" ./configure - -- NetBSD 1.3.3 (i386) - Compiler: /usr/bin/cc - Compiler: /usr/bin/cc - - Ignore warnings about ``passing arg 3 of `tputs' from - incompatible pointer type''. - -- RedHat Linux 5.1 (?? i386) -- RedHat Linux 5.2 (?? i386) -- RedHat Linux 6.0 (Linux 2.2.10 i686) -- RedHat Linux 6.1 (Linux 2.2.5-15 i686) -- RedHat Linux 6.2 (Linux 2.2.16-3smp i686) - - Compiler: cc - version: egcs-1.1.2 - -- Slackware (Linux 2.0.35 i686) - - Compiler: cc - version: 2.7.2.3 - -- Solaris 2.6 (sparc) -- Solaris 7 (sparc) - - Compiler: /opt/SUNWspro/bin/cc - version: WorkShop Compilers 5.0 - - - Compiler: gcc - version: egcs-1.1.2 - -============= -= OLD NOTES = -============= - -XXX: clean up to match reality ------------------------------- - -- RedHat Linux 5.0 (i386) - Compiler: cc - -- Solaris 2.5 (sparc) -- Solaris 7 (x86) - Compiler: /opt/SUNWspro/bin/cc - version: SC3.0 15 Dec 1993 - version: WorkShop Compilers 5.0 - Compiler: gcc - version: egcs-1.1.2 - version: gcc 2.8.1 - version: gcc 2.95.1 - -- Solaris 7 (sparc) 64 bit - Compiler: /opt/SUNWspro/bin/cc -xarch=v9 - version: WorkShop Compilers 5.0 - -- SunOS 4 - Compiler: gcc -lresolv - version: - -- SuSE Linux - Compiler: gcc - version: - - /usr/bin/ftp on SuSE Linux 6.4 is this ftp client. - - May need `gcc -L/usr/lib/termcap' if tgetent() et al aren't found. - -- Ultrix 4.5 - Compiler: cc - version: MIPS C Compiler 3.0 - Compiler: gcc - version: 2.7.2.2 diff --git a/contrib/lukemftp/Makefile.in b/contrib/lukemftp/Makefile.in deleted file mode 100644 index 3e4f2984edfc..000000000000 --- a/contrib/lukemftp/Makefile.in +++ /dev/null @@ -1,33 +0,0 @@ -# $Id: Makefile.in,v 1.6 1999/11/13 01:18:22 lukem Exp $ -# - -srcdir = @srcdir@ -VPATH = @srcdir@ -SHELL = /bin/sh - -@SET_MAKE@ - - -SUBDIRS = libedit libukem src - -all: ftp - -ftp: @LIBEDIT@ @LIBUKEM@ - ( cd src; ${MAKE} ) - -libedit.a: - ( cd libedit; ${MAKE} ) - -libukem.a: - ( cd libukem; ${MAKE} ) - -install clean: - @for i in ${SUBDIRS}; do \ - ( echo "$@ ===> $$i" ; cd $$i ; ${MAKE} $@ ); \ - done - -distclean: clean - @for i in ${SUBDIRS}; do \ - ( echo "$@ ===> $$i" ; cd $$i ; ${MAKE} $@ ); \ - done - rm -f Makefile config.cache config.log config.status config.h diff --git a/contrib/lukemftp/NEWS b/contrib/lukemftp/NEWS deleted file mode 100644 index 614dec090a88..000000000000 --- a/contrib/lukemftp/NEWS +++ /dev/null @@ -1,84 +0,0 @@ -This is a brief description of the new features and fixes added to -lukemftp-1.5 since the release of lukemftp-1.4. As always, the manual -page (src/ftp.cat1) is the place to look for complete descriptions. - -* Add new commands: - features list remote features supported by servers - mlsd machine parseable directory listing - mlst machine parseable file listing - remopts set options on remote features - - These require support in the remote server for the ftp extensions - described in RFC 2389 and draft-ietf-ftpext-mlst-11. - -* Fix support for the --program-prefix and --program-suffix configure - options. - ---- -This is a brief description of the new features and fixes added to -lukemftp-1.4 since the release of lukemftp-1.3. As always, the manual -page (src/ftp.cat1) is the place to look for complete descriptions. - -* Fix compilation problems on various non 4.4BSD derived platforms which - support IPv6, and on Linux systems which have strdup() as a macro. - -* During auto-fetch, don't attempt to autologin a second time if the first - time failed. - ---- -This is a brief description of the new features and fixes added to -lukemftp-1.3 since the release of lukemftp-1.2. As always, the manual -page (src/ftp.cat1) is the place to look for complete descriptions. - -* The `ls' command now uses the `LIST' directive instead of `NLST', - in order to be compatible with RFC959. - -* Add fget command, which reads a list of filenames to retrieve from - the given file. - -* Add support for uploading files on the command-line with `ftp -u'. - -* Various fixes to the IPv6 support. - ---- -This is a brief description of the new features and fixes added to -lukemftp-1.2 since the release of lukemftp-1.1. As always, the manual -page (src/ftp.cat1) is the place to look for complete descriptions. - -* During remote completion, only send ``NLST'' instead of ``NLST .'' - when reading the list of files from the remote server; some servers - don't like the trailing `.'. - -* Support a leading ``[user@]'' for ``[user@]host[:][path]'' auto-fetches - and ``[user@]host'' connections. - -* Always compile in support for setting the type of service on transfers. - Should speed up transfers on Linux systems. - -* Improve performance of non-rate-limited transfers. - -* Work around ftp servers that aren't Y2K compliant in returning the - modification time of a file. - -* Update the libedit library to support automatic and magic margins, - allowing ftp's rprompt to move an extra character to the right. - ---- -This is a brief description of the new features and fixes added to -lukemftp-1.1 since the release of lukemftp-1.0. As always, the manual -page (src/ftp.cat1) is the place to look for complete descriptions. - -* Implemented `set prompt' and `set rprompt', which allow you to - configure the prompt and right side prompt (respectively). - Some tcsh(1) style `%' escapes are supported, including - %. %c %/ %m %M %n - -* Implemented restarting of file:/// and non-proxied http:// URLs - (using -R) - -* Correctly parse remote ports given as numbers that don't appear in - the services(5) database. - -* Prevent a couple of minor memory leaks - -* Add missing compilation setting for SOCKS diff --git a/contrib/lukemftp/README b/contrib/lukemftp/README deleted file mode 100644 index 4b3a12c328fa..000000000000 --- a/contrib/lukemftp/README +++ /dev/null @@ -1,61 +0,0 @@ -WHAT IS LUKEMFTP? ------------------ - -`lukemftp' is what many users affectionately call the enhanced ftp -client in NetBSD (http://www.netbsd.org). The `lukem' comes from -the account name of the NetBSD developer who wrote most of the -enhancements: Luke Mewburn <lukem@netbsd.org>. - -This package is a `port' of the NetBSD ftp client to other systems. - -The enhancements over the standard ftp client in 4.4BSD (and -derivatives) include: - * command-line editing within ftp - * command-line fetching of URLS, including support for: - - http proxies (c.f: $http_proxy, $ftp_proxy) - - authentication - * configurable prompt - * context sensitive command and filename completion - * dynamic progress bar - * feature negotiation extensions from RFC 2389 - (c.f: `feat' and `remopts') - * extensions to ftp from the IETF ftpext working group - (c.f: `mlsd' and `mlst') - * IPv6 support (from the WIDE project) - * modification time preservation - * paging of local and remote files, and of directory listings - (c.f: `lpage', `page', `pdir') - * passive mode support, with fallback to active mode - * retrieval of filenames listed in a given file (c.f: `fget') - * `set option' override of ftp environment variables - * socks4/socks5 support - * TIS Firewall Toolkit gate ftp proxy support (c.f: `gate') - * transfer-rate throttling (c.f: `-T', `rate') - * uploading of files on the command line (c.f: `-u') - - -INSTALLATION ------------- - -Refer to `INSTALL' for more information on how to compile and install -lukemftp. - - -FEEDBACK / BUG REPORTS ----------------------- - -Please email feedback back to the maintainer: <lukem@netbsd.org>. - - -COPYRIGHT ---------- - -lukemftp is covered by a BSD-style copyright notice. Please refer to -the file `COPYING' for more information. - - -AVAILABILITY ------------- - -The primary ftp site for lukemftp is: - ftp://ftp.netbsd.org/pub/NetBSD/misc/lukemftp/ diff --git a/contrib/lukemftp/THANKS b/contrib/lukemftp/THANKS deleted file mode 100644 index bff4e25b28a2..000000000000 --- a/contrib/lukemftp/THANKS +++ /dev/null @@ -1,30 +0,0 @@ -Whilst a lot of the work in lukemftp (both the original sources in NetBSD -and this port) was done by me (Luke Mewburn), it would not be as useable -without the enhancements, fixes, or input from the following people: - -Brian Stark <bstark1990@netscape.net> -Chris G. Demetriou <cgd@netbsd.org> -Christos Zoulas <christos@netbsd.org> -Dan Winship <danw@mit.edu> -Darren Reed <darrenr@pobox.com> -David Carrel <carrel@netbsd.org> -Giles Lean <giles@nemeton.com.au> -Havard Eidnes <Havard.Eidnes@runit.sintef.no> -ITOH Yasufumi <itohy@netbsd.org> -Jason R. Thorpe <thorpej@netbsd.org> -John Hawkinson <jhawk@mit.edu> -Joseph S. Myers <jsm28@cam.ac.uk> -Jun-ichiro itojun Hagino <itojun@netbsd.org> -Kimmo Suominen <kim@tac.nyc.ny.us> -Klaus Klein <kleink@netbsd.org> -Luke Mewburn <lukem@netbsd.org> -Marc Horowitz <marc@mit.edu> -Matthew R. Green <mrg@eterna.com.au> -Matthias Pfaller <leo@dachau.marco.de> -Matthias Scheler <tron@zhadum.de> -Michael L. Hitch <osymh@terra.oscs.montana.edu> -Scott Aaron Bamford <sab@ansic.net> -Simon Burge <simonb@thistledown.com.au> -Todd C. Miller <Todd.Miller@courtesan.com> - -Apologies to anyone I've missed. diff --git a/contrib/lukemftp/acconfig.h b/contrib/lukemftp/acconfig.h deleted file mode 100644 index fb3cbfae8f09..000000000000 --- a/contrib/lukemftp/acconfig.h +++ /dev/null @@ -1,92 +0,0 @@ -/* $Id: acconfig.h,v 1.9 2002/06/10 01:27:13 lukem Exp $ */ - -@TOP@ -@BOTTOM@ - -/* Define if your compiler supports `long long' */ -#undef HAVE_LONG_LONG - -/* Define if *printf() uses %qd to print `long long' (otherwise uses %lld) */ -#undef HAVE_PRINTF_QD - -/* Define if in_port_t exists */ -#undef HAVE_IN_PORT_T - -/* Define if sa_family_t exists in <sys/socket.h> */ -#undef HAVE_SA_FAMILY_T - -/* Define if struct sockaddr.sa_len exists (implies sockaddr_in.sin_len, etc) */ -#undef HAVE_SOCKADDR_SA_LEN - -/* Define if socklen_t exists */ -#undef HAVE_SOCKLEN_T - -/* Define if AF_INET6 exists in <sys/socket.h> */ -#undef HAVE_AF_INET6 - -/* Define if `struct sockaddr_in6' exists in <netinet/in.h> */ -#undef HAVE_SOCKADDR_IN6 - -/* Define if `struct addrinfo' exists in <netdb.h> */ -#undef HAVE_ADDRINFO - -/* - * Define if <netdb.h> contains AI_NUMERICHOST et al. - * Systems which only implement RFC2133 will need this. - */ -#undef HAVE_RFC2553_NETDB - -/* Define if `struct direct' has a d_namlen element */ -#undef HAVE_D_NAMLEN - -/* Define if h_errno exists in <netdb.h> */ -#undef HAVE_H_ERRNO_D - -/* Define if fclose() is declared in <stdio.h> */ -#undef HAVE_FCLOSE_D - -/* Define if getpass() is declared in <stdlib.h> or <unistd.h> */ -#undef HAVE_GETPASS_D - -/* Define if optarg is declared in <stdlib.h> or <unistd.h> */ -#undef HAVE_OPTARG_D - -/* Define if optind is declared in <stdlib.h> or <unistd.h> */ -#undef HAVE_OPTIND_D - -/* Define if pclose() is declared in <stdio.h> */ -#undef HAVE_PCLOSE_D - -/* Define if `long long' is supported and sizeof(off_t) >= 8 */ -#undef HAVE_QUAD_SUPPORT - -/* Define if strptime() is declared in <time.h> */ -#undef HAVE_STRPTIME_D - -/* - * Define this if compiling with SOCKS (the firewall traversal library). - * Also, you must define connect, getsockname, bind, accept, listen, and - * select to their R-versions. - */ -#undef SOCKS -#undef SOCKS4 -#undef SOCKS5 -#undef connect -#undef getsockname -#undef bind -#undef accept -#undef listen -#undef select -#undef dup -#undef dup2 -#undef fclose -#undef gethostbyname -#undef getpeername -#undef read -#undef recv -#undef recvfrom -#undef rresvport -#undef send -#undef sendto -#undef shutdown -#undef write diff --git a/contrib/lukemftp/aclocal.m4 b/contrib/lukemftp/aclocal.m4 deleted file mode 100644 index 3e275089625a..000000000000 --- a/contrib/lukemftp/aclocal.m4 +++ /dev/null @@ -1,257 +0,0 @@ -dnl $Id: aclocal.m4,v 1.5 1999/11/13 10:50:39 lukem Exp $ -dnl - -dnl -dnl AC_MSG_TRY_COMPILE -dnl -dnl Written by Luke Mewburn <lukem@netbsd.org> -dnl -dnl Usage: -dnl AC_MSG_TRY_COMPILE(Message, CacheVar, Includes, Code, -dnl ActionPass [,ActionFail] ) -dnl -dnl effectively does: -dnl AC_CACHE_CHECK(Message, CacheVar, -dnl AC_TRY_COMPILE(Includes, Code, CacheVar = yes, CacheVar = no) -dnl if CacheVar == yes -dnl AC_MESSAGE_RESULT(yes) -dnl ActionPass -dnl else -dnl AC_MESSAGE_RESULT(no) -dnl ActionFail -dnl ) -dnl -AC_DEFUN(AC_MSG_TRY_COMPILE, [ - AC_CACHE_CHECK($1, $2, [ - AC_TRY_COMPILE([ $3 ], [ $4; ], [ $2=yes ], [ $2=no ]) - ]) - if test "x[$]$2" = "xyes"; then - $5 - else - $6 - : - fi -]) - -dnl -dnl AC_MSG_TRY_LINK -dnl -dnl Usage: -dnl AC_MSG_TRY_LINK(Message, CacheVar, Includes, Code, -dnl ActionPass [,ActionFail] ) -dnl -dnl as AC_MSG_TRY_COMPILE, but uses AC_TRY_LINK instead of AC_TRY_COMPILE -dnl -AC_DEFUN(AC_MSG_TRY_LINK, [ - AC_CACHE_CHECK($1, $2, [ - AC_TRY_LINK([ $3 ], [ $4; ], [ $2=yes ], [ $2=no ]) - ]) - if test "x[$]$2" = "xyes"; then - $5 - else - $6 - : - fi -]) - - -dnl -dnl AC_LIBRARY_NET: #Id: net.m4,v 1.5 1997/11/09 21:36:54 jhawk Exp # -dnl -dnl Written by John Hawkinson <jhawk@mit.edu>. This code is in the Public -dnl Domain. -dnl -dnl This test is for network applications that need socket() and -dnl gethostbyname() -ish functions. Under Solaris, those applications need to -dnl link with "-lsocket -lnsl". Under IRIX, they should *not* link with -dnl "-lsocket" because libsocket.a breaks a number of things (for instance: -dnl gethostbyname() under IRIX 5.2, and snoop sockets under most versions of -dnl IRIX). -dnl -dnl Unfortunately, many application developers are not aware of this, and -dnl mistakenly write tests that cause -lsocket to be used under IRIX. It is -dnl also easy to write tests that cause -lnsl to be used under operating -dnl systems where neither are necessary (or useful), such as SunOS 4.1.4, which -dnl uses -lnsl for TLI. -dnl -dnl This test exists so that every application developer does not test this in -dnl a different, and subtly broken fashion. -dnl -dnl It has been argued that this test should be broken up into two seperate -dnl tests, one for the resolver libraries, and one for the libraries necessary -dnl for using Sockets API. Unfortunately, the two are carefully intertwined and -dnl allowing the autoconf user to use them independantly potentially results in -dnl unfortunate ordering dependancies -- as such, such component macros would -dnl have to carefully use indirection and be aware if the other components were -dnl executed. Since other autoconf macros do not go to this trouble, and almost -dnl no applications use sockets without the resolver, this complexity has not -dnl been implemented. -dnl -dnl The check for libresolv is in case you are attempting to link statically -dnl and happen to have a libresolv.a lying around (and no libnsl.a). -dnl -AC_DEFUN(AC_LIBRARY_NET, [ - # Most operating systems have gethostbyname() in the default searched - # libraries (i.e. libc): - AC_CHECK_FUNC(gethostbyname, , - # Some OSes (eg. Solaris) place it in libnsl: - AC_CHECK_LIB(nsl, gethostbyname, , - # Some strange OSes (SINIX) have it in libsocket: - AC_CHECK_LIB(socket, gethostbyname, , - # Unfortunately libsocket sometimes depends on libnsl. - # AC_CHECK_LIB's API is essentially broken so the following - # ugliness is necessary: - AC_CHECK_LIB(socket, gethostbyname, - LIBS="-lsocket -lnsl $LIBS", - AC_CHECK_LIB(resolv, gethostbyname), - -lnsl) - ) - ) - ) - AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket, , - AC_CHECK_LIB(socket, socket, LIBS="-lsocket -lnsl $LIBS", , -lnsl))) - ]) - - -dnl Checks for SOCKS firewall support. -dnl -dnl Written by Matthew R. Green <mrg@eterna.com.au> -dnl -AC_DEFUN(AC_LIBRARY_SOCKS, [ - AC_MSG_CHECKING(whether to support SOCKS) - AC_ARG_WITH(socks, - [ --with-socks Compile with SOCKS firewall traversal support.], - [ - case "$withval" in - no) - AC_MSG_RESULT(no) - ;; - yes) - AC_MSG_RESULT(yes) - AC_CHECK_LIB(socks5, SOCKSconnect, [ - socks=5 - LIBS="-lsocks5 $LIBS"], [ - AC_CHECK_LIB(socks, Rconnect, [ - socks=4 - LIBS="-lsocks $LIBS"], [ - AC_MSG_ERROR(Could not find socks library. You must first install socks.) ] ) ] ) - ;; - esac - ], - AC_MSG_RESULT(no) - ) - - if test "x$socks" = "x"; then - AC_MSG_CHECKING(whether to support SOCKS5) - AC_ARG_WITH(socks5, - [ --with-socks5[=PATH] Compile with SOCKS5 firewall traversal support.], - [ - case "$withval" in - no) - AC_MSG_RESULT(no) - ;; - *) - AC_MSG_RESULT(yes) - socks=5 - if test "x$withval" = "xyes"; then - withval="-lsocks5" - else - if test -d "$withval"; then - if test -d "$withval/include"; then - CFLAGS="$CFLAGS -I$withval/include" - else - CFLAGS="$CFLAGS -I$withval" - fi - if test -d "$withval/lib"; then - withval="-L$withval/lib -lsocks5" - else - withval="-L$withval -lsocks5" - fi - fi - fi - LIBS="$withval $LIBS" - # If Socks was compiled with Kerberos support, we will need - # to link against kerberos libraries. Temporarily append - # to LIBS. This is harmless if there is no kerberos support. - TMPLIBS="$LIBS" - LIBS="$LIBS $KERBEROS_LIBS" - AC_TRY_LINK([], - [ SOCKSconnect(); ], - [], - [ AC_MSG_ERROR(Could not find the $withval library. You must first install socks5.) ]) - LIBS="$TMPLIBS" - ;; - esac - ], - AC_MSG_RESULT(no) - ) - fi - - if test "x$socks" = "x"; then - AC_MSG_CHECKING(whether to support SOCKS4) - AC_ARG_WITH(socks4, - [ --with-socks4[=PATH] Compile with SOCKS4 firewall traversal support.], - [ - case "$withval" in - no) - AC_MSG_RESULT(no) - ;; - *) - AC_MSG_RESULT(yes) - socks=4 - if test "x$withval" = "xyes"; then - withval="-lsocks" - else - if test -d "$withval"; then - withval="-L$withval -lsocks" - fi - fi - LIBS="$withval $LIBS" - AC_TRY_LINK([], - [ Rconnect(); ], - [], - [ AC_MSG_ERROR(Could not find the $withval library. You must first install socks.) ]) - ;; - esac - ], - AC_MSG_RESULT(no) - ) - fi - - if test "x$socks" = "x4"; then - AC_DEFINE(SOCKS) - AC_DEFINE(SOCKS4) - AC_DEFINE(connect, Rconnect) - AC_DEFINE(getsockname, Rgetsockname) - AC_DEFINE(bind, Rbind) - AC_DEFINE(accept, Raccept) - AC_DEFINE(listen, Rlisten) - AC_DEFINE(select, Rselect) - fi - - if test "x$socks" = "x5"; then - AC_DEFINE(SOCKS) - AC_DEFINE(SOCKS5) - AC_DEFINE(connect,SOCKSconnect) - AC_DEFINE(getsockname,SOCKSgetsockname) - AC_DEFINE(getpeername,SOCKSgetpeername) - AC_DEFINE(bind,SOCKSbind) - AC_DEFINE(accept,SOCKSaccept) - AC_DEFINE(listen,SOCKSlisten) - AC_DEFINE(select,SOCKSselect) - AC_DEFINE(recvfrom,SOCKSrecvfrom) - AC_DEFINE(sendto,SOCKSsendto) - AC_DEFINE(recv,SOCKSrecv) - AC_DEFINE(send,SOCKSsend) - AC_DEFINE(read,SOCKSread) - AC_DEFINE(write,SOCKSwrite) - AC_DEFINE(rresvport,SOCKSrresvport) - AC_DEFINE(shutdown,SOCKSshutdown) - AC_DEFINE(listen,SOCKSlisten) - AC_DEFINE(close,SOCKSclose) - AC_DEFINE(dup,SOCKSdup) - AC_DEFINE(dup2,SOCKSdup2) - AC_DEFINE(fclose,SOCKSfclose) - AC_DEFINE(gethostbyname,SOCKSgethostbyname) - fi -]) diff --git a/contrib/lukemftp/config.h.in b/contrib/lukemftp/config.h.in deleted file mode 100644 index d75433431562..000000000000 --- a/contrib/lukemftp/config.h.in +++ /dev/null @@ -1,275 +0,0 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ -/* $Id: config.h.in,v 1.28 2002/06/10 08:10:33 lukem Exp $ */ - - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -#undef _ALL_SOURCE -#endif - -/* Define if the closedir function returns void instead of int. */ -#undef CLOSEDIR_VOID - -/* Define if the `getpgrp' function takes no argument. */ -#undef GETPGRP_VOID - -/* Define if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - -/* Define if your Fortran 77 compiler doesn't accept -c and -o together. */ -#undef F77_NO_MINUS_C_MINUS_O - -/* Define to `long' if <sys/types.h> doesn't define. */ -#undef off_t - -/* Define to the type of arg1 for select(). */ -#undef SELECT_TYPE_ARG1 - -/* Define to the type of args 2, 3 and 4 for select(). */ -#undef SELECT_TYPE_ARG234 - -/* Define to the type of arg5 for select(). */ -#undef SELECT_TYPE_ARG5 - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define if you can safely include both <sys/time.h> and <time.h>. */ -#undef TIME_WITH_SYS_TIME - -/* Define if the closedir function returns void instead of int. */ -#undef VOID_CLOSEDIR - -/* The number of bytes in a off_t. */ -#undef SIZEOF_OFF_T - -/* Define if you have the err function. */ -#undef HAVE_ERR - -/* Define if you have the fgetln function. */ -#undef HAVE_FGETLN - -/* Define if you have the fparseln function. */ -#undef HAVE_FPARSELN - -/* Define if you have the fseeko function. */ -#undef HAVE_FSEEKO - -/* Define if you have the getaddrinfo function. */ -#undef HAVE_GETADDRINFO - -/* Define if you have the gethostbyname2 function. */ -#undef HAVE_GETHOSTBYNAME2 - -/* Define if you have the getnameinfo function. */ -#undef HAVE_GETNAMEINFO - -/* Define if you have the getpassphrase function. */ -#undef HAVE_GETPASSPHRASE - -/* Define if you have the getpgrp function. */ -#undef HAVE_GETPGRP - -/* Define if you have the inet_ntop function. */ -#undef HAVE_INET_NTOP - -/* Define if you have the inet_pton function. */ -#undef HAVE_INET_PTON - -/* Define if you have the memmove function. */ -#undef HAVE_MEMMOVE - -/* Define if you have the mkstemp function. */ -#undef HAVE_MKSTEMP - -/* Define if you have the poll function. */ -#undef HAVE_POLL - -/* Define if you have the select function. */ -#undef HAVE_SELECT - -/* Define if you have the setprogname function. */ -#undef HAVE_SETPROGNAME - -/* Define if you have the sl_init function. */ -#undef HAVE_SL_INIT - -/* Define if you have the snprintf function. */ -#undef HAVE_SNPRINTF - -/* Define if you have the strdup function. */ -#undef HAVE_STRDUP - -/* Define if you have the strerror function. */ -#undef HAVE_STRERROR - -/* Define if you have the strlcat function. */ -#undef HAVE_STRLCAT - -/* Define if you have the strlcpy function. */ -#undef HAVE_STRLCPY - -/* Define if you have the strptime function. */ -#undef HAVE_STRPTIME - -/* Define if you have the strsep function. */ -#undef HAVE_STRSEP - -/* Define if you have the strtoll function. */ -#undef HAVE_STRTOLL - -/* Define if you have the strunvis function. */ -#undef HAVE_STRUNVIS - -/* Define if you have the strvis function. */ -#undef HAVE_STRVIS - -/* Define if you have the timegm function. */ -#undef HAVE_TIMEGM - -/* Define if you have the usleep function. */ -#undef HAVE_USLEEP - -/* Define if you have the <arpa/nameser.h> header file. */ -#undef HAVE_ARPA_NAMESER_H - -/* Define if you have the <dirent.h> header file. */ -#undef HAVE_DIRENT_H - -/* Define if you have the <err.h> header file. */ -#undef HAVE_ERR_H - -/* Define if you have the <libutil.h> header file. */ -#undef HAVE_LIBUTIL_H - -/* Define if you have the <ndir.h> header file. */ -#undef HAVE_NDIR_H - -/* Define if you have the <paths.h> header file. */ -#undef HAVE_PATHS_H - -/* Define if you have the <poll.h> header file. */ -#undef HAVE_POLL_H - -/* Define if you have the <regex.h> header file. */ -#undef HAVE_REGEX_H - -/* Define if you have the <sys/dir.h> header file. */ -#undef HAVE_SYS_DIR_H - -/* Define if you have the <sys/ndir.h> header file. */ -#undef HAVE_SYS_NDIR_H - -/* Define if you have the <sys/poll.h> header file. */ -#undef HAVE_SYS_POLL_H - -/* Define if you have the <termcap.h> header file. */ -#undef HAVE_TERMCAP_H - -/* Define if you have the <util.h> header file. */ -#undef HAVE_UTIL_H - -/* Define if you have the <vis.h> header file. */ -#undef HAVE_VIS_H - -/* Define if you have the nsl library (-lnsl). */ -#undef HAVE_LIBNSL - -/* Define if you have the socket library (-lsocket). */ -#undef HAVE_LIBSOCKET - -/* Define if you have the tinfo library (-ltinfo). */ -#undef HAVE_LIBTINFO - -/* Define if you have the util library (-lutil). */ -#undef HAVE_LIBUTIL - -/* Define if your compiler supports `long long' */ -#undef HAVE_LONG_LONG - -/* Define if *printf() uses %qd to print `long long' (otherwise uses %lld) */ -#undef HAVE_PRINTF_QD - -/* Define if in_port_t exists */ -#undef HAVE_IN_PORT_T - -/* Define if sa_family_t exists in <sys/socket.h> */ -#undef HAVE_SA_FAMILY_T - -/* Define if struct sockaddr.sa_len exists (implies sockaddr_in.sin_len, etc) */ -#undef HAVE_SOCKADDR_SA_LEN - -/* Define if socklen_t exists */ -#undef HAVE_SOCKLEN_T - -/* Define if AF_INET6 exists in <sys/socket.h> */ -#undef HAVE_AF_INET6 - -/* Define if `struct sockaddr_in6' exists in <netinet/in.h> */ -#undef HAVE_SOCKADDR_IN6 - -/* Define if `struct addrinfo' exists in <netdb.h> */ -#undef HAVE_ADDRINFO - -/* - * Define if <netdb.h> contains AI_NUMERICHOST et al. - * Systems which only implement RFC2133 will need this. - */ -#undef HAVE_RFC2553_NETDB - -/* Define if `struct direct' has a d_namlen element */ -#undef HAVE_D_NAMLEN - -/* Define if h_errno exists in <netdb.h> */ -#undef HAVE_H_ERRNO_D - -/* Define if fclose() is declared in <stdio.h> */ -#undef HAVE_FCLOSE_D - -/* Define if getpass() is declared in <stdlib.h> or <unistd.h> */ -#undef HAVE_GETPASS_D - -/* Define if optarg is declared in <stdlib.h> or <unistd.h> */ -#undef HAVE_OPTARG_D - -/* Define if optind is declared in <stdlib.h> or <unistd.h> */ -#undef HAVE_OPTIND_D - -/* Define if pclose() is declared in <stdio.h> */ -#undef HAVE_PCLOSE_D - -/* Define if `long long' is supported and sizeof(off_t) >= 8 */ -#undef HAVE_QUAD_SUPPORT - -/* Define if strptime() is declared in <time.h> */ -#undef HAVE_STRPTIME_D - -/* - * Define this if compiling with SOCKS (the firewall traversal library). - * Also, you must define connect, getsockname, bind, accept, listen, and - * select to their R-versions. - */ -#undef SOCKS -#undef SOCKS4 -#undef SOCKS5 -#undef connect -#undef getsockname -#undef bind -#undef accept -#undef listen -#undef select -#undef dup -#undef dup2 -#undef fclose -#undef gethostbyname -#undef getpeername -#undef read -#undef recv -#undef recvfrom -#undef rresvport -#undef send -#undef sendto -#undef shutdown -#undef write diff --git a/contrib/lukemftp/configure b/contrib/lukemftp/configure deleted file mode 100755 index f759085c9eb7..000000000000 --- a/contrib/lukemftp/configure +++ /dev/null @@ -1,4229 +0,0 @@ -#! /bin/sh - -# From configure.in Revision: 1.37 - - - - - - - - - - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: -ac_help="$ac_help -\ - --enable-editcomplete Turn on command line editing and completion. - --disable-editcomplete Turn off command line editing and completion - [default: enabled]." -ac_help="$ac_help -\ - --enable-ipv6 Enable IPv6 support (if your OS supports it). - --disable-ipv6 Disable IPv6 support (even if your OS supports it) - [default: enabled]." -ac_help="$ac_help - --with-socks Compile with SOCKS firewall traversal support." -ac_help="$ac_help - --with-socks5[=PATH] Compile with SOCKS5 firewall traversal support." -ac_help="$ac_help - --with-socks4[=PATH] Compile with SOCKS4 firewall traversal support." - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=lukemftp.h - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -if test "$program_transform_name" = s,x,x,; then - program_transform_name= -else - # Double any \ or $. echo might interpret backslashes. - cat <<\EOF_SED > conftestsed -s,\\,\\\\,g; s,\$,$$,g -EOF_SED - program_transform_name="`echo $program_transform_name|sed -f conftestsed`" - rm -f conftestsed -fi -test "$program_prefix" != NONE && - program_transform_name="s,^,${program_prefix},; $program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$\$,${program_suffix},; $program_transform_name" - -# sed with no file args requires a program. -test "$program_transform_name" = "" && program_transform_name="s,x,x," - -# Check whether --enable-editcomplete or --disable-editcomplete was given. -if test "${enable_editcomplete+set}" = set; then - enableval="$enable_editcomplete" - opt_editcomplete=$enableval -else - opt_editcomplete=yes -fi - -# Check whether --enable-ipv6 or --disable-ipv6 was given. -if test "${enable_ipv6+set}" = set; then - enableval="$enable_ipv6" - opt_ipv6=$enableval -else - opt_ipv6=yes -fi - - -echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:590: checking whether ${MAKE-make} sets \${MAKE}" >&5 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftestmake <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftestmake -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$ac_t""yes" 1>&6 - SET_MAKE= -else - echo "$ac_t""no" 1>&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -# Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:619: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="gcc" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:649: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_prog_rejected=no - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - break - fi - done - IFS="$ac_save_ifs" -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# -gt 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" "$@" - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - if test -z "$CC"; then - case "`uname -s`" in - *win32* | *WIN32*) - # Extract the first word of "cl", so it can be a program name with args. -set dummy cl; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:700: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="cl" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - ;; - esac - fi - test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } -fi - -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:732: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -cat > conftest.$ac_ext << EOF - -#line 743 "configure" -#include "confdefs.h" - -main(){return(0);} -EOF -if { (eval echo configure:748: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - ac_cv_prog_cc_works=yes - # If we can't run a trivial program, we are probably using a cross compiler. - if (./conftest; exit) 2>/dev/null; then - ac_cv_prog_cc_cross=no - else - ac_cv_prog_cc_cross=yes - fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_prog_cc_works=no -fi -rm -fr conftest* -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 -if test $ac_cv_prog_cc_works = no; then - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } -fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:774: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 -echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 -cross_compiling=$ac_cv_prog_cc_cross - -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:779: checking whether we are using GNU C" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.c <<EOF -#ifdef __GNUC__ - yes; -#endif -EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:788: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - ac_cv_prog_gcc=yes -else - ac_cv_prog_gcc=no -fi -fi - -echo "$ac_t""$ac_cv_prog_gcc" 1>&6 - -if test $ac_cv_prog_gcc = yes; then - GCC=yes -else - GCC= -fi - -ac_test_CFLAGS="${CFLAGS+set}" -ac_save_CFLAGS="$CFLAGS" -CFLAGS= -echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:807: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then - ac_cv_prog_cc_g=yes -else - ac_cv_prog_cc_g=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi - -for ac_prog in mawk gawk nawk awk -do -# Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:843: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_AWK="$ac_prog" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -AWK="$ac_cv_prog_AWK" -if test -n "$AWK"; then - echo "$ac_t""$AWK" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -test -n "$AWK" && break -done - -ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:903: checking for a BSD compatible install" >&5 -if test -z "$INSTALL"; then -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" - for ac_dir in $PATH; do - # Account for people who put trailing slashes in PATH elements. - case "$ac_dir/" in - /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if test -f $ac_dir/$ac_prog; then - if test $ac_prog = install && - grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 - fi - fi - done - ;; - esac - done - IFS="$ac_save_IFS" - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL="$ac_cv_path_install" - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL="$ac_install_sh" - fi -fi -echo "$ac_t""$INSTALL" 1>&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -# Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:958: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="ranlib" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" -fi -fi -RANLIB="$ac_cv_prog_RANLIB" -if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -for ac_prog in ar -do -# Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:990: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_AR="$ac_prog" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -AR="$ac_cv_prog_AR" -if test -n "$AR"; then - echo "$ac_t""$AR" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -test -n "$AR" && break -done - -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1020: checking how to run the C preprocessor" >&5 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # This must be in double quotes, not single quotes, because CPP may get - # substituted into the Makefile and "${CC-cc}" will confuse make. - CPP="${CC-cc} -E" - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. - cat > conftest.$ac_ext <<EOF -#line 1035 "configure" -#include "confdefs.h" -#include <assert.h> -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1041: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -E -traditional-cpp" - cat > conftest.$ac_ext <<EOF -#line 1052 "configure" -#include "confdefs.h" -#include <assert.h> -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1058: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -nologo -E" - cat > conftest.$ac_ext <<EOF -#line 1069 "configure" -#include "confdefs.h" -#include <assert.h> -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP=/lib/cpp -fi -rm -f conftest* -fi -rm -f conftest* -fi -rm -f conftest* - ac_cv_prog_CPP="$CPP" -fi - CPP="$ac_cv_prog_CPP" -else - ac_cv_prog_CPP="$CPP" -fi -echo "$ac_t""$CPP" 1>&6 - -echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:1100: checking for AIX" >&5 -cat > conftest.$ac_ext <<EOF -#line 1102 "configure" -#include "confdefs.h" -#ifdef _AIX - yes -#endif - -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "yes" >/dev/null 2>&1; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF -#define _ALL_SOURCE 1 -EOF - -else - rm -rf conftest* - echo "$ac_t""no" 1>&6 -fi -rm -f conftest* - - - - -echo $ac_n "checking for fparseln in -lutil""... $ac_c" 1>&6 -echo "configure:1126: checking for fparseln in -lutil" >&5 -ac_lib_var=`echo util'_'fparseln | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lutil $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1134 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char fparseln(); - -int main() { -fparseln() -; return 0; } -EOF -if { (eval echo configure:1145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo util | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 -EOF - - LIBS="-lutil $LIBS" - -else - echo "$ac_t""no" 1>&6 -fi - -if test $opt_editcomplete = yes; then - echo $ac_n "checking for tgetent in -ltinfo""... $ac_c" 1>&6 -echo "configure:1174: checking for tgetent in -ltinfo" >&5 -ac_lib_var=`echo tinfo'_'tgetent | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-ltinfo $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1182 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tgetent(); - -int main() { -tgetent() -; return 0; } -EOF -if { (eval echo configure:1193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo tinfo | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 -EOF - - LIBS="-ltinfo $LIBS" - -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6 -echo "configure:1219: checking for tgetent in -ltermcap" >&5 -ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-ltermcap $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1227 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tgetent(); - -int main() { -tgetent() -; return 0; } -EOF -if { (eval echo configure:1238: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo termcap | sed -e 's/^a-zA-Z0-9_/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 -EOF - - LIBS="-ltermcap $LIBS" - -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6 -echo "configure:1264: checking for tgetent in -lcurses" >&5 -ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lcurses $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1272 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tgetent(); - -int main() { -tgetent() -; return 0; } -EOF -if { (eval echo configure:1283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo curses | sed -e 's/^a-zA-Z0-9_/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 -EOF - - LIBS="-lcurses $LIBS" - -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6 -echo "configure:1309: checking for tgetent in -lncurses" >&5 -ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lncurses $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1317 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tgetent(); - -int main() { -tgetent() -; return 0; } -EOF -if { (eval echo configure:1328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo ncurses | sed -e 's/^a-zA-Z0-9_/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 -EOF - - LIBS="-lncurses $LIBS" - -else - echo "$ac_t""no" 1>&6 -fi - -fi - -fi - -fi - - -echo $ac_n "checking for library containing el_init""... $ac_c" 1>&6 -echo "configure:1363: checking for library containing el_init" >&5 -if eval "test \"`echo '$''{'ac_cv_search_el_init'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_func_search_save_LIBS="$LIBS" -ac_cv_search_el_init="no" -cat > conftest.$ac_ext <<EOF -#line 1370 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char el_init(); - -int main() { -el_init() -; return 0; } -EOF -if { (eval echo configure:1381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_search_el_init="none required" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -test "$ac_cv_search_el_init" = "no" && for i in edit; do -LIBS="-l$i $ac_func_search_save_LIBS" -cat > conftest.$ac_ext <<EOF -#line 1392 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char el_init(); - -int main() { -el_init() -; return 0; } -EOF -if { (eval echo configure:1403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_search_el_init="-l$i" -break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -done -LIBS="$ac_func_search_save_LIBS" -fi - -echo "$ac_t""$ac_cv_search_el_init" 1>&6 -if test "$ac_cv_search_el_init" != "no"; then - test "$ac_cv_search_el_init" = "none required" || LIBS="$ac_cv_search_el_init $LIBS" - have_libedit=yes -else : - have_libedit=no -fi -fi - - # Most operating systems have gethostbyname() in the default searched - # libraries (i.e. libc): - echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:1428: checking for gethostbyname" >&5 -if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 1433 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char gethostbyname(); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) -choke me -#else -gethostbyname(); -#endif - -; return 0; } -EOF -if { (eval echo configure:1456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_gethostbyname=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_gethostbyname=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then - echo "$ac_t""yes" 1>&6 - : -else - echo "$ac_t""no" 1>&6 -# Some OSes (eg. Solaris) place it in libnsl: - echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:1475: checking for gethostbyname in -lnsl" >&5 -ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lnsl $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1483 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname(); - -int main() { -gethostbyname() -; return 0; } -EOF -if { (eval echo configure:1494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo nsl | sed -e 's/^a-zA-Z0-9_/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 -EOF - - LIBS="-lnsl $LIBS" - -else - echo "$ac_t""no" 1>&6 -# Some strange OSes (SINIX) have it in libsocket: - echo $ac_n "checking for gethostbyname in -lsocket""... $ac_c" 1>&6 -echo "configure:1521: checking for gethostbyname in -lsocket" >&5 -ac_lib_var=`echo socket'_'gethostbyname | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lsocket $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1529 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname(); - -int main() { -gethostbyname() -; return 0; } -EOF -if { (eval echo configure:1540: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/^a-zA-Z0-9_/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 -EOF - - LIBS="-lsocket $LIBS" - -else - echo "$ac_t""no" 1>&6 -# Unfortunately libsocket sometimes depends on libnsl. - # AC_CHECK_LIB's API is essentially broken so the following - # ugliness is necessary: - echo $ac_n "checking for gethostbyname in -lsocket""... $ac_c" 1>&6 -echo "configure:1569: checking for gethostbyname in -lsocket" >&5 -ac_lib_var=`echo socket'_'gethostbyname | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lsocket -lnsl $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1577 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname(); - -int main() { -gethostbyname() -; return 0; } -EOF -if { (eval echo configure:1588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="-lsocket -lnsl $LIBS" -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for gethostbyname in -lresolv""... $ac_c" 1>&6 -echo "configure:1607: checking for gethostbyname in -lresolv" >&5 -ac_lib_var=`echo resolv'_'gethostbyname | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lresolv $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1615 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname(); - -int main() { -gethostbyname() -; return 0; } -EOF -if { (eval echo configure:1626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo resolv | sed -e 's/^a-zA-Z0-9_/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 -EOF - - LIBS="-lresolv $LIBS" - -else - echo "$ac_t""no" 1>&6 -fi - -fi - - -fi - - -fi - - -fi - - echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:1665: checking for socket" >&5 -if eval "test \"`echo '$''{'ac_cv_func_socket'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 1670 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char socket(); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char socket(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_socket) || defined (__stub___socket) -choke me -#else -socket(); -#endif - -; return 0; } -EOF -if { (eval echo configure:1693: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_socket=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_socket=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'socket`\" = yes"; then - echo "$ac_t""yes" 1>&6 - : -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:1711: checking for socket in -lsocket" >&5 -ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lsocket $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1719 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char socket(); - -int main() { -socket() -; return 0; } -EOF -if { (eval echo configure:1730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/^a-zA-Z0-9_/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 -EOF - - LIBS="-lsocket $LIBS" - -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:1756: checking for socket in -lsocket" >&5 -ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lsocket -lnsl $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1764 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char socket(); - -int main() { -socket() -; return 0; } -EOF -if { (eval echo configure:1775: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="-lsocket -lnsl $LIBS" -else - echo "$ac_t""no" 1>&6 -fi - -fi - -fi - - - - echo $ac_n "checking whether to support SOCKS""... $ac_c" 1>&6 -echo "configure:1802: checking whether to support SOCKS" >&5 - # Check whether --with-socks or --without-socks was given. -if test "${with_socks+set}" = set; then - withval="$with_socks" - - case "$withval" in - no) - echo "$ac_t""no" 1>&6 - ;; - yes) - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for SOCKSconnect in -lsocks5""... $ac_c" 1>&6 -echo "configure:1814: checking for SOCKSconnect in -lsocks5" >&5 -ac_lib_var=`echo socks5'_'SOCKSconnect | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lsocks5 $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1822 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char SOCKSconnect(); - -int main() { -SOCKSconnect() -; return 0; } -EOF -if { (eval echo configure:1833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - socks=5 - LIBS="-lsocks5 $LIBS" -else - echo "$ac_t""no" 1>&6 - - echo $ac_n "checking for Rconnect in -lsocks""... $ac_c" 1>&6 -echo "configure:1855: checking for Rconnect in -lsocks" >&5 -ac_lib_var=`echo socks'_'Rconnect | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lsocks $LIBS" -cat > conftest.$ac_ext <<EOF -#line 1863 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char Rconnect(); - -int main() { -Rconnect() -; return 0; } -EOF -if { (eval echo configure:1874: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - socks=4 - LIBS="-lsocks $LIBS" -else - echo "$ac_t""no" 1>&6 - - { echo "configure: error: Could not find socks library. You must first install socks." 1>&2; exit 1; } -fi - -fi - - ;; - esac - -else - echo "$ac_t""no" 1>&6 - -fi - - - if test "x$socks" = "x"; then - echo $ac_n "checking whether to support SOCKS5""... $ac_c" 1>&6 -echo "configure:1911: checking whether to support SOCKS5" >&5 - # Check whether --with-socks5 or --without-socks5 was given. -if test "${with_socks5+set}" = set; then - withval="$with_socks5" - - case "$withval" in - no) - echo "$ac_t""no" 1>&6 - ;; - *) - echo "$ac_t""yes" 1>&6 - socks=5 - if test "x$withval" = "xyes"; then - withval="-lsocks5" - else - if test -d "$withval"; then - if test -d "$withval/include"; then - CFLAGS="$CFLAGS -I$withval/include" - else - CFLAGS="$CFLAGS -I$withval" - fi - if test -d "$withval/lib"; then - withval="-L$withval/lib -lsocks5" - else - withval="-L$withval -lsocks5" - fi - fi - fi - LIBS="$withval $LIBS" - # If Socks was compiled with Kerberos support, we will need - # to link against kerberos libraries. Temporarily append - # to LIBS. This is harmless if there is no kerberos support. - TMPLIBS="$LIBS" - LIBS="$LIBS $KERBEROS_LIBS" - cat > conftest.$ac_ext <<EOF -#line 1946 "configure" -#include "confdefs.h" - -int main() { - SOCKSconnect(); -; return 0; } -EOF -if { (eval echo configure:1953: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - { echo "configure: error: Could not find the $withval library. You must first install socks5." 1>&2; exit 1; } -fi -rm -f conftest* - LIBS="$TMPLIBS" - ;; - esac - -else - echo "$ac_t""no" 1>&6 - -fi - - fi - - if test "x$socks" = "x"; then - echo $ac_n "checking whether to support SOCKS4""... $ac_c" 1>&6 -echo "configure:1975: checking whether to support SOCKS4" >&5 - # Check whether --with-socks4 or --without-socks4 was given. -if test "${with_socks4+set}" = set; then - withval="$with_socks4" - - case "$withval" in - no) - echo "$ac_t""no" 1>&6 - ;; - *) - echo "$ac_t""yes" 1>&6 - socks=4 - if test "x$withval" = "xyes"; then - withval="-lsocks" - else - if test -d "$withval"; then - withval="-L$withval -lsocks" - fi - fi - LIBS="$withval $LIBS" - cat > conftest.$ac_ext <<EOF -#line 1996 "configure" -#include "confdefs.h" - -int main() { - Rconnect(); -; return 0; } -EOF -if { (eval echo configure:2003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - { echo "configure: error: Could not find the $withval library. You must first install socks." 1>&2; exit 1; } -fi -rm -f conftest* - ;; - esac - -else - echo "$ac_t""no" 1>&6 - -fi - - fi - - if test "x$socks" = "x4"; then - cat >> confdefs.h <<\EOF -#define SOCKS 1 -EOF - - cat >> confdefs.h <<\EOF -#define SOCKS4 1 -EOF - - cat >> confdefs.h <<\EOF -#define connect Rconnect -EOF - - cat >> confdefs.h <<\EOF -#define getsockname Rgetsockname -EOF - - cat >> confdefs.h <<\EOF -#define bind Rbind -EOF - - cat >> confdefs.h <<\EOF -#define accept Raccept -EOF - - cat >> confdefs.h <<\EOF -#define listen Rlisten -EOF - - cat >> confdefs.h <<\EOF -#define select Rselect -EOF - - fi - - if test "x$socks" = "x5"; then - cat >> confdefs.h <<\EOF -#define SOCKS 1 -EOF - - cat >> confdefs.h <<\EOF -#define SOCKS5 1 -EOF - - cat >> confdefs.h <<\EOF -#define connect SOCKSconnect -EOF - - cat >> confdefs.h <<\EOF -#define getsockname SOCKSgetsockname -EOF - - cat >> confdefs.h <<\EOF -#define getpeername SOCKSgetpeername -EOF - - cat >> confdefs.h <<\EOF -#define bind SOCKSbind -EOF - - cat >> confdefs.h <<\EOF -#define accept SOCKSaccept -EOF - - cat >> confdefs.h <<\EOF -#define listen SOCKSlisten -EOF - - cat >> confdefs.h <<\EOF -#define select SOCKSselect -EOF - - cat >> confdefs.h <<\EOF -#define recvfrom SOCKSrecvfrom -EOF - - cat >> confdefs.h <<\EOF -#define sendto SOCKSsendto -EOF - - cat >> confdefs.h <<\EOF -#define recv SOCKSrecv -EOF - - cat >> confdefs.h <<\EOF -#define send SOCKSsend -EOF - - cat >> confdefs.h <<\EOF -#define read SOCKSread -EOF - - cat >> confdefs.h <<\EOF -#define write SOCKSwrite -EOF - - cat >> confdefs.h <<\EOF -#define rresvport SOCKSrresvport -EOF - - cat >> confdefs.h <<\EOF -#define shutdown SOCKSshutdown -EOF - - cat >> confdefs.h <<\EOF -#define listen SOCKSlisten -EOF - - cat >> confdefs.h <<\EOF -#define close SOCKSclose -EOF - - cat >> confdefs.h <<\EOF -#define dup SOCKSdup -EOF - - cat >> confdefs.h <<\EOF -#define dup2 SOCKSdup2 -EOF - - cat >> confdefs.h <<\EOF -#define fclose SOCKSfclose -EOF - - cat >> confdefs.h <<\EOF -#define gethostbyname SOCKSgethostbyname -EOF - - fi - -if test -n "$socks"; then - if test $opt_ipv6 = yes; then - echo "IPv6 is incompatible with socks, disabling IPv6 support" - opt_ipv6=no - fi -fi - - - -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:2166: checking for $ac_hdr that defines DIR" >&5 -if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 2171 "configure" -#include "confdefs.h" -#include <sys/types.h> -#include <$ac_hdr> -int main() { -DIR *dirp = 0; -; return 0; } -EOF -if { (eval echo configure:2179: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - eval "ac_cv_header_dirent_$ac_safe=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_dirent_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <<EOF -#define $ac_tr_hdr 1 -EOF - ac_header_dirent=$ac_hdr; break -else - echo "$ac_t""no" 1>&6 -fi -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then -echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:2204: checking for opendir in -ldir" >&5 -ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-ldir $LIBS" -cat > conftest.$ac_ext <<EOF -#line 2212 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir(); - -int main() { -opendir() -; return 0; } -EOF -if { (eval echo configure:2223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -ldir" -else - echo "$ac_t""no" 1>&6 -fi - -else -echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:2245: checking for opendir in -lx" >&5 -ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lx $LIBS" -cat > conftest.$ac_ext <<EOF -#line 2253 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir(); - -int main() { -opendir() -; return 0; } -EOF -if { (eval echo configure:2264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -lx" -else - echo "$ac_t""no" 1>&6 -fi - -fi - -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2287: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 2292 "configure" -#include "confdefs.h" -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2300: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - ac_cv_header_stdc=yes -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext <<EOF -#line 2317 "configure" -#include "confdefs.h" -#include <string.h> -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext <<EOF -#line 2335 "configure" -#include "confdefs.h" -#include <stdlib.h> -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then - : -else - cat > conftest.$ac_ext <<EOF -#line 2356 "configure" -#include "confdefs.h" -#include <ctype.h> -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } - -EOF -if { (eval echo configure:2367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no -fi -rm -fr conftest* -fi - -fi -fi - -echo "$ac_t""$ac_cv_header_stdc" 1>&6 -if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -for ac_hdr in arpa/nameser.h err.h regex.h paths.h poll.h sys/poll.h \ - termcap.h util.h libutil.h vis.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2395: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 2400 "configure" -#include "confdefs.h" -#include <$ac_hdr> -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2405: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <<EOF -#define $ac_tr_hdr 1 -EOF - -else - echo "$ac_t""no" 1>&6 -fi -done - - - -echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:2434: checking whether time.h and sys/time.h may both be included" >&5 -if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 2439 "configure" -#include "confdefs.h" -#include <sys/types.h> -#include <sys/time.h> -#include <time.h> -int main() { -struct tm *tp; -; return 0; } -EOF -if { (eval echo configure:2448: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_header_time=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_time=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_header_time" 1>&6 -if test $ac_cv_header_time = yes; then - cat >> confdefs.h <<\EOF -#define TIME_WITH_SYS_TIME 1 -EOF - -fi - -echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2469: checking for off_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 2474 "configure" -#include "confdefs.h" -#include <sys/types.h> -#if STDC_HEADERS -#include <stdlib.h> -#include <stddef.h> -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_off_t=yes -else - rm -rf conftest* - ac_cv_type_off_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_off_t" 1>&6 -if test $ac_cv_type_off_t = no; then - cat >> confdefs.h <<\EOF -#define off_t long -EOF - -fi - -echo $ac_n "checking size of off_t""... $ac_c" 1>&6 -echo "configure:2502: checking size of off_t" >&5 -if eval "test \"`echo '$''{'ac_cv_sizeof_off_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_sizeof_off_t=0 -else - cat > conftest.$ac_ext <<EOF -#line 2510 "configure" -#include "confdefs.h" -#include <stdio.h> -main() -{ - FILE *f=fopen("conftestval", "w"); - if (!f) exit(1); - fprintf(f, "%d\n", sizeof(off_t)); - exit(0); -} -EOF -if { (eval echo configure:2521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_sizeof_off_t=`cat conftestval` -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_sizeof_off_t=0 -fi -rm -fr conftest* -fi - -fi -echo "$ac_t""$ac_cv_sizeof_off_t" 1>&6 -cat >> confdefs.h <<EOF -#define SIZEOF_OFF_T $ac_cv_sizeof_off_t -EOF - - - - echo $ac_n "checking for long long""... $ac_c" 1>&6 -echo "configure:2542: checking for long long" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_LONG_LONG'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 2548 "configure" -#include "confdefs.h" - -#include <sys/types.h> -int main() { - -long long X = 2, Y = 1, Z; -Z = X / Y; ; -; return 0; } -EOF -if { (eval echo configure:2558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ftp_cv_HAVE_LONG_LONG=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_LONG_LONG=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_LONG_LONG" 1>&6 - if test "x$ftp_cv_HAVE_LONG_LONG" = "xyes"; then - -cat >> confdefs.h <<\EOF -#define HAVE_LONG_LONG 1 -EOF - -have_long_long=yes - else - have_long_long=no - : - fi - - - - echo $ac_n "checking for in_port_t""... $ac_c" 1>&6 -echo "configure:2587: checking for in_port_t" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_IN_PORT_T'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 2593 "configure" -#include "confdefs.h" - -#include <sys/types.h> -#include <netinet/in.h> -int main() { - in_port_t X ; -; return 0; } -EOF -if { (eval echo configure:2602: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_IN_PORT_T=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_IN_PORT_T=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_IN_PORT_T" 1>&6 - if test "x$ftp_cv_HAVE_IN_PORT_T" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_IN_PORT_T 1 -EOF - - else - - : - fi - - - - echo $ac_n "checking for sa_family_t""... $ac_c" 1>&6 -echo "configure:2629: checking for sa_family_t" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_SA_FAMILY_T'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 2635 "configure" -#include "confdefs.h" - -#include <sys/types.h> -#include <sys/socket.h> -int main() { - sa_family_t X ; -; return 0; } -EOF -if { (eval echo configure:2644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_SA_FAMILY_T=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_SA_FAMILY_T=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_SA_FAMILY_T" 1>&6 - if test "x$ftp_cv_HAVE_SA_FAMILY_T" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_SA_FAMILY_T 1 -EOF - - else - - : - fi - - - - echo $ac_n "checking for sockaddr_in.sin_len""... $ac_c" 1>&6 -echo "configure:2671: checking for sockaddr_in.sin_len" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_SOCKADDR_SA_LEN'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 2677 "configure" -#include "confdefs.h" - -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -int main() { - - struct sockaddr_in sin; - int X = sin.sin_len ; -; return 0; } -EOF -if { (eval echo configure:2689: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_SOCKADDR_SA_LEN=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_SOCKADDR_SA_LEN=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_SOCKADDR_SA_LEN" 1>&6 - if test "x$ftp_cv_HAVE_SOCKADDR_SA_LEN" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_SOCKADDR_SA_LEN 1 -EOF - - else - - : - fi - - - - echo $ac_n "checking for socklen_t""... $ac_c" 1>&6 -echo "configure:2716: checking for socklen_t" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_SOCKLEN_T'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 2722 "configure" -#include "confdefs.h" - -#include <sys/types.h> -#include <sys/socket.h> -int main() { - socklen_t X ; -; return 0; } -EOF -if { (eval echo configure:2731: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_SOCKLEN_T=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_SOCKLEN_T=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_SOCKLEN_T" 1>&6 - if test "x$ftp_cv_HAVE_SOCKLEN_T" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_SOCKLEN_T 1 -EOF - - else - - : - fi - - -if test $opt_ipv6 = yes; then - - - echo $ac_n "checking for AF_INET6""... $ac_c" 1>&6 -echo "configure:2760: checking for AF_INET6" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_AF_INET6'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 2766 "configure" -#include "confdefs.h" - -#include <sys/types.h> -#include <sys/socket.h> -int main() { - int X = AF_INET6 ; -; return 0; } -EOF -if { (eval echo configure:2775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_AF_INET6=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_AF_INET6=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_AF_INET6" 1>&6 - if test "x$ftp_cv_HAVE_AF_INET6" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_AF_INET6 1 -EOF - - else - - : - fi - - - - echo $ac_n "checking for struct sockaddr_in6""... $ac_c" 1>&6 -echo "configure:2802: checking for struct sockaddr_in6" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_SOCKADDR_IN6'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 2808 "configure" -#include "confdefs.h" - -#include <sys/types.h> -#include <netinet/in.h> -int main() { - struct sockaddr_in6 X ; -; return 0; } -EOF -if { (eval echo configure:2817: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_SOCKADDR_IN6=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_SOCKADDR_IN6=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_SOCKADDR_IN6" 1>&6 - if test "x$ftp_cv_HAVE_SOCKADDR_IN6" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_SOCKADDR_IN6 1 -EOF - - else - - : - fi - - -fi - - - echo $ac_n "checking for struct addrinfo""... $ac_c" 1>&6 -echo "configure:2846: checking for struct addrinfo" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_ADDRINFO'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 2852 "configure" -#include "confdefs.h" - -#include <sys/types.h> -#include <sys/socket.h> -#include <netdb.h> -int main() { - struct addrinfo X ; -; return 0; } -EOF -if { (eval echo configure:2862: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_ADDRINFO=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_ADDRINFO=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_ADDRINFO" 1>&6 - if test "x$ftp_cv_HAVE_ADDRINFO" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_ADDRINFO 1 -EOF - - else - - : - fi - - - - echo $ac_n "checking for d_namlen in struct dirent""... $ac_c" 1>&6 -echo "configure:2889: checking for d_namlen in struct dirent" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_D_NAMLEN'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 2895 "configure" -#include "confdefs.h" - -#if HAVE_DIRENT_H -# include <dirent.h> -#else -# define dirent direct -# if HAVE_SYS_NDIR_H -# include <sys/ndir.h> -# endif -# if HAVE_SYS_DIR_H -# include <sys/dir.h> -# endif -# if HAVE_NDIR_H -# include <ndir.h> -# endif -#endif -int main() { - - struct dirent dp; - int X = dp.d_namlen; ; -; return 0; } -EOF -if { (eval echo configure:2918: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_D_NAMLEN=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_D_NAMLEN=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_D_NAMLEN" 1>&6 - if test "x$ftp_cv_HAVE_D_NAMLEN" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_D_NAMLEN 1 -EOF - - else - - : - fi - - - - echo $ac_n "checking for h_errno declaration""... $ac_c" 1>&6 -echo "configure:2945: checking for h_errno declaration" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_H_ERRNO_D'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 2951 "configure" -#include "confdefs.h" - -#include <netdb.h> -int main() { - int X = h_errno ; -; return 0; } -EOF -if { (eval echo configure:2959: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_H_ERRNO_D=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_H_ERRNO_D=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_H_ERRNO_D" 1>&6 - if test "x$ftp_cv_HAVE_H_ERRNO_D" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_H_ERRNO_D 1 -EOF - - else - - : - fi - - - - echo $ac_n "checking for fclose() declaration""... $ac_c" 1>&6 -echo "configure:2986: checking for fclose() declaration" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_FCLOSE_D'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 2992 "configure" -#include "confdefs.h" - -#include <stdio.h> -int main() { - int (*X)() = fclose ; -; return 0; } -EOF -if { (eval echo configure:3000: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_FCLOSE_D=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_FCLOSE_D=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_FCLOSE_D" 1>&6 - if test "x$ftp_cv_HAVE_FCLOSE_D" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_FCLOSE_D 1 -EOF - - else - - : - fi - - - - echo $ac_n "checking for getpass() declaration""... $ac_c" 1>&6 -echo "configure:3027: checking for getpass() declaration" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_GETPASS_D'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 3033 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <unistd.h> -int main() { - char *(*X)() = getpass ; -; return 0; } -EOF -if { (eval echo configure:3042: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_GETPASS_D=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_GETPASS_D=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_GETPASS_D" 1>&6 - if test "x$ftp_cv_HAVE_GETPASS_D" = "xyes"; then - - cat >> confdefs.h <<\EOF -#define HAVE_GETPASS_D 1 -EOF - - else - - : - fi - - - - echo $ac_n "checking for optarg declaration""... $ac_c" 1>&6 -echo "configure:3070: checking for optarg declaration" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_OPTARG_D'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 3076 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <unistd.h> -int main() { - char *X = optarg ; -; return 0; } -EOF -if { (eval echo configure:3085: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_OPTARG_D=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_OPTARG_D=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_OPTARG_D" 1>&6 - if test "x$ftp_cv_HAVE_OPTARG_D" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_OPTARG_D 1 -EOF - - else - - : - fi - - - - echo $ac_n "checking for optind declaration""... $ac_c" 1>&6 -echo "configure:3112: checking for optind declaration" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_OPTIND_D'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 3118 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <unistd.h> -int main() { - int X = optind ; -; return 0; } -EOF -if { (eval echo configure:3127: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_OPTIND_D=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_OPTIND_D=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_OPTIND_D" 1>&6 - if test "x$ftp_cv_HAVE_OPTIND_D" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_OPTIND_D 1 -EOF - - else - - : - fi - - - - echo $ac_n "checking for pclose() declaration""... $ac_c" 1>&6 -echo "configure:3154: checking for pclose() declaration" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_PCLOSE_D'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 3160 "configure" -#include "confdefs.h" - -#include <stdio.h> -int main() { - int (*X)() = pclose ; -; return 0; } -EOF -if { (eval echo configure:3168: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_PCLOSE_D=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_PCLOSE_D=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_PCLOSE_D" 1>&6 - if test "x$ftp_cv_HAVE_PCLOSE_D" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_PCLOSE_D 1 -EOF - - else - - : - fi - - - -for ac_func in err fgetln fseeko getaddrinfo getnameinfo inet_ntop inet_pton \ - mkstemp setprogname sl_init snprintf strdup strerror strlcat \ - strlcpy strptime strsep strunvis strvis timegm usleep -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3199: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 3204 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:3227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <<EOF -#define $ac_tr_func 1 -EOF - -else - echo "$ac_t""no" 1>&6 -LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" -fi -done - - -for ac_func in gethostbyname2 getpassphrase getpgrp memmove poll select -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3256: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 3261 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:3284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <<EOF -#define $ac_tr_func 1 -EOF - -else - echo "$ac_t""no" 1>&6 -fi -done - -if test $ac_cv_func_getpgrp = yes; then - echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:3310: checking whether getpgrp takes no argument" >&5 -if eval "test \"`echo '$''{'ac_cv_func_getpgrp_void'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - { echo "configure: error: cannot check getpgrp if cross compiling" 1>&2; exit 1; } -else - cat > conftest.$ac_ext <<EOF -#line 3318 "configure" -#include "confdefs.h" - -/* - * If this system has a BSD-style getpgrp(), - * which takes a pid argument, exit unsuccessfully. - * - * Snarfed from Chet Ramey's bash pgrp.c test program - */ -#include <stdio.h> -#include <sys/types.h> - -int pid; -int pg1, pg2, pg3, pg4; -int ng, np, s, child; - -main() -{ - pid = getpid(); - pg1 = getpgrp(0); - pg2 = getpgrp(); - pg3 = getpgrp(pid); - pg4 = getpgrp(1); - - /* - * If all of these values are the same, it's pretty sure that - * we're on a system that ignores getpgrp's first argument. - */ - if (pg2 == pg4 && pg1 == pg3 && pg2 == pg3) - exit(0); - - child = fork(); - if (child < 0) - exit(1); - else if (child == 0) { - np = getpid(); - /* - * If this is Sys V, this will not work; pgrp will be - * set to np because setpgrp just changes a pgrp to be - * the same as the pid. - */ - setpgrp(np, pg1); - ng = getpgrp(0); /* Same result for Sys V and BSD */ - if (ng == pg1) { - exit(1); - } else { - exit(0); - } - } else { - wait(&s); - exit(s>>8); - } -} - -EOF -if { (eval echo configure:3373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_func_getpgrp_void=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_func_getpgrp_void=no -fi -rm -fr conftest* -fi - - -fi - -echo "$ac_t""$ac_cv_func_getpgrp_void" 1>&6 -if test $ac_cv_func_getpgrp_void = yes; then - cat >> confdefs.h <<\EOF -#define GETPGRP_VOID 1 -EOF - -fi - -fi -if test $ac_cv_lib_util_fparseln != yes; then - for ac_func in fparseln -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3401: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 3406 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:3429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <<EOF -#define $ac_tr_func 1 -EOF - -else - echo "$ac_t""no" 1>&6 -LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" -fi -done - - -fi - -LIBOBJS="$LIBOBJS glob.o" - -if test $ac_cv_func_strptime = yes; then - - echo $ac_n "checking for strptime() declaration""... $ac_c" 1>&6 -echo "configure:3462: checking for strptime() declaration" >&5 -if eval "test \"`echo '$''{'ftp_cv_HAVE_STRPTIME_D'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 3468 "configure" -#include "confdefs.h" - - #include <time.h> -int main() { - char *X = strptime("", "", NULL) ; -; return 0; } -EOF -if { (eval echo configure:3476: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_HAVE_STRPTIME_D=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_HAVE_STRPTIME_D=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_HAVE_STRPTIME_D" 1>&6 - if test "x$ftp_cv_HAVE_STRPTIME_D" = "xyes"; then - cat >> confdefs.h <<\EOF -#define HAVE_STRPTIME_D 1 -EOF - - else - - : - fi - -fi - -if test $have_long_long = yes -a $ac_cv_sizeof_off_t -ge 8; then - - - echo $ac_n "checking *printf() support for %lld""... $ac_c" 1>&6 -echo "configure:3506: checking *printf() support for %lld" >&5 - can_printf_longlong=no - if test "$cross_compiling" = yes; then - : -else - cat > conftest.$ac_ext <<EOF -#line 3512 "configure" -#include "confdefs.h" - - #include <stdio.h> - int main() { - char buf[100]; - sprintf(buf, "%lld", 4294967300LL); - return (strcmp(buf, "4294967300")); - } - -EOF -if { (eval echo configure:3523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - - echo "$ac_t""yes" 1>&6 - can_printf_longlong=yes - -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - - echo "$ac_t""no" 1>&6 - -fi -rm -fr conftest* -fi - - - if test $can_printf_longlong != yes; then - echo $ac_n "checking *printf() support for %qd""... $ac_c" 1>&6 -echo "configure:3543: checking *printf() support for %qd" >&5 - if test "$cross_compiling" = yes; then - : -else - cat > conftest.$ac_ext <<EOF -#line 3548 "configure" -#include "confdefs.h" - - #include <stdio.h> - int main() { - char buf[100]; - sprintf(buf, "%qd", 4294967300LL); - return (strcmp(buf, "4294967300")); - } - -EOF -if { (eval echo configure:3559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - - echo "$ac_t""yes" 1>&6 - can_printf_longlong=yes - cat >> confdefs.h <<\EOF -#define HAVE_PRINTF_QD 1 -EOF - - -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - - echo "$ac_t""no" 1>&6 - -fi -rm -fr conftest* -fi - - fi - - if test $can_printf_longlong = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_QUAD_SUPPORT 1 -EOF - - for ac_func in strtoll -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3590: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 3595 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:3618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <<EOF -#define $ac_tr_func 1 -EOF - -else - echo "$ac_t""no" 1>&6 -LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" -fi -done - - - fi - -fi - - -if test $opt_editcomplete = yes; then - if test $have_libedit = yes; then - - echo $ac_n "checking for EL_RPROMPT in libedit""... $ac_c" 1>&6 -echo "configure:3653: checking for EL_RPROMPT in libedit" >&5 -if eval "test \"`echo '$''{'ftp_cv_have_libedit'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 3659 "configure" -#include "confdefs.h" - - #include <histedit.h> -int main() { - int X = EL_RPROMPT ; -; return 0; } -EOF -if { (eval echo configure:3667: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_have_libedit=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_have_libedit=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_have_libedit" 1>&6 - if test "x$ftp_cv_have_libedit" = "xyes"; then - : - else - have_libedit=no - : - fi - - fi - - echo $ac_n "checking for working libedit""... $ac_c" 1>&6 -echo "configure:3691: checking for working libedit" >&5 - if test $have_libedit = no; then - echo "$ac_t""no - using my own" 1>&6 - INCLUDES="-I\${srcdir}/../libedit $INCLUDES" - LDFLAGS="-L../libedit $LDFLAGS" - LIBS="-ledit $LIBS" - LIBEDIT=libedit.a - LIBDEPENDS="$LIBDEPENDS ../libedit/libedit.a" - else - echo "$ac_t""yes" 1>&6 - fi -else - CFLAGS="-DNO_EDITCOMPLETE $CFLAGS" -fi - -if test $ac_cv_func_sl_init = yes; then - - echo $ac_n "checking if sl_add() returns int""... $ac_c" 1>&6 -echo "configure:3709: checking if sl_add() returns int" >&5 -if eval "test \"`echo '$''{'ftp_cv_INT_SL_ADD'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 3715 "configure" -#include "confdefs.h" - - #include <stringlist.h> -int main() { - int f = sl_add((StringList *)0, "foo") ; -; return 0; } -EOF -if { (eval echo configure:3723: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_INT_SL_ADD=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_INT_SL_ADD=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_INT_SL_ADD" 1>&6 - if test "x$ftp_cv_INT_SL_ADD" = "xyes"; then - : - else - LIBOBJS="$LIBOBJS sl_init.o" - : - fi - -fi - - -have_rfc2553_netdb=no -if test $ac_cv_func_getaddrinfo = yes -a ! -n "$socks"; then - - echo $ac_n "checking for AI_NUMERICHOST""... $ac_c" 1>&6 -echo "configure:3751: checking for AI_NUMERICHOST" >&5 -if eval "test \"`echo '$''{'ftp_cv_have_ai_numerichost'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 3757 "configure" -#include "confdefs.h" - - #include <sys/types.h> - #include <sys/socket.h> - #include <netdb.h> -int main() { - int X = AI_NUMERICHOST ; -; return 0; } -EOF -if { (eval echo configure:3767: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_have_ai_numerichost=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_have_ai_numerichost=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_have_ai_numerichost" 1>&6 - if test "x$ftp_cv_have_ai_numerichost" = "xyes"; then - have_rfc2553_netdb=yes - else - - : - fi - -fi -echo $ac_n "checking for working getaddrinfo()""... $ac_c" 1>&6 -echo "configure:3790: checking for working getaddrinfo()" >&5 -if test $have_rfc2553_netdb = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_RFC2553_NETDB 1 -EOF - - echo "$ac_t""yes" 1>&6 -else - if test $ac_cv_func_getaddrinfo = yes; then - LIBOBJS="$LIBOBJS getaddrinfo.o" - echo "$ac_t""no - using local version" 1>&6 - else - echo "$ac_t""using local version" 1>&6 - fi -fi - - -if test $ac_cv_header_vis_h = yes; then - - echo $ac_n "checking for VIS_WHITE in vis.h""... $ac_c" 1>&6 -echo "configure:3810: checking for VIS_WHITE in vis.h" >&5 -if eval "test \"`echo '$''{'ftp_cv_have_vis_white'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <<EOF -#line 3816 "configure" -#include "confdefs.h" - - #include <sys/types.h> - #include <vis.h> -int main() { - int X = VIS_WHITE ; -; return 0; } -EOF -if { (eval echo configure:3825: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ftp_cv_have_vis_white=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ftp_cv_have_vis_white=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ftp_cv_have_vis_white" 1>&6 - if test "x$ftp_cv_have_vis_white" = "xyes"; then - : - else - ac_cv_header_vis_h=no - : - fi - -fi - - -if test -n "$LIBOBJS"; then - INCLUDES="$INCLUDES -I\${srcdir}/../libukem" - LDFLAGS="$LDFLAGS -L../libukem" - LIBS="$LIBS -lukem" - LIBUKEM=libukem.a - LIBDEPENDS="$LIBDEPENDS ../libukem/libukem.a" -fi - - - - - - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -DEFS=-DHAVE_CONFIG_H - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.13" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir -ac_given_INSTALL="$INSTALL" - -trap 'rm -fr `echo "Makefile libedit/Makefile libedit/makelist libukem/Makefile \ - src/Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS <<EOF - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@FFLAGS@%$FFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@SET_MAKE@%$SET_MAKE%g -s%@CC@%$CC%g -s%@AWK@%$AWK%g -s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g -s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g -s%@INSTALL_DATA@%$INSTALL_DATA%g -s%@RANLIB@%$RANLIB%g -s%@AR@%$AR%g -s%@CPP@%$CPP%g -s%@LIBOBJS@%$LIBOBJS%g -s%@INCLUDES@%$INCLUDES%g -s%@LIBEDIT@%$LIBEDIT%g -s%@LIBUKEM@%$LIBUKEM%g -s%@LIBDEPENDS@%$LIBDEPENDS%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile libedit/Makefile libedit/makelist libukem/Makefile \ - src/Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - case "$ac_given_INSTALL" in - [/$]*) INSTALL="$ac_given_INSTALL" ;; - *) INSTALL="$ac_dots$ac_given_INSTALL" ;; - esac - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -s%@INSTALL@%$INSTALL%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' - -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <<EOF - CONFIG_HEADERS="config.h" -EOF -cat >> $CONFIG_STATUS <<\EOF -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - -EOF - -# Transform confdefs.h into a sed script conftest.vals that substitutes -# the proper values into config.h.in to produce config.h. And first: -# Protect against being on the right side of a sed subst in config.status. -# Protect against being in an unquoted here document in config.status. -rm -f conftest.vals -cat > conftest.hdr <<\EOF -s/[\\&%]/\\&/g -s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -s%ac_d%ac_u%gp -s%ac_u%ac_e%gp -EOF -sed -n -f conftest.hdr confdefs.h > conftest.vals -rm -f conftest.hdr - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >> conftest.vals <<\EOF -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -EOF - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -while : -do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write a limited-size here document to conftest.frag. - echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS - echo 'CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in -' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file - fi -fi; done - -EOF -cat >> $CONFIG_STATUS <<EOF - -EOF -cat >> $CONFIG_STATUS <<\EOF - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/contrib/lukemftp/configure.in b/contrib/lukemftp/configure.in deleted file mode 100644 index 4edb841e7731..000000000000 --- a/contrib/lukemftp/configure.in +++ /dev/null @@ -1,307 +0,0 @@ -dnl $Id: configure.in,v 1.37 2002/06/10 08:08:53 lukem Exp $ -dnl -dnl configure.in -- -dnl process this file with autoconf to produce a configure script. -dnl - -AC_REVISION($Revision: 1.37 $)dnl - -AC_INIT(lukemftp.h) - -dnl Arguments for which features are included -dnl -AC_ARG_PROGRAM -AC_ARG_ENABLE(editcomplete, [\ - --enable-editcomplete Turn on command line editing and completion. - --disable-editcomplete Turn off command line editing and completion - [default: enabled].], - opt_editcomplete=$enableval, - opt_editcomplete=yes) -AC_ARG_ENABLE(ipv6, [\ - --enable-ipv6 Enable IPv6 support (if your OS supports it). - --disable-ipv6 Disable IPv6 support (even if your OS supports it) - [default: enabled].], - opt_ipv6=$enableval, - opt_ipv6=yes) - -dnl Checks for programs. -dnl -AC_PROG_MAKE_SET -AC_PROG_CC -AC_PROG_AWK -AC_PROG_INSTALL -AC_PROG_RANLIB -AC_CHECK_PROGS(AR, ar) -AC_AIX - - -dnl Checks for libraries. -dnl -AC_CHECK_LIB(util, fparseln) -if test $opt_editcomplete = yes; then - AC_CHECK_LIB(tinfo, tgetent, , - AC_CHECK_LIB(termcap, tgetent, , - AC_CHECK_LIB(curses, tgetent, , - AC_CHECK_LIB(ncurses, tgetent)))) - AC_SEARCH_LIBS(el_init, edit, have_libedit=yes, have_libedit=no) -fi -AC_LIBRARY_NET -AC_LIBRARY_SOCKS -if test -n "$socks"; then - if test $opt_ipv6 = yes; then - echo "IPv6 is incompatible with socks, disabling IPv6 support" - opt_ipv6=no - fi -fi - - -dnl Checks for header files. -dnl -AC_CONFIG_HEADER(config.h) -AC_HEADER_DIRENT -AC_HEADER_STDC -AC_CHECK_HEADERS(arpa/nameser.h err.h regex.h paths.h poll.h sys/poll.h \ - termcap.h util.h libutil.h vis.h) - - -dnl Checks for typedefs, structures, and compiler characteristics. -dnl -AC_HEADER_TIME -AC_TYPE_OFF_T -AC_CHECK_SIZEOF(off_t, 0) -AC_MSG_TRY_LINK(for long long, ftp_cv_HAVE_LONG_LONG, [ -#include <sys/types.h>] , [ -long long X = 2, Y = 1, Z; -Z = X / Y; ], [ -AC_DEFINE(HAVE_LONG_LONG, 1) -have_long_long=yes], [have_long_long=no]) - -AC_MSG_TRY_COMPILE(for in_port_t, ftp_cv_HAVE_IN_PORT_T, [ -#include <sys/types.h> -#include <netinet/in.h> ], [ in_port_t X ], [AC_DEFINE(HAVE_IN_PORT_T, 1)]) - -AC_MSG_TRY_COMPILE(for sa_family_t, ftp_cv_HAVE_SA_FAMILY_T, [ -#include <sys/types.h> -#include <sys/socket.h> ], [ sa_family_t X ], [AC_DEFINE(HAVE_SA_FAMILY_T, 1)]) - -AC_MSG_TRY_COMPILE(for sockaddr_in.sin_len, ftp_cv_HAVE_SOCKADDR_SA_LEN, [ -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> ], [ - struct sockaddr_in sin; - int X = sin.sin_len ], [AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1)]) - -AC_MSG_TRY_COMPILE(for socklen_t, ftp_cv_HAVE_SOCKLEN_T, [ -#include <sys/types.h> -#include <sys/socket.h> ], [ socklen_t X ], [AC_DEFINE(HAVE_SOCKLEN_T, 1)]) - -if test $opt_ipv6 = yes; then - - AC_MSG_TRY_COMPILE(for AF_INET6, ftp_cv_HAVE_AF_INET6, [ -#include <sys/types.h> -#include <sys/socket.h> ], - [ int X = AF_INET6 ], [AC_DEFINE(HAVE_AF_INET6, 1)]) - - AC_MSG_TRY_COMPILE(for struct sockaddr_in6, ftp_cv_HAVE_SOCKADDR_IN6, [ -#include <sys/types.h> -#include <netinet/in.h> ], - [ struct sockaddr_in6 X ], [AC_DEFINE(HAVE_SOCKADDR_IN6, 1)]) - -fi - -AC_MSG_TRY_COMPILE(for struct addrinfo, ftp_cv_HAVE_ADDRINFO, [ -#include <sys/types.h> -#include <sys/socket.h> -#include <netdb.h> ], - [ struct addrinfo X ], [AC_DEFINE(HAVE_ADDRINFO, 1)]) - -AC_MSG_TRY_COMPILE(for d_namlen in struct dirent, ftp_cv_HAVE_D_NAMLEN, [ -#if HAVE_DIRENT_H -# include <dirent.h> -#else -# define dirent direct -# if HAVE_SYS_NDIR_H -# include <sys/ndir.h> -# endif -# if HAVE_SYS_DIR_H -# include <sys/dir.h> -# endif -# if HAVE_NDIR_H -# include <ndir.h> -# endif -#endif ], [ - struct dirent dp; - int X = dp.d_namlen; ], [AC_DEFINE(HAVE_D_NAMLEN, 1)]) - -AC_MSG_TRY_COMPILE(for h_errno declaration, ftp_cv_HAVE_H_ERRNO_D, [ -#include <netdb.h> ], [ int X = h_errno ], [AC_DEFINE(HAVE_H_ERRNO_D, 1)]) - -AC_MSG_TRY_COMPILE(for fclose() declaration, ftp_cv_HAVE_FCLOSE_D, [ -#include <stdio.h> ], [ int (*X)() = fclose ], [AC_DEFINE(HAVE_FCLOSE_D, 1)]) - -AC_MSG_TRY_COMPILE(for getpass() declaration, ftp_cv_HAVE_GETPASS_D, [ -#include <stdlib.h> -#include <unistd.h> ], [ char *(*X)() = getpass ], [ - AC_DEFINE(HAVE_GETPASS_D, 1)]) - -AC_MSG_TRY_COMPILE(for optarg declaration, ftp_cv_HAVE_OPTARG_D, [ -#include <stdlib.h> -#include <unistd.h> ], [ char *X = optarg ], [AC_DEFINE(HAVE_OPTARG_D, 1)]) - -AC_MSG_TRY_COMPILE(for optind declaration, ftp_cv_HAVE_OPTIND_D, [ -#include <stdlib.h> -#include <unistd.h> ], [ int X = optind ], [AC_DEFINE(HAVE_OPTIND_D, 1)]) - -AC_MSG_TRY_COMPILE(for pclose() declaration, ftp_cv_HAVE_PCLOSE_D, [ -#include <stdio.h> ], [ int (*X)() = pclose ], [AC_DEFINE(HAVE_PCLOSE_D, 1)]) - - -dnl Checks for library functions. -dnl -AC_REPLACE_FUNCS(err fgetln fseeko getaddrinfo getnameinfo inet_ntop inet_pton \ - mkstemp setprogname sl_init snprintf strdup strerror strlcat \ - strlcpy strptime strsep strunvis strvis timegm usleep) -AC_CHECK_FUNCS(gethostbyname2 getpassphrase getpgrp memmove poll select) -if test $ac_cv_func_getpgrp = yes; then - AC_FUNC_GETPGRP -fi -if test $ac_cv_lib_util_fparseln != yes; then - AC_REPLACE_FUNCS(fparseln) -fi - -LIBOBJS="$LIBOBJS glob.o" - -if test $ac_cv_func_strptime = yes; then - AC_MSG_TRY_COMPILE(for strptime() declaration, ftp_cv_HAVE_STRPTIME_D, [ - #include <time.h> ], [ char *X = strptime("", "", NULL) ], - [AC_DEFINE(HAVE_STRPTIME_D, 1)]) -fi - -if test $have_long_long = yes -a $ac_cv_sizeof_off_t -ge 8; then - -dnl We assume that if sprintf() supports %lld or %qd, -dnl then all of *printf() does. If not, disable long long -dnl support because we don't know how to display it. - - AC_MSG_CHECKING(*printf() support for %lld) - can_printf_longlong=no - AC_TRY_RUN([ - #include <stdio.h> - int main() { - char buf[100]; - sprintf(buf, "%lld", 4294967300LL); - return (strcmp(buf, "4294967300")); - } - ], [ - AC_MSG_RESULT(yes) - can_printf_longlong=yes - ], [ - AC_MSG_RESULT(no) - ], [ : ]) - - if test $can_printf_longlong != yes; then - AC_MSG_CHECKING(*printf() support for %qd) - AC_TRY_RUN([ - #include <stdio.h> - int main() { - char buf[100]; - sprintf(buf, "%qd", 4294967300LL); - return (strcmp(buf, "4294967300")); - } - ], [ - AC_MSG_RESULT(yes) - can_printf_longlong=yes - AC_DEFINE(HAVE_PRINTF_QD, 1) - ], [ - AC_MSG_RESULT(no) - ], [ : ]) - fi - - if test $can_printf_longlong = yes; then - AC_DEFINE(HAVE_QUAD_SUPPORT, 1) - AC_REPLACE_FUNCS(strtoll) - fi - -fi - - -if test $opt_editcomplete = yes; then - if test $have_libedit = yes; then - AC_MSG_TRY_COMPILE(for EL_RPROMPT in libedit, - ftp_cv_have_libedit, [ - #include <histedit.h> ], [ int X = EL_RPROMPT ], [:], - have_libedit=no ) - fi - - AC_MSG_CHECKING(for working libedit) - if test $have_libedit = no; then - AC_MSG_RESULT(no - using my own) - INCLUDES="-I\${srcdir}/../libedit $INCLUDES" - LDFLAGS="-L../libedit $LDFLAGS" - LIBS="-ledit $LIBS" - LIBEDIT=libedit.a - LIBDEPENDS="$LIBDEPENDS ../libedit/libedit.a" - else - AC_MSG_RESULT(yes) - fi -else - CFLAGS="-DNO_EDITCOMPLETE $CFLAGS" -fi - -if test $ac_cv_func_sl_init = yes; then - AC_MSG_TRY_COMPILE(if sl_add() returns int, ftp_cv_INT_SL_ADD, [ - #include <stringlist.h> ], [ int f = sl_add((StringList *)0, "foo") ], - [:] , [LIBOBJS="$LIBOBJS sl_init.o"]) -fi - - -have_rfc2553_netdb=no -if test $ac_cv_func_getaddrinfo = yes -a ! -n "$socks"; then - AC_MSG_TRY_COMPILE(for AI_NUMERICHOST, - ftp_cv_have_ai_numerichost, [ - #include <sys/types.h> - #include <sys/socket.h> - #include <netdb.h> ], - [ int X = AI_NUMERICHOST ], [ have_rfc2553_netdb=yes ]) -fi -AC_MSG_CHECKING(for working getaddrinfo()) -if test $have_rfc2553_netdb = yes; then - AC_DEFINE(HAVE_RFC2553_NETDB, 1) - AC_MSG_RESULT(yes) -else - if test $ac_cv_func_getaddrinfo = yes; then - LIBOBJS="$LIBOBJS getaddrinfo.o" - AC_MSG_RESULT(no - using local version) - else - AC_MSG_RESULT(using local version) - fi -fi - - -if test $ac_cv_header_vis_h = yes; then - AC_MSG_TRY_COMPILE(for VIS_WHITE in vis.h, - ftp_cv_have_vis_white, [ - #include <sys/types.h> - #include <vis.h> ], [ int X = VIS_WHITE ], [:], - ac_cv_header_vis_h=no ) -fi - - -if test -n "$LIBOBJS"; then - INCLUDES="$INCLUDES -I\${srcdir}/../libukem" - LDFLAGS="$LDFLAGS -L../libukem" - LIBS="$LIBS -lukem" - LIBUKEM=libukem.a - LIBDEPENDS="$LIBDEPENDS ../libukem/libukem.a" -fi - -dnl Create the Makefiles -dnl - -AC_SUBST(INCLUDES) -AC_SUBST(LIBEDIT) -AC_SUBST(LIBUKEM) -AC_SUBST(LIBDEPENDS) - -AC_OUTPUT(Makefile libedit/Makefile libedit/makelist libukem/Makefile \ - src/Makefile) diff --git a/contrib/lukemftp/diffout b/contrib/lukemftp/diffout deleted file mode 100644 index 932f748734f9..000000000000 --- a/contrib/lukemftp/diffout +++ /dev/null @@ -1,3500 +0,0 @@ -diff -Nru src/CVS/Entries /home/spock/ftp/CVS/Entries ---- src/CVS/Entries Thu Jan 30 11:00:13 2003 -+++ /home/spock/ftp/CVS/Entries Thu Jun 12 02:02:10 2003 -@@ -1,16 +1,17 @@ --/Makefile.in/1.1.1.1/Thu Jul 19 16:26:12 2001// --/cmds.c/1.1.1.2/Sat Jun 15 09:40:32 2002// --/cmdtab.c/1.1.1.2/Sat Jun 15 09:40:33 2002// --/complete.c/1.1.1.1/Thu Jul 19 16:26:13 2001// --/domacro.c/1.1.1.2/Sat Jun 15 09:40:33 2002// --/extern.h/1.1.1.2/Sat Jun 15 09:40:33 2002// --/fetch.c/1.1.1.3/Sat Jun 15 09:40:34 2002// --/ftp.1/1.1.1.3/Sat Jun 15 09:40:35 2002// --/ftp.c/1.1.1.3/Sat Jun 15 09:40:36 2002// --/ftp.cat1/1.1.1.1/Sat Jun 15 09:40:31 2002// --/ftp_var.h/1.1.1.3/Sat Jun 15 09:40:36 2002// --/main.c/1.1.1.3/Sat Jun 15 09:40:36 2002// --/ruserpass.c/1.1.1.2/Sat Jun 15 09:40:36 2002// --/util.c/1.1.1.2/Sat Jun 15 09:40:37 2002// --/version.h/1.1.1.2/Sat Jun 15 09:40:37 2002// -+/Makefile/1.26/Tue Jan 21 16:08:06 2003// -+/cmds.c/1.100/Sat Nov 30 03:10:55 2002// -+/cmdtab.c/1.40/Mon Jul 29 04:24:47 2002// -+/complete.c/1.38/Mon May 1 10:35:17 2000// -+/domacro.c/1.19/Fri Feb 1 05:04:43 2002// -+/extern.h/1.61/Tue Jan 21 16:08:07 2003// -+/fetch.c/1.141/Wed May 14 14:31:00 2003// -+/ftp.1/1.94/Wed May 14 14:31:00 2003// -+/ftp.c/1.120/Wed Jun 5 10:20:49 2002// -+/ftp_var.h/1.64/Tue Jan 21 16:08:07 2003// -+/main.c/1.84/Wed May 14 14:31:00 2003// -+/progressbar.c/1.3/Fri Feb 28 09:53:49 2003// -+/progressbar.h/1.3/Fri Feb 28 09:53:49 2003// -+/ruserpass.c/1.28/Wed Nov 15 00:11:04 2000// -+/util.c/1.111/Fri Feb 28 09:54:51 2003// -+/version.h/1.30/Fri Feb 28 09:54:20 2003// - D -diff -Nru src/CVS/Repository /home/spock/ftp/CVS/Repository ---- src/CVS/Repository Thu Jan 30 11:00:13 2003 -+++ /home/spock/ftp/CVS/Repository Thu Jun 12 02:02:10 2003 -@@ -1 +1 @@ --src/contrib/lukemftp/src -+src/usr.bin/ftp -diff -Nru src/CVS/Root /home/spock/ftp/CVS/Root ---- src/CVS/Root Thu Jan 30 11:00:13 2003 -+++ /home/spock/ftp/CVS/Root Thu Jun 12 02:02:09 2003 -@@ -1 +1 @@ --spock@current:/cvs/ncvs -+:pserver:anoncvs@anoncvs.netbsd.org:/cvsroot -diff -Nru src/Makefile /home/spock/ftp/Makefile ---- src/Makefile Wed Dec 31 19:00:00 1969 -+++ /home/spock/ftp/Makefile Thu Jun 12 02:02:10 2003 -@@ -0,0 +1,26 @@ -+# $NetBSD: Makefile,v 1.26 2003/01/21 16:08:06 jhawk Exp $ -+# from: @(#)Makefile 8.2 (Berkeley) 4/3/94 -+ -+PROG= ftp -+SRCS= cmds.c cmdtab.c complete.c domacro.c fetch.c ftp.c main.c \ -+ progressbar.c ruserpass.c util.c -+ -+# Uncomment the following to provide defaults for gate-ftp operation -+# -+#CPPFLAGS+=-DGATE_SERVER=\"ftp-gw.host\" # -DGATE_PORT=21 -+ -+.if defined(SMALLPROG) -+CPPFLAGS+=-DNO_EDITCOMPLETE -DNO_ABOUT -+.else -+LDADD+= -ledit -ltermcap -+DPADD+= ${LIBEDIT} ${LIBTERMCAP} -+.endif -+ -+.if !defined(SMALLPROG) || defined(SMALLPROG_INET6) -+CPPFLAGS+= -DINET6 -+.endif -+ -+cmds.o fetch.o: version.h -+main.o: ftp_var.h -+ -+.include <bsd.prog.mk> -diff -Nru src/Makefile.in /home/spock/ftp/Makefile.in ---- src/Makefile.in Thu Jul 19 12:26:12 2001 -+++ /home/spock/ftp/Makefile.in Wed Dec 31 19:00:00 1969 -@@ -1,43 +0,0 @@ --# --# $Id: Makefile.in,v 1.8 2000/08/08 07:04:27 lukem Exp $ --# -- --srcdir = @srcdir@ --VPATH = @srcdir@ --SHELL = /bin/sh -- --prefix = @prefix@ --exec_prefix = @exec_prefix@ --bindir = @bindir@ --mandir = @mandir@ --transform = @program_transform_name@ -- --mandircat1 = ${mandir}/cat1 -- --CC = @CC@ --CFLAGS = -I${srcdir} -I${srcdir}/.. -I. -I.. @INCLUDES@ @CFLAGS@ --LIBS = @LIBS@ --LDFLAGS = @LDFLAGS@ -- --INSTALL = @INSTALL@ -- --PROG = ftp --OBJS = cmds.o cmdtab.o complete.o domacro.o fetch.o ftp.o main.o \ -- ruserpass.o util.o -- --all: ${PROG} -- --install: all -- -mkdir -p ${bindir} -- ${INSTALL} -m 555 ${PROG} ${bindir}/`echo ${PROG}|sed '$(transform)'` -- -mkdir -p ${mandircat1} -- ${INSTALL} -m 444 ${srcdir}/${PROG}.cat1 ${mandircat1}/`echo ${PROG}|sed '$(transform)'`.1 -- --${PROG}: ${OBJS} @LIBDEPENDS@ -- ${CC} ${CFLAGS} ${LDFLAGS} -o ${PROG} ${OBJS} ${LIBS} -- --clean: -- rm -f core ${PROG} ${OBJS} -- --distclean: clean -- rm -f Makefile -diff -Nru src/cmds.c /home/spock/ftp/cmds.c ---- src/cmds.c Sat Jun 15 05:40:32 2002 -+++ /home/spock/ftp/cmds.c Thu Jun 12 02:02:10 2003 -@@ -1,4 +1,4 @@ --/* $NetBSD: cmds.c,v 1.98 2002/06/05 10:20:46 lukem Exp $ */ -+/* $NetBSD: cmds.c,v 1.100 2002/11/30 03:10:55 lukem Exp $ */ - - /*- - * Copyright (c) 1996-2002 The NetBSD Foundation, Inc. -@@ -102,11 +102,35 @@ - * SUCH DAMAGE. - */ - -+#include <sys/cdefs.h> -+#ifndef lint -+#if 0 -+static char sccsid[] = "@(#)cmds.c 8.6 (Berkeley) 10/9/94"; -+#else -+__RCSID("$NetBSD: cmds.c,v 1.100 2002/11/30 03:10:55 lukem Exp $"); -+#endif -+#endif /* not lint */ -+ - /* - * FTP User Program -- Command Routines. - */ -- --#include "lukemftp.h" -+#include <sys/types.h> -+#include <sys/socket.h> -+#include <sys/stat.h> -+#include <sys/wait.h> -+#include <arpa/ftp.h> -+ -+#include <ctype.h> -+#include <err.h> -+#include <glob.h> -+#include <limits.h> -+#include <netdb.h> -+#include <paths.h> -+#include <stdio.h> -+#include <stdlib.h> -+#include <string.h> -+#include <time.h> -+#include <unistd.h> - - #include "ftp_var.h" - #include "version.h" -@@ -1008,7 +1032,7 @@ - gatemode = 0; - else { - if (argc == 3) -- gateport = strdup(argv[2]); -+ gateport = xstrdup(argv[2]); - (void)strlcpy(gsbuf, argv[1], sizeof(gsbuf)); - gateserver = gsbuf; - gatemode = 1; -diff -Nru src/cmdtab.c /home/spock/ftp/cmdtab.c ---- src/cmdtab.c Sat Jun 15 05:40:33 2002 -+++ /home/spock/ftp/cmdtab.c Thu Jun 12 02:02:10 2003 -@@ -1,4 +1,4 @@ --/* $NetBSD: cmdtab.c,v 1.39 2000/11/15 00:10:59 lukem Exp $ */ -+/* $NetBSD: cmdtab.c,v 1.40 2002/07/29 04:24:47 lukem Exp $ */ - - /*- - * Copyright (c) 1996-2000 The NetBSD Foundation, Inc. -@@ -69,8 +69,16 @@ - * SUCH DAMAGE. - */ - --#include "lukemftp.h" -+#include <sys/cdefs.h> -+#ifndef lint -+#if 0 -+static char sccsid[] = "@(#)cmdtab.c 8.4 (Berkeley) 10/9/94"; -+#else -+__RCSID("$NetBSD: cmdtab.c,v 1.40 2002/07/29 04:24:47 lukem Exp $"); -+#endif -+#endif /* not lint */ - -+#include <stdio.h> - #include "ftp_var.h" - - /* -@@ -123,7 +131,7 @@ - char ntranshelp[] = "set translation table for default file name mapping"; - char optshelp[] = "show or set options for remote commands"; - char pagehelp[] = "view a remote file through your pager"; --char passivehelp[] = "enter passive transfer mode"; -+char passivehelp[] = "toggle use of passive transfer mode"; - char plshelp[] = "list contents of remote path through your pager"; - char pmlsdhelp[] = "list contents of remote directory in a machine " - "parsable form through your pager"; -diff -Nru src/complete.c /home/spock/ftp/complete.c ---- src/complete.c Thu Jul 19 12:26:13 2001 -+++ /home/spock/ftp/complete.c Thu Jun 12 02:02:10 2003 -@@ -36,11 +36,23 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - -+#include <sys/cdefs.h> -+#ifndef lint -+__RCSID("$NetBSD: complete.c,v 1.38 2000/05/01 10:35:17 lukem Exp $"); -+#endif /* not lint */ -+ - /* - * FTP user program - command and file completion routines - */ - --#include "lukemftp.h" -+#include <sys/stat.h> -+ -+#include <ctype.h> -+#include <err.h> -+#include <dirent.h> -+#include <stdio.h> -+#include <stdlib.h> -+#include <string.h> - - #include "ftp_var.h" - -diff -Nru src/domacro.c /home/spock/ftp/domacro.c ---- src/domacro.c Sat Jun 15 05:40:33 2002 -+++ /home/spock/ftp/domacro.c Thu Jun 12 02:02:10 2003 -@@ -33,7 +33,18 @@ - * SUCH DAMAGE. - */ - --#include "lukemftp.h" -+#include <sys/cdefs.h> -+#ifndef lint -+#if 0 -+static char sccsid[] = "@(#)domacro.c 8.3 (Berkeley) 4/2/94"; -+#else -+__RCSID("$NetBSD: domacro.c,v 1.19 2002/02/01 05:04:43 itojun Exp $"); -+#endif -+#endif /* not lint */ -+ -+#include <ctype.h> -+#include <stdio.h> -+#include <string.h> - - #include "ftp_var.h" - -diff -Nru src/extern.h /home/spock/ftp/extern.h ---- src/extern.h Sat Jun 15 05:40:33 2002 -+++ /home/spock/ftp/extern.h Thu Jun 12 02:02:10 2003 -@@ -1,7 +1,7 @@ --/* $NetBSD: extern.h,v 1.60 2000/10/11 14:46:03 is Exp $ */ -+/* $NetBSD: extern.h,v 1.61 2003/01/21 16:08:07 jhawk Exp $ */ - - /*- -- * Copyright (c) 1996-2000 The NetBSD Foundation, Inc. -+ * Copyright (c) 1996-2003 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation -@@ -110,7 +110,6 @@ - void abortxfer(int); - void account(int, char **); - void ai_unmapped(struct addrinfo *); --void alarmtimer(int); - int another(int *, char ***, const char *); - int auto_fetch(int, char **); - int auto_put(int, char **, const char *); -@@ -123,7 +122,7 @@ - void cmdtimeout(int); - void cmdscanner(void); - int command(const char *, ...) -- ; -+ __attribute__((__format__(__printf__, 1, 2))); - #ifndef NO_EDITCOMPLETE - unsigned char complete(EditLine *, int); - void controlediting(void); -@@ -183,14 +182,11 @@ - void page(int, char **); - int parseport(const char *, int); - int parserate(int, char **, int); --void progressmeter(int); - char *prompt(void); - void proxabort(int); - void proxtrans(const char *, const char *, const char *); - void psabort(int); --void psummary(int); - void pswitch(int); --void ptransfer(int); - void put(int, char **); - void pwd(int, char **); - void quit(int, char **); -@@ -263,5 +259,3 @@ - StringList *xsl_init(void); - void xsl_add(StringList *, char *); - char *xstrdup(const char *); --sigfunc xsignal(int, sigfunc); --sigfunc xsignal_restart(int, sigfunc, int); -diff -Nru src/fetch.c /home/spock/ftp/fetch.c ---- src/fetch.c Sun Feb 16 14:45:52 2003 -+++ /home/spock/ftp/fetch.c Thu Jun 12 02:02:11 2003 -@@ -1,7 +1,7 @@ --/* $NetBSD: fetch.c,v 1.136 2002/06/05 10:20:48 lukem Exp $ */ -+/* $NetBSD: fetch.c,v 1.141 2003/05/14 14:31:00 wiz Exp $ */ - - /*- -- * Copyright (c) 1997-2002 The NetBSD Foundation, Inc. -+ * Copyright (c) 1997-2003 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation -@@ -39,11 +39,36 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - -+#include <sys/cdefs.h> -+#ifndef lint -+__RCSID("$NetBSD: fetch.c,v 1.141 2003/05/14 14:31:00 wiz Exp $"); -+#endif /* not lint */ -+ - /* - * FTP User Program -- Command line file retrieval - */ - --#include "lukemftp.h" -+#include <sys/types.h> -+#include <sys/param.h> -+#include <sys/socket.h> -+#include <sys/stat.h> -+#include <sys/time.h> -+ -+#include <netinet/in.h> -+ -+#include <arpa/ftp.h> -+#include <arpa/inet.h> -+ -+#include <ctype.h> -+#include <err.h> -+#include <errno.h> -+#include <netdb.h> -+#include <fcntl.h> -+#include <stdio.h> -+#include <stdlib.h> -+#include <string.h> -+#include <unistd.h> -+#include <time.h> - - #include "ftp_var.h" - #include "version.h" -@@ -155,7 +180,7 @@ - *response = (char *)xmalloc(rlen); - (void)strlcpy(*response, scheme, rlen); - len = strlcat(*response, " ", rlen); -- base64_encode(clear, clen, *response + len); -+ base64_encode(clear, clen, (u_char *)*response + len); - memset(clear, 0, clen); - rval = 0; - -@@ -235,12 +260,12 @@ - * XXX: this is not totally RFC 1738 compliant; <path> will have the - * leading `/' unless it's an ftp:// URL, as this makes things easier - * for file:// and http:// URLs. ftp:// URLs have the `/' between the -- * host and the url-path removed, but any additional leading slashes -- * in the url-path are retained (because they imply that we should -+ * host and the URL-path removed, but any additional leading slashes -+ * in the URL-path are retained (because they imply that we should - * later do "CWD" with a null argument). - * - * Examples: -- * input url output path -+ * input URL output path - * --------- ----------- - * "ftp://host" NULL - * "http://host/" NULL -@@ -484,7 +509,8 @@ - rval = fetch_ftp(url); - goto cleanup_fetch_url; - } -- warnx("Invalid URL (no file after directory) `%s'", url); -+ warnx("no file after directory (you must specify an " -+ "output file) `%s'", url); - goto cleanup_fetch_url; - } else { - if (debug) -@@ -1372,7 +1398,7 @@ - dir ? dir : "<null>", file ? file : "<null>"); - - dirhasglob = filehasglob = 0; -- if (doglob && (urltype == CLASSIC_URL_T || urltype == FTP_URL_T)) { -+ if (doglob && urltype == CLASSIC_URL_T) { - if (! EMPTYSTRING(dir) && strpbrk(dir, "*?[]{}") != NULL) - dirhasglob = 1; - if (! EMPTYSTRING(file) && strpbrk(file, "*?[]{}") != NULL) -@@ -1741,7 +1767,7 @@ - } - } - if (debug) -- fprintf(ttyout, "auto_put: url `%s' argv[2] `%s'\n", -+ fprintf(ttyout, "auto_put: URL `%s' argv[2] `%s'\n", - path, uargv[2] ? uargv[2] : "<null>"); - - /* connect and cwd */ -diff -Nru src/ftp.1 /home/spock/ftp/ftp.1 ---- src/ftp.1 Sat Jun 15 05:40:35 2002 -+++ /home/spock/ftp/ftp.1 Thu Jun 12 02:02:11 2003 -@@ -1,6 +1,6 @@ --.\" $NetBSD: ftp.1,v 1.83 2002/06/05 10:20:48 lukem Exp $ -+.\" $NetBSD: ftp.1,v 1.94 2003/05/14 14:31:00 wiz Exp $ - .\" --.\" Copyright (c) 1996-2002 The NetBSD Foundation, Inc. -+.\" Copyright (c) 1996-2003 The NetBSD Foundation, Inc. - .\" All rights reserved. - .\" - .\" This code is derived from software contributed to The NetBSD Foundation -@@ -68,7 +68,7 @@ - .\" - .\" @(#)ftp.1 8.3 (Berkeley) 10/9/94 - .\" --.Dd May 18, 2002 -+.Dd January 20, 2003 - .Dt FTP 1 - .Os - .Sh NAME -@@ -76,7 +76,7 @@ - .Nd - Internet file transfer program - .Sh SYNOPSIS --.Nm "" -+.Nm - .Op Fl 46AadefginpRtvV - .Bk -words - .Op Fl N Ar netrc -@@ -88,46 +88,81 @@ - .Op Fl P Ar port - .Ek - .Bk -words -+.Op Fl q Ar quittime -+.Ek -+.Bk -words - .Op Fl r Ar retry - .Ek - .Bk -words -+.\" [-T dir,max[,inc]] - .Oo --.Fl T -+.Fl T Xo - .Sm off --.Xo - .Ar dir , - .Ar max - .Op , Ar inc --.Xc - .Sm on -+.Xc - .Oc - .Ek - .Bk -words -+.\" [[user@]host [port]] - .Oo --[\fIuser\fR@]\fIhost\fR -+.Oo Ar user Ns Li \&@ Oc Ns Ar host - .Op Ar port - .Oc - .Ek - .Bk -words --[\fIuser\fR@]\fIhost\fR:[\fIpath\fR][/] -+.\" [[user@]host:[path][/]] -+.Sm off -+.Oo -+.Op Ar user Li \&@ -+.Ar host Li \&: -+.Op Ar path -+.Op Li / -+.Oc -+.Sm on - .Ek - .Bk -words --.Op file:///\fIpath\fR -+.\" [file:///path] -+.Sm off -+.Oo -+.Li file:/// Ar path -+.Oc -+.Sm on - .Ek - .Bk -words --.Op ftp://[\fIuser\fR[:\fIpassword\fR]@]\fIhost\fR[:\fIport\fR]/\fIpath\fR[/] -+.\" [ftp://[user[:password]@]host[:port]/path[/]] -+.Sm off -+.Oo -+.Li ftp:// -+.Oo Ar user -+.Op Li \&: Ar password -+.Li \&@ Oc -+.Ar host Oo Li \&: Ar port Oc -+.Li / Ar path -+.Op Li / -+.Op Li ;type= Ar X -+.Oc -+.Sm on - .Ek - .Bk -words --.Op http://[\fIuser\fR[:\fIpassword\fR]@]\fIhost\fR[:\fIport\fR]/\fIpath\fR -+.\" [http://[user[:password]@]host[:port]/path] -+.Sm off -+.Oo -+.Li http:// -+.Oo Ar user -+.Op Li \&: Ar password -+.Li \&@ Oc -+.Ar host Oo Li \&: Ar port Oc -+.Li / Ar path -+.Oc -+.Sm on - .Ek - .Op Ar \&.\&.\&. --.Nm "" --.Fl u Ar url --.\".Ar ftp://[\fIuser\fR[:\fIpassword\fR]@]\fIhost\fR[:\fIport\fR]/\fIpath\fR[/[file]] --.\"| --.\".Ar [\fIuser\fR@]\fIhost\fR:[\fIpath\fR][/[\fIfile\fR]] -+.Nm - .Bk -words --file -+.Fl u Ar URL Ar file - .Ek - .Op Ar \&.\&.\&. - .Sh DESCRIPTION -@@ -243,6 +278,10 @@ - Retry the connection attempt if it failed, pausing for - .Ar wait - seconds. -+.It Fl q Ar quittime -+Quit if the connection has stalled for -+.Ar quittime -+seconds. - .It Fl R - Restart all non-proxied auto-fetches. - .It Fl t -@@ -266,11 +305,11 @@ - Refer to - .Ic rate - for more information. --.It Fl u Ar url file Op \&.\&.\&. -+.It Fl u Ar URL file Op \&.\&.\&. - Upload files on the command line to --.Ar url -+.Ar URL - where --.Ar url -+.Ar URL - is one of the ftp URL types as supported by auto-fetch - (with an optional target filename for single file uploads), and - .Ar file -@@ -869,7 +908,7 @@ - .Tn FTP - server at that port. - If the --.Ic auto-login -+.Ic "set auto-login" - option is on (default), - .Nm - will also attempt to automatically log the user in to -@@ -882,10 +921,10 @@ - and display with the program specified by the - .Ic "set pager" - option. --.It Ic passive Op Ic auto -+.It Ic passive Op Cm auto - Toggle passive mode (if no arguments are given). - If --.Ic auto -+.Cm auto - is given, act as if - .Ev FTPMODE - is set to -@@ -896,14 +935,17 @@ - .Dv PASV - command for all data connections instead of a - .Dv PORT --command. The -+command. -+The - .Dv PASV - command requests that the remote server open a port for the data connection --and return the address of that port. The remote server listens on that --port and the client connects to it. When using the more traditional -+and return the address of that port. -+The remote server listens on that port and the client connects to it. -+When using the more traditional - .Dv PORT - command, the client listens on a port and sends that address to the remote --server, who connects back to it. Passive mode is useful when using -+server, who connects back to it. -+Passive mode is useful when using - .Nm - through a gateway router or host that controls the directionality of - traffic. -@@ -965,34 +1007,34 @@ - .Pp - When prompting is on, the following commands are available at a prompt: - .Bl -tag -width 2n -offset indent --.It Ic a -+.It Cm a - Answer - .Sq yes - to the current file, and automatically answer - .Sq yes - to any remaining files for the current command. --.It Ic n -+.It Cm n - Answer - .Sq no , - and do not transfer the file. --.It Ic p -+.It Cm p - Answer - .Sq yes - to the current file, and turn off prompt mode - (as is - .Dq prompt off - had been given). --.It Ic q -+.It Cm q - Terminate the current operation. --.It Ic y -+.It Cm y - Answer - .Sq yes , - and transfer the file. --.It Ic ? -+.It Cm ? - Display a help message. - .El - .Pp --Any other reponse will answer -+Any other response will answer - .Sq yes - to the current file. - .It Ic proxy Ar ftp-command -@@ -1072,11 +1114,11 @@ - .Ar direction - may be one of: - .Bl -tag -width "all" -offset indent -compact --.It Ic all -+.It Cm all - Both directions. --.It Ic get -+.It Cm get - Incoming transfers. --.It Ic put -+.It Cm put - Outgoing transfers. - .El - .Pp -@@ -1240,7 +1282,7 @@ - implementations which do ignore - .Dv PORT - commands but, incorrectly, indicate they've been accepted. --.It Ic set Op Ar "option value" -+.It Ic set Op Ar option Ar value - Set - .Ar option - to -@@ -1252,25 +1294,25 @@ - are not given, display all of the options and their values. - The currently supported options are: - .Bl -tag -width "http_proxy" -offset indent --.It anonpass -+.It Cm anonpass - Defaults to - .Ev $FTPANONPASS --.It ftp_proxy -+.It Cm ftp_proxy - Defaults to - .Ev $ftp_proxy . --.It http_proxy -+.It Cm http_proxy - Defaults to - .Ev $http_proxy . --.It no_proxy -+.It Cm no_proxy - Defaults to - .Ev $no_proxy . --.It pager -+.It Cm pager - Defaults to - .Ev $PAGER . --.It prompt -+.It Cm prompt - Defaults to - .Ev $FTPPROMPT . --.It rprompt -+.It Cm rprompt - Defaults to - .Ev $FTPRPROMPT . - .El -@@ -1415,13 +1457,14 @@ - interpretation of the argument. - Supported suffixes are: - .Bl -tag -width 3n -offset indent -compact --.It b --Causes no modification. (Optional) --.It k -+.It Li b -+Causes no modification. -+(Optional) -+.It Li k - Kilo; multiply the argument by 1024 --.It m -+.It Li m - Mega; multiply the argument by 1048576 --.It g -+.It Li g - Giga; multiply the argument by 1073741824 - .El - .Pp -@@ -1447,7 +1490,15 @@ - .Pp - The following formats are valid syntax for an auto-fetch element: - .Bl -tag -width "FOO " --.It [user@]host:[path][/] -+.\" [user@]host:[path][/] -+.It Xo -+.Sm off -+.Op Ar user Li \&@ -+.Ar host Li \&: -+.Op Ar path -+.Op Li / -+.Sm on -+.Xc - .Dq Classic - .Tn FTP - format. -@@ -1471,7 +1522,19 @@ - in the current directory. - Otherwise, the full remote name is used as the local name, - relative to the local root directory. --.It ftp://[user[:password]@]host[:port]/path[/][;type=X] -+.\" ftp://[user[:password]@]host[:port]/path[/][;type=X] -+.It Xo -+.Sm off -+.Li ftp:// -+.Oo Ar user -+.Op Li \&: Ar password -+.Li \&@ Oc -+.Ar host Oo Li \&: Ar port Oc -+.Li / Ar path -+.Op Li / -+.Op Li ;type= Ar X -+.Sm on -+.Xc - An - .Tn FTP - URL, retrieved using the -@@ -1493,15 +1556,94 @@ - .Ar password - if supplied, otherwise prompt the user for one. - .Pp -+If a suffix of -+.Sq ;type=A -+or -+.Sq ;type=I -+is supplied, then the transfer type will take place as -+ascii or binary (respectively). -+The default transfer type is binary. -+.Pp - In order to be compliant with - .Cm RFC 1738 , - .Nm --strips the leading --.Sq / --from -+interprets the -+.Ar path -+part of an -+.Dq ftp:// -+auto-fetch URL as follows: -+.Bl -bullet -+.It -+The -+.Sq Li / -+immediately after the -+.Ar host Ns Oo Li \&: Ns Ar port Oc -+is interpreted as a separator before the -+.Ar path , -+and not as part of the -+.Ar path -+itself. -+.It -+The -+.Ar path -+is interpreted as a -+.So Li / Sc Ns -separated -+list of name components. -+For all but the last such component, -+.Nm -+performs the equivalent of a -+.Ic cd -+command. -+For the last path component, -+.Nm -+performs the equivalent of a -+.Ic get -+command. -+.It -+Empty name components, -+which result from -+.Sq Li // -+within the -+.Ar path , -+or from an extra -+.Sq Li / -+at the beginning of the - .Ar path , --resulting in a transfer relative from the default login directory of --the user. -+will cause the equivalent of a -+.Ic cd -+command without a directory name. -+This is unlikely to be useful. -+.It -+Any -+.Sq Li \&% Ns Ar XX -+codes within the path components are decoded, with -+.Ar XX -+representing a character code in hexadecimal. -+This decoding takes place after the -+.Ar path -+has been split into components, -+but before each component is used in the equivalent of a -+.Ic cd -+or -+.Ic get -+command. -+Some often-used codes are -+.Sq Li \&%2F -+(which represents -+.Sq Li / ) -+and -+.Sq Li \&%7E -+(which represents -+.Sq Li ~ ) . -+.El -+.Pp -+The above interpretation has the following consequences: -+.Bl -bullet -+.It -+The path is interpreted relative to the -+default login directory of the specified user or of the -+.Sq anonymous -+user. - If the - .Pa / - directory is required, use a leading path of -@@ -1519,15 +1661,57 @@ - .Sq mypass , - use - .Dq ftp://myname:mypass@localhost/%2fetc/motd --.Pp --If a suffix of --.Sq ;type=A --or --.Sq ;type=I --is supplied, then the transfer type will take place as --ascii or binary (respectively). --The default transfer type is binary. --.It http://[user[:password]@]host[:port]/path -+.It -+The exact -+.Ic cd -+and -+.Ic get -+commands can be controlled by careful choice of -+where to use -+.Sq / -+and where to use -+.Sq %2F -+(or -+.Sq %2f ) . -+For example, the following URLs correspond to the -+equivalents of the indicated commands: -+.Bl -tag -width "ftp://host/%2Fdir1%2Fdir2%2Ffile" -+.It ftp://host/dir1/dir2/file -+.Dq "cd dir1" , -+.Dq "cd dir2" , -+.Dq "get file" . -+.It ftp://host/%2Fdir1/dir2/file -+.Dq "cd /dir1" , -+.Dq "cd dir2" , -+.Dq "get file" . -+.It ftp://host/dir1%2Fdir2/file -+.Dq "cd dir1/dir2" , -+.Dq "get file" . -+.It ftp://host/%2Fdir1%2Fdir2/file -+.Dq "cd /dir1/dir2" , -+.Dq "get file" . -+.It ftp://host/dir1%2Fdir2%2Ffile -+.Dq "get dir1/dir2/file" . -+.It ftp://host/%2Fdir1%2Fdir2%2Ffile -+.Dq "get /dir1/dir2/file" . -+.El -+.It -+You must have appropriate access permission for each of the -+intermediate directories that is used in the equivalent of a -+.Ic cd -+command. -+.El -+.\" http://[user[:password]@]host[:port]/path -+.It Xo -+.Sm off -+.Li http:// -+.Oo Ar user -+.Op Li \&: Ar password -+.Li \&@ Oc -+.Ar host Oo Li \&: Ar port Oc -+.Li / Ar path -+.Sm on -+.Xc - An - .Tn HTTP - URL, retrieved using the -@@ -1540,16 +1724,22 @@ - proxy server. - If - .Tn HTTP --authorisation is required to retrieve -+authorization is required to retrieve - .Ar path , - and - .Sq user - (and optionally - .Sq password ) - is in the URL, use them for the first attempt to authenticate. --.It file:///path -+.\" file:///path -+.It Xo -+.Sm off -+.Li file:/// Ar path -+.Sm on -+.Xc - A local URL, copied from --.Ar /path . -+.Pa / Ns Ar path -+on the local host. - .El - .Pp - Unless noted otherwise above, and -@@ -1736,7 +1926,7 @@ - .Nm - supports only the default values for the remaining - file transfer parameters: --.Ic mode , -+.Ic mode , - .Ic form , - and - .Ic struct . -@@ -1841,6 +2031,14 @@ - .Ic init - is defined, it is automatically executed as the last step in the - auto-login process. -+For example, -+.Bd -literal -offset indent -+default -+macdef init -+epsv4 off -+.Ed -+.Pp -+followed by a blank line. - .El - .Sh COMMAND LINE EDITING - .Nm -@@ -1888,9 +2086,20 @@ - The following formatting sequences are replaced by the given - information: - .Bl -tag -width "%% " -offset indent --.It %/ -+.It Li \&%/ - The current remote working directory. --.It %c[[0]\fIn\fR], %.[[0]\fIn\fR] -+.\" %c[[0]n], %.[[0]n] -+.It Xo -+.Sm off -+.Li \&%c -+.Op Oo Li 0 Oc Ar n -+.Sm on -+.No , -+.Sm off -+.Li \&%. -+.Op Oo Li 0 Oc Ar n -+.Sm on -+.Xc - The trailing component of the current remote working directory, or - .Em n - trailing components if a digit -@@ -1902,21 +2111,28 @@ - .Sq 0 , - the number of skipped components precede the trailing component(s) in - the format --.Dq /\fI\*[Lt]skipped\*[Gt]\fRtrailing -+.\" ``/<number>trailing'' -+.Do -+.Sm off -+.Li / Li \*[Lt] Va number Li \*[Gt] -+.Va trailing -+.Sm on -+.Dc - (for --.Sq %c ) -+.Sq \&%c ) - or --.Dq ...trailing -+.\" ``...trailing'' -+.Dq Li \&... Ns Va trailing - (for --.Sq %. ) . --.It %M -+.Sq \&%. ) . -+.It Li \&%M - The remote host name. --.It %m -+.It Li \&%m - The remote host name, up to the first - .Sq \&. . --.It %n -+.It Li \&%n - The remote user name. --.It %% -+.It Li \&%% - A single - .Sq % . - .El -@@ -1934,15 +2150,15 @@ - Overrides the default operation mode. - Support values are: - .Bl -tag -width "passive" --.It active -+.It Cm active - active mode - .Tn FTP - only --.It auto -+.It Cm auto - automatic determination of passive or active (this is the default) --.It gate -+.It Cm gate - gate-ftp mode --.It passive -+.It Cm passive - passive mode - .Tn FTP - only -@@ -2028,6 +2244,21 @@ - Each entry may have an optional trailing ":port", which restricts - the matching to connections to that port. - .El -+.Sh EXTENDED PASSIVE MODE AND FIREWALLS -+Some firewall configurations do not allow -+.Nm -+to use extended passive mode. -+If you find that even a simple -+.Ic ls -+appears to hang after printing a message such as this: -+.Pp -+.Dl 229 Entering Extended Passive Mode (|||58551|) -+.Pp -+then you will need to disable extended passive mode with -+.Ic epsv4 off . -+See the above section -+.Sx The .netrc File -+for an example of how to make this automatic. - .Sh SEE ALSO - .Xr getservbyname 3 , - .Xr editrc 5 , -@@ -2061,7 +2292,9 @@ - were implemented in - .Nx 1.3 - and later releases --by Luke Mewburn \*[Lt]lukem@netbsd.org\*[Gt]. -+by -+.An Luke Mewburn -+.Aq lukem@NetBSD.org . - .Pp - IPv6 support was added by the WIDE/KAME project - (but may not be present in all non-NetBSD versions of this program, depending -diff -Nru src/ftp.c /home/spock/ftp/ftp.c ---- src/ftp.c Sat Jun 15 05:40:36 2002 -+++ /home/spock/ftp/ftp.c Thu Jun 12 02:02:11 2003 -@@ -98,9 +98,40 @@ - * SUCH DAMAGE. - */ - --#include "lukemftp.h" -+#include <sys/cdefs.h> -+#ifndef lint -+#if 0 -+static char sccsid[] = "@(#)ftp.c 8.6 (Berkeley) 10/27/94"; -+#else -+__RCSID("$NetBSD: ftp.c,v 1.120 2002/06/05 10:20:49 lukem Exp $"); -+#endif -+#endif /* not lint */ - -+#include <sys/types.h> -+#include <sys/stat.h> -+#include <sys/socket.h> -+#include <sys/time.h> -+ -+#include <netinet/in.h> -+#include <netinet/in_systm.h> -+#include <netinet/ip.h> -+#include <arpa/inet.h> -+#include <arpa/ftp.h> - #include <arpa/telnet.h> -+ -+#include <ctype.h> -+#include <err.h> -+#include <errno.h> -+#include <netdb.h> -+#include <stdio.h> -+#include <stdlib.h> -+#include <string.h> -+#include <time.h> -+#include <unistd.h> -+#include <stdarg.h> -+#ifndef USE_SELECT -+#include <poll.h> -+#endif - - #include "ftp_var.h" - -diff -Nru src/ftp.cat1 /home/spock/ftp/ftp.cat1 ---- src/ftp.cat1 Sat Jun 15 05:40:31 2002 -+++ /home/spock/ftp/ftp.cat1 Wed Dec 31 19:00:00 1969 -@@ -1,1055 +0,0 @@ --FTP(1) NetBSD Reference Manual FTP(1) -- --NNAAMMEE -- ffttpp - Internet file transfer program -- --SSYYNNOOPPSSIISS -- ffttpp [--4466AAaaddeeffggiinnppRRttvvVV] [--NN _n_e_t_r_c] [--oo _o_u_t_p_u_t] [--PP _p_o_r_t] [--rr _r_e_t_r_y] [--TT -- _d_i_r,_m_a_x[,_i_n_c]] [[_u_s_e_r@]_h_o_s_t [_p_o_r_t]] [_u_s_e_r@]_h_o_s_t:[_p_a_t_h][/] -- [file:///_p_a_t_h] [ftp://[_u_s_e_r[:_p_a_s_s_w_o_r_d]@]_h_o_s_t[:_p_o_r_t]/_p_a_t_h[/]] -- [http://[_u_s_e_r[:_p_a_s_s_w_o_r_d]@]_h_o_s_t[:_p_o_r_t]/_p_a_t_h] [_._._.] -- ffttpp --uu _u_r_l file [_._._.] -- --DDEESSCCRRIIPPTTIIOONN -- ffttpp is the user interface to the Internet standard File Transfer Proto- -- col. The program allows a user to transfer files to and from a remote -- network site. -- -- The last five arguments will fetch a file using the FTP or HTTP proto- -- cols, or by direct copying, into the current directory. This is ideal -- for scripts. Refer to _A_U_T_O_-_F_E_T_C_H_I_N_G _F_I_L_E_S below for more information. -- -- Options may be specified at the command line, or to the command inter- -- preter. -- -- --44 Forces ffttpp to only use IPv4 addresses. -- -- --66 Forces ffttpp to only use IPv6 addresses. -- -- --AA Force active mode ftp. By default, ffttpp will try to use passive -- mode ftp and fall back to active mode if passive is not support- -- ed by the server. This option causes ffttpp to always use an ac- -- tive connection. It is only useful for connecting to very old -- servers that do not implement passive mode properly. -- -- --aa Causes ffttpp to bypass normal login procedure, and use an anony- -- mous login instead. -- -- --dd Enables debugging. -- -- --ee Disables command line editing. This is useful for Emacs ange- -- ftp mode. -- -- --ff Forces a cache reload for transfers that go through the FTP or -- HTTP proxies. -- -- --gg Disables file name globbing. -- -- --ii Turns off interactive prompting during multiple file transfers. -- -- --nn Restrains ffttpp from attempting ``auto-login'' upon initial con- -- nection. If auto-login is enabled, ffttpp will check the _._n_e_t_r_c -- (see below) file in the user's home directory for an entry de- -- scribing an account on the remote machine. If no entry exists, -- ffttpp will prompt for the remote machine login name (default is -- the user identity on the local machine), and, if necessary, -- prompt for a password and an account with which to login. -- -- --NN _n_e_t_r_c -- Use _n_e_t_r_c instead of _~_/_._n_e_t_r_c. Refer to _T_H_E _._n_e_t_r_c _F_I_L_E for -- more information. -- -- --oo _o_u_t_p_u_t -- When auto-fetching files, save the contents in _o_u_t_p_u_t. _o_u_t_p_u_t -- is parsed according to the _F_I_L_E _N_A_M_I_N_G _C_O_N_V_E_N_T_I_O_N_S below. If -- _o_u_t_p_u_t is not `-' or doesn't start with `|', then only the first -- file specified will be retrieved into _o_u_t_p_u_t; all other files -- will be retrieved into the basename of their remote name. -- -- --pp Enable passive mode operation for use behind connection filter- -- ing firewalls. This option has been deprecated as ffttpp now tries -- to use passive mode by default, falling back to active mode if -- the server does not support passive connections. -- -- --PP _p_o_r_t Sets the port number to _p_o_r_t. -- -- --rr _w_a_i_t Retry the connection attempt if it failed, pausing for _w_a_i_t sec- -- onds. -- -- --RR Restart all non-proxied auto-fetches. -- -- --tt Enables packet tracing. -- -- --TT _d_i_r_e_c_t_i_o_n,_m_a_x_i_m_u_m[,_i_n_c_r_e_m_e_n_t] -- Set the maximum transfer rate for _d_i_r_e_c_t_i_o_n to _m_a_x_i_m_u_m -- bytes/second, and if specified, the increment to _i_n_c_r_e_m_e_n_t -- bytes/second. Refer to rraattee for more information. -- -- --uu _u_r_l _f_i_l_e [...] -- Upload files on the command line to _u_r_l where _u_r_l is one of the -- ftp URL types as supported by auto-fetch (with an optional tar- -- get filename for single file uploads), and _f_i_l_e is one or more -- local files to be uploaded. -- -- --vv Enable vveerrbboossee and pprrooggrreessss. This is the default if output is -- to a terminal (and in the case of pprrooggrreessss, ffttpp is the fore- -- ground process). Forces ffttpp to show all responses from the re- -- mote server, as well as report on data transfer statistics. -- -- --VV Disable vveerrbboossee and pprrooggrreessss, overriding the default of enabled -- when output is to a terminal. -- -- The client host with which ffttpp is to communicate may be specified on the -- command line. If this is done, ffttpp will immediately attempt to establish -- a connection to an FTP server on that host; otherwise, ffttpp will enter its -- command interpreter and await instructions from the user. When ffttpp is -- awaiting commands from the user the prompt `ftp>' is provided to the us- -- er. The following commands are recognized by ffttpp: -- -- !! [_c_o_m_m_a_n_d [_a_r_g_s]] -- Invoke an interactive shell on the local machine. If there -- are arguments, the first is taken to be a command to execute -- directly, with the rest of the arguments as its arguments. -- -- $$ _m_a_c_r_o_-_n_a_m_e [_a_r_g_s] -- Execute the macro _m_a_c_r_o_-_n_a_m_e that was defined with the mmaaccddeeff -- command. Arguments are passed to the macro unglobbed. -- -- aaccccoouunntt [_p_a_s_s_w_d] -- Supply a supplemental password required by a remote system -- for access to resources once a login has been successfully -- completed. If no argument is included, the user will be -- prompted for an account password in a non-echoing input mode. -- -- aappppeenndd _l_o_c_a_l_-_f_i_l_e [_r_e_m_o_t_e_-_f_i_l_e] -- Append a local file to a file on the remote machine. If -- _r_e_m_o_t_e_-_f_i_l_e is left unspecified, the local file name is used -- in naming the remote file after being altered by any nnttrraannss -- or nnmmaapp setting. File transfer uses the current settings for -- ttyyppee, ffoorrmmaatt, mmooddee, and ssttrruuccttuurree. -- -- aasscciiii Set the file transfer ttyyppee to network ASCII. This is the de- -- fault type. -- -- bbeellll Arrange that a bell be sounded after each file transfer com- -- mand is completed. -- -- bbiinnaarryy Set the file transfer ttyyppee to support binary image transfer. -- -- bbyyee Terminate the FTP session with the remote server and exit -- ffttpp. An end of file will also terminate the session and ex- -- it. -- -- ccaassee Toggle remote computer file name case mapping during ggeett, -- mmggeett and mmppuutt commands. When ccaassee is on (default is off), -- remote computer file names with all letters in upper case are -- written in the local directory with the letters mapped to -- lower case. -- -- ccdd _r_e_m_o_t_e_-_d_i_r_e_c_t_o_r_y -- Change the working directory on the remote machine to _r_e_m_o_t_e_- -- _d_i_r_e_c_t_o_r_y. -- -- ccdduupp Change the remote machine working directory to the parent of -- the current remote machine working directory. -- -- cchhmmoodd _m_o_d_e _r_e_m_o_t_e_-_f_i_l_e -- Change the permission modes of the file _r_e_m_o_t_e_-_f_i_l_e on the -- remote system to _m_o_d_e. -- -- cclloossee Terminate the FTP session with the remote server, and return -- to the command interpreter. Any defined macros are erased. -- -- ccrr Toggle carriage return stripping during ascii type file re- -- trieval. Records are denoted by a carriage return/linefeed -- sequence during ascii type file transfer. When ccrr is on (the -- default), carriage returns are stripped from this sequence to -- conform with the UNIX single linefeed record delimiter. -- Records on non-UNIX remote systems may contain single line- -- feeds; when an ascii type transfer is made, these linefeeds -- may be distinguished from a record delimiter only when ccrr is -- off. -- -- ddeebbuugg [_d_e_b_u_g_-_v_a_l_u_e] -- Toggle debugging mode. If an optional _d_e_b_u_g_-_v_a_l_u_e is speci- -- fied it is used to set the debugging level. When debugging -- is on, ffttpp prints each command sent to the remote machine, -- preceded by the string `-->' -- -- ddeelleettee _r_e_m_o_t_e_-_f_i_l_e -- Delete the file _r_e_m_o_t_e_-_f_i_l_e on the remote machine. -- -- ddiirr [_r_e_m_o_t_e_-_p_a_t_h [_l_o_c_a_l_-_f_i_l_e]] -- Print a listing of the contents of a directory on the remote -- machine. The listing includes any system-dependent informa- -- tion that the server chooses to include; for example, most -- UNIX systems will produce output from the command `ls -l'. -- If _r_e_m_o_t_e_-_p_a_t_h is left unspecified, the current working di- -- rectory is used. If interactive prompting is on, ffttpp will -- prompt the user to verify that the last argument is indeed -- the target local file for receiving ddiirr output. If no local -- file is specified, or if _l_o_c_a_l_-_f_i_l_e is `--', the output is -- sent to the terminal. -- -- ddiissccoonnnneecctt A synonym for cclloossee. -- -- eeddiitt Toggle command line editing, and context sensitive command -- and file completion. This is automatically enabled if input -- is from a terminal, and disabled otherwise. -- -- eeppssvv44 Toggle the use of the extended EPSV and EPRT commands on IPv4 -- connections; first try EPSV / EPRT, and then PASV / PORT. -- This is enabled by default. If an extended command fails -- then this option will be temporarily disabled for the dura- -- tion of the current connection, or until eeppssvv44 is executed -- again. -- -- eexxiitt A synonym for bbyyee. -- -- ffeeaattuurreess Display what features the remote server supports (using the -- FEAT command). -- -- ffggeett _l_o_c_a_l_f_i_l_e -- Retrieve the files listed in _l_o_c_a_l_f_i_l_e, which has one line -- per filename. -- -- ffoorrmm _f_o_r_m_a_t -- Set the file transfer ffoorrmm to _f_o_r_m_a_t. The default (and only -- supported) format is ``non-print''. -- -- ffttpp _h_o_s_t [_p_o_r_t] -- A synonym for ooppeenn. -- -- ggaattee [_h_o_s_t [_p_o_r_t]] -- Toggle gate-ftp mode, which used to connect through the TIS -- FWTK and Gauntlet ftp proxies. This will not be permitted if -- the gate-ftp server hasn't been set (either explicitly by the -- user, or from the FTPSERVER environment variable). If _h_o_s_t -- is given, then gate-ftp mode will be enabled, and the gate- -- ftp server will be set to _h_o_s_t. If _p_o_r_t is also given, that -- will be used as the port to connect to on the gate-ftp serv- -- er. -- -- ggeett _r_e_m_o_t_e_-_f_i_l_e [_l_o_c_a_l_-_f_i_l_e] -- Retrieve the _r_e_m_o_t_e_-_f_i_l_e and store it on the local machine. -- If the local file name is not specified, it is given the same -- name it has on the remote machine, subject to alteration by -- the current ccaassee, nnttrraannss, and nnmmaapp settings. The current -- settings for ttyyppee, ffoorrmm, mmooddee, and ssttrruuccttuurree are used while -- transferring the file. -- -- gglloobb Toggle filename expansion for mmddeelleettee, mmggeett, mmppuutt, and -- mmrreeggeett. If globbing is turned off with gglloobb, the file name -- arguments are taken literally and not expanded. Globbing for -- mmppuutt is done as in csh(1). For mmddeelleettee, mmggeett, and mmrreeggeett, -- each remote file name is expanded separately on the remote -- machine and the lists are not merged. Expansion of a direc- -- tory name is likely to be different from expansion of the -- name of an ordinary file: the exact result depends on the -- foreign operating system and ftp server, and can be previewed -- by doing `mls remote-files -' Note: mmggeett, mmppuutt and mmrreeggeett are -- not meant to transfer entire directory subtrees of files. -- That can be done by transferring a tar(1) archive of the sub- -- tree (in binary mode). -- -- hhaasshh [_s_i_z_e] -- Toggle hash-sign (``#'') printing for each data block trans- -- ferred. The size of a data block defaults to 1024 bytes. -- This can be changed by specifying _s_i_z_e in bytes. Enabling -- hhaasshh disables pprrooggrreessss. -- -- hheellpp [_c_o_m_m_a_n_d] -- Print an informative message about the meaning of _c_o_m_m_a_n_d. -- If no argument is given, ffttpp prints a list of the known com- -- mands. -- -- iiddllee [_s_e_c_o_n_d_s] -- Set the inactivity timer on the remote server to _s_e_c_o_n_d_s sec- -- onds. If _s_e_c_o_n_d_s is omitted, the current inactivity timer is -- printed. -- -- iimmaaggee A synonym for bbiinnaarryy. -- -- llccdd [_d_i_r_e_c_t_o_r_y] -- Change the working directory on the local machine. If no -- _d_i_r_e_c_t_o_r_y is specified, the user's home directory is used. -- -- lleessss _f_i_l_e A synonym for ppaaggee. -- -- llppaaggee _l_o_c_a_l_-_f_i_l_e -- Display _l_o_c_a_l_-_f_i_l_e with the program specified by the sseett -- ppaaggeerr option. -- -- llppwwdd Print the working directory on the local machine. -- -- llss [_r_e_m_o_t_e_-_p_a_t_h [_l_o_c_a_l_-_f_i_l_e]] -- A synonym for ddiirr. -- -- mmaaccddeeff _m_a_c_r_o_-_n_a_m_e -- Define a macro. Subsequent lines are stored as the macro -- _m_a_c_r_o_-_n_a_m_e; a null line (consecutive newline characters in a -- file or carriage returns from the terminal) terminates macro -- input mode. There is a limit of 16 macros and 4096 total -- characters in all defined macros. Macros remain defined un- -- til a cclloossee command is executed. The macro processor inter- -- prets `$' and `\' as special characters. A `$' followed by a -- number (or numbers) is replaced by the corresponding argument -- on the macro invocation command line. A `$' followed by an -- `i' signals that macro processor that the executing macro is -- to be looped. On the first pass `$i' is replaced by the -- first argument on the macro invocation command line, on the -- second pass it is replaced by the second argument, and so on. -- A `\' followed by any character is replaced by that charac- -- ter. Use the `\' to prevent special treatment of the `$'. -- -- mmddeelleettee [_r_e_m_o_t_e_-_f_i_l_e_s] -- Delete the _r_e_m_o_t_e_-_f_i_l_e_s on the remote machine. -- -- mmddiirr _r_e_m_o_t_e_-_f_i_l_e_s _l_o_c_a_l_-_f_i_l_e -- Like ddiirr, except multiple remote files may be specified. If -- interactive prompting is on, ffttpp will prompt the user to ver- -- ify that the last argument is indeed the target local file -- for receiving mmddiirr output. -- -- mmggeett _r_e_m_o_t_e_-_f_i_l_e_s -- Expand the _r_e_m_o_t_e_-_f_i_l_e_s on the remote machine and do a ggeett -- for each file name thus produced. See gglloobb for details on -- the filename expansion. Resulting file names will then be -- processed according to ccaassee, nnttrraannss, and nnmmaapp settings. -- Files are transferred into the local working directory, which -- can be changed with `lcd directory'; new local directories -- can be created with `! mkdir directory'. -- -- mmkkddiirr _d_i_r_e_c_t_o_r_y_-_n_a_m_e -- Make a directory on the remote machine. -- -- mmllss _r_e_m_o_t_e_-_f_i_l_e_s _l_o_c_a_l_-_f_i_l_e -- Like llss, except multiple remote files may be specified, and -- the _l_o_c_a_l_-_f_i_l_e must be specified. If interactive prompting -- is on, ffttpp will prompt the user to verify that the last argu- -- ment is indeed the target local file for receiving mmllss out- -- put. -- -- mmllssdd [_r_e_m_o_t_e_-_p_a_t_h] -- Display the contents of _r_e_m_o_t_e_-_p_a_t_h (which should default to -- the current directory if not given) in a machine-parsable -- form, using MLSD. The format of display can be changed with -- `remopts mlst ...'. -- -- mmllsstt [_r_e_m_o_t_e_-_p_a_t_h] -- Display the details about _r_e_m_o_t_e_-_p_a_t_h (which should default -- to the current directory if not given) in a machine-parsable -- form, using MLST. The format of display can be changed with -- `remopts mlst ...'. -- -- mmooddee _m_o_d_e_-_n_a_m_e -- Set the file transfer mmooddee to _m_o_d_e_-_n_a_m_e. The default (and -- only supported) mode is ``stream''. -- -- mmooddttiimmee _r_e_m_o_t_e_-_f_i_l_e -- Show the last modification time of the file on the remote ma- -- chine. -- -- mmoorree _f_i_l_e A synonym for ppaaggee. -- -- mmppuutt _l_o_c_a_l_-_f_i_l_e_s -- Expand wild cards in the list of local files given as argu- -- ments and do a ppuutt for each file in the resulting list. See -- gglloobb for details of filename expansion. Resulting file names -- will then be processed according to nnttrraannss and nnmmaapp settings. -- -- mmrreeggeett _r_e_m_o_t_e_-_f_i_l_e_s -- As per mmggeett, but performs a rreeggeett instead of ggeett. -- -- mmsseenndd _l_o_c_a_l_-_f_i_l_e_s -- A synonym for mmppuutt. -- -- nneewweerr _r_e_m_o_t_e_-_f_i_l_e [_l_o_c_a_l_-_f_i_l_e] -- Get the file only if the modification time of the remote file -- is more recent that the file on the current system. If the -- file does not exist on the current system, the remote file is -- considered nneewweerr. Otherwise, this command is identical to -- _g_e_t. -- -- nnlliisstt [_r_e_m_o_t_e_-_p_a_t_h [_l_o_c_a_l_-_f_i_l_e]] -- A synonym for llss. -- -- nnmmaapp [_i_n_p_a_t_t_e_r_n _o_u_t_p_a_t_t_e_r_n] -- Set or unset the filename mapping mechanism. If no arguments -- are specified, the filename mapping mechanism is unset. If -- arguments are specified, remote filenames are mapped during -- mmppuutt commands and ppuutt commands issued without a specified re- -- mote target filename. If arguments are specified, local -- filenames are mapped during mmggeett commands and ggeett commands -- issued without a specified local target filename. This com- -- mand is useful when connecting to a non-UNIX remote computer -- with different file naming conventions or practices. The -- mapping follows the pattern set by _i_n_p_a_t_t_e_r_n and _o_u_t_p_a_t_t_e_r_n. -- [_I_n_p_a_t_t_e_r_n] is a template for incoming filenames (which may -- have already been processed according to the nnttrraannss and ccaassee -- settings). Variable templating is accomplished by including -- the sequences `$1', `$2', ..., `$9' in _i_n_p_a_t_t_e_r_n. Use `\' to -- prevent this special treatment of the `$' character. All -- other characters are treated literally, and are used to de- -- termine the nnmmaapp [_i_n_p_a_t_t_e_r_n] variable values. For example, -- given _i_n_p_a_t_t_e_r_n $1.$2 and the remote file name "mydata.data", -- $1 would have the value "mydata", and $2 would have the value -- "data". The _o_u_t_p_a_t_t_e_r_n determines the resulting mapped file- -- name. The sequences `$1', `$2', ...., `$9' are replaced by -- any value resulting from the _i_n_p_a_t_t_e_r_n template. The se- -- quence `$0' is replace by the original filename. Additional- -- ly, the sequence `[_s_e_q_1, _s_e_q_2]' is replaced by [_s_e_q_1] if _s_e_q_1 -- is not a null string; otherwise it is replaced by _s_e_q_2. For -- example, the command -- -- nmap $1.$2.$3 [$1,$2].[$2,file] -- -- would yield the output filename "myfile.data" for input file- -- names "myfile.data" and "myfile.data.old", "myfile.file" for -- the input filename "myfile", and "myfile.myfile" for the in- -- put filename ".myfile". Spaces may be included in -- _o_u_t_p_a_t_t_e_r_n, as in the example: `nmap $1 sed "s/ *$//" > $1' -- . Use the `\' character to prevent special treatment of the -- `$','[',']', and `,' characters. -- -- nnttrraannss [_i_n_c_h_a_r_s [_o_u_t_c_h_a_r_s]] -- Set or unset the filename character translation mechanism. -- If no arguments are specified, the filename character trans- -- lation mechanism is unset. If arguments are specified, char- -- acters in remote filenames are translated during mmppuutt com- -- mands and ppuutt commands issued without a specified remote tar- -- get filename. If arguments are specified, characters in lo- -- cal filenames are translated during mmggeett commands and ggeett -- commands issued without a specified local target filename. -- This command is useful when connecting to a non-UNIX remote -- computer with different file naming conventions or practices. -- Characters in a filename matching a character in _i_n_c_h_a_r_s are -- replaced with the corresponding character in _o_u_t_c_h_a_r_s. If -- the character's position in _i_n_c_h_a_r_s is longer than the length -- of _o_u_t_c_h_a_r_s, the character is deleted from the file name. -- -- ooppeenn _h_o_s_t [_p_o_r_t] -- Establish a connection to the specified _h_o_s_t FTP server. An -- optional port number may be supplied, in which case, ffttpp will -- attempt to contact an FTP server at that port. If the aauuttoo-- -- llooggiinn option is on (default), ffttpp will also attempt to auto- -- matically log the user in to the FTP server (see below). -- -- ppaaggee _f_i_l_e Retrieve ffiillee and display with the program specified by the -- sseett ppaaggeerr option. -- -- ppaassssiivvee [aauuttoo] -- Toggle passive mode (if no arguments are given). If aauuttoo is -- given, act as if FTPMODE is set to `auto'. If passive mode -- is turned on (default), ffttpp will send a PASV command for all -- data connections instead of a PORT command. The PASV command -- requests that the remote server open a port for the data con- -- nection and return the address of that port. The remote -- server listens on that port and the client connects to it. -- When using the more traditional PORT command, the client lis- -- tens on a port and sends that address to the remote server, -- who connects back to it. Passive mode is useful when using -- ffttpp through a gateway router or host that controls the direc- -- tionality of traffic. (Note that though FTP servers are re- -- quired to support the PASV command by RFC 1123, some do not.) -- -- ppddiirr [_r_e_m_o_t_e_-_p_a_t_h] -- Perform ddiirr [_r_e_m_o_t_e_-_p_a_t_h], and display the result with the -- program specified by the sseett ppaaggeerr option. -- -- ppllss [_r_e_m_o_t_e_-_p_a_t_h] -- Perform llss [_r_e_m_o_t_e_-_p_a_t_h], and display the result with the -- program specified by the sseett ppaaggeerr option. -- -- ppmmllssdd [_r_e_m_o_t_e_-_p_a_t_h] -- Perform mmllssdd [_r_e_m_o_t_e_-_p_a_t_h], and display the result with the -- program specified by the sseett ppaaggeerr option. -- -- pprreesseerrvvee Toggle preservation of modification times on retrieved files. -- -- pprrooggrreessss Toggle display of transfer progress bar. The progress bar -- will be disabled for a transfer that has _l_o_c_a_l_-_f_i_l_e as `--' or -- a command that starts with `|'. Refer to _F_I_L_E _N_A_M_I_N_G -- _C_O_N_V_E_N_T_I_O_N_S for more information. Enabling pprrooggrreessss disables -- hhaasshh. -- -- pprroommpptt Toggle interactive prompting. Interactive prompting occurs -- during multiple file transfers to allow the user to selec- -- tively retrieve or store files. If prompting is turned off -- (default is on), any mmggeett or mmppuutt will transfer all files, -- and any mmddeelleettee will delete all files. -- -- When prompting is on, the following commands are available at -- a prompt: -- -- aa Answer `yes' to the current file, and automatically -- answer `yes' to any remaining files for the current -- command. -- -- nn Answer `no', and do not transfer the file. -- -- pp Answer `yes' to the current file, and turn off -- prompt mode (as is ``prompt off'' had been given). -- -- qq Terminate the current operation. -- -- yy Answer `yes', and transfer the file. -- -- ?? Display a help message. -- -- Any other reponse will answer `yes' to the current file. -- -- pprrooxxyy _f_t_p_-_c_o_m_m_a_n_d -- Execute an ftp command on a secondary control connection. -- This command allows simultaneous connection to two remote FTP -- servers for transferring files between the two servers. The -- first pprrooxxyy command should be an ooppeenn, to establish the sec- -- ondary control connection. Enter the command "proxy ?" to -- see other FTP commands executable on the secondary connec- -- tion. The following commands behave differently when pref- -- aced by pprrooxxyy: ooppeenn will not define new macros during the au- -- to-login process, cclloossee will not erase existing macro defini- -- tions, ggeett and mmggeett transfer files from the host on the pri- -- mary control connection to the host on the secondary control -- connection, and ppuutt, mmppuutt, and aappppeenndd transfer files from the -- host on the secondary control connection to the host on the -- primary control connection. Third party file transfers de- -- pend upon support of the FTP protocol PASV command by the -- server on the secondary control connection. -- -- ppuutt _l_o_c_a_l_-_f_i_l_e [_r_e_m_o_t_e_-_f_i_l_e] -- Store a local file on the remote machine. If _r_e_m_o_t_e_-_f_i_l_e is -- left unspecified, the local file name is used after process- -- ing according to any nnttrraannss or nnmmaapp settings in naming the -- remote file. File transfer uses the current settings for -- ttyyppee, ffoorrmmaatt, mmooddee, and ssttrruuccttuurree. -- -- ppwwdd Print the name of the current working directory on the remote -- machine. -- -- qquuiitt A synonym for bbyyee. -- -- qquuoottee _a_r_g_1 _a_r_g_2 _._._. -- The arguments specified are sent, verbatim, to the remote FTP -- server. -- -- rraattee _d_i_r_e_c_t_i_o_n [_m_a_x_i_m_u_m [_i_n_c_r_e_m_e_n_t]] -- Throttle the maximum transfer rate to _m_a_x_i_m_u_m bytes/second. -- If _m_a_x_i_m_u_m is 0, disable the throttle. -- -- _d_i_r_e_c_t_i_o_n may be one of: -- aallll Both directions. -- ggeett Incoming transfers. -- ppuutt Outgoing transfers. -- -- _m_a_x_i_m_u_m can by modified on the fly by _i_n_c_r_e_m_e_n_t bytes (de- -- fault: 1024) each time a given signal is received: -- -- SIGUSR1 Increment _m_a_x_i_m_u_m by _i_n_c_r_e_m_e_n_t bytes. -- -- SIGUSR2 Decrement _m_a_x_i_m_u_m by _i_n_c_r_e_m_e_n_t bytes. The re- -- sult must be a positive number. -- -- If _m_a_x_i_m_u_m is not supplied, the current throttle rates are -- displayed. -- -- Note: rraattee is not yet implemented for ascii mode transfers. -- -- rrccvvbbuuff _s_i_z_e -- Set the size of the socket receive buffer to _s_i_z_e. -- -- rreeccvv _r_e_m_o_t_e_-_f_i_l_e [_l_o_c_a_l_-_f_i_l_e] -- A synonym for ggeett. -- -- rreeggeett _r_e_m_o_t_e_-_f_i_l_e [_l_o_c_a_l_-_f_i_l_e] -- rreeggeett acts like ggeett, except that if _l_o_c_a_l_-_f_i_l_e exists and is -- smaller than _r_e_m_o_t_e_-_f_i_l_e, _l_o_c_a_l_-_f_i_l_e is presumed to be a par- -- tially transferred copy of _r_e_m_o_t_e_-_f_i_l_e and the transfer is -- continued from the apparent point of failure. This command -- is useful when transferring very large files over networks -- that are prone to dropping connections. -- -- rreemmooppttss _c_o_m_m_a_n_d [_c_o_m_m_a_n_d_-_o_p_t_i_o_n_s] -- Set options on the remote FTP server for _c_o_m_m_a_n_d to _c_o_m_m_a_n_d_- -- _o_p_t_i_o_n_s (whose absence is handled on a command-specific ba- -- sis). Remote FTP commands known to support options include: -- `MLST' (used for MLSD and MLST). -- -- rreennaammee [_f_r_o_m [_t_o]] -- Rename the file _f_r_o_m on the remote machine, to the file _t_o. -- -- rreesseett Clear reply queue. This command re-synchronizes command/re- -- ply sequencing with the remote FTP server. Resynchronization -- may be necessary following a violation of the FTP protocol by -- the remote server. -- -- rreessttaarrtt _m_a_r_k_e_r -- Restart the immediately following ggeett or ppuutt at the indicated -- _m_a_r_k_e_r. On UNIX systems, marker is usually a byte offset in- -- to the file. -- -- rrhheellpp [_c_o_m_m_a_n_d_-_n_a_m_e] -- Request help from the remote FTP server. If a _c_o_m_m_a_n_d_-_n_a_m_e -- is specified it is supplied to the server as well. -- -- rrmmddiirr _d_i_r_e_c_t_o_r_y_-_n_a_m_e -- Delete a directory on the remote machine. -- -- rrssttaattuuss [_r_e_m_o_t_e_-_f_i_l_e] -- With no arguments, show status of remote machine. If _r_e_m_o_t_e_- -- _f_i_l_e is specified, show status of _r_e_m_o_t_e_-_f_i_l_e on remote ma- -- chine. -- -- rruunniiqquuee Toggle storing of files on the local system with unique file- -- names. If a file already exists with a name equal to the -- target local filename for a ggeett or mmggeett command, a ".1" is -- appended to the name. If the resulting name matches another -- existing file, a ".2" is appended to the original name. If -- this process continues up to ".99", an error message is -- printed, and the transfer does not take place. The generated -- unique filename will be reported. Note that rruunniiqquuee will not -- affect local files generated from a shell command (see be- -- low). The default value is off. -- -- sseenndd _l_o_c_a_l_-_f_i_l_e [_r_e_m_o_t_e_-_f_i_l_e] -- A synonym for ppuutt. -- -- sseennddppoorrtt Toggle the use of PORT commands. By default, ffttpp will at- -- tempt to use a PORT command when establishing a connection -- for each data transfer. The use of PORT commands can prevent -- delays when performing multiple file transfers. If the PORT -- command fails, ffttpp will use the default data port. When the -- use of PORT commands is disabled, no attempt will be made to -- use PORT commands for each data transfer. This is useful for -- certain FTP implementations which do ignore PORT commands -- but, incorrectly, indicate they've been accepted. -- -- sseett [_o_p_t_i_o_n _v_a_l_u_e] -- Set _o_p_t_i_o_n to _v_a_l_u_e. If _o_p_t_i_o_n and _v_a_l_u_e are not given, dis- -- play all of the options and their values. The currently sup- -- ported options are: -- -- anonpass Defaults to $FTPANONPASS -- -- ftp_proxy Defaults to $ftp_proxy. -- -- http_proxy Defaults to $http_proxy. -- -- no_proxy Defaults to $no_proxy. -- -- pager Defaults to $PAGER. -- -- prompt Defaults to $FTPPROMPT. -- -- rprompt Defaults to $FTPRPROMPT. -- -- ssiittee _a_r_g_1 _a_r_g_2 _._._. -- The arguments specified are sent, verbatim, to the remote FTP -- server as a SITE command. -- -- ssiizzee _r_e_m_o_t_e_-_f_i_l_e -- Return size of _r_e_m_o_t_e_-_f_i_l_e on remote machine. -- -- ssnnddbbuuff _s_i_z_e -- Set the size of the socket send buffer to _s_i_z_e. -- -- ssttaattuuss Show the current status of ffttpp. -- -- ssttrruucctt _s_t_r_u_c_t_-_n_a_m_e -- Set the file transfer _s_t_r_u_c_t_u_r_e to _s_t_r_u_c_t_-_n_a_m_e. The default -- (and only supported) structure is ``file''. -- -- ssuunniiqquuee Toggle storing of files on remote machine under unique file -- names. The remote FTP server must support FTP protocol STOU -- command for successful completion. The remote server will -- report unique name. Default value is off. -- -- ssyysstteemm Show the type of operating system running on the remote ma- -- chine. -- -- tteenneexx Set the file transfer type to that needed to talk to TENEX -- machines. -- -- tthhrroottttllee A synonym for rraattee. -- -- ttrraaccee Toggle packet tracing. -- -- ttyyppee [_t_y_p_e_-_n_a_m_e] -- Set the file transfer ttyyppee to _t_y_p_e_-_n_a_m_e. If no type is spec- -- ified, the current type is printed. The default type is net- -- work ASCII. -- -- uummaasskk [_n_e_w_m_a_s_k] -- Set the default umask on the remote server to _n_e_w_m_a_s_k. If -- _n_e_w_m_a_s_k is omitted, the current umask is printed. -- -- uunnsseett _o_p_t_i_o_n -- Unset _o_p_t_i_o_n. Refer to sseett for more information. -- -- uussaaggee _c_o_m_m_a_n_d -- Print the usage message for _c_o_m_m_a_n_d. -- -- uusseerr _u_s_e_r_-_n_a_m_e [_p_a_s_s_w_o_r_d [_a_c_c_o_u_n_t]] -- Identify yourself to the remote FTP server. If the _p_a_s_s_w_o_r_d -- is not specified and the server requires it, ffttpp will prompt -- the user for it (after disabling local echo). If an _a_c_c_o_u_n_t -- field is not specified, and the FTP server requires it, the -- user will be prompted for it. If an _a_c_c_o_u_n_t field is speci- -- fied, an account command will be relayed to the remote server -- after the login sequence is completed if the remote server -- did not require it for logging in. Unless ffttpp is invoked -- with ``auto-login'' disabled, this process is done automati- -- cally on initial connection to the FTP server. -- -- vveerrbboossee Toggle verbose mode. In verbose mode, all responses from the -- FTP server are displayed to the user. In addition, if ver- -- bose is on, when a file transfer completes, statistics re- -- garding the efficiency of the transfer are reported. By de- -- fault, verbose is on. -- -- xxffeerrbbuuff _s_i_z_e -- Set the size of the socket send and receive buffers to _s_i_z_e. -- -- ?? [_c_o_m_m_a_n_d] -- A synonym for hheellpp. -- -- Command arguments which have embedded spaces may be quoted with quote `"' -- marks. -- -- Commands which toggle settings can take an explicit oonn or ooffff argument to -- force the setting appropriately. -- -- Commands which take a byte count as an argument (e.g., hhaasshh, rraattee, and -- xxffeerrbbuuff) support an optional suffix on the argument which changes the in- -- terpretation of the argument. Supported suffixes are: -- b Causes no modification. (Optional) -- k Kilo; multiply the argument by 1024 -- m Mega; multiply the argument by 1048576 -- g Giga; multiply the argument by 1073741824 -- -- If ffttpp receives a SIGINFO (see the ``status'' argument of stty(1)) or -- SIGQUIT signal whilst a transfer is in progress, the current transfer -- rate statistics will be written to the standard error output, in the same -- format as the standard completion message. -- --AAUUTTOO--FFEETTCCHHIINNGG FFIILLEESS -- In addition to standard commands, this version of ffttpp supports an auto- -- fetch feature. To enable auto-fetch, simply pass the list of host- -- names/files on the command line. -- -- The following formats are valid syntax for an auto-fetch element: -- -- [user@]host:[path][/] -- ``Classic'' FTP format. -- -- If _p_a_t_h contains a glob character and globbing is enabled, (see -- gglloobb), then the equivalent of `mget path' is performed. -- -- If the directory component of _p_a_t_h contains no globbing characters, -- it is stored locally with the name basename (see basename(1)) of -- ppaatthh, in the current directory. Otherwise, the full remote name is -- used as the local name, relative to the local root directory. -- -- ftp://[user[:password]@]host[:port]/path[/][;type=X] -- An FTP URL, retrieved using the FTP protocol if sseett ffttpp__pprrooxxyy isn't -- defined. Otherwise, transfer the URL using HTTP via the proxy de- -- fined in sseett ffttpp__pprrooxxyy. If sseett ffttpp__pprrooxxyy isn't defined and _u_s_e_r is -- given, login as _u_s_e_r. In this case, use _p_a_s_s_w_o_r_d if supplied, oth- -- erwise prompt the user for one. -- -- In order to be compliant with RRFFCC 11773388, ffttpp strips the leading `/' -- from _p_a_t_h, resulting in a transfer relative from the default login -- directory of the user. If the _/ directory is required, use a lead- -- ing path of ``%2F''. If a user's home directory is required (and -- the remote server supports the syntax), use a leading path of -- ``%7Euser/''. For example, to retrieve _/_e_t_c_/_m_o_t_d from `localhost' -- as the user `myname' with the password `mypass', use -- ``ftp://myname:mypass@localhost/%2fetc/motd'' -- -- If a suffix of `;type=A' or `;type=I' is supplied, then the trans- -- fer type will take place as ascii or binary (respectively). The -- default transfer type is binary. -- -- http://[user[:password]@]host[:port]/path -- An HTTP URL, retrieved using the HTTP protocol. If sseett hhttttpp__pprrooxxyy -- is defined, it is used as a URL to an HTTP proxy server. If HTTP -- authorisation is required to retrieve _p_a_t_h, and `user' (and option- -- ally `password') is in the URL, use them for the first attempt to -- authenticate. -- -- file:///path -- A local URL, copied from _/_p_a_t_h. -- -- Unless noted otherwise above, and --oo _o_u_t_p_u_t is not given, the file is -- stored in the current directory as the basename(1) of _p_a_t_h. -- -- If a classic format or an FTP URL format has a trailing `/' or an empty -- _p_a_t_h component, then ffttpp will connect to the site and ccdd to the directory -- given as the path, and leave the user in interactive mode ready for fur- -- ther input. This will not work if sseett ffttpp__pprrooxxyy is being used. -- -- Direct HTTP transfers use HTTP 1.1. Proxied FTP and HTTP transfers use -- HTTP 1.0. -- -- If --RR is given, all auto-fetches that don't go via the FTP or HTTP prox- -- ies will be restarted. For FTP, this is implemented by using rreeggeett in- -- stead of ggeett. For HTTP, this is implemented by using the `Range: bytes=' -- HTTP/1.1 directive. -- -- If WWW or proxy WWW authentication is required, you will be prompted to -- enter a username and password to authenticate with. -- -- When specifying IPv6 numeric addresses in a URL, you need to surround the -- address in square brackets. E.g.: ``ftp://[::1]:21/''. This is because -- colons are used in IPv6 numeric address as well as being the separator -- for the port number. -- --AABBOORRTTIINNGG AA FFIILLEE TTRRAANNSSFFEERR -- To abort a file transfer, use the terminal interrupt key (usually Ctrl- -- C). Sending transfers will be immediately halted. Receiving transfers -- will be halted by sending an FTP protocol ABOR command to the remote -- server, and discarding any further data received. The speed at which -- this is accomplished depends upon the remote server's support for ABOR -- processing. If the remote server does not support the ABOR command, the -- prompt will not appear until the remote server has completed sending the -- requested file. -- -- If the terminal interrupt key sequence is used whilst ffttpp is awaiting a -- reply from the remote server for the ABOR processing, then the connection -- will be closed. This is different from the traditional behaviour (which -- ignores the terminal interrupt during this phase), but is considered more -- useful. -- --FFIILLEE NNAAMMIINNGG CCOONNVVEENNTTIIOONNSS -- Files specified as arguments to ffttpp commands are processed according to -- the following rules. -- -- 1. If the file name `--' is specified, the _s_t_d_i_n (for reading) or _s_t_d_o_u_t -- (for writing) is used. -- -- 2. If the first character of the file name is `|', the remainder of the -- argument is interpreted as a shell command. ffttpp then forks a shell, -- using popen(3) with the argument supplied, and reads (writes) from -- the stdout (stdin). If the shell command includes spaces, the argu- -- ment must be quoted; e.g. ``"| ls -lt"''. A particularly useful -- example of this mechanism is: ``dir "" |more''. -- -- 3. Failing the above checks, if ``globbing'' is enabled, local file -- names are expanded according to the rules used in the csh(1); c.f. -- the gglloobb command. If the ffttpp command expects a single local file -- (e.g. ppuutt), only the first filename generated by the "globbing" op- -- eration is used. -- -- 4. For mmggeett commands and ggeett commands with unspecified local file -- names, the local filename is the remote filename, which may be al- -- tered by a ccaassee, nnttrraannss, or nnmmaapp setting. The resulting filename -- may then be altered if rruunniiqquuee is on. -- -- 5. For mmppuutt commands and ppuutt commands with unspecified remote file -- names, the remote filename is the local filename, which may be al- -- tered by a nnttrraannss or nnmmaapp setting. The resulting filename may then -- be altered by the remote server if ssuunniiqquuee is on. -- --FFIILLEE TTRRAANNSSFFEERR PPAARRAAMMEETTEERRSS -- The FTP specification specifies many parameters which may affect a file -- transfer. The ttyyppee may be one of ``ascii'', ``image'' (binary), -- ``ebcdic'', and ``local byte size'' (for PDP-10's and PDP-20's mostly). -- ffttpp supports the ascii and image types of file transfer, plus local byte -- size 8 for tteenneexx mode transfers. -- -- ffttpp supports only the default values for the remaining file transfer pa- -- rameters: mmooddee, ffoorrmm, and ssttrruucctt. -- --TTHHEE ..nneettrrcc FFIILLEE -- The _._n_e_t_r_c file contains login and initialization information used by the -- auto-login process. It resides in the user's home directory, unless -- overridden with the --NN _n_e_t_r_c option, or specified in the NETRC environ- -- ment variable. The following tokens are recognized; they may be separat- -- ed by spaces, tabs, or new-lines: -- -- mmaacchhiinnee _n_a_m_e -- Identify a remote machine _n_a_m_e. The auto-login process search- -- es the _._n_e_t_r_c file for a mmaacchhiinnee token that matches the remote -- machine specified on the ffttpp command line or as an ooppeenn command -- argument. Once a match is made, the subsequent _._n_e_t_r_c tokens -- are processed, stopping when the end of file is reached or an- -- other mmaacchhiinnee or a ddeeffaauulltt token is encountered. -- -- ddeeffaauulltt This is the same as mmaacchhiinnee _n_a_m_e except that ddeeffaauulltt matches -- any name. There can be only one ddeeffaauulltt token, and it must be -- after all mmaacchhiinnee tokens. This is normally used as: -- -- default login anonymous password user@site -- -- thereby giving the user an automatic anonymous FTP login to ma- -- chines not specified in _._n_e_t_r_c. This can be overridden by us- -- ing the --nn flag to disable auto-login. -- -- llooggiinn _n_a_m_e -- Identify a user on the remote machine. If this token is pre- -- sent, the auto-login process will initiate a login using the -- specified _n_a_m_e. -- -- ppaasssswwoorrdd _s_t_r_i_n_g -- Supply a password. If this token is present, the auto-login -- process will supply the specified string if the remote server -- requires a password as part of the login process. Note that if -- this token is present in the _._n_e_t_r_c file for any user other -- than _a_n_o_n_y_m_o_u_s, ffttpp will abort the auto-login process if the -- _._n_e_t_r_c is readable by anyone besides the user. -- -- aaccccoouunntt _s_t_r_i_n_g -- Supply an additional account password. If this token is pre- -- sent, the auto-login process will supply the specified string -- if the remote server requires an additional account password, -- or the auto-login process will initiate an ACCT command if it -- does not. -- -- mmaaccddeeff _n_a_m_e -- Define a macro. This token functions like the ffttpp mmaaccddeeff com- -- mand functions. A macro is defined with the specified name; -- its contents begin with the next _._n_e_t_r_c line and continue until -- a blank line (consecutive new-line characters) is encountered. -- If a macro named iinniitt is defined, it is automatically executed -- as the last step in the auto-login process. -- --CCOOMMMMAANNDD LLIINNEE EEDDIITTIINNGG -- ffttpp supports interactive command line editing, via the editline(3) li- -- brary. It is enabled with the eeddiitt command, and is enabled by default if -- input is from a tty. Previous lines can be recalled and edited with the -- arrow keys, and other GNU Emacs-style editing keys may be used as well. -- -- The editline(3) library is configured with a _._e_d_i_t_r_c file - refer to -- editrc(5) for more information. -- -- An extra key binding is available to ffttpp to provide context sensitive -- command and filename completion (including remote file completion). To -- use this, bind a key to the editline(3) command ffttpp--ccoommpplleettee. By de- -- fault, this is bound to the TAB key. -- --CCOOMMMMAANNDD LLIINNEE PPRROOMMPPTT -- By default, ffttpp displays a command line prompt of ``ftp>'' to the user. -- This can be changed with the sseett pprroommpptt command. -- -- A prompt can be displayed on the right side of the screen (after the com- -- mand input) with the sseett rrpprroommpptt command. -- -- The following formatting sequences are replaced by the given information: -- -- %/ The current remote working directory. -- -- %c[[0]_n], %.[[0]_n] -- The trailing component of the current remote working directo- -- ry, or _n trailing components if a digit _n is given. If _n be- -- gins with `0', the number of skipped components precede the -- trailing component(s) in the format ``/_<_s_k_i_p_p_e_d_>trailing'' -- (for `%c') or ``...trailing'' (for `%.'). -- -- %M The remote host name. -- -- %m The remote host name, up to the first `.'. -- -- %n The remote user name. -- -- %% A single `%'. -- --EENNVVIIRROONNMMEENNTT -- ffttpp uses the following environment variables. -- -- FTPANONPASS Password to send in an anonymous FTP transfer. Defaults -- to ```whoami`@''. -- -- FTPMODE Overrides the default operation mode. Support values are: -- -- active active mode FTP only -- -- auto automatic determination of passive or active -- (this is the default) -- -- gate gate-ftp mode -- -- passive passive mode FTP only -- -- FTPPROMPT Command-line prompt to use. Defaults to ``ftp>''. Refer -- to _C_O_M_M_A_N_D _L_I_N_E _P_R_O_M_P_T for more information. -- -- FTPRPROMPT Command-line right side prompt to use. Defaults to ``''. -- Refer to _C_O_M_M_A_N_D _L_I_N_E _P_R_O_M_P_T for more information. -- -- FTPSERVER Host to use as gate-ftp server when ggaattee is enabled. -- -- FTPSERVERPORT Port to use when connecting to gate-ftp server when ggaattee -- is enabled. Default is port returned by a ggeettsseerrvvbbyynnaammee() -- lookup of ``ftpgate/tcp''. -- -- HOME For default location of a _._n_e_t_r_c file, if one exists. -- -- NETRC An alternate location of the _._n_e_t_r_c file. -- -- PAGER Used by various commands to display files. Defaults to -- more(1) if empty or not set. -- -- SHELL For default shell. -- -- ftp_proxy URL of FTP proxy to use when making FTP URL requests (if -- not defined, use the standard FTP protocol). -- -- _N_O_T_E: this is not used for interactive sessions, only for -- command-line fetches. -- -- http_proxy URL of HTTP proxy to use when making HTTP URL requests. -- If proxy authentication is required and there is a user- -- name and password in this URL, they will automatically be -- used in the first attempt to authenticate to the proxy. -- -- Note that the use of a username and password in ftp_proxy -- and http_proxy may be incompatible with other programs -- that use it (such as lynx(1)). -- -- _N_O_T_E: this is not used for interactive sessions, only for -- command-line fetches. -- -- no_proxy A space or comma separated list of hosts (or domains) for -- which proxying is not to be used. Each entry may have an -- optional trailing ":port", which restricts the matching to -- connections to that port. -- --SSEEEE AALLSSOO -- getservbyname(3), editrc(5), services(5), ftpd(8) -- --SSTTAANNDDAARRDDSS -- ffttpp attempts to be compliant with RRFFCC 995599, RRFFCC 11112233, RRFFCC 11773388, RRFFCC 22006688, -- RRFFCC 22338899, RRFFCC 22442288, RRFFCC 22773322, and ddrraafftt--iieettff--ffttppeexxtt--mmllsstt--1111. -- --HHIISSTTOORRYY -- The ffttpp command appeared in 4.2BSD. -- -- Various features such as command line editing, context sensitive command -- and file completion, dynamic progress bar, automatic fetching of files -- and URLs, modification time preservation, transfer rate throttling, con- -- figurable command line prompt, and other enhancements over the standard -- BSD ffttpp were implemented in NetBSD 1.3 and later releases by Luke Mewburn -- <lukem@netbsd.org>. -- -- IPv6 support was added by the WIDE/KAME project (but may not be present -- in all non-NetBSD versions of this program, depending if the operating -- system supports IPv6 in a similar manner to KAME). -- --BBUUGGSS -- Correct execution of many commands depends upon proper behavior by the -- remote server. -- -- An error in the treatment of carriage returns in the 4.2BSD ascii-mode -- transfer code has been corrected. This correction may result in incor- -- rect transfers of binary files to and from 4.2BSD servers using the ascii -- type. Avoid this problem by using the binary image type. -- -- ffttpp assumes that all IPv4 mapped addresses (IPv6 addresses with a form -- like ::ffff:10.1.1.1) indicate IPv4 destinations which can be handled by -- AF_INET sockets. However, in certain IPv6 network configurations, this -- assumption is not true. In such an environment, IPv4 mapped addresses -- must be passed to AF_INET6 sockets directly. For example, if your site -- uses a SIIT translator for IPv6-to-IPv4 translation, ffttpp is unable to -- support your configuration. -- --NetBSD 1.6_BETA1 May 18, 2002 16 -diff -Nru src/ftp_var.h /home/spock/ftp/ftp_var.h ---- src/ftp_var.h Sat Jun 15 05:40:36 2002 -+++ /home/spock/ftp/ftp_var.h Thu Jun 12 02:02:11 2003 -@@ -1,7 +1,7 @@ --/* $NetBSD: ftp_var.h,v 1.62 2001/12/26 09:40:16 lukem Exp $ */ -+/* $NetBSD: ftp_var.h,v 1.64 2003/01/21 16:08:07 jhawk Exp $ */ - - /*- -- * Copyright (c) 1996-2001 The NetBSD Foundation, Inc. -+ * Copyright (c) 1996-2003 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation -@@ -111,14 +111,20 @@ - #define NO_PROGRESS - #endif - -+#include <sys/param.h> -+ -+#include <netinet/in.h> -+#include <arpa/inet.h> -+ -+#include <setjmp.h> -+#include <stringlist.h> -+ - #ifndef NO_EDITCOMPLETE - #include <histedit.h> - #endif /* !NO_EDITCOMPLETE */ - --typedef void (*sigfunc)(int); -- - #include "extern.h" -- -+#include "progressbar.h" - - /* - * Format of command table. -@@ -175,7 +181,6 @@ - - #define HASHBYTES 1024 /* default mark for `hash' command */ - #define DEFAULTINCR 1024 /* default increment for `rate' command */ --#define STALLTIME 5 /* # of seconds of no xfer before "stalling" */ - - #define FTP_PORT 21 /* default if ! getservbyname("ftp/tcp") */ - #define HTTP_PORT 80 /* default if ! getservbyname("http/tcp") */ -@@ -204,9 +209,7 @@ - GLOBAL int hash; /* print # for each buffer transferred */ - GLOBAL int mark; /* number of bytes between hashes */ - GLOBAL int sendport; /* use PORT/LPRT cmd for each data connection */ --GLOBAL int verbose; /* print messages coming back from server */ - GLOBAL int connected; /* 1 = connected to server, -1 = logged in */ --GLOBAL int fromatty; /* input is from a terminal */ - GLOBAL int interactive; /* interactively prompt on m* cmds */ - GLOBAL int confirmrest; /* confirm rest of current m* cmd */ - GLOBAL int debug; /* debugging level */ -@@ -223,7 +226,6 @@ - GLOBAL int ntflag; /* use ntin ntout tables for name translation */ - GLOBAL int mapflag; /* use mapin mapout templates on file names */ - GLOBAL int preserve; /* preserve modification time on files */ --GLOBAL int progress; /* display transfer progress bar */ - GLOBAL int code; /* return/reply code for ftp command */ - GLOBAL int crflag; /* if 1, strip car. rets. on ascii gets */ - GLOBAL int passivemode; /* passive mode enabled */ -@@ -252,9 +254,7 @@ - GLOBAL int rate_put; /* maximum put xfer rate */ - GLOBAL int rate_put_incr; /* increment for put xfer rate */ - GLOBAL int retry_connect; /* seconds between retrying connection */ --GLOBAL int ttywidth; /* width of tty */ - GLOBAL char *tmpdir; /* temporary directory */ --GLOBAL FILE *ttyout; /* stdout, or stderr if retrieving to stdout */ - GLOBAL int epsv4; /* use EPSV/EPRT on IPv4 connections */ - GLOBAL int epsv4bad; /* EPSV doesn't work on the current server */ - GLOBAL int editing; /* command line editing enabled */ -@@ -268,10 +268,7 @@ - GLOBAL size_t cursor_argo; /* offset of cursor in margv[cursor_argc] */ - #endif /* !NO_EDITCOMPLETE */ - --GLOBAL off_t bytes; /* current # of bytes read */ --GLOBAL off_t filesize; /* size of file being transferred */ - GLOBAL char *direction; /* direction transfer is occurring */ --GLOBAL off_t restart_point; /* offset to restart transfer */ - - GLOBAL char *hostname; /* name of host connected to */ - GLOBAL int unix_server; /* server is unix, can use binary for ascii */ -@@ -287,8 +284,6 @@ - GLOBAL char *outfile; /* filename to output URLs to */ - GLOBAL int restartautofetch; /* restart auto-fetch */ - --GLOBAL sigjmp_buf toplevel; /* non-local goto stuff for cmd scanner */ -- - GLOBAL char line[FTPBUFLEN]; /* input line buffer */ - GLOBAL char *stringbase; /* current scan point in line buffer */ - GLOBAL char argbuf[FTPBUFLEN]; /* argument storage buffer */ -@@ -336,29 +331,7 @@ - #endif - - #ifdef NO_LONG_LONG --# define LLF "%ld" --# define LLFP(x) "%" x "ld" --# define LLT long --# define ULLF "%lu" --# define ULLFP(x) "%" x "lu" --# define ULLT unsigned long - # define STRTOLL(x,y,z) strtol(x,y,z) - #else --#if HAVE_PRINTF_QD --# define LLF "%qd" --# define LLFP(x) "%" x "qd" --# define LLT long long --# define ULLF "%qu" --# define ULLFP(x) "%" x "qu" --# define ULLT unsigned long long --# define STRTOLL(x,y,z) strtoll(x,y,z) --#else --# define LLF "%lld" --# define LLFP(x) "%" x "lld" --# define LLT long long --# define ULLF "%llu" --# define ULLFP(x) "%" x "llu" --# define ULLT unsigned long long - # define STRTOLL(x,y,z) strtoll(x,y,z) --#endif - #endif -diff -Nru src/main.c /home/spock/ftp/main.c ---- src/main.c Sat Jun 15 05:40:36 2002 -+++ /home/spock/ftp/main.c Thu Jun 12 02:02:11 2003 -@@ -1,4 +1,4 @@ --/* $NetBSD: main.c,v 1.82 2002/06/05 13:51:54 lukem Exp $ */ -+/* $NetBSD: main.c,v 1.84 2003/05/14 14:31:00 wiz Exp $ */ - - /*- - * Copyright (c) 1996-2002 The NetBSD Foundation, Inc. -@@ -98,11 +98,36 @@ - * SUCH DAMAGE. - */ - -+#include <sys/cdefs.h> -+#ifndef lint -+__COPYRIGHT("@(#) Copyright (c) 1985, 1989, 1993, 1994\n\ -+ The Regents of the University of California. All rights reserved.\n"); -+#endif /* not lint */ -+ -+#ifndef lint -+#if 0 -+static char sccsid[] = "@(#)main.c 8.6 (Berkeley) 10/9/94"; -+#else -+__RCSID("$NetBSD: main.c,v 1.84 2003/05/14 14:31:00 wiz Exp $"); -+#endif -+#endif /* not lint */ -+ - /* - * FTP User Program -- Command Interface. - */ -+#include <sys/types.h> -+#include <sys/socket.h> - --#include "lukemftp.h" -+#include <err.h> -+#include <errno.h> -+#include <netdb.h> -+#include <paths.h> -+#include <pwd.h> -+#include <stdio.h> -+#include <stdlib.h> -+#include <string.h> -+#include <unistd.h> -+#include <locale.h> - - #define GLOBAL /* force GLOBAL decls in ftp_var.h to be declared */ - #include "ftp_var.h" -@@ -123,9 +148,7 @@ - char *cp, *ep, *anonuser, *anonpass, *upload_path; - int dumbterm, s, len, isupload; - --#if 0 /* XXX */ - setlocale(LC_ALL, ""); --#endif - setprogname(argv[0]); - - ftpport = "ftp"; -@@ -258,7 +281,7 @@ - } - } - -- while ((ch = getopt(argc, argv, "46AadefginN:o:pP:r:RtT:u:vV")) != -1) { -+ while ((ch = getopt(argc, argv, "46AadefginN:o:pP:q:r:RtT:u:vV")) != -1) { - switch (ch) { - case '4': - family = AF_INET; -@@ -330,6 +353,12 @@ - ftpport = optarg; - break; - -+ case 'q': -+ quit_time = strtol(optarg, &ep, 10); -+ if (quit_time < 1 || *ep != '\0') -+ errx(1, "bad quit value: %s", optarg); -+ break; -+ - case 'r': - retry_connect = strtol(optarg, &ep, 10); - if (retry_connect < 1 || *ep != '\0') -@@ -1003,6 +1032,6 @@ - " [-T dir,max[,inc][[user@]host [port]]] [host:path[/]]\n" - " [file:///file] [ftp://[user[:pass]@]host[:port]/path[/]]\n" - " [http://[user[:pass]@]host[:port]/path] [...]\n" --" %s -u url file [...]\n", progname, progname); -+" %s -u URL file [...]\n", progname, progname); - exit(1); - } -diff -Nru src/progressbar.c /home/spock/ftp/progressbar.c ---- src/progressbar.c Wed Dec 31 19:00:00 1969 -+++ /home/spock/ftp/progressbar.c Thu Jun 12 02:02:11 2003 -@@ -0,0 +1,460 @@ -+/* $NetBSD: progressbar.c,v 1.3 2003/02/28 09:53:49 lukem Exp $ */ -+ -+/*- -+ * Copyright (c) 1997-2003 The NetBSD Foundation, Inc. -+ * All rights reserved. -+ * -+ * This code is derived from software contributed to The NetBSD Foundation -+ * by Luke Mewburn. -+ * -+ * This code is derived from software contributed to The NetBSD Foundation -+ * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, -+ * NASA Ames Research Center. -+ * -+ * 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 the NetBSD -+ * Foundation, Inc. and its contributors. -+ * 4. Neither the name of The NetBSD Foundation nor the names of its -+ * contributors may be used to endorse or promote products derived -+ * from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS -+ * ``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 FOUNDATION OR CONTRIBUTORS -+ * 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. -+ */ -+ -+#include <sys/cdefs.h> -+#ifndef lint -+__RCSID("$NetBSD: progressbar.c,v 1.3 2003/02/28 09:53:49 lukem Exp $"); -+#endif /* not lint */ -+ -+/* -+ * FTP User Program -- Misc support routines -+ */ -+#include <sys/types.h> -+#include <sys/param.h> -+ -+#include <err.h> -+#include <errno.h> -+#include <signal.h> -+#include <stdio.h> -+#include <stdlib.h> -+#include <time.h> -+#include <tzfile.h> -+#include <unistd.h> -+ -+#include "progressbar.h" -+ -+#if !defined(NO_PROGRESS) -+/* -+ * return non-zero if we're the current foreground process -+ */ -+int -+foregroundproc(void) -+{ -+ static pid_t pgrp = -1; -+ -+ if (pgrp == -1) -+ pgrp = getpgrp(); -+ -+ return (tcgetpgrp(fileno(ttyout)) == pgrp); -+} -+#endif /* !defined(NO_PROGRESS) */ -+ -+ -+#ifndef NO_PROGRESS -+static void updateprogressmeter(int); -+ -+/* -+ * SIGALRM handler to update the progress meter -+ */ -+static void -+updateprogressmeter(int dummy) -+{ -+ int oerrno = errno; -+ -+ progressmeter(0); -+ errno = oerrno; -+} -+#endif /* NO_PROGRESS */ -+ -+ -+/* -+ * List of order of magnitude prefixes. -+ * The last is `P', as 2^64 = 16384 Petabytes -+ */ -+static const char prefixes[] = " KMGTP"; -+ -+/* -+ * Display a transfer progress bar if progress is non-zero. -+ * SIGALRM is hijacked for use by this function. -+ * - Before the transfer, set filesize to size of file (or -1 if unknown), -+ * and call with flag = -1. This starts the once per second timer, -+ * and a call to updateprogressmeter() upon SIGALRM. -+ * - During the transfer, updateprogressmeter will call progressmeter -+ * with flag = 0 -+ * - After the transfer, call with flag = 1 -+ */ -+static struct timeval start; -+static struct timeval lastupdate; -+ -+#define BUFLEFT (sizeof(buf) - len) -+ -+void -+progressmeter(int flag) -+{ -+ static off_t lastsize; -+ off_t cursize; -+ struct timeval now, wait; -+#ifndef NO_PROGRESS -+ struct timeval td; -+ off_t abbrevsize, bytespersec; -+ double elapsed; -+ int ratio, barlength, i, len, remaining; -+ -+ /* -+ * Work variables for progress bar. -+ * -+ * XXX: if the format of the progress bar changes -+ * (especially the number of characters in the -+ * `static' portion of it), be sure to update -+ * these appropriately. -+ */ -+ char buf[256]; /* workspace for progress bar */ -+#define BAROVERHEAD 43 /* non `*' portion of progress bar */ -+ /* -+ * stars should contain at least -+ * sizeof(buf) - BAROVERHEAD entries -+ */ -+ static const char stars[] = -+"*****************************************************************************" -+"*****************************************************************************" -+"*****************************************************************************"; -+ -+#endif -+ -+ if (flag == -1) { -+ (void)gettimeofday(&start, NULL); -+ lastupdate = start; -+ lastsize = restart_point; -+ } -+ -+ (void)gettimeofday(&now, NULL); -+ cursize = bytes + restart_point; -+ timersub(&now, &lastupdate, &wait); -+ if (cursize > lastsize) { -+ lastupdate = now; -+ lastsize = cursize; -+ wait.tv_sec = 0; -+ } else { -+#ifndef STANDALONE_PROGRESS -+ if (quit_time > 0 && wait.tv_sec > quit_time) { -+ len = snprintf(buf, sizeof(buf), "\r\n%s: " -+ "transfer aborted because stalled for %lu sec.\r\n", -+ getprogname(), (unsigned long)wait.tv_sec); -+ (void)write(fileno(ttyout), buf, len); -+ (void)xsignal(SIGALRM, SIG_DFL); -+ alarmtimer(0); -+ siglongjmp(toplevel, 1); -+ } -+#endif /* !STANDALONE_PROGRESS */ -+ } -+ /* -+ * Always set the handler even if we are not the foreground process. -+ */ -+#ifdef STANDALONE_PROGRESS -+ if (progress) { -+#else -+ if (quit_time > 0 || progress) { -+#endif /* !STANDALONE_PROGRESS */ -+ if (flag == -1) { -+ (void)xsignal_restart(SIGALRM, updateprogressmeter, 1); -+ alarmtimer(1); /* set alarm timer for 1 Hz */ -+ } else if (flag == 1) { -+ (void)xsignal(SIGALRM, SIG_DFL); -+ alarmtimer(0); -+ } -+ } -+#ifndef NO_PROGRESS -+ if (!progress) -+ return; -+ len = 0; -+ -+ /* -+ * print progress bar only if we are foreground process. -+ */ -+ if (! foregroundproc()) -+ return; -+ -+ len += snprintf(buf + len, BUFLEFT, "\r"); -+ if (filesize > 0) { -+ ratio = (int)((double)cursize * 100.0 / (double)filesize); -+ ratio = MAX(ratio, 0); -+ ratio = MIN(ratio, 100); -+ len += snprintf(buf + len, BUFLEFT, "%3d%% ", ratio); -+ -+ /* -+ * calculate the length of the `*' bar, ensuring that -+ * the number of stars won't exceed the buffer size -+ */ -+ barlength = MIN(sizeof(buf) - 1, ttywidth) - BAROVERHEAD; -+ if (barlength > 0) { -+ i = barlength * ratio / 100; -+ len += snprintf(buf + len, BUFLEFT, -+ "|%.*s%*s|", i, stars, barlength - i, ""); -+ } -+ } -+ -+ abbrevsize = cursize; -+ for (i = 0; abbrevsize >= 100000 && i < sizeof(prefixes); i++) -+ abbrevsize >>= 10; -+ len += snprintf(buf + len, BUFLEFT, " " LLFP("5") " %c%c ", -+ (LLT)abbrevsize, -+ prefixes[i], -+ i == 0 ? ' ' : 'B'); -+ -+ timersub(&now, &start, &td); -+ elapsed = td.tv_sec + (td.tv_usec / 1000000.0); -+ -+ bytespersec = 0; -+ if (bytes > 0) { -+ bytespersec = bytes; -+ if (elapsed > 0.0) -+ bytespersec /= elapsed; -+ } -+ for (i = 1; bytespersec >= 1024000 && i < sizeof(prefixes); i++) -+ bytespersec >>= 10; -+ len += snprintf(buf + len, BUFLEFT, -+ " " LLFP("3") ".%02d %cB/s ", -+ (LLT)(bytespersec / 1024), -+ (int)((bytespersec % 1024) * 100 / 1024), -+ prefixes[i]); -+ -+ if (filesize > 0) { -+ if (bytes <= 0 || elapsed <= 0.0 || cursize > filesize) { -+ len += snprintf(buf + len, BUFLEFT, " --:-- ETA"); -+ } else if (wait.tv_sec >= STALLTIME) { -+ len += snprintf(buf + len, BUFLEFT, " - stalled -"); -+ } else { -+ remaining = (int) -+ ((filesize - restart_point) / (bytes / elapsed) - -+ elapsed); -+ if (remaining >= 100 * SECSPERHOUR) -+ len += snprintf(buf + len, BUFLEFT, -+ " --:-- ETA"); -+ else { -+ i = remaining / SECSPERHOUR; -+ if (i) -+ len += snprintf(buf + len, BUFLEFT, -+ "%2d:", i); -+ else -+ len += snprintf(buf + len, BUFLEFT, -+ " "); -+ i = remaining % SECSPERHOUR; -+ len += snprintf(buf + len, BUFLEFT, -+ "%02d:%02d ETA", i / 60, i % 60); -+ } -+ } -+ } -+ if (flag == 1) -+ len += snprintf(buf + len, BUFLEFT, "\n"); -+ (void)write(fileno(ttyout), buf, len); -+ -+#endif /* !NO_PROGRESS */ -+} -+ -+#ifndef STANDALONE_PROGRESS -+/* -+ * Display transfer statistics. -+ * Requires start to be initialised by progressmeter(-1), -+ * direction to be defined by xfer routines, and filesize and bytes -+ * to be updated by xfer routines -+ * If siginfo is nonzero, an ETA is displayed, and the output goes to stderr -+ * instead of ttyout. -+ */ -+void -+ptransfer(int siginfo) -+{ -+ struct timeval now, td, wait; -+ double elapsed; -+ off_t bytespersec; -+ int remaining, hh, i, len; -+ -+ char buf[256]; /* Work variable for transfer status. */ -+ -+ if (!verbose && !progress && !siginfo) -+ return; -+ -+ (void)gettimeofday(&now, NULL); -+ timersub(&now, &start, &td); -+ elapsed = td.tv_sec + (td.tv_usec / 1000000.0); -+ bytespersec = 0; -+ if (bytes > 0) { -+ bytespersec = bytes; -+ if (elapsed > 0.0) -+ bytespersec /= elapsed; -+ } -+ len = 0; -+ len += snprintf(buf + len, BUFLEFT, LLF " byte%s %s in ", -+ (LLT)bytes, bytes == 1 ? "" : "s", direction); -+ remaining = (int)elapsed; -+ if (remaining > SECSPERDAY) { -+ int days; -+ -+ days = remaining / SECSPERDAY; -+ remaining %= SECSPERDAY; -+ len += snprintf(buf + len, BUFLEFT, -+ "%d day%s ", days, days == 1 ? "" : "s"); -+ } -+ hh = remaining / SECSPERHOUR; -+ remaining %= SECSPERHOUR; -+ if (hh) -+ len += snprintf(buf + len, BUFLEFT, "%2d:", hh); -+ len += snprintf(buf + len, BUFLEFT, -+ "%02d:%02d ", remaining / 60, remaining % 60); -+ -+ for (i = 1; bytespersec >= 1024000 && i < sizeof(prefixes); i++) -+ bytespersec >>= 10; -+ len += snprintf(buf + len, BUFLEFT, "(" LLF ".%02d %cB/s)", -+ (LLT)(bytespersec / 1024), -+ (int)((bytespersec % 1024) * 100 / 1024), -+ prefixes[i]); -+ -+ if (siginfo && bytes > 0 && elapsed > 0.0 && filesize >= 0 -+ && bytes + restart_point <= filesize) { -+ remaining = (int)((filesize - restart_point) / -+ (bytes / elapsed) - elapsed); -+ hh = remaining / SECSPERHOUR; -+ remaining %= SECSPERHOUR; -+ len += snprintf(buf + len, BUFLEFT, " ETA: "); -+ if (hh) -+ len += snprintf(buf + len, BUFLEFT, "%2d:", hh); -+ len += snprintf(buf + len, BUFLEFT, "%02d:%02d", -+ remaining / 60, remaining % 60); -+ timersub(&now, &lastupdate, &wait); -+ if (wait.tv_sec >= STALLTIME) -+ len += snprintf(buf + len, BUFLEFT, " (stalled)"); -+ } -+ len += snprintf(buf + len, BUFLEFT, "\n"); -+ (void)write(siginfo ? STDERR_FILENO : fileno(ttyout), buf, len); -+} -+ -+/* -+ * SIG{INFO,QUIT} handler to print transfer stats if a transfer is in progress -+ */ -+void -+psummary(int notused) -+{ -+ int oerrno = errno; -+ -+ if (bytes > 0) { -+ if (fromatty) -+ write(fileno(ttyout), "\n", 1); -+ ptransfer(1); -+ } -+ errno = oerrno; -+} -+#endif /* !STANDALONE_PROGRESS */ -+ -+ -+/* -+ * Set the SIGALRM interval timer for wait seconds, 0 to disable. -+ */ -+void -+alarmtimer(int wait) -+{ -+ struct itimerval itv; -+ -+ itv.it_value.tv_sec = wait; -+ itv.it_value.tv_usec = 0; -+ itv.it_interval = itv.it_value; -+ setitimer(ITIMER_REAL, &itv, NULL); -+} -+ -+ -+/* -+ * Install a POSIX signal handler, allowing the invoker to set whether -+ * the signal should be restartable or not -+ */ -+sigfunc -+xsignal_restart(int sig, sigfunc func, int restartable) -+{ -+ struct sigaction act, oact; -+ act.sa_handler = func; -+ -+ sigemptyset(&act.sa_mask); -+#if defined(SA_RESTART) /* 4.4BSD, Posix(?), SVR4 */ -+ act.sa_flags = restartable ? SA_RESTART : 0; -+#elif defined(SA_INTERRUPT) /* SunOS 4.x */ -+ act.sa_flags = restartable ? 0 : SA_INTERRUPT; -+#else -+#error "system must have SA_RESTART or SA_INTERRUPT" -+#endif -+ if (sigaction(sig, &act, &oact) < 0) -+ return (SIG_ERR); -+ return (oact.sa_handler); -+} -+ -+/* -+ * Install a signal handler with the `restartable' flag set dependent upon -+ * which signal is being set. (This is a wrapper to xsignal_restart()) -+ */ -+sigfunc -+xsignal(int sig, sigfunc func) -+{ -+ int restartable; -+ -+ /* -+ * Some signals print output or change the state of the process. -+ * There should be restartable, so that reads and writes are -+ * not affected. Some signals should cause program flow to change; -+ * these signals should not be restartable, so that the system call -+ * will return with EINTR, and the program will go do something -+ * different. If the signal handler calls longjmp() or siglongjmp(), -+ * it doesn't matter if it's restartable. -+ */ -+ -+ switch(sig) { -+#ifdef SIGINFO -+ case SIGINFO: -+#endif -+ case SIGQUIT: -+ case SIGUSR1: -+ case SIGUSR2: -+ case SIGWINCH: -+ restartable = 1; -+ break; -+ -+ case SIGALRM: -+ case SIGINT: -+ case SIGPIPE: -+ restartable = 0; -+ break; -+ -+ default: -+ /* -+ * This is unpleasant, but I don't know what would be better. -+ * Right now, this "can't happen" -+ */ -+ errx(1, "xsignal_restart called with signal %d", sig); -+ } -+ -+ return(xsignal_restart(sig, func, restartable)); -+} -diff -Nru src/progressbar.h /home/spock/ftp/progressbar.h ---- src/progressbar.h Wed Dec 31 19:00:00 1969 -+++ /home/spock/ftp/progressbar.h Thu Jun 12 02:02:11 2003 -@@ -0,0 +1,99 @@ -+/* $NetBSD: progressbar.h,v 1.3 2003/02/28 09:53:49 lukem Exp $ */ -+ -+/*- -+ * Copyright (c) 1996-2003 The NetBSD Foundation, Inc. -+ * All rights reserved. -+ * -+ * This code is derived from software contributed to The NetBSD Foundation -+ * by Luke Mewburn. -+ * -+ * 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 the NetBSD -+ * Foundation, Inc. and its contributors. -+ * 4. Neither the name of The NetBSD Foundation nor the names of its -+ * contributors may be used to endorse or promote products derived -+ * from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS -+ * ``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 FOUNDATION OR CONTRIBUTORS -+ * 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. -+ */ -+ -+#ifndef STANDALONE_PROGRESS -+#include <setjmp.h> -+#endif /* !STANDALONE_PROGRESS */ -+ -+#ifndef GLOBAL -+#define GLOBAL extern -+#endif -+ -+ -+#define STALLTIME 5 /* # of seconds of no xfer before "stalling" */ -+ -+typedef void (*sigfunc)(int); -+ -+ -+GLOBAL FILE *ttyout; /* stdout, or stderr if retrieving to stdout */ -+ -+GLOBAL int progress; /* display transfer progress bar */ -+GLOBAL int ttywidth; /* width of tty */ -+ -+GLOBAL off_t bytes; /* current # of bytes read */ -+GLOBAL off_t filesize; /* size of file being transferred */ -+GLOBAL off_t restart_point; /* offset to restart transfer */ -+ -+ -+#ifndef STANDALONE_PROGRESS -+GLOBAL int fromatty; /* input is from a terminal */ -+GLOBAL int verbose; /* print messages coming back from server */ -+GLOBAL int quit_time; /* maximum time to wait if stalled */ -+ -+GLOBAL char *direction; /* direction transfer is occurring */ -+ -+GLOBAL sigjmp_buf toplevel; /* non-local goto stuff for cmd scanner */ -+#endif /* !STANDALONE_PROGRESS */ -+ -+int foregroundproc(void); -+void alarmtimer(int); -+void progressmeter(int); -+sigfunc xsignal(int, sigfunc); -+sigfunc xsignal_restart(int, sigfunc, int); -+ -+#ifndef STANDALONE_PROGRESS -+void psummary(int); -+void ptransfer(int); -+#endif /* !STANDALONE_PROGRESS */ -+ -+ -+#ifdef NO_LONG_LONG -+# define LLF "%ld" -+# define LLFP(x) "%" x "ld" -+# define LLT long -+# define ULLF "%lu" -+# define ULLFP(x) "%" x "lu" -+# define ULLT unsigned long -+#else -+# define LLF "%lld" -+# define LLFP(x) "%" x "lld" -+# define LLT long long -+# define ULLF "%llu" -+# define ULLFP(x) "%" x "llu" -+# define ULLT unsigned long long -+#endif -diff -Nru src/ruserpass.c /home/spock/ftp/ruserpass.c ---- src/ruserpass.c Sat Jun 15 05:40:36 2002 -+++ /home/spock/ftp/ruserpass.c Thu Jun 12 02:02:11 2003 -@@ -33,7 +33,26 @@ - * SUCH DAMAGE. - */ - --#include "lukemftp.h" -+#include <sys/cdefs.h> -+#ifndef lint -+#if 0 -+static char sccsid[] = "@(#)ruserpass.c 8.4 (Berkeley) 4/27/95"; -+#else -+__RCSID("$NetBSD: ruserpass.c,v 1.28 2000/11/15 00:11:04 lukem Exp $"); -+#endif -+#endif /* not lint */ -+ -+#include <sys/types.h> -+#include <sys/stat.h> -+ -+#include <ctype.h> -+#include <err.h> -+#include <errno.h> -+#include <netdb.h> -+#include <stdio.h> -+#include <stdlib.h> -+#include <string.h> -+#include <unistd.h> - - #include "ftp_var.h" - -diff -Nru src/util.c /home/spock/ftp/util.c ---- src/util.c Sat Jun 15 05:40:37 2002 -+++ /home/spock/ftp/util.c Thu Jun 12 02:02:11 2003 -@@ -1,7 +1,7 @@ --/* $NetBSD: util.c,v 1.107 2002/06/05 10:20:50 lukem Exp $ */ -+/* $NetBSD: util.c,v 1.111 2003/02/28 09:54:51 lukem Exp $ */ - - /*- -- * Copyright (c) 1997-2002 The NetBSD Foundation, Inc. -+ * Copyright (c) 1997-2003 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation -@@ -73,11 +73,36 @@ - * SUCH DAMAGE. - */ - -+#include <sys/cdefs.h> -+#ifndef lint -+__RCSID("$NetBSD: util.c,v 1.111 2003/02/28 09:54:51 lukem Exp $"); -+#endif /* not lint */ -+ - /* - * FTP User Program -- Misc support routines - */ -- --#include "lukemftp.h" -+#include <sys/types.h> -+#include <sys/socket.h> -+#include <sys/ioctl.h> -+#include <sys/time.h> -+#include <netinet/in.h> -+#include <arpa/ftp.h> -+ -+#include <ctype.h> -+#include <err.h> -+#include <errno.h> -+#include <fcntl.h> -+#include <glob.h> -+#include <signal.h> -+#include <limits.h> -+#include <netdb.h> -+#include <stdio.h> -+#include <stdlib.h> -+#include <string.h> -+#include <termios.h> -+#include <time.h> -+#include <tzfile.h> -+#include <unistd.h> - - #include "ftp_var.h" - -@@ -775,303 +800,6 @@ - code = ocode; - } - --#ifndef NO_PROGRESS -- --/* -- * return non-zero if we're the current foreground process -- */ --int --foregroundproc(void) --{ -- static pid_t pgrp = -1; -- -- if (pgrp == -1) --#if GETPGRP_VOID -- pgrp = getpgrp(); --#else /* ! GETPGRP_VOID */ -- pgrp = getpgrp(0); --#endif /* ! GETPGRP_VOID */ -- -- return (tcgetpgrp(fileno(ttyout)) == pgrp); --} -- -- --static void updateprogressmeter(int); -- --/* -- * SIGALRM handler to update the progress meter -- */ --static void --updateprogressmeter(int dummy) --{ -- int oerrno = errno; -- -- progressmeter(0); -- errno = oerrno; --} --#endif /* NO_PROGRESS */ -- -- --/* -- * List of order of magnitude prefixes. -- * The last is `P', as 2^64 = 16384 Petabytes -- */ --static const char prefixes[] = " KMGTP"; -- --/* -- * Display a transfer progress bar if progress is non-zero. -- * SIGALRM is hijacked for use by this function. -- * - Before the transfer, set filesize to size of file (or -1 if unknown), -- * and call with flag = -1. This starts the once per second timer, -- * and a call to updateprogressmeter() upon SIGALRM. -- * - During the transfer, updateprogressmeter will call progressmeter -- * with flag = 0 -- * - After the transfer, call with flag = 1 -- */ --static struct timeval start; --static struct timeval lastupdate; -- --#define BUFLEFT (sizeof(buf) - len) -- --void --progressmeter(int flag) --{ -- static off_t lastsize; --#ifndef NO_PROGRESS -- struct timeval now, td, wait; -- off_t cursize, abbrevsize, bytespersec; -- double elapsed; -- int ratio, barlength, i, len, remaining; -- -- /* -- * Work variables for progress bar. -- * -- * XXX: if the format of the progress bar changes -- * (especially the number of characters in the -- * `static' portion of it), be sure to update -- * these appropriately. -- */ -- char buf[256]; /* workspace for progress bar */ --#define BAROVERHEAD 43 /* non `*' portion of progress bar */ -- /* -- * stars should contain at least -- * sizeof(buf) - BAROVERHEAD entries -- */ -- const char stars[] = --"*****************************************************************************" --"*****************************************************************************" --"*****************************************************************************"; -- --#endif -- -- if (flag == -1) { -- (void)gettimeofday(&start, NULL); -- lastupdate = start; -- lastsize = restart_point; -- } --#ifndef NO_PROGRESS -- if (!progress) -- return; -- len = 0; -- -- /* -- * print progress bar only if we are foreground process. -- */ -- if (! foregroundproc()) -- return; -- -- (void)gettimeofday(&now, NULL); -- cursize = bytes + restart_point; -- timersub(&now, &lastupdate, &wait); -- if (cursize > lastsize) { -- lastupdate = now; -- lastsize = cursize; -- wait.tv_sec = 0; -- } -- -- len += snprintf(buf + len, BUFLEFT, "\r"); -- if (filesize > 0) { -- ratio = (int)((double)cursize * 100.0 / (double)filesize); -- ratio = MAX(ratio, 0); -- ratio = MIN(ratio, 100); -- len += snprintf(buf + len, BUFLEFT, "%3d%% ", ratio); -- -- /* -- * calculate the length of the `*' bar, ensuring that -- * the number of stars won't exceed the buffer size -- */ -- barlength = MIN(sizeof(buf) - 1, ttywidth) - BAROVERHEAD; -- if (barlength > 0) { -- i = barlength * ratio / 100; -- len += snprintf(buf + len, BUFLEFT, -- "|%.*s%*s|", i, stars, barlength - i, ""); -- } -- } -- -- abbrevsize = cursize; -- for (i = 0; abbrevsize >= 100000 && i < sizeof(prefixes); i++) -- abbrevsize >>= 10; -- len += snprintf(buf + len, BUFLEFT, " " LLFP("5") " %c%c ", -- (LLT)abbrevsize, -- prefixes[i], -- i == 0 ? ' ' : 'B'); -- -- timersub(&now, &start, &td); -- elapsed = td.tv_sec + (td.tv_usec / 1000000.0); -- -- bytespersec = 0; -- if (bytes > 0) { -- bytespersec = bytes; -- if (elapsed > 0.0) -- bytespersec /= elapsed; -- } -- for (i = 1; bytespersec >= 1024000 && i < sizeof(prefixes); i++) -- bytespersec >>= 10; -- len += snprintf(buf + len, BUFLEFT, -- " " LLFP("3") ".%02d %cB/s ", -- (LLT)(bytespersec / 1024), -- (int)((bytespersec % 1024) * 100 / 1024), -- prefixes[i]); -- -- if (filesize > 0) { -- if (bytes <= 0 || elapsed <= 0.0 || cursize > filesize) { -- len += snprintf(buf + len, BUFLEFT, " --:-- ETA"); -- } else if (flag == 1) { -- i = elapsed / SECSPERHOUR; -- if (i) -- len += snprintf(buf + len, BUFLEFT, "%2d:", i); -- else -- len += snprintf(buf + len, BUFLEFT, " "); -- i = (int)elapsed % SECSPERHOUR; -- len += snprintf(buf + len, BUFLEFT, -- "%02d:%02d ", i / 60, i % 60); -- } else if (wait.tv_sec >= STALLTIME) { -- len += snprintf(buf + len, BUFLEFT, " - stalled -"); -- } else { -- remaining = (int) -- ((filesize - restart_point) / (bytes / elapsed) - -- elapsed); -- if (remaining >= 100 * SECSPERHOUR) -- len += snprintf(buf + len, BUFLEFT, -- " --:-- ETA"); -- else { -- i = remaining / SECSPERHOUR; -- if (i) -- len += snprintf(buf + len, BUFLEFT, -- "%2d:", i); -- else -- len += snprintf(buf + len, BUFLEFT, -- " "); -- i = remaining % SECSPERHOUR; -- len += snprintf(buf + len, BUFLEFT, -- "%02d:%02d ETA", i / 60, i % 60); -- } -- } -- } -- if (flag == 1) -- len += snprintf(buf + len, BUFLEFT, "\n"); -- (void)write(fileno(ttyout), buf, len); -- -- if (flag == -1) { -- (void)xsignal_restart(SIGALRM, updateprogressmeter, 1); -- alarmtimer(1); /* set alarm timer for 1 Hz */ -- } else if (flag == 1) { -- (void)xsignal(SIGALRM, SIG_DFL); -- alarmtimer(0); -- } --#endif /* !NO_PROGRESS */ --} -- --/* -- * Display transfer statistics. -- * Requires start to be initialised by progressmeter(-1), -- * direction to be defined by xfer routines, and filesize and bytes -- * to be updated by xfer routines -- * If siginfo is nonzero, an ETA is displayed, and the output goes to stderr -- * instead of ttyout. -- */ --void --ptransfer(int siginfo) --{ -- struct timeval now, td, wait; -- double elapsed; -- off_t bytespersec; -- int remaining, hh, i, len; -- -- char buf[256]; /* Work variable for transfer status. */ -- -- if (!verbose && !progress && !siginfo) -- return; -- -- (void)gettimeofday(&now, NULL); -- timersub(&now, &start, &td); -- elapsed = td.tv_sec + (td.tv_usec / 1000000.0); -- bytespersec = 0; -- if (bytes > 0) { -- bytespersec = bytes; -- if (elapsed > 0.0) -- bytespersec /= elapsed; -- } -- len = 0; -- len += snprintf(buf + len, BUFLEFT, LLF " byte%s %s in ", -- (LLT)bytes, bytes == 1 ? "" : "s", direction); -- remaining = (int)elapsed; -- if (remaining > SECSPERDAY) { -- int days; -- -- days = remaining / SECSPERDAY; -- remaining %= SECSPERDAY; -- len += snprintf(buf + len, BUFLEFT, -- "%d day%s ", days, days == 1 ? "" : "s"); -- } -- hh = remaining / SECSPERHOUR; -- remaining %= SECSPERHOUR; -- if (hh) -- len += snprintf(buf + len, BUFLEFT, "%2d:", hh); -- len += snprintf(buf + len, BUFLEFT, -- "%02d:%02d ", remaining / 60, remaining % 60); -- -- for (i = 1; bytespersec >= 1024000 && i < sizeof(prefixes); i++) -- bytespersec >>= 10; -- len += snprintf(buf + len, BUFLEFT, "(" LLF ".%02d %cB/s)", -- (LLT)(bytespersec / 1024), -- (int)((bytespersec % 1024) * 100 / 1024), -- prefixes[i]); -- -- if (siginfo && bytes > 0 && elapsed > 0.0 && filesize >= 0 -- && bytes + restart_point <= filesize) { -- remaining = (int)((filesize - restart_point) / -- (bytes / elapsed) - elapsed); -- hh = remaining / SECSPERHOUR; -- remaining %= SECSPERHOUR; -- len += snprintf(buf + len, BUFLEFT, " ETA: "); -- if (hh) -- len += snprintf(buf + len, BUFLEFT, "%2d:", hh); -- len += snprintf(buf + len, BUFLEFT, "%02d:%02d", -- remaining / 60, remaining % 60); -- timersub(&now, &lastupdate, &wait); -- if (wait.tv_sec >= STALLTIME) -- len += snprintf(buf + len, BUFLEFT, " (stalled)"); -- } -- len += snprintf(buf + len, BUFLEFT, "\n"); -- (void)write(siginfo ? STDERR_FILENO : fileno(ttyout), buf, len); --} -- --/* -- * SIG{INFO,QUIT} handler to print transfer stats if a transfer is in progress -- */ --void --psummary(int notused) --{ -- int oerrno = errno; -- -- if (bytes > 0) { -- if (fromatty) -- write(fileno(ttyout), "\n", 1); -- ptransfer(1); -- } -- errno = oerrno; --} - - /* - * List words in stringlist, vertically arranged -@@ -1158,20 +886,6 @@ - - - /* -- * Set the SIGALRM interval timer for wait seconds, 0 to disable. -- */ --void --alarmtimer(int wait) --{ -- struct itimerval itv; -- -- itv.it_value.tv_sec = wait; -- itv.it_value.tv_usec = 0; -- itv.it_interval = itv.it_value; -- setitimer(ITIMER_REAL, &itv, NULL); --} -- --/* - * Setup or cleanup EditLine structures - */ - #ifndef NO_EDITCOMPLETE -@@ -1552,85 +1266,4 @@ - if (s == NULL) - err(1, "Unable to allocate memory for string copy"); - return (s); --} -- --/* -- * Install a POSIX signal handler, allowing the invoker to set whether -- * the signal should be restartable or not -- */ --sigfunc --xsignal_restart(int sig, sigfunc func, int restartable) --{ --#ifdef ultrix /* XXX: this is lame - how do we test sigvec vs. sigaction? */ -- struct sigvec vec, ovec; -- -- vec.sv_handler = func; -- sigemptyset(&vec.sv_mask); -- vec.sv_flags = 0; -- if (sigvec(sig, &vec, &ovec) < 0) -- return (SIG_ERR); -- return (ovec.sv_handler); --#else /* ! ultrix */ -- struct sigaction act, oact; -- act.sa_handler = func; -- -- sigemptyset(&act.sa_mask); --#if defined(SA_RESTART) /* 4.4BSD, Posix(?), SVR4 */ -- act.sa_flags = restartable ? SA_RESTART : 0; --#elif defined(SA_INTERRUPT) /* SunOS 4.x */ -- act.sa_flags = restartable ? 0 : SA_INTERRUPT; --#else --#error "system must have SA_RESTART or SA_INTERRUPT" --#endif -- if (sigaction(sig, &act, &oact) < 0) -- return (SIG_ERR); -- return (oact.sa_handler); --#endif /* ! ultrix */ --} -- --/* -- * Install a signal handler with the `restartable' flag set dependent upon -- * which signal is being set. (This is a wrapper to xsignal_restart()) -- */ --sigfunc --xsignal(int sig, sigfunc func) --{ -- int restartable; -- -- /* -- * Some signals print output or change the state of the process. -- * There should be restartable, so that reads and writes are -- * not affected. Some signals should cause program flow to change; -- * these signals should not be restartable, so that the system call -- * will return with EINTR, and the program will go do something -- * different. If the signal handler calls longjmp() or siglongjmp(), -- * it doesn't matter if it's restartable. -- */ -- -- switch(sig) { --#ifdef SIGINFO -- case SIGINFO: --#endif -- case SIGQUIT: -- case SIGUSR1: -- case SIGUSR2: -- case SIGWINCH: -- restartable = 1; -- break; -- -- case SIGALRM: -- case SIGINT: -- case SIGPIPE: -- restartable = 0; -- break; -- -- default: -- /* -- * This is unpleasant, but I don't know what would be better. -- * Right now, this "can't happen" -- */ -- errx(1, "xsignal_restart called with signal %d", sig); -- } -- -- return(xsignal_restart(sig, func, restartable)); - } -diff -Nru src/version.h /home/spock/ftp/version.h ---- src/version.h Sat Jun 15 05:40:37 2002 -+++ /home/spock/ftp/version.h Thu Jun 12 02:02:11 2003 -@@ -1,6 +1,6 @@ --/* $NetBSD: version.h,v 1.29 2002/06/05 10:20:51 lukem Exp $ */ -+/* $NetBSD: version.h,v 1.30 2003/02/28 09:54:20 lukem Exp $ */ - /*- -- * Copyright (c) 1999-2002 The NetBSD Foundation, Inc. -+ * Copyright (c) 1999-2003 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation -@@ -40,5 +40,5 @@ - #endif - - #ifndef FTP_VERSION --#define FTP_VERSION "20020605" -+#define FTP_VERSION "20030228" - #endif diff --git a/contrib/lukemftp/install-sh b/contrib/lukemftp/install-sh deleted file mode 100755 index e9de23842dcd..000000000000 --- a/contrib/lukemftp/install-sh +++ /dev/null @@ -1,251 +0,0 @@ -#!/bin/sh -# -# install - install a program, script, or datafile -# This comes from X11R5 (mit/util/scripts/install.sh). -# -# Copyright 1991 by the Massachusetts Institute of Technology -# -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of M.I.T. not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. M.I.T. makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -transformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src="" -dst="" -dir_arg="" - -while [ x"$1" != x ]; do - case $1 in - -c) instcmd="$cpprog" - shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - -s) stripcmd="$stripprog" - shift - continue;; - - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; - - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; - - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done - -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - true -fi - -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d $dst ]; then - instcmd=: - chmodcmd="" - else - instcmd=mkdir - fi -else - -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. - - if [ -f $src -o -d $src ] - then - true - else - echo "install: $src does not exist" - exit 1 - fi - - if [ x"$dst" = x ] - then - echo "install: no destination specified" - exit 1 - else - true - fi - -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic - - if [ -d $dst ] - then - dst="$dst"/`basename $src` - else - true - fi -fi - -## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script - -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' -' -IFS="${IFS-${defaultIFS}}" - -oIFS="${IFS}" -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" - shift - - if [ ! -d "${pathcomp}" ] ; - then - $mkdirprog "${pathcomp}" - else - true - fi - - pathcomp="${pathcomp}/" -done -fi - -if [ x"$dir_arg" != x ] -then - $doit $instcmd $dst && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi -else - -# If we're going to rename the final executable, determine the name now. - - if [ x"$transformarg" = x ] - then - dstfile=`basename $dst` - else - dstfile=`basename $dst $transformbasename | - sed $transformarg`$transformbasename - fi - -# don't allow the sed command to completely eliminate the filename - - if [ x"$dstfile" = x ] - then - dstfile=`basename $dst` - else - true - fi - -# Make a temp file name in the proper directory. - - dsttmp=$dstdir/#inst.$$# - -# Move or copy the file name to the temp name - - $doit $instcmd $src $dsttmp && - - trap "rm -f ${dsttmp}" 0 && - -# and set any options; do chmod last to preserve setuid bits - -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && - -# Now rename the file to the real destination. - - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile - -fi && - - -exit 0 diff --git a/contrib/lukemftp/lukemftp.h b/contrib/lukemftp/lukemftp.h deleted file mode 100644 index e8d83f6d6fd4..000000000000 --- a/contrib/lukemftp/lukemftp.h +++ /dev/null @@ -1,403 +0,0 @@ -/* $Id: lukemftp.h,v 1.43 2002/06/10 08:13:01 lukem Exp $ */ - -#define FTP_PRODUCT "lukemftp" -#define FTP_VERSION "1.6-beta2" - -#include "config.h" - -#include <sys/types.h> -#include <sys/param.h> -#include <sys/ioctl.h> -#include <sys/socket.h> -#include <sys/stat.h> -#include <sys/wait.h> - -#include <netinet/in.h> -#include <netinet/in_systm.h> -#include <netinet/ip.h> - -#include <arpa/ftp.h> -#include <arpa/inet.h> - -#include <ctype.h> -#include <errno.h> -#include <fcntl.h> -#include <limits.h> -#include <netdb.h> -#include <pwd.h> -#include <setjmp.h> -#include <signal.h> -#include <stdarg.h> -#include <stddef.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <termios.h> -#include <unistd.h> - -#if HAVE_POLL -# if HAVE_POLL_H -# include <poll.h> -# elif HAVE_SYS_POLL_H -# include <sys/poll.h> -# endif -#elif HAVE_SELECT -# define USE_SELECT -#else -# error "no poll() or select() found" -#endif - -#if HAVE_DIRENT_H -# include <dirent.h> -#else -# define dirent direct -# if HAVE_SYS_NDIR_H -# include <sys/ndir.h> -# endif -# if HAVE_SYS_DIR_H -# include <sys/dir.h> -# endif -# if HAVE_NDIR_H -# include <ndir.h> -# endif -#endif - -#if TIME_WITH_SYS_TIME -# include <sys/time.h> -# include <time.h> -#else -# if HAVE_SYS_TIME_H -# include <sys/time.h> -# else -# include <time.h> -# endif -#endif - -#if HAVE_ERR_H -# include <err.h> -#endif - -#if USE_GLOB_H /* not set by configure; used by other build systems */ -# include <glob.h> -#else -# include "ftpglob.h" -#endif - -#if HAVE_PATHS_H -# include <paths.h> -#endif -#ifndef _PATH_BSHELL -#define _PATH_BSHELL "/bin/sh" -#endif -#ifndef _PATH_TMP -#define _PATH_TMP "/tmp/" -#endif - -typedef struct _stringlist { - char **sl_str; - size_t sl_max; - size_t sl_cur; -} StringList; - -StringList *sl_init(void); -int sl_add(StringList *, char *); -void sl_free(StringList *, int); -char *sl_find(StringList *, char *); - -#if HAVE_TERMCAP_H -# include <termcap.h> -#else -int tgetent(char *, const char *); -char *tgetstr(const char *, char **); -int tgetflag(const char *); -int tgetnum(const char *); -char *tgoto(const char *, int, int); -void tputs(const char *, int, int (*)(int)); -#endif - -#if HAVE_UTIL_H -# include <util.h> -#endif - -#if HAVE_LIBUTIL_H -# include <libutil.h> -#endif - -#if HAVE_VIS_H -# include <vis.h> -#else -# include "ftpvis.h" -#endif - -#if ! HAVE_IN_PORT_T -typedef unsigned short in_port_t; -#endif - -#if ! HAVE_SA_FAMILY_T -typedef unsigned short sa_family_t; -#endif - -#if ! HAVE_SOCKLEN_T -typedef unsigned int socklen_t; -#endif - -#if HAVE_AF_INET6 && HAVE_SOCKADDR_IN6 -# define INET6 -#endif - - -#if ! HAVE_RFC2553_NETDB - - /* RFC 2553 */ -#undef EAI_ADDRFAMILY -#define EAI_ADDRFAMILY 1 /* address family for hostname not supported */ -#undef EAI_AGAIN -#define EAI_AGAIN 2 /* temporary failure in name resolution */ -#undef EAI_BADFLAGS -#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ -#undef EAI_FAIL -#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ -#undef EAI_FAMILY -#define EAI_FAMILY 5 /* ai_family not supported */ -#undef EAI_MEMORY -#define EAI_MEMORY 6 /* memory allocation failure */ -#undef EAI_NODATA -#define EAI_NODATA 7 /* no address associated with hostname */ -#undef EAI_NONAME -#define EAI_NONAME 8 /* hostname nor servname provided, or not known */ -#undef EAI_SERVICE -#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ -#undef EAI_SOCKTYPE -#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ -#undef EAI_SYSTEM -#define EAI_SYSTEM 11 /* system error returned in errno */ - - /* KAME extensions? */ -#undef EAI_BADHINTS -#define EAI_BADHINTS 12 -#undef EAI_PROTOCOL -#define EAI_PROTOCOL 13 -#undef EAI_MAX -#define EAI_MAX 14 - - /* RFC 2553 */ -#undef NI_MAXHOST -#define NI_MAXHOST 1025 -#undef NI_MAXSERV -#define NI_MAXSERV 32 - -#undef NI_NOFQDN -#define NI_NOFQDN 0x00000001 -#undef NI_NUMERICHOST -#define NI_NUMERICHOST 0x00000002 -#undef NI_NAMEREQD -#define NI_NAMEREQD 0x00000004 -#undef NI_NUMERICSERV -#define NI_NUMERICSERV 0x00000008 -#undef NI_DGRAM -#define NI_DGRAM 0x00000010 - - /* RFC 2553 */ -#undef AI_PASSIVE -#define AI_PASSIVE 0x00000001 /* get address to use bind() */ -#undef AI_CANONNAME -#define AI_CANONNAME 0x00000002 /* fill ai_canonname */ - - /* KAME extensions ? */ -#undef AI_NUMERICHOST -#define AI_NUMERICHOST 0x00000004 /* prevent name resolution */ -#undef AI_MASK -#define AI_MASK (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST) - - /* RFC 2553 */ -#undef AI_ALL -#define AI_ALL 0x00000100 /* IPv6 and IPv4-mapped (with AI_V4MAPPED) */ -#undef AI_V4MAPPED_CFG -#define AI_V4MAPPED_CFG 0x00000200 /* accept IPv4-mapped if kernel supports */ -#undef AI_ADDRCONFIG -#define AI_ADDRCONFIG 0x00000400 /* only if any address is assigned */ -#undef AI_V4MAPPED -#define AI_V4MAPPED 0x00000800 /* accept IPv4-mapped IPv6 address */ - -#endif /* ! HAVE_RFC2553_NETDB */ - - -#if ! HAVE_RFC2553_NETDB && ! HAVE_ADDRINFO - -struct addrinfo { - int ai_flags; /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */ - int ai_family; /* PF_xxx */ - int ai_socktype; /* SOCK_xxx */ - int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ - size_t ai_addrlen; /* length of ai_addr */ - char *ai_canonname; /* canonical name for hostname */ - struct sockaddr *ai_addr; /* binary address */ - struct addrinfo *ai_next; /* next structure in linked list */ -}; - -int getaddrinfo(const char *, const char *, - const struct addrinfo *, struct addrinfo **); -int getnameinfo(const struct sockaddr *, socklen_t, char *, - size_t, char *, size_t, int); -void freeaddrinfo(struct addrinfo *); -char *gai_strerror(int); - -#endif /* ! HAVE_RFC2553_NETDB && ! HAVE_ADDRINFO */ - - -#if ! HAVE_D_NAMLEN -# define DIRENT_MISSING_D_NAMLEN -#endif - -#if ! HAVE_H_ERRNO_D -extern int h_errno; -#endif -#define HAVE_H_ERRNO 1 /* XXX: an assumption for now... */ - -#if ! HAVE_FCLOSE_D -int fclose(FILE *); -#endif - -#if ! HAVE_GETPASS_D -char *getpass(const char *); -#endif - -#if ! HAVE_OPTARG_D -extern char *optarg; -#endif - -#if ! HAVE_OPTIND_D -extern int optind; -#endif - -#if ! HAVE_PCLOSE_D -int pclose(FILE *); -#endif - -#if ! HAVE_ERR -void err(int, const char *, ...); -void errx(int, const char *, ...); -void warn(const char *, ...); -void warnx(const char *, ...); -#endif - -#if ! HAVE_FGETLN -char *fgetln(FILE *, size_t *); -#endif - -#if ! HAVE_FSEEKO -int fseeko(FILE *, off_t, int); -#endif - -#if ! HAVE_FPARSELN -# define FPARSELN_UNESCESC 0x01 -# define FPARSELN_UNESCCONT 0x02 -# define FPARSELN_UNESCCOMM 0x04 -# define FPARSELN_UNESCREST 0x08 -# define FPARSELN_UNESCALL 0x0f -char *fparseln(FILE *, size_t *, size_t *, const char[3], int); -#endif - -#if ! HAVE_INET_NTOP -const char *inet_ntop(int, const void *, char *, size_t); -#endif - -#if ! HAVE_INET_PTON -int inet_pton(int, const char *, void *); -#endif - -#if ! HAVE_MKSTEMP -int mkstemp(char *); -#endif - -#if ! HAVE_SETPROGNAME -const char *getprogname(void); -void setprogname(const char *); -#endif - -#if ! HAVE_SNPRINTF -int snprintf(char *, size_t, const char *, ...); -#endif - -#if ! HAVE_STRDUP -char *strdup(const char *); -#endif - -#if ! HAVE_STRERROR -char *strerror(int); -#endif - -#if ! HAVE_STRPTIME || ! HAVE_STRPTIME_D -char *strptime(const char *, const char *, struct tm *); -#endif - -#if HAVE_QUAD_SUPPORT -# if ! HAVE_STRTOLL && HAVE_LONG_LONG -long long strtoll(const char *, char **, int); -# if ! defined(QUAD_MIN) -# define QUAD_MIN (-0x7fffffffffffffffL-1) -# endif -# if ! defined(QUAD_MAX) -# define QUAD_MAX (0x7fffffffffffffffL) -# endif -# endif -#else /* ! HAVE_QUAD_SUPPORT */ -# define NO_LONG_LONG 1 -#endif /* ! HAVE_QUAD_SUPPORT */ - -#if ! HAVE_TIMEGM -time_t timegm(struct tm *); -#endif - -#if ! HAVE_HSTRERROR -char *strerror(int); -#endif - -#if ! HAVE_STRLCAT -size_t strlcat(char *, const char *, size_t); -#endif - -#if ! HAVE_STRLCPY -size_t strlcpy(char *, const char *, size_t); -#endif - -#if ! HAVE_STRSEP -char *strsep(char **stringp, const char *delim); -#endif - -#if ! HAVE_MEMMOVE -# define memmove(a,b,c) bcopy((b),(a),(c)) - /* XXX: add others #defines for borken systems? */ -#endif - -#if HAVE_GETPASSPHRASE -# define getpass getpassphrase -#endif - -#if ! defined(MIN) -# define MIN(a, b) ((a) < (b) ? (a) : (b)) -#endif -#if ! defined(MAX) -# define MAX(a, b) ((a) < (b) ? (b) : (a)) -#endif - -#if ! defined(timersub) -# define timersub(tvp, uvp, vvp) \ - do { \ - (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \ - (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \ - if ((vvp)->tv_usec < 0) { \ - (vvp)->tv_sec--; \ - (vvp)->tv_usec += 1000000; \ - } \ - } while (0) -#endif - -#if ! defined(S_ISLNK) -# define S_ISLNK(m) ((m & S_IFMT) == S_IFLNK) -#endif - -#define EPOCH_YEAR 1970 -#define SECSPERHOUR 3600 -#define SECSPERDAY 86400 -#define TM_YEAR_BASE 1900 diff --git a/contrib/lukemftp/src/ftp.cat1 b/contrib/lukemftp/src/ftp.cat1 deleted file mode 100644 index 091a1190c2f7..000000000000 --- a/contrib/lukemftp/src/ftp.cat1 +++ /dev/null @@ -1,1055 +0,0 @@ -FTP(1) NetBSD Reference Manual FTP(1) - -NNAAMMEE - ffttpp - Internet file transfer program - -SSYYNNOOPPSSIISS - ffttpp [--4466AAaaddeeffggiinnppRRttvvVV] [--NN _n_e_t_r_c] [--oo _o_u_t_p_u_t] [--PP _p_o_r_t] [--rr _r_e_t_r_y] [--TT - _d_i_r,_m_a_x[,_i_n_c]] [[_u_s_e_r@]_h_o_s_t [_p_o_r_t]] [_u_s_e_r@]_h_o_s_t:[_p_a_t_h][/] - [file:///_p_a_t_h] [ftp://[_u_s_e_r[:_p_a_s_s_w_o_r_d]@]_h_o_s_t[:_p_o_r_t]/_p_a_t_h[/]] - [http://[_u_s_e_r[:_p_a_s_s_w_o_r_d]@]_h_o_s_t[:_p_o_r_t]/_p_a_t_h] [_._._.] - ffttpp --uu _u_r_l file [_._._.] - -DDEESSCCRRIIPPTTIIOONN - ffttpp is the user interface to the Internet standard File Transfer Proto- - col. The program allows a user to transfer files to and from a remote - network site. - - The last five arguments will fetch a file using the FTP or HTTP proto- - cols, or by direct copying, into the current directory. This is ideal - for scripts. Refer to _A_U_T_O_-_F_E_T_C_H_I_N_G _F_I_L_E_S below for more information. - - Options may be specified at the command line, or to the command inter- - preter. - - --44 Forces ffttpp to only use IPv4 addresses. - - --66 Forces ffttpp to only use IPv6 addresses. - - --AA Force active mode ftp. By default, ffttpp will try to use passive - mode ftp and fall back to active mode if passive is not support- - ed by the server. This option causes ffttpp to always use an ac- - tive connection. It is only useful for connecting to very old - servers that do not implement passive mode properly. - - --aa Causes ffttpp to bypass normal login procedure, and use an anony- - mous login instead. - - --dd Enables debugging. - - --ee Disables command line editing. This is useful for Emacs ange- - ftp mode. - - --ff Forces a cache reload for transfers that go through the FTP or - HTTP proxies. - - --gg Disables file name globbing. - - --ii Turns off interactive prompting during multiple file transfers. - - --nn Restrains ffttpp from attempting ``auto-login'' upon initial con- - nection. If auto-login is enabled, ffttpp will check the _._n_e_t_r_c - (see below) file in the user's home directory for an entry de- - scribing an account on the remote machine. If no entry exists, - ffttpp will prompt for the remote machine login name (default is - the user identity on the local machine), and, if necessary, - prompt for a password and an account with which to login. - - --NN _n_e_t_r_c - Use _n_e_t_r_c instead of _~_/_._n_e_t_r_c. Refer to _T_H_E _._n_e_t_r_c _F_I_L_E for - more information. - - --oo _o_u_t_p_u_t - When auto-fetching files, save the contents in _o_u_t_p_u_t. _o_u_t_p_u_t - is parsed according to the _F_I_L_E _N_A_M_I_N_G _C_O_N_V_E_N_T_I_O_N_S below. If - _o_u_t_p_u_t is not `-' or doesn't start with `|', then only the first - file specified will be retrieved into _o_u_t_p_u_t; all other files - will be retrieved into the basename of their remote name. - - --pp Enable passive mode operation for use behind connection filter- - ing firewalls. This option has been deprecated as ffttpp now tries - to use passive mode by default, falling back to active mode if - the server does not support passive connections. - - --PP _p_o_r_t Sets the port number to _p_o_r_t. - - --rr _w_a_i_t Retry the connection attempt if it failed, pausing for _w_a_i_t sec- - onds. - - --RR Restart all non-proxied auto-fetches. - - --tt Enables packet tracing. - - --TT _d_i_r_e_c_t_i_o_n,_m_a_x_i_m_u_m[,_i_n_c_r_e_m_e_n_t] - Set the maximum transfer rate for _d_i_r_e_c_t_i_o_n to _m_a_x_i_m_u_m - bytes/second, and if specified, the increment to _i_n_c_r_e_m_e_n_t - bytes/second. Refer to rraattee for more information. - - --uu _u_r_l _f_i_l_e [...] - Upload files on the command line to _u_r_l where _u_r_l is one of the - ftp URL types as supported by auto-fetch (with an optional tar- - get filename for single file uploads), and _f_i_l_e is one or more - local files to be uploaded. - - --vv Enable vveerrbboossee and pprrooggrreessss. This is the default if output is - to a terminal (and in the case of pprrooggrreessss, ffttpp is the fore- - ground process). Forces ffttpp to show all responses from the re- - mote server, as well as report on data transfer statistics. - - --VV Disable vveerrbboossee and pprrooggrreessss, overriding the default of enabled - when output is to a terminal. - - The client host with which ffttpp is to communicate may be specified on the - command line. If this is done, ffttpp will immediately attempt to establish - a connection to an FTP server on that host; otherwise, ffttpp will enter its - command interpreter and await instructions from the user. When ffttpp is - awaiting commands from the user the prompt `ftp>' is provided to the us- - er. The following commands are recognized by ffttpp: - - !! [_c_o_m_m_a_n_d [_a_r_g_s]] - Invoke an interactive shell on the local machine. If there - are arguments, the first is taken to be a command to execute - directly, with the rest of the arguments as its arguments. - - $$ _m_a_c_r_o_-_n_a_m_e [_a_r_g_s] - Execute the macro _m_a_c_r_o_-_n_a_m_e that was defined with the mmaaccddeeff - command. Arguments are passed to the macro unglobbed. - - aaccccoouunntt [_p_a_s_s_w_d] - Supply a supplemental password required by a remote system - for access to resources once a login has been successfully - completed. If no argument is included, the user will be - prompted for an account password in a non-echoing input mode. - - aappppeenndd _l_o_c_a_l_-_f_i_l_e [_r_e_m_o_t_e_-_f_i_l_e] - Append a local file to a file on the remote machine. If - _r_e_m_o_t_e_-_f_i_l_e is left unspecified, the local file name is used - in naming the remote file after being altered by any nnttrraannss - or nnmmaapp setting. File transfer uses the current settings for - ttyyppee, ffoorrmmaatt, mmooddee, and ssttrruuccttuurree. - - aasscciiii Set the file transfer ttyyppee to network ASCII. This is the de- - fault type. - - bbeellll Arrange that a bell be sounded after each file transfer com- - mand is completed. - - bbiinnaarryy Set the file transfer ttyyppee to support binary image transfer. - - bbyyee Terminate the FTP session with the remote server and exit - ffttpp. An end of file will also terminate the session and ex- - it. - - ccaassee Toggle remote computer file name case mapping during ggeett, - mmggeett and mmppuutt commands. When ccaassee is on (default is off), - remote computer file names with all letters in upper case are - written in the local directory with the letters mapped to - lower case. - - ccdd _r_e_m_o_t_e_-_d_i_r_e_c_t_o_r_y - Change the working directory on the remote machine to _r_e_m_o_t_e_- - _d_i_r_e_c_t_o_r_y. - - ccdduupp Change the remote machine working directory to the parent of - the current remote machine working directory. - - cchhmmoodd _m_o_d_e _r_e_m_o_t_e_-_f_i_l_e - Change the permission modes of the file _r_e_m_o_t_e_-_f_i_l_e on the - remote system to _m_o_d_e. - - cclloossee Terminate the FTP session with the remote server, and return - to the command interpreter. Any defined macros are erased. - - ccrr Toggle carriage return stripping during ascii type file re- - trieval. Records are denoted by a carriage return/linefeed - sequence during ascii type file transfer. When ccrr is on (the - default), carriage returns are stripped from this sequence to - conform with the UNIX single linefeed record delimiter. - Records on non-UNIX remote systems may contain single line- - feeds; when an ascii type transfer is made, these linefeeds - may be distinguished from a record delimiter only when ccrr is - off. - - ddeebbuugg [_d_e_b_u_g_-_v_a_l_u_e] - Toggle debugging mode. If an optional _d_e_b_u_g_-_v_a_l_u_e is speci- - fied it is used to set the debugging level. When debugging - is on, ffttpp prints each command sent to the remote machine, - preceded by the string `-->' - - ddeelleettee _r_e_m_o_t_e_-_f_i_l_e - Delete the file _r_e_m_o_t_e_-_f_i_l_e on the remote machine. - - ddiirr [_r_e_m_o_t_e_-_p_a_t_h [_l_o_c_a_l_-_f_i_l_e]] - Print a listing of the contents of a directory on the remote - machine. The listing includes any system-dependent informa- - tion that the server chooses to include; for example, most - UNIX systems will produce output from the command `ls -l'. - If _r_e_m_o_t_e_-_p_a_t_h is left unspecified, the current working di- - rectory is used. If interactive prompting is on, ffttpp will - prompt the user to verify that the last argument is indeed - the target local file for receiving ddiirr output. If no local - file is specified, or if _l_o_c_a_l_-_f_i_l_e is `--', the output is - sent to the terminal. - - ddiissccoonnnneecctt A synonym for cclloossee. - - eeddiitt Toggle command line editing, and context sensitive command - and file completion. This is automatically enabled if input - is from a terminal, and disabled otherwise. - - eeppssvv44 Toggle the use of the extended EPSV and EPRT commands on IPv4 - connections; first try EPSV / EPRT, and then PASV / PORT. - This is enabled by default. If an extended command fails - then this option will be temporarily disabled for the dura- - tion of the current connection, or until eeppssvv44 is executed - again. - - eexxiitt A synonym for bbyyee. - - ffeeaattuurreess Display what features the remote server supports (using the - FEAT command). - - ffggeett _l_o_c_a_l_f_i_l_e - Retrieve the files listed in _l_o_c_a_l_f_i_l_e, which has one line - per filename. - - ffoorrmm _f_o_r_m_a_t - Set the file transfer ffoorrmm to _f_o_r_m_a_t. The default (and only - supported) format is ``non-print''. - - ffttpp _h_o_s_t [_p_o_r_t] - A synonym for ooppeenn. - - ggaattee [_h_o_s_t [_p_o_r_t]] - Toggle gate-ftp mode, which used to connect through the TIS - FWTK and Gauntlet ftp proxies. This will not be permitted if - the gate-ftp server hasn't been set (either explicitly by the - user, or from the FTPSERVER environment variable). If _h_o_s_t - is given, then gate-ftp mode will be enabled, and the gate- - ftp server will be set to _h_o_s_t. If _p_o_r_t is also given, that - will be used as the port to connect to on the gate-ftp serv- - er. - - ggeett _r_e_m_o_t_e_-_f_i_l_e [_l_o_c_a_l_-_f_i_l_e] - Retrieve the _r_e_m_o_t_e_-_f_i_l_e and store it on the local machine. - If the local file name is not specified, it is given the same - name it has on the remote machine, subject to alteration by - the current ccaassee, nnttrraannss, and nnmmaapp settings. The current - settings for ttyyppee, ffoorrmm, mmooddee, and ssttrruuccttuurree are used while - transferring the file. - - gglloobb Toggle filename expansion for mmddeelleettee, mmggeett, mmppuutt, and - mmrreeggeett. If globbing is turned off with gglloobb, the file name - arguments are taken literally and not expanded. Globbing for - mmppuutt is done as in csh(1). For mmddeelleettee, mmggeett, and mmrreeggeett, - each remote file name is expanded separately on the remote - machine and the lists are not merged. Expansion of a direc- - tory name is likely to be different from expansion of the - name of an ordinary file: the exact result depends on the - foreign operating system and ftp server, and can be previewed - by doing `mls remote-files -' Note: mmggeett, mmppuutt and mmrreeggeett are - not meant to transfer entire directory subtrees of files. - That can be done by transferring a tar(1) archive of the sub- - tree (in binary mode). - - hhaasshh [_s_i_z_e] - Toggle hash-sign (``#'') printing for each data block trans- - ferred. The size of a data block defaults to 1024 bytes. - This can be changed by specifying _s_i_z_e in bytes. Enabling - hhaasshh disables pprrooggrreessss. - - hheellpp [_c_o_m_m_a_n_d] - Print an informative message about the meaning of _c_o_m_m_a_n_d. - If no argument is given, ffttpp prints a list of the known com- - mands. - - iiddllee [_s_e_c_o_n_d_s] - Set the inactivity timer on the remote server to _s_e_c_o_n_d_s sec- - onds. If _s_e_c_o_n_d_s is omitted, the current inactivity timer is - printed. - - iimmaaggee A synonym for bbiinnaarryy. - - llccdd [_d_i_r_e_c_t_o_r_y] - Change the working directory on the local machine. If no - _d_i_r_e_c_t_o_r_y is specified, the user's home directory is used. - - lleessss _f_i_l_e A synonym for ppaaggee. - - llppaaggee _l_o_c_a_l_-_f_i_l_e - Display _l_o_c_a_l_-_f_i_l_e with the program specified by the sseett - ppaaggeerr option. - - llppwwdd Print the working directory on the local machine. - - llss [_r_e_m_o_t_e_-_p_a_t_h [_l_o_c_a_l_-_f_i_l_e]] - A synonym for ddiirr. - - mmaaccddeeff _m_a_c_r_o_-_n_a_m_e - Define a macro. Subsequent lines are stored as the macro - _m_a_c_r_o_-_n_a_m_e; a null line (consecutive newline characters in a - file or carriage returns from the terminal) terminates macro - input mode. There is a limit of 16 macros and 4096 total - characters in all defined macros. Macros remain defined un- - til a cclloossee command is executed. The macro processor inter- - prets `$' and `\' as special characters. A `$' followed by a - number (or numbers) is replaced by the corresponding argument - on the macro invocation command line. A `$' followed by an - `i' signals that macro processor that the executing macro is - to be looped. On the first pass `$i' is replaced by the - first argument on the macro invocation command line, on the - second pass it is replaced by the second argument, and so on. - A `\' followed by any character is replaced by that charac- - ter. Use the `\' to prevent special treatment of the `$'. - - mmddeelleettee [_r_e_m_o_t_e_-_f_i_l_e_s] - Delete the _r_e_m_o_t_e_-_f_i_l_e_s on the remote machine. - - mmddiirr _r_e_m_o_t_e_-_f_i_l_e_s _l_o_c_a_l_-_f_i_l_e - Like ddiirr, except multiple remote files may be specified. If - interactive prompting is on, ffttpp will prompt the user to ver- - ify that the last argument is indeed the target local file - for receiving mmddiirr output. - - mmggeett _r_e_m_o_t_e_-_f_i_l_e_s - Expand the _r_e_m_o_t_e_-_f_i_l_e_s on the remote machine and do a ggeett - for each file name thus produced. See gglloobb for details on - the filename expansion. Resulting file names will then be - processed according to ccaassee, nnttrraannss, and nnmmaapp settings. - Files are transferred into the local working directory, which - can be changed with `lcd directory'; new local directories - can be created with `! mkdir directory'. - - mmkkddiirr _d_i_r_e_c_t_o_r_y_-_n_a_m_e - Make a directory on the remote machine. - - mmllss _r_e_m_o_t_e_-_f_i_l_e_s _l_o_c_a_l_-_f_i_l_e - Like llss, except multiple remote files may be specified, and - the _l_o_c_a_l_-_f_i_l_e must be specified. If interactive prompting - is on, ffttpp will prompt the user to verify that the last argu- - ment is indeed the target local file for receiving mmllss out- - put. - - mmllssdd [_r_e_m_o_t_e_-_p_a_t_h] - Display the contents of _r_e_m_o_t_e_-_p_a_t_h (which should default to - the current directory if not given) in a machine-parsable - form, using MLSD. The format of display can be changed with - `remopts mlst ...'. - - mmllsstt [_r_e_m_o_t_e_-_p_a_t_h] - Display the details about _r_e_m_o_t_e_-_p_a_t_h (which should default - to the current directory if not given) in a machine-parsable - form, using MLST. The format of display can be changed with - `remopts mlst ...'. - - mmooddee _m_o_d_e_-_n_a_m_e - Set the file transfer mmooddee to _m_o_d_e_-_n_a_m_e. The default (and - only supported) mode is ``stream''. - - mmooddttiimmee _r_e_m_o_t_e_-_f_i_l_e - Show the last modification time of the file on the remote ma- - chine. - - mmoorree _f_i_l_e A synonym for ppaaggee. - - mmppuutt _l_o_c_a_l_-_f_i_l_e_s - Expand wild cards in the list of local files given as argu- - ments and do a ppuutt for each file in the resulting list. See - gglloobb for details of filename expansion. Resulting file names - will then be processed according to nnttrraannss and nnmmaapp settings. - - mmrreeggeett _r_e_m_o_t_e_-_f_i_l_e_s - As per mmggeett, but performs a rreeggeett instead of ggeett. - - mmsseenndd _l_o_c_a_l_-_f_i_l_e_s - A synonym for mmppuutt. - - nneewweerr _r_e_m_o_t_e_-_f_i_l_e [_l_o_c_a_l_-_f_i_l_e] - Get the file only if the modification time of the remote file - is more recent that the file on the current system. If the - file does not exist on the current system, the remote file is - considered nneewweerr. Otherwise, this command is identical to - _g_e_t. - - nnlliisstt [_r_e_m_o_t_e_-_p_a_t_h [_l_o_c_a_l_-_f_i_l_e]] - A synonym for llss. - - nnmmaapp [_i_n_p_a_t_t_e_r_n _o_u_t_p_a_t_t_e_r_n] - Set or unset the filename mapping mechanism. If no arguments - are specified, the filename mapping mechanism is unset. If - arguments are specified, remote filenames are mapped during - mmppuutt commands and ppuutt commands issued without a specified re- - mote target filename. If arguments are specified, local - filenames are mapped during mmggeett commands and ggeett commands - issued without a specified local target filename. This com- - mand is useful when connecting to a non-UNIX remote computer - with different file naming conventions or practices. The - mapping follows the pattern set by _i_n_p_a_t_t_e_r_n and _o_u_t_p_a_t_t_e_r_n. - [_I_n_p_a_t_t_e_r_n] is a template for incoming filenames (which may - have already been processed according to the nnttrraannss and ccaassee - settings). Variable templating is accomplished by including - the sequences `$1', `$2', ..., `$9' in _i_n_p_a_t_t_e_r_n. Use `\' to - prevent this special treatment of the `$' character. All - other characters are treated literally, and are used to de- - termine the nnmmaapp [_i_n_p_a_t_t_e_r_n] variable values. For example, - given _i_n_p_a_t_t_e_r_n $1.$2 and the remote file name "mydata.data", - $1 would have the value "mydata", and $2 would have the value - "data". The _o_u_t_p_a_t_t_e_r_n determines the resulting mapped file- - name. The sequences `$1', `$2', ...., `$9' are replaced by - any value resulting from the _i_n_p_a_t_t_e_r_n template. The se- - quence `$0' is replace by the original filename. Additional- - ly, the sequence `[_s_e_q_1, _s_e_q_2]' is replaced by [_s_e_q_1] if _s_e_q_1 - is not a null string; otherwise it is replaced by _s_e_q_2. For - example, the command - - nmap $1.$2.$3 [$1,$2].[$2,file] - - would yield the output filename "myfile.data" for input file- - names "myfile.data" and "myfile.data.old", "myfile.file" for - the input filename "myfile", and "myfile.myfile" for the in- - put filename ".myfile". Spaces may be included in - _o_u_t_p_a_t_t_e_r_n, as in the example: `nmap $1 sed "s/ *$//" > $1' - . Use the `\' character to prevent special treatment of the - `$','[',']', and `,' characters. - - nnttrraannss [_i_n_c_h_a_r_s [_o_u_t_c_h_a_r_s]] - Set or unset the filename character translation mechanism. - If no arguments are specified, the filename character trans- - lation mechanism is unset. If arguments are specified, char- - acters in remote filenames are translated during mmppuutt com- - mands and ppuutt commands issued without a specified remote tar- - get filename. If arguments are specified, characters in lo- - cal filenames are translated during mmggeett commands and ggeett - commands issued without a specified local target filename. - This command is useful when connecting to a non-UNIX remote - computer with different file naming conventions or practices. - Characters in a filename matching a character in _i_n_c_h_a_r_s are - replaced with the corresponding character in _o_u_t_c_h_a_r_s. If - the character's position in _i_n_c_h_a_r_s is longer than the length - of _o_u_t_c_h_a_r_s, the character is deleted from the file name. - - ooppeenn _h_o_s_t [_p_o_r_t] - Establish a connection to the specified _h_o_s_t FTP server. An - optional port number may be supplied, in which case, ffttpp will - attempt to contact an FTP server at that port. If the aauuttoo-- - llooggiinn option is on (default), ffttpp will also attempt to auto- - matically log the user in to the FTP server (see below). - - ppaaggee _f_i_l_e Retrieve ffiillee and display with the program specified by the - sseett ppaaggeerr option. - - ppaassssiivvee [aauuttoo] - Toggle passive mode (if no arguments are given). If aauuttoo is - given, act as if FTPMODE is set to `auto'. If passive mode - is turned on (default), ffttpp will send a PASV command for all - data connections instead of a PORT command. The PASV command - requests that the remote server open a port for the data con- - nection and return the address of that port. The remote - server listens on that port and the client connects to it. - When using the more traditional PORT command, the client lis- - tens on a port and sends that address to the remote server, - who connects back to it. Passive mode is useful when using - ffttpp through a gateway router or host that controls the direc- - tionality of traffic. (Note that though FTP servers are re- - quired to support the PASV command by RFC 1123, some do not.) - - ppddiirr [_r_e_m_o_t_e_-_p_a_t_h] - Perform ddiirr [_r_e_m_o_t_e_-_p_a_t_h], and display the result with the - program specified by the sseett ppaaggeerr option. - - ppllss [_r_e_m_o_t_e_-_p_a_t_h] - Perform llss [_r_e_m_o_t_e_-_p_a_t_h], and display the result with the - program specified by the sseett ppaaggeerr option. - - ppmmllssdd [_r_e_m_o_t_e_-_p_a_t_h] - Perform mmllssdd [_r_e_m_o_t_e_-_p_a_t_h], and display the result with the - program specified by the sseett ppaaggeerr option. - - pprreesseerrvvee Toggle preservation of modification times on retrieved files. - - pprrooggrreessss Toggle display of transfer progress bar. The progress bar - will be disabled for a transfer that has _l_o_c_a_l_-_f_i_l_e as `--' or - a command that starts with `|'. Refer to _F_I_L_E _N_A_M_I_N_G - _C_O_N_V_E_N_T_I_O_N_S for more information. Enabling pprrooggrreessss disables - hhaasshh. - - pprroommpptt Toggle interactive prompting. Interactive prompting occurs - during multiple file transfers to allow the user to selec- - tively retrieve or store files. If prompting is turned off - (default is on), any mmggeett or mmppuutt will transfer all files, - and any mmddeelleettee will delete all files. - - When prompting is on, the following commands are available at - a prompt: - - aa Answer `yes' to the current file, and automatically - answer `yes' to any remaining files for the current - command. - - nn Answer `no', and do not transfer the file. - - pp Answer `yes' to the current file, and turn off - prompt mode (as is ``prompt off'' had been given). - - qq Terminate the current operation. - - yy Answer `yes', and transfer the file. - - ?? Display a help message. - - Any other reponse will answer `yes' to the current file. - - pprrooxxyy _f_t_p_-_c_o_m_m_a_n_d - Execute an ftp command on a secondary control connection. - This command allows simultaneous connection to two remote FTP - servers for transferring files between the two servers. The - first pprrooxxyy command should be an ooppeenn, to establish the sec- - ondary control connection. Enter the command "proxy ?" to - see other FTP commands executable on the secondary connec- - tion. The following commands behave differently when pref- - aced by pprrooxxyy: ooppeenn will not define new macros during the au- - to-login process, cclloossee will not erase existing macro defini- - tions, ggeett and mmggeett transfer files from the host on the pri- - mary control connection to the host on the secondary control - connection, and ppuutt, mmppuutt, and aappppeenndd transfer files from the - host on the secondary control connection to the host on the - primary control connection. Third party file transfers de- - pend upon support of the FTP protocol PASV command by the - server on the secondary control connection. - - ppuutt _l_o_c_a_l_-_f_i_l_e [_r_e_m_o_t_e_-_f_i_l_e] - Store a local file on the remote machine. If _r_e_m_o_t_e_-_f_i_l_e is - left unspecified, the local file name is used after process- - ing according to any nnttrraannss or nnmmaapp settings in naming the - remote file. File transfer uses the current settings for - ttyyppee, ffoorrmmaatt, mmooddee, and ssttrruuccttuurree. - - ppwwdd Print the name of the current working directory on the remote - machine. - - qquuiitt A synonym for bbyyee. - - qquuoottee _a_r_g_1 _a_r_g_2 _._._. - The arguments specified are sent, verbatim, to the remote FTP - server. - - rraattee _d_i_r_e_c_t_i_o_n [_m_a_x_i_m_u_m [_i_n_c_r_e_m_e_n_t]] - Throttle the maximum transfer rate to _m_a_x_i_m_u_m bytes/second. - If _m_a_x_i_m_u_m is 0, disable the throttle. - - _d_i_r_e_c_t_i_o_n may be one of: - aallll Both directions. - ggeett Incoming transfers. - ppuutt Outgoing transfers. - - _m_a_x_i_m_u_m can by modified on the fly by _i_n_c_r_e_m_e_n_t bytes (de- - fault: 1024) each time a given signal is received: - - SIGUSR1 Increment _m_a_x_i_m_u_m by _i_n_c_r_e_m_e_n_t bytes. - - SIGUSR2 Decrement _m_a_x_i_m_u_m by _i_n_c_r_e_m_e_n_t bytes. The re- - sult must be a positive number. - - If _m_a_x_i_m_u_m is not supplied, the current throttle rates are - displayed. - - Note: rraattee is not yet implemented for ascii mode transfers. - - rrccvvbbuuff _s_i_z_e - Set the size of the socket receive buffer to _s_i_z_e. - - rreeccvv _r_e_m_o_t_e_-_f_i_l_e [_l_o_c_a_l_-_f_i_l_e] - A synonym for ggeett. - - rreeggeett _r_e_m_o_t_e_-_f_i_l_e [_l_o_c_a_l_-_f_i_l_e] - rreeggeett acts like ggeett, except that if _l_o_c_a_l_-_f_i_l_e exists and is - smaller than _r_e_m_o_t_e_-_f_i_l_e, _l_o_c_a_l_-_f_i_l_e is presumed to be a par- - tially transferred copy of _r_e_m_o_t_e_-_f_i_l_e and the transfer is - continued from the apparent point of failure. This command - is useful when transferring very large files over networks - that are prone to dropping connections. - - rreemmooppttss _c_o_m_m_a_n_d [_c_o_m_m_a_n_d_-_o_p_t_i_o_n_s] - Set options on the remote FTP server for _c_o_m_m_a_n_d to _c_o_m_m_a_n_d_- - _o_p_t_i_o_n_s (whose absence is handled on a command-specific ba- - sis). Remote FTP commands known to support options include: - `MLST' (used for MLSD and MLST). - - rreennaammee [_f_r_o_m [_t_o]] - Rename the file _f_r_o_m on the remote machine, to the file _t_o. - - rreesseett Clear reply queue. This command re-synchronizes command/re- - ply sequencing with the remote FTP server. Resynchronization - may be necessary following a violation of the FTP protocol by - the remote server. - - rreessttaarrtt _m_a_r_k_e_r - Restart the immediately following ggeett or ppuutt at the indicated - _m_a_r_k_e_r. On UNIX systems, marker is usually a byte offset in- - to the file. - - rrhheellpp [_c_o_m_m_a_n_d_-_n_a_m_e] - Request help from the remote FTP server. If a _c_o_m_m_a_n_d_-_n_a_m_e - is specified it is supplied to the server as well. - - rrmmddiirr _d_i_r_e_c_t_o_r_y_-_n_a_m_e - Delete a directory on the remote machine. - - rrssttaattuuss [_r_e_m_o_t_e_-_f_i_l_e] - With no arguments, show status of remote machine. If _r_e_m_o_t_e_- - _f_i_l_e is specified, show status of _r_e_m_o_t_e_-_f_i_l_e on remote ma- - chine. - - rruunniiqquuee Toggle storing of files on the local system with unique file- - names. If a file already exists with a name equal to the - target local filename for a ggeett or mmggeett command, a ".1" is - appended to the name. If the resulting name matches another - existing file, a ".2" is appended to the original name. If - this process continues up to ".99", an error message is - printed, and the transfer does not take place. The generated - unique filename will be reported. Note that rruunniiqquuee will not - affect local files generated from a shell command (see be- - low). The default value is off. - - sseenndd _l_o_c_a_l_-_f_i_l_e [_r_e_m_o_t_e_-_f_i_l_e] - A synonym for ppuutt. - - sseennddppoorrtt Toggle the use of PORT commands. By default, ffttpp will at- - tempt to use a PORT command when establishing a connection - for each data transfer. The use of PORT commands can prevent - delays when performing multiple file transfers. If the PORT - command fails, ffttpp will use the default data port. When the - use of PORT commands is disabled, no attempt will be made to - use PORT commands for each data transfer. This is useful for - certain FTP implementations which do ignore PORT commands - but, incorrectly, indicate they've been accepted. - - sseett [_o_p_t_i_o_n _v_a_l_u_e] - Set _o_p_t_i_o_n to _v_a_l_u_e. If _o_p_t_i_o_n and _v_a_l_u_e are not given, dis- - play all of the options and their values. The currently sup- - ported options are: - - anonpass Defaults to $FTPANONPASS - - ftp_proxy Defaults to $ftp_proxy. - - http_proxy Defaults to $http_proxy. - - no_proxy Defaults to $no_proxy. - - pager Defaults to $PAGER. - - prompt Defaults to $FTPPROMPT. - - rprompt Defaults to $FTPRPROMPT. - - ssiittee _a_r_g_1 _a_r_g_2 _._._. - The arguments specified are sent, verbatim, to the remote FTP - server as a SITE command. - - ssiizzee _r_e_m_o_t_e_-_f_i_l_e - Return size of _r_e_m_o_t_e_-_f_i_l_e on remote machine. - - ssnnddbbuuff _s_i_z_e - Set the size of the socket send buffer to _s_i_z_e. - - ssttaattuuss Show the current status of ffttpp. - - ssttrruucctt _s_t_r_u_c_t_-_n_a_m_e - Set the file transfer _s_t_r_u_c_t_u_r_e to _s_t_r_u_c_t_-_n_a_m_e. The default - (and only supported) structure is ``file''. - - ssuunniiqquuee Toggle storing of files on remote machine under unique file - names. The remote FTP server must support FTP protocol STOU - command for successful completion. The remote server will - report unique name. Default value is off. - - ssyysstteemm Show the type of operating system running on the remote ma- - chine. - - tteenneexx Set the file transfer type to that needed to talk to TENEX - machines. - - tthhrroottttllee A synonym for rraattee. - - ttrraaccee Toggle packet tracing. - - ttyyppee [_t_y_p_e_-_n_a_m_e] - Set the file transfer ttyyppee to _t_y_p_e_-_n_a_m_e. If no type is spec- - ified, the current type is printed. The default type is net- - work ASCII. - - uummaasskk [_n_e_w_m_a_s_k] - Set the default umask on the remote server to _n_e_w_m_a_s_k. If - _n_e_w_m_a_s_k is omitted, the current umask is printed. - - uunnsseett _o_p_t_i_o_n - Unset _o_p_t_i_o_n. Refer to sseett for more information. - - uussaaggee _c_o_m_m_a_n_d - Print the usage message for _c_o_m_m_a_n_d. - - uusseerr _u_s_e_r_-_n_a_m_e [_p_a_s_s_w_o_r_d [_a_c_c_o_u_n_t]] - Identify yourself to the remote FTP server. If the _p_a_s_s_w_o_r_d - is not specified and the server requires it, ffttpp will prompt - the user for it (after disabling local echo). If an _a_c_c_o_u_n_t - field is not specified, and the FTP server requires it, the - user will be prompted for it. If an _a_c_c_o_u_n_t field is speci- - fied, an account command will be relayed to the remote server - after the login sequence is completed if the remote server - did not require it for logging in. Unless ffttpp is invoked - with ``auto-login'' disabled, this process is done automati- - cally on initial connection to the FTP server. - - vveerrbboossee Toggle verbose mode. In verbose mode, all responses from the - FTP server are displayed to the user. In addition, if ver- - bose is on, when a file transfer completes, statistics re- - garding the efficiency of the transfer are reported. By de- - fault, verbose is on. - - xxffeerrbbuuff _s_i_z_e - Set the size of the socket send and receive buffers to _s_i_z_e. - - ?? [_c_o_m_m_a_n_d] - A synonym for hheellpp. - - Command arguments which have embedded spaces may be quoted with quote `"' - marks. - - Commands which toggle settings can take an explicit oonn or ooffff argument to - force the setting appropriately. - - Commands which take a byte count as an argument (e.g., hhaasshh, rraattee, and - xxffeerrbbuuff) support an optional suffix on the argument which changes the in- - terpretation of the argument. Supported suffixes are: - b Causes no modification. (Optional) - k Kilo; multiply the argument by 1024 - m Mega; multiply the argument by 1048576 - g Giga; multiply the argument by 1073741824 - - If ffttpp receives a SIGINFO (see the ``status'' argument of stty(1)) or - SIGQUIT signal whilst a transfer is in progress, the current transfer - rate statistics will be written to the standard error output, in the same - format as the standard completion message. - -AAUUTTOO--FFEETTCCHHIINNGG FFIILLEESS - In addition to standard commands, this version of ffttpp supports an auto- - fetch feature. To enable auto-fetch, simply pass the list of host- - names/files on the command line. - - The following formats are valid syntax for an auto-fetch element: - - [user@]host:[path][/] - ``Classic'' FTP format. - - If _p_a_t_h contains a glob character and globbing is enabled, (see - gglloobb), then the equivalent of `mget path' is performed. - - If the directory component of _p_a_t_h contains no globbing characters, - it is stored locally with the name basename (see basename(1)) of - ppaatthh, in the current directory. Otherwise, the full remote name is - used as the local name, relative to the local root directory. - - ftp://[user[:password]@]host[:port]/path[/][;type=X] - An FTP URL, retrieved using the FTP protocol if sseett ffttpp__pprrooxxyy isn't - defined. Otherwise, transfer the URL using HTTP via the proxy de- - fined in sseett ffttpp__pprrooxxyy. If sseett ffttpp__pprrooxxyy isn't defined and _u_s_e_r is - given, login as _u_s_e_r. In this case, use _p_a_s_s_w_o_r_d if supplied, oth- - erwise prompt the user for one. - - In order to be compliant with RRFFCC 11773388, ffttpp strips the leading `/' - from _p_a_t_h, resulting in a transfer relative from the default login - directory of the user. If the _/ directory is required, use a lead- - ing path of ``%2F''. If a user's home directory is required (and - the remote server supports the syntax), use a leading path of - ``%7Euser/''. For example, to retrieve _/_e_t_c_/_m_o_t_d from `localhost' - as the user `myname' with the password `mypass', use - ``ftp://myname:mypass@localhost/%2fetc/motd'' - - If a suffix of `;type=A' or `;type=I' is supplied, then the trans- - fer type will take place as ascii or binary (respectively). The - default transfer type is binary. - - http://[user[:password]@]host[:port]/path - An HTTP URL, retrieved using the HTTP protocol. If sseett hhttttpp__pprrooxxyy - is defined, it is used as a URL to an HTTP proxy server. If HTTP - authorisation is required to retrieve _p_a_t_h, and `user' (and option- - ally `password') is in the URL, use them for the first attempt to - authenticate. - - file:///path - A local URL, copied from _/_p_a_t_h. - - Unless noted otherwise above, and --oo _o_u_t_p_u_t is not given, the file is - stored in the current directory as the basename(1) of _p_a_t_h. - - If a classic format or an FTP URL format has a trailing `/' or an empty - _p_a_t_h component, then ffttpp will connect to the site and ccdd to the directory - given as the path, and leave the user in interactive mode ready for fur- - ther input. This will not work if sseett ffttpp__pprrooxxyy is being used. - - Direct HTTP transfers use HTTP 1.1. Proxied FTP and HTTP transfers use - HTTP 1.0. - - If --RR is given, all auto-fetches that don't go via the FTP or HTTP prox- - ies will be restarted. For FTP, this is implemented by using rreeggeett in- - stead of ggeett. For HTTP, this is implemented by using the `Range: bytes=' - HTTP/1.1 directive. - - If WWW or proxy WWW authentication is required, you will be prompted to - enter a username and password to authenticate with. - - When specifying IPv6 numeric addresses in a URL, you need to surround the - address in square brackets. E.g.: ``ftp://[::1]:21/''. This is because - colons are used in IPv6 numeric address as well as being the separator - for the port number. - -AABBOORRTTIINNGG AA FFIILLEE TTRRAANNSSFFEERR - To abort a file transfer, use the terminal interrupt key (usually Ctrl- - C). Sending transfers will be immediately halted. Receiving transfers - will be halted by sending an FTP protocol ABOR command to the remote - server, and discarding any further data received. The speed at which - this is accomplished depends upon the remote server's support for ABOR - processing. If the remote server does not support the ABOR command, the - prompt will not appear until the remote server has completed sending the - requested file. - - If the terminal interrupt key sequence is used whilst ffttpp is awaiting a - reply from the remote server for the ABOR processing, then the connection - will be closed. This is different from the traditional behaviour (which - ignores the terminal interrupt during this phase), but is considered more - useful. - -FFIILLEE NNAAMMIINNGG CCOONNVVEENNTTIIOONNSS - Files specified as arguments to ffttpp commands are processed according to - the following rules. - - 1. If the file name `--' is specified, the _s_t_d_i_n (for reading) or _s_t_d_o_u_t - (for writing) is used. - - 2. If the first character of the file name is `|', the remainder of the - argument is interpreted as a shell command. ffttpp then forks a shell, - using popen(3) with the argument supplied, and reads (writes) from - the stdout (stdin). If the shell command includes spaces, the argu- - ment must be quoted; e.g. ``"| ls -lt"''. A particularly useful - example of this mechanism is: ``dir "" |more''. - - 3. Failing the above checks, if ``globbing'' is enabled, local file - names are expanded according to the rules used in the csh(1); c.f. - the gglloobb command. If the ffttpp command expects a single local file - (e.g. ppuutt), only the first filename generated by the "globbing" op- - eration is used. - - 4. For mmggeett commands and ggeett commands with unspecified local file - names, the local filename is the remote filename, which may be al- - tered by a ccaassee, nnttrraannss, or nnmmaapp setting. The resulting filename - may then be altered if rruunniiqquuee is on. - - 5. For mmppuutt commands and ppuutt commands with unspecified remote file - names, the remote filename is the local filename, which may be al- - tered by a nnttrraannss or nnmmaapp setting. The resulting filename may then - be altered by the remote server if ssuunniiqquuee is on. - -FFIILLEE TTRRAANNSSFFEERR PPAARRAAMMEETTEERRSS - The FTP specification specifies many parameters which may affect a file - transfer. The ttyyppee may be one of ``ascii'', ``image'' (binary), - ``ebcdic'', and ``local byte size'' (for PDP-10's and PDP-20's mostly). - ffttpp supports the ascii and image types of file transfer, plus local byte - size 8 for tteenneexx mode transfers. - - ffttpp supports only the default values for the remaining file transfer pa- - rameters: mmooddee, ffoorrmm, and ssttrruucctt. - -TTHHEE ..nneettrrcc FFIILLEE - The _._n_e_t_r_c file contains login and initialization information used by the - auto-login process. It resides in the user's home directory, unless - overridden with the --NN _n_e_t_r_c option, or specified in the NETRC environ- - ment variable. The following tokens are recognized; they may be separat- - ed by spaces, tabs, or new-lines: - - mmaacchhiinnee _n_a_m_e - Identify a remote machine _n_a_m_e. The auto-login process search- - es the _._n_e_t_r_c file for a mmaacchhiinnee token that matches the remote - machine specified on the ffttpp command line or as an ooppeenn command - argument. Once a match is made, the subsequent _._n_e_t_r_c tokens - are processed, stopping when the end of file is reached or an- - other mmaacchhiinnee or a ddeeffaauulltt token is encountered. - - ddeeffaauulltt This is the same as mmaacchhiinnee _n_a_m_e except that ddeeffaauulltt matches - any name. There can be only one ddeeffaauulltt token, and it must be - after all mmaacchhiinnee tokens. This is normally used as: - - default login anonymous password user@site - - thereby giving the user an automatic anonymous FTP login to ma- - chines not specified in _._n_e_t_r_c. This can be overridden by us- - ing the --nn flag to disable auto-login. - - llooggiinn _n_a_m_e - Identify a user on the remote machine. If this token is pre- - sent, the auto-login process will initiate a login using the - specified _n_a_m_e. - - ppaasssswwoorrdd _s_t_r_i_n_g - Supply a password. If this token is present, the auto-login - process will supply the specified string if the remote server - requires a password as part of the login process. Note that if - this token is present in the _._n_e_t_r_c file for any user other - than _a_n_o_n_y_m_o_u_s, ffttpp will abort the auto-login process if the - _._n_e_t_r_c is readable by anyone besides the user. - - aaccccoouunntt _s_t_r_i_n_g - Supply an additional account password. If this token is pre- - sent, the auto-login process will supply the specified string - if the remote server requires an additional account password, - or the auto-login process will initiate an ACCT command if it - does not. - - mmaaccddeeff _n_a_m_e - Define a macro. This token functions like the ffttpp mmaaccddeeff com- - mand functions. A macro is defined with the specified name; - its contents begin with the next _._n_e_t_r_c line and continue until - a blank line (consecutive new-line characters) is encountered. - If a macro named iinniitt is defined, it is automatically executed - as the last step in the auto-login process. - -CCOOMMMMAANNDD LLIINNEE EEDDIITTIINNGG - ffttpp supports interactive command line editing, via the editline(3) li- - brary. It is enabled with the eeddiitt command, and is enabled by default if - input is from a tty. Previous lines can be recalled and edited with the - arrow keys, and other GNU Emacs-style editing keys may be used as well. - - The editline(3) library is configured with a _._e_d_i_t_r_c file - refer to - editrc(5) for more information. - - An extra key binding is available to ffttpp to provide context sensitive - command and filename completion (including remote file completion). To - use this, bind a key to the editline(3) command ffttpp--ccoommpplleettee. By de- - fault, this is bound to the TAB key. - -CCOOMMMMAANNDD LLIINNEE PPRROOMMPPTT - By default, ffttpp displays a command line prompt of ``ftp>'' to the user. - This can be changed with the sseett pprroommpptt command. - - A prompt can be displayed on the right side of the screen (after the com- - mand input) with the sseett rrpprroommpptt command. - - The following formatting sequences are replaced by the given information: - - %/ The current remote working directory. - - %c[[0]_n], %.[[0]_n] - The trailing component of the current remote working directo- - ry, or _n trailing components if a digit _n is given. If _n be- - gins with `0', the number of skipped components precede the - trailing component(s) in the format ``/_<_s_k_i_p_p_e_d_>trailing'' - (for `%c') or ``...trailing'' (for `%.'). - - %M The remote host name. - - %m The remote host name, up to the first `.'. - - %n The remote user name. - - %% A single `%'. - -EENNVVIIRROONNMMEENNTT - ffttpp uses the following environment variables. - - FTPANONPASS Password to send in an anonymous FTP transfer. Defaults - to ```whoami`@''. - - FTPMODE Overrides the default operation mode. Support values are: - - active active mode FTP only - - auto automatic determination of passive or active - (this is the default) - - gate gate-ftp mode - - passive passive mode FTP only - - FTPPROMPT Command-line prompt to use. Defaults to ``ftp>''. Refer - to _C_O_M_M_A_N_D _L_I_N_E _P_R_O_M_P_T for more information. - - FTPRPROMPT Command-line right side prompt to use. Defaults to ``''. - Refer to _C_O_M_M_A_N_D _L_I_N_E _P_R_O_M_P_T for more information. - - FTPSERVER Host to use as gate-ftp server when ggaattee is enabled. - - FTPSERVERPORT Port to use when connecting to gate-ftp server when ggaattee - is enabled. Default is port returned by a ggeettsseerrvvbbyynnaammee() - lookup of ``ftpgate/tcp''. - - HOME For default location of a _._n_e_t_r_c file, if one exists. - - NETRC An alternate location of the _._n_e_t_r_c file. - - PAGER Used by various commands to display files. Defaults to - more(1) if empty or not set. - - SHELL For default shell. - - ftp_proxy URL of FTP proxy to use when making FTP URL requests (if - not defined, use the standard FTP protocol). - - _N_O_T_E: this is not used for interactive sessions, only for - command-line fetches. - - http_proxy URL of HTTP proxy to use when making HTTP URL requests. - If proxy authentication is required and there is a user- - name and password in this URL, they will automatically be - used in the first attempt to authenticate to the proxy. - - Note that the use of a username and password in ftp_proxy - and http_proxy may be incompatible with other programs - that use it (such as lynx(1)). - - _N_O_T_E: this is not used for interactive sessions, only for - command-line fetches. - - no_proxy A space or comma separated list of hosts (or domains) for - which proxying is not to be used. Each entry may have an - optional trailing ":port", which restricts the matching to - connections to that port. - -SSEEEE AALLSSOO - getservbyname(3), editrc(5), services(5), ftpd(8) - -SSTTAANNDDAARRDDSS - ffttpp attempts to be compliant with RRFFCC 995599, RRFFCC 11112233, RRFFCC 11773388, RRFFCC 22006688, - RRFFCC 22338899, RRFFCC 22442288, RRFFCC 22773322, and ddrraafftt--iieettff--ffttppeexxtt--mmllsstt--1111. - -HHIISSTTOORRYY - The ffttpp command appeared in 4.2BSD. - - Various features such as command line editing, context sensitive command - and file completion, dynamic progress bar, automatic fetching of files - and URLs, modification time preservation, transfer rate throttling, con- - figurable command line prompt, and other enhancements over the standard - BSD ffttpp were implemented in NetBSD 1.3 and later releases by Luke Mewburn - <lukem@netbsd.org>. - - IPv6 support was added by the WIDE/KAME project (but may not be present - in all non-NetBSD versions of this program, depending if the operating - system supports IPv6 in a similar manner to KAME). - -BBUUGGSS - Correct execution of many commands depends upon proper behavior by the - remote server. - - An error in the treatment of carriage returns in the 4.2BSD ascii-mode - transfer code has been corrected. This correction may result in incor- - rect transfers of binary files to and from 4.2BSD servers using the ascii - type. Avoid this problem by using the binary image type. - - ffttpp assumes that all IPv4 mapped addresses (IPv6 addresses with a form - like ::ffff:10.1.1.1) indicate IPv4 destinations which can be handled by - AF_INET sockets. However, in certain IPv6 network configurations, this - assumption is not true. In such an environment, IPv4 mapped addresses - must be passed to AF_INET6 sockets directly. For example, if your site - uses a SIIT translator for IPv6-to-IPv4 translation, ffttpp is unable to - support your configuration. - -NetBSD 1.6_BETA1 May 18, 2002 16 diff --git a/contrib/lukemftp/todo b/contrib/lukemftp/todo deleted file mode 100644 index 486381579c29..000000000000 --- a/contrib/lukemftp/todo +++ /dev/null @@ -1,25 +0,0 @@ -$Id: todo,v 1.30 2002/06/10 08:08:53 lukem Exp $ - -update NEWS, README, ... - -at end of configure, show summary of options used and features found - -if socks is defined, disable ipv6 and use own getaddrinfo()/getnameinfo() -(for tron) - -add locale autoconf checks - -AC_CHECK_SIZEOF(off_t, 0) doesn't work on FreeBSD 4.0 because the -test doesn't include <sys/types.h>. fix autoconf? - -in configure, check for ansi c compiler and barf if it fails - -check if we need #defines for memcpy() et al - -check for utimes() decls [which system?] - -possibly install editline.3 and editrc.5 - -system specific tests (to remove need for manual intervention): -- sunos4 - LIBS+= -lresolv |