Support reading ucred from the socket on FreeBSD

On FreeBSD we have to use getsockopt(fd, SOL_LOCAL, LOCAL_PEERCRED)
instead. This change is based on a downstream patch in FreeBSD ports.

Co-authored-by: Greg V <greg@unrelenting.technology>
Co-authored-by: Koop Mast <kwm@rainbow-runner.nl>
Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
This commit is contained in:
Alex Richardson 2021-03-15 22:21:12 +00:00 committed by Alexander Richardson
parent f1552700ce
commit 54b237a612
4 changed files with 63 additions and 11 deletions

View file

@ -26,9 +26,15 @@
#ifndef WAYLAND_OS_H
#define WAYLAND_OS_H
#include <sys/types.h>
#include <sys/socket.h>
int
wl_os_socket_cloexec(int domain, int type, int protocol);
int
wl_os_socket_peercred(int sockfd, uid_t *uid, gid_t *gid, pid_t *pid);
int
wl_os_dupfd_cloexec(int fd, int minfd);