Commit Graph

2759 Commits

Author SHA1 Message Date
Juhani Krekelä eeea3bdcc6 Update to links-2.29. 2023-04-06 20:35:31 +03:00
Jonas 'Sortie' Termansen af92d5cae8 Fix strftime(3) %I off by one. 2023-04-04 20:44:38 +02:00
dzwdz d3aee98c1a Allow overriding the login session, refactor special users. 2023-04-04 21:00:00 +03:00
Jonas 'Sortie' Termansen 2799f04cad Add date(1) -drs options. 2023-03-27 00:06:33 +02:00
Jonas 'Sortie' Termansen e9e57dc9af Add ntpd port. 2023-03-27 00:06:33 +02:00
Jonas 'Sortie' Termansen 9033153c47 Add sub_leap_seconds(3) and add_leap_seconds(3).
Advertise leap seconds being counted via CLOCK_REALTIME_HAS_LEAP_SECONDS.
2023-03-27 00:06:33 +02:00
Jonas 'Sortie' Termansen 97c57ca604 Add strptime(3). 2023-03-22 00:16:15 +01:00
Jonas 'Sortie' Termansen 4ac7072f2a Add AI_ADDRCONFIG to getaddrinfo(3). 2023-03-19 21:56:54 +01:00
Jonas 'Sortie' Termansen c57ff050e9 Add include and comment support to passwd(5) and group(5). 2023-03-19 21:53:21 +01:00
Jonas 'Sortie' Termansen da86ca1873 Fix typo in ssh instructions in installation(7). 2023-03-19 11:08:01 +01:00
Jonas 'Sortie' Termansen e9877d8080 Fix fmemopen(3) fseeko(3) overflow detection. 2023-03-19 11:08:01 +01:00
Jonas 'Sortie' Termansen 03ee6d4d89 Update to libressl-3.7.1. 2023-03-16 11:11:33 +01:00
Jonas 'Sortie' Termansen 98c92bcdcc Update to openssh-9.3p1. 2023-03-16 10:49:47 +01:00
Jonas 'Sortie' Termansen 47e1cc439a Add glob(3).
Switch sh(1) to use glob(3).

Remove compatibility for no glob(3) from the ports.
2023-03-16 00:20:43 +01:00
Jonas 'Sortie' Termansen 4e0ed30861 Fix native cross issue in xz. 2023-03-11 14:55:40 +01:00
Jonas 'Sortie' Termansen 8a4548db7d Add memory statistics to struct psctl_stat.
This is an incompatible ABI change.
2023-03-09 20:27:18 +01:00
Jonas 'Sortie' Termansen 2cd7361294 Add memusage(2).
Switch xz to memusage(2) and fix native self-cross issue.

