From 594cfb7586089dfefab60574495baf6ed4048c1d Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 11 Nov 2020 10:04:27 +0100 Subject: pflocal: Record socket creator so io_stat can return it * pflocal/sock.h (struct sock): Add uid and gid fields. * pflocal/sock.c (sock_create): Set uid and gid to 0. * pflocal/mig-mutate.h (SOCKET_IMPORTS): Import ../libtrivfs/mig-decls.h. (PF_INTRAN, PF_INTRAN_PAYLOAD, PF_DESTRUCTOR): New macros. * pflocal/pf.c: Include hurd/trivfs.h. (S_socket_create): Update parameters. Set sock's uid and gid fields according to pf->user. * pflocal/io.c (S_io_stat): Set st_uid and st_gid according to pf. --- pflocal/sock.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'pflocal/sock.c') diff --git a/pflocal/sock.c b/pflocal/sock.c index 89ba16e2..e39e2932 100644 --- a/pflocal/sock.c +++ b/pflocal/sock.c @@ -123,6 +123,8 @@ sock_create (struct pipe_class *pipe_class, mode_t mode, struct sock **sock) new->connect_queue = NULL; new->pipe_class = pipe_class; new->addr = NULL; + new->uid = 0; + new->gid = 0; memset (&new->change_time, 0, sizeof (new->change_time)); pthread_mutex_init (&new->lock, NULL); -- cgit v1.2.3