Ivailo Monev
817b7a4aab
kdecore: rework KMimeType
...
more accurate probing then before, notably by probing the file content
from the file slave (only the name was checked before because the
filepath was not a full path in some cases and the file could not be
open)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-04 20:14:53 +03:00
Ivailo Monev
ee4c56ad5e
kioslave: use the full path to determine the MIME type in file slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-04 04:14:15 +03:00
Ivailo Monev
f34328e051
kioslave: update comment in file slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-04 04:08:44 +03:00
Ivailo Monev
6820e4e63c
kioslave: different take on MIME type determination in curl slave
...
because FTP and SFTP are special about it so is the MIME type
determination
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-04 04:03:02 +03:00
Ivailo Monev
d1fd7fdab6
kioslave: curl slave optimization
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 23:14:51 +03:00
Ivailo Monev
c763b1266a
kioslave: remove bits used during curl slave rework
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 22:32:01 +03:00
Ivailo Monev
c560428d0d
kio: remove KIO::SlaveBase compat bits
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 07:30:00 +03:00
Ivailo Monev
e273741fdb
kio: drop MIME type feature of slaves
...
the specialized one, stat() does it now because emitting MIME type while
also emitting data (in or out) interrupts the data flow
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 05:26:56 +03:00
Ivailo Monev
b5b73968c3
kioslave: initialize variable in FileProtocol::put()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 01:06:22 +03:00
Ivailo Monev
5cf8aa96b9
kio: rename Charsets metadata to Charset
...
because in configs (e.g. written by dolphin) it is "Charset", less
confusion
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 22:19:07 +03:00
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