droyo / styx

Go library for the 9P filesystem protocol
MIT License
64 stars 18 forks source link

Cannot parse `Rstat` with a name of `/` #37

Open kyrias opened 4 months ago

kyrias commented 4 months ago

As per the stat(5) Plan 9 man page stat.name must be / if the file Tstat is invoked with is the root of the file tree, but trying to parse such an Rstat message with styxproto leads to the following panic:

    styxproto_test.go:92: bad message: slash in path element

I discovered this because I've been using styxproto to validate my own 9P implementation. I haven't investigated the actual implementation of styx or jsonfs so I'm not sure what exactly causes it, but dumping the traffic when mounting a jsonfs exported file tree I see that the root directory has a name of . which is invalid as per stat(5).