blob: eb5ffff4d3d5346db7f97cc4a68afd7c1cf806bc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
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
|