diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1997-08-31 20:42:33 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1997-08-31 20:42:33 +0000 |
commit | a92a8621636869003cc7fada3282dabf8e2908d8 (patch) | |
tree | 021ef70139e06dead02f634e58755fca23983d72 /sys/kern/sys_socket.c | |
parent | 05848e415adc11c00256a98bcdc331082dfef00a (diff) |
for non-tty TIOCSPGRP/F_SETOWN/FIOSETOWN pgid setting calls, store uid
and euid as well, then deliver them using new csignal() interface
which ensures that pgid setting process is permitted to signal the
pgid process(es). Thanks to newsham@aloha.net for extensive help and
discussion.
Diffstat (limited to 'sys/kern/sys_socket.c')
-rw-r--r-- | sys/kern/sys_socket.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c index b0a67f398ce..f25e4b5d445 100644 --- a/sys/kern/sys_socket.c +++ b/sys/kern/sys_socket.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sys_socket.c,v 1.2 1997/02/24 14:19:59 niklas Exp $ */ +/* $OpenBSD: sys_socket.c,v 1.3 1997/08/31 20:42:23 deraadt Exp $ */ /* $NetBSD: sys_socket.c,v 1.13 1995/08/12 23:59:09 mycroft Exp $ */ /* @@ -39,6 +39,7 @@ #include <sys/param.h> #include <sys/systm.h> #include <sys/file.h> +#include <sys/proc.h> #include <sys/mbuf.h> #include <sys/protosw.h> #include <sys/socket.h> @@ -112,6 +113,8 @@ soo_ioctl(fp, cmd, data, p) case SIOCSPGRP: so->so_pgid = *(int *)data; + so->so_siguid = p->p_cred->p_ruid; + so->so_sigeuid = p->p_ucred->cr_uid; return (0); case SIOCGPGRP: |