Ivailo Monev
4c7a71e55a
kio: disable ASN for services without entry path
...
it should not be assumed that applications support ASN to begin with but
currently is
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-05-21 06:12:46 +03:00
Ivailo Monev
53fda3a2f6
kdeui: remove the unused and non-standard LAUNCHED_BY ASN info
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-05-21 05:23:54 +03:00
Ivailo Monev
e9f6bd28d3
kio: const-ify KIO::Slave getters
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-05-20 05:49:45 +03:00
Ivailo Monev
219bea5656
kio: deprecation warning fix
...
next time just change the poppler::time_type typedef (less ifdef spaghetti)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-01-01 21:51:17 +02:00
Ivailo Monev
550ed43ba7
kio: lower the idle slaves life-time to 1 minute
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-01-01 06:15:52 +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
c9ee5d3195
kio: add note about a gap in the HTTP RFC
...
HTTP is a one-way street, do I really want to keep a server up until a file
transfer is finished tho (not in the case of KDirShare - the directory may
be unshared because the system is about to be rebooted or shutdown)?
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-29 08:51:56 +02:00
Ivailo Monev
7cfaf11ad3
kio: implement HEAD method for KHTTP
...
kinda not worth it tho - neither browsers nor KIO use it actually, maybe
optimization for bots and web crawlers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-27 20:29:45 +02:00
Ivailo Monev
45db837f12
kio: initialize KHTTPPrivate::m_filepool member
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-27 18:53:52 +02:00
Ivailo Monev
f5fa2f2fd6
kio: thread the sending of files from KHTTP
...
for small files it may be overkill but for large files it is a huge
difference
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-27 01:18:37 +02:00
Ivailo Monev
0806e846eb
kio: insert Connection header from HTTPHeaders() function
...
required if not supported by the server, for reference:
https://www.rfc-editor.org/rfc/rfc9112#name-persistence
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 23:13:02 +02:00
Ivailo Monev
823c98360d
kio: handle content exceptions in KHTTP
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 22:06:19 +02:00
Ivailo Monev
f6ef1e42f3
kio: insert Last-Modified header when serving files from KHTTP
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 21:49:11 +02:00
Ivailo Monev
b1522a35dd
kio: update HTTP status codes from RFC 9110
...
for reference:
https://www.rfc-editor.org/rfc/rfc9110.html#name-changes-from-rfc-7231
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 20:51:41 +02:00
Ivailo Monev
9c3873613c
kio: insert Accept-Ranges header from HTTPHeaders() function
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 20:26:04 +02:00
Ivailo Monev
20e8594122
kio: insert Allow header from HTTPHeaders() function
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 19:41:44 +02:00
Ivailo Monev
5c7bcd1be4
kio: remove now unused QMutex header inclusion in khttp source file
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 19:40:45 +02:00
Ivailo Monev
8fcd182e2f
kio: const-ify the port argument of KHTTP::start()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 16:35:34 +02:00
Ivailo Monev
a9c96f297b
kio: multi-connection safe KHTTP server stop
...
bonus points for not using mutex
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 03:58:28 +02:00
Ivailo Monev
529ef6912b
kio: mark the KHTTPPrivate reimplementation as final
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 03:21:22 +02:00
Ivailo Monev
4f01c0c369
kio: typo
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 03:20:52 +02:00
Ivailo Monev
9446f976e7
kio: thread-safe KHTTP server stop
...
due to QTcpServer deleting clients on close either polling for new
connection has to be done (which will slow down the server a lot) or the
server has to be mutex-locked on per-client basis
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 03:18:43 +02:00
Ivailo Monev
0cbc869f50
kio: convert the version to uppercase for the sake of comparison
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 21:30:17 +02:00
Ivailo Monev
496c1e3226
kio: send 505 on non-HTTP/1.1 version from KHTTP
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 21:29:09 +02:00
Ivailo Monev
362b80c063
kio: send 405 on non-GET method from KHTTP
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 21:16:37 +02:00
Ivailo Monev
8731dfa323
kio: add the HTTP status code to the content in HTTPStatusToContent() function
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 20:51:39 +02:00
Ivailo Monev
6b61bac251
kio: KHTTP optimization
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 20:33:55 +02:00
Ivailo Monev
907782ff6d
kio: KHTTP::respond() documentation update
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:55:17 +02:00
Ivailo Monev
931a05dbb7
kio: do not assume server does not contain space characters in HTTPHeaders() function
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:44:18 +02:00
Ivailo Monev
046d5caaee
kio: new KHTTP::setServerID() setter
...
because authentication is done before calling the virtual KHTTP::responed()
method which means that Server header set in the headers from it would have
no effect
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:33:02 +02:00
Ivailo Monev
11e4eacc8e
kio: pass authentication requirement to KHTTPPrivate::writeResponse()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:14:57 +02:00
Ivailo Monev
3dbe3173be
kio: drop support for custom authentication message, de-duplicate code
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:05:47 +02:00
Ivailo Monev
9e0707ff8b
kio: reject large client payloads in KHTTP
...
for reference:
https://datatracker.ietf.org/doc/html/rfc7230#section-9.3
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 17:46:39 +02:00
Ivailo Monev
dc5aa31eca
kio: KHTTP dcoumentation update
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 06:26:41 +02:00
Ivailo Monev
d51e0ec201
kio: do not assume the authentication message is non-empty in KHTTP
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 06:19:21 +02:00
Ivailo Monev
59567864f0
kio: translate the error in KHTTP::setAuthenticate()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 05:16:44 +02:00
Ivailo Monev
969ddd830f
kutils: rewrite KHTTP and move it to kio library
...
same functionality but without extra dependencies and better throughput
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 04:59:18 +02:00
Ivailo Monev
3f6c5931af
kio: add typo to the possible causes for KIO::ERR_MALFORMED_URL
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 18:45:56 +02:00
Ivailo Monev
1365112606
kio: pass the caption to KMessageBox::detailedError() from KIO::JobUiDelegate::showErrorMessage()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 18:39:41 +02:00
Ivailo Monev
0f0db0c3a7
kio: show unqueued and detailed job error messages
...
some errors (such as KIO::ERR_SERVICE_NOT_AVAILABLE) are not handled in
KIO::rawErrorDetail() yet tho
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 04:09:49 +02:00
Ivailo Monev
9a2e49d59a
kio: replace QVariant with QMap header inclusion in global header
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 02:33:29 +02:00
Ivailo Monev
ca7fc963e7
kio: simplify SimpleJob::slotMetaData()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 01:54:25 +02:00
Ivailo Monev
96f7941236
kio: drop KIO::MetaData from and to QVariant conversion methods
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 00:59:47 +02:00
Ivailo Monev
5a270d4864
kio: initialize all KIO::SlaveBasePrivate members before connecting the slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 23:40:05 +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
83eab16683
kio: remove unused CMD_SLAVE_CONNECT command
...
never dispatched
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 22:31:46 +02:00
Ivailo Monev
5fa0b7a569
kio: remove unused port-related definitions
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 22:26:07 +02:00
Ivailo Monev
b7e764dfcd
kio: remove unimplemented KIO::SlaveBase::setLinkDest()
...
not even handled in KIO::SlaveBase::dispatch()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 21:23:25 +02:00
Ivailo Monev
ab75b45d49
kio: move private KIO::Command enum to job_p header
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 20:46:09 +02:00