Use proper struct sockpeercred for SO_PEERCRED for OpenBSD

getsockopt(2) documents this;  ucred is wrong ("cr_" member prefix, no pid).

(cherry picked from commit 10ccdb7a41)
This commit is contained in:
kn authored and github-actions[bot] committed 2024-07-03 15:57:17 +00:00
1 parent 5d32212b27
commit 4e781b4eaa
1 file changed
+5 -1
+5 -1
View File
@@ -202,7 +202,11 @@ static PeerInfo getPeerInfo(int remote)
#if defined(SO_PEERCRED)
ucred cred;
# if defined(__OpenBSD__)
struct sockpeercred cred;
# else
ucred cred;
# endif
socklen_t credLen = sizeof(cred);
if (getsockopt(remote, SOL_SOCKET, SO_PEERCRED, &cred, &credLen) == -1)
throw SysError("getting peer credentials");