diff -ruN lftp-3.2.0/NEWS lftp-3.2.1/NEWS --- lftp-3.2.0/NEWS Sat May 14 09:08:30 2005 +++ lftp-3.2.1/NEWS Wed May 25 17:15:40 2005 @@ -1,9 +1,19 @@ +Version 3.2.1 - 2005-05-25 + +* fixed handling of file names starting with a tilde in sftp protocol. +* fixed minor problem with `lftp -u user --help'. +* fixed compilation with modules. +* fixed compilation without OpenSSL and GnuTLS. +* fixed compilation with certain compiler versions. +* relaxed version requirement on GnuTLS. + Version 3.2.0 - 2005-05-14 * added support for gnutls library. Now OpenSSL is only used if explicitly configured with option --with-openssl, and by default gnutls is used. * added parser for AS/400 ftp listing. * fixed a coredump in mirror when symbolic link target is unknown. +* fixed tilde expansion in get -O argument. Version 3.1.3 - 2005-04-15 diff -ruN lftp-3.2.0/README lftp-3.2.1/README --- lftp-3.2.0/README Thu Mar 10 15:00:23 2005 +++ lftp-3.2.1/README Mon May 16 22:32:45 2005 @@ -163,13 +163,3 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -In addition, as a special exception, permission is given to link the -code of this release of lftp with the OpenSSL project's "OpenSSL" -library (or with modified versions of it that use the same license as -the "OpenSSL" library), and distribute the linked executables. You -must obey the GNU General Public License in all respects for all of -the code used other than "OpenSSL". If you modify this file, you may -extend this exception to your version of the file, but you are not -obligated to do so. If you do not wish to do so, delete this exception -statement from your version. diff -ruN lftp-3.2.0/TODO lftp-3.2.1/TODO --- lftp-3.2.0/TODO Wed Apr 20 12:18:48 2005 +++ lftp-3.2.1/TODO Tue May 17 13:43:43 2005 @@ -70,3 +70,5 @@ (change CmdExec::Done to return true when waiting_num. # @@ -423,8 +423,8 @@ # Identity of this package. PACKAGE_NAME='lftp' PACKAGE_TARNAME='lftp' -PACKAGE_VERSION='3.2.0' -PACKAGE_STRING='lftp 3.2.0' +PACKAGE_VERSION='3.2.1' +PACKAGE_STRING='lftp 3.2.1' PACKAGE_BUGREPORT='lftp-bugs@lftp.yar.ru' ac_config_libobj_dir=lib @@ -956,7 +956,7 @@ # 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 <<_ACEOF -\`configure' configures lftp 3.2.0 to adapt to many kinds of systems. +\`configure' configures lftp 3.2.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1022,7 +1022,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of lftp 3.2.0:";; + short | recursive ) echo "Configuration of lftp 3.2.1:";; esac cat <<\_ACEOF @@ -1181,7 +1181,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -lftp configure 3.2.0 +lftp configure 3.2.1 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1195,7 +1195,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by lftp $as_me 3.2.0, which was +It was created by lftp $as_me 3.2.1, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1838,7 +1838,7 @@ # Define the identity of the package. PACKAGE='lftp' - VERSION='3.2.0' + VERSION='3.2.1' cat >>confdefs.h <<_ACEOF @@ -26079,7 +26079,7 @@ echo "${ECHO_T}no" >&6 fi - min_libgnutls_version=1.2.1 + min_libgnutls_version=1.0.0 echo "$as_me:$LINENO: checking for libgnutls - version >= $min_libgnutls_version" >&5 echo $ECHO_N "checking for libgnutls - version >= $min_libgnutls_version... $ECHO_C" >&6 no_libgnutls="" @@ -26196,6 +26196,12 @@ #define USE_GNUTLS 1 _ACEOF + gnutls_version_code=`echo $libgnutls_config_version | $AWK -F. '{ printf "0x%02X%02X%02X\n",$1,$2,$3 }'` + +cat >>confdefs.h <<_ACEOF +#define LFTP_LIBGNUTLS_VERSION_CODE $gnutls_version_code +_ACEOF + else if test -f conf.libgnutlstest ; then @@ -32127,8 +32133,9 @@ + for ac_func in mktime memmove strcasecmp strncasecmp strtol strtoul\ - strptime strtok_r + strptime strtok_r memmem do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -33067,6 +33074,98 @@ fi +echo "$as_me:$LINENO: checking whether memmem is declared" >&5 +echo $ECHO_N "checking whether memmem is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_memmem+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +#include +#include +#include +#if STDC_HEADERS || HAVE_STRING_H +# include +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +#else +# include +#endif +#ifdef HAVE_NETINET_IN_H +# include +#endif +#ifdef HAVE_ARPA_INET_H +# include +#endif +#include + + +int +main () +{ +#ifndef memmem + char *p = (char *) memmem; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_memmem=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_memmem=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_memmem" >&5 +echo "${ECHO_T}$ac_cv_have_decl_memmem" >&6 +if test $ac_cv_have_decl_memmem = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MEMMEM 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MEMMEM 0 +_ACEOF + + +fi @@ -33554,7 +33653,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by lftp $as_me 3.2.0, which was +This file was extended by lftp $as_me 3.2.1, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -33620,7 +33719,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -lftp config.status 3.2.0 +lftp config.status 3.2.1 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff -ruN lftp-3.2.0/configure.ac lftp-3.2.1/configure.ac --- lftp-3.2.0/configure.ac Mon May 16 10:05:24 2005 +++ lftp-3.2.1/configure.ac Wed May 25 17:16:11 2005 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.53) -AC_INIT([lftp], [3.2.0], [lftp-bugs@lftp.yar.ru]) +AC_INIT([lftp], [3.2.1], [lftp-bugs@lftp.yar.ru]) AM_INIT_AUTOMAKE AC_CONFIG_LIBOBJ_DIR(lib) AC_CONFIG_SRCDIR([src/ftpclass.cc]) @@ -271,8 +271,10 @@ with_gnutls=no;; esac if test x$with_gnutls = xyes; then - AM_PATH_LIBGNUTLS([1.2.1], [ - AC_DEFINE(USE_GNUTLS, 1, [Define to 1 when using GNU TLS library]) + AM_PATH_LIBGNUTLS([1.0.0], [ + AC_DEFINE([USE_GNUTLS], 1, [Define to 1 when using GNU TLS library]) + gnutls_version_code=`echo $libgnutls_config_version | $AWK -F. '{ printf "0x%02X%02X%02X\n",$1,$2,$3 }'` + AC_DEFINE_UNQUOTED([LFTP_LIBGNUTLS_VERSION_CODE], $gnutls_version_code, [Define to libgnutls version, e.g. 0x010203 for 1.2.3]) ]) fi if test x$with_openssl = xyes -a x"$LIBGNUTLS_LIBS" = x; then @@ -385,8 +387,8 @@ lftp_VA_COPY LFTP_ENVIRON_CHECK AC_REPLACE_FUNCS([mktime memmove strcasecmp strncasecmp strtol strtoul\ - strptime strtok_r]) -AC_CHECK_DECLS([vsnprintf,snprintf,unsetenv,random,inet_aton,strcasecmp,strptime,strtok_r,dn_expand],,,[ + strptime strtok_r memmem]) +AC_CHECK_DECLS([vsnprintf,snprintf,unsetenv,random,inet_aton,strcasecmp,strptime,strtok_r,dn_expand,memmem],,,[ #include #include #include diff -ruN lftp-3.2.0/doc/ChangeLog lftp-3.2.1/doc/ChangeLog --- lftp-3.2.0/doc/ChangeLog Tue Apr 5 14:01:00 2005 +++ lftp-3.2.1/doc/ChangeLog Mon May 23 14:11:09 2005 @@ -1,3 +1,7 @@ +2005-05-23 A Costa + + * lftp.1: fixed several typos. + 2005-04-05 Alexander V. Lukyanov * lftp.1: document mirror --loop option. diff -ruN lftp-3.2.0/doc/lftp.1 lftp-3.2.1/doc/lftp.1 --- lftp-3.2.0/doc/lftp.1 Tue Apr 5 14:01:09 2005 +++ lftp-3.2.1/doc/lftp.1 Mon May 23 14:11:18 2005 @@ -17,7 +17,7 @@ .\" along with this program; see the file COPYING. If not, write to .\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. .\" -.\" $Id: lftp.1,v 1.101 2005/04/05 10:01:09 lav Exp $ +.\" $Id: lftp.1,v 1.102 2005/05/23 10:11:18 lav Exp $ .\" .\"------- .\" Sp space down the interparagraph distance @@ -437,7 +437,7 @@ 3 - +print directory names which are mirrored .De .PP -\-\-only\-newer turns off file size comparision and uploads/downloads +\-\-only\-newer turns off file size comparison and uploads/downloads only newer files even if size is different. By default older files are transferred and replace newer ones. .PP You can mirror between two servers if you specify URLs instead of directories. @@ -643,7 +643,7 @@ .PP Remove remote files. Does not expand wildcards, use \fBmrm\fR for that. -r is for recursive directory remove. Be careful, if something goes -wrong you can lose files. -f supress error messages. +wrong you can lose files. -f suppress error messages. .B rmdir \fIdir(s)\fP @@ -940,7 +940,7 @@ Default is "anonymous". .TP .BR ftp:auto-sync-mode \ (regex) -if first server message metches this regex, turn on sync mode for that host. +if first server message matches this regex, turn on sync mode for that host. .TP .BR ftp:charset \ (string) the character set used by ftp server in requests, replies and file listings. @@ -1147,7 +1147,7 @@ verify that data connection comes from the network address of control connection peer. This can possibly prevent data connection spoofing which can lead to data corruption. Unfortunately, this can fail -for sertain ftp servers with several network interfaces, +for certain ftp servers with several network interfaces, when they do not set outgoing address on data socket, so it is disabled by default. .TP .BR ftp:verify-port \ (boolean) @@ -1416,7 +1416,7 @@ files and generate an error instead. Default is on. .TP .BR xfer:eta-period \ (seconds) -the period over which wheighted average rate is calculated to produce ETA. +the period over which weighted average rate is calculated to produce ETA. .TP .BR xfer:eta-terse \ (boolean) show terse ETA (only high order parts). Default is true. @@ -1426,7 +1426,7 @@ Default is 0, which prohibits redirections. .TP .BR xfer:rate-period \ (seconds) -the period over which wheighted average rate is calculated to be shown. +the period over which weighted average rate is calculated to be shown. .PP The name of variables can be abbreviated unless it becomes diff -ruN lftp-3.2.0/include/config.h.in lftp-3.2.1/include/config.h.in --- lftp-3.2.0/include/config.h.in Mon May 16 10:11:06 2005 +++ lftp-3.2.1/include/config.h.in Wed May 25 17:20:48 2005 @@ -70,6 +70,10 @@ don't. */ #undef HAVE_DECL_INET_ATON +/* Define to 1 if you have the declaration of `memmem', and to 0 if you don't. + */ +#undef HAVE_DECL_MEMMEM + /* Define to 1 if you have the declaration of `random', and to 0 if you don't. */ #undef HAVE_DECL_RANDOM @@ -225,6 +229,9 @@ /* Define to 1 if declares mbstate_t. */ #undef HAVE_MBSTATE_T +/* Define to 1 if you have the `memmem' function. */ +#undef HAVE_MEMMEM + /* Define to 1 if you have the `memmove' function. */ #undef HAVE_MEMMOVE @@ -460,6 +467,9 @@ /* Define as const if the declaration of iconv() needs const. */ #undef ICONV_CONST + +/* Define to libgnutls version, e.g. 0x010203 for 1.2.3 */ +#undef LFTP_LIBGNUTLS_VERSION_CODE /* need yywrap */ #undef NEED_YYWRAP diff -ruN lftp-3.2.0/include/post-config.h lftp-3.2.1/include/post-config.h --- lftp-3.2.0/include/post-config.h Fri Apr 29 10:27:31 2005 +++ lftp-3.2.1/include/post-config.h Tue May 24 17:23:40 2005 @@ -112,6 +112,11 @@ CDECL char *strtok_r(char *str, const char *sep, char **lasts); #endif +#if !HAVE_DECL_MEMMEM +CDECL void *memmem(const void *haystack, size_t haystack_len, + const void *needle, size_t needle_len); +#endif + /* Tell the compiler when a conditional or integer expression is almost always true or almost always false. */ #ifndef HAVE_BUILTIN_EXPECT diff -ruN lftp-3.2.0/lftp.lsm lftp-3.2.1/lftp.lsm --- lftp-3.2.0/lftp.lsm Mon May 16 15:29:46 2005 +++ lftp-3.2.1/lftp.lsm Wed May 25 17:30:10 2005 @@ -1,7 +1,7 @@ Begin3 Title: LFTP command line file transfer program -Version: 3.2.0 -Entered-date: 2005-05-16 +Version: 3.2.1 +Entered-date: 2005-05-25 Description: LFTP is a shell-like command line file transfer program. It is reliable: can retry operations and does reget automatically. It can do several transfers simultaneously in background. @@ -22,7 +22,7 @@ Author: lav@yars.free.net (Alexander V. Lukyanov) Maintained-by: lav@yars.free.net (Alexander V. Lukyanov) Primary-site: ftp.yars.free.net /pub/software/unix/net/ftp/client/lftp - 1645 kB lftp-3.2.0.tar.gz + 1647 kB lftp-3.2.1.tar.gz Alternate-site: metalab.unc.edu /pub/Linux/system/network/file-transfer Platforms: Unix, G++ Copying-policy: GNU GPL diff -ruN lftp-3.2.0/lftp.spec lftp-3.2.1/lftp.spec --- lftp-3.2.0/lftp.spec Mon May 16 15:29:43 2005 +++ lftp-3.2.1/lftp.spec Wed May 25 17:30:07 2005 @@ -1,4 +1,4 @@ -%define version 3.2.0 +%define version 3.2.1 %define release 1 %define use_modules 0 diff -ruN lftp-3.2.0/lib/Makefile.in lftp-3.2.1/lib/Makefile.in --- lftp-3.2.0/lib/Makefile.in Mon May 16 10:07:14 2005 +++ lftp-3.2.1/lib/Makefile.in Wed May 25 17:16:59 2005 @@ -42,9 +42,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/fnmatch_.h $(srcdir)/glob.h $(srcdir)/poll.h \ $(srcdir)/regex.h COPYING.LIB alloca.c fnmatch.c getopt.c \ - getopt1.c glob.c hstrerror.c memmove.c mktime.c poll.c regex.c \ - strcasecmp.c strerror.c strncasecmp.c strptime.c strtok_r.c \ - strtol.c strtoul.c trio.c trionan.c triostr.c + getopt1.c glob.c hstrerror.c memmem.c memmove.c mktime.c \ + poll.c regex.c strcasecmp.c strerror.c strncasecmp.c \ + strptime.c strtok_r.c strtol.c strtoul.c trio.c trionan.c \ + triostr.c ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/cxx-dynamic-initializers.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/human.m4 \ @@ -280,6 +281,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/glob.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hstrerror.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memmem.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memmove.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mktime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/poll.Po@am__quote@ diff -ruN lftp-3.2.0/lib/memmem.c lftp-3.2.1/lib/memmem.c --- lftp-3.2.0/lib/memmem.c Thu Jan 1 03:00:00 1970 +++ lftp-3.2.1/lib/memmem.c Thu Jan 27 16:16:11 2005 @@ -0,0 +1,58 @@ +/* Copyright (C) 1991,92,93,94,96,97,98,2000,2004 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include +#include + +#ifndef _LIBC +# define __builtin_expect(expr, val) (expr) +#endif + +#undef memmem + +#ifndef HAVE_MEMMEM +/* Return the first occurrence of NEEDLE in HAYSTACK. */ +void *memmem(haystack, haystack_len, needle, needle_len) +const void *haystack; +size_t haystack_len; +const void *needle; +size_t needle_len; +{ + const char *begin; + const char *const last_possible + = (const char *) haystack + haystack_len - needle_len; + + if (needle_len == 0) + /* The first occurrence of the empty string is deemed to occur at + the beginning of the string. */ + return (void *) haystack; + + /* Sanity check, otherwise the loop might search through the whole + memory. */ + if (__builtin_expect(haystack_len < needle_len, 0)) + return NULL; + + for (begin = (const char *) haystack; begin <= last_possible; ++begin) + if (begin[0] == ((const char *) needle)[0] && + !memcmp((const void *) &begin[1], + (const void *) ((const char *) needle + 1), + needle_len - 1)) + return (void *) begin; + + return NULL; +} +#endif diff -ruN lftp-3.2.0/po/ChangeLog lftp-3.2.1/po/ChangeLog --- lftp-3.2.0/po/ChangeLog Sat Apr 16 14:33:29 2005 +++ lftp-3.2.1/po/ChangeLog Mon May 23 10:54:48 2005 @@ -1,3 +1,7 @@ +2005-05-23 Jakub Bogusz + + * pl.po: update. + 2005-04-16 Jakub Bogusz * pl.po: update. Binary files lftp-3.2.0/po/de.gmo and lftp-3.2.1/po/de.gmo differ diff -ruN lftp-3.2.0/po/de.po lftp-3.2.1/po/de.po --- lftp-3.2.0/po/de.po Fri May 13 17:43:15 2005 +++ lftp-3.2.1/po/de.po Tue May 24 18:12:00 2005 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-05-13 17:43+0400\n" +"POT-Creation-Date: 2005-05-24 18:11+0400\n" "PO-Revision-Date: 2004-05-21 12:53+0200\n" "Last-Translator: Moritz Moeller-Herrmann \n" "Language-Team: deutsch \n" @@ -290,18 +290,18 @@ msgid "%s: regular expression `%s': %s\n" msgstr "%s: Regulärer Ausdruck (regular expression) %s: %s\n" -#: src/MirrorJob.cc:1384 src/commands.cc:991 src/commands.cc:1079 -#: src/commands.cc:1471 src/commands.cc:1505 src/commands.cc:1604 -#: src/commands.cc:1894 src/commands.cc:2090 src/commands.cc:2263 -#: src/commands.cc:2270 src/commands.cc:2475 src/commands.cc:2502 -#: src/commands.cc:2509 src/commands.cc:2833 src/commands.cc:3114 +#: src/MirrorJob.cc:1384 src/commands.cc:992 src/commands.cc:1080 +#: src/commands.cc:1472 src/commands.cc:1506 src/commands.cc:1605 +#: src/commands.cc:1895 src/commands.cc:2091 src/commands.cc:2264 +#: src/commands.cc:2271 src/commands.cc:2512 src/commands.cc:2539 +#: src/commands.cc:2546 src/commands.cc:2870 src/commands.cc:3151 #: src/SleepJob.cc:139 #, c-format msgid "Try `help %s' for more information.\n" msgstr "»help %s« gibt mehr Informationen aus.\n" -#: src/MirrorJob.cc:1418 src/MirrorJob.cc:1434 src/commands.cc:856 -#: src/commands.cc:1985 src/DummyProto.cc:73 +#: src/MirrorJob.cc:1418 src/MirrorJob.cc:1434 src/commands.cc:857 +#: src/commands.cc:1986 src/DummyProto.cc:73 msgid " - not supported protocol" msgstr " - Protokoll nicht unterstützt" @@ -337,7 +337,7 @@ msgid "Invalid time format. Format is