|
|
Comrades, the staging branch is out of control and we need to merge it to master. Let's lower the bar a bit and finish up some things later, but let's keep a quality of not introduce regressions in the process. Come talk to sortie in the `#sortix` IRC channel if you want to help out. :)
|
|
|
|
|
|
## Enable undefined behavior sanitization by default.
|
|
|
|
|
|
* **No merge**: This commit must not be merged to master.
|
|
|
* The ubsan interface might not be stable between the GCC 5.2.0 Sortix uses and a new GCC, and Sortix GCC is supposed to be able to build the latest stable release, but ubsan by default might prevent that.
|
|
|
|
|
|
## Enable stack smash protection by default.
|
|
|
|
|
|
* **Maybe merge**: Like with ubsan, but the stack smash protection ABI should be stable, so should be safe enough to enable by default.
|
|
|
|
|
|
## Add daemon support to init(8).
|
|
|
|
|
|
* Code review needed.
|
|
|
* The new init(8) needs better error handling and cleaning up.
|
|
|
* The documentation for init(5) and init(8) needs to be finished and the daemon model explained.
|
|
|
* Some documented features might not be implemented yet.
|
|
|
* Maybe later: Lots of TODOs in the code.
|
|
|
* Maybe later: The daemon logs are rotated but the sending-logs-to-a-process feature is missing so logs won't be lost.
|
|
|
* Mayer later: init(8) needs its own log.
|
|
|
* Later: Environment variable support in init(5).
|
|
|
* Later: init(8) should have a protocol where it can be asked to poweroff/reboot and start/stop daemons.
|
|
|
* Later: Although autorestarting daemons isn't great for security, Sortix needs the reliability.
|
|
|
|
|
|
## Add networking stack.
|
|
|
|
|
|
* **Depends on**: Add daemon support to init(8).
|
|
|
* Code review needed.
|
|
|
* ping(4) has paniced the kernel on occasions.
|
|
|
* ssh sessions disconnect if more than 1024 bytes or so gets pasted, might be a tcp(4) bug.
|
|
|
* Maybe later: tcp(4) is full of TODOs and needs to be confirmed to implement the RFCs correctly.
|
|
|
* Later: udp(4) os-test isn't completely finished and perfect.
|
|
|
* Later: tcp(4) needs os-test'ing to make sure it behaves properly.
|
|
|
* Later: IP fragments, IP options, proper ICMP.
|
|
|
* Out of scope: IPv6.
|
|
|
|
|
|
## Add em(4) driver.
|
|
|
## Add if_nameindex(3).
|
|
|
## Add getifaddrs(3) and freeifaddrs(3).
|
|
|
## Add getdnsconfig(2) and setdnsconfig(2).
|
|
|
## Add domain name system support to getaddrinfo(3).
|
|
|
## Add dhclient(8).
|
|
|
## Add ifconfig(8).
|
|
|
## Add ping(8).
|
|
|
## Add host(1).
|
|
|
## Add getaddrinfo(1).
|
|
|
## Add nc(1).
|
|
|
## Add irc(1).
|
|
|
## Add libcurl, libssl, and wget to the basic ports set.
|
|
|
## Add sshd(8) support.
|
|
|
## Add httpd(8) support.
|
|
|
## Add ntpd(8) support.
|
|
|
## Networking debug code.
|
|
|
## Refactor sort(1).
|
|
|
## Add -k option to sort(1).
|
|
|
## Add -n option to sort(1).
|
|
|
## Implement threading primitives that truly sleep.
|
|
|
## The Master Boot Record counts numbers of 512 bytes rather than sectors.
|
|
|
## Add ATAPI support to ata(4).
|
|
|
## Add sh(1) exec builtin.
|
|
|
## Implement file descriptor passing.
|
|
|
## extfs prediction.
|
|
|
## Debug system calls exiting without interrupts enabled.
|
|
|
## Add pty(1).
|
|
|
## Add display server.
|
|
|
## Add tix-upgrade(8).
|
|
|
## Volatile release.
|
|
|
## Add automatic installer and upgrader.
|
|
|
## Add tix-check(8).
|
|
|
## Store kernel and initrds in the release directory.
|
|
|
## Add manual pages to the release.
|
|
|
## Add sha256sum to release directory.
|
|
|
## Store binary package repository in the release directory. |
|
|
\ No newline at end of file |