Commit Briefs
rework walk_path
In particular it's important not to die if the first component can't be walked for any reason!
fix loop for writes
don't write more than fetched. The code wrote up to sizeof(buf), but it may try to write more than the data sent, which is r (<= sizeof(buf)).
CLOEXEC of all opened fds
since we may want to spawn other programs, mark every file descriptor as cloexec. Fortunately, we don't end up opening many of them!
ftp: add `page' command
The `page' command fetches a file and displays it using less(1). To do this, refactor fetch_fid to accept a file descriptor and add a spawn utility function.
fix -hopefully once and for all- the readline stuff
It's incredible how hard is to find an optional dependency that's needed only for some targets. I don't want to use a subdir because kamiftp needs the whole compat stuff as everything else, damn!
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.
restructure project and switch build system
use by default the OpenBSD mk infrastructure to build and test all the kamid components.