summaryrefslogtreecommitdiff
path: root/Meta
AgeCommit message (Collapse)Author
2021-06-24LibSQL: Move Lexer and Parser machinery to AST directoryJan de Visser
The SQL engine is expected to be a fairly sizeable piece of software. Therefore we're starting to restructure the codebase for growth.
2021-06-22LibCore: Add unit test for File::read_linecoderdreams
2021-06-22LibWasm: Generate all spec tests, even ones that aren't valid modulesAli Mohammad Pur
`wasm-as` will do some semantic analysis on the modules, which is not something we're looking for here. Instead, use `wat2wasm` to generate the exact module.
2021-06-22Meta+LibWasm: Add support for module linking testsAli Mohammad Pur
This commit makes the linking tests in the wasm spec test run.
2021-06-19LibCrypto+LibTLS: Split and move test suite into Tests directoryPeter Bocan
This change splits test-crypto.cpp from Userland into separate test suites located in Tests/ directory.
2021-06-19LibCoreDump: Include source locations of inlined functions in backtraceItamar
2021-06-18Lagom/Fuzzers: Add fuzzers for all current hashing functionsLuke
Namely MD5, SHA1, SHA256, SHA384 and SHA512.
2021-06-18Meta: Ensure long messages fit in commit tweetSam Atkins
Abbreviating the commit message to 240 characters was not always enough. As a bonus, we now add an ellipsis to abbreviated messages.
2021-06-17Lagom: Add an install targetsin-ack
This is used by libjs-test262-runner to be able to copy the libraries within its own build directory in order to link with them.
2021-06-17Meta: Increase additional space for disk imagesGunnar Beutner
Previously we'd add 100MB on top of what du returned for the Root directory. This increases that to 500MB.
2021-06-17Meta: Allow building images without most utilitiesGunnar Beutner
Previously the build script assumed that certain utilities were always available.
2021-06-17Meta: Add support for declaring componentsGunnar Beutner
Components are a group of build targets that can be built and installed separately. Whether a component should be built can be configured with CMake arguments: -DBUILD_<NAME>=ON|OFF, where <NAME> is the name of the component (in all caps). Components can be marked as REQUIRED if they're necessary for a minimally functional base system or they can be marked as RECOMMENDED if they're not strictly necessary but are useful for most users. A component can have an optional description which isn't used by the build system but may be useful for a configuration UI. Components specify the TARGETS which should be built when the component is enabled. They can also specify other components which they depend on (with DEPENDS). This also adds the BUILD_EVERYTHING CMake variable which lets the user build all optional components. For now this defaults to ON to make the transition to the components-based build system easier. The list of components is exported as an INI file in the build directory (e.g. Build/i686/components.ini). Fixes #8048.
2021-06-16Meta: Remove gdb pretty printer for AK::InlineLinkedListBrian Gianforcaro
2021-06-15LibJS: Add a basic pass manager and add some basic passesAli Mohammad Pur
This commit adds a bunch of passes, the most interesting of which is a pass that merges blocks together, and a pass that places blocks that flow into each other next to each other, and a very simply pass that removes duplicate basic blocks. Note that this does not remove the jump at the end of each block in that pass to avoid scope creep in the passes.
2021-06-14Everywhere: Use new discord invite url :^)networkException
Replaces all instances of the previous discord invite link with a shiny new vanity url.
2021-06-13Meta: Fix QEMU version check in run.shApoorv Mishra
The QEMU version check in `Meta/run.sh` fails on macOS because the BSD version of `grep` does not support the `-P` option. Using `sed` instead.
2021-06-12USB: Further Implement USB StructuresJesse Buhagiar
These are the actual structures that allow USB to work (i.e the ones actually defined in the specification). This should provide us enough of a baseline implementation that we can build on to support different types of USB device.
2021-06-11Meta: Fuzz the LibIMAP Parserx-yl
2021-06-11Revert "Meta: Use Intel 82574 instead of Intel 82540 in the run script"Gunnar Beutner
This reverts commit 84b2dc0fb89e8d99e87100fdcccfa2639b7c77be.
2021-06-10Kernel: Add driver for RTL8168 & RTL8111 NICsIdan Horowitz
These are pretty common on older LGA1366 & LGA1150 motherboards. NOTE: Since the registers datasheets for all versions of the chip besides versions 1 - 3 are still under NDAs i had to collect several "magical vendor constants" from the *BSD driver and the linux driver that i was not able to name verbosely, and as such these are labeled with the comment "vendor magic values".
2021-06-09Meta: Use Intel 82574 instead of Intel 82540 in the run scriptLiav A
2021-06-09Kernel/Net: Support Intel 82574 adapterLiav A
We call it E1000E, because the layout for these cards is somewhat not the same like E1000 supported cards. Also, this card supports advanced features that are not supported on 8254x cards.
2021-06-09Meta: Check installed QEMU versionApoorv Mishra
`ninja install` fails with a clueless error message if the installed QEMU version is less than 5.0.
2021-06-08Websites: Some updates for the serenityos.org front pageAndreas Kling
- Add link to the Discord server - Remove reference to Freenode IRC channel since it's no longer used - Add sponsorship links for Linus :^)
2021-06-07LibJS: Move bytecode debug spam behind JS_BYTECODE_DEBUG :^)Andreas Kling
2021-06-06LibVideo: Scaffold LibVideo and implement simplistic Matroska parserFalseHonesty
This commit initializes the LibVideo library and implements parsing basic Matroska container files. Currently, it will only parse audio and video tracks.
2021-06-06AK+Everywhere: Disallow constructing Functions from incompatible typesAli Mohammad Pur
Previously, AK::Function would accept _any_ callable type, and try to call it when called, first with the given set of arguments, then with zero arguments, and if all of those failed, it would simply not call the function and **return a value-constructed Out type**. This lead to many, many, many hard to debug situations when someone forgot a `const` in their lambda argument types, and many cases of people taking zero arguments in their lambdas to ignore them. This commit reworks the Function interface to not include any such surprising behaviour, if your function instance is not callable with the declared argument set of the Function, it can simply not be assigned to that Function instance, end of story.
2021-06-04Meta: Don't make wasm tests pass when they cannot read a moduleAli Mohammad Pur
Instead, just let them be treated as failing their respective test.
2021-06-03Meta: Sort debug macros alphabeticallyNonStandardModel
2021-06-02Meta: Make the wasm test generator cast numbers to i32 when neededAli Mohammad Pur
Otherwise the sign would be out of whack
2021-06-02Meta: Generate failing tests for unsupported assertions in wasm testsAli Mohammad Pur
Let's not ignore a test just because our test generator doesn't understand it, assume the worst and generate a failing test case instead.
2021-06-02Meta: Remove duplicated ensure_toolchain from serenity.shLinus Groh
2021-06-01Meta: Make `serenity.sh` invoke `cmake` when `build.ninja` is missingJelle Raaijmakers
2021-06-01AK: Add a new, spec-compliant URLParserMax Wipfli
This adds a new URL parser, which aims to be compliant with the URL specification (https://url.spec.whatwg.org/). It also contains a rudimentary data URL parser.
2021-05-31Kernel: Rename instances of IO port 0xe9 to BOCHS_DEBUG_PORTNick Miller
2021-05-31Lagom/Fuzzers: Add SQL parser fuzzerLuke
2021-05-31CMake: Hide KMALLOC_VERIFY_NO_SPINLOCK_HELD so folks don't find itBrian Gianforcaro
Since I introduced this functionality there has been a steady stream of people building with `ALL_THE_DEBUG_MACROS` and trying to boot the system, and immediately hitting this assert. I have no idea why people try to build with all the debugging enabled, but I'm tired of seeing the bug reports about asserts we know are going to happen at this point. So I'm hiding this value under the new ENABLE_ALL_DEBUG_FACILITIES flag instead. This is only set by CI, and hopefully no-one will try to build with this thing (It's documented as not recommended). Fixes: #7527
2021-05-31AK: Replace ByteBuffer::grow with resize()/ensure_capacity()Gunnar Beutner
Previously ByteBuffer::grow() behaved like Vector<T>::resize(). However the function name was somewhat ambiguous - and so this patch updates ByteBuffer to behave more like Vector<T> by replacing grow() with resize() and adding an ensure_capacity() method. This also lets the user change the buffer's capacity without affecting the size which was not previously possible. Additionally this patch makes the capacity() method public (again).
2021-05-30pls: Drastically simplify this programAndreas Kling
Since this program is setuid-root, it should be as simple as possible. To that end, remove `/etc/plsusers` and use filesystem permissions to achieve the same thing. `/bin/pls` is now only executable by `root` or members of the `wheel` group. Also remove all the logic that went to great lengths to `unveil()` a minimal set of filesystem paths that may be used for the command. The complexity-to-benefit ratio did not seem justified, and I think we're better off keeping this simple. Finally, remove pledge promises the moment they are no longer needed.
2021-05-30WebServer: Put dbgln's behind WEBSERVER_DEBUGEdwin Hoksberg
These dbgln's caused excessive load in the WebServer process, accounting for ~67% of the processing time when serving a webpage with a bunch of resources like serenityos.org/happy/2nd/.
2021-05-30Fuzz+LibGfx: When fuzzing GIFLoader, try to load all framesBen Wiederhake
2021-05-29Userland: Check sudoers file perms and owner in plsJesse Buhagiar
As per comment found in #6319 by @bcoles, `pls` should check the permissions and owner of the sudoers file to ensure that it hasn't been compromised.
2021-05-29Userland: Implement `pls`, a sudo cloneJesse Buhagiar
2021-05-29Meta/CI: Remove IRC notificationsAndrew Kaster
With the increased volume of PRs being opened and merged lately, multiple people have complained that the IRC is absolutely flooded with SerenityBot posts. Remove the IRC notifications from the CI scripts, and the Meta script that handles parsing the github actions context into an IRC message.
2021-05-27Kernel/Graphics: Remove unnecessary derived FramebufferDevice classesLiav A
It seems like overly-specific classes were written for no good reason. Instead of making each adapter to have its own unique FramebufferDevice class, let's generalize everything to keep implementation more consistent.
2021-05-27Meta: Run the Wasm spec tests in CIAli Mohammad Pur
Since LibWasm is still not capable of passing all of the spec tests, ignore failing tests, only fail the build if some segfault/abort/etc occurs.
2021-05-27Meta: Correctly parse numeric literals in wasm testsAli Mohammad Pur
This was previously parsing them as hex numbers, causing tests to fail. With this fix, 88% of the generated tests are passing :^)
2021-05-27Base: Make desktop shortcuts owned by anon (#7495)Max Wipfli
This fixes #7492.
2021-05-25Revert "Revert "Kernel: Fix PCI layout of i440fx QEMU machine""Gunnar Beutner
This reverts commit 72c097530f192611a60053b15706468888b0ae68. With that patch applied audio doesn't work anymore. Fixes #7445.
2021-05-22Meta: Exclude LibCpp&LanguageServer tests from check-newlines-at-eof.pyItamar