Commit graph

469 commits

Author SHA1 Message Date
Lucas CHOLLET 856d0202f2 LibGfx: Rename JPGLoader to JPEGLoader
The patch also contains modifications on several classes, functions or
files that are related to the `JPGLoader`.

Renaming include:
 - JPGLoader{.h, .cpp}
 - JPGImageDecoderPlugin
 - JPGLoadingContext
 - JPG_DEBUG
 - decode_jpg
 - FuzzJPGLoader.cpp
 - Few string literals or texts
2023-02-18 23:56:24 +01:00
Ben Wiederhake e3f3470a6c Presenter: Fix unintentional U+00A0 codepoint in text
Found using git grep -FIn $'\u00a0'

I just got bit by this type of bug in a different project, and was
wondering whether Serenity has this problem, too. See also:
https://dhwthompson.com/2019/my-favourite-git-commit
2023-02-16 22:07:07 +00:00
Karol Baraniecki 7fc7d4f8c6 su: Document the [-c command] option 2023-02-16 12:52:11 +00:00
Karol Baraniecki 040012a196 su: Correct brackets in documentation for the user option
The `<brackets>` syntax usually suggests a required option, while the
`[brackets]` syntax an optional one. `user` is an optional argument.
2023-02-16 12:52:11 +00:00
Tim Schumacher d43a7eae54 LibCore: Rename File to DeprecatedFile
As usual, this removes many unused includes and moves used includes
further down the chain.
2023-02-13 00:50:07 +00:00
Liav A ed67a877a3 Kernel+SystemServer+Base: Introduce the RAMFS filesystem
This filesystem is based on the code of the long-lived TmpFS. It differs
from that filesystem in one keypoint - its root inode doesn't have a
sticky bit on it.

Therefore, we mount it on /dev, to ensure only root can modify files on
that directory. In addition to that, /tmp is mounted directly in the
SystemServer main (start) code, so it's no longer specified in the fstab
file. We ensure that /tmp has a sticky bit and has the value 0777 for
root directory permissions, which is certainly a special case when using
RAM-backed (and in general other) filesystems.

Because of these 2 changes, it's no longer needed to maintain the TmpFS
filesystem, hence it's removed (renamed to RAMFS), because the RAMFS
represents the purpose of this filesystem in a much better way - it
relies on being backed by RAM "storage", and therefore it's easy to
conclude it's temporary and volatile, so its content is gone on either
system shutdown or unmounting of the filesystem.
2023-02-04 15:32:45 -07:00
Peter Elliott d50de8e4ef Utilities: Replace fgrep with grep --fixed-strings 2023-01-19 12:22:24 +01:00
Liav A 01db302a33 Utilities: Add new utility for converting images to raw bitmap binaries
I used this utility to check if the possible TGA images' cases for
different origins (explictly the Y origin) are generating the same
bitmap, as I felt that my eyes are not a good-enough measurement tool
for this kind of task.
This might be useful in the future for testing other implementations so
I rather have this nice utility in our codebase.
2023-01-15 12:43:03 +01:00
kleines Filmröllchen 66a68a9523 Base: Move GUI application man pages into their own subsection
We do not want to move POSIX utilities into subsections since they have
standard names, but we can do whatever we want with Applications :^).
This is particularly advantageous as many applications contain several
images, which declutters the man1 directory.
2023-01-08 13:35:29 +01:00
kleines Filmröllchen f4b95835d1 markdown-check: Check that no old-style inter-manpage links are used
We've had quite some instances of people reintroducing these kinds of
links because they didn't know about the "new" help:// scheme. This
check should now prevent that from happening, though it might in rare
circumstances trigger a false positive.
2023-01-08 13:35:29 +01:00
Liav A 0f7cc468b2 Kernel: Make i8042 controller initialization sequence more robust
The setting of scan code set sequence is removed, as it's buggy and
could lead the controller to fail immediately when doing self-test
afterwards. We will restore it when we understand how to do so safely.

Allow the user to determine a preferred detection path with a new kernel
command line argument. The defualt option is to check i8042 presence
with an ACPI check and if necessary - an "aggressive" test to determine
i8042 existence in the system.
Also, keep the i8042 controller pointer on the stack, so don't assign
m_i8042_controller member pointer if it does not exist.
2023-01-06 11:09:56 +01:00
Andreas Kling 88ebc44cbf Demos: Remove "Mouse" application
This was a plain-looking test app for debugging mouse events.
Mouse events work now, and if we want mouse testing facilities, they
can be added to MouseSettings instead.
2023-01-02 15:29:12 +01:00
kleines Filmröllchen 3df2eb66be Base: Move GML Widget documentation to subsubsection
This is not only convenient, but also a subsection testcase :^)
2023-01-02 06:15:13 -07:00
kleines Filmröllchen ad6cbc4192 Base: Move GML documentation into subsection
That was the whole point of this endeavour :^)
2023-01-02 06:15:13 -07:00
kleines Filmröllchen f824a67b3b Base: Document manpage structure separately
This section is now removed from Help(1) and man(1).
2023-01-02 06:15:13 -07:00
Ben Wiederhake b272b45137 Meta: Fix link to relocated intel.com webpage
Using archive.org, it appears that this page has moved at some point
between May 14, 2021, and December 22, 2022, for no discernible reason.
2022-12-31 13:00:13 -05:00
Ben Wiederhake 21b7c32af0 Meta: Fix link to wrong version of commit in Mitigations.md
The old commit seems to be the one from the PR, hence it is not in the
master branch.
2022-12-31 13:00:13 -05:00
Liav A 658f9eec6a Utilities: Introduce the ldd utility
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-31 05:06:39 -07:00
Liav A e598f22768 Kernel: Disallow executing SUID binaries if process is jailed
Check if the process we are currently running is in a jail, and if that
is the case, fail early with the EPERM error code.

