bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fakeroot status


From: Marcus Brinkmann
Subject: Re: fakeroot status
Date: Mon, 13 May 2002 00:54:04 +0200
User-agent: Mutt/1.3.28i

On Sun, May 12, 2002 at 05:14:17PM -0400, Roland McGrath wrote:
> > Cool, I started implementing it when I noticed that it isn't too easy to
> > construct the mach_msg call from the inp.
> 
> Sure it is.  

Well, I will reserve my final judgement for the time when everything works
as it should :)
 
> > Likewise, I think that the msgh_local_port should be unchanged, so the
> > other server sends the reply directly to the user.
> 
> Nope.  The fields are swapped on the way through the kernel, so you have to
> swap them back.  See rpctrace.

Cruel.  So the code in libpager/demux.c is actually wrong in using the
remote part rather than the local port, I take it?
 
> > I have to think more about the problems that this doesn't solve.
> 
> Do you mean the issue of peropen state that I mentioned, or something else?

Yeah, that one.

Ok, here is an update:

* in a fakeroot, running suid/sgid binaries doesn't work, it fails with
  Operation not permitted.  It seems that auth_makeauth fails:

  83->20000 (  82 0 "ids" "PWD=/" { 80  89  35} { 30  54  38  99  91 (null)}
{18 0 0 0 0} pn{135 127 129  92 134 120 119  90  12  75   0  89  91  92}
pn{117})  67->21013 () = 0 {23 3 0 16297 1019142589 0 35309 1 0 0 6372
1021229047 0 1019142272 0 1019142514 0 8192 16 0 0 135676248 377 135356968
135356968 135356968 361 135357320 135357320 135356968 345 135357304}
  38->25000 () = 0 1000 {1000 1000} 1000 {1000 1000}
  38->25001 (   9 0 {1000 0 1000} 1000 {1000 1000}) = 0x40000001 (Operation
not permitted)

  I am not sure what happens here, but it seems to indicate that the way
  programs are executed in a fakeroot is more like if the program comes from
  fakeroot itself rather than the underlying filesystem.

* Creating pipe fails also with Operation not permitted, and I have no clue
  yet why. /servers/socket/1 is correctly looked up (with flags being 0, by
  the way), and then I don't think the pflocal server is even involved in
  the matter.  I will have to do more debugging here.

Thanks,
Marcus


-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org brinkmd@debian.org
Marcus Brinkmann              GNU    http://www.gnu.org    marcus@gnu.org
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de



reply via email to

[Prev in Thread] Current Thread [Next in Thread]