Commit Briefs
fail if the received packet is too long
This adds extra checks to every t* function: if the client sent too much data per message, treat is an a protocol violation and terminate the connection. Regress suite still passes, this is just an extra safety check for finding wrong clients implementations. The twrite function was the only one with a check like this.
fix np_read{8,16,32,64} functions
they should return 0 on failure, not -1
kamid: change fid fname size to NAME_MAX
the fname field is just the file name, so NAME_MAX is more appropriate. Committing this separately from the rename change so it's easier to roll back eventually.
kamid: rename field fpath to fname
it's actually just the file name, not a path
add `rename' command
it leverages the recently added wstat support
kamid: add wstat
it's not exactly compliant, as 9p requires the changes to be done atomically, but it's not possible to better targeting a UNIX file system. The 9p manpage regarding wstat isn't clear about the behaviour when changing the name of the file: kamid changes the associated fid to reflect the rename. kamid also allows to rename files to other directories, the fid is updated to the new location even in this case.
ftp: print mtime in ls output
Print the time (HH:MM) of the last edit is within the last 6 months, the year otherwise; match what `ls -lahF' does on OpenBSD, and I think it's cool.