summaryrefslogtreecommitdiff
path: root/Userland/Utilities
AgeCommit message (Collapse)Author
2021-10-27Everywhere: Rename left/right-click to primary/secondaryFiliph Sandström
This resolves #10641.
2021-10-27Kernel + WindowServer: Re-define the interface to framebuffer devicesLiav A
We create a base class called GenericFramebufferDevice, which defines all the virtual functions that must be implemented by a FramebufferDevice. Then, we make the VirtIO FramebufferDevice and other FramebufferDevice implementations inherit from it. The most important consequence of rearranging the classes is that we now have one IOCTL method, so all drivers should be committed to not override the IOCTL method or make their own IOCTLs of FramebufferDevice. All graphical IOCTLs are known to all FramebufferDevices, and it's up to the specific implementation whether to support them or discard them (so we require extensive usage of KResult and KResultOr, together with virtual characteristic functions). As a result, the interface is much cleaner and understandable to read.
2021-10-24LibJS: Include executable name in bytecode dumpsAndreas Kling
2021-10-24LibJS: Move global "should dump bytecode" flag into LibJSAndreas Kling
This will allow us to trigger bytecode executable dumps when generating bytecode inside LibJS as well, not just in clients like js and test-js.
2021-10-23AK+Everywhere: Make Base64 decoding fallibleBen Wiederhake
2021-10-23Utilities: Add -f option to lnJean-Baptiste Boric
2021-10-23Utilities: Add ignored -f option to touchJean-Baptiste Boric
2021-10-23watch: Add ability to run command on file changejunior rantila
2021-10-23watch: VERIFY that command vector ends with nullptrjunior rantila
2021-10-23watch: Remove unnecessary call to StringBuilder::appendffjunior rantila
2021-10-23Utilities: Change watch utility to use eastconst stylejunior rantila
2021-10-22man.serenityos.org: Use pandoc for listings and landing pageBen Wiederhake
This makes all pages look and feel the same, because they all use the default CSS generated by pandoc. Also, it inserts the banner everywhere at the top, not only into the top-level index.html. Credit to @xSlendiX for suggesting that `-B` works here.
2021-10-21Utilities: Add fdtdump for dumping OpenFirmware Device TreesAndrew Kaster
Use the new LibDeviceTree to dump the contents of the device tree blob (Flattened Device Tree) file passed on the command line.
2021-10-21logout: Add this utility to REQUIRED_TARGETSKarol Kosek
The Shutdown Dialog needs it. Related: a36d13e36c707635b2b0b6727d542b92e609277a
2021-10-21adjtime: Drop unnecessary privileges unconditionallyBen Wiederhake
Furthermore, this simplifies the control flow.
2021-10-21Userland: Teach the file utility more about ELF filesValtteri Koskivuori
It now shows some useful at-a-glance information about ELF files, like it does on other *nix systems.
2021-10-21LibELF+Userland: Move a few functions to Elf::ImageValtteri Koskivuori
These were originally in `readelf`, but they became useful in `file` as well, so they are now available in Elf::Image with a slightly revised API.
2021-10-20LibJS: Rename define_native_function => define_old_native_functionIdan Horowitz
This method will eventually be removed once all native functions are converted to ThrowCompletionOr
2021-10-20LibJS: Add ThrowCompletionOr versions of the JS native function macrosIdan Horowitz
The old versions were renamed to JS_DECLARE_OLD_NATIVE_FUNCTION and JS_DEFINE_OLD_NATIVE_FUNCTION, and will be eventually removed once all native functions were converted to the new format.
2021-10-19LibCore: Change Account::set_password to take a SecretStringTimothy Flynn
This matches the API of Account::authenticate. The only caller to this API is the passwd utility, which already has the new password stored as a SecretString.
2021-10-18LibJS: Convert to_number() to ThrowCompletionOrIdan Horowitz
2021-10-17TaskBar+Utilities: Add logout(1) command, and call it in ShutdownDialogPeter Elliott
logout kills the session that SystemServer --user was started with.
2021-10-17Utilities: Show PGID and SID in ps -fPeter Elliott
2021-10-17rev: Unbreak reading from standard inputSeekingBlues
Since Core::File does not handle streaming input properly (see #5093 and #4198), we use the LibC APIs instead.
2021-10-17tac: Unbreak reading from standard inputSeekingBlues
Since Core::File does not handle streaming input properly (see #5093 and #4198), we use the LibC APIs instead.
2021-10-17shuf: Fix division by zero when no lines are readSeekingBlues
2021-10-17sysctl: Allow showing or setting multiple variablesSeekingBlues
The `-w` option is enforced when setting variables.
2021-10-14js: Implement pretty-printing of ShadowRealmLinus Groh
2021-10-13arp: Preserve error if only the first ioctl failsBen Wiederhake
2021-10-13LibJS: Convert to_object() to ThrowCompletionOrLinus Groh
2021-10-13LibJS: Convert to_string() to ThrowCompletionOrLinus Groh
Also update get_function_name() to use ThrowCompletionOr, but this is not a standard AO and should be refactored out of existence eventually.
2021-10-12strace: Add command line options to filter syscallsRodrigo Tobar
By default strace outputs all system calls the monitored process invokes, but it's sometimes useful to either exclude some calls, or to include only some others. This commit adds two new command line options to specify two exclusion/inclusion command-delimited lists of system calls. These are then used to decide if an intercepted system call should be displayed in the output or not.
2021-10-12strace: Show sun_path on AF_UNIX socket addressesRodrigo Tobar
2021-10-12strace: Add support for get{u,eu,g,eg,p,pp}id syscallsRodrigo Tobar
All these take no arguments so there's no formatting to be done.
2021-10-12strace: Add formatting for clock_gettimeRodrigo Tobar
2021-10-12strace: Add initial ioctl formattingRodrigo Tobar
This is useful in general, but adding it is what finally helped uncovering #10438.
2021-10-10Manpages+markdown-checker: Permit only specific missing filesBen Wiederhake
I can't write these manpages ad-hoc, and in most cases I don't want to remove the link because it is justified. The hope is that with this FIXME in place, there is more motivation to write these manpages for someone who knows enough about them. Or at least we will introduce fewer dead links in the future, making Help more useful.
2021-10-10markdown-checker: New tool that checks document linksBen Wiederhake
2021-10-10Utilities: Fix null deref in `groupdel` when given a nonexistent groupBrian Gianforcaro
Found By PVS-Studio
2021-10-09Utilities: Add way to get a storage devices block size in blockdevDavid Isaksson
2021-10-09Utilities: Add blockdev utilityDavid Isaksson
This new utility queries a block device for its size via the newly introduced ioctl STORAGE_DEVICE_GET_SIZE request.
2021-10-08Utilities: Fix -Wunreachable-code warnings from clangNico Weber
2021-10-07Strace: Add formatting for misc syscallsRodrigo Tobar
These are exit, realpath and getrandom. This required a bit of extra infrastructure to deal with exit's void return type.
2021-10-07Strace: Add formatting for main memory-related syscallsRodrigo Tobar
These include mmap, munmap, mprotect and mmap_set_name.
2021-10-07Strace: Add formatting for main socket syscallsRodrigo Tobar
The formatting of these functions is not complete, but gives already very good information to the user.
2021-10-07Strace: Add main infrastructure and formatting of main I/O operationsRodrigo Tobar
This commit introduces the main infrastructure used for turning register values into user-facing values that can be printed by strace. This includes the ability to copy data from a particular memory address in the traced process. On top of this, (partial) formatting has been added for the most common I/O operations (open, read, write, lseek, close, stat, fstat).
2021-10-07Strace: Move output formatting to separate functionRodrigo Tobar
Moving the formatting of strace's output into a separate function will allow us to introduce more complexity into the formatting logic without touching the main body of the program. The new function uses a switch statement to select how to format the arguments and result depending on the syscall. At this point we only include the default formatting, where the registers are simply dumped, but later on we can add specializations for each system call we want to support.
2021-10-05js: Fix pretty-printing of RegExp objectsLinus Groh
Regressed in b7e5f08. Use the newly available RegExpObject::escape_regexp_pattern() instead of attempting to call the RegExp.prototype.source accessor getter directly.
2021-10-05SQL Utility: Implement reading sql filesJan de Visser
Add a number of command line switches: - '-r/--read': Read a SQL file and quit the REPL when done - '-s/--source': Read a SQL file and return to a SQL prompt when done - '--no-sqlrc': Do not read ~/.sqlrc on startup (see below) Add a dot-command: .read <filename>: Read a SQL file and return to a SQL prompt when done In addition, the sql REPL will source the ~/.sqlrc file on startup if it exists, unless the --no-sqlrc flag is set on startup. Note the slight asymmetry between the --read command line flag (which results in the program quitting when the file is read) and the .read command (which doesn't cause a quit). Also fix merge conflict with #10091
2021-10-05SQL Utility: Redesigned the input loopJan de Visser
The existing input loop called the `read_sql` method recursively. This lead to strange behaviour in the event loop. This is solved by encapsulating the REPL in an object and ensuring the `read_sql` method is not called recursively. The method now returns after the first recognized SQL statement or command.