aboutsummaryrefslogtreecommitdiffstats
path: root/assuan/assuan-socket-server.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2002-02-18 20:45:52 +0000
committerWerner Koch <[email protected]>2002-02-18 20:45:52 +0000
commita46e786221dc2c08960acdfd94cab35729f0891d (patch)
treee50198672b8181aae4fb9f56be5283c91ab8e1f8 /assuan/assuan-socket-server.c
parent* command.c (cmd_marktrusted): Implemented. (diff)
downloadgnupg-a46e786221dc2c08960acdfd94cab35729f0891d.tar.gz
gnupg-a46e786221dc2c08960acdfd94cab35729f0891d.zip
A bunch of new features. Allow empty responses on an inquiry.
Diffstat (limited to '')
-rw-r--r--assuan/assuan-socket-server.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/assuan/assuan-socket-server.c b/assuan/assuan-socket-server.c
index d10d9d4a9..39dd84a13 100644
--- a/assuan/assuan-socket-server.c
+++ b/assuan/assuan-socket-server.c
@@ -38,6 +38,7 @@ accept_connection (ASSUAN_CONTEXT ctx)
struct sockaddr_un clnt_addr;
size_t len = sizeof clnt_addr;
+ ctx->client_pid = (pid_t)-1;
#ifdef USE_GNU_PTH
fd = pth_accept (ctx->listen_fd, (struct sockaddr*)&clnt_addr, &len );
#else
@@ -49,6 +50,16 @@ accept_connection (ASSUAN_CONTEXT ctx)
return ASSUAN_Accept_Failed;
}
+#ifdef HAVE_SO_PEERCRED
+ {
+ struct ucred cr;
+ int cl = sizeof cr;
+
+ if ( !getsockopt (fd, SOL_SOCKET, SO_PEERCRED, &cr, &cl) )
+ ctx->client_pid = cr.pid;
+ }
+#endif
+
ctx->inbound.fd = fd;
ctx->inbound.eof = 0;
ctx->inbound.linelen = 0;