Age | Commit message (Collapse) | Author |
|
These include APPEND, AUTHENTICATE, CHECK, CLOSE, EXAMINE, EXPUNGE,
LSUB, SUBSCRIBE, UNSUBSCRIBE
|
|
|
|
|
|
|
|
|
|
This completes the implementation of the FETCH command.
|
|
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.
|
|
|
|
|
|
|
|
This involves parsing messages with untagged responses
|
|
|
|
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.
|
|
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).
|
|
|
|
|
|
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 :^)
|
|
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).
|
|
This avoid confusion in the order of the multiple boolean parameters
that exist.
|
|
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
|
|
|
|
As required by the specification:
`Set buffer.[[ArrayBufferDetachKey]] to "WebAssembly.Memory".`
|
|
|
|
|
|
Particularly noticeable in ports like openssl, which like to map the
entire error message set from 0 through 128 on startup.
|
|
|
|
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.
|
|
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.
|
|
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. :^)
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
Responding with some device files such as /dev/random never terminates,
so let's just refuse that.
|
|
|
|
This is necessary to avoid trying to destruct the on_ready_to_read
function from inside the function. This fixes #7810.
|
|
This also removes two unused headers.
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
This reverts commit 84b2dc0fb89e8d99e87100fdcccfa2639b7c77be.
|
|
Previously we'd just reset the CPU and reboot.
|
|
Fixes #7910.
|
|
|
|
|