summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2020-05-10ls: Emit hyperlinks for files outside the current directoryAndreas Kling
2020-05-10LibLine: Support RGB colorsAnotherTest
This also patches Userland/js.
2020-05-10Userland: Send absolute paths to LaunchServer and show what failedAnotherTest
2020-05-09Userland: Add unzip commandAndres Vieira
The unzip command will unzip a zip file passed as an argument into the current pwd, with the syntax: unzip file.zip This implementation is pretty barebones as it does not support things like file access times, compression or even compression detection, so if the user tries to unzip a compressed zip most probably he would find wrong data inside the files. However it's an starting point :^)
2020-05-09Userland: Add missing copyright header to test-crypto.cppLinus Groh
2020-05-09Userland: Add missing copyright header to disasm.cppLinus Groh
2020-05-09ls: Make filenames in the output hyperlinkedAndreas Kling
This allows you to Ctrl+Click in Terminal to open files in "ls" output.
2020-05-09LibDesktop: Switch to LaunchServer for DesktopServices::openNicholas Hollett
Moves DirectoryServices out of LibCore (because we need to link with LibIPC), renames it Desktop::Launcher (because Desktop::DesktopServices doesn't scan right) and ports it to use the LaunchServer which is now responsible for starting programs for a file.
2020-05-09Userland: Remove double-'#include' in date.cppBen Wiederhake
2020-05-08Kernel+Userland: Add "settime" pledge promise for setting system timeAndreas Kling
We now require the "settime" promise from pledged processes who want to change the system time.
2020-05-06Misc: Replace "String(string_view)" with "string_view.to_string()"Linus Groh
StringView::to_string() was added in 917ccb1 but not actually used anywhere yet.
2020-05-05js: Tighten up ReplConsoleClient::trace() a little bitAndreas Kling
Remove a bunch of unnecessary String copying.
2020-05-05LibJS: Implement exponentiation assignment operator (**=)Linus Groh
2020-05-05LibJS: Implement bitwise assignment operators (&=, |=, ^=)Linus Groh
2020-05-05js: Customise the behaviour of JS::Console with ReplConsoleClientEmanuele Torre
This also makes our JavaScript tests not fail.
2020-05-05LibJS: Remove ConsoleMessage from LibJSEmanuele Torre
We don't need to store the past messages in LibJS. We'll implement a way to let LibJS users expand the vanilla Console.
2020-05-05keymap: Fix crash introduced by 637ecdbAndreas Kling
Just because a Vector has some inline capacity doesn't mean we can put data at offsets < Vector::size(). Fixes #2104.
2020-05-04LibJS: Add template literalsmattco98
Adds fully functioning template literals. Because template literals contain expressions, most of the work has to be done in the Lexer rather than the Parser. And because of the complexity of template literals (expressions, nesting, escapes, etc), the Lexer needs to have some template-related state. When entering a new template literal, a TemplateLiteralStart token is emitted. When inside a literal, all text will be parsed up until a '${' or '`' (or EOF, but that's a syntax error) is seen, and then a TemplateLiteralExprStart token is emitted. At this point, the Lexer proceeds as normal, however it keeps track of the number of opening and closing curly braces it has seen in order to determine the close of the expression. Once it finds a matching curly brace for the '${', a TemplateLiteralExprEnd token is emitted and the state is updated accordingly. When the Lexer is inside of a template literal, but not an expression, and sees a '`', this must be the closing grave: a TemplateLiteralEnd token is emitted. The state required to correctly parse template strings consists of a vector (for nesting) of two pieces of information: whether or not we are in a template expression (as opposed to a template string); and the count of the number of unmatched open curly braces we have seen (only applicable if the Lexer is currently in a template expression). TODO: Add support for template literal newlines in the JS REPL (this will cause a syntax error currently): > `foo > bar` 'foo bar'
2020-05-04sysctl: Permit 'sysctl -a' invocationBen Wiederhake
The point of '-a' is to list all keys. It is counter-intuitive to require the user to then supply a specific key additionally.
2020-05-04sysctl: Fix newlines in error messagesBen Wiederhake
2020-05-03LibTextCodec: Start fleshing out a simple text codec libraryAndreas Kling
We're starting with a very basic decoding API and only ISO-8859-1 and UTF-8 decoding (and UTF-8 decoding is really a no-op since String is expected to be UTF-8.)
2020-05-03ProtocolServer: Pass HTTP response headers to the clientAndreas Kling
We now store the response headers in a download object on the protocol server side and pass it to the client when finishing up a download. Response headers are passed as an IPC::Dictionary. :^)
2020-05-03LibCrypto: Small fixes in BigInteger & test-cryptoDexesTTP
2020-05-03test-crypto: Display execution time for passing testsDexesTTP
2020-05-03ProtocolServer: Implement and handle download progressAnotherTest
Also updates `pro` to display download progress and speed on stderr
2020-05-03Userland: Fix leak in keymapShannon Booth
Pretty harmless here, but eh
2020-05-02js: Ignore property attributes for completionLinus Groh
Only being able to complete enumerable properties is annoying, especially since we updated everything to use the correct attributes. Most standard built-in objects are *not* enumerable.
2020-05-02Userland: Tweak the tests in test-cryptoAnotherTest
- Clarify the purpose of "AES | Specialised Encrypt" - Decouple the TLS test from the host machine - Add a "test" mode to run all available tests
2020-05-02LibCrypto: Rename UnsignedBigInteger APIs to match their actionsAnotherTest
2020-05-02Userland test-crypto: Add interactive mode for the tls 'mode'AnotherTest
For all your raw TLS testing needs :^)
2020-05-02LibTLS: Switch to Hash::Manager for hashing and add SHA1AnotherTest
Now we can talk to google.com
2020-05-02LibCrypto: Implement SHA1 Hash FunctionAnotherTest
2020-05-02Userland: Adapt test-crypto to the new AK::Result APIAnotherTest
2020-05-02LibTLS: Implement a preliminary version of the TLS protocolAnotherTest
TLS::TLSv12 is a Core::Socket, however, I think splitting that into a TLS::Socket would probably be beneficial
2020-05-02LibCrypto: Fix issues in the Crypto stackAnotherTest
This commit fixes up the following: - HMAC should not reuse a single hasher when successively updating - AES Key should not assume its user key is valid signed char* - Mode should have a virtual destructor And adds a RFC5246 padding mode, which is required for TLS
2020-05-02LibCrypto: Implement RSA in terms of UnsignedBigIntegerAnotherTest
This commit also adds enough ASN.1/DER to parse RSA keys
2020-05-02LibCrypto: Add ::import_data() and ::export_data() to UnsignedBigIntegerAnotherTest
These functions allow conversion to-and-from big-endian buffers This commit also adds a ""_bigint operator for easy bigint use
2020-05-02LibCrypto: Add base-10 string de/serialization methods for bigintItamar
2020-05-02LibCrypto: Fix bug in big int subtractionItamar
A regression test was added to the suite. This commit also generally simplifies the subtraction method.
2020-05-02LibCrypto: Add UnsignedBigInteger divisionItamar
The division operation returns both the quotient and the remainder.
2020-05-02LibCrypto: Add UnsignedBigInteger multiplicationItamar
Also added documentation for the runtime complexity of some operations.
2020-05-02LibCrypto: Fix a bug in big int additionItamar
There was a bug when dealing with a carry when the addition result for the current word was UINT32_MAX. This commit also adds a regression test for the bug.
2020-05-02LibCrypto: Add UnsignedBigInteger subtraction and comparisonItamar
2020-05-02LibCrypto: Add UnsignedBigInteger and implement additionItamar
UnsignedBigInteger stores an unsigned ainteger of arbitrary length. A big integer is represented as a vector of word. Each word is an unsigned int.
2020-05-02LibCrypto: Add SHA512AnotherTest
There is quite a bit of avoidable duplication, however, I could not get the compiler to be happy about SHA2<Size> (see FIXMEs)
2020-05-02LibCrypto: Add SHA256 hash functionAnotherTest
2020-05-02LibCrypto: Implement HMACAnotherTest
2020-05-02LibCrypto: Move each subsection into its own namespaceAnotherTest
2020-05-02Userland: Add MD5 tests to test-cryptoAnotherTest
This commit also reworks the test program to have a better interface: `test-crypto <mode> [options]` where each mode has its own default suite
2020-05-02LibCrypto: Implement Cipher and AES_CBCAnotherTest
Also adds a test program to userland