aboutsummaryrefslogtreecommitdiffstats
path: root/src/assuan-socket-server.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/assuan-socket-server.c')
-rw-r--r--src/assuan-socket-server.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/assuan-socket-server.c b/src/assuan-socket-server.c
index a260221..c270e8d 100644
--- a/src/assuan-socket-server.c
+++ b/src/assuan-socket-server.c
@@ -135,6 +135,15 @@ accept_connection_bottom (assuan_context_t ctx)
{
ctx->peercred_valid = 1;
ctx->peercred.pid = ASSUAN_INVALID_PID;
+#if defined (HAVE_XUCRED_CR_PID)
+ {
+ struct xucred cr;
+ socklen_t len = sizeof (struct xucred);
+
+ if (!getsockopt (fd, SOL_LOCAL, LOCAL_PEERCRED, &cr, &len))
+ ctx->peercred.pid = cr.cr_pid;
+ }
+#endif
}
}
#endif