summaryrefslogtreecommitdiff
path: root/net-ftp/filezilla
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-10 12:25:06 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-10 12:25:06 +0100
commite810ac4a0e6af9f763f4433863042b34609075a7 (patch)
tree6fe0b3ff24f3b875be1564e273049c1e301d205b /net-ftp/filezilla
parentc218398bbbe70a616790cf146c28c1066b9284bf (diff)
gentoo auto-resync : 10:07:2024 - 12:25:06
Diffstat (limited to 'net-ftp/filezilla')
-rw-r--r--net-ftp/filezilla/Manifest2
-rw-r--r--net-ftp/filezilla/files/filezilla-3.67.0-odr.patch670
-rw-r--r--net-ftp/filezilla/filezilla-3.67.0-r1.ebuild77
3 files changed, 749 insertions, 0 deletions
diff --git a/net-ftp/filezilla/Manifest b/net-ftp/filezilla/Manifest
index 797f14cff3f4..c1477d1be0e4 100644
--- a/net-ftp/filezilla/Manifest
+++ b/net-ftp/filezilla/Manifest
@@ -4,10 +4,12 @@ AUX filezilla-3.47.0-metainfo.patch 309 BLAKE2B b36d7f3e5446c76cc9e20be01b3a5005
AUX filezilla-3.52.2-slibtool.patch 723 BLAKE2B f051ae8d8b1d9c75bf4752d009a3b710b742accb50ec46ad6d1be0d7c5f88ab77996e47b55e3f87432a9d5aee2fef61e915ed36c09e988e01bbf68943a64144b SHA512 7a7f1adc4144c5535d60e6dd6f18aecc04c93ff2c98f52660fa576dcbce9ff7bb53175eef2fee7671c472181ea7f5c388ccc8697e70b8841759fdec06e62d1a1
AUX filezilla-3.60.1-desktop.patch 245 BLAKE2B 6bb06fcc851240d6bfe57c239084b7e9e22a94300cbbec2d4b8e22caf7452ac483f7de6cbea69b091e09dbcb0e9e5f23a1b70c73333fe1e8eb7a73c1365b08ea SHA512 31a1ab2715580519ca1dac30e7c3c88c9f6fcf802091740ce3a56e884a6ba5e3326935f7f55857211effe4646650e71c3051b13f5995a493a0f809be920cf6b4
AUX filezilla-3.66.4-gcc14.patch 892 BLAKE2B 2f18c1e7a314f0d62a4afae25b7982ff536fc43a7a2a4d18c9299d5aa93876459ece69a2bac3e3f28baf812f7f1ac5eb2e4bee20113cd08c3ba92557f3a29a24 SHA512 bda8da38be1745df00bef2f8c50d00b8df7b1954a04c18621ffce34ec778d1e1614e494b43c61529d7a64036527105efaead93bcdff197c79b96c07d96ca6f47
+AUX filezilla-3.67.0-odr.patch 15853 BLAKE2B f00960ae91c2441223fcc46911377da9af7193a0c5d8e4fdd96deb084939a05e2be632bf345c9f0c938b19d7dee822701eaa98e2fab1ae01668a664504e46ee0 SHA512 9d951d0dff1f33d65f27dc3b7df9959316d39713a2c19a4ffa0479dcb53dbe84d6c1d1aca3305bcf98e92744a2a6e8377c4d5168c5262c795bf0d0035b14995a
DIST FileZilla_3.66.4_src.tar.xz 4057952 BLAKE2B 0286e3e23cbd3d0599b4fced535d5bfd89508bc5f02d726ec082ac435590e0a3a1e1d90e0a6d51b19ce673b07c8b599ecd03e904a394f8fd9e1fc7f6167944f6 SHA512 17c0655988229bcfb056fe86bf8d6a21ea961420cc0073b3c4416c7fda999edd8dff7c6fe6b2121afad12acc4e6e525474a24a253c2e5312b74539de4232ef6b
DIST FileZilla_3.66.5_src.tar.xz 4057892 BLAKE2B 0f44b027dd4a16fd0561659d27ff21930e461b33dc1188f5217119d102d0527496e1d38bca16959788c4cf41c43b581a4d66b1f3e8d2c4cad155cc7c6d00861a SHA512 b250e65894a3e8c8eb0eac25b3ffa5cd1348df2a38b1e6fa5eb735fff1945dbeb1fbcfe10a8188c260e9fbeaeb78322cb8aa56f6386fd39803421d01bbc8b2dd
DIST FileZilla_3.67.0_src.tar.xz 4058264 BLAKE2B 28799d60188ed94bc80143ccabf073eced4caa9960daa2b8d7f617252355735647fe4b3776ee38eb179fdb2667fd05536a89b6c17b25d056c72e565585ddef98 SHA512 b2d4cd45f2ed7e70fbb11500a42fe0d0e51919831a35bcfb439455d03af8eb744eb25d7f7b6ea9a94c424065e4d071d9706fcf46019da829d1318c099ab8108c
EBUILD filezilla-3.66.4.ebuild 1754 BLAKE2B 88eda24cf2991b6be76020316869a14010a28cda8ebea0ca3a5d68cf7060c01bfc05bbfcab4e083a817dd9b882d09f8b7e49c614b63f12b74e2f0a6293cc37b6 SHA512 cba5d66d571aeba72793296a4ad28fcf43c0676c0cfc678be9401ee916063935f0d6373280c9a404a1c9c7dbc44b718bf6ca3b6f9786303d929228fb30d29d82
EBUILD filezilla-3.66.5.ebuild 1718 BLAKE2B 22ad1b87ac8280a5b0f6c22c4e9b2ed56792fc1dff3a0146f940476465306585462225f16f5f7da84cda5cd77254347c4bfce64fe358bedd2916078a356fa078 SHA512 24b5afbccc64776ed0f3a5d92201a428eeb9137c5992eec1fb39228e2cdffdb456aa90fa5954915e1fbbccf58772b23a843c08489bde139924419972de3b1503
+EBUILD filezilla-3.67.0-r1.ebuild 1786 BLAKE2B 167f21a4a1d06bba2dd2cbe7afa1799b6647b36c6077e3898a822588769029b17c67ee9897f267201a3de2b44acc03f22aa0a320ce79469d96fa4a0959e2d96f SHA512 faa6a3f8b909d5eaadaaa773d5538b0f5d883160d3453f88191b9b8d01bffa39b1ada1984c0e203cadef41739b7b46cef19b7fb27a489f5fa4de1ae5c5e30790
EBUILD filezilla-3.67.0.ebuild 1714 BLAKE2B 5ca185a10ee73d7c4e366b5d8b6b4fc6130c28e3c03e5d990fa2505ce5e4d96f1d62b4149510df48ceea1394b5407b1ad95e0bb1fceaea8117bd46eee6aecdd4 SHA512 d16c7f7e4722809ffc06f33391bd84a5600bc8345afe55e212c215adb17c2980ad6e288ae68fa95f0e16eaf8c8f72b63541474aef23e30724dc135f132e1d691
MISC metadata.xml 449 BLAKE2B 3a9fbf5c444404c3922fac61b0a36429acda9bd582d3b2049e9637088acf1a33af6c9a68052325969037951640ec3b9c8e2d357cbbd06a4655a504cb363e0c58 SHA512 f33dccada194313d97e91f514ca89685a2c643a0fb736e3a90065b246aced161fc45198aa05fea8fb96ff7827ddb8722344158e7d4c4b68c1bd008097fa99b7c
diff --git a/net-ftp/filezilla/files/filezilla-3.67.0-odr.patch b/net-ftp/filezilla/files/filezilla-3.67.0-odr.patch
new file mode 100644
index 000000000000..ec6af91b56cb
--- /dev/null
+++ b/net-ftp/filezilla/files/filezilla-3.67.0-odr.patch
@@ -0,0 +1,670 @@
+https://bugs.gentoo.org/927178#c3
+
+No upstream bug link -- their trac was temporarily down so I had to send the
+report in via email.
+
+Revision exported from:
+
+```
+svn diff -c 11167 https://svn.filezilla-project.org/svn/FileZilla3
+```
+
+https://svn.filezilla-project.org/filezilla?view=revision&revision=11167
+
+
+Index: trunk/src/engine/storj/delete.cpp
+===================================================================
+--- trunk/src/engine/storj/delete.cpp (revision 11166)
++++ trunk/src/engine/storj/delete.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "../directorycache.h"
+ #include "delete.h"
+
++namespace {
+ enum DeleteStates
+ {
+ delete_init,
+@@ -9,6 +10,7 @@
+ delete_resolve,
+ delete_delete
+ };
++}
+
+ int CStorjDeleteOpData::Send()
+ {
+Index: trunk/src/engine/storj/list.cpp
+===================================================================
+--- trunk/src/engine/storj/list.cpp (revision 11166)
++++ trunk/src/engine/storj/list.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "../directorycache.h"
+ #include "list.h"
+
++namespace {
+ enum listStates
+ {
+ list_init = 0,
+@@ -9,6 +10,7 @@
+ list_waitlock,
+ list_list
+ };
++}
+
+ int CStorjListOpData::Send()
+ {
+Index: trunk/src/engine/storj/rmd.cpp
+===================================================================
+--- trunk/src/engine/storj/rmd.cpp (revision 11166)
++++ trunk/src/engine/storj/rmd.cpp (revision 11167)
+@@ -5,6 +5,7 @@
+
+ #include <assert.h>
+
++namespace {
+ enum mkdStates
+ {
+ rmd_init = 0,
+@@ -11,8 +12,8 @@
+ rmd_rmbucket,
+ rmd_rmdir
+ };
++}
+
+-
+ int CStorjRemoveDirOpData::Send()
+ {
+ switch (opState) {
+Index: trunk/src/engine/ftp/chmod.cpp
+===================================================================
+--- trunk/src/engine/ftp/chmod.cpp (revision 11166)
++++ trunk/src/engine/ftp/chmod.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "chmod.h"
+ #include "../directorycache.h"
+
++namespace {
+ enum chmodStates
+ {
+ chmod_init,
+@@ -9,6 +10,7 @@
+ chmod_waitcwd,
+ chmod_chmod
+ };
++}
+
+ int CFtpChmodOpData::Send()
+ {
+Index: trunk/src/engine/ftp/cwd.cpp
+===================================================================
+--- trunk/src/engine/ftp/cwd.cpp (revision 11166)
++++ trunk/src/engine/ftp/cwd.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "cwd.h"
+ #include "../pathcache.h"
+
++namespace {
+ enum cwdStates
+ {
+ cwd_init = 0,
+@@ -12,6 +13,7 @@
+ cwd_cwd_subdir,
+ cwd_pwd_subdir
+ };
++}
+
+ int CFtpChangeDirOpData::Send()
+ {
+Index: trunk/src/engine/ftp/delete.cpp
+===================================================================
+--- trunk/src/engine/ftp/delete.cpp (revision 11166)
++++ trunk/src/engine/ftp/delete.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "delete.h"
+ #include "../directorycache.h"
+
++namespace {
+ enum rmdStates
+ {
+ del_init,
+@@ -9,6 +10,7 @@
+ del_waitcwd,
+ del_del
+ };
++}
+
+ int CFtpDeleteOpData::Send()
+ {
+Index: trunk/src/engine/ftp/filetransfer.cpp
+===================================================================
+--- trunk/src/engine/ftp/filetransfer.cpp (revision 11166)
++++ trunk/src/engine/ftp/filetransfer.cpp (revision 11167)
+@@ -12,6 +12,22 @@
+
+ #include <assert.h>
+
++namespace {
++enum filetransferStates
++{
++ filetransfer_init = 0,
++ filetransfer_waitcwd,
++ filetransfer_waitlist,
++ filetransfer_size,
++ filetransfer_mdtm,
++ filetransfer_resumetest,
++ filetransfer_transfer,
++ filetransfer_waittransfer,
++ filetransfer_waitresumetest,
++ filetransfer_mfmt
++};
++}
++
+ CFtpFileTransferOpData::CFtpFileTransferOpData(CFtpControlSocket& controlSocket, CFileTransferCommand const& cmd)
+ : CFileTransferOpData(L"CFtpFileTransferOpData", cmd)
+ , CFtpOpData(controlSocket)
+Index: trunk/src/engine/ftp/filetransfer.h
+===================================================================
+--- trunk/src/engine/ftp/filetransfer.h (revision 11166)
++++ trunk/src/engine/ftp/filetransfer.h (revision 11167)
+@@ -3,20 +3,6 @@
+
+ #include "ftpcontrolsocket.h"
+
+-enum filetransferStates
+-{
+- filetransfer_init = 0,
+- filetransfer_waitcwd,
+- filetransfer_waitlist,
+- filetransfer_size,
+- filetransfer_mdtm,
+- filetransfer_resumetest,
+- filetransfer_transfer,
+- filetransfer_waittransfer,
+- filetransfer_waitresumetest,
+- filetransfer_mfmt
+-};
+-
+ class CFtpFileTransferOpData final : public CFileTransferOpData, public CFtpTransferOpData, public CFtpOpData
+ {
+ public:
+Index: trunk/src/engine/ftp/ftpcontrolsocket.cpp
+===================================================================
+--- trunk/src/engine/ftp/ftpcontrolsocket.cpp (revision 11166)
++++ trunk/src/engine/ftp/ftpcontrolsocket.cpp (revision 11167)
+@@ -34,6 +34,9 @@
+
+ #include <assert.h>
+
++using namespace ftpLogonStates;
++using namespace FtpRawTransferStates;
++
+ CFtpControlSocket::CFtpControlSocket(CFileZillaEnginePrivate & engine)
+ : CRealControlSocket(engine)
+ {
+Index: trunk/src/engine/ftp/list.cpp
+===================================================================
+--- trunk/src/engine/ftp/list.cpp (revision 11166)
++++ trunk/src/engine/ftp/list.cpp (revision 11167)
+@@ -9,6 +9,15 @@
+ #include <assert.h>
+
+ namespace {
++enum listStates
++{
++ list_init,
++ list_waitcwd,
++ list_waitlock,
++ list_waittransfer,
++ list_mdtm
++};
++
+ // Some servers are broken. Instead of an empty listing, some MVS servers
+ // for example they return "550 no members found"
+ // Other servers return "550 No files found."
+Index: trunk/src/engine/ftp/list.h
+===================================================================
+--- trunk/src/engine/ftp/list.h (revision 11166)
++++ trunk/src/engine/ftp/list.h (revision 11167)
+@@ -6,15 +6,6 @@
+
+ class CDirectoryListingParser;
+
+-enum listStates
+-{
+- list_init,
+- list_waitcwd,
+- list_waitlock,
+- list_waittransfer,
+- list_mdtm
+-};
+-
+ class CFtpListOpData final : public COpData, public CFtpOpData, public CFtpTransferOpData
+ {
+ public:
+Index: trunk/src/engine/ftp/logon.cpp
+===================================================================
+--- trunk/src/engine/ftp/logon.cpp (revision 11166)
++++ trunk/src/engine/ftp/logon.cpp (revision 11167)
+@@ -10,6 +10,7 @@
+ #include "../../include/engine_options.h"
+
+ using namespace std::literals;
++using namespace ftpLogonStates;
+
+ CFtpLogonOpData::CFtpLogonOpData(CFtpControlSocket& controlSocket)
+ : COpData(Command::connect, L"CFtpLogonOpData")
+Index: trunk/src/engine/ftp/logon.h
+===================================================================
+--- trunk/src/engine/ftp/logon.h (revision 11166)
++++ trunk/src/engine/ftp/logon.h (revision 11167)
+@@ -3,27 +3,27 @@
+
+ #include "ftpcontrolsocket.h"
+
+-enum loginStates
+-{
+- LOGON_CONNECT,
+- LOGON_WELCOME,
+- LOGON_AUTH_TLS,
+- LOGON_AUTH_SSL,
+- LOGON_AUTH_WAIT,
+- LOGON_SECURITY,
+- LOGON_LOGON,
+- LOGON_SYST,
+- LOGON_FEAT,
+- LOGON_CLNT,
+- LOGON_OPTSUTF8,
+- LOGON_PBSZ,
+- LOGON_PROT,
+- LOGON_OPTSMLST,
+- LOGON_CUSTOMCOMMANDS,
+- LOGON_DONE
++namespace ftpLogonStates {
++enum type {
++ LOGON_CONNECT,
++ LOGON_WELCOME,
++ LOGON_AUTH_TLS,
++ LOGON_AUTH_SSL,
++ LOGON_AUTH_WAIT,
++ LOGON_SECURITY,
++ LOGON_LOGON,
++ LOGON_SYST,
++ LOGON_FEAT,
++ LOGON_CLNT,
++ LOGON_OPTSUTF8,
++ LOGON_PBSZ,
++ LOGON_PROT,
++ LOGON_OPTSMLST,
++ LOGON_CUSTOMCOMMANDS,
++ LOGON_DONE
+ };
++}
+
+-
+ enum class loginCommandType
+ {
+ user,
+@@ -73,7 +73,7 @@
+
+ unsigned int customCommandIndex{};
+
+- int neededCommands[LOGON_DONE]{};
++ int neededCommands[ftpLogonStates::LOGON_DONE]{};
+
+ std::deque<t_loginCommand> loginSequence;
+
+Index: trunk/src/engine/ftp/mkd.cpp
+===================================================================
+--- trunk/src/engine/ftp/mkd.cpp (revision 11166)
++++ trunk/src/engine/ftp/mkd.cpp (revision 11167)
+@@ -5,6 +5,7 @@
+
+ using namespace std::literals;
+
++namespace {
+ enum mkdStates
+ {
+ mkd_init = 0,
+@@ -13,6 +14,7 @@
+ mkd_cwdsub,
+ mkd_tryfull
+ };
++}
+
+ /* Directory creation works like this: First find a parent directory into
+ * which we can CWD, then create the subdirs one by one. If either part
+Index: trunk/src/engine/ftp/rawtransfer.cpp
+===================================================================
+--- trunk/src/engine/ftp/rawtransfer.cpp (revision 11166)
++++ trunk/src/engine/ftp/rawtransfer.cpp (revision 11167)
+@@ -7,7 +7,7 @@
+
+ #include <libfilezilla/iputils.hpp>
+
+-#include <assert.h>
++using namespace FtpRawTransferStates;
+
+ int CFtpRawTransferOpData::Send()
+ {
+@@ -423,7 +423,6 @@
+ {
+ std::wstring ret = L"PASV";
+
+- assert(bPasv);
+ bTriedPasv = true;
+
+ if (controlSocket_.proxy_layer_) {
+Index: trunk/src/engine/ftp/rawtransfer.h
+===================================================================
+--- trunk/src/engine/ftp/rawtransfer.h (revision 11166)
++++ trunk/src/engine/ftp/rawtransfer.h (revision 11167)
+@@ -3,18 +3,20 @@
+
+ #include "ftpcontrolsocket.h"
+
+-enum rawtransferStates
++namespace FtpRawTransferStates {
++enum type
+ {
+- rawtransfer_init = 0,
+- rawtransfer_type,
+- rawtransfer_port_pasv,
+- rawtransfer_rest,
+- rawtransfer_transfer,
+- rawtransfer_waitfinish,
+- rawtransfer_waittransferpre,
+- rawtransfer_waittransfer,
+- rawtransfer_waitsocket
++ rawtransfer_init = 0,
++ rawtransfer_type,
++ rawtransfer_port_pasv,
++ rawtransfer_rest,
++ rawtransfer_transfer,
++ rawtransfer_waitfinish,
++ rawtransfer_waittransferpre,
++ rawtransfer_waittransfer,
++ rawtransfer_waitsocket
+ };
++}
+
+ class CFtpRawTransferOpData final : public COpData, public CFtpOpData
+ {
+Index: trunk/src/engine/ftp/rename.cpp
+===================================================================
+--- trunk/src/engine/ftp/rename.cpp (revision 11166)
++++ trunk/src/engine/ftp/rename.cpp (revision 11167)
+@@ -4,6 +4,7 @@
+ #include "../directorycache.h"
+ #include "../pathcache.h"
+
++namespace {
+ enum renameStates
+ {
+ rename_init,
+@@ -11,6 +12,7 @@
+ rename_rnfrom,
+ rename_rnto
+ };
++}
+
+ int CFtpRenameOpData::Send()
+ {
+Index: trunk/src/engine/ftp/rmd.cpp
+===================================================================
+--- trunk/src/engine/ftp/rmd.cpp (revision 11166)
++++ trunk/src/engine/ftp/rmd.cpp (revision 11167)
+@@ -4,6 +4,7 @@
+ #include "../directorycache.h"
+ #include "../pathcache.h"
+
++namespace {
+ enum rmdStates
+ {
+ rmd_init,
+@@ -10,6 +11,7 @@
+ rmd_waitcwd,
+ rmd_rmd
+ };
++}
+
+ int CFtpRemoveDirOpData::Send()
+ {
+Index: trunk/src/engine/http/filetransfer.cpp
+===================================================================
+--- trunk/src/engine/http/filetransfer.cpp (revision 11166)
++++ trunk/src/engine/http/filetransfer.cpp (revision 11167)
+@@ -7,6 +7,7 @@
+ #include <assert.h>
+ #include <string.h>
+
++namespace {
+ enum filetransferStates
+ {
+ filetransfer_init = 0,
+@@ -13,6 +14,7 @@
+ filetransfer_transfer,
+ filetransfer_waittransfer
+ };
++}
+
+ CHttpFileTransferOpData::CHttpFileTransferOpData(CHttpControlSocket & controlSocket, CFileTransferCommand const& cmd)
+ : CFileTransferOpData(L"CHttpFileTransferOpData", cmd)
+Index: trunk/src/engine/sftp/chmod.cpp
+===================================================================
+--- trunk/src/engine/sftp/chmod.cpp (revision 11166)
++++ trunk/src/engine/sftp/chmod.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "chmod.h"
+ #include "../directorycache.h"
+
++namespace {
+ enum chmodStates
+ {
+ chmod_init,
+@@ -9,6 +10,7 @@
+ chmod_waitcwd,
+ chmod_chmod
+ };
++}
+
+ int CSftpChmodOpData::Send()
+ {
+Index: trunk/src/engine/sftp/connect.cpp
+===================================================================
+--- trunk/src/engine/sftp/connect.cpp (revision 11166)
++++ trunk/src/engine/sftp/connect.cpp (revision 11167)
+@@ -21,6 +21,7 @@
+ #include <sys/mman.h>
+ #endif
+
++namespace {
+ enum connectStates
+ {
+ connect_init,
+@@ -28,6 +29,7 @@
+ connect_keys,
+ connect_open
+ };
++}
+
+ int CSftpConnectOpData::Send()
+ {
+Index: trunk/src/engine/sftp/cwd.cpp
+===================================================================
+--- trunk/src/engine/sftp/cwd.cpp (revision 11166)
++++ trunk/src/engine/sftp/cwd.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "cwd.h"
+ #include "../pathcache.h"
+
++namespace {
+ enum cwdStates
+ {
+ cwd_init = 0,
+@@ -10,6 +11,7 @@
+ cwd_cwd,
+ cwd_cwd_subdir
+ };
++}
+
+ int CSftpChangeDirOpData::Send()
+ {
+Index: trunk/src/engine/sftp/filetransfer.cpp
+===================================================================
+--- trunk/src/engine/sftp/filetransfer.cpp (revision 11166)
++++ trunk/src/engine/sftp/filetransfer.cpp (revision 11167)
+@@ -10,6 +10,7 @@
+
+ #include <assert.h>
+
++namespace {
+ enum filetransferStates
+ {
+ filetransfer_init = 0,
+@@ -19,6 +20,7 @@
+ filetransfer_transfer,
+ filetransfer_chmtime
+ };
++}
+
+ CSftpFileTransferOpData::~CSftpFileTransferOpData()
+ {
+Index: trunk/src/engine/sftp/list.cpp
+===================================================================
+--- trunk/src/engine/sftp/list.cpp (revision 11166)
++++ trunk/src/engine/sftp/list.cpp (revision 11167)
+@@ -5,6 +5,7 @@
+
+ #include <assert.h>
+
++namespace {
+ enum listStates
+ {
+ list_init = 0,
+@@ -12,6 +13,7 @@
+ list_waitlock,
+ list_list
+ };
++}
+
+ int CSftpListOpData::Send()
+ {
+Index: trunk/src/engine/sftp/mkd.cpp
+===================================================================
+--- trunk/src/engine/sftp/mkd.cpp (revision 11166)
++++ trunk/src/engine/sftp/mkd.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "../directorycache.h"
+ #include "mkd.h"
+
++namespace {
+ enum mkdStates
+ {
+ mkd_init = 0,
+@@ -11,6 +12,7 @@
+ mkd_cwdsub,
+ mkd_tryfull
+ };
++}
+
+ /* Directory creation works like this: First find a parent directory into
+ * which we can CWD, then create the subdirs one by one. If either part
+Index: trunk/src/engine/sftp/rename.cpp
+===================================================================
+--- trunk/src/engine/sftp/rename.cpp (revision 11166)
++++ trunk/src/engine/sftp/rename.cpp (revision 11167)
+@@ -4,6 +4,7 @@
+ #include "../pathcache.h"
+ #include "rename.h"
+
++namespace {
+ enum renameStates
+ {
+ rename_init,
+@@ -10,6 +11,7 @@
+ rename_waitcwd,
+ rename_rename
+ };
++}
+
+ int CSftpRenameOpData::Send()
+ {
+Index: trunk/src/engine/storj/connect.cpp
+===================================================================
+--- trunk/src/engine/storj/connect.cpp (revision 11166)
++++ trunk/src/engine/storj/connect.cpp (revision 11167)
+@@ -22,6 +22,16 @@
+ #include <sys/mman.h>
+ #endif
+
++namespace {
++enum connectStates
++{
++ connect_init,
++ connect_host,
++ connect_user,
++ connect_pass
++};
++}
++
+ int CStorjConnectOpData::Send()
+ {
+ switch (opState)
+Index: trunk/src/engine/storj/connect.h
+===================================================================
+--- trunk/src/engine/storj/connect.h (revision 11166)
++++ trunk/src/engine/storj/connect.h (revision 11167)
+@@ -3,14 +3,6 @@
+
+ #include "storjcontrolsocket.h"
+
+-enum connectStates
+-{
+- connect_init,
+- connect_host,
+- connect_user,
+- connect_pass
+-};
+-
+ class CStorjConnectOpData final : public COpData, public CStorjOpData
+ {
+ public:
+Index: trunk/src/engine/storj/file_transfer.cpp
+===================================================================
+--- trunk/src/engine/storj/file_transfer.cpp (revision 11166)
++++ trunk/src/engine/storj/file_transfer.cpp (revision 11167)
+@@ -7,6 +7,7 @@
+ #include <libfilezilla/local_filesys.hpp>
+ #include <libfilezilla/process.hpp>
+
++namespace {
+ enum FileTransferStates
+ {
+ filetransfer_init,
+@@ -15,6 +16,7 @@
+ filetransfer_delete,
+ filetransfer_transfer
+ };
++}
+
+ CStorjFileTransferOpData::~CStorjFileTransferOpData()
+ {
+Index: trunk/src/engine/storj/mkd.cpp
+===================================================================
+--- trunk/src/engine/storj/mkd.cpp (revision 11166)
++++ trunk/src/engine/storj/mkd.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "../directorycache.h"
+ #include "mkd.h"
+
++namespace {
+ enum mkdStates
+ {
+ mkd_init = 0,
+@@ -9,6 +10,7 @@
+ mkd_mkbucket,
+ mkd_put
+ };
++}
+
+ int CStorjMkdirOpData::Send()
+ {
diff --git a/net-ftp/filezilla/filezilla-3.67.0-r1.ebuild b/net-ftp/filezilla/filezilla-3.67.0-r1.ebuild
new file mode 100644
index 000000000000..5c66ad26eef6
--- /dev/null
+++ b/net-ftp/filezilla/filezilla-3.67.0-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.2-gtk3"
+
+inherit autotools flag-o-matic wxwidgets xdg
+
+MY_PV="${PV/_/-}"
+MY_P="FileZilla_${MY_PV}"
+
+DESCRIPTION="FTP client with lots of useful features and an intuitive interface"
+HOMEPAGE="https://filezilla-project.org/"
+SRC_URI="https://download.filezilla-project.org/client/${MY_P}_src.tar.xz"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="cpu_flags_x86_sse2 dbus nls test"
+RESTRICT="!test? ( test )"
+
+# pugixml 1.7 minimal dependency is for c++11 proper configuration
+RDEPEND="
+ >=dev-libs/nettle-3.1:=
+ >=dev-db/sqlite-3.7
+ >=dev-libs/boost-1.76.0:=
+ >=dev-libs/libfilezilla-0.47.0:=
+ >=dev-libs/pugixml-1.7
+ >=net-libs/gnutls-3.5.7
+ x11-libs/wxGTK:${WX_GTK_VER}[X]
+ x11-misc/xdg-utils
+ dbus? ( sys-apps/dbus )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-util/cppunit-1.13.0 )"
+BDEPEND="
+ virtual/pkgconfig
+ >=dev-build/libtool-1.4
+ nls? ( >=sys-devel/gettext-0.11 )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.22.1-debug.patch
+ "${FILESDIR}"/${PN}-3.47.0-metainfo.patch
+ "${FILESDIR}"/${PN}-3.47.0-disable-shellext_conf.patch
+ "${FILESDIR}"/${PN}-3.52.2-slibtool.patch
+ "${FILESDIR}"/${PN}-3.60.1-desktop.patch
+ # backport patch for ODR
+ "${FILESDIR}"/filezilla-3.67.0-odr.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ if use x86 && ! use cpu_flags_x86_sse2; then
+ append-cppflags -D_FORCE_SOFTWARE_SHA
+ fi
+ setup-wxwidgets
+
+ local myeconfargs=(
+ --disable-autoupdatecheck
+ --with-pugixml=system
+ $(use_enable nls locales)
+ $(use_with dbus)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}