Justus Winter, le Thu 27 Nov 2014 14:19:01 +0100, a écrit : > * trans/fakeroot.c (netfs_demuxer): Make the demuxer payload-aware.
Ack. > --- > trans/fakeroot.c | 17 +++++++++++++---- > 1 file changed, 13 insertions(+), 4 deletions(-) > > diff --git a/trans/fakeroot.c b/trans/fakeroot.c > index df2de64..12173bd 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; > @@ -974,7 +981,9 @@ netfs_demuxer (mach_msg_header_t *inp, > { > error_t err; > assert (MACH_MSGH_BITS_LOCAL (inp->msgh_bits) > - == MACH_MSG_TYPE_MOVE_SEND); > + == MACH_MSG_TYPE_MOVE_SEND > + || MACH_MSGH_BITS_LOCAL (inp->msgh_bits) > + == MACH_MSG_TYPE_PROTECTED_PAYLOAD); > inp->msgh_bits = (inp->msgh_bits & MACH_MSGH_BITS_COMPLEX) > | MACH_MSGH_BITS (MACH_MSG_TYPE_COPY_SEND, > MACH_MSGH_BITS_REMOTE (inp->msgh_bits)); > -- > 2.1.3 > -- Samuel <B> l'alim je sais où elle est, elle est juste à côté de la dame qui dort <g> B: clairement faut revoir les priorités dans la vie <g> B: une dame ça se retrouve, un uptime...