Commit Briefs
src/cmd/acme: provide info on presense or absence of undo history (#528)
It's sometimes useful to know whether there's been editing activity in a window. This PR adds that information to the ctl file. Change-Id: I21a342ac636dd5c7701b3ed560e3526867329c2c
mk: provide a mechanism to default to `rc`
For cross-compiling plan9 from Unix, provide a way to force `mk` to use `rc` instead of `sh` without setting `MKSHELL` in individual `mkfile`s. If the environment variable `FORCERCFORMK` is set, `mk` will default to using `rc`, not `sh`. Signed-off-by: Dan Cross <cross@gajendra.net>
sam: fix spurious overwrite message
Fixes: % sam -d -. w foo foo: (new file) #0 w foo ?warning: write might change good version of `foo'
lib9p: Fix compile error
commit 385a6d5877258cee0cac6151e6359c9206006b01 removed src/lib9p/_post.c from the code base, but overlooked removing a reference to the _post.o object file from the src/lib9p/mkfile. This results in lib9p failing to compile: * Running on Darwin... * Compiler version: Apple clang version 12.0.5 (clang-1205.0.22.11) * Building mk... * Building everything (be patient)... >>> mk: don't know how to make '/Users/sasha/plan9port_fork/lib/lib9p.a(_post.o)' in /Users/sasha/plan9port_fork/src/lib9p mk: for i in ... : exit status=exit(1) Remove _post.o from the list of dependent object files from src/lib9p/mkfile to have lib9p compile. Fixes: 385a6d587725 ("lib9p: Remove postmountsrv (#505)")
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().