Commit graph

42364 commits

Author SHA1 Message Date
Liav A
965afba320 Kernel/FileSystem: Add a few missing includes
In preparation to future commits, we need to ensure that
OpenFileDescription.h doesn't include the VirtualFileSystem.h file to
avoid include loops.
2022-10-22 16:57:52 -04:00
Jesse Buhagiar
2c16532159 Kernel+USB: Move descriptor bookkeeping into seperate structure(s)
We now have a seperately allocated structure for the bookkeeping
information in the QueueHead and TransferDescriptor UHCI strucutres.
This way, we can support 64-bit pointers in UHCI, fixing a problem where
32-bit pointers would truncate the upper 32-bits of the (virtual)
address of the descriptor, causing a crash.

Co-authored-by: b14ckcat <b14ckcat@protonmail.com>
2022-10-22 15:54:55 -04:00
Gunnar Beutner
5f38f5500e SystemServer: Fix race condition in Service::determine_account()
In theory our peer process could die between the call to getsockopt()
and Core::system::stat() and another process could end up with the same
PID which would result in us incorrectly launching the service as
another user (e.g. root).
2022-10-22 19:59:36 +02:00
Liav A
5b3980b040 Userland: Utilize MS_NOREGULAR mount flag
For SystemServer, we simply ensure that the /dev mount is now mounted
with MS_NOREGULAR flag to ensure only non-regular files are created,
thus, achieving what DevTmpFS provided in its implementation, but in a
much more sane and clean way than how DevTmpFS did that.

For other userland applications, we simply make them being aware of this
flag so they can show an indication about this flag being used to the
user.
2022-10-22 19:18:15 +02:00
Liav A
07387ec19a Kernel+Base: Introduce MS_NOREGULAR mount flag
This flag doesn't conform to any POSIX standard nor is found in any OS
out there. The idea behind this mount flag is to ensure that only
non-regular files will be placed in a filesystem, which includes device
nodes, symbolic links, directories, FIFOs and sockets. Currently, the
only valid case for using this mount flag is for TmpFS instances, where
we want to mount a TmpFS but disallow any kind of regular file and only
allow other types of files on the filesystem.
2022-10-22 19:18:15 +02:00
Liav A
97f8927da6 Kernel: Remove the DevTmpFS class
Although this code worked quite well, it is considered to be a code
duplication with the TmpFS code which is more tested and works quite
well for a variety of cases. The only valid reason to keep this
filesystem was that it enforces that no regular files will be created at
all in the filesystem. Later on, we will re-introduce this feature in a
sane manner. Therefore, this can be safely removed after SystemServer no
longer uses this filesystem type anymore.
2022-10-22 19:18:15 +02:00
Liav A
4c15915e40 SystemServer: Mount TmpFS on /dev instead of DevTmpFS
In the next commit, we will drop the DevTmpFS code for good, so we need
to mount a TmpFS instance on /dev instead of DevTmpFS.
2022-10-22 19:18:15 +02:00
Liav A
c2b5c5bac5 Kernel: Add support for device nodes in TmpFS
Later on we will remove the DevTmpFS code, so in order to support
mounting TmpFS instead, we need to be able to create device nodes on
the filesystem.
2022-10-22 19:18:15 +02:00
Moustafa Raafat
5edd4bd512 LibJS: Require NanosecondsToDays remainder less than dayLength
This is an normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/ac69b63
2022-10-22 19:14:14 +02:00
Moustafa Raafat
b1c8029c2b LibJS: Require that NanosecondsToDays doesn't flip sign
This is an normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/e13c52d
2022-10-22 19:14:14 +02:00
Moustafa Raafat
cfd684dc2f LibCrypto: Add SignedBigInteger::is_positive() 2022-10-22 19:14:14 +02:00
Sam Atkins
e5a25171fe LibGfx: Mark AffineTransform<T>::map() as only working for numeric T
The implementations for these methods is manually defined in the .cpp
file for `int` and `float`, meaning that other `T` values would fail -
but only once we got to the linking stage. This patch makes the error
happen much earlier, so it's more obvious.
2022-10-22 18:17:58 +02:00
Sam Atkins
732aa2c5c7 LibGfx: Make Rect<T> methods work when T is not int or float
Putting the implementations in the .cpp file meant that they only
existed for `IntRect` and `FloatRect`, since those were instantiated at
the bottom of the file. Now they work for other types. :^)

A couple of places in WindowServer had to be modified to disambiguate
between the two `Rect::intersected()` overloads.

