summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-27AK: Rename Span::subspan() to Span::slice().asynts
2020-07-27AK: Add offset() method to Span.asynts
2020-07-27AK: Add span() / bytes() methods to container types.asynts
2020-07-27AK: Add implicit conversion from nullptr to Span.asynts
2020-07-27AK: Add constructors to Bytes and ReadonlyBytes that take void pointers.asynts
2020-07-27AK: Define conversion from Span<T> to Span<const T> correctly.asynts
I accidently wrote `Span<RemoveConst<T>>` when I meant `Span<RemoveConst<T>::Type>`. Changing that wouldn't be enough though, this constructor can only be defined if T is not const, otherwise it would redefine the copy constructor. This can be avoided by overloading the cast operator.
2020-07-27LibCrypto: This method wrote to a const pointer.asynts
2020-07-27WebServer: Try to send an appopriate Content-Type headerAndreas Kling
Use Core::guess_mime_type_based_on_filename() for this. It's obviously not perfect, but it works better than just sending "text/html" for everything no matter what. :^)
2020-07-27LibCore+LibWeb: Move guess-mimetype-based-on-filename logic to LibCoreAndreas Kling
This could be useful in more places.
2020-07-27Base: Remove old ladybug iconAndreas Kling
2020-07-27WebServer: Use table tags in directory listingsAndreas Kling
Use tables to align stuff instead of putting everything in a <pre>.
2020-07-27WebServer: Use urlencode() in directory listingsAndreas Kling
2020-07-27LibWeb: Add a whole bunch of HTML DOM bindingsLuke
Note that these aren't full implementations of the bindings. This mostly implements the low hanging fruit (namely, basic reflections) There are some attributes that should be USVString instead of DOMString. However, USVString is a slightly different definition of DOMString, so it should suffice for now.
2020-07-27UserspaceEmulator: Set the process and thread name to "(UE) Executable"Andreas Kling
This makes it much easier to see who's who when running multiple emulators at the same time. :^)
2020-07-27Base: Add man page about set_process_name(2)Andreas Kling
2020-07-27Kernel+LibC: Add sys$set_process_name() for changing the process nameAndreas Kling
2020-07-27UserspaceEmulator: Implement the execve() syscall :^)Andreas Kling
This virtual syscall works by exec'ing the UserspaceEmulator itself, with the emulated program's provided arguments as the arguments to the new UserspaceEmulator instance. This means that we "follow" exec'ed programs and emulate them as well. In the future we might want to make this an opt-in (or opt-out, idk) behavior, but for now it's what we do. This is really quite cool, I think! :^)
2020-07-27LibC: Make the getpid() cache process global (instead of thread-local)Andreas Kling
Every thread in the process will have the same PID, after all.
2020-07-27UserspaceEmulator: Implement the fork() syscall :^)Andreas Kling
2020-07-27LibGfx: Fix dumb typo in PNG decoderAndreas Kling
'=' is not the same as '*', indeed.
2020-07-27top: Don't print more lines than the terminal can fitAndreas Kling
2020-07-27top: Limit printed process name characters to the available spaceAndreas Kling
It looks much nicer if we don't break the line. You can resize the terminal if you want to see the full process name.
2020-07-27top: Tweak username column width to accomodate "clipboard"Andreas Kling
2020-07-27LibGfx: Simplify some excessive use of pow() in scanline unfilteringAndreas Kling
2020-07-27UserspaceEmulator: Implement the setuid() and setgid() syscallsAndreas Kling
Note that running a setuid program (e.g /bin/ping) in UE does not actually run uid=0. You'll have to run UE itself as uid=0 if you want to test programs that do setuid/setgid.
2020-07-27UserspaceEmulator: Implement the accept() and setsockopt() syscallsAndreas Kling
It's now possible to run LookupServer in UE (by setting up SystemServer to run the service inside UE.) No bugs found, but very cool! :^)
2020-07-27UserspaceEmulator: Transfer the environment to the emulated processAndreas Kling
2020-07-27AK+LibC: Always use REP MOVSB/STOSB for memcpy()/memset()Andreas Kling
There's no great advantage to using MMX instructions here on modern processors, since REP MOVSB/STOSB are optimized in microcode anyway and tend to run much faster than MMX/SSE/AVX variants. This also makes it much easier to implement high-level emulation of memcpy/memset in UserspaceEmulator once we get there. :^)
2020-07-27UserspaceEmulator: Mark SimpleRegions as initialized up front for nowAndreas Kling
This prevents some false positives since the initial stack is expected to be zero-initialized.
2020-07-27UserspaceEmulator: Recognize xor/sub zeroing idioms and don't taintAndreas Kling
"xor reg,reg" or "sub reg,reg" both zero out the register, which means we know for sure the result is 0. So mark the value as initialized, and make sure we don't taint the CPU flags. This removes some false positives from the uninitialized memory use detection mechanism. Fixes #2850.
2020-07-27Eyes: Fix division by zero when invoked as 'Eyes'AnotherTest
2020-07-27Eyes: Allow constructing an eye-gridAnotherTest
Because a line of eyes is just not impressive enough. This does not change any of the default behaviours except breaking the line of eyes at 13 eyes (the 'sweet spot' for the default resolution)
2020-07-27CppLexer: Support raw string literalsNico Weber
Handles prefixes and delimiters (`R"(text)", `u8R"f(text)f"`, ...).
2020-07-27CppLexer: Support L, u, u8, U prefixes on string and char literalsNico Weber
2020-07-27CppLexer: Correctly highlight hex escapes in string and char literalsNico Weber
\x consumes all hex digits following it. (If the resulting number then doesn't fit in the character type, the compiler emits an error.) \x would be much more convenient to use if it was always followed by exactly two hex digits (with \u and \U for higher codepoints), but that's sadly not the world we live in.
2020-07-27CppLexer: Support \U escapes in addition to \u escapesNico Weber
2020-07-27Shell: Ignore leading semicolonsAnotherTest
This makes things like `foo&; bar` behave as expected. Such behaviour is actually closer to the grammar defined in Parser.h anyway :P
2020-07-27LibGfx: Templatize Point, Size, and RectMatthew Olsson
2020-07-27CppLexer: Add token types for "::", "::*", ".*", "->*"Nico Weber
2020-07-27CppLexer: Add token types for ".", "->"Nico Weber
2020-07-27CppLexer: Add token types for "!", "!=", "~", "?", ":"Nico Weber
2020-07-27CppLexer: Add token types for "^", "^="Nico Weber
2020-07-27CppLexer: Add token types for "++", "--"Nico Weber
2020-07-27CppLexer: Add token types for "&", "&&", "&=", "|", "||", "|="Nico Weber
2020-07-27CppLexer: Add token types for ">", ">=", ">>", ">>="Nico Weber
2020-07-27CppLexer: Add token types for "<", "<=", "<<", "<<=", "<>"Nico Weber
2020-07-27Kernel: Support file-backed mmap() with non-zero offsetAndreas Kling
As it turns out, this works just fine and all we had to do was remove the assertion! :^) Fixes #2597.
2020-07-27LibDebug: Add support for the various DW_FORM_block typesItamar
This fixes #2885.
2020-07-27Meta: Cache ccache on travis-ciPeter Elliott
2020-07-27Base: Add characters to default fontsthankyouverycool
Updates the Extended-A block for Katica and Csilla. Corrects some heights, accents and capitalizations. Slims the 'A', 'C', and 'G' in CsillaThin.