9front “FOR IMMEDIATE RELEASE” Released
http://9front.org/iso/9front-5736.d347c9119bb1.iso.gz.torrent
http://9front.org/iso/9front-5736.d347c9119bb1.iso.gz
PRAISE FOR 9FRONT’S BOLD ACTION
9front “Is Coming Out As A Winner On Many Issues…” – SD Times
rkrishnan, Cisco Systems: “I am extremely sorry to see plan9 die a silent death.” (rkrishnan.org, 10/25/13)
Rod Person, VPN Cryptographer: “Does 9front have an email app and how usable is mothra, I’m guessing not ebay or youtube?” (daemonforums.org, 6/25/15)
Christoph Reiter, German: “Wer verwendet 9Front eigentlich? Die Antwort lautet: fast niemand.” (golem.de, 8/3/16)
seesomesense, Hacker News: “Plan 9 was probably the finest operating system in the world.” (HN, 11/16)
pranomostro, Redditor: “The future of plan9 is pretty bleak imho.” (reddit.com, 1/17)
dash 1 manual
http://fqa.9front.org/dash1.forimmediaterelease.pdf
kernel and drivers
kernel: add “close” ctl message for tcp connection to gracefully hang up a connection without a tcp reset (used by go)
kernel: make the mntcache robust against fileserver like fossil that do not change the qid.vers on wstat
pc/pc64: get rid of timerset(0) case, was used with “i8253set off” ctl
sgi: change definition of tas() to take void* like the rest
sgi: cleanup timer code
sgi: get rid of timerset(0) case
ether82563: support for i219 (tested on t460p, thanks aiju)
etheriwl: add support for Centrino Advanced-N 6030, 6235 (thanks khm, openbsd)
vgaigfx: enable softscreen by default
wifi: timestamps in debug print, flush queue on deassoc, shorter roam timeout, timeout in blocked state, fix essid seprint race
libraries
libmp: avoid temporary buffer allocation in mprand()
libmp: fix mpmod() aliasing bug when n == r and x < 0 (thanks aiju, mischief)
libregexp: simplify regular expression vm implementation
libregexp: improve the transition to next available thread, instruction, and generation
libregexp: fix assert check for compile1 instruction count
libsec: replace des based X9.17 genrandom() with chacha random number generator
libsec: implement extended 192-bit nonce xchacha variant and hchacha function
libsec: avoid temp variables in chacha/salsa ENCRYPT() macro
libsec: have rsagen() always produce postive !dk to avoid confusion
libsec: need PKCS#9 “Extension Request” attribute (rsareq())
libsec: check if modulus is too small for message in pkcs1padbuf()
libsec: fix mkbigint(), asn.1 uses two’s compement signed representation
libsec: handle signed asn.1 bigint to mpint conversion for x509
libsec: revert asn1mpint(), rewrite rsa signature validation, cleanups
libsec: make X509toECpub() return CN name like X509toRSApub()
libsec: zero name buffer in X509toECpub()
compilers and debuggers
6c, 8c: fix “DI botch” evacuating DI/SI/CX registers to “.save” variables
6c: reverse register allocation order to avoid having to spill AX,DX and CX
programs
aan: check negative message size in header
aan: use unsigned message counters, reject repeated acks, cleanup debug prints
aan: remove fcallfmt
audio/flacdec: continue after decode error (thanks deuteron)
auth/factotum: fix memory leak in findkey()
auth/factotum: support sha256 algorithm in rsa pkcs#1 signing
auth/keyfs, auth/secstore, auth/secuser: use ulong for time
aux/data2s: compress output
aux/wpa: dont send initial “start” message, faster polling interval waiting for connection
cfs: fix cfsctl interaction with mount cache (mount -C flag)
cwfs: fix cwcmd startdump
cwfs: handle worm exhaustion more gracefully
fplot: parse negative numbers in argument to -r option (thanks qu7uux)
fplot: fix zoom egetrect check (thanks qu7uux)
games/galaxy: add n-body simulator
games/galaxy: fix crash on write to closed display
games/gb: fix typo in the routine to load timer data (thanks qwx)
games/gb: timer array should be unsigned (thanks qwx)
games/gb: fix bug that prevented timer data from being accessed (thanks qwx)
games/jukefs: fix realloc sizes (thanks mischief)
games/mix: Add Knuth MIX emulator/assembler
games/mix: fix STZ bug, print CMPA instruction
games/mix: implement Knuth’s specification for comments
inst/bootsetup: fix unformated esp check (thanks yellow_apple)
ip/gping: fix corruption due to Machine.last pointer not being maintained in pingclean(), cleanup unused stuff
ip/ipconfig: don’t write /net/ndb when getting config from ndb (-N)
ip/ipconfig: have to refresh /net/cs, /net/dns after ndbconfig even tho /net/ndb didnt got written
keyfs: print error message when reading /adm/keys fails
playlistfs: fix playc chan type (thanks mischief)
rcpu: use $cpu environment variable for host when not specified
rsagen: prefer 65537 as the default exponent when elen == 0, otherwise pick randomly
rx: remove ssh code
samterm: avoid flushimage when theres nothing new to flush
ssh: R.I.P.
documentation
auth(8): document authsrv -N flag
cpu(1), import(4): note deprecation and refer to rcpu(1)
ec(2): document ecencodepub(), ecdecodepub() and ecpubfree() and list all the curve parameter functions
ec(2), rsa(2): document X509toECpub(), X509ecdsaverify(), X509ecdsaverifydigest(), X509rsaverifydigest()
galaxy(1): terminate .EX sections with .EE
rsa(2): document rsafill()
srv(4), &c: remove ssh/sshsrv references
other
cdproto: explicitely create /$objtype/bin subdirectories for all archs
/sys/lib/plumb/basic: fix rule for audio files (thanks deuteron)