diff options
Diffstat (limited to 'trunk/assuan')
-rw-r--r-- | trunk/assuan/ChangeLog | 8 | ||||
-rw-r--r-- | trunk/assuan/Makefile.am | 1 | ||||
-rw-r--r-- | trunk/assuan/assuan-connect.c | 6 | ||||
-rw-r--r-- | trunk/assuan/assuan-defs.h | 4 | ||||
-rw-r--r-- | trunk/assuan/assuan.h | 1 |
5 files changed, 16 insertions, 4 deletions
diff --git a/trunk/assuan/ChangeLog b/trunk/assuan/ChangeLog index 2a4611e6..0df0a794 100644 --- a/trunk/assuan/ChangeLog +++ b/trunk/assuan/ChangeLog @@ -1,3 +1,11 @@ +2007-07-08 Marcus Brinkmann <[email protected]> + + * assuan-defs.h (struct assuan_context_s): Have partial peercred + structure even if HAVE_W32_SYSTEM, and have full peercred + structure only if HAVE_SO_PEERCRED. + * assuan-connect.c (assuan_get_peercred) [!HAVE_SO_PEERCRED]: Do + not try to set PID, UID and GID. + 2007-07-04 Marcus Brinkmann <[email protected]> Change _WIN32 to HAVE_W32_SYSTEM for consistency. diff --git a/trunk/assuan/Makefile.am b/trunk/assuan/Makefile.am index dc5baf9c..4607bc7c 100644 --- a/trunk/assuan/Makefile.am +++ b/trunk/assuan/Makefile.am @@ -45,7 +45,6 @@ libassuan_la_SOURCES = \ assuan-pipe-connect.c \ assuan-socket-connect.c \ assuan-uds.c \ - funopen.c \ assuan-io.c \ assuan-logging.c \ assuan-socket.c diff --git a/trunk/assuan/assuan-connect.c b/trunk/assuan/assuan-connect.c index 15fc51b9..b50b17bd 100644 --- a/trunk/assuan/assuan-connect.c +++ b/trunk/assuan/assuan-connect.c @@ -59,10 +59,10 @@ assuan_get_pid (assuan_context_t ctx) } +#ifndef HAVE_W32_SYSTEM /* Return user credentials. PID, UID and GID amy be gived as NULL if you are not interested in this value. For getting the pid of the peer the assuan_get_pid is usually better suited. */ -#ifndef HAVE_W32_SYSTEM assuan_error_t assuan_get_peercred (assuan_context_t ctx, pid_t *pid, uid_t *uid, gid_t *gid) { @@ -70,12 +70,16 @@ assuan_get_peercred (assuan_context_t ctx, pid_t *pid, uid_t *uid, gid_t *gid) return _assuan_error (ASSUAN_Invalid_Value); if (!ctx->peercred.valid) return _assuan_error (ASSUAN_General_Error); + +#ifdef HAVE_SO_PEERCRED if (pid) *pid = ctx->peercred.pid; if (uid) *uid = ctx->peercred.uid; if (gid) *gid = ctx->peercred.gid; +#endif + return 0; } #endif /* HAVE_W32_SYSTEM */ diff --git a/trunk/assuan/assuan-defs.h b/trunk/assuan/assuan-defs.h index 33cdfa3d..b1d9f3ef 100644 --- a/trunk/assuan/assuan-defs.h +++ b/trunk/assuan/assuan-defs.h @@ -140,14 +140,14 @@ struct assuan_context_s int listen_fd; /* The fd we are listening on (used by socket servers) */ int connected_fd; /* helper */ -#ifndef HAVE_W32_SYSTEM struct { int valid; /* Whether this structure has valid information. */ +#ifdef HAVE_SO_PEERCRED pid_t pid; /* The pid of the peer. */ uid_t uid; /* The uid of the peer. */ gid_t gid; /* The gid of the peer. */ +#endif /* HAVE_SO_PEERCRED */ } peercred; -#endif /* HAVE_W32_SYSTEM */ /* Used for Unix domain sockets. */ struct sockaddr_un myaddr; diff --git a/trunk/assuan/assuan.h b/trunk/assuan/assuan.h index 9bad2582..33f14cf0 100644 --- a/trunk/assuan/assuan.h +++ b/trunk/assuan/assuan.h @@ -185,6 +185,7 @@ int _gpgme_io_recvmsg (int sock, struct msghdr *msg, int flags); #define _assuan_sock_bind _ASSUAN_PREFIX(_assuan_sock_bind) #define _assuan_sock_connect _ASSUAN_PREFIX(_assuan_sock_connect) +#define _assuan_funopen _gpgme_funopen #endif /*_ASSUAN_EXT_SYM_PREFIX*/ |