1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-01-23 04:54:18 +00:00

126 Commits

Author SHA1 Message Date
Chocobo1
47439a7efd
Use reference when parsing URL query
PR #19659.
2023-09-30 11:42:35 +08:00
Chocobo1
529e49aea7
Fix performance regression
Follow up #19417.
PR #19652.
2023-09-28 01:26:57 +08:00
Vladimir Golovnev
46c1c9de65
Fix memory leaks
* Fixes a couple of memory leaks (although not dangerous in practice, since we are talking about objects with a lifetime up to the end of the application)
* Fixes heap use after free

PR #19650.
Closes #19632.
2023-09-27 08:00:20 +03:00
Victor Chernyakin
65930ddf94
Use std::pair instead of QPair
PR #19548.
2023-09-03 09:39:34 +03:00
Vladimir Golovnev
33d767b765
Disable using Qt functions deprecated up to Qt 6.5
* Disable using Qt functions deprecated up to Qt 6.5
* Utilize QSet::removeIf()

PR #19419.
2023-08-08 08:52:13 +03:00
Vladimir Golovnev
06581636a1
Utilize QByteArrayView
PR #19417.
2023-08-07 11:21:32 +03:00
Chocobo1
e31c3376bd
Use library provided erase_if()
`Algorithm::removeIf()` is still valuable as `QHash::removeIf()` predicate require an
iterator or a `std::pair`, which both require more code to unpack the variable and therefore
cumbersome to use.

PR #19353.
2023-07-24 20:29:02 +08:00
Vladimir Golovnev
10ee1ab7a2
Switch to C++20
PR #19336.
2023-07-21 15:38:49 +03:00
Chocobo1
543745b3f2
Avoid stuffing the log via junk requests 2023-07-09 21:23:09 +08:00
Chocobo1
cb0c09769f
Response proper error status for invalid request methods 2023-07-09 21:23:09 +08:00
Chocobo1
e8f5a3b44e
Fix response for HTTP HEAD method
Closes #19288.
2023-07-09 21:23:08 +08:00
Chocobo1
b3d2ba7d07
Initialize regex only once
This code path is commonly used so let it initialize only once.
2023-06-23 14:49:22 +08:00
Chocobo1
03d3552ee0
Avoid unnecessary memory allocation/relocation 2023-06-23 14:49:22 +08:00
Chocobo1
e6d85a468b
Rename literal operator
Qt 6.4 introduced `QString operator""_s()` and the previous `""_qs` is
deprecated since Qt 6.8.
2023-06-18 03:32:44 +08:00
Chocobo1
f6b58f36e2
WebUI: set Cross Origin Opener Policy to same-origin
This separates browsing context for different origin sites and prevents
leaking data from it.
This header is only present when using built-in WebUI. Alternative WebUI
is not affected.
https://web.dev/why-coop-coep/#coop

PR #19157.
2023-06-14 13:38:48 +08:00
Chocobo1
73134d5f4d
Initialize member variables 2023-05-07 16:30:56 +08:00
Chocobo1
8219b1f695
Use default constructor, destructor 2023-05-06 16:35:12 +08:00
sledgehammer999
b2213ded6d
Support TLS 1.2+ only in the server
Closes #18122
2023-02-06 10:32:01 +02:00
sledgehammer999
1ea2fe5b8d
Blacklist bad ciphers for TLS in the server
Prevents the ROBOT attack.
Closes #18483
2023-02-06 10:32:01 +02:00
Chocobo1
dba711d099
Use helper function for logging messages 2022-07-07 12:17:52 +08:00
Chocobo1
02d906d3ae
Initialize pointer to a default value 2022-06-23 21:31:16 +08:00
Chocobo1
6de72ecc77
Make use of chrono literals from std library 2022-06-23 21:31:16 +08:00
Chocobo1
4ca6de2b54
Revise string literal usage
PR #16703.
2022-03-26 11:53:50 +08:00
Chocobo1
802ec5a14e
Use QString literals
This patch covers src/gui and some leftovers from previous commit.
2022-03-18 12:46:01 +08:00
Chocobo1
8de966ea88
Merge pull request #16585 from Chocobo1/qstring
Use QString literals
2022-03-12 12:49:08 +08:00
Aleksandr Cupacenko
1b53c590f2
Allow blank lines in multipart form-data input
Fixes #11298.
PR #16579.
2022-03-11 13:40:22 +08:00
Chocobo1
f0dd7b7dae
Use QString literals
This patch covers src/app and src/base folders.
Follow up of ab64ee872bd76b9fe27a1814550cab386e20a0d5.
2022-03-11 00:11:30 +08:00
Chocobo1
ab64ee872b
Use QString literals
The plan is to define `QT_NO_CAST_FROM_ASCII` eventually.
PR #16561.
2022-03-04 13:25:22 +08:00
Chocobo1
aedd997604
Don't expire connection when there are data in buffer
For writing, this ensures expire handler won't be executed in a small
time window, that is after `m_socket->write()` and before
`QIODevice::bytesWritten()` signal.
For reading, this let the socket to have the chance to process the
received data instead of dropping it.