Co-authored-by: davidot <davidot@serenityos.org>
2022-10-22 18:17:58 +02:00
Smrtnyk
ae950816b5 Base: Add SameSite cookie test cases 2022-10-22 18:17:01 +02:00
Smrtnyk
cb480fa3dc Browser: Show SameSite attribute in cookie storage inspector 2022-10-22 18:17:01 +02:00
Smrtnyk
b08ae57b23 LibWeb: Parse SameSite cookie attribute 2022-10-22 18:17:01 +02:00
Tobias Christiansen
a534e61b44 WebDriver: Implement GET /session/{id}/element/{id}/name endpoint 2022-10-22 13:44:49 +02:00
Tobias Christiansen
be6bbdaa3b WebContent+Friends: Add get_element_tag_name IPC and plumbing 2022-10-22 13:44:49 +02:00
Daniel Bertalan
f1f6c4c0b6 Meta: Detect Homebrew clang-format
Homebrew does not add upstream LLVM's install location to $PATH so as
not to conflict with XCode tools, so we need to run `brew --prefix llvm`
to figure out its install path.
2022-10-22 12:53:03 +02:00
Liav A
e52f0a991b Base: Rename jp(1) manual page to json(1) 2022-10-22 10:39:05 +02:00
Maxwell Trussell
b80c24f57f Utilities: Rename jp to json
With the scope of `jp` expanding beyond just printing JSON (e.g.
querying JSON), `json` seems to be a more fitting name.
2022-10-22 00:47:05 +02:00
Maxwell Trussell
424033be44 Utilities: Add jq-like json query functionality to jp 2022-10-22 00:47:05 +02:00
Xexxa
d80472b8f4 Snake: Add more emoji as in-game food graphics 2022-10-21 23:50:50 +02:00
Tim Schumacher
335fd20c34 Toolchain: Keep LLVM from using shm_open and friends
I originally missed this while handling the upgrade to LLVM 15 (as it
only affects the on-serenity port), so the patch gets to be here with a
bit of a delay.

Co-Authored-By: sin-ack <sin-ack@users.noreply.github.com>
2022-10-21 20:15:34 +02:00
Tim Schumacher
ed5996184b Ports/llvm: Add a dependency on zstd 2022-10-21 20:15:34 +02:00
Mykola
dcfaee8d6c Base: Add cool emoji
Added:
	1F32B      # 🌫 E0.7 fog
	1F361      # 🍡 E0.6 dango
	1F3A3      # 🎣 E0.6 fishing pole
	1F3B4      # 🎴 E0.6 flower playing cards
	1F413      # 🐓 E1.0 rooster
	1F456      # 👖 E0.6 jeans
	1F45C      # 👜 E0.6 handbag
	1F5EF      # 🗯 E0.7 right anger bubble
	1F6B0      # 🚰 E1.0 potable water
	1F6B1      # 🚱 E1.0 non-potable water
	1F6FB      # 🛻 E13.0 pickup truck
	1F9C6      # 🧆 E12.0 falafel
	1F9F4      # 🧴 E11.0 lotion bottle
	1FAB0      # 🪰 E13.0 fly
	1FAB1      # 🪱 E13.0 worm
	1FAD4      # 🫔 E13.0 tamale
	2618       # ☘ E1.0 shamrock
	1F684      # 🚄 E0.6 high-speed train
	1F685      # 🚅 E0.6 bullet train
	1F686      # 🚆 E1.0 train
2022-10-21 20:02:17 +02:00
Jelle Besseling
5de4507b6f Base: Add WC emoji and other blue block ones
Added:
    1F6BE   # 🚾 E1.0 Water closet
    1F6C2   # 🛂 E1.0 Passport control
    1F6C3   # 🛃 E1.0 Customs
    1F6C4   # 🛄 E1.0 Baggage claim
    1F6C5   # 🛅 E1.0 Left luggage
    1F6B9   # 🚹 E1.0 Men's room
    1F6D7   # 🛗 E13.0 Elevator
2022-10-21 20:01:31 +02:00
Jelle Besseling
1fa8aaca83 Base: Add some clock emoji
Added:
    23F0    #  E1.0 Alarm Clock
    23F1    # ⏱️ E1.0 Stopwatch
    23F2    # ⏲️ E1.0 Timer Clock
