> fakeauth works with spawni.c from the glibc 2.3 (HEAD) branch. Roland, any > plans to put this into the 2.2 branch?
Definitely not. I don't think you should use it for the debian version either. That code is too young. What we can do is make fakeauth use the underlying hurdish stuff directly instead of either fork or spawn. > Then there is a problem in that many RPCs are not passed through. So > pipes to the fakeroot world don't work, for example, and bash complains > about that. So we need a message deflector for all unrecognised RPCs in > the demuxer. Can we also deflect all RPCs that currently return > EOPNOTSUPP? Or do we need to provide individual pass through functions > for all functions in a subsystem we can not deflect entirely? The way mig demuxing works, you have to choose at the subsystem granularity (unless you want to do ugly kludges). So we need individual pass-through server functions for all the stubs in netfs. I added a netfs_demuxer function in fakeroot.c that does the basic forwarding of unrecognized messages. Modulo simple bugs, I think that will work for the socket servers. It's questionable for the general case, because it always uses just the one port on the underlying node and sends messages from all peropens there. If there are other-protocol messages that diddle peropen state, then the behavior from this will be pretty bizarre in the face of multiple fakeroot peropens with different users. An approach that would make more sense for that would be to have a different underlying node port for each peropen. e.g., new_node could do a NORDWR lookup and then each new peropen could do a dir_lookup ("",...) with its appropriate openmodes to get a new corresponding peropen. But that would require adding some space to netfs's struct peropen, and it just generally doesn't fit the existing netfs model so well. We can probably punt that issue if we are only thinking about the socket servers and the /dev devices. > settrans --chroot works fine. Glad to hear it. > The difference is that with fakeroot, you end up in the directory /, > whereas the fakeroot utility in GNU/Linux does not change your current > directory. I made the --chroot option work like the chroot command does, which is to say chdir ("/") after the chroot. I think the thing to do is just handle it in the subprocess. i.e., run sh -c "cd `pwd`; ...". _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd