Commit Briefs
work around missing LOGIN_NAME_MAX
Both Linux and OpenBSD have LOGIN_NAME_MAX available when including limits.h, FreeBSD, Darwin and possibly others don't. FreeBSD (and maybe Darwin) have MAXLOGNAME, so try to use that if available. Otherwise use _POSIX_LOGIN_NAME_MAX, but only has a fallback since it has a lower value (9 at the time of writing). If everything fails, use 32 which is what OpenBSD use by default; OpenSMTPd also defaults to it. See also github issue #1
ftp: issue slightly smaller requests to please u9fs
u9fs like to return "i/o count too large" on reads/writes that exceeds msize - 24. seems arbiratry, as in theory we should be able to issue a Tread/Twrite for msize - (HEADERSIZE + 4) = msize - 13. Don't know where the other eleven bits come from. To conclude the rant: even if a client issues a Tread/write too large, why don't just return a value smaller than requested? It's explicitly documented in the plan9 manpage for Tread.
tag 0.2 (tags/0.2)
* fix twstat handling of mode bits * rejects incoming connections with a ridiculously small msize * allow "jumbo" (i.e. more than 16K) Twrite and Treads * allow Tread to read exactly msize bytes * kamiftp: fix reads wrt msize * kamiftp: do maximum reads and writes