Giter Site home page Giter Site logo

go9p's Introduction

This is go9p done in a way that I can understand.

To install: export GOPATH=~rminnich/go go get -a github.com/rminnich/go9p go get -a github.com/rminnich/go9p/ufs go install -a github.com/rminnich/go9p/ufs

~/go/bin/ufs

go9p's People

Contributors

aki5 avatar rminnich avatar rminnichcodeu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

go9p's Issues

Summary of implemented fs

Could you add a little summary of what the different implemented filesystems are? I can't really tell just by browsing what ufs is for example.

Mount (without auth) requires nuname

I'm not sure if this is a bug. But the behavior surprised me, and it means I can't use srv_fcall.go with the 9p that comes with Plan 9 from Userspace.

I'm working on a file system that enforces file access permissions for virtual users. The users are defined in the file /adm/users, and don't need to authenticate just be authorized (https://github.com/mbucc/vufs/blob/master/vusers.go).

When 9p tries to mount with authentication (9p -n -a localhost:5640 ls), it sends a zero for nuname:

Tattach tag 0 fid 0 afid 4294967295 uname 'mark' nuname 0 aname ''

Since nuname != NOUID, srv_fcall.attach checks Uid2User, which fails, as the 0 doesn't match my virtual user's uid defined in adm/users. (I suspect 9p will always send a 0 for nuname in this case.)

Would you be interested in a patch that modifies the user lookup logic to check Uname2User before Uid2User for non-dotu situation?

Does not work with golang.org/x/websocket

I've been trying to get go9p up and running over a websocket connection for some time and have had no luck. I can't get the Ufs server to run over websockets. I'm not sure how else it could be set up. I either get a "Connection reset by peer" error, or a EOF error on the client. I have a feeling that this has to with how websockets handles its message frames. The proof of concept server and clnt I set up are in the below gist. Any guidance of how to set it up correctly or where to start tracking down the 'bug' would be great.

https://gist.github.com/cleahcim/c0f43caabc346473f7ea

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.