From 7888b2ba15528a7caa24f6923203a55cc38087ed Mon Sep 17 00:00:00 2001 From: Manuel Jacob Date: Sun, 4 Oct 2015 13:53:23 +0200 Subject: [PATCH] Define SOL_LOCAL if not defined already (e.g. on FreeBSD). Some evidence that defining it to be 0 is right: * OS X headers define it to be 0. * Other code uses 0 instead of SOL_LOCAL to check for peer credentials (e.g. FreeBSD's implementation of getpeereid). --- src/nix-daemon/nix-daemon.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/nix-daemon/nix-daemon.cc b/src/nix-daemon/nix-daemon.cc index aaae691e9..1d0ff701f 100644 --- a/src/nix-daemon/nix-daemon.cc +++ b/src/nix-daemon/nix-daemon.cc @@ -692,6 +692,10 @@ static PeerInfo getPeerInfo(int remote) #elif defined(LOCAL_PEERCRED) +#if !defined(SOL_LOCAL) +#define SOL_LOCAL 0 +#endif + xucred cred; socklen_t credLen = sizeof(cred); if (getsockopt(remote, SOL_LOCAL, LOCAL_PEERCRED, &cred, &credLen) == -1)