Commit Graph

2696 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen fb106181a9 Fix sigsuspend(2) not running signal handlers with the temporary mask. 2021-02-13 22:35:39 +01:00
Jonas 'Sortie' Termansen 50543d3c36 Fix printf(3) handling of negative precision. 2021-02-13 22:33:03 +01:00
Jonas 'Sortie' Termansen aadeef6a7c Fix psctl(2) not setting uid, euid, gid, and egid. 2021-02-11 20:47:49 +01:00
Jonas 'Sortie' Termansen fff849b151 Fix improper uses of ScopedLockSignal. 2021-02-11 20:47:47 +01:00
Jonas 'Sortie' Termansen b2235844da Add TCP_MAXSEG and TCP_NOPUSH definitions. 2021-01-23 00:35:38 +01:00
Jonas 'Sortie' Termansen e695e93146 Fix st_blocks being wrong on ext2. 2021-01-19 23:20:05 +01:00
Jonas 'Sortie' Termansen ba8800df2c Improve error handling in upgrade.conf(5) parsing. 2021-01-19 00:04:59 +01:00
Jonas 'Sortie' Termansen 84b008e455 Clean up minor issues in sysinstall(8). 2021-01-19 00:04:59 +01:00
Jonas 'Sortie' Termansen 69513b4396 Add grub-install boot device detection to sysmerge(8). 2021-01-19 00:04:59 +01:00
Jonas 'Sortie' Termansen cb590ff205 Fix system upgrade leaking files. 2021-01-19 00:04:56 +01:00
Jonas 'Sortie' Termansen 29598b4fde Fix /tix/manifest permissions in installations. 2021-01-17 23:14:54 +01:00
Jonas 'Sortie' Termansen 5f84c38bc8 Fix sysinstall hook markers not being installed and prefix logic.
Document the compatibility hooks behavior while here.
2021-01-17 23:14:52 +01:00
Jonas 'Sortie' Termansen 37b1bf5e75 Fix /tmp permissions in the live environment. 2021-01-17 23:05:16 +01:00
Jonas 'Sortie' Termansen ad8e17a968 Fix sysupgrade(8) buffer overflowing on more than 16 installations. 2021-01-17 23:05:15 +01:00
Jonas 'Sortie' Termansen 516c15d69e Fix sysupgrade(8) cancelation of pending sysmerge(8) upgrades. 2021-01-17 23:03:07 +01:00
Jonas 'Sortie' Termansen 4c089a01d6 Fix sysroot-source git clone not escaping the current directory. 2021-01-02 17:54:38 +01:00
Jonas 'Sortie' Termansen 3a874e7f40 Fix /var/empty permissions. 2021-01-02 17:54:38 +01:00
Jonas 'Sortie' Termansen 4de24d1f96 Fix sysmerge(8) -c short option not working. 2021-01-02 17:54:37 +01:00
Jonas 'Sortie' Termansen 1a1c006982 Fix extra newline in verbose tix-install with a collection. 2020-12-30 16:33:33 +01:00
Jonas 'Sortie' Termansen 006690d51e Fix tix-build host pkg-config with no sysroot. 2020-12-30 16:31:56 +01:00
Jonas 'Sortie' Termansen fa11548c56 Fix pow(3) and powf(3) regression in earlier undefined behavior fix. 2020-12-07 16:44:19 +01:00
Jonas 'Sortie' Termansen 7139de4a53 Add stty(1). 2020-11-25 20:47:19 +01:00
Jonas 'Sortie' Termansen 20d4c09e26 Undefine the eol character in the default terminal settings. 2020-11-22 17:39:55 +01:00
Jonas 'Sortie' Termansen eb70062331 Fix utils/chown not being gitignored. 2020-10-28 12:47:35 +01:00
Jonas 'Sortie' Termansen be02a7996b Fix kramfs not initializing the owner of new directories. 2020-10-18 13:36:28 +02:00
Jonas 'Sortie' Termansen 8337947058 Add chown(1). 2020-10-18 00:31:06 +02:00
Jonas 'Sortie' Termansen 6774df5756 Modernize chmod(1). 2020-10-18 00:31:06 +02:00
Jonas 'Sortie' Termansen 6f7162a0b1 Add checksum(1). 2020-09-27 22:15:20 +02:00
Jonas 'Sortie' Termansen f22d736633 Fix inet_pton(3) parsing 1:: and ::1.2.3.4 cases. 2020-08-01 14:23:44 +02:00
Jonas 'Sortie' Termansen a969564af4 Delete inet_addr(3) and inet_ntoa(3). 2020-07-29 21:38:41 +02:00
Jonas 'Sortie' Termansen 185a9fa221 Support IPv6 shorthand and IPv4-mapped addresses in inet_{pton,ntop}(3). 2020-07-27 23:49:42 +02:00
Jonas 'Sortie' Termansen 8d4b932f0f Add <sha2.h>. 2020-04-13 22:15:04 +02:00
Jonas 'Sortie' Termansen 11ababec90 Add -h option to ln(1). 2020-04-13 15:00:25 +02:00
Jonas 'Sortie' Termansen 90180a614f Fix ln(1) behavior on empty paths and indentation. 2020-04-12 21:08:57 +02:00
Jonas 'Sortie' Termansen ff1a90c331 Rewrite ln(1) to be standards compliant. 2020-04-12 00:04:16 +02:00
Jonas 'Sortie' Termansen d3a2eb8a79 Unify EWOULDBLOCK and EAGAIN. 2020-03-15 23:13:17 +01:00
Jonas 'Sortie' Termansen 245ec6458a Fix poll(2) not just clearing revents on negative fds. 2020-03-15 23:04:28 +01:00
Jonas 'Sortie' Termansen 221fa7d954 Rewrite scanf(3) to be standards compliant.
This change adds missing features:

