Commit graph

248 commits

Author SHA1 Message Date
Ivailo Monev
1c20e32451 kioslave: restrict http slave protocols to HTTP(S)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-16 09:18:32 +02:00
Ivailo Monev
3df1328a22 kioslave: set referrer via the dedicated curl option
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-16 09:11:33 +02:00
Ivailo Monev
aaac5ec388 generic: remove unused metainfo KIO slave and MetaInfoJob KIO class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-10 02:21:42 +02:00
Ivailo Monev
c90d0d7d16 generic: drop support for file metadata writing
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-08 21:30:04 +02:00
Ivailo Monev
d4691a6f09 generic: remove unused configuration checks
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-08 01:07:02 +02:00
Ivailo Monev
39786a163e kioslave: workaround for something going wrong in http slave with chunked transfers
it goes like this:
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 663 from 663
Received 663 from 663
Received 663 from 663
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 0 from 0
Received 9134 from 8869796
Received 9134 from 8869796
Received 10512 from 8869796
Received 10512 from 8869796
Received 11890 from 8869796
Received 11890 from 8869796
Received 14646 from 8869796
Received 14646 from 8869796
Received 15583 from 8869796
Received 15583 from 8869796
Received 16952 from 8869796
Received 16952 from 8869796
Received 19708 from 8869796
Received 19708 from 8869796
Received 21086 from 8869796
Received 21086 from 8869796
Received 23842 from 8869796
Received 23842 from 8869796
Received 26598 from 8869796
Received 26598 from 8869796
Received 29354 from 8869796
Received 29354 from 8869796
Received 31967 from 8869796
...

