diff options
author | Manuel Jacob <me@manueljacob.de> | 2015-10-04T11·53+0200 |
---|---|---|
committer | Manuel Jacob <me@manueljacob.de> | 2015-10-06T20·28+0200 |
commit | 7888b2ba15528a7caa24f6923203a55cc38087ed (patch) | |
tree | 5a2525da8c2d43c113e2f83c6486159cb8eaa472 | |
parent | 12c1776df9c1e658c614cfd5b2cf398dc7202689 (diff) |
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).
-rw-r--r-- | src/nix-daemon/nix-daemon.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nix-daemon/nix-daemon.cc b/src/nix-daemon/nix-daemon.cc index aaae691e9ee8..1d0ff701fd29 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) |