New 9front release “THINK ABOUT THE FUTURE”
dash 1
notes
This release adds aiju’s games/timmy, a physics simulation game and a bignum calculator for programmers called pc.
On the system side, we got a fast portable /dev/random now which is based on the chacha stream cipher - carefully seeded once at boot time. Cipher states for the rng and other kernel crypto services is now kept in a separate memory pool which devproc will prohibit access to and which automatically destroys the data on free.
kernel
acpi: ADR and BBN might be methods, so use amleval() to evaluate the value
aml: define amlintmask and set it according to DSDT revision (64bit / 32bit)
aml: implement ToInteger() and Match() instructions
devmnt: fix mistake in mntrahread()
devsdp: keep cipher states in secret memory
devssl: allocate cipher states in secret memory
devtls, devssl: make sure channel has ORDWR mode and is not a mount chan on fdtochan()
devtls: allocate cipher states in secret memory
ether8169: fix wrong mbps setting (from qu7uux)
etheriwl: add pcid 0x0082 for Intel Centrino Advanced-N 6205 variant
ip/esp: allocate cipher states in secret memory
ip/il: dont attept to connect over IPv6, IL only supports IPv4 packets
kernel: add secalloc() and secfree() functions for secret memory allocation
kernel: dont pprint() into 9p channels
kernel: more (arm) compiler friendly mul64fract()
kernel: switch to fast portable chacha based seed-once random number generator
swap: make sure swap chan has ORDWR mode on fdtochan()
wifi: allocate cipher states in secret memory, do AESstate key setup once
libraries
ape/libap: add d_stat struct in dirent struct allowing the avoidance of stats
ape/libauth: add PASSWDLEN constant to compile passtokey.c from native libauthsrv (thanks lawler)
libauth: fix mount file-descriptor leak in auth_chuid()
libauthsrv: ANAMELEN -> PASSWDLEN
libauthsrv: export common readcons() routine and introduce PASSWDLEN constant
libc: add poolisoverlap() and definitions for Pool *secrmem
libc: native addv() and subv() routines for arm
libcontrol: primitive text entry cut and paste with mouse
libflate: add bounds checking on decode array, add sanity checks in hufftab()
libframe: consistent use of nil vs. 0
libmach: fix RORREG, right shift with shift count 0 means >>32
libmp: allow passing nil to v,x,y results of mpextendedgcd(), simplify mpinvert()
libmp: fix mpnot and add mpasr
libmp: fix mptov and mptouv
libmp: mpdiv: negative divisor has to flip sign of quotient
libmp: mpnrand(), what was i THINKING
libmp: mptrunc: don’t write to r->p[r->top]
libmp: mptrunc: normalize after mpassign to handle the case b==r
libmp: remove unused mpeuclid.c
libmp: strtomp: fix mpbits() call in octal code
libmp: strtomp: update the returned char* even if there were no characters parsed
libmp: timingsafe sign flip for small power-of-two negative divisor for mpdiv()
libsec: add scrypt password based key derivation function
libsec: chacha: calculate rounds in separate function (helps registerizer), get rid of unrolled code
compiler
5a: ROR instruction 5a: assemble constant >>0 right shifts as <<0 (no shift), allow >>32
5c: do shift propagation for rotate right (ROR)
5c: fix int -> uvlong cast bug (thanks to qwx on his patience on a the trouble session to narrowing it down)
5c: format assembly constant right shift encoding 0 as >>32
5c: handle unused results for cgen64()
5c: support for bit ROR, native 64 bit arithmetic
5l: ROR instruction
5l: format assembly constant right shift encoding 0 as >>32
6c: subsitute floating point registers eleminating MOVSD and MOVSS instructions in peephole pass
8c, 6c: native ROL (cyclic shift) instruction support, improve peephole optimizers
?c: track ../cc/cc.h dependency and rebuild cc.a$O as neccesary
cc: add OROL op to side effect free op list
programs
Bfn: add Bfn script - find source code for function
9fs: remove juke, kfs and snap targets, caching for other and dump
acme/win: implement /dev/wdir file in win to change directory tagline, remove awd
audio/flacdec: exit on decode error, print error message
auth/*: various cleanups, use common readcons() from libauthsrv, zero keys after use
auth/changeuser: fix misleading print (secret is 31 chars max, not 256)
auth/factotum: use common readcons() function from libauthsrv
auth/fgui: use pale colors
auth/login: add dp9ik key to sub factotum, get rid of temporary /srv file
auth/secstore: use common readcons() routine from libauthsrv
awk: fix awk format printing bugs (thanks aiju)
disk/prep: if no 9fat, reserve space for plan9 partition table in autopart (thanks Shamar)
games/doom: fix blazing door sounds (from qu7uux)
games/doom: use Kprint for pause function (from qu7uux)
games/timmy: added timmy - a physics sandbox
hgwebfs: make hgwebfs prompt for password
make error handling in 9p service loops consistent
mercurial: use new d_stat from dirent structure in osutil.listdir
mk: remove buggy and unneeded syminit() function (thanks qurstuv)
mk: remove buggy and useless symtab functions (thanks qrstuv)
ndb/cs: don’t lookup AAAA records for IL, make sure translated address is IPv4 for IL, consistent use of nil vs. 0 for pointers
ndb/dns: purge db records on refresh for resolvers, remove old debug and testing code
ndb/dns: remove procname statistics and restart feature, cleanup 9p service loop
pc: added pc - programmer’s calculator
pc: add cat() function
pc: add gcd, rand and minv; set base of logical operation results to 0
pc: add rev function
python: remove automatic compiled module loading (.pyc files)
ratrace: fix fork/exec race with “nohang” procctl (like a debugger)
rc: implement 9atoms ` split {command} syntax extension
rc: write /dev/wdir after printing the prompt, not after executing “cd” command
rio: move the test if w is allowed to change cursor into wsetcursor()
togif: -E flag to read animation from stdin
upas/fs: remove checkmboxrefs() debugging code, properly handle errors in 9p loop
vga/igfx: add pci did’s for kenjis intel graphics cards.
vga/igfx: fix integer overflow in datam calculation (from qu7uux)
vga/igfx: work in progress fdi link train for sandy bridge, properly calculate fdi and displayport lane count
webfs: avoid retry loops when we got a bad key in factotum
webfs: include factotum key query in error string for 401/407 Unauthorized status
webfs: less aggressive url normalization; never unescape reserved characters in path/query/fragment
documentation
acme(1): remove references to awd
aml(2): document amlintmask
authsrv(6): document session secret key derivation for p9sk1 and dp9ik
mp(2): document mplogic functions
pc(1): document pc - programmer’s calculator
rand(2), cons(3): clarify /dev/random behaviour
rc-httpd(8): fix wrong manpage section index generation for rc-httpd(8)
regexp(2): add history for libregexp
rio(4): document text truncation
src(1): document Bfn
thread(2): threadgrp() -> threadgetgrp(), thanks jpm
timmy(1): games/timmy manpage
other
fortunes: Emacs now supports webkit.
To post a comment you need to login first.