Commit Briefs





Omar Polo

don't let nwqid become negative

at the start of the loop nwqid is 0, so if the first component can't be opened nwqid becomes -1 and since it's not 0, we end up calling np_walk with -1 as length. This in turns converts it back to uint16_t and we generate an invalid packet. The solution is to not decrement nwqid at all, it fixes all the current tests case and is the correct behaviour that the rest of the code expects.


Omar Polo

Twalk: validate path component

disallow empty path, the dot or components which contains the path separator ('/'). The current implementation transforms these into a "can't open" type of failure, I'm unsure if we want to turn these into hard Rerror.




Omar Polo

make readline optional




Omar Polo

fix kamirepl_SOURCES

spotted by cage, thanks :)



Omar Polo

count test starting from one


Omar Polo

Topen implemented

Implement Topen plus some basic testing. ORCLOSE (remove file when the fid is clunked) is mapped to O_CLOEXEC and tried to be honoured on fid_free. "vanilla" 9P2000 uses reads on directories to list the entries while 9P2000.L (and .U too possibly) introduces an explicit Treaddir. I'm planning to support 9P2000-style read-on-dir but not yet.