On Thu, 4 Jun 2009 17:23:08 -0700
Russ Cox <[email protected]> wrote:

> On Thu, Jun 4, 2009 at 4:58 PM, Ethan Grammatikidis <[email protected]> 
> wrote:
> > I run a plan 9 cpu server in Qemu and use drawterm to connect from the 
> > Linux host.
> > I thought the /mnt/term mechanism would be very convenient for exchanging 
> > files
> > between host & guest, but the guest sees all user/group names as
> > unknown/unknown, preventing writing.
> 
> That's surprising.  Drawterm isn't going around enforcing
> permission bits: if it can write, it writes.  What it shows
> you in ls is what it gets from stat, but it doesn't rely on
> that to make decisions about what you can open.  It just
> tries to open it.
> 
> http://cvs.pdos.csail.mit.edu/cvs/drawterm/kern/devfs-posix.c?rev=1.5;content-type=text%2Fplain

Looks like a prime candidate for modification. ;) The code unconditionally sets 
d.uid = "unknown" immediately after stat(path, &stbuf) calls. stbuf.st_uid 
could be compared with the un*x UID drawterm is running as, & if matching d.uid 
is filled with the logged-in plan 9 username instead of "unknown". Similar for 
stbuf.st_gid and g.gid. 

I could write a patch when I'm more awake. Rather a lot to look up when I'm 
falling asleep. :)

-- 
Ethan Grammatikidis
The lyf so short, the craft so long to lerne. -- Chaucer

Reply via email to