Commit Briefs

Russ Cox

all: update for new MIT license

On March 23, 2021, Nokia transferred the copyrights in the Plan 9 software to the Plan 9 Foundation, which relicensed them under the MIT license. This commit updates the Plan 9 from User Space license to reflect the new base license. The vast majority of the contributions beyond the base Plan 9 set were by me, many of them explicitly under an MIT license. Those are all under the new MIT license now as well. The port of mk to Unix was taken from Inferno via Vita Nuova and had been made available under GPL, but Vita Nuova has relicensed Inferno under the MIT license as well, to match the new Plan 9 license. Michael Teichgraber contributed src/lib9/zoneinfo.c explicitly under the Lucent Public License but has agreed to change the contribution to the MIT license now used in the rest of the distribution. There remain a few exceptions, most notably fonts. See the root LICENSE file for full details. The only mention of the Lucent Public License in the whole tree now is in the LICENSE file, explaining the history.


Russ Cox

mk: fix for Unix build


Russ Cox

acme: fix double-free in acmeerrorproc

The receiver of cerr takes ownership of s.



Dan Cross

9pfuse: support MacFUSE >=4

MacFUSE 4 removes support for passing device fd to the mount command. Adds support for the receiving the fd over a socket instead, and updates command paths and filesystem name.


Dan Cross

9p: parse lines in rdwr command

Use bio(3) to read at most one line of input per iteration, even if there is more than one line available in the input buffer. This makes it easier to interact with line-oriented ctl files like that of factotum(4) from shell scripts, without the need to control when and how much data is flushed to a pipe.


Dan Cross

man9: rename IM to MR

Commit d32deab17bfffa5bffc5fab3e6577558e40888c5 renamed IM to MR but these man pages were missed.


Dan Cross

htmlroff: fix array bounds



Dan Cross

xd: fix swizz8 loop counting


Dan Cross

libhtml: fix array bounds in lex


Russ Cox

libthread: call setpgrp in programs that will background

This fixes the 'run stats from rc; exit rc; stats dies' problem. It's unclear whether this is the right fix or whether rc should be starting all its interactive commands in their own process groups. But at least it does fix stats dying.


Russ Cox

sam: avoid out-of-bounds read in rterm

Usually r->nused < r->nalloc and the read is in bounds. But it could in theory be right on the line and reading past the end of the allocation. Make it safe but preserve as much of the old semantics as possible. This use of rterm appears to be only for optimization purposes so the result does not matter for correctness.


Russ Cox

sam: remove backward ?:

The exit code here is ignored anyway.


Russ Cox

rc: do not exit on EINTR from read

This happens if lldb attaches to rc.