diff --git a/Userland/Services/ImageDecoder/CMakeLists.txt b/Userland/Services/ImageDecoder/CMakeLists.txt deleted file mode 100644 index 837be09228d..00000000000 --- a/Userland/Services/ImageDecoder/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -compile_ipc(ImageDecoderServer.ipc ImageDecoderServerEndpoint.h) -compile_ipc(ImageDecoderClient.ipc ImageDecoderClientEndpoint.h) - -set(SOURCES - ConnectionFromClient.cpp - main.cpp -) - -set(GENERATED_SOURCES - ImageDecoderServerEndpoint.h - ImageDecoderClientEndpoint.h -) - -serenity_bin(ImageDecoder) -target_link_libraries(ImageDecoder PRIVATE LibCore LibGfx LibIPC LibMain LibThreading) diff --git a/Userland/Services/ImageDecoder/main.cpp b/Userland/Services/ImageDecoder/main.cpp deleted file mode 100644 index d5a85f9be4d..00000000000 --- a/Userland/Services/ImageDecoder/main.cpp +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (c) 2020-2021, Andreas Kling - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#include -#include -#include -#include -#include - -ErrorOr serenity_main(Main::Arguments) -{ - Core::EventLoop event_loop; - TRY(Core::System::pledge("stdio recvfd sendfd thread unix")); - TRY(Core::System::unveil(nullptr, nullptr)); - - auto client = TRY(IPC::take_over_accepted_client_from_system_server()); - - TRY(Core::System::pledge("stdio recvfd sendfd thread")); - return event_loop.exec(); -} diff --git a/Userland/Services/RequestServer/CMakeLists.txt b/Userland/Services/RequestServer/CMakeLists.txt deleted file mode 100644 index 47d29faafb9..00000000000 --- a/Userland/Services/RequestServer/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -compile_ipc(RequestServer.ipc RequestServerEndpoint.h) -compile_ipc(RequestClient.ipc RequestClientEndpoint.h) - -set(SOURCES - ConnectionFromClient.cpp - Request.cpp - main.cpp -) - -set(GENERATED_SOURCES - RequestClientEndpoint.h - RequestServerEndpoint.h -) - -serenity_bin(RequestServer) -target_link_libraries(RequestServer PRIVATE LibCore LibCrypto LibIPC LibMain LibTLS LibWebSocket LibURL LibThreading) diff --git a/Userland/Services/RequestServer/main.cpp b/Userland/Services/RequestServer/main.cpp deleted file mode 100644 index d7cfa5a7d9e..00000000000 --- a/Userland/Services/RequestServer/main.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2018-2020, Andreas Kling - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -ErrorOr serenity_main(Main::Arguments) -{ - TRY(Core::System::pledge("stdio inet accept thread unix rpath sendfd recvfd sigaction")); - -#ifdef SIGINFO - signal(SIGINFO, [](int) { RequestServer::ConnectionCache::dump_jobs(); }); -#endif - - TRY(Core::System::pledge("stdio inet accept thread unix rpath sendfd recvfd")); - - // Ensure the certificates are read out here. - // FIXME: Allow specifying extra certificates on the command line, or in other configuration. - [[maybe_unused]] auto& certs = DefaultRootCACertificates::the(); - - Core::EventLoop event_loop; - // FIXME: Establish a connection to LookupServer and then drop "unix"? - TRY(Core::System::unveil("/tmp/portal/lookup", "rw")); - TRY(Core::System::unveil("/etc/cacert.pem", "rw")); - TRY(Core::System::unveil("/etc/timezone", "r")); - TRY(Core::System::unveil(nullptr, nullptr)); - - RequestServer::HttpProtocol::install(); - RequestServer::HttpsProtocol::install(); - - auto client = TRY(IPC::take_over_accepted_client_from_system_server()); - - return event_loop.exec(); -} diff --git a/Userland/Services/WebContent/CMakeLists.txt b/Userland/Services/WebContent/CMakeLists.txt deleted file mode 100644 index 87b603f688d..00000000000 --- a/Userland/Services/WebContent/CMakeLists.txt +++ /dev/null @@ -1,26 +0,0 @@ -compile_ipc(WebContentServer.ipc WebContentServerEndpoint.h) -compile_ipc(WebContentClient.ipc WebContentClientEndpoint.h) - -compile_ipc(WebDriverClient.ipc WebDriverClientEndpoint.h) -compile_ipc(WebDriverServer.ipc WebDriverServerEndpoint.h) - -set(SOURCES - ConnectionFromClient.cpp - ConsoleGlobalEnvironmentExtensions.cpp - ImageCodecPluginSerenity.cpp - PageClient.cpp - PageHost.cpp - WebContentConsoleClient.cpp - WebDriverConnection.cpp - main.cpp -) - -set(GENERATED_SOURCES - WebContentClientEndpoint.h - WebContentServerEndpoint.h - WebDriverClientEndpoint.h - WebDriverServerEndpoint.h -) - -serenity_bin(WebContent) -target_link_libraries(WebContent PRIVATE LibCore LibFileSystem LibIPC LibGfx LibImageDecoderClient LibJS LibWebView LibWeb LibUnicode LibMain LibMedia LibURL) diff --git a/Userland/Services/WebContent/main.cpp b/Userland/Services/WebContent/main.cpp deleted file mode 100644 index 14c3ef5f414..00000000000 --- a/Userland/Services/WebContent/main.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2020-2022, Andreas Kling - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#include "ImageCodecPluginSerenity.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -ErrorOr serenity_main(Main::Arguments) -{ - Core::EventLoop event_loop; - TRY(Core::System::pledge("stdio recvfd sendfd accept unix rpath thread proc map_fixed")); - - // This must be first; we can't check if /tmp/webdriver exists once we've unveiled other paths. - auto webdriver_socket_path = ByteString::formatted("{}/webdriver", TRY(Core::StandardPaths::runtime_directory())); - if (FileSystem::exists(webdriver_socket_path)) - TRY(Core::System::unveil(webdriver_socket_path, "rw"sv)); - - TRY(Core::System::unveil("/res", "r")); - TRY(Core::System::unveil("/etc/timezone", "r")); - TRY(Core::System::unveil("/usr/lib", "r")); - TRY(Core::System::unveil("/tmp/session/%sid/portal/audio", "rw")); - TRY(Core::System::unveil("/tmp/session/%sid/portal/request", "rw")); - TRY(Core::System::unveil("/tmp/session/%sid/portal/image", "rw")); - TRY(Core::System::unveil(nullptr, nullptr)); - - Web::Platform::EventLoopPlugin::install(*new Web::Platform::EventLoopPluginSerenity); - Web::Platform::ImageCodecPlugin::install(*new WebContent::ImageCodecPluginSerenity); - Web::Platform::FontPlugin::install(*new Web::Platform::FontPluginSerenity); - - Web::Platform::AudioCodecPlugin::install_creation_hook([](auto loader) { - return Web::Platform::AudioCodecPluginAgnostic::create(move(loader)); - }); - - TRY(Web::Bindings::initialize_main_thread_vm(Web::HTML::EventLoop::Type::Window)); - Web::ResourceLoader::initialize(Web::Bindings::main_thread_vm().heap(), TRY(WebView::RequestServerAdapter::try_create())); - - auto client = TRY(IPC::take_over_accepted_client_from_system_server()); - return event_loop.exec(); -} diff --git a/Userland/Services/WebDriver/CMakeLists.txt b/Userland/Services/WebDriver/CMakeLists.txt deleted file mode 100644 index 74a7548c3eb..00000000000 --- a/Userland/Services/WebDriver/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -set(SOURCES - Client.cpp - Session.cpp - WebContentConnection.cpp - main.cpp -) - -set(GENERATED_SOURCES - ../../Services/WebContent/WebDriverClientEndpoint.h - ../../Services/WebContent/WebDriverServerEndpoint.h -) - -serenity_bin(WebDriver) -target_link_libraries(WebDriver PRIVATE LibCore LibHTTP LibMain LibIPC LibWeb LibGfx LibWebView LibURL) diff --git a/Userland/Services/WebDriver/main.cpp b/Userland/Services/WebDriver/main.cpp deleted file mode 100644 index 0486cee48a9..00000000000 --- a/Userland/Services/WebDriver/main.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (c) 2022, Florent Castelli - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -static ErrorOr launch_browser(ByteString const& socket_path) -{ - return Core::Process::spawn("/bin/Browser"sv, - Array { - "--webdriver-content-path", - socket_path.characters(), - "about:blank", - }); -} - -static ErrorOr launch_headless_browser(ByteString const& socket_path) -{ - return Core::Process::spawn("/bin/headless-browser"sv, - Array { - "--webdriver-content-path", - socket_path.characters(), - "about:blank", - }); -} - -ErrorOr serenity_main(Main::Arguments arguments) -{ - ByteString default_listen_address = "0.0.0.0"; - u16 default_port = 8000; - - ByteString listen_address = default_listen_address; - int port = default_port; - - Core::ArgsParser args_parser; - args_parser.add_option(listen_address, "IP address to listen on", "listen-address", 'l', "listen_address"); - args_parser.add_option(port, "Port to listen on", "port", 'p', "port"); - args_parser.parse(arguments); - - auto ipv4_address = IPv4Address::from_string(listen_address); - if (!ipv4_address.has_value()) { - warnln("Invalid listen address: {}", listen_address); - return 1; - } - - if ((u16)port != port) { - warnln("Invalid port number: {}", port); - return 1; - } - - TRY(Core::System::pledge("stdio accept cpath rpath recvfd inet unix proc exec fattr")); - - auto webdriver_socket_path = ByteString::formatted("{}/webdriver", TRY(Core::StandardPaths::runtime_directory())); - TRY(Core::Directory::create(webdriver_socket_path, Core::Directory::CreateDirectories::Yes)); - - Core::EventLoop loop; - - auto server = TRY(Core::TCPServer::try_create()); - - // FIXME: Propagate errors - server->on_ready_to_accept = [&] { - auto maybe_client_socket = server->accept(); - if (maybe_client_socket.is_error()) { - warnln("Failed to accept the client: {}", maybe_client_socket.error()); - return; - } - - auto maybe_buffered_socket = Core::BufferedTCPSocket::create(maybe_client_socket.release_value()); - if (maybe_buffered_socket.is_error()) { - warnln("Could not obtain a buffered socket for the client: {}", maybe_buffered_socket.error()); - return; - } - - auto maybe_client = WebDriver::Client::try_create(maybe_buffered_socket.release_value(), { launch_browser, launch_headless_browser }, server); - if (maybe_client.is_error()) { - warnln("Could not create a WebDriver client: {}", maybe_client.error()); - return; - } - }; - - TRY(server->listen(ipv4_address.value(), port)); - - outln("Listening on {}:{}", ipv4_address.value(), port); - - TRY(Core::System::unveil("/bin/Browser", "rx")); - TRY(Core::System::unveil("/bin/headless-browser", "rx")); - TRY(Core::System::unveil("/etc/timezone", "r")); - TRY(Core::System::unveil("/res/icons", "r")); - TRY(Core::System::unveil(webdriver_socket_path, "rwc"sv)); - TRY(Core::System::unveil(nullptr, nullptr)); - - TRY(Core::System::pledge("stdio accept cpath rpath recvfd unix proc exec fattr")); - return loop.exec(); -} diff --git a/Userland/Services/WebWorker/CMakeLists.txt b/Userland/Services/WebWorker/CMakeLists.txt deleted file mode 100644 index bf6b7edf438..00000000000 --- a/Userland/Services/WebWorker/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -set(SOURCES - ConnectionFromClient.cpp - DedicatedWorkerHost.cpp - PageHost.cpp - main.cpp -) - -set(GENERATED_SOURCES - ../Libraries/LibWeb/Worker/WebWorkerClientEndpoint.h - ../Libraries/LibWeb/Worker/WebWorkerServerEndpoint.h -) - -serenity_bin(WebWorker) -target_link_libraries(WebWorker PRIVATE LibCore LibFileSystem LibGfx LibIPC LibJS LibWeb LibWebView LibUnicode LibMain LibURL) diff --git a/Userland/Services/WebWorker/main.cpp b/Userland/Services/WebWorker/main.cpp deleted file mode 100644 index 06dc981f087..00000000000 --- a/Userland/Services/WebWorker/main.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2023, Andrew Kaster - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -ErrorOr serenity_main(Main::Arguments) -{ - TRY(Core::System::pledge("stdio recvfd sendfd accept unix rpath thread proc")); - - Core::EventLoop event_loop; - TRY(Core::System::unveil("/res", "r")); - TRY(Core::System::unveil("/etc/timezone", "r")); - TRY(Core::System::unveil("/tmp/session/%sid/portal/request", "rw")); - TRY(Core::System::unveil("/tmp/session/%sid/portal/image", "rw")); - TRY(Core::System::unveil(nullptr, nullptr)); - - Web::Platform::EventLoopPlugin::install(*new Web::Platform::EventLoopPluginSerenity); - Web::Platform::FontPlugin::install(*new Web::Platform::FontPluginSerenity); - - TRY(Web::Bindings::initialize_main_thread_vm(Web::HTML::EventLoop::Type::Worker)); - Web::ResourceLoader::initialize(Web::Bindings::main_thread_vm().heap(), TRY(WebView::RequestServerAdapter::try_create())); - - auto client = TRY(IPC::take_over_accepted_client_from_system_server()); - - return event_loop.exec(); -}