Also, as Brian noted, we should also disallow attaching to a jail in
case of already running within a setid executable, as this leaves the
user with false thinking of being secure (because you can't exec new
setid binaries), but the current program is still marked setid, which
means that at the very least we gained permissions while we didn't
expect it, so let's block it.
2022-12-30 15:49:37 -05:00
djwisdom 2ba66a9941 Documentation: Update FontEditor document to be in-sync with latest 2022-12-30 09:12:36 -05:00
Liav A 8c9128f36d Documentation: Remove i686 support 2022-12-28 11:53:41 +01:00
Liav A ca134e8bfa Base: Mention pledge promise for jail-specific syscalls 2022-12-26 04:59:54 +03:30
Liav A 2b5d7a8a72 Base: Mention new immutable memory mappings security feature 2022-12-22 20:32:57 -08:00
Federico Guerinoni 43ff500a80 LibCore: Use ';' to split socket path in SOCKET_TAKEOVER
This allow to use socket path with spaces inside.

Closes #16436.
2022-12-15 12:33:36 -05:00
Edward Banner a3423f2af2 Base: Add man page for the dd command
Base: Add man page for the dd command
2022-12-15 12:09:43 +00:00
Oleg Kosenkov 28bb3367cb Games: Add ColorLines 2022-12-12 17:30:04 +00:00
Andrea Giancola 21647b9a4e Games: Add help entries for Solitaire and Spider 2022-12-12 16:25:46 +00:00
Liav A 905becc991 Base: Add a note about Jails open access in the Mitigations(7) document 2022-12-09 23:09:00 -07:00
FrHun 59028515c0 LibGUI: Split OpacitySlider into vertical and horizontal helper classes 2022-12-09 00:25:30 +01:00
Linus Groh 6e19ab2bbc AK+Everywhere: Rename String to DeprecatedString
We have a new, improved string type coming up in AK (OOM aware, no null
state), and while it's going to use UTF-8, the name UTF8String is a
mouthful - so let's free up the String name by renaming the existing
class.
Making the old one have an annoying name will hopefully also help with
quick adoption :^)
2022-12-06 08:54:33 +01:00
Alec Murphy 8677dbfc7f Utilities: Add strings 2022-12-04 12:08:48 +00:00
Liav A 756d2a7f63 Base: Add a description about Jails to the Mitigations(7) document
We add a new document entry to mention jailed processes' restrictions,
so it is clear which restrictions apply when using Jails.
2022-12-03 05:47:58 -07:00
Sam Atkins 33041f3a71 Base: Update and expand profile(1) manpage 2022-11-29 18:54:27 +01:00
Liav A 8e16588757 Utilities+Base: Add unveil utility
This utility essentially creates a filesystem sandbox for a specified
command, so it can be tested with only the unveiled paths the user
specifies beforehand.
2022-11-26 12:42:15 -07:00
Liav A 9f571e0dae Userland: Enhance jail-attach utility to support existing and new jails
The Core::System::create_jail function already provided the new jail
index as a result, so it was just a matter of using it when calling the
LibCore join_jail function to use the new jail.
2022-11-26 01:47:50 -07:00
kleines Filmröllchen 295f83e54c Base: Document Presenter and its file format 2022-11-25 14:28:33 -07:00
jahway603 e9ca641d45 Base: Add manpages for which(1) and stat(1) 2022-11-07 19:19:09 +00:00
Liav A 8d8b0d0a34 Userland: Add support for jails
This happens in two ways:
1. LibCore now has two new methods for creating Jails and attaching
   processes to a Jail.
2. We introduce 3 new utilities - lsjails, jail-create and jails-attach,
   which list jails, create jails and attach processes to a Jail,
   respectively.
2022-11-05 18:00:58 -06:00
Liav A 942e262e86 Base: Add information about the new /sys/kernel/jails node 2022-11-05 18:00:58 -06:00
Oleg Kosenkov 46c6176fad Games: Add BrickGame 2022-11-05 16:35:13 -06:00
Nico Weber daeaefad17 Everywhere: Clean up "the the" comment typos 2022-11-03 17:38:32 +00:00
implicitfield 7eca8f7e62 Games: Add Flood 2022-11-03 01:02:56 -06:00
demostanis e03f014e7a Base: Update tail(1) man page 2022-11-02 21:29:20 -06:00
kleines Filmröllchen 90d967baf1 Base: Document scheduler_{get,set}_parameters syscalls 2022-10-27 11:30:19 +01:00
Liav A a0c41fc3f0 Base: Describe the moved SysFS power_state node in SysFS document 2022-10-25 15:33:34 -06:00
Liav A 75f01692b4 Kernel+Userland: Move /sys/firmware/power_state to /sys/kernel directory
Let's put the power_state global node into the /sys/kernel directory,
because that directory represents all global nodes and variables being
related to the Kernel. It's also a mutable node, that is more acceptable
being in the mentioned directory due to the fact that all other files in
the /sys/firmware directory are just firmware blobs and are not mutable
at all.
2022-10-25 15:33:34 -06:00
Liav A 8c21d974b2 Base: Remove all global entries from the ProcFS document 2022-10-25 15:33:34 -06:00
Liav A 1c5e09f789 Base: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A a0ed543993 sysctl: Use /sys/kernel/variables/ directory instead of /proc/sys 2022-10-25 15:33:34 -06:00
Liav A 4556fdc891 Base: Document the new /sys/kernel/ directory 2022-10-25 15:33:34 -06:00