summaryrefslogtreecommitdiff
path: root/debian/patches/0003-Revert-random-fix-a-receiver-lookup.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0003-Revert-random-fix-a-receiver-lookup.patch')
-rw-r--r--debian/patches/0003-Revert-random-fix-a-receiver-lookup.patch133
1 files changed, 133 insertions, 0 deletions
diff --git a/debian/patches/0003-Revert-random-fix-a-receiver-lookup.patch b/debian/patches/0003-Revert-random-fix-a-receiver-lookup.patch
new file mode 100644
index 00000000..d98466fa
--- /dev/null
+++ b/debian/patches/0003-Revert-random-fix-a-receiver-lookup.patch
@@ -0,0 +1,133 @@
+From ac0ee941b5fa2709bddfa1b6a908e3e00e15ef4b Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Wed, 26 Nov 2014 12:12:27 +0100
+Subject: [PATCH hurd 03/29] Revert "random: fix a receiver lookup"
+
+This reverts "8927fbd63e29005ddb9b2c2264046089bf669857".
+
+The change mistakenly adds mutators for the `startup' protocol, but
+the server routine is for the `startup_notify' protocol.
+---
+ random/Makefile | 1 -
+ random/mig-decls.h | 47 -----------------------------------------------
+ random/mig-mutate.h | 25 -------------------------
+ random/random.c | 5 ++++-
+ 4 files changed, 4 insertions(+), 74 deletions(-)
+ delete mode 100644 random/mig-decls.h
+ delete mode 100644 random/mig-mutate.h
+
+diff --git a/random/Makefile b/random/Makefile
+index 6291da0..0949b63 100644
+--- a/random/Makefile
++++ b/random/Makefile
+@@ -26,6 +26,5 @@ OBJS = $(SRCS:.c=.o) startup_notifyServer.o
+ LCLHDRS = gnupg-random.h gnupg-rmd.h gnupg-bithelp.h random.h
+ HURDLIBS = trivfs ports fshelp ihash shouldbeinlibc
+ OTHERLIBS = -lpthread
+-MIGSFLAGS = -DSEQNOS -imacros $(srcdir)/mig-mutate.h
+
+ include ../Makeconf
+diff --git a/random/mig-decls.h b/random/mig-decls.h
+deleted file mode 100644
+index 87b7eb2..0000000
+--- a/random/mig-decls.h
++++ /dev/null
+@@ -1,47 +0,0 @@
+-/*
+- Copyright (C) 2014 Free Software Foundation, Inc.
+- Written by Justus Winter.
+-
+- This file is part of the GNU Hurd.
+-
+- The GNU Hurd is free software; you can redistribute it and/or
+- modify it under the terms of the GNU General Public License as
+- published by the Free Software Foundation; either version 2, or (at
+- your option) any later version.
+-
+- The GNU Hurd is distributed in the hope that it will be useful, but
+- WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with the GNU Hurd. If not, see <http://www.gnu.org/licenses/>. */
+-
+-#ifndef __RANDOM_MIG_DECLS_H__
+-#define __RANDOM_MIG_DECLS_H__
+-
+-#include <hurd/ports.h>
+-
+-typedef struct port_info *port_info_t;
+-
+-extern struct trivfs_control *fsys;
+-extern struct port_class *shutdown_notify_class;
+-
+-/* Called by server stub functions. */
+-
+-static inline struct port_info * __attribute__ ((unused))
+-begin_using_startup_port (mach_port_t port)
+-{
+- return ports_lookup_port (fsys->pi.bucket,
+- handle,
+- shutdown_notify_class);
+-}
+-
+-static inline void __attribute__ ((unused))
+-end_using_startup (struct port_info *p)
+-{
+- if (p)
+- ports_port_deref (p);
+-}
+-
+-#endif /* __RANDOM_MIG_DECLS_H__ */
+diff --git a/random/mig-mutate.h b/random/mig-mutate.h
+deleted file mode 100644
+index dab89e5..0000000
+--- a/random/mig-mutate.h
++++ /dev/null
+@@ -1,25 +0,0 @@
+-/*
+- Copyright (C) 2014 Free Software Foundation, Inc.
+- Written by Justus Winter.
+-
+- This file is part of the GNU Hurd.
+-
+- The GNU Hurd is free software; you can redistribute it and/or
+- modify it under the terms of the GNU General Public License as
+- published by the Free Software Foundation; either version 2, or (at
+- your option) any later version.
+-
+- The GNU Hurd is distributed in the hope that it will be useful, but
+- WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with the GNU Hurd. If not, see <http://www.gnu.org/licenses/>. */
+-
+-#define STARTUP_INTRAN \
+- port_info_t begin_using_startup_port (mach_port_t)
+-#define STARTUP_DESTRUCTOR \
+- end_using_startup (port_info_t)
+-#define STARTUP_IMPORTS \
+- import "mig-decls.h";
+diff --git a/random/random.c b/random/random.c
+index 6eea363..15be383 100644
+--- a/random/random.c
++++ b/random/random.c
+@@ -537,8 +537,11 @@ struct port_class *shutdown_notify_class;
+ /* The system is going down; destroy all the extant port rights. That
+ will cause net channels and such to close promptly. */
+ error_t
+-S_startup_dosync (struct port_info *inpi)
++S_startup_dosync (mach_port_t handle)
+ {
++ struct port_info *inpi = ports_lookup_port (fsys->pi.bucket, handle,
++ shutdown_notify_class);
++
+ if (!inpi)
+ return EOPNOTSUPP;
+
+--
+2.1.3
+