* %[ for pattern matching with a scanset.
* %m for allocation of strings.
* %p for pointers.
* Field width for integers.

The following features remain unimplemented, like with printf(3):

* Floating point support.
* Wide character support.
* %n$ positional parameters.

The code has been completely refactored to be much more maintainable.

The implemented features should now be standards compliant. A large number
of edge cases have been fixed.

The vscanf_callback(3) function has been renamed to vcbscanf(3) and a new
cbscanf(3) function has been added.
2020-03-07 23:31:05 +01:00
Jonas 'Sortie' Termansen 976d686779 Fix fputc(3) potentially miswriting the next byte after flushing. 2020-03-06 00:08:59 +01:00
Alexandros Alexandrou 48d826bfc5 Fix indentation in editor/display.c. 2019-04-09 15:11:53 +02:00
Jonas 'Sortie' Termansen 20c1f1d0d4 Add signal mask support to ppoll(2). 2018-12-08 22:54:28 +01:00
Jonas 'Sortie' Termansen 9993a1c0fc Add --append-to kernel(7) multiboot module option. 2018-12-08 22:54:28 +01:00
Jonas 'Sortie' Termansen d0ab651fbd Document the options for the kernel(7) multiboot modules. 2018-12-08 22:54:28 +01:00
Jonas 'Sortie' Termansen 494ae2dc09 Recommend rw(1) in installation(7). 2018-12-08 22:38:29 +01:00
Jonas 'Sortie' Termansen b3e9865e53 Handle SOCK_NONBLOCK at the file descriptor level. 2018-12-08 22:34:50 +01:00
Jonas 'Sortie' Termansen bc8093f4ff Fix typos in release-iso-bootconfig(7). 2018-12-08 22:34:49 +01:00
Jonas 'Sortie' Termansen 1f659c49c6 Fix multiboot header not coming first in the executable.
The default linker script places .text.unlikely prior to .text.
2018-12-08 22:34:49 +01:00
Jonas 'Sortie' Termansen d3a64e1163 Fix chmod(2), chown(2), and utimens(2) opening the path for writing.
The change 9d29e96c3b "Fix open(2) allowing
opening directories invalidly and check O_TRUNC errors." broke the chmod(2),
chown(2), and utimens(2) system calls on directories, because they can no
longer be opened for writing.

This changes fixes the regression by opening such paths for reading. There
is currently no filesystem permission checks for those system calls. However,
those system calls should check the permissions at the time of the operation
rather than relying on the file having been opened for writing previously.
2018-09-01 17:24:40 +02:00
Jonas 'Sortie' Termansen 5837421478 Don't unblock SIGABRT in abort(3) before calling raise(SIGABRT).
The language in POSIX mentioning overriding blocking or ignoring SIGABRT
refers to the inevitability of exiting by SIGABRT if SIGABRT isn't caught or
if the handler does return.

This implementation of abort(3) implements the standard by raising SIGABRT,
allowing the signal to be caught; and if the signal is blocked or ignored or
the handler returns, then exit_thread(2) forcefully exits the process as if
by SIGABRT.
2018-09-01 12:56:07 +02:00
Jonas 'Sortie' Termansen 918160450f Use /share/sysinstall/hooks to keep of whether hooks have run. 2018-08-15 22:51:22 +02:00