Index: init/init.c
===================================================================
RCS file: /cvsroot/hurd/hurd/init/init.c,v
retrieving revision 1.129
diff -u -r1.129 init.c
--- init/init.c	8 May 2002 09:20:38 -0000	1.129
+++ init/init.c	9 Aug 2003 12:27:18 -0000
@@ -1,6 +1,6 @@
 /* Start and maintain hurd core servers and system run state
 
-   Copyright (C) 1993,94,95,96,97,98,99,2000,01,02
+   Copyright (C) 1993,94,95,96,97,98,99,2000,01,02,03
    	Free Software Foundation, Inc.
    This file is part of the GNU Hurd.
 
@@ -530,6 +530,9 @@
   volatile int err;
   int i;
   mach_port_t consdev;
+#ifdef KERNEL_SECURITY_TOKEN_VALUE
+  security_token_t sec_token = KERNEL_SECURITY_TOKEN_VALUE;
+#endif
   struct argp argp = { options, parse_opt, 0, doc };
 
   /* Parse the arguments.  We don't want the vector reordered,
@@ -546,7 +549,15 @@
      master device ports, and the console.  */
   if (task_get_bootstrap_port (mach_task_self (), &bootport)
       || fsys_getpriv (bootport, &host_priv, &device_master, &fstask)
-      || device_open (device_master, D_WRITE, "console", &consdev))
+      || device_open (device_master,
+#ifdef KERN_INVALID_LEDGER
+		      MACH_PORT_NULL,
+#endif
+		      D_WRITE,
+#ifdef KERNEL_SECURITY_TOKEN_VALUE
+		      sec_token,
+#endif
+		      "console", &consdev))
     crash_mach ();
 
   wire_task_self ();
Index: init/stubs.c
===================================================================
RCS file: /cvsroot/hurd/hurd/init/stubs.c,v
retrieving revision 1.3
diff -u -r1.3 stubs.c
--- init/stubs.c	14 Mar 2000 00:08:48 -0000	1.3
+++ init/stubs.c	9 Aug 2003 12:27:19 -0000
@@ -1,5 +1,5 @@
 /* By-hand stubs for some RPC calls
-   Copyright (C) 1994,96,99,2000 Free Software Foundation, Inc.
+   Copyright (C) 1994,96,99,2000,03 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -37,6 +37,7 @@
 
   /* This message buffer might be modified by mach_msg in some error cases,
      so we cannot safely reuse a static buffer.  */
+#ifdef MACH_MSG_TYPE_INTEGER_32
   struct
     {
       mach_msg_header_t head;
@@ -97,6 +98,46 @@
     /* Reference port */
     refport
   };
+#else
+  struct
+    {
+      mach_msg_header_t head;
+      mach_msg_body_t body;
+      mach_msg_port_descriptor_t refport;
+      NDR_record_t NDR;
+      int signal;
+      natural_t sigcode;
+    }
+  message =
+  {
+    {
+      /* Message header: */
+      (MACH_MSGH_BITS_COMPLEX
+       | MACH_MSGH_BITS (MACH_MSG_TYPE_COPY_SEND,
+			 MACH_MSG_TYPE_MAKE_SEND_ONCE)), /* msgh_bits */
+      sizeof message,		/* msgh_size */
+      msgport,			/* msgh_remote_port */
+      MACH_PORT_NULL,		/* msgh_local_port */
+      0,			/* msgh_reserved */
+      RPCID_SIG_POST,		/* msgh_id */
+    },
+    {
+      /* Message body */
+      1,			/* msgh_descriptor_count */
+    },
+    {
+      /* Port descriptor */
+      refport,			/* name */
+      0,			/* pad1 */
+      0,			/* pad2 */
+      19,			/* disposition */
+      MACH_MSG_PORT_DESCRIPTOR,	/* type */
+    },
+    NDR_record,
+    signal,
+    0
+  };
+#endif
 
   err = mach_msg (&message.head,
 		  MACH_SEND_MSG|MACH_SEND_TIMEOUT, sizeof message, 0,
@@ -117,8 +158,13 @@
 	  == MACH_MSG_TYPE_MOVE_SEND)
 	mach_port_deallocate (mach_task_self (),
 			      message.head.msgh_remote_port);
+#ifdef MACH_MSG_TYPE_INTEGER_32
       if (message.refporttype.msgt_name == MACH_MSG_TYPE_MOVE_SEND)
 	mach_port_deallocate (mach_task_self (), message.refport);
+#else
+      if (message.refport.disposition == MACH_MSG_TYPE_MOVE_SEND)
+	mach_port_deallocate (mach_task_self (), message.refport.name);
+#endif
       break;
 
       /* These are the other codes that mean a pseudo-receive modified
@@ -126,8 +172,12 @@
 	 None of them should be possible in our usage.  */
     case MACH_SEND_INTERRUPTED:
     case MACH_SEND_INVALID_NOTIFY:
+#ifdef MACH_SEND_NO_NOTIFY
     case MACH_SEND_NO_NOTIFY:
+#endif
+#ifdef MACH_SEND_NOTIFY_IN_PROGRESS
     case MACH_SEND_NOTIFY_IN_PROGRESS:
+#endif
       assert_perror (err);
       break;
 

