Ivailo Monev
03603a6127
kioslave: make curl fail on error
...
CURLOPT_FAILONERROR is apparently not enabled by default in recent curl
versions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-20 13:42:45 +02:00
Ivailo Monev
f8ea6584c5
kioslave: update http slave usage
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-20 13:15:37 +02:00
Ivailo Monev
80c29cd794
kioslave: handle 404 and 503 HTTP error as service not available
...
note that KIO::ERR_SERVICE_NOT_AVAILABLE was not handled in
KIO::buildErrorString() (since before the fork)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-19 19:35:10 +02:00
Ivailo Monev
de4c9f1d6a
kioslave: add disabled curl_easy_setopt() to http KIO slave
...
for debugging connection issues
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-14 14:26:50 +02:00
Ivailo Monev
bc067dbdfa
kio: drop support for putting slaves on hold
...
with klauncher no longer responsible for KIO slave the next step is to
make them plugins and the feature to put them on hold will be of no value
because QLibrary reuses library/plugin instances and creating a new
slave object will be cheap
in other words the performance will be similar to that of KFileMetaInfo
for which I also wrote the plugins myself - they are pretty quick
compared to what strigi was doing and with more flexible configuration
interface but it took some effort to get there
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-06 04:22:23 +02:00
Ivailo Monev
b2ad647dcb
kioslave: add assert about the curl_off_t assumption
...
curl_off_t may be typedef-ed to long on some bizarre system, Katie does not
support such tho
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-30 09:44:12 +02:00
Ivailo Monev
704ef230d5
generic: make use of KUser and KUserGroup
...
eventually KUser and KUserGroup will use getpwnam_r(), getgrnam_r(), etc. for thread safety
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-10 21:05:19 +03:00
Ivailo Monev
29a8459798
generic: remove checks for system headers that should be present
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-23 15:42:09 +03:00
Ivailo Monev
00f95b629b
generic: compiler warnings fixes
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-06-05 02:20:16 +03:00
Ivailo Monev
db065bad02
kioslave: zero-initialize the readlink() buffer in FileProtocol::createUDSEntry()
...
fixes possible crash in case readlink() fails
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-06-04 20:16:54 +03:00
Ivailo Monev
025dae464b
generic: remove smb and nfs slave leftovers, default to sftp for remote protocol
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-06-03 14:58:53 +03:00
Ivailo Monev
17fcee4311
kioslave: implement put for http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-30 21:09:36 +03:00
Ivailo Monev
676fc025b7
kioslave: http slave no longer needs QObject
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-29 07:19:34 +03:00
Ivailo Monev
38079e572c
kioslave: workaround for curl not being able to verify certificates for hosts that are address
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-24 07:22:34 +03:00
Ivailo Monev
307e46b867
kioslave: implement authorization restriction for HTTP(S)
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-23 08:34:28 +03:00
Ivailo Monev
c5c68413f7
kioslave: correct KDE_rename() return value check in file slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-19 04:12:46 +03:00
Ivailo Monev
67e22b159a
kioslave: setup authorization prompt similar to that of ftp slave prompt in http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-14 03:30:00 +03:00
Ivailo Monev
a94b6f0461
kioslave: pass user and password to curl separately from http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-13 23:54:20 +00:00
Ivailo Monev
fbf9ad4e28
kioslave: implement interactive authorization via redirection for http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-13 22:12:38 +03:00
Ivailo Monev
de6c3d6ca4
kioslave: implement auth from the URL user and password for http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-13 21:43:38 +03:00
Ivailo Monev
1f9692122f
kio: remove now unused referrer feature
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-13 21:16:51 +03:00
Ivailo Monev
c5d816bbbf
kioslave: de-duplicate code and handle curl HTTP error code in http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-13 19:46:43 +03:00
Ivailo Monev
7882f12d69
kioslave: abort HTTP transfers early on error and use curl information instead of parsing headers data in http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-13 17:16:04 +03:00
Ivailo Monev
c7ed55d158
kio: remove now unused HTTP headers propagation feature
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-13 15:37:43 +03:00
Ivailo Monev
06407334e6
kioslave: use slave-defined error enum where appropriate in http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-13 01:31:00 +03:00
Ivailo Monev
12e9b231b7
kioslave: implement stat for http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-13 00:55:00 +03:00
Ivailo Monev
16cf3fab27
kioslave: map more HTTP status codes to KIO errors
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 23:25:33 +03:00
Ivailo Monev
a48d4cbb28
kioslave: implement mimetype() for http slave
...
most of the refactoring is so that headers are parsed and error is emited
if HTTP status is >= 400 before MIME type is emited from the slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 23:06:14 +03:00
Ivailo Monev
2bccd3cfe4
kioslave: fix runtime warning related to MIME type and http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 22:24:56 +03:00
Ivailo Monev
3d67570272
kioslave: remove unused KHTTPHeader methods
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-10 01:25:44 +03:00
Ivailo Monev
36eb896a6c
kioslave: emit download speed from http slave
...
fixes state of transfers done via KIO plugin in KGet (the transfers state
was set to stalled even while download is in progress)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-23 09:53:30 +03:00
Ivailo Monev
3d03a627bc
kioslave: use the non-deprecated XFER information callback in http slave
...
XFER callback introduced in curl v7.32.0, v7.43.0+ is required for
CURL_AT_LEAST_VERSION() anyway
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-22 09:30:52 +03:00
Ivailo Monev
d0d29ef693
kioslave: fix build with curl v7.73.0+
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-10 23:43:08 +03:00
Ivailo Monev
25b5133f26
kioslave: map some curl errors to KIO errors in http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-10 21:56:21 +03:00
Ivailo Monev
6a930be53f
kio: remove unused KIO::AuthInfo members and methods
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-06 23:30:27 +03:00
Ivailo Monev
6fe36e5d05
kioslave: create GUI application for ftp slave
...
fixes crash when authorization is required
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-06 01:14:44 +03:00
Ivailo Monev
6f85921337
generic: replace custom Curl module with CMake provided one
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-29 16:20:59 +03:00
Ivailo Monev
96b145819b
kioslave: emit error on HTTP status greater or equal to 400 from http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-28 01:00:05 +03:00
Ivailo Monev
25ce9292bb
kioslave: implement resume metadata for http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-26 07:55:23 +02:00
Ivailo Monev
b547419d58
kioslave: restrict http slave redirection protocols to HTTP(S)
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-16 09:31:47 +02:00
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