diff options
Diffstat (limited to 'debian/patches/0014-pfinet-make-the-demuxers-payload-aware.patch')
-rw-r--r-- | debian/patches/0014-pfinet-make-the-demuxers-payload-aware.patch | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/debian/patches/0014-pfinet-make-the-demuxers-payload-aware.patch b/debian/patches/0014-pfinet-make-the-demuxers-payload-aware.patch deleted file mode 100644 index 2ec833f4..00000000 --- a/debian/patches/0014-pfinet-make-the-demuxers-payload-aware.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 09be8ecd3a467ab1772f9fd533212afaefd1e814 Mon Sep 17 00:00:00 2001 -From: Justus Winter <4winter@informatik.uni-hamburg.de> -Date: Sun, 13 Apr 2014 14:03:48 +0200 -Subject: [PATCH hurd 14/28] pfinet: make the demuxers payload-aware - -* pfinet/ethernet.c (ethernet_demuxer): Make the demuxer payload-aware. -* pfinet/main.c (pfinet_demuxer): Likewise. ---- - pfinet/ethernet.c | 20 +++++++++++++++++++- - pfinet/main.c | 12 ++++++++++-- - 2 files changed, 29 insertions(+), 3 deletions(-) - -diff --git a/pfinet/ethernet.c b/pfinet/ethernet.c -index 053fd1b..1678243 100644 ---- a/pfinet/ethernet.c -+++ b/pfinet/ethernet.c -@@ -116,12 +116,30 @@ ethernet_demuxer (mach_msg_header_t *inp, - int datalen; - struct ether_device *edev; - struct device *dev = 0; -+ mach_port_t local_port; - - if (inp->msgh_id != NET_RCV_MSG_ID) - return 0; - -+ if (MACH_MSGH_BITS_LOCAL (inp->msgh_bits) == -+ MACH_MSG_TYPE_PROTECTED_PAYLOAD) -+ { -+ struct port_info *pi = ports_lookup_payload (NULL, -+ inp->msgh_protected_payload, -+ NULL); -+ if (pi) -+ { -+ local_port = pi->port_right; -+ ports_port_deref (pi); -+ } -+ else -+ local_port = MACH_PORT_NULL; -+ } -+ else -+ local_port = inp->msgh_local_port; -+ - for (edev = ether_dev; edev; edev = edev->next) -- if (inp->msgh_local_port == edev->readptname) -+ if (local_port == edev->readptname) - dev = &edev->dev; - - if (! dev) -diff --git a/pfinet/main.c b/pfinet/main.c -index 0f1fbfc..8716fdb 100644 ---- a/pfinet/main.c -+++ b/pfinet/main.c -@@ -86,8 +86,16 @@ pfinet_demuxer (mach_msg_header_t *inp, - - /* We have several classes in one bucket, which need to be demuxed - differently. */ -- pi = ports_lookup_port(pfinet_bucket, inp->msgh_local_port, socketport_class); -- -+ if (MACH_MSGH_BITS_LOCAL (inp->msgh_bits) == -+ MACH_MSG_TYPE_PROTECTED_PAYLOAD) -+ pi = ports_lookup_payload (pfinet_bucket, -+ inp->msgh_protected_payload, -+ socketport_class); -+ else -+ pi = ports_lookup_port (pfinet_bucket, -+ inp->msgh_local_port, -+ socketport_class); -+ - if (pi) - { - ports_port_deref (pi); --- -2.1.3 - |