it could be curl giving progress on redirects, could be servers sending
bogus content length, idk but it's not a bug that needs fixing here
(the output is from GitHub transfer)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-07 06:37:35 +02:00
Ivailo Monev
e4bf27b4bc kioslave: use the correct option for connection timeout in http slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-05 05:30:07 +02:00
Ivailo Monev
e3ae3ce529 kioslave: implement no-auth for http slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-05 04:38:52 +02:00
Ivailo Monev
6e5fb2f1c7 kioslave: always trim field before doing something with it in KHTTPHeader::parseHeader()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-04 03:15:50 +02:00
Ivailo Monev
ec6bed0b02 kioslave: fix parsing of HTTP2 header in KHTTPHeader::parseHeader()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-04 03:01:46 +02:00
Ivailo Monev
2440917156 kioslave: set curl proxy type and string based on the proxy protocol, host and port
implement no-proxy-auth and no-auth while at it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-03 00:53:09 +02:00
Ivailo Monev
7fb94a61fd generic: remove code for features that Katie does not support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-24 15:05:36 +02:00
Ivailo Monev
9e4be0165d kioslave: fix build with QT_NO_NETWORKPROXY defined
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-23 23:31:57 +02:00
Ivailo Monev
f5c5f3cd63 kioslave: round values before passing them to method in http slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-23 20:46:19 +02:00
Ivailo Monev
a5c1269288 kioslave: instruct curl to not use signals, set timeout value to the one set in config
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-23 18:14:27 +02:00
Ivailo Monev
52a1066d5f kioslave: remove unused readLogFile() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-23 03:48:41 +02:00
Ivailo Monev
05cf194176 kioslave: avoid temporaries in file slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-23 03:32:46 +02:00
Ivailo Monev
b92a08ae0c kioslave: use plain TCP socket for connection
connection is not encrypted, Ftp class members are declared as QTcpSocket
which automatically downcasts the object anyway

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-21 15:11:17 +02:00
Ivailo Monev
8576d1c7de kioslave: use KIO::ERR_CONNECTION_BROKEN as error when setting HTTP header fails
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-21 12:57:31 +02:00
Ivailo Monev
1c92f16897 kioslave: check the return value of most curl_easy_setopt() calls
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-21 12:51:49 +02:00
Ivailo Monev
e0bfca1e23 kioslave: curl does its own caching for which there is no option
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-21 12:51:18 +02:00
Ivailo Monev
3ea24dec27 kioslave: reset curl handle on every get()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-21 12:42:23 +02:00
Ivailo Monev
9d0e55c1f6 kioslave: disable copying of KHTTPHeader
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-21 06:39:23 +02:00
Ivailo Monev
a0068c5d85 kioslave: fix crash in case charset is not set in content-type field
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-21 06:27:41 +02:00
Ivailo Monev
1cda27ba73 kioslave: implement charset, modified and accept metadata for http slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-21 06:09:45 +02:00
Ivailo Monev
cb3f976585 kioslave: reset header data on every get from http slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-19 21:51:46 +02:00
Ivailo Monev
2b5f2ec093 kioslave: implement PropagateHttpHeader for http slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-19 19:44:16 +02:00
Ivailo Monev
26b5f5f341 kioslave: the argument of SlaveBase::mimeType() is of QString type
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-19 19:26:22 +02:00
Ivailo Monev
fcd8ecf950 kioslave: implement proxy and referrer metadata for http slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-19 19:19:09 +02:00
Ivailo Monev
69af879278 kioslave: reimplement HTTP(S) slave via curl
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-19 16:40:06 +02:00
Ivailo Monev
cc5a959285 kioslave: sleep 400ms on each iteration in http slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-18 20:04:44 +02:00
Ivailo Monev
6f030a46f9 kioslave: set request cache control attribute based on KIO metadata in http slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-18 17:43:59 +02:00
Ivailo Monev
82cdec9ed4 kioslave: minor http slave review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-17 14:30:55 +02:00
Ivailo Monev
976bff0363 kioslave: emit progress from http slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-17 14:17:40 +02:00
Ivailo Monev
f2b8c2912b kioslave: handle redirection in http slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-17 13:55:51 +02:00
Ivailo Monev
c5569f32e4 kioslave: apply metadata from scheduler if present
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-17 11:34:46 +02:00
Ivailo Monev
b277cdadfb generic: remove now unused http/webdav slave bits
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-17 10:57:37 +02:00
Ivailo Monev
d00cf4fd23 kioslave: return same default MIME type as the one specified in the protocol file for HTTP(S)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-17 10:25:07 +02:00
Ivailo Monev
0009cbb5a2 generic: drop support for webdav protocol
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-16 15:45:23 +02:00
Ivailo Monev
8b115dcc0d kioslave: emit MIME type for HTTP(S) as required by KIO
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-16 10:46:58 +02:00
Ivailo Monev
181492b825 kioslave: basic HTTP(S) get operation implementation as an example for porting
akregator can send the requests and wait for them to complete once all are
in queue

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-16 10:09:14 +02:00
Ivailo Monev
581afd3caa generic: drop KIO HTTP(S) support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-16 09:12:20 +02:00
Ivailo Monev
1993db291c kioslave: mount/unmount actions reimplementation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-09-02 05:42:21 +03:00
Ivailo Monev
fcd045a95e kioslave: replace KSocketFactory with QSslSocket/QTcpServer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-08-26 05:01:06 +03:00
Ivailo Monev
dd07d6844b kdecore: remove perror() debug stream function [ci reset]
TODO: use qt_error_string() instead of strerror() for thread-safety

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-08-08 21:55:18 +03:00
Ivailo Monev
ae4a5d3f89 kioslave: remove redundant definition
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-07-19 17:46:05 +03:00
Ivailo Monev
07522192c3 generic: avoid global static KStandardDirs instance access
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-15 05:25:34 +03:00
Ivailo Monev
c91cef75ef kioslave: CodeQL warning fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-14 12:33:40 +03:00
Ivailo Monev
22adbbe45b kioslave: avoid sendfile64()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-10 06:26:34 +03:00
Ivailo Monev
41660c168b kioslave: remove LFS support assert
fixes build on i386 Linux

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-09 01:59:00 +03:00