Commits


.gitignore: Ignore some more things that get created during compile.


9term: Skip unnecessary ioctl call on AIX.


libdraw: Fix GUI programs on AIX (#398)


bin/9c, bin/9l: Re-enable optimization on AIX.


libthread: use setpgid instead of setpgrp


install(1): mention libfontconfig1-dev for Debian Also update install.txt, which mistakenly contained intro(1). Pointed out by Nicholas Schwartz.


fspread: fix buffer overflow Without this fix, fspread is trusting the server to return as much data as requested, or less. If a server responds with more data though, fspread writes beyond the bounds of the buffer to fill, which is passed in by the caller. It depends on the caller of fspread() where that buffer is, so there are various possible attack vectors. In the Plan9 kernel, I found this implemented in devmnt.c, where overly large responses are truncated to the size requested before copying, so I assume that this strategy works here too. This also affects fsread() and fsreadn(), which are based on fspread().


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.


mk: fix for Unix build


acme: fix double-free in acmeerrorproc The receiver of cerr takes ownership of s.


mount: find kext with MacFUSE >=4 and macOS >=11


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.


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.


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


htmlroff: fix array bounds