This is a compatible ABI change.
2023-03-09 20:27:17 +01:00
Jonas 'Sortie' Termansen 7963da689d Fix internal types in fgetpwent_r and fgetgrent_r. 2023-03-06 20:18:33 +01:00
Jonas 'Sortie' Termansen 2a07e23695 Fix smoketest using non-existent --disable-gui option. 2023-03-06 19:38:07 +01:00
Jonas 'Sortie' Termansen 4d8cf6514e Color the default root shell prompt red and gold. 2023-02-26 21:59:44 +01:00
Jonas 'Sortie' Termansen 426ee920fb Update to e2fsprogs-1.46.5. 2023-02-26 21:59:44 +01:00
Jonas 'Sortie' Termansen b126a8c03d Update to sortix-binutils-1.1-rc3. 2023-02-26 21:59:43 +01:00
Juhani Krekelä 6f43cc3806 Add links port. 2023-02-26 21:15:18 +01:00
Jonas 'Sortie' Termansen 352cd69fec Add smoketest script for quickly testing .iso releases. 2023-02-26 19:18:44 +01:00
Juhani Krekelä f648633de7 Update to libressl-3.7.0. 2023-02-26 16:24:27 +02:00
Jonas 'Sortie' Termansen b9a72bbfbc Add ssh port. 2023-02-26 15:13:19 +01:00
Jonas 'Sortie' Termansen 18cb2651be Support \e[6n for reporting cursor position. 2023-02-26 12:10:58 +01:00
Jonas 'Sortie' Termansen 6b0ddb4615 Add keys to sysinstall and sysupgrade prompts. 2023-02-25 14:03:41 +01:00
Jonas 'Sortie' Termansen bfc852be08 Fix src containing single branch fetchspec. 2023-02-25 13:09:40 +01:00
Jonas 'Sortie' Termansen 4056332747 Fix missing nc.1 file. 2023-02-23 11:08:42 +01:00
Jonas 'Sortie' Termansen b4182c28ce Add libcurl, libssl, and wget to the basic ports set. 2023-02-23 01:25:16 +01:00
Jonas 'Sortie' Termansen f875555e3e Add nc(1). 2023-02-23 01:25:15 +01:00
Jonas 'Sortie' Termansen f884034e21 Add ping(8). 2023-02-23 00:43:11 +01:00
Pedro Falcato be563c165e Fix ptsname_r return value
Per POSIX, it should return 0 on success and errno (!= 0) on error.
2023-02-22 17:25:01 +00:00
Pedro Falcato e2c57ad789 Fix ttyname_r error return values
POSIX specifies ttyname_r should return errno and not do the usual
return errno = error, -1;

Fixes #732
2023-02-21 23:22:11 +00:00
Jonas 'Sortie' Termansen 4379ca962a Add dhclient(8).
Co-authored-by: Juhani Krekelä <juhani@krekelä.fi>
2023-02-21 23:24:06 +01:00
Jonas 'Sortie' Termansen edc4d5ed18 Fix tix-port patch generation in different working directory. 2023-02-17 23:26:05 +01:00
Jonas 'Sortie' Termansen 28cff2f185 Fix listen(2) failing if called twice. 2023-02-17 23:26:05 +01:00
Jonas 'Sortie' Termansen 384218d787 Fix the the. 2023-02-17 23:25:40 +01:00
Jonas 'Sortie' Termansen c839ad3ea3 Fix TEST-NET-3 documentation. 2023-02-17 23:22:21 +01:00
Jonas 'Sortie' Termansen 2edaf130fa Add ifconfig(8).
Co-authored-by: Juhani Krekelä <juhani@krekelä.fi>
2023-01-11 00:42:20 +01:00
Jonas 'Sortie' Termansen 3da0728fd5 Add network interface support to init(8). 2023-01-10 23:31:50 +01:00
Jonas 'Sortie' Termansen 08ddcc89b8 Add domain name system support to getaddrinfo(3). 2023-01-10 23:19:17 +01:00
Jonas 'Sortie' Termansen 580b71ae89 Add getifaddrs(3) and freeifaddrs(3). 2023-01-10 22:31:48 +01:00
Jonas 'Sortie' Termansen f291054465 Add em(4) driver.
Co-authored-by: Meisaka Yukara <Meisaka.Yukara@gmail.com>
2023-01-09 23:58:19 +01:00
Jonas 'Sortie' Termansen cbf0c1dc97 Fix endian swapping classes reading volatile values twice. 2023-01-09 23:44:40 +01:00
Jonas 'Sortie' Termansen 3997116656 Add if_nameindex(3). 2022-12-16 23:44:50 +01:00
Jonas 'Sortie' Termansen 2ef6804ead Add networking stack.
This change adds all the kernel parts of a network stack. The network stack
is partial but implements many of the important parts.

Add if(4) network interface abstraction. Network interfaces are registered
in a global list that can be iterated and each assigned an unique integer
identifier.

Add reference counted packets with a cache that recycles recent packets.

Add support for lo(4) loopback and ether(4) ethernet network interfaces.
The /dev/lo0 loopback device is created automatically on boot.

Add arp(4) address resolution protocol driver for translation of inet(4)
network layer addresses into ether(4) link layer addresses. arp(4) entries
are cached and evicted from the cache when needed or when the entry has not
been used for a while. The cache is limited to 256 entries for now.

Add ip(4) internet protocol version 4 support. IP fragmentation and options
are not implemented yet.

Add tcp(4) transmission control protocol sockets for a reliable transport
layer protocol that provides a reliable byte stream connection between two
hosts. The implementation is incomplete and does not yet implement out of
band data, options, and high performance extensions.

Add udp(4) user datagram protocol sockets for a connectionless transport
layer that provides best-effort delivery of datagrams.

Add ping(4) sockets for a best-effort delivery of echo datagrams.

Change type of sa_family_t from unsigned short to uint16_t.

Add --disable-network-drivers to the kernel(7) options and expose it with a
bootloader menu. tix-iso-bootconfig can set this option by default.

Import CRC32 code from libz for the Ethernet checksum.

This is a compatible ABI change that adds features to socket(2) (AF_INET,
IPPROTO_TCP, IPPROTO_UDP, IPPROTO_PING), the ioctls for if(4), socket
options, and the lo0 loopback interface.

This commit is based on work by Meisaka Yukara contributed as the commit
bbf7f1e8a5238a2bd1fe8eb1d2cc5c9c2421e2c4. Almost no lines of this work
remains in this final commit as it has been rewritten or refactored away
over the years, see the individual file headers for which files contain
remnants of this work.

Co-authored-by: Meisaka Yukara <Meisaka.Yukara@gmail.com>
2022-12-11 13:40:34 +01:00
Jonas 'Sortie' Termansen 3154492dcf Fix deadlocks and lost wakeups in threading primitives.
The futex and kutex implementations used the same linked list for waiting,
however the futex implementation used kutexs and the same thread could be in
the same list twice in the case of contention. This case corrupted the wait
lists and led to deadlocks and lost wakeups. This change fixes the problem
by having separate data structures for futexes and kutexes.

Mutexes contended by multiple threads could lead to lost wakeups since only
one contended thread was awoken and subsequent unlocks are unaware of the
unawakened contended threads. This change fixes the problem with a temporary
solution of waking all the contended threads until a better design is
implemented.

Additional details are tweaked to be more reliable and simpler.
2022-12-10 21:29:23 +01:00
Jonas 'Sortie' Termansen 006145d335 Add EHOSTDOWN. 2022-12-04 23:18:17 +01:00