summaryrefslogtreecommitdiff
path: root/debian/patches/gpg0002-utils-settrans-get-an-authenticated-root-node-in-chr.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/gpg0002-utils-settrans-get-an-authenticated-root-node-in-chr.patch')
-rw-r--r--debian/patches/gpg0002-utils-settrans-get-an-authenticated-root-node-in-chr.patch83
1 files changed, 0 insertions, 83 deletions
diff --git a/debian/patches/gpg0002-utils-settrans-get-an-authenticated-root-node-in-chr.patch b/debian/patches/gpg0002-utils-settrans-get-an-authenticated-root-node-in-chr.patch
deleted file mode 100644
index 559cab7b..00000000
--- a/debian/patches/gpg0002-utils-settrans-get-an-authenticated-root-node-in-chr.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From f5e6769c33723a1d4b72722eff8bb68245ca3803 Mon Sep 17 00:00:00 2001
-From: Justus Winter <justus@gnupg.org>
-Date: Sat, 16 Apr 2016 16:12:35 +0200
-Subject: [PATCH hurd 2/5] utils/settrans: get an authenticated root node in
- chroot mode
-
-* utils/settrans.c (get_credentials): New function.
-(main): Get an authenticated root node for the process we are
-chrooting.
-
-Signed-off-by: Justus Winter <justus@gnupg.org>
----
- utils/settrans.c | 45 ++++++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 44 insertions(+), 1 deletion(-)
-
-diff --git a/utils/settrans.c b/utils/settrans.c
-index 00cc358..399bd12 100644
---- a/utils/settrans.c
-+++ b/utils/settrans.c
-@@ -88,6 +88,44 @@ static char *args_doc = "NODE [TRANSLATOR ARG...]";
- static char *doc = "Set the passive/active translator on NODE."
- "\vBy default the passive translator is set.";
-
-+/* Authentication of the current process. */
-+uid_t *uids;
-+gid_t *gids;
-+size_t uids_len, gids_len;
-+
-+/* Initialize and populate the uids and gids vectors. */
-+error_t
-+get_credentials (void)
-+{
-+ /* Fetch uids... */
-+ uids_len = geteuids (0, 0);
-+ if (uids_len < 0)
-+ return errno;
-+
-+ uids = malloc (uids_len * sizeof (uid_t));
-+ if (! uids)
-+ return ENOMEM;
-+
-+ uids_len = geteuids (uids_len, uids);
-+ if (uids_len < 0)
-+ return errno;
-+
-+ /* ... and gids. */
-+ gids_len = getgroups (0, 0);
-+ if (gids_len < 0)
-+ return errno;
-+
-+ gids = malloc (gids_len * sizeof (gid_t));
-+ if (! uids)
-+ return ENOMEM;
-+
-+ gids_len = getgroups (gids_len, gids);
-+ if (gids_len < 0)
-+ return errno;
-+
-+ return 0;
-+}
-+
- /* ---------------------------------------------------------------- */
-
- int
-@@ -340,9 +378,14 @@ main(int argc, char *argv[])
- mach_port_t root;
- file_t executable;
- char *prefixed_name;
-+
-+ err = get_credentials ();
-+ if (err)
-+ error (6, err, "getting credentials");
-+
- err = fsys_getroot (active_control,
- MACH_PORT_NULL, MACH_MSG_TYPE_COPY_SEND,
-- NULL, 0, NULL, 0, 0,
-+ uids, uids_len, gids, gids_len, 0,
- &do_retry, retry_name, &root);
- mach_port_deallocate (mach_task_self (), active_control);
- if (err)
---
-2.1.4
-