summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-01-25LibVT: Support HVP (Horizontal and Vertical Position) (final 'f')Andreas Kling
2020-01-25LibVT: Support the DA (Device Attributes) request (final 'c')Andreas Kling
This is used by vttest on startup to query the device for identity.
2020-01-25Kernel: Preserve CoW bits when splitting VM regionsAndreas Kling
2020-01-25Kernel: Only open a single description for stdio in non-fork processesAndreas Kling
2020-01-25Build: Remove -fno-sized-deallocation -Wno-sized-deallocationAndreas Kling
Add sized variants of the global operator delete functions so we don't have to use these GCC options anymore.
2020-01-25Kernel: Make sys$setsid() clear the calling process's controlling TTYAndreas Kling
2020-01-25Terminal: Start a new session before exec'ing the shellAndreas Kling
This will put everything running inside the terminal in the same SID.
2020-01-25Shell: Don't start a new session in every new shellAndreas Kling
The session should be started at a higher level, i.e the Terminal app.
2020-01-25Ext2FS: Use more dbg() in Ext2FS codeAndreas Kling
We should use dbg() instead of dbgprintf() as much as possible to protect ourselves against format string bugs. Here's a bunch of conversions in Ext2FS.
2020-01-25Kernel: Allow empty strings in validate_and_copy_string_from_user()Andreas Kling
Sergey pointed out that we should just allow empty strings everywhere.
2020-01-25Kernel: Simplify Process constructorAndreas Kling
Move all the fork-specific inheritance logic to sys$fork(), and all the stuff for setting up stdio for non-fork ring 3 processes moves to Process::create_user_process(). Also: we were setting up the PGID, SID and umask twice. Also the code for copying the open file descriptors was overly complicated. Now it's just a simple Vector copy assignment. :^)
2020-01-25Terminal: Fetch the user shell from /etc/passwdAndreas Kling
This allows you to override the shell used by Terminal. :^)
2020-01-25Kernel: sys$execve() should not EFAULT for empty argument stringsAndreas Kling
It's okay to exec { "/bin/echo", "" } and it should not EFAULT.
2020-01-25Shell: Allow empty tokens if enclosed in single or double quotesAndreas Kling
Previously the shell parser would discard empty tokens. We now allow them when they are enclosed in quotes (either '' or "") This means that a command like _echo ""_ will actually pass an empty string to /bin/echo in argv[1] now.
2020-01-25AK: Vector::is_null() should always return falseAndreas Kling
This is only used by the somewhat dubious templated String::copy(). An empty Vector should generate an empty String when copied, never a null String.
2020-01-25WindowServer: Don't allow minimize/maximize of windows while modal upAndreas Kling
While one window is blocked by another modal one, just ignore events on the window frame, and also ignore set_minimized() and set_maximized(). The only thing you're allowed to do with a blocked window is moving it. Fixes #1111.
2020-01-25WindowServer: Robustify WSWindow<->WSClientConnection link a bitAndreas Kling
WSWindow now detaches from WSClientConnection when being destroyed. Because of this, we can no longer rely on WSWindow::client() to tell us whether a window is internal to WindowServer or not. So instead we now have WSWindow::is_internal() which checks for client_id == -1. Note that WSWindow now also gets a copy of its client_id when constructed, since we can no longer rely on client() being valid after destruction has started. This allows various automatic mechanisms (e.g what happens in response to window removal) to skip over windows that are being destroyed. Fixes #387.
2020-01-25WindowServer: Tear down WSClientConnection asynchronouslyAndreas Kling
If something goes wrong when trying to message a windowing client, we now tear it down *on next event loop* instead of immediately. This avoids having to deal with disconnected windows suddenly disappearing from window lists while looping over them.
2020-01-25LibIPC: Short-cirtcuit post_message() if socket already disconnectedAndreas Kling
To allow for more asynchronous teardown of IClientConnection, make the post_message() function simply return if called after the IPC socket has been closed.
2020-01-25Kernel: Clear ESI and EDI on syscall entryAndreas Kling
Since these are not part of the system call convention, we don't care what userspace had in there. Might as well scrub it before entering the kernel. I would scrub EBP too, but that breaks the comfy kernel-thru-userspace stack traces we currently get. It can be done with some effort.
2020-01-25AK: Assert if trying to create a WeakPtr to an object being destroyedAndreas Kling
Trying to make_weak_ptr() on something that has begun destruction is very unlikely to be what you want. Let's assert if that scenario comes up so we can catch it immediately.
2020-01-25Meta: Remove some copyright headers added in errorAndreas Kling
2020-01-25Meta: Fix typo + suggest value of export variable.Emanuel Sprung
The variable is not set anymore by the UseIt.sh script, so if a user doesn't have it set in the .bashrc or .zshrc file already, it's not working properly.
2020-01-25Toolchain: Fix python build script.Emanuel Sprung
This fixes #995
2020-01-25Toolchain: Fix qemu build script.Emanuel Sprung
2020-01-25Ports: Add bc portBrian Callahan
2020-01-24Meta: Claim copyright for files created by meSergey Bugaev
This changes copyright holder to myself for the source code files that I've created or have (almost) completely rewritten. Not included are the files that were significantly changed by others even though it was me who originally created them (think HtmlView), or the many other files I've contributed code to.
2020-01-24Ports: Add GNU sed 4.2.1 (#1127)Dan MacDonald
4.2.1 was the last version not to depend upon Gnulib.
2020-01-24Ports: Add byacc portBrian Callahan
2020-01-24Ports: Add flex and pcre2 portsBrian Callahan
2020-01-24AK: Use swap-based assignment in OwnPtrAndreas Kling
Also provide a specialized swap(OwnPtr, OwnPtr) that allows swapping an OwnPtr with itself.
2020-01-23TextEditor: Focus the editor after opening a new fileAndreas Kling
2020-01-23GTextEditor: Create the "go to line" action eagerlyAndreas Kling
Previously it was created the first time you requested a context menu for the GTextEditor by right-clicking in it. That meant it wasn't possible to use Ctrl+L to "go to line" before you had first right-clicked the editor.
2020-01-23GTextEditor: Move "Go to line" feature from HackStudio into GTextEditorAndreas Kling
This is a handy feature for any multi-line GTextEditor, so let's just have it in the base widget. :^) Fixes #1122.
2020-01-23TextEditor: Various UI text tweaksAndreas Kling
2020-01-23GTextEditor: Make color of non-highlighted line numbers darkerAndreas Kling
Fixes #1123.
2020-01-23GTextEditor: Disable auto-indentation while pastingAndreas Kling
Fixes #1121.
2020-01-23LibGUI: Give GTextDocument access to the GTextEditor during commandsAndreas Kling
It's useful for the GTextDocument to have access to the initiating GTextEditor widget during the initial execution of a command. Since commands are executed via calls to GUndoCommand::redo(), we do this by wrapping the invocation of redo() in a new helper called GTextDocumentUndoCommand::execute_from(GTextDocument::Client). This is then used to fetch the current auto-indentation feature state and the soft tab width, both used by text insertion.
2020-01-23Kernel: Allow Socket subclasses to fail constructionAndreas Kling
For example, socket(AF_INET) should only succeed for valid SOCK_TYPEs.
2020-01-23LibCore: Remove redundant check in CObject::dispatch_event()Andreas Kling
2020-01-23Ports: Add mawk port (#1117)Brian Callahan
2020-01-23AK: Let's call decrementing reference counts "unref" instead of "deref"Andreas Kling
It always bothered me that we're using the overloaded "dereference" term for this. Let's call it "unreference" instead. :^)
2020-01-23LibC: The pwd and grp related functions need to preserve empty fieldsoAndreas Kling
Now that String::split() defaults to keep_empty=false, we need to make sure the pwd and grp functions in LibC keep the empty ones. This fixes "id" moaning about invalid lines in /etc/group.
2020-01-23Base: Note in pledge(2) man page which promises are extensionsAndreas Kling
Also add a little "History" section noting that pledge() is an original OpenBSD invention and that our implementation differs in many ways.
2020-01-23Build: Fix silly mistake in makeall.shAndreas Kling
2020-01-23rpcdump: Use pledge() and unveil()Brian Gianforcaro
2020-01-23lspci: Use pledge() and unveil()Brian Gianforcaro
2020-01-22AK: Unbreak FileSystemPath after String::split() changesAndreas Kling
FileSystemPath(".") should not have a title(). This was caught by the unit test for FileSystemPath, yay! :^)
2020-01-22Revert "Kernel: Replace IRQHandler with the new InterruptHandler class"Andreas Kling
This reverts commit 6c72736b26a81a8f03d8dd47989bfffe26bb1c95. I am unable to boot on my home machine with this change in the tree.
2020-01-22Build: use absolute path for /sbin/mke2fsOliver Kraitschy
Distros like Debian and Ubuntu don't have /sbin in PATH, thus mke2fs is not found.