Commit graph

248 commits

Author SHA1 Message Date
Ivailo Monev
986a303ff6 kio: KAutoMount and KAutoUnmount rewrite to use org.kde.SolidUiServer interface
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-15 22:05:16 +03:00
Ivailo Monev
2249377a9b kioslave: remove "emit" in HttpProtocol::slotProgress()
KIO::SlaveBase::processedSize() and KIO::SlaveBase::totalSize() are not
signals

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-13 02:38:02 +03:00
Ivailo Monev
ef6c4b0c32 kioslave: remove useless DEBUG.howto file
no info on the page

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-08 16:25:02 +03:00
Ivailo Monev
d9eca4f771 kio: remove unused KIO::FileJob class and random access I/O API
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-05 23:06:32 +03:00
Ivailo Monev
1fb4ffa5a8 kioslave: deprecation warning fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-01-01 04:57:40 +02:00
Ivailo Monev
4cb8afa14d generic: remove unused KIO protocol input/output information
KIO slaves are either helper (e.g. vnc/rdp), not source (e.g. thumbnail
which is also helper in a way) or have listing capability (e.g. file
which is filesystem type)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-01-01 02:46:51 +02:00
Ivailo Monev
5e7a19f6f7 generic: store KIO slaves listing capability as boolean
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-01-01 00:57:27 +02:00
Ivailo Monev
8c5d11fc77 kioslave: map CURLE_REMOTE_FILE_EXISTS and CURLE_COULDNT_RESOLVE_HOST to KIO errors
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 19:58:56 +02:00
Ivailo Monev
b2d0b1a955 kio: remove unused CMD_SLAVE_STATUS command
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 23:08:32 +02:00
Ivailo Monev
110333d920 kioslave: replace KIO::ERR_COULD_NOT_AUTHENTICATE with KIO::ERR_COULD_NOT_LOGIN in http slave
according to the KIO::ERR_COULD_NOT_AUTHENTICATE error description it is
used when the authentication method is not supported, not when credentials
are required or incorrect

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 20:05:21 +02:00
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