Browse Source

gnu: lftp: Update to 4.7.3.

* gnu/packages/ftp.scm (lftp): Update to 4.7.3.
[source]: Use HTTPS. Remove patch.
[arguments]: Add ‘disable-impure-tests’ phase. Add #:configure-flags with
explicit location of readline headers.
[home-page]: Use HTTPS.
* gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch: Delete
file.
* gnu/local.mk (dist_patch_DATA): Remove it.
version-0.12.0
Tobias Geerinckx-Rice 6 years ago
parent
commit
5e270e8e8f
No known key found for this signature in database GPG Key ID: 91CCDB9B48541B99
  1. 1
      gnu/local.mk
  2. 25
      gnu/packages/ftp.scm
  3. 81
      gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch

1
gnu/local.mk

@ -619,7 +619,6 @@ dist_patch_DATA = \
%D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \
%D%/packages/patches/laby-make-install.patch \
%D%/packages/patches/ldc-disable-tests.patch \
%D%/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch \
%D%/packages/patches/liba52-enable-pic.patch \
%D%/packages/patches/liba52-link-with-libm.patch \
%D%/packages/patches/liba52-set-soname.patch \

25
gnu/packages/ftp.scm

@ -2,6 +2,7 @@
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -33,18 +34,16 @@
(define-public lftp
(package
(name "lftp")
(version "4.6.1")
(version "4.7.3")
(source (origin
(method url-fetch)
(uri (list (string-append "http://lftp.yar.ru/ftp/lftp-"
(uri (list (string-append "https://lftp.yar.ru/ftp/lftp-"
version ".tar.xz")
(string-append "http://lftp.yar.ru/ftp/old/lftp-"
(string-append "https://lftp.yar.ru/ftp/old/lftp-"
version ".tar.xz")))
(sha256
(base32
"1grmp8zg7cjgjinz66mrh53whigkqzl90nlxj05hapnhk3ns3vni"))
(patches (search-patches
"lftp-dont-save-unknown-host-fingerprint.patch"))))
"0z4flhqvq9w9md1348jdw0lnk0dlljyicz8597inl6jcvjf2a8iv"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -52,7 +51,19 @@
`(("zlib" ,zlib)
("readline" ,readline)
("gnutls" ,gnutls)))
(home-page "http://lftp.yar.ru/")
(arguments
`(#:phases
(modify-phases %standard-phases
;; Disable tests that require network access, which is most of them.
(add-before 'check 'disable-impure-tests
(lambda _
(substitute* "tests/Makefile"
(("(ftp-cls-l|ftp-list|http-get)\\$\\(EXEEXT\\)") "")
(("lftp-https-get ") "")))))
#:configure-flags
(list (string-append "--with-readline="
(assoc-ref %build-inputs "readline")))))
(home-page "https://lftp.yar.ru/")
(synopsis "Command-line file transfer program")
(description
"LFTP is a sophisticated FTP/HTTP client, and a file transfer program

81
gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch

@ -1,81 +0,0 @@
Fixes "saves unknown host's fingerprint in known_hosts without any prompt".
See:
https://github.com/lavv17/lftp/issues/116
https://bugs.debian.org/774769
From bc7b476e782d77839765f56bbdb4cee9f36b54ec Mon Sep 17 00:00:00 2001
From: "Alexander V. Lukyanov" <lavv17f@gmail.com>
Date: Tue, 13 Jan 2015 15:33:54 +0300
Subject: [PATCH] add settings fish:auto-confirm and sftp:auto-confirm
New host keys are now not confirmed by default, this should improve security.
Suggested by Marcin Szewczyk <Marcin.Szewczyk@wodny.org>
---
doc/lftp.1 | 8 ++++++++
src/SSH_Access.cc | 5 +++--
src/resource.cc | 2 ++
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/doc/lftp.1 b/doc/lftp.1
index cabc1be..ed6c388 100644
--- a/doc/lftp.1
+++ b/doc/lftp.1
@@ -1384,6 +1384,10 @@ address family in dns:order.
.BR file:charset \ (string)
local character set. It is set from current locale initially.
.TP
+.BR fish:auto-confirm \ (boolean)
+when true, lftp answers ``yes'' to all ssh questions, in particular to the
+question about a new host key. Otherwise it answers ``no''.
+.TP
.BR fish:charset \ (string)
the character set used by fish server in requests, replies and file listings.
Default is empty which means the same as local.
@@ -1952,6 +1956,10 @@ minimal chunk size to split the file to.
save pget transfer status this often. Set to `never' to disable saving of the status file.
The status is saved to a file with suffix \fI.lftp-pget-status\fP.
.TP
+.BR sftp:auto-confirm \ (boolean)
+when true, lftp answers ``yes'' to all ssh questions, in particular to the
+question about a new host key. Otherwise it answers ``no''.
+.TP
.BR sftp:charset \ (string)
the character set used by SFTP server in file names and file listings.
Default is empty which means the same as local. This setting is only used
diff --git a/src/SSH_Access.cc b/src/SSH_Access.cc
index 706fc6a..17c716d 100644
--- a/src/SSH_Access.cc
+++ b/src/SSH_Access.cc
@@ -72,8 +72,9 @@ int SSH_Access::HandleSSHMessage()
}
if(s>=y_len && !strncasecmp(b+s-y_len,y,y_len))
{
- pty_recv_buf->Put("yes\n");
- pty_send_buf->Put("yes\n");
+ const char *answer=QueryBool("auto-confirm",hostname)?"yes\n":"no\n";
+ pty_recv_buf->Put(answer);
+ pty_send_buf->Put(answer);
return m;
}
if(!received_greeting && recv_buf->Size()>0)
diff --git a/src/resource.cc b/src/resource.cc
index 91b2e60..3a5e8b9 100644
--- a/src/resource.cc
+++ b/src/resource.cc
@@ -339,6 +339,7 @@ static ResType lftp_vars[] = {
{"mirror:no-empty-dirs", "no", ResMgr::BoolValidate,ResMgr::NoClosure},
{"mirror:require-source", "no", ResMgr::BoolValidate,ResMgr::NoClosure},
+ {"sftp:auto-confirm", "no", ResMgr::BoolValidate,0},
{"sftp:max-packets-in-flight","16", ResMgr::UNumberValidate,0},
{"sftp:protocol-version", "6", ResMgr::UNumberValidate,0},
{"sftp:size-read", "32k", ResMgr::UNumberValidate,0},
@@ -367,6 +368,7 @@ static ResType lftp_vars[] = {
{"dns:strict-dnssec", "no", ResMgr::BoolValidate,0},
#endif
+ {"fish:auto-confirm", "no", ResMgr::BoolValidate,0},
{"fish:shell", "/bin/sh",0,0},
{"fish:connect-program", "ssh -a -x",0,0},
{"fish:charset", "", ResMgr::CharsetValidate,0},
Loading…
Cancel
Save