9FRONT “RUN FROM ZONE!” RELEASED
http://9front.org/iso/9front-6720.d6cb2bd03583.iso.gz.torrent
http://9front.org/iso/9front-6720.d6cb2bd03583.iso.gz
DASH 1 MANUAL
http://fqa.9front.org/dash1.runfromzone.pdf
COMING SOON: Print edition!
KERNEL AND DRIVERS
9boot: DHCPv6 support for efi
9boot: detect SYSLINUX “memdisk” and pass to kernel via ramdisk0= parameter
bootrc: write fatal error message to fd2
kernel: don’t cap the minimum sleep time to TK2MS(1) for syssleep()
kernel: stop the practice of passing DMDIR to devir() perm argument
pc kernel: get rid of ugly and partially broken cpuid macros
pc, pc64: look for “RSD PTR ” in ACPI reserved memory region from e820 map
pc, pc64: make mapalloc() and mapfree() static in memory.c
pc64: fix fpu bug
pc64: update headers to match pc
pc: fix ugly and partially broken switch() statement
devarch: fix /dev/msr (thanks joe9, aiju)
devaoe: fix dotdot walk in devlinkdir, make perms consistent
devdraw: zero initialize DImage.dscreen pointer (vnc, drawterm)
devenv: make #ec files not show up as world writable
devip: arp: interface address only specifies the interface, not the source address for route lookup
devip: do not icmp reply on multicast destination
devip: don’t pad the tag for routing commands (fixes removing routes with < 4 character tags)
devip: don’t send arp requests from null address
devip: fix flush, copy tag when replacing route entry
devip: fix missing wunlock() for “ipifc not yet bound to device” case, don’t create multicast entry on error
devip: fix multicastarp() when ipconfig assigned the 0 address
devip: fix router adv/sol options validation (options padded to 8 bytes)
devip: fix udp checksum
devip: fix use after free in ipifcremmulti()
devip: make il connect fail quickly when theres no route
devip: reject incompatible multicast/interface ip address pairs for ipifcaddmulti()
devmnt: make sure auth chan is on said conection in mntattach()
devmouse: produce signed msec timestamp in /dev/mouse, accept unsigned on write
devvga: disable cursor on shutdown avoiding graphics glitches on reboot
nusb/ether: fix ethertype filtering
nusbrc: add LG G5 for nusb/ether
sdloop: NEW import sdloop driver (thanks erik)
sdram: NEW experimental ramdisk driver
sdram: NEW properly support multiple ramdisks, so that ramdiskX corresponds to sdZX
wifi: lilu dallas multirate
audiohda: support Intel Sunrise Point-LP on thinkpad X1
etheriwl: add pci did for WifiLink 5300 (thans senthil)
igfx: support blanking by turning off panel power and backlight
rtl8169: fix receive for nuc BOXNUC7CJYH
LIBRARIES
ape: add some common fields for stat, grp and pwd
ape: add strnlen
ape: fix auth.h
ape: floating point improvements (thanks spew)
libttf: NEW add libttf for truetype font rendering
libdraw: accept unsigned msec timestamp in /dev/mouse
libip: ignore ipv6 link local addresses for myipaddr()
libmach: substitute /dev/zero for /proc/$pid/fpregs when missing (for snapfs)
libogg: nuke old libogg.au
libvorbis: fix broken free() (thanks mischief)
mklib: add %.acid target
PROGRAMS
6c, 8c: Fix nocast cast bug which prevents address arithmetic from being computed at compile time
Bfn improvements
acme: add spacesindent mode
acme: pass pointer to int type to avoid pointer to int cast warning
asaudit: make error more explicit
authsrv: implement AuthNTLM
authsrv: log message when no AES key is found for pak
authsrv: separate MSCHAP(v2) and NTLM(v2) authentication
authsrv: work arround linux omiting final Z(4) after the AvrPairs
camv: fix leak on resize
cc: fix result of operation not used warning for void casts
cwfs: cwfs -a option misleading
dc: fix off by one in stack overflow check (thanks BurnZeZ)
dontkill: explicitely set exit status to ‘’
emulators ui: add option for fixed factor scaling and bound scale vertically
emulators ui: don’t call flushmouse twice
emulators ui: don’t drink and code
emulators ui: fix input botch and typo
fplot: draw axes; zoom more naturally; unzoom
games/dmid: NEW add games/dmid and games/opl3
games/dmid: NEW add support for midi streams
games/dmid: NEW better fnumber calculation and fix fine tuning for 2nd voice
games/doom: don’t set repl if scale is 1
games/doom: use wadfs to expose music lumps
games/dpic: NEW add games/dpic and games/todpic
games/gb: attempt at fixing sprite priority
games/gb: fix mbc5 register addressing (fixes warioland3 gamebreaking bug)
games/gba: handle 8bit writes to vram
games/midi: properly skip sysex messages
games/mines: add missing checks for UseGhost
games/mus: fix note volume and channel selection; simplify
games/snes: fix input botch
hjfs: fix unbounded recursion bug in hjfs
hjfs: set group of new files to that of the parent directory (thanks umbraticus)
ip/cifsd: fix ntlmv2 authentication
ip/cifsd: limit response data count in TRANS2 for remotebuffersize, avoid empty filename for the root
ip/dhcp6d: NEW add minimal stateless DHCPv6 server for network boot and DNS configuration
ip/dhcp6d: NEW make constants for message types, check server identifier in request, only recheck ndb every minute
ip/dhcp6d: NEW ignore short and from non-local source packets
ip/dhcp6d: NEW only announce all-dhcp-servers multicast address on interface with link-local address on it
ip/dhcpd: add varargck pragma for warning() and fatal(), do syserr with %r format
ip/dhcpd: handle multiple networks on the same interface, dont get confused by v6 interface address
ip/dhcpd: parseip() error handling, make sure client ip is ipv4, add explicit length arguments to lookupname() and lookupserver()
ip/dhcpd: reject bogus requests, handle multiple ether= attributes in ndb, cleanup
ip/ipconfig: add missing {} as DEBUG() is a macro
ip/ipconfig: add varargck pragma for warning() function
ip/ipconfig: call mklladdr() to get conf.hwa initialized for ipv6
ip/ipconfig: check for recvra 0 on timeout
ip/ipconfig: make ra6 daemon less chatty, log to /sys/log/ipconfig instead of /sys/log/v6routeradv
ip/ipconfig: simplify by combining mklladdr() into mkclientid()
ip/ipconfig: use ipmove() instead of memmove()
ip/tftpd: deal with block wrap arround
kbdfs: handle mouse control (Kmouse, Kshift button swap) in parallel, bring back ^X form handling
kbdfs: ignore first 16 scancodes (number row) in kbtabctl[] for control key reverse mapping
mothra: Persist ‘k’ command in mothra and add matching -k flag (thanks piroko)
ndb/cs: add -6 flag for v6 only lookups and “ipv4” control message to toggle v4 lookups.
ndb/cs: make ipv6 only host practical by checking ip version on local interfaces
ndb/cs: prevent deadlock with ndb/cs by mounting /srv/dns AFTER /net
ndb/cs: don’t do dns lookups when all we got is loopback or link local addresses
ndb/dns: fix delegation with norecursion (-R flag)
ndb/dns: fix encoding of srv record target
ndb/dnsdebug: handle .ip6.arpa names
ndb/dnsgetip: report errors when dns resolution fails
ndb/dnsquery: handle .ip6.arpa names, don’t mount the dns service
play: handle file names containing consecutive spaces
rc: fix Xpipefd unbalancing the redir stack
screenrc: bind ‘#v’ when not already done (for cpu servers)
ssh: add -r for extra raw mode
ssh: fix nil dereference when TERM isnt set and -r is requested
ssh: wait for remote channel close (thanks piroko)
sshfs: if we’re going to annoy everyone we should at least match documentation
stats: fix crash with -Y fag when window too narrow
stats: read cputemp as C, set scale max to 100 C
stats: fix etherstats, avoid vmax == 0
sysinfo: minor formatting fix
tcs: shift-jis: add support for half-width kana
tcs: support EUC-JP JIS X 0212 codes
upas/nedmail: marshal(1) options -n and -8 are mutually exclusive
upas/smtp: allow remote port to be set to something other than smtp (e.g. ssmtp)
upas/smtp: use current login id in absence of -u option (as per man page)
valley: call srand so that actual random phrases are used
vncs: fix mistake “screen” vs “gscreen”, thanks eekee
vncs: silence devdraw debug prints
vncs: support for desktop resize extension, update devdraw
vncv: adjust window size on desktop resize, fix canresize checks
vncv: handle [] enclosed literal ipv6 addresses in host
vncv: implement extended DesktopSize extension, cleanup
vt: implement proper selections (thanks Ori_B)
webfs: don’t handle unknown status codes as continuations, reset status when handling continuation to avoid infinite loop
win: bind the text file properly instead of a special case in "
DOCUMENTATION
avl(2): add avlmin/avlmax in synopsis
dc(1): add pi program as example
getuser(2): add source or sysname()
hgfs(4): fix typo (thanks piroko)
ip(3): document ipifc ipv6 connection and fix delay formatting
mothra(1): fix formatting
ndb(8): ndb/inform also publishes ipv6 address now
plan9.ini(8) iwlwifi essid/bssid misleading
sshfs(4): don’t drink and troff
sshfs(4): language
sshfs(4): replace the much maligned -r option
stats(8): document -z flag (thanks xcko)
ttfrender(1): NEW
wadfs(4): fix typo
OTHER
/sys/lib/dist/ndb/common: synchronize root servers and link to root hints source
fix incorrect character range in vga/unicode.font leading to missing CJK characters
turkey simplified timezone (thanks erkin from 9front ml)
update pci database
fortunes: I’ve been looking into running Plan 9 in JSLinux – Skip Tavakkolian