From 5b8e76a5334259a844ff973938b77d3e92e26f8b Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Sun, 8 Jul 2007 15:46:10 +0000 Subject: 2007-07-08 Marcus Brinkmann * configure.ac (GPGSM_DEFAULT) [*-mingw32*]: Initialize it. (HAVE_ASSUAN_H): Set to 1 if we have it. (funopen): Use AC_REPLACE_FUNCS. (USE_DESCRIPTOR_PASSING): Define to 1 if we have it. Do not define it at all if we don't. (NETLIBS) [have_w32_system]: Add -lws2_32. (DIRSEP_C, DIRSEP_S, EXPSEP_C, EXPSEP_S, PATHSEP_S) [HAVE_DOSISH_SYSTEM]: Remove definitions. * assuan/assuan.h (_assuan_funopen): Define to _gpgme_funopen. * assuan/funopen.c: Move to ../gpgme/funopen.c. * assuan/Makefile.am (libassuan_la_SOURCES): Remove funopen.c. assuan/ 2007-07-08 Marcus Brinkmann * 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. gpgme/ 2007-07-08 Marcus Brinkmann * engine-gpgsm.c [HAVE_W32_SYSTEM]: Enable the bunch of the file. * funopen.c (funopen): Rename to _gpgme_funopen. --- assuan/ChangeLog | 8 ++++++++ assuan/Makefile.am | 1 - assuan/assuan-connect.c | 6 +++++- assuan/assuan-defs.h | 4 ++-- assuan/assuan.h | 1 + 5 files changed, 16 insertions(+), 4 deletions(-) (limited to 'assuan') diff --git a/assuan/ChangeLog b/assuan/ChangeLog index 2a4611e6..0df0a794 100644 --- a/assuan/ChangeLog +++ b/assuan/ChangeLog @@ -1,3 +1,11 @@ +2007-07-08 Marcus Brinkmann + + * 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 Change _WIN32 to HAVE_W32_SYSTEM for consistency. diff --git a/assuan/Makefile.am b/assuan/Makefile.am index dc5baf9c..4607bc7c 100644 --- a/assuan/Makefile.am +++ b/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/assuan/assuan-connect.c b/assuan/assuan-connect.c index 15fc51b9..b50b17bd 100644 --- a/assuan/assuan-connect.c +++ b/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/assuan/assuan-defs.h b/assuan/assuan-defs.h index 33cdfa3d..b1d9f3ef 100644 --- a/assuan/assuan-defs.h +++ b/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/assuan/assuan.h b/assuan/assuan.h index 9bad2582..33f14cf0 100644 --- a/assuan/assuan.h +++ b/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*/ -- cgit v1.2.3