Commit graph

177 commits

Author SHA1 Message Date
Chocobo1
79ca2e145f
Don't read unlimited data from files
It now guards against reading infinite files such as `/dev/zero`.
And most readings are bound with a (lax) limit.
As a side effect, more checking are done when reading a file and
overall the reading procedure is more robust.

PR #19095.
2023-06-14 13:38:19 +08:00
Chocobo1
179a61d75e
Add curly braces 2023-05-07 19:41:55 +08:00
七海千秋
1e400df324
Set "SameSite=None" if CSRF Protection is disabled
PR #18843.
2023-04-16 14:27:49 +03:00
Vladimir Golovnev
58a654a70f
Reject requests that contain backslash in path
PR #18626.
Closes #18618.
2023-02-27 16:50:50 +03:00
Vladimir Golovnev
72ac92ec68
Allow to use another icons in dark mode
PR #18435.
2023-02-07 22:07:15 +03:00
Vladimir Golovnev
c58fb92365
Suppress warning when session cookie name isn't overridden
PR #18455.
2023-01-26 07:00:20 +03:00
Vladimir Golovnev
771c58d000
WebAPI: Allow to specify session cookie name
PR #18384.
Closes #18329.
2023-01-17 09:31:17 +03:00
brvphoenix
b33dc7d831
Unify the way to generate the language list in WebUI and GUI
PR #17994.
2022-12-25 16:44:37 +03:00
Chocobo1
109c45bb95
Allow to use subnet notation in reverse proxy list
Closes #17475.
2022-09-08 14:44:18 +08:00
Chocobo1
851374e517
Rename function 2022-09-07 14:11:23 +08:00
Chocobo1
082e6f8830
Apply i18n translation only to built-in WebUI 2022-08-27 13:55:05 +08:00
Chocobo1
ee38124db7
Optimize symbolic links checking 2022-08-27 13:55:04 +08:00
Chocobo1
e06e1d9911
Throw error exception properly 2022-08-27 13:55:04 +08:00
Chocobo1
3851e76179
Remove special handling of icons 2022-08-27 13:55:04 +08:00
Chocobo1
aa6b29fe7e
Set HTTP method restriction on WebAPI actions
PR #17548.
2022-08-15 11:56:59 +08:00
Chocobo1
5d1115f591
Remove compile-time conditional
This checking should be universally applied and not limited to certain OS.
2022-07-25 01:18:42 +08:00
Vladimir Golovnev
f8a304abdc
Implement base classes for application components
PR #17219.
2022-06-25 15:46:55 +03:00
Tom Piccirello
fb7f7d0c75
Add support for exporting .torrent from WebUI
PR #16968.
2022-05-04 12:13:24 +08:00
Requi
669b67e666
WebAPI: return correct status
Fix web API returning Not Found instead of Forbidden.

When not having a session the API would return "Not Found" instead of "Forbidden" when trying to access a non-public endpoint.

PR #16866.
2022-04-14 08:26:19 +03:00
Vladimir Golovnev
4471a6377e
Have separate API controller instances per session
PR #16848.
2022-04-12 13:39:35 +03:00
Chocobo1
4ca6de2b54
Revise string literal usage
PR #16703.
2022-03-26 11:53:50 +08:00
Chocobo1
efc04645b7
Use QString literals
It covers src/webui and enables `QT_NO_CAST_FROM_ASCII`.
2022-03-20 13:33:40 +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
Vladimir Golovnev
dd1bd8ad10
Implement class for handling filesystem paths
PR #15915.
2022-02-08 06:03:48 +03:00
Vladimir Golovnev (Glassez)
399d3ad85a
Replace QStringRef with QStringView 2021-07-15 10:56:49 +03: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
ef79546508
Add connection_speed to advanced settings
Now we follow libtorrent current default value 30.
Closes #6973.

Also bump WebAPI version.
2021-05-21 14:37:57 +08:00
Vladimir Golovnev (Glassez)
61d2ff359b
Use QRegularExpression instead of deprecated QRegExp
Now it follows closely the definition of wildcard for glob patterns.
The backslash (\) character is not an escape char in this context.
In order to match one of the special characters, place it in square
brackets (for example, [?]).
2021-03-22 07:50:47 +03:00
Vladimir Golovnev (Glassez)
c41df9ffbd
Improve coding style 2020-11-17 21:02:37 +03:00
Mike Tzou
de85b8b552
Merge pull request #12859 from Chocobo1/gif
Move WebUI icons to its own folder
2020-05-21 10:59:52 +08:00
Thomas Piccirello
6e4f49fc57 Always specify Content-Type in Web API error responses 2020-05-19 01:08:06 -07:00
Chocobo1
02c25dbe2a
Move WebUI icons to its own folder
After this change: "http://<server>/icons" will point to "src/icons"
folder and "http://<server>/images" points to the real "images" folder
in the relative path.
2020-05-19 14:58:49 +08: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
957d697aee
Prebuild HTTP headers as much as possible
This avoids some branching when building a HTTP response.
2020-05-10 02:50:13 +08:00
Chocobo1
2729c0cb6d
Suppress misleading warning message
QString::split() was giving a non-empty QStringList, and
that caused Session::setBannedIPs() to emit misleading warning message.
2020-04-23 21:01:33 +08:00
Chocobo1
bb80b378c1
Add ability to send custom HTTP headers 2020-04-23 12:13:01 +08:00
FranciscoPombal
691d5e5d89 WebUI: Implement "Secure" flag for session cookie
Closes #11724.

Option is enabled by default for users using qBittorrent's built-in HTTPS capabilities. This flag will never be set if qBittorrent is using plain HTTP.

Users using HTTPS reverse proxies, like "qbt <-> (http) <-> proxy <-> (https) <-> user" should override the flag in the proxy in order to set it, if they wish to do so.
2019-12-23 17:58:08 +00:00
Chocobo1
8fe8cbd3d1
Reuse code path in switch cases 2019-11-14 12:14:29 +08:00
Chocobo1
f907328bdc
Add const to class function 2019-08-14 20:29:01 +08:00
Chocobo1
230949ee3b
Cache and reuse detected MIME type 2019-08-14 17:51:19 +08:00
Chocobo1
7a5e883cd2
Revise inline keyword usage
And let compiler decide whether to inline functions.
2019-07-16 18:42:55 +08:00
Chocobo1
89124bdcc8
Add WebAPI session timeout settings
Raise default timeout to 1 hour.
2019-06-15 18:57:19 +08:00
Chocobo1
e288de7ec1
Forward declare as much as possible 2019-05-19 12:06:18 +08:00
Chocobo1
c6f3da1097
Improve removeIf() to support set types
We can now replace QMutable*Iterator by removeIf() which usage is more consistent with other
algorithm functions.
2019-05-14 01:26:01 +08:00
Chocobo1
bd8d70bf60
Refactor HTTP query parsing 2019-05-09 12:41:30 +08:00
Chocobo1
69d29af097
Fix '+' char not decoded to space correctly
Closes #10606.
2019-05-09 11:17:41 +08:00
Chocobo1
375de4f8a6
Replace QMap with QHash when sensible 2019-05-01 11:09:25 +08:00