diff options
author | Werner Koch <[email protected]> | 2002-02-18 20:45:52 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2002-02-18 20:45:52 +0000 |
commit | a46e786221dc2c08960acdfd94cab35729f0891d (patch) | |
tree | e50198672b8181aae4fb9f56be5283c91ab8e1f8 /assuan/assuan-socket-server.c | |
parent | * command.c (cmd_marktrusted): Implemented. (diff) | |
download | gnupg-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.c | 11 |
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; |