Commit graph

4894 commits

Author SHA1 Message Date
Ivailo Monev
6b5605a0a0 kutils: KDecompressor optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 19:10:31 +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
2d64361d58 kdecore: partially revert 5498e78c34
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 18:18:32 +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
5498e78c34 kdecore: drop internal helper protocol info
the check refers to services only, there are no helper protocols now

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 06:02:38 +02:00
Ivailo Monev
b9deac7325 kutils: use KSettings to get the cookie type from getCookie() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 04:01:23 +02:00
Ivailo Monev
1a3f533744 kutils: do not reparse the kpasswdstore config on get and set
with password stores being giant-locked (so that opening password stores
happens once even with multiple attempts to open before the first has
finished) it can be assumed that kpasswdstore has not been tempered with
even tho that may not hold true (it can be manually edited via text editor
but do not expect support for that)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 03:56:04 +02:00
Ivailo Monev
836da4c2ce kdeui: de-duplicate code
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 01:58:02 +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
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