Commit graph

4882 commits

Author SHA1 Message Date
Ivailo Monev
8a2f00f8d8 mimetypes: remove now unused application/x-kgetlist MIME type
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 00:15: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
4b0c33cf75 kio: drop unused metadata
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-20 08:38:45 +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
b163f7c35c kio: remove unused definitions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 23:24:44 +02:00
Ivailo Monev
5a491b5bdb kio: remove the port from the URL asweel for the auth info key
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 23:10:44 +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
c3ede9bba6 generic: remove now redundant check for strtoll() function
was used by the old ftp slave

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 07:19:18 +02:00
Ivailo Monev
a38ba51a44 kio: add TODO for authorization port trickery
is a maybe tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 07:07:38 +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
be5e962187 generic: compiler warning fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-18 04:07:46 +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
7c31e18dcf kio: remove comment in authInfoUrl() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 21:52:05 +02:00
Ivailo Monev
590546bda8 kdecore: remove references to the old ftp and sftp slaves
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 21:51:35 +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
1df1ba03f1 kio: use only the protocol, host and port for authorization key
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 07:19:34 +02:00
Ivailo Monev
7a15582618 solid: reference the freebsd cgit repo
if they change their repo address tho..

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 05:51:51 +02:00
Ivailo Monev
9a33d048ba solid: implement getter for the minimum CPU speed
cannot test it for the devinfo backend right now so it is on the TODO, for
the udev backend it ends up as being optimization because the check if the
frequency can be changed already reads cpuinfo_min_freq and
cpuinfo_max_freq files

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 05:35:17 +02:00
Ivailo Monev
da0323350c kdecore: scoop timezones
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 04:36:27 +02:00
Ivailo Monev
010a2f9054 kio: check only the major poppler version in poppler metadata plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 04:19:08 +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
5064d34b04 kutils: correct placeholders in getLockName() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-16 21:20:41 +02:00