PR #15849.
2021-12-18 12:28:30 +08:00
Chocobo1
ad9d0608d4
Avoid needless string-bytes conversion
This saves a few microseconds.
2021-12-14 13:52:34 +08:00
Chocobo1
3c5688c6f6
Reserve enough buffer space according to response content size 2021-12-14 13:52:34 +08:00
Chocobo1
ece92a886a
Restart idle timer on sending network response 2021-12-14 13:52:33 +08:00
Chocobo1
d78b2a569f
Fix handling when Content-Length field is absent
Closes #15754.
PR #15757.
2021-11-21 11:48:49 +08:00
Vladimir Golovnev (Glassez)
399d3ad85a
Replace QStringRef with QStringView 2021-07-15 10:56:49 +03:00
Chocobo1
70d1cb86fd
Disable move constructor where it is sensible 2021-06-29 14:49:45 +08:00
HiFiPhile
f5315d9ba7
Add WebUI reverse proxy source IP resolution (#15047)
Co-authored-by: qix67
Co-authored-by: HiFiPhile <admin@hifiphile.com>
2021-06-23 09:01:36 +03:00
Vladimir Golovnev (Glassez)
97c7f3bc67
Raise minimum Qt version to 5.14 2021-06-03 08:56:41 +03:00
Chocobo1
e21f46d824
Avoid data duplication 2021-05-21 14:38:06 +08:00
FranciscoPombal
6152b83405 Use #pragma once instead of include guards 2020-12-12 19:41:32 +00:00
Vladimir Golovnev (Glassez)
c41df9ffbd
Improve coding style 2020-11-17 21:02:37 +03:00
FranciscoPombal
4bdf9eda41 Fix extra/missing trailing new lines in files 2020-10-28 14:20:18 +00:00
Andrei Stepanov
04306a544f
Fix typo in connection.cpp
limiation -> limitation
2020-10-20 11:10:51 +04:00
Chocobo1
2f1016494b
Specify UTF-8 charset when forming data from plain text
This suppresses a browser warning about unspecified character encoding
of an HTTP response.
2020-09-08 14:30:55 +08:00
FranciscoPombal
0fa7fca31e Fix truncation when parsing HTTP request query
Closes #13029.

Fixes an issue with truncation of a QByteArray at the first '\0' byte
when parsing HTTP request query strings.

Previously, the operands of the ternary expression were of
different types. Most likely this was leading to a conversion
of the result to some kind of '\0'-terminated string type somewhere
along the way, in turn causing its truncation at the first '\0' byte
once converted back to QByteArray.

For some reason this bug was only present on Windows (MSVC).
2020-06-23 11:45:30 +01:00
Chocobo1
be152f45c9
Define and use Http::HeaderMap type 2020-05-11 00:34:28 +08:00
Chocobo1
d57b9be706
Rename function 2020-05-10 02:53:32 +08:00
Chocobo1
74a2168bc1
Define and use a proper HTTP header structure 2020-05-10 02:53:11 +08:00
Chocobo1
6d167e9a28
Remove const from class variables
It prohibits copy construction, copy assignment and move semantics.
2020-04-29 21:32:34 +08:00
Chocobo1
d3d3f7dbb3
Add final specifier to classes
This allow compilers to generate more efficient code.
2020-04-17 13:18:40 +08:00
Chocobo1
7de8a4d6e0
Construct QString more efficiently 2020-03-25 12:00:11 +08:00