summaryrefslogtreecommitdiff
path: root/Userland/Utilities
AgeCommit message (Collapse)Author
2023-01-02Everywhere: Remove unused includes of AK/Array.hBen Wiederhake
These instances were detected by searching for files that include Array.h, but don't match the regex: \\b(Array(?!\.h>)|iota_array|integer_sequence_generate_array)\\b These are the three symbols defined by Array.h. In theory, one might use LibCPP to detect things like this automatically, but let's do this one step after another.
2023-01-02Everywhere: Fix badly-formatted includesBen Wiederhake
In 7c5e30daaa615ad3a2ef55222423a747ac0a1227, the focus was "only" on Userland/Libraries/, whereas this commit cleans up the remaining headers in the repo, and any new badly-formatted include.
2023-01-02LibGfx+icc: Print pcs illuminantNico Weber
2023-01-02Utilities: Resolve manpage paths more robustly in markdown-checkkleines Filmröllchen
The path is now relative to the Serenity source directory, and later parts of the URL path are not simply discarded. This allows links into subsection man pages to be checked correctly.
2023-01-01Utilities: Print arbitrary bytes in `ls`Victor Song
Currently, `ls` crashes when printing certain byte sequences. This is likely due to an out-of-bounds error when iterating through the `StringView` representing the file name to be printed. We switch to using an index-based for loop to a range-based for loop. This fixes #16678.
2022-12-31LibGfx+icc: Add profile connection space printingNico Weber
This is a bit messy: The spec says that PCSXYZ and PCSLAB are the only valid profile connection spaces -- except for DeviceLink profles, where all data color spaces are valid. So this uses the existing ColorSpace enum for profile connection spaces instead of adding a dedicated enum, to not duplicate all the color space parsing and printing code. That matches what the spec does, too. This saves about 100 lines of code, at the expense of less type safety -- but further down the line we probably want to be able to compare data color spaces and profile connection spaces, so the type safety would likely get in the way then. (But if not, we can change things around once we get to that point.)
2022-12-31LibGfx+icc: Print profile flagsNico Weber
These flags are always 0 in practice in all profiles I've seen so far, but hey, probably nice to dump them anyways.
2022-12-31Utilities: Introduce the ldd utilityLiav A
This utility lets a user to figure out what are the dependency libraries for an ELF dynamic object, whether it's a dynamically loaded executable or dynamically loaded library.
2022-12-31userdel: Use `Core::Account::sync()` to interact with sensitive filesLucas CHOLLET
2022-12-31userdel: Use `Core::File::remove()` instead of spawning `/bin/rm`Lucas CHOLLET
2022-12-31Utilities: Fix top utility not calling exit() on SIGINTHawDevelopment
Before, when running top, pressing Control+C (triggering SIGINT), would not call the atexit handler. Therefor not restoring stdin.
2022-12-30pro: Fix comment typoNico Weber
2022-12-30icc: Print rendering intentNico Weber
2022-12-30icc: Print data color spaceNico Weber
2022-12-30sql+SQLStudio: Recover from errors preparing SQL statementsTimothy Flynn
In both applications, display the SQL statement that failed to parse. For the REPL, ensure the REPL prompts the user for another statement. For SQLStudio, we don't continue executing the script as it likely does not make sense to run statements that come after a failed statement.
2022-12-28strace: Propagate errorsKyle Lanmon
2022-12-28Kernel+Userland: Remove dependency on i386-specific registersLiav A
2022-12-28Userland: Remove i686 supportLiav A
2022-12-27icc: Print profile creation timeNico Weber
2022-12-27LibGfx: Start adding a utility for handling ICC color profilesNico Weber
For now, this dumps file version and device class. https://github.com/saucecontrol/compact-icc-profiles has good test inputs.
2022-12-27LibArchive+Utilities: Port ZipOutputStream to Core::StreamKarol Kosek
2022-12-27Utilities/zip: Read files using Core::Stream::FileKarol Kosek
2022-12-26pro: Warn if credentials will not be considered for AuthorizationThomas Keppler
2022-12-26pro: Override authorization with manually set Authorization headerThomas Keppler
2022-12-26pro: Allow passing Basic Auth credentials for HTTP URLsThomas Keppler
Since our WebServer can already react to Basic Auth, now there is a way to use that in SerenityOS :^) This commit intentionally omits any Digest authentication. NOTE: We specifically allow for empty credentials (just ':'), since standard RFC7617 doesn't explicitly prohibit this.
2022-12-26pro: Add header format to argument helpThomas Keppler
2022-12-23pro: Add ability to log request/response metadata for HTTP URLsThomas Keppler
In order to debug WebServer and responses we can't handle yet, it's beneficial to being able to see what we request and what we get back. As a first measure, we just log URL, response code, reason phrase and headers.
2022-12-23LibCore: Remove the `force` parameter from File::removeTim Schumacher
About half of the usages were not using `force` anyways, and the other half presumably just got confused about what "force" really means in this context (which is "ignore nonexistent files"). The only 'legitimate' user, which is `rm`, instead now handles this completely internally instead.
2022-12-21uptime: Port to Core::Stream::File, use `AK::human_readable_time()`Karol Kosek
2022-12-20ntpquery: Explicitly zero initialize msghdr and fill in fieldsAndrew Kaster
Rather than trying to use designated initializers, zero init the msghdr variable and fill in its fields. This makes sure to zero-init any padding bytes, and fixes a compilation error on musl-libc based systems.
2022-12-20unzip: Use StringView instead of DeprecatedStringimplicitfield
2022-12-20unzip: Verify extracted files against CRC32 checksumsimplicitfield
This removes one TODO.
2022-12-20AK: Stop using `DeprecatedString` in Base64 encodingJelle Raaijmakers
2022-12-16tsort: Suppress warnings with -qEli Youngs
2022-12-16Userland: Add a tsort utilityEli Youngs
2022-12-15headless-browser: Remove option to specify a WebDriver FD-passing socketTimothy Flynn
2022-12-15LibCore: Rename `MemoryStream` to `FixedMemoryStream`Tim Schumacher
This is to differentiate between the upcoming `AllocatingMemoryStream`, which automatically allocates memory as needed instead of operating on a static memory area.
2022-12-15gron: Add options for enabling/disabling colored outputSam Atkins
These match the options in the original gron: https://github.com/tomnomnom/gron
2022-12-14LibGfx+Userland: Make Gfx::SystemTheme propagate errorsCygnix Proto
This patch introduces error propagation to Gfx::SystemTheme to remove instances of release_value_but_fixme_should_propagate_errors(). Userland applications that have been affected by this change have been updated to utilise this propagation and as a result 4 such instances of the aforementioned method have been removed.
2022-12-14LibWeb: Split PaintContext::viewport_rect() into device/css variantsSam Atkins
For now, everyone uses `device_viewport_rect()`, until I convert them.
2022-12-14LibWeb: Make PaintContext aware of CSS and DevicePixelsSam Atkins
Store the ratio between device and CSS pixels on the PaintContext, so that it can convert between the two. Co-authored-by: MacDue <macdue@dueutil.tech>
2022-12-14LibArchive: Do some error propagation while packing tar filesTim Schumacher
2022-12-14LibArchive: Port `TarOutputStream` to `Core::Stream`Tim Schumacher
2022-12-14LibJS: Convert Object::create() to NonnullGCPtrLinus Groh
2022-12-12shuf: Use the newly introduced AK::shuffle functionArda Cinar
2022-12-12LibCompress: Port `DeflateDecompressor` to `Core::Stream`Tim Schumacher
2022-12-12LibCore: Rename `Stream::read_all` to `read_until_eof`Tim Schumacher
This generally seems like a better name, especially if we somehow also need a better name for "read the entire buffer, but not the entire file" somewhere down the line.
2022-12-11Help+man+LibManual: Move argument handling to LibManualkleines Filmröllchen
This deduplicates argument handling logic from Help and man and makes it more modular for future use cases. The argument handling works as before: two arguments specify section and page (in this order), one argument specifies either a page (the first section that it's found in is used) or a path to a manpage markdown file.
2022-12-11man: Refactor with LibManual and Core::Streamkleines Filmröllchen
2022-12-11sql: Support running the sql REPL on LagomTimothy Flynn