Commit Briefs


Omar Polo

kamiftp: don't walk dot

Since d3e1ab0 kamiftp started to issue Twalks over ".". walk(9p) (from plan9ports) says that The name ``.'' (dot), meaning the current directory, is not used in the protocol. hinting that it shouldn't be used, and thus kamid rejects it. It's also redundant since it's always possible to do a walk to duplicate the directory fid instead of walkig "." which is what kamiftp now does.


Omar Polo

kamiftp: backout 8f7253b29f275cfc3fd6111a54ce1cdd6622d1ee

don't use funopen(3) as it's not portable, found the hard way by cage. libbsd provides a funopen(3) on top of GNU libc' fopencookie, but I'd like to avoid dependencies on functions that are hard to port to other platforms.


Omar Polo

kamiftp: add completions

This adds completions when building with readline. kamiftp now completes command name, special arguments (on/off), local paths (default readline behaviour) and remote paths. This also tells readline how to handle quotes and escape characters.


Omar Polo

kamiftp: implement ‘rm’ command


Omar Polo

kamiftp: implement shell-like word splitting

way more useful than a dumb strsep(" ")



Omar Polo

__dead before the type





Omar Polo

kamiftp: deprecate -c

it's useless as -C already implies it and -C must be use when connecting with TLS. To be definitely removed after 0.3.



Omar Polo

kamiftp: print diognistic messages to stderr

excluding the one from cmd_*


Omar Polo

kamiftp: automatic cd or fetch on the given path

before the given path was used for Tattach. Turns out at least u9fs doesn't seem to use that field for the initial directory (not sure if it should). kamiftp now always issues a Tattach with aname="/" and then does a Twalk on the path: if it names a directory, it becomes the remote working directory like a `cd' was issued, if it names a file it is fetched and kamiftp quits.