summaryrefslogtreecommitdiff
path: root/Base
AgeCommit message (Collapse)Author
2021-02-21Base: Add a lion emoji 🦁Andreas Kling
2021-02-21Kernel: Add "map_fixed" pledge promiseAndreas Kling
This is a new promise that guards access to mmap() with MAP_FIXED. Fixed-address mappings are rarely used, but can be useful if you are trying to groom the process address space for malicious purposes. None of our programs need this at the moment, as the only user of MAP_FIXED is DynamicLoader, but the fixed mappings are constructed before the process has had a chance to pledge anything.
2021-02-20Base: Update path in js(1) manpage exampleLinus Groh
2021-02-20Base: Mention -n option in echo(1) manpageLinus Groh
2021-02-20Base: Tweak ddate(1) manpage taglineLinus Groh
2021-02-20Base: Unify synopsis format in manpagesLinus Groh
2021-02-20Base: Do a little copy-editing in Mitigations(7)Andreas Kling
2021-02-20Base: Fix a broken commit link in Mitigations(7)Andreas Kling
2021-02-20Base: Document more the mitigations in man7/Mitigations.mdBrian Gianforcaro
Document: * Unmap After Init * RELRO * -fstack-clash-protection * -fstack-protector / -fstack-protector-strong
2021-02-16Base: Make PixelPaint launch handler for .pp filesLinus Groh
Closes #5374.
2021-02-15Base: Add a man page documenting security mitigationsBrian Gianforcaro
Since so much work is being put into mitigations, I thought it would be nice to track them all in one place. This is the start of that document.
2021-02-15LookupServer: Implement a DNS server :^)Sergey Bugaev
LookupServer can now itself server as a DNS server! To service DNS clients, it uses the exact same lookup logic as it does for LibIPC clients. Namely, it will synthesize records for data from /etc/hosts on its own (you can use this to configure host names for your domain!), and forward other questions to configured upstream DNS servers. On top of that, it implements its own caching, so once a DNS resource record has been obtained from an upstream server, LookupServer will cache it locally for faster future lookups. The DNS server part of LookupServer is disabled by default, because it requires you to run it as root (for it to bind to the port 53) and on boot, and we don't want either by default. If you want to try it, modify SystemServer.ini like so: [LookupServer] Socket=/tmp/portal/lookup SocketPermissions=666 Priority=low KeepAlive=1 User=root BootModes=text,graphical and enable server mode in LookupServer.ini like so: [DNS] Nameservers=... EnableServer=1 If in the future we implement socket takeover for IP sockets, these limitations may be lifted.
2021-02-15Resources: Add SerenitySans Truetype font to /res/fontsStephan Unverwerth
2021-02-13HackStudio: Project templates and New Project dialogNick Vella
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-13FileManager: Add layout options to View menuthankyouverycool
File Manager's toolbar, location bar, status bar and folder pane can now be toggled on/off
2021-02-13FileManager: Save 'Show dotfiles' setting in FileManager.inithankyouverycool
2021-02-13TextEditor: Add layout options to View menuthankyouverycool
Toolbar, status bar, and ruler can now be toggled on/off and their settings are saved in ~/.config/TextEditor.ini
2021-02-13Themes: Basalt's title text shadow shouldn't be transparentTom
Fixes pixels bleeding through from behind.
2021-02-12Base: Don't mark "prot_exec" pledge promise as a SerenityOS extensionAndreas Kling
OpenBSD also has this promise.
2021-02-12Themes: Improve syntax highlighting colors of Nord themeSahan Fernando
2021-02-12Themes: Make Redmond 2000 menu shadows a bit lighterTom
2021-02-11WindowServer: Allow different shadows for active/inactive windowsTom
Also allow specifying different shadows for the task and menu bar.
2021-02-09WindowServer: Allow specifying different shadows for menus and tooltipsTom
Also update the Redmond 2000 theme to drop shadows more Redmond-like.
2021-02-09Base: Fill in rightmost pixel in crosshair cursorNico Weber
gimp claimed that the rightmost white pixel was actually transparent. It didn't look transparent in Serenity, but I painted it white like the other inner pixels anyways.
2021-02-09Base: Add 2x versions of most cursorsNico Weber
I upsampled them in gimp using the "None" filter and manually cleaned up the outline. The drop shadow is just upsampled using "None" and looks a bit rough -- someone who knows how to do this either has to re-create the shadow on the 2x bitmaps, or we need to remove the shadow from the resource and render it in code at some point. Still, looks a lot better than with the upsampled 1x bitmaps.
2021-02-09WindowServer: Implement simple window shadowsTom
This implements simple window shadows around most windows, including tooltips. Because this method uses a bitmap for the shadow bits, it is limited to rectangular window frames. For non-rectangular window frames we'll need to implement a more sophisticated algorithm.
2021-02-08LanguageServers/Cpp: ParserAutoComplete engine inspects header filesItamar
... and performs preprocessing on the source code before parsing. To support this, we are now able to keep track of multiple files in the autocomplete engine. We re-parse a file whenever it is edited.
2021-02-07Base: Remove /res/pci.ids and download at build time insteadLinus Groh
This is an external file from https://pci-ids.ucw.cz that's being updated daily, which was imported a while ago but probably shouldn't live in the SerenityOS repository in the first place (or else would need manual maintenance). The legal aspects of redistributing this file as we currently do are not quite clear to me, they require either GPL (version 2 or later) or 3-clause BSD - Serenity is 2-clause BSD... The current version we use is 2019.08.08, so quite outdated - and while most of these devices are obviously not supported, we're still capable of *listing* them, so having an up-to-date version with recent additions and fixes would be nice. This updates the root CMakeLists.txt to check for existence of the file and download it if not found - effectively on every fresh build. Do note that this is not a critical file, and the system runs just fine should this ever fail. :^)
2021-02-04SymbolServer: Add symbolication service for out-of-process ELF parsingAndreas Kling
This patch adds SymbolServer, a service daemon that provides symbolication of ELF binaries. It has a very simple IPC API at the moment that only turns addresses into symbol names. This can be used to implement symbolication without having to do in-process ELF parsing yourself. :^)
2021-02-03Base: Make /www read-write by defaultBen Wiederhake
Since it is owned by root anyway, there is no need for 'additional security' to prevent modification of that directory. This makes it easier to quickly export files from Serenity. Fixes #5152.
2021-02-03Applications: Remove "Welcome" applicationAndreas Kling
This was a cute application for its time, but it's far too jokey and non-serious for how I'd like this project to treat itself.
2021-02-02Base: Update keymap(1) manpageLinus Groh
- Keymap name/file is now optional - No root shell required (/bin/keymap is setuid root) - Add example for getting the current keymap name
2021-02-02Base: Rename some keymaps to use xx-xx format where appropriateLinus Groh
- en.json -> en-us.json - gb.json -> en-gb.json - ptbr.json -> pt-br.json - ptpt.json -> pt-pt.json
2021-02-01Documentation: Add a manual page about the new MemoryDevice fileLiav A
2021-02-01Base: Replace tabs+spaces in keymaps by only spacesBen Wiederhake
2021-02-01Base: Cover entire German keyboardBen Wiederhake
I'm strongly basing this on what I'm used to (xkb-data's "de(basic)"), but without dead keys (since we don't support them).
2021-02-01Base: Replace unnecessary escapes by actual codepointsBen Wiederhake
I used this arcane incantation by @emanuele6: < <(grep -hoP -e '\\u[A-Za-z0-9]{4}' ./*.json) grep -i -ve '\\u001b' \ | sort -u \ | while read -r; do sed -i "s,\\$REPLY,$(eval "echo $'$REPLY'"),g" ./*.json done Plus some manual editing to re-align everything. Thanks! :)
2021-02-01Base: Fix wrong offset for Numpad and later keysBen Wiederhake
This seems to be the last remaining fallout of 8733da652e0baec609d29a3ca8e2ec8b61d08fe6.
2021-01-31Kernel: Remove pledge exception for sys$getsockopt() with SO_PEERCREDAndreas Kling
We had an exception that allowed SOL_SOCKET + SO_PEERCRED on local socket to support LibIPC's PID exchange mechanism. This is no longer needed so let's just remove the exception.
2021-01-30Revert "Kernel: Return -ENOTDIR for non-directory mount target"Andreas Kling
This reverts commit b7b09470ca7f08f42b0f3a6701192adbdf198870. Mounting a file on top of a file is a valid thing we support.
2021-01-29Base: Add missing "ß" to DE keymapLinus Groh
2021-01-29Base: Add missing umlauts to DE keymapLinus Groh
2021-01-29Base: Fix missing "£" in GB keymapLinus Groh
Shift+3 is "£", not "#".
2021-01-29Base: Reformat some keymapsLinus Groh
This is in line with all the other ones, and makes finding the same keys in each map array a little easier.
2021-01-29Kernel: Add "prot_exec" pledge promise and require it for PROT_EXECAndreas Kling
This prevents sys$mmap() and sys$mprotect() from creating executable memory mappings in pledged programs that don't have this promise. Note that the dynamic loader runs before pledging happens, so it's unaffected by this.
2021-01-29Kernel: Return -ENOTBLK for non-block device Ext2FS mount sourceLinus Groh
When mounting an Ext2FS, a block device source is required. All other filesystem types are unaffected, as most of them ignore the source file descriptor anyway. Fixes #5153.
2021-01-29Kernel: Return -ENOTDIR for non-directory mount targetLinus Groh
The absence of this check allowed silly things like this: # touch file # mount /dev/hda file
2021-01-27HackStudio: Integate with C++ parser-based autocompleteItamar
By default, C++ auto completion will still be performed by the lexer-based logic. However, the parser-based logic can be switched on via the menubar.
2021-01-26Base: Update crash(1) man pageLinus Groh
Update the outdated list of options, mention UserspaceEmulator, update example shell output.
2021-01-23Base: Fix syscall/libc manpage sortingBen Wiederhake