summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-11LibIMAP: Support for remaining IMAP commandsx-yl
These include APPEND, AUTHENTICATE, CHECK, CLOSE, EXAMINE, EXPUNGE, LSUB, SUBSCRIBE, UNSUBSCRIBE
2021-06-11LibIMAP: Support for APPENDx-yl
2021-06-11LibIMAP: Support for COPY, CREATE, DELETE and RENAMEx-yl
2021-06-11LibIMAP: Support for STORE and STATUSx-yl
2021-06-11LibIMAP: Support for the SEARCH commandx-yl
2021-06-11LibIMAP: Support for FETCH BodyStructurex-yl
This completes the implementation of the FETCH command.
2021-06-11LibIMAP: Support for the FETCH command (*mostly)x-yl
This commit doesn't include support for FETCH BODY, because it's a bit big already. Rest assured, FETCH is the most complicated IMAP command, and we'll go back to simple boring ones shortly.
2021-06-11LibIMAP: Support for the IDLE commandx-yl
2021-06-11LibIMAP: Support for LOGIN and LOGOUTx-yl
2021-06-11LibIMAP: Support for the LIST and SELECT commandsx-yl
2021-06-11LibIMAP: Support for CAPABILITY command & responsex-yl
This involves parsing messages with untagged responses
2021-06-11Meta: Fuzz the LibIMAP Parserx-yl
2021-06-11LibIMAP: Add a new IMAP client and support NOOPx-yl
A large commit, but sets up the framework for how the IMAP library will work. Right now only the NOOP command and response is supported.
2021-06-11LibCore: Add a way to parse a DateTime from a stringx-yl
DateTime can now be parsed from a string. Implements the same formatters as strptime: https://linux.die.net/man/3/strptime (Well, some of them at least).
2021-06-11LibJS: Implement AggregateErrorLinus Groh
2021-06-11LibJS: Only initialize in add_constructor() if not already doneLinus Groh
2021-06-11LibJS: Rename JS_ENUMERATE_{ERROR_SUBCLASSES => NATIVE_ERRORS}Linus Groh
The fact that they *are* subclasses is an implementation detail and should not be highlighted. The spec calls these NativeErrors, so let's use that. Also added a comment explaining *why* they inherit from Error - I was about to change that :^)
2021-06-11LibJS: Parse only AssignmentExpressions in ComputedPropertyNamesGal Horowitz
The property name in an object literal can either be a literal or a computed name, in which case any AssignmentExpression can be used, we now only parse AssignmentExpression instead of the previous incorrect behaviour which allowed any Expression (Specifically, comma expressions).
2021-06-11LibJS: Use an enum class instead of 'bool is_generator'Ali Mohammad Pur
This avoid confusion in the order of the multiple boolean parameters that exist.
2021-06-11AK+LibX86: Generalize u128/256 to AK::UFixedBigIntHendiadyoin1
Doing these as custom classes might be faster, especially when writing them in SSE, but this would cause a lot of Code duplication and due to the nature of constexprs and the intelligence of the compiler they might be using SSE/MMX either way
2021-06-11LibTest: Don't try to pass stderr to warnlnHendiadyoin1
2021-06-11LibWeb: Set a detach key for ArrayBuffers returned from WASMIdan Horowitz
As required by the specification: `Set buffer.[[ArrayBufferDetachKey]] to "WebAssembly.Memory".`
2021-06-11LibJS: Implement bytecode generation for switchMarcin Gasperowicz
2021-06-11Meta: Add Max Wipfli to the contributors list :^)Andreas Kling
2021-06-11Libc: Silence debug spam from `strerror`Jelle Raaijmakers
Particularly noticeable in ports like openssl, which like to map the entire error message set from 0 through 128 on startup.
2021-06-11LibC: Let `strerror_r` fail if `errnum` < 0Jelle Raaijmakers
2021-06-11Kernel: Use m_inode to stat in FileDescription::stat() if availableMax Wipfli
This is necessary since the Device class does not hold a reference to its inode (because there could be multiple), and thus doesn't override File::stat(). For simplicity, we should just always stat via the inode if there is one, since that shouldn't ever be the wrong thing. This partially reverts #7867.
2021-06-11Kernel: Add missing BrightWhite color to VirtualConsoleDaniel Bertalan
Because of the 'default' label, the compiler did not warn about the missing field. The `VERIFY_NOT_REACHED` was moved out of the switch to fix this.
2021-06-11WebServer: Add support for HTTP basic authenticationMax Wipfli
This enables the WebServer to run protected by a username and password. While it isn't possible to access such a protected server from inside Serenity as of now (because neither the Browser nor pro(1) support this), this may very well be the case in the future. :^)
2021-06-11LibHTTP: Add HTTP Basic Authentication header generation and parsingMax Wipfli
This patch adds two new static methods to HttpRequest. get_http_basic_authentication_header generates a "Authorization" header from a given URL, where as parse_http_basic_authentication_header parses an "Authorization" header into username and password.
2021-06-11WebServer: Move server configuration into WebServer::ConfigurationMax Wipfli
This moves the configuration of the web server, which currently only consists of the root path, into a new class, Configuration. Since the configuration is global and not per client, it is accessed by a singleton getter. This change simplifies future extensions of the configurable parameters.
2021-06-11WebServer: Use canonical reasons phrases for error responsesMax Wipfli
This changes the Client::set_error_response() to not take a "message" anymore. It now uses the canonical reason phrase which is derived from the response code.
2021-06-11LibHTTP: Implement getting the correct reason phrase from HttpResponseMax Wipfli
This adds a reason_phrase() getter and a static reason_phrase_for_code() to the HttpResponse class. It also changes the class to use east const style.
2021-06-11WebServer: Sort entries in directory listingMax Wipfli
2021-06-11WebServer: Append trailing slash for directory linksMax Wipfli
This adds trailing slashes to all links to directories (when listing the directory contents). This avoids the redirect that would otherwise happen when browsing to those directories.
2021-06-11WebServer: Make ".." equal to "." in server root directoryMax Wipfli
In the web server root directory, ".." has to be handled specially, since everything above it does not exist from the point of view of the user. The most sensible thing to do is to make ".." equal to ".". This is also what ls(1) does for "/" and what "http://localhost/../" evaluates to. This also fixes a bug where stat() would fail on the directory above the root directory, since it hasn't been unveiled for the process.
2021-06-11WebServer: Refuse to respond to requests for device filesMax Wipfli
Responding with some device files such as /dev/random never terminates, so let's just refuse that.
2021-06-11WebServer: Use outln() instead of printf()Max Wipfli
2021-06-11WebServer: Defer invocation of Client::remove_from_parent()Max Wipfli
This is necessary to avoid trying to destruct the on_ready_to_read function from inside the function. This fixes #7810.
2021-06-11WebServer: Use east const style in Client.{cpp,h}Max Wipfli
This also removes two unused headers.
2021-06-11Ports/OpenSSL: Switch to sha256 signature checkJelle Raaijmakers
2021-06-11Ports/OpenSSL: Use `install_prefix` to fix resource installJelle Raaijmakers
The `--openssldir` parameter was causing OpenSSL to search for its resources in the wrong location, e.g.: `/serenity/Build/i686/Root/usr/local/ssl/...` By using `--install_prefix`, the build system understands where to put the OpenSSL files and does not leak the build path into the compiled binaries.
2021-06-11Ports/OpenSSL: Remove test statementJelle Raaijmakers
2021-06-11Ports/OpenSSL: Remove unnecessary patchJelle Raaijmakers
2021-06-11Kernel: Block writes while we're establishing the TCP connectionGunnar Beutner
Previously we would not block the caller until the connection was established and would instead return EPIPE for the first send() call which then likely caused the caller to abandon the socket. This was broken by 0625342.
2021-06-11Revert "Meta: Use Intel 82574 instead of Intel 82540 in the run script"Gunnar Beutner
This reverts commit 84b2dc0fb89e8d99e87100fdcccfa2639b7c77be.
2021-06-11Kernel: Print stack traces for crashes in release buildsGunnar Beutner
Previously we'd just reset the CPU and reboot.
2021-06-11Kernel: Enable VERIFY() checks even if the DEBUG macro is not definedGunnar Beutner
Fixes #7910.
2021-06-11Chess: Remove 1:1 window aspect ratioJoshua Gollaher
2021-06-11LibJS: Add bytecode generation for FunctionExpression :^)Andreas Kling