Commit Briefs
ninepscript: refactor builtin_recv
builtin_recv receives imsg from the client process (it's invoked as `recv' from the scripts) and its interaction with the other process is delicate. Instead of the current mess, try to do a more idiomatic imsg_read/get loop, with a flag to read more messages.
simplify TAILQ_INSERT dance
when a tailq is proprerly initialized, there's no need to check if it's empty and insert in head position.
simplify client proc bootstrap
Drop the IMSG_AUTH_DIR imsg type and stuff everything in a struct kd_auth_proc that gets sent via IMSG_AUTH. Tweak the necessary bits to compile. While here also start documenting what data we send over which imsg. As an added benefit, now we're sending fixed-size messages instead of variable length strings.
Merge branch 'portable'
Trying to maintain two branches was impossible at this stage for me alone, so I'll recognize my stupidity and merge the portable branch into the main one. The repository will build using autotools.
ninepscript: drop per-test `dir'
specify the dir only once via ninepscript' -r (mandatory) argument.
restructure project and switch build system
use by default the OpenBSD mk infrastructure to build and test all the kamid components.