2022-10-21 20:01:20 +02:00
Sam Atkins
607767fd10 WebDriver: Extract repeated "check for window or return error" code
If `TRY()` doesn't solve your problems, you're not using enough of it.
2022-10-21 19:59:03 +02:00
Sam Atkins
851bece9fc Browser: Hide WebDriver debug messages behind WEBDRIVER_DEBUG 2022-10-21 19:59:03 +02:00
Sam Atkins
3232622255 WebDriver: Use WebDriverError::from_code() for all error creation 2022-10-21 19:59:03 +02:00
Sam Atkins
9393904073 WebDriver: Introduce WebDriver::ErrorCode enum
To avoid having to duplicate error text and http codes over and over,
and potentially make mistakes, let's put them all in one place.
2022-10-21 19:59:03 +02:00
Sam Atkins
89c3e0b567 WebDriver: Rename HttpError -> WebDriverError 2022-10-21 19:59:03 +02:00
crpz1
87a9462b7f Magnifier: Increase window size
The help menu was not visible prior to this.
2022-10-21 17:16:01 +01:00
crpz1
466e0c4846 Magnifier: Add Always on Top 2022-10-21 17:16:01 +01:00
Jelle Raaijmakers
e47ca2db0a Ports: Update Composer to 2.4.3 2022-10-21 14:31:32 +02:00
Jelle Raaijmakers
e70e4c132b Ports: Support Serenity install root in PHP's libtool
PHP's libtool does not have sysroot support; this is the minimum change
to get PHP to build.
2022-10-21 14:31:32 +02:00
Jelle Raaijmakers
684c038af0 Ports: Update PHP to 8.1.11 2022-10-21 14:31:32 +02:00
Andreas Kling
8ebbb6a2f3 Revert "LibWeb: Prevent world leak when activating event handler"
This reverts commit 8875cd0c83.

It broke Twitter (tweets would no longer load). Reverting until we can
understand why. :^(
2022-10-21 13:32:13 +02:00
Xexxa
0968501b62 Base: Add more emoji
🐕 - U+1F415 DOG
🐩 - U+1F429 POODLE
🦌 - U+1F98C DEER
🐖 - U+1F416 PIG
🐁 - U+1F401 MOUSE
🐀 - U+1F400 RAT
🐇 - U+1F407 RABBIT
🐿️ - U+1F43F CHIPMUNK
🦥 - U+1F9A5 SLOTH
🐣 - U+1F423 HATCHING CHICK
🐥 - U+1F425 FRONT-FACING BABY CHICK
🦎 - U+1F98E LIZARD
🦗 - U+1F997 CRICKET
🪳 - U+1FAB3 COCKROACH
🧮 - U+1F9EE ABACUS
2022-10-21 12:18:50 +02:00
Linus Groh
950d2fccf0 LibWeb: Remove workaround for nested BodyInit IDL union type 2022-10-21 12:11:24 +02:00
Linus Groh
775c12f60f LibIDL: Resolve typedefs in UnionType members recursively 2022-10-21 12:11:24 +02:00
Timon Kruiper
cede752cd1 Kernel/aarch64: Stub enough functions to build Random.cpp
Also update Random.cpp such that it builds for aarch64.
2022-10-20 23:26:32 +02:00
Timon Kruiper
a998bba73b Kernel/aarch64: Store a pointer to the current Thread on Processor
And also implemented and update the related functions.
2022-10-20 23:26:32 +02:00
Timon Kruiper
8fe3c50b30 Kernel/aarch64: Force kmalloc to return 16 byte aligned pointers
KUBSAN complained about a misaligned address when trying to construct
the Thread class.
2022-10-20 23:26:32 +02:00
Timon Kruiper
179cb7b2d0 Kernel/aarch64: Stub enough functions to build Process.cpp
ProcessProcFSTraits.cpp is also added the CMakeLists.
2022-10-20 23:26:32 +02:00
Timon Kruiper
84158a18d5 Kernel/aarch64: Stub WaitQueueBlocker::unblock to build WaitQueue.cpp 2022-10-20 23:26:32 +02:00
Timon Kruiper
b69a3ad51a Kernel/aarch64: Stub more functions to build Thread.cpp 2022-10-20 23:26:32 +02:00
grxnola
2c64f7f900 Toolchain: Fix nix-shell; fuse2fs is now part of e2fsprogs derivation 2022-10-20 22:51:11 +02:00
Linus Groh
3b2e5b08d9 LibWeb: Remove dbgln FIXME spam from BindingsGenerator 2022-10-20 22:34:55 +02:00