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
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
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
Ivailo Monev
0269b70b0a
kioslave: send KIO error codes from curl slave where possible
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 19:23:40 +02:00
Ivailo Monev
c8769ed4f3
kioslave: different take on authorization in curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 08:48:30 +02:00
Ivailo Monev
7a4ebe677f
kioslave: secure string scanning in curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 03:23:24 +02:00
Ivailo Monev
f7d3fca5ed
kioslave: decode filepaths via KRemoteEncoding from curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 03:02:42 +02:00
Ivailo Monev
58f43fbe7d
kioslave: implement authorization info caching for curl slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 02:21:27 +02:00
Ivailo Monev
a5132853b0
kioslave: reimplement ftp and sftp slaves via curl
...
the sftp KIO slave is in the kde-workspace repo and the module for
finding libssh was for it. tested ftp and sftp - both work with user and
password authentication as intended (in read-only mode, put() not
implemented)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 00:48:01 +02:00
Ivailo Monev
7139774873
kioslave: fix file slave runtime warning
...
prior to cf6ac06d91
the slave was simply
exiting but that is no longer the case
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-19 20:20:15 +03:00
Ivailo Monev
00400ef6de
kioslave: correct close() result check in FileProtocol::put()
...
close() is not documented to return positive integer, it returns either
zero or -1
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-19 19:35:42 +03:00
Ivailo Monev
552d89425b
kioslave: implement Authorization metadata for http slave
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-16 13:46:36 +03:00
Ivailo Monev
0f0dcc7b33
kio: drop redundant and disabled by default kionetrc/.netrc support
...
no interface to enable it and with KPasswdStore in place it is simply
redundant (other than the auto-login macros maybe)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-09 15:46:45 +03:00
Ivailo Monev
5545cb7e2f
kio: remove unused KProtocolManager::supportsOpening() method
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-31 20:35:46 +00:00
Ivailo Monev
938ac263ab
kioslave: remove unused QVarLengthArray header inclusion
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-30 18:20:53 +00:00
Ivailo Monev
c882cf5442
kioslave: map 504 HTTP(S) status to KIO::ERR_SERVER_TIMEOUT
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-29 06:10:52 +03:00
Ivailo Monev
727a889883
kioslave: mark permissions and flags arguments of HttpProtocol::put() as unused
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-27 04:04:18 +03:00
Ivailo Monev
eac8fd79cc
kdecore: re-use KUrl::AdjustPathOption for KUrl::fileName() and KUrl::directory()
...
so that it is clear that the options shall affect only the result, also for
local files the correct thing can be done regardless of the trailing slash
as is done in KUrl::upUrl()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-26 20:47:38 +03:00
Ivailo Monev
9f05a33ee6
generic: build fix
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-23 14:08:10 +03:00
Ivailo Monev
cf6ac06d91
kioslave: return on put() error instead of exiting the slave
...
if the slave is not a forked process that would exit the program executing
the put job
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 21:54:38 +03:00
Ivailo Monev
aee73d3abb
kioslave: fix removal of .part files on file put
...
_dest is never set to something
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 21:46:20 +03:00
Ivailo Monev
ba1d5268ee
kioslave: format and indent
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 21:24:38 +03:00
Ivailo Monev
387022831a
kioslave: remove redundant FileProtocol::createUDSEntry() argument
...
true is always passed
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 21:12:55 +03:00
Ivailo Monev
9fe6a221cc
kio: include config-acl header in file_unix source file
...
for the HAVE_POSIX_ACL definition
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 20:50:59 +03:00
Ivailo Monev
9c4bc997c4
kioslave: replace FileProtocol::isExtendedACL() method with its body
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 20:27:19 +03:00
Ivailo Monev
c2ba59db1e
kioslave: remove unused QProcess header inclusion
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 20:06:31 +03:00
Ivailo Monev
bb8ac83d00
kioslave: mark FileProtocol reimplementations as final
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-21 20:05:23 +03:00
Ivailo Monev
5613e5483c
generic: remove redundant build varibles
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 20:25:52 +03:00
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