From 9b3bdcb12d0dea1cc5b96eefbc083114556df565 Mon Sep 17 00:00:00 2001 From: Kenny Levinsen Date: Tue, 8 Dec 2020 16:42:13 +0100 Subject: client: Use cr_pid if available This is only available on FreeBSD 13, so test for that version. --- seatd/client.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'seatd') diff --git a/seatd/client.c b/seatd/client.c index edea23c..162f4ba 100644 --- a/seatd/client.c +++ b/seatd/client.c @@ -40,7 +40,11 @@ static int get_peer(int fd, pid_t *pid, uid_t *uid, gid_t *gid) { if (getsockopt(fd, 0, LOCAL_PEERCRED, &cred, &len) == -1) { return -1; } +#if __FreeBSD_version >= 1300030 + pid = cred.cr_pid; +#else *pid = -1; +#endif *uid = cred.cr_uid; *gid = cred.cr_ngroups > 0 ? cred.cr_groups[0] : (gid_t)-1; return 0; -- cgit v1.2.3