Sync from SUSE:SLFO:Main lftp revision 75fffcb536538b539dddc1c7555383dc

This commit is contained in:
Adrian Schröter 2025-03-06 15:29:13 +01:00
commit dbd4e04f26
13 changed files with 2057 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,64 @@
From c12b66f8f09070758419cd2ef1f23c47cf0587f3 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tomas.chvatal@gmail.com>
Date: Wed, 28 Feb 2018 19:06:37 +0100
Subject: [PATCH 1/5] Add content of the SUSE lftp-vi-1.1 archive
---
src/cmd-edit.cc | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
create mode 100644 src/cmd-edit.cc
diff --git a/src/cmd-edit.cc b/src/cmd-edit.cc
new file mode 100644
index 00000000..93230905
--- /dev/null
+++ b/src/cmd-edit.cc
@@ -0,0 +1,45 @@
+#include <config.h>
+#include "CmdExec.h"
+
+const char *extractFilename(const char *path) {
+ // Calculate memory address
+ char *pnt = (char*)path + (strlen(path) * sizeof(char));
+
+ // Go from back to beginning and check for (back)slashes
+ for (pnt--; pnt > path; pnt--)
+ if (*pnt == '/' || *pnt == '\\')
+ return ++pnt;
+
+ return pnt;
+}
+
+Job *cmd_edit(CmdExec *parent)
+{
+ if (parent->args->count() < 2) {
+ printf("Missing filename.\n");
+ return 0;
+ }
+ const char *filename = parent->args->getarg(1);
+ const char *baseFilename = extractFilename(filename);
+
+ // Allocate enough bytes for the new commandline, but without format strings
+ char *commandline = (char*)xmalloc(52 + strlen(filename));
+ sprintf(commandline, "shell \"/bin/sh -c 'exec ${EDITOR:-vi} /tmp/lftp.%s'\"\n", baseFilename);
+
+ char *getcommandline = (char*)xmalloc(22 + (2 * strlen(filename)));
+ sprintf(getcommandline, "get %s -o /tmp/lftp.%s\n", filename, baseFilename);
+
+ char *putcommandline = (char*)xmalloc(22 + (2 * strlen(filename)));
+ sprintf(putcommandline, "put /tmp/lftp.%s -o %s\n", baseFilename, filename);
+
+ parent->FeedCmd(getcommandline);
+ parent->FeedCmd(commandline);
+ parent->FeedCmd(putcommandline);
+
+ return 0;
+}
+
+CDECL void module_init(int argc, const char * const *argv)
+{
+ CmdExec::RegisterCommand("edit", cmd_edit, "edit <filename>", "Edit the file in your EDITOR\n");
+}
--
2.16.2

View File

@ -0,0 +1,32 @@
From f5463495c401be1807d76b1dc00a62b1ef5ada23 Mon Sep 17 00:00:00 2001
From: Thomas Abraham <tabraham@suse.com>
Date: Mon, 22 Jan 2024 10:35:18 -0500
Subject: [PATCH] lftp_ssl: deinitialize the lftp_ssl_openssl_instance
If the instance isn't deinitialized prior to exit, the
OPENSSL_cleanup exit handler may run before the
lftp_ssl_openssl_instance destructor on exit resulting
in a segfault.
This fixes a null deref on exit.
Fixes #716
---
src/lftp_ssl.cc | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/lftp_ssl.cc b/src/lftp_ssl.cc
index 18f816e1..ba7d1edc 100644
--- a/src/lftp_ssl.cc
+++ b/src/lftp_ssl.cc
@@ -863,6 +863,7 @@ lftp_ssl_openssl::~lftp_ssl_openssl()
{
SSL_free(ssl);
ssl=0;
+ global_deinit();
}
static lftp_ssl_openssl *verify_callback_ssl;
--
2.35.3

View File

