Ivailo Monev
21e5f5c2ab
kioslave: ftp line parsing optimization
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-20 23:58:18 +02:00
Ivailo Monev
e8237a61ac
kioslave: emit upload progress for put action from curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-20 23:47:49 +02:00
Ivailo Monev
04fcbb5f05
kioslave: do not emit canResume() signal for put jobs from curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-20 08:23:22 +02:00
Ivailo Monev
c6d390bb5f
kioslave: do not rely on servers to include "." and ".." entries when listing in curl slave
...
demo.wftpserver.com is one of those, the hack is only for the root
directory anyway and was done to even greater extend by the old ftp
slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-20 03:40:30 +02:00
Ivailo Monev
303ef92157
kioslave: pass the unmodified URL to CurlProtocol::performCurl()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-20 03:31:08 +02:00
Ivailo Monev
d49aa1d382
kioslave: enable moving for ftp and sftp protocols
...
with the other functionality in place it works now
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-20 00:25:55 +02:00
Ivailo Monev
79273ab93a
kioslave: implement modification time for curl slave in ftp/sftp mode
...
totally made up (due to lack of info about the actual date and time) but
required for sorting and such (e.g. by classes using KFileItem and
KDirModel)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-20 00:17:06 +02:00
Ivailo Monev
7d66339e7c
kioslave: set permissions of the file on put from curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-19 23:07:32 +02:00
Ivailo Monev
aeedbca8ed
kioslave: basic put for curl slave
...
tested only on ftp with small files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-19 22:53:31 +02:00
Ivailo Monev
a663155801
kioslave: map CURLE_REMOTE_ACCESS_DENIED to KIO::ERR_ACCESS_DENIED in curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-19 22:37:47 +02:00
Ivailo Monev
485f5add57
kioslave: curl slave review
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-19 22:04:36 +02:00
Ivailo Monev
b266599a69
kioslave: curl slave line parser optimization
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-19 00:17:27 +02:00
Ivailo Monev
a2c0f0f006
kioslave: const-ify curl slave slot arguments
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-19 00:14:28 +02:00
Ivailo Monev
657fc7dd05
kioslave: log resolve warning to the correct debug area
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-19 00:09:02 +02:00
Ivailo Monev
3bc5e8c500
kioslave: pass percentage-encoded URL to curl from curl slave
...
fixes transfer actions (e.g. stat) on file/directories with whitespace in
their filename
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 23:34:16 +02:00
Ivailo Monev
2d905e38c5
kioslave: different take on the curl slave line parser
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 08:38:26 +02:00
Ivailo Monev
8040336e6e
kioslave: curl slave optimization
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 07:52:20 +02:00
Ivailo Monev
2057e0ee0c
kioslave: de-duplicate curl slave code
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 07:47:54 +02:00
Ivailo Monev
eea6dac2b5
kioslave: rename ftpFilePermissions() function in curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 07:19:40 +02:00
Ivailo Monev
e0b6fcfa8b
kioslave: add FIXME for curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 07:01:26 +02:00
Ivailo Monev
403cb77854
kioslave: drop experimental chown feature of curl slave
...
curl mentions it (https://curl.se/libcurl/c/CURLOPT_QUOTE.html ) but the RFC
for the protocol (https://datatracker.ietf.org/doc/html/rfc959 ) does not,
the old ftp slave did not implement it either. that leaves only put to be
implemented for the slave to be complete (rename is optional)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 07:01:12 +02:00
Ivailo Monev
ac3921d0c8
kioslave: implement mkdir and del for curl slave
...
tested on my own server and works for files and directories, on the TODO is
to de-duplicate the code because it is pretty much the same with minor
functional differences
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 06:13:28 +02:00
Ivailo Monev
9c369cbad3
kioslave: implement chmod and experimental chown for curl slave
...
NOTE: chmod works for directories only if the directory URL ends with slash
much like anything on UNIX going over wire (unless the servers implementing
the protocol do something like what I did for KUrl::upUrl())
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 05:22:36 +02:00
Ivailo Monev
517c29d120
kioslave: curl slave review
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 03:38:19 +02:00
Ivailo Monev
d03279a48f
kioslave: add reference to CURLOPT_QUOTE man page
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 00:31:30 +02:00
Ivailo Monev
cfb5c488d4
kioslave: implement stat() for curl slave in ftp/sftp mode
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 00:26:05 +02:00
Ivailo Monev
0c10290cf2
kioslave: disable PASV based on value from kio_ftprc in curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 22:06:04 +02:00
Ivailo Monev
d80be928b3
kio: magic bits to fill user and password when required but not specified
...
at the cost of more round-trips to store and (possibly) retrive such, very
convenient tho
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 21:39:58 +02:00
Ivailo Monev
44b4a7ace6
kioslave: different take on authorization in curl slave
...
unfortunately redirection has to be done just for the sake of visual
pleasantry (so that the URL in the navigation bar matches the actual
address), if it was not for that then the whole redirect thing can be
avoided
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 20:59:51 +02:00
Ivailo Monev
0269b70b0a
kioslave: send KIO error codes from curl slave where possible
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 19:23:40 +02:00
Ivailo Monev
c8769ed4f3
kioslave: different take on authorization in curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 08:48:30 +02:00
Ivailo Monev
7a4ebe677f
kioslave: secure string scanning in curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 03:23:24 +02:00
Ivailo Monev
f7d3fca5ed
kioslave: decode filepaths via KRemoteEncoding from curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 03:02:42 +02:00
Ivailo Monev
58f43fbe7d
kioslave: implement authorization info caching for curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 02:21:27 +02:00
Ivailo Monev
a5132853b0
kioslave: reimplement ftp and sftp slaves via curl
...
the sftp KIO slave is in the kde-workspace repo and the module for
finding libssh was for it. tested ftp and sftp - both work with user and
password authentication as intended (in read-only mode, put() not
implemented)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 00:48:01 +02:00
Ivailo Monev
7139774873
kioslave: fix file slave runtime warning
...
prior to cf6ac06d91
the slave was simply
exiting but that is no longer the case
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-19 20:20:15 +03:00
Ivailo Monev
00400ef6de
kioslave: correct close() result check in FileProtocol::put()
...
close() is not documented to return positive integer, it returns either
zero or -1
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-19 19:35:42 +03:00
Ivailo Monev
552d89425b
kioslave: implement Authorization metadata for http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-16 13:46:36 +03:00
Ivailo Monev
0f0dcc7b33
kio: drop redundant and disabled by default kionetrc/.netrc support
...
no interface to enable it and with KPasswdStore in place it is simply
redundant (other than the auto-login macros maybe)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-09 15:46:45 +03:00
Ivailo Monev
5545cb7e2f
kio: remove unused KProtocolManager::supportsOpening() method
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-31 20:35:46 +00:00
Ivailo Monev
938ac263ab
kioslave: remove unused QVarLengthArray header inclusion
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-30 18:20:53 +00:00
Ivailo Monev
c882cf5442
kioslave: map 504 HTTP(S) status to KIO::ERR_SERVER_TIMEOUT
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-29 06:10:52 +03:00
Ivailo Monev
727a889883
kioslave: mark permissions and flags arguments of HttpProtocol::put() as unused
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-27 04:04:18 +03:00
Ivailo Monev
eac8fd79cc
kdecore: re-use KUrl::AdjustPathOption for KUrl::fileName() and KUrl::directory()
...
so that it is clear that the options shall affect only the result, also for
local files the correct thing can be done regardless of the trailing slash
as is done in KUrl::upUrl()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-26 20:47:38 +03:00
Ivailo Monev
9f05a33ee6
generic: build fix
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-23 14:08:10 +03:00
Ivailo Monev
cf6ac06d91
kioslave: return on put() error instead of exiting the slave
...
if the slave is not a forked process that would exit the program executing
the put job
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 21:54:38 +03:00
Ivailo Monev
aee73d3abb
kioslave: fix removal of .part files on file put
...
_dest is never set to something
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 21:46:20 +03:00
Ivailo Monev
ba1d5268ee
kioslave: format and indent
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 21:24:38 +03:00
Ivailo Monev
387022831a
kioslave: remove redundant FileProtocol::createUDSEntry() argument
...
true is always passed
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 21:12:55 +03:00
Ivailo Monev
9fe6a221cc
kio: include config-acl header in file_unix source file
...
for the HAVE_POSIX_ACL definition
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 20:50:59 +03:00