New 9front release “LOOKS GREAT IN MOTHRA”



direct download

dash 1

dash 1 manual

kernel and drivers

devcap: timeout capabilities after a minute, fix memory leak, paranoia

devcons: remove /dev/reboot “halt” command…

devproc: do unsigned subtraction to get MACHP(0)->ticks - up->times[TReal] delta

devip: simplify ipbwrite() by using retun value of qbwrite()

ip/*: simplify code as packblock() and concatblock() will never error

ip/icmp: only reply to echo request when directed to us and source is unicast

kernel: tsemacquire() use MACHP(0)->ticks for time delta

kernel: make sure procalarm() remaining time doesnt become negative

kernel: use tk2ms() instead of TK2MS macro for process time conversion

kernel: always do unsigned subtractions for m->ticks delta for updatecpu() and rebalance(), handle ticks wrap arround in hzsched()

kernel: fix type for utime/stime in pexit(), fix debug format strings

kernel: make randomread() fault reentrant

kernel: rekey chacha state on each randomread() invocation

kernel: replace various custom random iv buffer filling functions with calls to prng()

kernel: xoroshiro128+ generator for rand()/nrand()

etherzynq: implement promisc mode and multicast filter support

nusb/ether: experimental pomisc mode and multicast support for smsc and asix

nusb/ether: multicast and promisc support for rtl8150 (url)

nusb/ether: promisc and multicast support for admtek pegasus (aue)

nusb/kb: set usage to 0 (undefined) for items exceeding usage list

nusb/lib: fix wrong endpoint id when openep() finds already existing endpoint file

scram: disable GPEs before entering S5. x200s shuts down properly now

pc/archacpi: provide generic #P/acpimem file

aux/acpi: batteries and CPU temp reading so far


ape: bring strtod() in line with plan9’s libc version

ape: fix format clash, %z is for size_t (which is a long currently), not pointer sized

lib9p: limit the number of srv processes kept arround 8

libc: dont use floating point for portable umuldiv(), use 64 bit uvlong

libdraw: avoid dropping queued button change mouse events in emouse()


auth/factotum: bound the number of srv processes to 16, error the 9p rpc when it is over limit

cpu: quote remaining remote command arguments, don’t syslog on missing /mnt/term/dev/cpunote file

gif: just read and decode the first image when -9 or -c flag is specified

ipv6on: get network device from $netdir/ipifc/*/status

iwhois: make -n work, add .org, and a couple minor changes

mothra: avoid flushimage() calls, event() will implicitely flush

mpc: remove unused yylval type

rio: fix onscreen(), improved bandsize()

sam: make current filename available to shell commands in $% (thanks aiju)

scat: hjdicks for amd64

webfs: don’t use cached connections when posting


authsrv(2): update Nvrsafe structure to include aesmachkey

ip(3): spelling, update description of /net/ipifc/*/status format

pc(1): _ handling in numbers was broken at some point; restore documented behaviour

pc(1): add nsa() command

pc(1): add pb (thanks, BurnZeZ); add bit numbering

pc(1): bugfix: allow setting output base to 0 (thanks, deuteron)

pc(1): if the input base is not 10, print the 0d prefix before decimal numbers; this way, all output is always valid input (for the current mode)


fortunes: does that me a dipshit