Skip to content
Commit d657b0e6 authored by Harald Sitter's avatar Harald Sitter 🐧
Browse files

move bugz api from qurlquery to a custom container

it's a bit meh but we want to get aggressive percent encoding, qurlquery
doesn't give us that.

so what we had before was that one would feed QUQs into the API, then
the Connection would decode the QUQ to more comprehensively encode it
before constructing the final request QUrl that gets passed to KIO.
this had a number of entirely unwanted side effects the QUQ internally
partially recodes from user input and we'd have to select a decoding
choice when getting it out of QUQ. depending on the input that went
gloriously wrong

e.g. password with the verbatim part %FF would decode to unicode

similarly we can't simply use a more limited decoding set because it
couldn't possibly small enough

e.g. a password with the verbatim part %3C would decode to < even when
using DecodeReserved

to solve this properly we now have two distinct states for the queries
represented by the actual objects we deal with.

our Query object is literal input and never transcodes

just before passing to KIO our Query is translated to a QUrlQuery and as
part of that comprehensively encoded through toPercentEncoding. this
should then ensure that what KIO deals with is indeed encoded in a
similar fashion to how a browser would do it, and how bugz expects it.

to ensure this works correctly the connection test has been extended
accordingly

BUG: 435442
FIXED-IN: 5.21.5
parent b997732c
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment