1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 03:18:11 +00:00
serenity/Userland/Services/RequestServer
MacDue a1d669fe63 RequestServer: Make pre-connection job refcounted
Fixes #22582

Previously, the job and the (cache of them) would lead to a UAF, as
after `.start()` was called on the job it'd be immediately destroyed.

Example of previous bug:

```
// Note due to the cache &jobA == &jobB
auto& jobA = Job::ensure("https://r.bing.com/");
auto& jobB = Job::ensure("https://r.bing.com/");
// Previously, the first .start() free'd the job
jobA.start();
// So the second .start() was a UAF
jobB.start();
```
2024-01-05 04:03:32 +03:30
..
CMakeLists.txt Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
ConnectionCache.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ConnectionCache.h RequestServer: Make pre-connection job refcounted 2024-01-05 04:03:32 +03:30
ConnectionFromClient.cpp RequestServer: Make pre-connection job refcounted 2024-01-05 04:03:32 +03:30
ConnectionFromClient.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Forward.h Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
GeminiProtocol.cpp RequestServer: Make pre-connection job refcounted 2024-01-05 04:03:32 +03:30
GeminiProtocol.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
GeminiRequest.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
GeminiRequest.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
HttpCommon.h RequestServer: Make pre-connection job refcounted 2024-01-05 04:03:32 +03:30
HttpProtocol.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
HttpProtocol.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
HttpRequest.cpp LibCore: Move Stream-based file into the Core namespace 2023-02-13 00:50:07 +00:00
HttpRequest.h LibCore: Move Stream-based file into the Core namespace 2023-02-13 00:50:07 +00:00
HttpsProtocol.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
HttpsProtocol.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
HttpsRequest.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
HttpsRequest.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
main.cpp RequestServer: Only attach SIGINFO signal handler if SIGINFO is defined 2022-07-06 14:24:23 +02:00
Protocol.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Protocol.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Request.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Request.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
RequestClient.ipc Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
RequestServer.ipc Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30