Itamar
1d3b5dabc3
LibCpp: Parse ellipsis
...
We can now parse the printf function declaration :^)
2021-03-02 12:50:37 +01:00
Itamar
5c79297b2c
LibCpp: Consume attribute specification when parsing
...
Consume __atribute__(...), without actually parsing its content.
2021-03-02 12:50:37 +01:00
Itamar
5a7abb8363
LibCpp: Parse type qualifiers
2021-03-02 12:50:37 +01:00
thankyouverycool
71a123148a
Serendipity: A new welcome app
...
Provides the basic Help+ReadMe care package to new users and some
interesting tips to get started. Feel free to add more!
2021-03-02 11:57:27 +01:00
thankyouverycool
0443cd4eed
LibGUI: Add word wrapping to Labels
...
Adds basic word wrap support to Label widgets. Doesn't yet
negotiate autosize or Center/Bottom TextAlignments perfectly.
2021-03-02 11:57:27 +01:00
Andrew Kaster
1aa605bc03
Meta: Run test-js and test-compress as CTest executables
...
Reduces the number of steps in the Actions workflow this way :^)
2021-03-02 09:00:21 +01:00
Andrew Kaster
8453bb3461
Userland: Gate OSC 9 usage in test-js behind an argument
...
Instead of assuming that we should use the OSC 9 progress messages
whenever we run on serenity, add a show-progress=[true|false] option.
This lets us avoid seeing esc sequence spam in GitHub Actions logs.
2021-03-02 09:00:21 +01:00
Linus Groh
d8415520de
LibJS: Put console dbgln() logging behind #ifdef __serenity__
...
No need to have duplicate output in the Lagom-built js REPL. :^)
2021-03-02 08:36:34 +01:00
Ben Wiederhake
25301e450a
Kernel: Fix sign error in TCP resend logic
2021-03-02 08:36:08 +01:00
Ben Wiederhake
5c15ca7b84
Kernel: Make sockets use AK::Time
2021-03-02 08:36:08 +01:00
Ben Wiederhake
719cb93a1a
Kernel: Make clang(?) happy about templates(?)
...
This caused some issues with QtCreator, and since it's not wrong and improves
readability very slightly, I adopt it.
2021-03-02 08:36:08 +01:00
Ben Wiederhake
336303bda4
Kernel: Make kgettimeofday use AK::Time
2021-03-02 08:36:08 +01:00
Ben Wiederhake
05d5e3fad9
Kernel: Remove duplicative kgettimeofday(timeval&) function
2021-03-02 08:36:08 +01:00
Ben Wiederhake
c040e64b7d
Kernel: Make TimeManagement use AK::Time internally
...
I don't dare touch the multi-threading logic and locking mechanism, so it stays
timespec for now. However, this could and should be changed to AK::Time, and I
bet it will simplify the "increment_time_since_boot()" code.
2021-03-02 08:36:08 +01:00
Ben Wiederhake
91c72faa3c
Kernel: Make TimerQueue use AK::Time in interface
2021-03-02 08:36:08 +01:00
Ben Wiederhake
2b6546c40a
Kernel: Make Thread use AK::Time internally
...
This commit is very invasive, because Thread likes to take a pointer and write
to it. This means that translating between timespec/timeval/Time would have been
more difficult than just changing everything that hands a raw pointer to Thread,
in bulk.
2021-03-02 08:36:08 +01:00
Ben Wiederhake
65b36e42b8
Kernel: Make TimerId a distinct type
...
Well, that was easy\! :^)
2021-03-02 08:36:08 +01:00
Ben Wiederhake
94e0a603f2
Kernel: Make TimerQueue use AK::Time internally
2021-03-02 08:36:08 +01:00
Ben Wiederhake
340813e087
AK: Make Time more usable
2021-03-02 08:36:08 +01:00
Ben Wiederhake
e510c41fd2
Kernel: Prevent using copy_from_user() for timespec/timeval
...
These structs can be inconsistent, for example if the amount of microseconds is
negative or larger than 1'000'000. Therefore, they should not be copied as-is.
Use copy_time_from_user instead.
2021-03-02 08:36:08 +01:00
Ben Wiederhake
8598240193
Kernel: Sanitize all user-supplied timeval's/timespec's
...
This also removes a bunch of unnecessary EINVAL. Most of them weren't even
recommended by POSIX.
2021-03-02 08:36:08 +01:00
Ben Wiederhake
649abc01bc
Kernel: Implement 'copy_time_from_user' functions to sanitize arguments
2021-03-02 08:36:08 +01:00
Ben Wiederhake
bd6be910e5
AK: Implement C++ 'Time' type for easier time-calculations
...
This adds a bunch of code in the hope that other, wrong code can be deleted.
Related to #5315 .
2021-03-02 08:36:08 +01:00
Ben Wiederhake
b374dd03bd
Kernel: Prevent inconsistent state after invalid read
...
copy_from_user can fail, for example when the user-supplied pointer is just before
the end of mapped address space. In that case, the first few bytes would get copied,
permanently overwriting the internal state of the Socket, potentially leaving it
in an inconsistent or at least difficult-to-predict state.
2021-03-02 08:36:08 +01:00
Ben Wiederhake
b7c5d977c7
AK: Remove unused template
2021-03-02 08:36:08 +01:00
Ben Wiederhake
90c070cb1d
AK+Tests: Test Checked for main functionality
2021-03-02 08:36:08 +01:00
Jean-Baptiste Boric
6f668ca3a4
LibJS: Fix crash due to AST node tracking inside call stack
2021-03-01 22:27:27 +01:00
Andreas Kling
74d1caf7d1
Ports: Build curl with --disable-ipv6
2021-03-01 19:51:23 +01:00
Andreas Kling
14aa8e3708
Kernel: Oops, SC_abort was actually calling sys$exit_thread()
2021-03-01 19:47:16 +01:00
Andreas Kling
4d006de2b9
Kernel: Fix build with IO_DEBUG
2021-03-01 16:07:50 +01:00
Andreas Kling
272c2e6ec5
Kernel: Use Userspace<T> in sys${munmap,mprotect,madvise,msyscall}()
2021-03-01 15:53:33 +01:00
Andreas Kling
bebceaa32c
Kernel: Use Userspace<T> in sys$select()
2021-03-01 15:07:01 +01:00
Andreas Kling
a1a82c1d95
Kernel: Use Userspace<T> in sys$get_dir_entries()
2021-03-01 15:04:31 +01:00
Andreas Kling
b5f32be577
Kernel: Use Userspace<T> in sys$get_stack_bounds()
2021-03-01 14:50:36 +01:00
Andreas Kling
122c7b6cbb
Kernel: Use Userspace<T> in sys$write()
2021-03-01 14:35:06 +01:00
Andreas Kling
6a6eb8844a
Kernel: Use Userspace<T> in sys$sigaction()
...
fuzz-syscalls found a bunch of unaligned accesses into struct sigaction
via this syscall. This patch fixes that issue by porting the syscall
to Userspace<T> which we should have done anyway. :^)
Fixes #5500 .
2021-03-01 14:06:20 +01:00
Andreas Kling
261b30e120
Kernel: Detach any attached thread tracer on sys$abort()
2021-03-01 13:57:20 +01:00
Andreas Kling
ac71775de5
Kernel: Make all syscall functions return KResultOr<T>
...
This makes it a lot easier to return errors since we no longer have to
worry about negating EFOO errors and can just return them flat.
2021-03-01 13:54:32 +01:00
Andreas Kling
9af1e1a3bf
LibVT: New terminal cells should be filled with whitespace, not '\0'
2021-03-01 11:37:22 +01:00
Idan Horowitz
147d30ae4f
Spreadsheet: Implement the cut operation for cells
...
This is done by adding another field to our custom
text/x-spreadsheet-data mime-type that specifies the
action (just copy/cut for now)
2021-03-01 11:37:02 +01:00
ry755
b474f49164
TextEditor: Add a command line option to jump to a specific line number
2021-03-01 11:18:14 +01:00
Brian Gianforcaro
e60d394b32
test-web: Utilize new LibTest types from test-web
...
test-web has alot of similar code to test-js, so
re-use some of the types we already pulled out
into LibTest.
2021-03-01 11:17:05 +01:00
Brian Gianforcaro
0a49877fdc
LibTest + test-js: Add initial skelaton of LibTest and migrate code there.
...
The test-js reporter is arguably the nicest test runner / reporter that
exists in the serenity code base. To the goal of leveling up all the
other unit test environments, start a new LibTest library so that we
can share code and reporting utilities to make all the test systems
look and behave similarly.
2021-03-01 11:17:05 +01:00
speles
0b5ca28475
FileManager: Focus on file when opening file's location from Properties
2021-03-01 11:16:18 +01:00
speles
e964d238b8
FileManager+LaunchServer: Add launching FileManager with focus on file
2021-03-01 11:16:18 +01:00
speles
aa9c5d4418
LibGUI: Add possibility to search for exact match in model
2021-03-01 11:16:18 +01:00
speles
dff31d5885
LaunchServer: Make spawn() helper accept arguments list
2021-03-01 11:16:18 +01:00
Jean-Baptiste Boric
8dca96fb61
LibWeb: Provide file name to JavaScript interpreter
2021-03-01 11:14:36 +01:00
Jean-Baptiste Boric
6172cb3599
LibJS: Keep track of current AST node inside the call stack
2021-03-01 11:14:36 +01:00
Jean-Baptiste Boric
0039ecb189
LibJS: Keep track of file names, lines and columns inside the AST
2021-03-01 11:14:36 +01:00