From 893db0ed56e0a4f98223fe045bd1690b06edea4c Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Sun, 23 Nov 2014 19:24:49 +0100 Subject: [PATCH hurd 19/29] trans/fakeroot: make the demuxer payload-aware * trans/fakeroot.c (netfs_demuxer): Make the demuxer payload-aware. --- trans/fakeroot.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/trans/fakeroot.c b/trans/fakeroot.c index df2de64..db8e71c 100644 --- a/trans/fakeroot.c +++ b/trans/fakeroot.c @@ -964,9 +964,16 @@ netfs_demuxer (mach_msg_header_t *inp, { /* We didn't recognize the message ID, so pass the message through unchanged to the underlying file. */ - struct protid *cred = ports_lookup_port (netfs_port_bucket, - inp->msgh_local_port, - netfs_protid_class); + struct protid *cred; + if (MACH_MSGH_BITS_LOCAL (inp->msgh_bits) == + MACH_MSG_TYPE_PROTECTED_PAYLOAD) + cred = ports_lookup_payload (netfs_port_bucket, + inp->msgh_protected_payload, + netfs_protid_class); + else + cred = ports_lookup_port (netfs_port_bucket, + inp->msgh_local_port, + netfs_protid_class); if (cred == 0) /* This must be an unknown message on our fsys control port. */ return 0; -- 2.1.3