@ -0,0 +1,290 @@
From 2b248a384b5489f26c0d920316e20a15a75c678f Mon Sep 17 00:00:00 2001
From: =?utf8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tomas.chvatal@gmail.com>
Date: Wed, 28 Feb 2018 19:08:24 +0100
Subject: [PATCH 2/5] Add content of lftp-compat-addfiles.patch
---
src/CompatMode.cc | 238 +++++++++++
src/CompatMode.h | 28 ++
src/lftp-wrapper.c | 1177 ++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 1443 insertions(+)
create mode 100644 src/CompatMode.cc
create mode 100644 src/CompatMode.h
create mode 100644 src/lftp-wrapper.c
Index: lftp-4.9.2/src/CompatMode.cc
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ lftp-4.9.2/src/CompatMode.cc 2023-07-26 15:00:09.982720328 +0000
@@ -0,0 +1,238 @@
+/*
+ * compat mode for lftp
+ *
+ * Copyright (c) 2005 by Petr Ostadal (postadal@suse.cz)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, 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 General Public License for more details.
+ *
+ * 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.
+ */
+
+
+#include <config.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <assert.h>
+#include <pwd.h>
+#include "MirrorJob.h"
+#include "CmdExec.h"
+#include "rmJob.h"
+#include "mkdirJob.h"
+#include "ChmodJob.h"
+#include "misc.h"
+#include "plural.h"
+#include "getopt.h"
+#include "FindJob.h"
+#include "url.h"
+#include "CopyJob.h"
+#include "pgetJob.h"
+
+#include "modconfig.h"
+
+#include <fcntl.h>
+#include <termios.h>
+
+#include "xmalloc.h"
+#include "GetPass.h"
+#include "CharReader.h"
+#include "SignalHook.h"
+#include "Job.h"
+
+
+int ascii_mode;
+
+char* GetText(const char *prompt) {
+ static char *oldtext=0;
+ static int tty_fd=-2;
+ static FILE *f=0;
+
+ xfree(oldtext);
+ oldtext=0;
+
+ if(tty_fd==-2)
+ {
+ if(isatty(0))
+ tty_fd=0;
+ else
+ {
+ tty_fd=open("/dev/tty",O_RDONLY);
+ if(tty_fd!=-1)
+ fcntl(tty_fd,F_SETFD,FD_CLOEXEC);
+ }
+ }
+ if(tty_fd==-1)
+ return 0;
+
+ if(f==0)
+ f=fdopen(tty_fd,"r");
+ if(f==0)
+ return 0;
+
+ write(tty_fd,prompt,strlen(prompt));
+ oldtext=readline_from_file(fileno(f));
+ return oldtext;
+}
+
+CMD(ascii)
+{
+ ascii_mode = 1;
+ return NULL;
+}
+
+CMD(bin)
+{
+ ascii_mode = 0;
+ return NULL;
+}
+
+CMD(type)
+{
+ if (parent->args->count() == 2) {
+ if (strcmp(parent->args->getarg(1), "binary") == 0)
+ ascii_mode = 0;
+ else if (strcmp(parent->args->getarg(1), "ascii") == 0)
+ ascii_mode = 1;
+ else
+ parent->eprintf(_("Try `help %s' for more information.\n"), parent->args->a0());
+ } else if (parent->args->count() == 1) {
+ if (ascii_mode)
+ parent->printf("Using ascii mode to transfer files.\n");
+ else
+ parent->printf("Using binary mode to transfer files.\n");
+ }
+ else
+ parent->eprintf(_("Try `help %s' for more information.\n"), parent->args->a0());
+ return NULL;
+}
+
+CMD(user);
+
+CMD(compat_user)
+{
+ char *user;
+
+ if(parent->args->count() == 1) {
+ user = GetText("(username) ");
+
+ if (!user || strlen(user) == 0) {
+ parent->eprintf(_("Try `help %s' for more information.\n"), parent->args->a0());
+ return NULL;
+ }
+ user = strdup(user);
+ parent->args->Add(user);
+ }
+
+ return cmd_user(parent);
+}
+
+CMD(compat_open)
+{
+ const char *myname = getlogin();
+ struct passwd *pw;
+ char *name = NULL;
+ char *prompt = NULL;
+ char *cmd;
+ int len = 0;
+ ascii_mode = 0;
+ Job *job;
+ int n;
+
+ if (parent->args->count() == 3)
+ parent->args->insarg(2, "-p");
+ else if (parent->args->count() != 2) {
+ parent->eprintf(_("Try `help %s' for more information.\n"), parent->args->a0());
+ return NULL;
+ }
+
+ if (myname == NULL && (pw = getpwuid(getuid())) != NULL)
+ myname = pw->pw_name;
+ if (myname) {
+ len = strlen(myname) + 10;
+ prompt = (char*)malloc(len);
+ if (len <= snprintf(prompt, len, "Name (%s): ", myname))
+ prompt[len - 1] = '\0';
+ name = GetText(prompt);
+ name = strdup(name && strlen(name) > 0 ? name : myname);
+ free(prompt);
+ }
+ else {
+ name = GetText("Name: ");
+ if (name) strdup (name);
+ }
+
+
+ if (name != NULL && strlen(name) == 0) {
+ free(name);
+ name = NULL;
+ }
+
+ if (name) {
+ len = strlen(name) + 11;
+ cmd = (char*)malloc(len);
+
+ if (len <= snprintf(cmd, len, "lftp-user %s", name))
+ cmd[len - 1] = '\0';
+
+ parent->PrependCmd(cmd);
+
+ free(name);
+ free(cmd);
+ }
+ job = parent->builtin_open();
+ n = job->Do();
+
+ return job;
+}
+
+CMD(get);
+
+CMD(compat_get)
+{
+ if (ascii_mode && parent->args->count() > 1)
+ parent->args->insarg(1, "-a");
+
+ return cmd_get(parent);
+}
+
+CMD(get1);
+
+CMD(compat_get1)
+{
+ if (ascii_mode && parent->args->count() > 1)
+ parent->args->insarg(1, "-a");
+
+ return cmd_get1(parent);
+}
+
+void module_init()
+{
+ ascii_mode = 0;
+
+ CmdExec::RegisterCompatCommand("user", cmd_compat_user, "user <username> [<pass>]", "send new user information (only for backward compatibility, use lftp-user instead)\n");
+ CmdExec::RegisterCompatCommand("open", cmd_compat_open, "open <site> [<port]", "connect to remote ftp server (only for backward compatibility, use lftp-open instead)\n");
+
+ CmdExec::RegisterCompatCommand("get", cmd_compat_get);
+ CmdExec::RegisterCompatCommand("mget", cmd_compat_get);
+ CmdExec::RegisterCompatCommand("put", cmd_compat_get);
+ CmdExec::RegisterCompatCommand("mput", cmd_compat_get);
+ CmdExec::RegisterCompatCommand("get1", cmd_compat_get1);
+
+
+ CmdExec::RegisterCommand("ascii", cmd_ascii, "ascii", "set ascii transfer type\n");
+ CmdExec::RegisterCommand("binary", cmd_bin, "binary", "set binary transfer type\n");
+ CmdExec::RegisterCommand("type", cmd_type, "type [ascii|binary]", "set file transfer type\n");
+}
Index: lftp-4.9.2/src/CompatMode.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ lftp-4.9.2/src/CompatMode.h 2023-07-26 14:58:37.089711198 +0000
@@ -0,0 +1,28 @@
+/*
+ * lftp and utils
+ *
+ * Copyright (c) 2005 by Petr Ostadal (postadal@suse.cz)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, 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 General Public License for more details.
+ *
+ * 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.
+ */
+
+#ifndef COMPATMODE_H
+#define COMPATMODE_H
+
+#include "Job.h"
+extern int ascii_mode;
+
+
+#endif //COMPATMODE_H

View File

@ -0,0 +1,26 @@
From 7a4ab7ac5fb9a044fae9da0e3bdda1bfe0ecf6af Mon Sep 17 00:00:00 2001
From: =?utf8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tomas.chvatal@gmail.com>
Date: Wed, 28 Feb 2018 19:09:14 +0100
Subject: [PATCH 3/5] Add content of lftp-completion.patch
---
src/complete.cc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/complete.cc b/src/complete.cc
index 02e3ce6c..cfeaef28 100644
--- a/src/complete.cc
+++ b/src/complete.cc
@@ -480,6 +480,9 @@ static completion_type cmd_completion_type(const char *cmd,int start)
w=skip_word(w);
}
+ if (!strcmp(buf, "edit"))
+ return REMOTE_FILE;
+
if(!strcmp(buf,"get")
|| !strcmp(buf,"pget")
|| !strcmp(buf,"get1"))
--
2.16.2

View File

@ -0,0 +1,121 @@
From 6abce26def9e39e0fe3f5cd05660768d2505300b Mon Sep 17 00:00:00 2001
From: =?utf8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tomas.chvatal@gmail.com>
Date: Wed, 28 Feb 2018 19:11:37 +0100
Subject: [PATCH 5/5] Add the wrapper code to the Makefile in order to build
---
src/CmdExec.cc | 32 ++++++++++++++++++++++++++++++++
src/CmdExec.h | 3 +++
src/CopyJob.cc | 3 ++-
src/Makefile.am | 12 ++++++++++--
4 files changed, 47 insertions(+), 3 deletions(-)
Index: lftp-4.9.2/src/CmdExec.cc
===================================================================
--- lftp-4.9.2.orig/src/CmdExec.cc 2017-08-10 09:58:38.000000000 +0000
+++ lftp-4.9.2/src/CmdExec.cc 2023-07-26 15:02:36.660734739 +0000
@@ -1234,6 +1234,38 @@ void CmdExec::ChangeSession(FileAccess *
ConnectionSlot::Set(slot,session);
}
+void CmdExec::RegisterCompatCommand(const char *name,cmd_creator_t creator,const char *short_desc,const char *long_desc)
+{
+ if(dyn_cmd_table==0)
+ {
+ int count=0;
+ for(const cmd_rec *c=static_cmd_table; c->name; c++)
+ count++;
+ dyn_cmd_table.nset(static_cmd_table,count);
+ }
+ for(int i=0; i<dyn_cmd_table.count(); i++)
+ {
+ cmd_rec *const c=&dyn_cmd_table[i];
+ if(!strcmp(c->name,name))
+ {
+ char *lftp_name=(char*)malloc(5+strlen(name)+1);
+ char *short_d = NULL;
+
+ if (c->short_desc) {
+ short_d = (char*)malloc(5+strlen(c->short_desc)+1);
+ sprintf(short_d, "lftp-%s", c->short_desc);
+ c->short_desc = short_d;
+ }
+
+ sprintf(lftp_name, "lftp-%s", name);
+ c->name = lftp_name;
+ break;
+ }
+ }
+ cmd_rec new_entry={name,creator,short_desc,long_desc};
+ dyn_cmd_table.append(new_entry);
+}
+
const char *CmdExec::CmdByIndex(int i)
{
if(dyn_cmd_table)
Index: lftp-4.9.2/src/CmdExec.h
===================================================================
--- lftp-4.9.2.orig/src/CmdExec.h 2017-09-20 11:09:57.000000000 +0000
+++ lftp-4.9.2/src/CmdExec.h 2023-07-26 15:02:36.660734739 +0000
@@ -238,6 +238,9 @@ public:
static void RegisterCommand(const char *name,cmd_creator_t creator,
const char *short_name=0,const char *long_name=0);
+ static void RegisterCompatCommand(const char *name,cmd_creator_t creator,
+ const char *short_name=0,const char *long_name=0);
+
Job *builtin_lcd();
Job *builtin_cd();
Job *builtin_open();
Index: lftp-4.9.2/src/CopyJob.cc
===================================================================
--- lftp-4.9.2.orig/src/CopyJob.cc 2020-06-04 20:13:58.000000000 +0000
+++ lftp-4.9.2/src/CopyJob.cc 2023-07-26 15:02:36.660734739 +0000
@@ -18,6 +18,7 @@
*/
#include <config.h>
+#include <unistd.h>
#include "CopyJob.h"
#include "ArgV.h"
#include "plural.h"
@@ -271,7 +272,7 @@ void CopyJobEnv::SetCopier(FileCopy *c,c
xstring& CopyJobEnv::FormatFinalWithPrefix(xstring& s,const char *p)
{
- if(no_status)
+ if(no_status || !isatty(1))
return s;
if(count==errors)
return s;
Index: lftp-4.9.2/src/Makefile.am
===================================================================
--- lftp-4.9.2.orig/src/Makefile.am 2019-03-22 19:26:54.000000000 +0000
+++ lftp-4.9.2/src/Makefile.am 2023-07-26 15:05:12.613750066 +0000
@@ -10,7 +10,7 @@ EXTRA_DIST = $(pkgdata_SCRIPTS) $(bin_SC
lftp_SOURCES = lftp.cc complete.h complete.cc lftp_rl.c lftp_rl.h attach.cc attach.h
TASK_MODULES = liblftp-pty.la liblftp-network.la proto-ftp.la proto-http.la proto-file.la proto-fish.la proto-sftp.la
-JOB_MODULES = cmd-mirror.la cmd-sleep.la cmd-torrent.la
+JOB_MODULES = cmd-mirror.la cmd-sleep.la cmd-torrent.la cmd-edit.la compat-mode.la
if WITH_MODULES
pkgverlib_LTLIBRARIES = $(TASK_MODULES) $(JOB_MODULES)
else
@@ -30,6 +30,8 @@ cmd_mirror_la_SOURCES = MirrorJob.cc Mir
cmd_sleep_la_SOURCES = SleepJob.cc SleepJob.h
cmd_torrent_la_SOURCES= Torrent.cc Torrent.h TorrentTracker.cc TorrentTracker.h\
DHT.cc DHT.h Bencode.cc Bencode.h
+cmd_edit_la_SOURCES = cmd-edit.cc
+compat_mode_la_SOURCES= CompatMode.cc CompatMode.h
liblftp_pty_la_SOURCES = PtyShell.cc PtyShell.h lftp_pty.c lftp_pty.h SSH_Access.cc SSH_Access.h
liblftp_network_la_SOURCES = NetAccess.cc NetAccess.h Resolver.cc Resolver.h\
lftp_ssl.cc lftp_ssl.h buffer_ssl.cc buffer_ssl.h RateLimit.cc RateLimit.h\
@@ -49,6 +51,8 @@ proto_sftp_la_LDFLAGS = -module -avoid-v
cmd_mirror_la_LDFLAGS = -module -avoid-version -rpath $(pkgverlibdir)
cmd_sleep_la_LDFLAGS = -module -avoid-version -rpath $(pkgverlibdir)
cmd_torrent_la_LDFLAGS= -module -avoid-version -rpath $(pkgverlibdir)
+cmd_edit_la_LDFLAGS = -module -avoid-version -rpath $(pkgverlibdir)
+compat_mode_la_LDFLAGS = -module -avoid-version -rpath $(pkgverlibdir)
liblftp_pty_la_LDFLAGS = -avoid-version -rpath $(pkgverlibdir)
liblftp_network_la_CPPFLAGS = $(AM_CPPFLAGS) $(OPENSSL_CPPFLAGS) $(ZLIB_CPPFLAGS) $(LIBGNUTLS_CFLAGS)
liblftp_network_la_LDFLAGS = -avoid-version -rpath $(pkgverlibdir)

BIN
lftp-4.9.2.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

6
lftp-4.9.2.tar.xz.asc Normal file
View File

@ -0,0 +1,6 @@
-----BEGIN PGP SIGNATURE-----
iD8DBQBfNaRhqCS7afKpmhgRAil2AJ4wA0CJoOdg8bUnwqj75fzTBom9UQCeJhDh
ZHTXie0VG8x7QAllJbHMjLI=
=MBG4
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,13 @@
Index: lftp-4.9.2/src/lftp_ssl.cc
===================================================================
--- lftp-4.9.2.orig/src/lftp_ssl.cc 2023-07-26 15:02:13.137732427 +0000
+++ lftp-4.9.2/src/lftp_ssl.cc 2023-07-26 15:02:18.009732905 +0000
@@ -874,7 +874,7 @@ lftp_ssl_openssl_instance::lftp_ssl_open
}
}
SSL_CTX_set_options(ssl_ctx, options);
- SSL_CTX_set_cipher_list(ssl_ctx, "ALL:!aNULL:!eNULL:!SSLv2:!LOW:!EXP:!MD5:@STRENGTH");
+// SSL_CTX_set_cipher_list(ssl_ctx, "ALL:!aNULL:!eNULL:!SSLv2:!LOW:!EXP:!MD5:@STRENGTH");
SSL_CTX_set_verify(ssl_ctx,SSL_VERIFY_PEER,lftp_ssl_openssl::verify_callback);
// SSL_CTX_set_default_passwd_cb(ssl_ctx,lftp_ssl_passwd_callback);

12
lftp-gcc14.patch Normal file
View File

@ -0,0 +1,12 @@
Index: lftp-4.9.2/m4/needtrio.m4
===================================================================
--- lftp-4.9.2.orig/m4/needtrio.m4
+++ lftp-4.9.2/m4/needtrio.m4
@@ -9,6 +9,7 @@ AC_DEFUN([LFTP_NEED_TRIO],[
else
AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <stdio.h>
int main()
{
unsigned long long x=0,x1;

1171
lftp.changes Normal file

File diff suppressed because it is too large Load Diff

154
lftp.keyring Normal file
View File

@ -0,0 +1,154 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
99b+zNFoOpD92uo=
=EADp
-----END PGP PUBLIC KEY BLOCK-----

142
lftp.spec Normal file
View File

@ -0,0 +1,142 @@
#
# spec file for package lftp
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2012 Pascal Bleser <pascal.bleser@opensuse.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: lftp
Version: 4.9.2
Release: 0
Summary: Command Line File Transfer Program
License: GPL-3.0-or-later
Group: Productivity/Networking/Ftp/Clients
URL: http://lftp.yar.ru/
Source: http://lftp.yar.ru/ftp/%{name}-%{version}.tar.xz
Source2: http://lav.yar.ru/lav@yars.free.net-gpg-public-key#/%name.keyring
Source3: http://lftp.yar.ru/ftp/%{name}-%{version}.tar.xz.asc
# PATCH-FEATURE-OPENSUSE lftp-ssl-cipher.patch pgajdos@suse.cz -- use stronger cipher [bnc#857148]
Patch0: lftp-default-ssl-cipher.patch
# PATCH-FEATURE-OPENSUSE patch1-patch6 psimons@suse.com -- maintained at https://github.com/opensuse/lftp [bsc#1083331]
Patch1: 0001-Add-content-of-the-SUSE-lftp-vi-1.1-archive.patch
Patch2: 0002-Add-content-of-lftp-compat-addfiles.patch.patch
Patch3: 0003-Add-content-of-lftp-completion.patch.patch
Patch5: 0005-Add-the-wrapper-code-to-the-Makefile-in-order-to-bui.patch
# https://github.com/lavv17/lftp/issues/716
Patch6: 0001-lftp_ssl-deinitialize-the-lftp_ssl_openssl_instance.patch
Patch7: lftp-gcc14.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc-c++
BuildRequires: gettext-tools
BuildRequires: libstdc++-devel
BuildRequires: libtool
BuildRequires: make
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
BuildRequires: pkgconfig
BuildRequires: readline-devel
BuildRequires: update-alternatives
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(libidn2)
BuildRequires: pkgconfig(zlib)
Requires: less
Requires(post): update-alternatives
Requires(postun):update-alternatives
Conflicts: ftp
%description
LFTP is a reliable shell-like command line FTP client. It can retry
operations and does reget automatically. It can do several transfers
simultaneously in the background. With LFTP, you can start a transfer
in the background and continue browsing that FTP site or another one.
This is all done in one process. Background jobs are completed in nohup
mode if you exit or close the modem connection. LFTP has reput, mirror,
and reverse mirror among its features. Since version 2.0, it also
supports the HTTP protocol. Other features include IPV6 support,
context sensitive completion, output redirection to files or to pipe,
FTP and HTTP proxy support, transfer rate throttling for each
connection and for all connections in sum, job queueing, job execution
at specified times, opie and skey support in the FTP protocol, SSL for
HTTP and FTP, and FXP transfers.
%prep
%autosetup -p1
%build
# It's necessary to update the Autotools build system, because of patches 2-6
# that we apply above.
gettextize --force --copy --no-changelog
autoreconf --install --force
%configure \
--disable-silent-rules \
--without-included-regex \
--disable-static \
--with-modules \
--without-gnutls \
--with-openssl \
--with-debug \
--without-profiling \
--enable-largefile \
--with-pager=%{_bindir}/less \
--with-libidn2 \
--with-expat \
--disable-rpath
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%suse_update_desktop_file %{name} -G "FTP client" Network FileTransfer
%find_lang %{name}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files -f "lftp.lang"
%license COPYING
%doc BUGS ChangeLog FAQ FEATURES README* NEWS THANKS TODO
%config %{_sysconfdir}/lftp.conf
%{_bindir}/lftp
%{_bindir}/lftpget
%{_datadir}/lftp
%dir %{_libdir}/lftp
%dir %{_libdir}/lftp/%{version}
%{_libdir}/lftp/%{version}/compat-mode.so
%{_libdir}/lftp/%{version}/cmd-mirror.so
%{_libdir}/lftp/%{version}/cmd-sleep.so
%{_libdir}/lftp/%{version}/cmd-torrent.so
%{_libdir}/lftp/%{version}/cmd-edit.so
%{_libdir}/lftp/%{version}/liblftp-network.so
%{_libdir}/lftp/%{version}/liblftp-pty.so
%{_libdir}/lftp/%{version}/proto-file.so
%{_libdir}/lftp/%{version}/proto-fish.so
%{_libdir}/lftp/%{version}/proto-ftp.so
%{_libdir}/lftp/%{version}/proto-http.so
%{_libdir}/lftp/%{version}/proto-sftp.so
%{_libdir}/liblftp-*.so
%{_libdir}/liblftp-*.so.*
%{_mandir}/man1/lftp.1%{ext_man}
%{_mandir}/man1/lftpget.1%{ext_man}
%{_mandir}/man5/lftp.conf.5%{ext_man}
%{_datadir}/applications/lftp.desktop
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/48x48
%dir %{_datadir}/icons/hicolor/48x48/apps
%{_datadir}/icons/hicolor/48x48/apps/lftp-icon.png
%changelog