summaryrefslogtreecommitdiff
path: root/debian/patches/0002-Revert-random-fix-a-receiver-lookup.patch
blob: 03156a1190df9ccc8617afe427a11d5f368a83e7 (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
From e008e4248855f008f69f045548d1e61eab04a47a 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 02/28] 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