pkgsrc-wip/chromium/patches/patch-third__party_perfetto...

29 lines
944 B
C++

$NetBSD$
--- third_party/perfetto/src/base/unix_socket.cc.orig 2020-06-25 09:34:47.000000000 +0000
+++ third_party/perfetto/src/base/unix_socket.cc
@@ -37,7 +37,7 @@
#include "perfetto/ext/base/string_utils.h"
#include "perfetto/ext/base/utils.h"
-#if PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX)
+#if PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) || PERFETTO_BUILDFLAG(PERFETTO_OS_NETBSD)
#include <sys/ucred.h>
#endif
@@ -615,6 +615,14 @@ void UnixSocket::ReadPeerCredentials() {
PERFETTO_CHECK(res == 0);
peer_uid_ = user_cred.uid;
peer_pid_ = user_cred.pid;
+#elif PERFETTO_BUILDFLAG(PERFETTO_OS_NETBSD)
+ struct unpcbid user_cred;
+ socklen_t len = sizeof(user_cred);
+ int fd = sock_raw_.fd();
+ int res = getsockopt(fd, 0, LOCAL_PEEREID, &user_cred, &len);
+ PERFETTO_CHECK(res == 0);
+ peer_uid_ = user_cred.unp_euid;
+ peer_pid_ = user_cred.unp_pid;
#else
struct xucred user_cred;
socklen_t len = sizeof(user_cred);