Sergey Bugaev
89f718c4c5
LookupServer: Don't cache DNS questions
...
We should only cache RRs (which we represent as instances of DNSAnswer), now
which questions generated them.
2021-02-15 09:14:42 +01:00
Sergey Bugaev
80f7489df0
LookupServer: Fix serializing name data in DNS answers
...
When serializing a RR of type PTR, we should use the DNS name serialization
format, not a raw string.
2021-02-15 09:14:42 +01:00
Sergey Bugaev
d6f7ced4f1
LookupServer: Move DNS name serialization to DNSName class
2021-02-15 09:14:42 +01:00
Sergey Bugaev
42bc5f2cc1
LookupServer: Move parse_dns_name() -> DNSName::parse()
...
While at it, refactor it slightly.
2021-02-15 09:14:42 +01:00
Sergey Bugaev
ae1e82fd2f
LookupServer: Introduce DNSName
...
This is a wrapper around a string representing a domain name (such as
"example.com"). It never has a trailing dot.
For now, this class doesn't do much except wrap the raw string. Subsequent
commits will add or move more functionality to it.
2021-02-15 09:14:42 +01:00
Stephan Unverwerth
de811faf55
LibTTF: Address some minor TODOs in the font implementation
2021-02-15 08:50:48 +01:00
Stephan Unverwerth
05d31cbeeb
LibTTF: Add hack for recognizing fixed-width fonts
2021-02-15 08:50:48 +01:00
Stephan Unverwerth
3b67b55c84
LibGfx: draw_glyph_or_emoji fix check for available glyph
...
This would cause question marks to be rendered when a ttf with fewer
glyphs than the value of the code_point was used.
2021-02-15 08:50:48 +01:00
Stephan Unverwerth
6948f9ca55
TextEditor: Allow picking non-proportional font
2021-02-15 08:50:48 +01:00
Stephan Unverwerth
b8c25bc7ff
LibGfx: Remove static load_from_file() from abstract Font class
2021-02-15 08:50:48 +01:00
Stephan Unverwerth
79dfe9846d
LibGfx: Generalize glyph placement in Painter
2021-02-15 08:50:48 +01:00
Stephan Unverwerth
972c7cf9f4
LibGUI: Add some default sizes for TTF fonts in FontPicker
2021-02-15 08:50:48 +01:00
Stephan Unverwerth
85158dc0ad
LibGfx+LibTTF: Allow Painter to draw TTF glyphs
2021-02-15 08:50:48 +01:00
Stephan Unverwerth
0f41f5d9ba
LibGUI+LibGfx+LibTTF: Make fontpicker handle TTF fonts
2021-02-15 08:50:48 +01:00
Stephan Unverwerth
5a70ccecb3
LibGfx: Add more query methods to FontDatabase and Typeface
2021-02-15 08:50:48 +01:00
Stephan Unverwerth
e504d4ef96
LibGfx: Add Color::multiply() for component wise multiplication
2021-02-15 08:50:48 +01:00
Stephan Unverwerth
179dba652e
LibGfx: Insert pixel and ttf fonts into Typeface structure
...
This adds a new structure 'Typeface' to the FontDatabase that
represents all fonts of the same family and variant.
It can contain a list of BitmapFonts with varying size but of
the same family and weight or a pointer to a single TTF font
for all sizes of this Typeface.
2021-02-15 08:50:48 +01:00
Stephan Unverwerth
2c4e13f14a
LibTTF: Parse TTF "name" table
2021-02-15 08:50:48 +01:00
AnotherTest
48fbf6a88d
LibCrypto: Don't copy the prime test candidates
...
This was copying a bunch of bigints for no reason.
2021-02-14 13:30:10 +01:00
AnotherTest
3fe7ac0924
LibCrypto: Make a better ASN.1 parser
...
And use it to parse RSA keys.
As a bonus, this one shouldn't be reading out of bounds or messing with
the stack (as much) anymore.
2021-02-14 13:30:10 +01:00
Sahan Fernando
ca731e2cdd
SystemMonitor: Define graphs by ColorRole, not by Color
...
Currently, graphs are defined in terms of graph color. This means that
when the system palette is changed, the old colors are still used. We
switch to storing the color roles and looking up the palette colors on
paint events. We also define the graph line background color as the
graph color at half-transparency.
2021-02-14 13:27:36 +01:00
Ben Wiederhake
fcda9ee7f5
Utilities: Fix embarassing typo in syscall(1)
2021-02-14 10:57:33 +01:00
Linus Groh
4e2a961a3d
LibJS: Add BigInt equality tests for some large numbers
2021-02-14 10:51:00 +01:00
Linus Groh
1c6fd749dc
LibCrypto: memcmp() all bytes in UnsignedBigInteger::operator==
...
`length` is only the (trimmed) size of the word vector, so we have to
multiply it with the size of each element to ensure all bytes are
compared.
Fixes #5335 .
2021-02-14 10:51:00 +01:00
Andreas Kling
781d29a337
Kernel+Userland: Give sys$recvfd() an options argument for O_CLOEXEC
...
@bugaevc pointed out that we shouldn't be setting this flag in
userspace, and he's right of course.
2021-02-14 10:39:48 +01:00
Andreas Kling
8415866c03
Kernel: Remove user/kernel flags from Region
...
Now that we no longer need to support the signal trampolines being
user-accessible inside the kernel memory range, we can get rid of the
"kernel" and "user-accessible" flags on Region and simply use the
address of the region to determine whether it's kernel or user.
This also tightens the page table mapping code, since it can now set
user-accessibility based solely on the virtual address of a page.
2021-02-14 01:34:23 +01:00
Andreas Kling
dc42b4565b
LibIPC: Oops, fix busted dbgln() format string (thanks, checker!)
2021-02-13 20:37:05 +01:00
Andreas Kling
05bb11f482
LibIPC: Make received file descriptors close-on-exec by default
...
I noticed that programs running in the terminal had an open file
descriptor for the system theme buffer, inherited from the Terminal.
Let's be nice and always mark incoming fds with FD_CLOEXEC.
2021-02-13 20:13:51 +01:00
Linus Groh
2ed7f75e95
LibJS: Return empty value on exception in Date.parse(), not NaN
...
This is discarded anyway, so let's not confuse ourselves by returning a
NaN number value that's not going to be used.
2021-02-13 19:58:51 +01:00
Linus Groh
db340ae7aa
LibJS: Add missing exception check in Date() constructor
2021-02-13 19:58:51 +01:00
Tom
ddbd88d5c6
LibGfx: Enable Painter::blit to apply opacity and mix alpha channels
...
This enables us to properly render windows that use both opacity and
alpha channels.
2021-02-13 19:57:31 +01:00
Itamar
c2e5bc442d
LanguageServers/cpp: Use parser-based autocomplete engine by default
2021-02-13 19:50:09 +01:00
Itamar
715933ce8b
HackStudio: Handle crash of the LanguageServer gracefully
...
Previously, HackStudio exited whenever a LanguageServer crashed.
Now, we disconnect all clients from that language server instance and
show a nice notification.
2021-02-13 19:50:09 +01:00
Itamar
8ace2cfa18
LibCpp: Fix lexing & parsing of non-terminated strings
2021-02-13 19:50:09 +01:00
Itamar
2da5ecba41
LanguageServers/Cpp: Handle autocomplete request on an empty line
2021-02-13 19:50:09 +01:00
Itamar
18a9b66f10
HackStudio: Set icon for 'make is not available' notification
2021-02-13 19:50:09 +01:00
Nick Vella
b671577223
HackStudio: Project templates and New Project dialog
...
This commit adds a simple project template system to HackStudio,
as well as a pretty New Project dialog, inspired by early VS.NET
and MS Office.
2021-02-13 19:49:30 +01:00
Nick Vella
a6fdc17f3f
LibGUI: add 'always_wrap_item_labels' property to IconView.
...
In some circumstances (like template selection dialogs,) displaying as much
item label as possible, on all items, may be desired.
The default setting is 'false', which matches the default behaviour from before;
only wrapping on hover or selection.
2021-02-13 19:49:30 +01:00
Paul Scharnofske
35a1e12459
AK+Format: Don't cast to size_t when you want u64.
...
In Serenity, size_t is defined as u32, thus static_cast<size_t>(value)
truncates the value.
2021-02-13 19:47:06 +01:00
Andreas Kling
40a5487bab
LibELF: Unmap and close the main executable after dynamic load
...
We don't need to keep the whole main executable in memory after
completing the dynamic loading process. We can also close the fd.
2021-02-13 13:46:20 +01:00
thankyouverycool
94e494d6d2
FileManager: Add layout options to View menu
...
File Manager's toolbar, location bar, status bar and folder pane
can now be toggled on/off
2021-02-13 11:01:59 +01:00
thankyouverycool
cb42ba0ab1
FileManager: Save 'Show dotfiles' setting in FileManager.ini
2021-02-13 11:01:59 +01:00
thankyouverycool
f9c1918484
TextEditor: Set wrapping and preview menus to correct defaults
2021-02-13 11:01:59 +01:00
thankyouverycool
5a03b326a7
TextEditor: Add layout options to View menu
...
Toolbar, status bar, and ruler can now be toggled on/off and their
settings are saved in ~/.config/TextEditor.ini
2021-02-13 11:01:59 +01:00
Andreas Kling
e1dbf74f15
LibJS: Add some basic freelist validation for the GC heap
...
When using the freelist, we now validate that the entries are actual
cell pointers within the current HeapBlock.
2021-02-13 00:40:49 +01:00
Ben Wiederhake
9452281bec
Tests: Merge and extend syscall tests into a syscall fuzzer
...
This found the previous bugs :^)
2021-02-13 00:40:31 +01:00
Ben Wiederhake
5963f2084e
Utilities: Make syscall(1) explain what it's doing
2021-02-13 00:40:31 +01:00
Ben Wiederhake
cb9a9a3e03
Utilities: Enable syscall(1) to use SC_*_params buffers
2021-02-13 00:40:31 +01:00
Ben Wiederhake
244c81bcf2
Utilities: Make syscall(1) use Core::ArgsParser
...
Note that this should not change the behavior at all.
2021-02-13 00:40:31 +01:00
Tom
0138f13bfe
WindowServer: Improvements to support alpha channel in window frames
...
This fixes some issues handling the alpha channel that may be present
in rendered window frames.
Fixes #5303
2021-02-13 00:39:33 +01:00