|
@@ -22,19 +22,20 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|
|
{
|
|
|
DeprecatedString default_listen_address = "0.0.0.0";
|
|
|
u16 default_port = 8000;
|
|
|
- DeprecatedString root_path = "/www";
|
|
|
+ DeprecatedString default_document_root_path = "/www";
|
|
|
|
|
|
DeprecatedString listen_address = default_listen_address;
|
|
|
int port = default_port;
|
|
|
DeprecatedString username;
|
|
|
DeprecatedString password;
|
|
|
+ DeprecatedString document_root_path = default_document_root_path;
|
|
|
|
|
|
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.add_option(username, "HTTP basic authentication username", "user", 'U', "username");
|
|
|
args_parser.add_option(password, "HTTP basic authentication password", "pass", 'P', "password");
|
|
|
- args_parser.add_positional_argument(root_path, "Path to serve the contents of", "path", Core::ArgsParser::Required::No);
|
|
|
+ args_parser.add_positional_argument(document_root_path, "Path to serve the contents of", "path", Core::ArgsParser::Required::No);
|
|
|
args_parser.parse(arguments);
|
|
|
|
|
|
auto ipv4_address = IPv4Address::from_string(listen_address);
|
|
@@ -53,16 +54,16 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
- auto real_root_path = Core::File::real_path_for(root_path);
|
|
|
+ auto real_document_root_path = Core::File::real_path_for(document_root_path);
|
|
|
|
|
|
- if (!Core::File::exists(real_root_path)) {
|
|
|
- warnln("Root path does not exist: '{}'", root_path);
|
|
|
+ if (!Core::File::exists(real_document_root_path)) {
|
|
|
+ warnln("Root path does not exist: '{}'", document_root_path);
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
TRY(Core::System::pledge("stdio accept rpath inet unix"));
|
|
|
|
|
|
- WebServer::Configuration configuration(real_root_path);
|
|
|
+ WebServer::Configuration configuration(real_document_root_path);
|
|
|
|
|
|
if (!username.is_empty() && !password.is_empty())
|
|
|
configuration.set_credentials(HTTP::HttpRequest::BasicAuthenticationCredentials { username, password });
|
|
@@ -99,7 +100,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|
|
|
|
|
TRY(Core::System::unveil("/etc/timezone", "r"));
|
|
|
TRY(Core::System::unveil("/res/icons", "r"));
|
|
|
- TRY(Core::System::unveil(real_root_path, "r"sv));
|
|
|
+ TRY(Core::System::unveil(real_document_root_path, "r"sv));
|
|
|
TRY(Core::System::unveil(nullptr, nullptr));
|
|
|
|
|
|
TRY(Core::System::pledge("stdio accept rpath"));
|