Ivailo Monev
97e7649bd3
kio: drop KRemoteEncoding class
...
can be done by slaves via custom QTextConverter or whatever, the
converter is using Charset metadata and the KRemoteEncoding class is not
required outside the slaves
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 21:47:54 +03:00
Ivailo Monev
1a5f247e86
kio: remove redundant KIO::SlaveBase methods
...
assume there is no metadata if empty, otherwise it is 2x the trip - one
time to check and one time to get the metadata
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 21:27:30 +03:00
Ivailo Monev
77d32f4169
kio: always calculate the speed on fixed 1sec interval based on the difference in processed size
...
because there are quircks such as slaves emitting total and/or processed
size way too often, the total size may not even be known at the start of
the get (chunked HTTP(s) transfer)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-01 06:15:31 +03:00
Ivailo Monev
d4fb98cc28
generic: KIO protocols classification optimization
...
unfortunate as it is the class for getting protocol information is not
part of kio library so generic..
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-14 09:54:36 +03:00
Ivailo Monev
e879c440fb
kioslave: adjust to Katie changes
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 15:26:25 +02:00
Ivailo Monev
08a76dd091
kioslave: typo
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 10:05:24 +02:00
Ivailo Monev
b43339cf19
kio: drop proxy support
...
because curl internally checks the environment for proxy-related variables
it is redundant to duplicate that feature, that however is possible due to
the rewrite of the ftp, sftp and http slaves that I did. some other changes
were made while at it such enable automatic resuming by default, if KIO
slaves cannot resume or do not resume transfers that is different thing
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 09:54:38 +02:00
Ivailo Monev
599c76018a
kioslave: do not redirect to the original URL from curl slave
...
now that QHostInfo resolves in a more relaxed way (without NI_NAMEREQD
flag) it can happen that the hostname of the result is the address
itself
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 06:07:37 +02:00
Ivailo Monev
cdf208de0a
kioslave: branch to not log warning in curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-23 03:41:59 +02:00
Ivailo Monev
31b4f47a7d
kioslave: ftp line parsing optimization
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-22 12:07:13 +02:00
Ivailo Monev
fe050791bf
kioslave: correct warning message in curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-22 10:57:30 +02:00
Ivailo Monev
72fc471eb7
kioslave: map 416 and 501 HTTP status to KIO error codes
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-22 02:31:42 +02:00
Ivailo Monev
72faa00809
kioslave: curl slave review
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 18:46:39 +02:00
Ivailo Monev
2fb22a0840
kioslave: much simpler curlKeyCallback() implementation
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 08:14:13 +02:00
Ivailo Monev
78dcdcfd18
kioslave: mark unused curlKeyCallback() function arguments as such
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 07:46:00 +02:00
Ivailo Monev
b8a3129a1a
kioslave: implement option to accept or reject keys from curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 07:42:42 +02:00
Ivailo Monev
24c871eb30
kioslave: set CURLOPT_SSH_AUTH_TYPES from curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 06:52:45 +02:00
Ivailo Monev
b76733954b
kioslave: use only one variable for ftp and sftp in curl slave
...
no sftp specific code yet, I was expecting I will have to write some tho
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 00:51:11 +02:00
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