diff options
author | Marcus Brinkmann <[email protected]> | 2007-07-08 15:46:10 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2007-07-08 15:46:10 +0000 |
commit | 5b8e76a5334259a844ff973938b77d3e92e26f8b (patch) | |
tree | c18fe477fd6f524214ed90f6127c043f43325abc /assuan | |
parent | 2007-07-04 Marcus Brinkmann <[email protected]> (diff) | |
download | gpgme-5b8e76a5334259a844ff973938b77d3e92e26f8b.tar.gz gpgme-5b8e76a5334259a844ff973938b77d3e92e26f8b.zip |
2007-07-08 Marcus Brinkmann <[email protected]>
* 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 <[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.
gpgme/
2007-07-08 Marcus Brinkmann <[email protected]>
* engine-gpgsm.c [HAVE_W32_SYSTEM]: Enable the bunch of the file.
* funopen.c (funopen): Rename to _gpgme_funopen.
Diffstat (limited to 'assuan')
-rw-r--r-- | assuan/ChangeLog | 8 | ||||
-rw-r--r-- | assuan/Makefile.am | 1 | ||||
-rw-r--r-- | assuan/assuan-connect.c | 6 | ||||
-rw-r--r-- | assuan/assuan-defs.h | 4 | ||||
-rw-r--r-- | assuan/assuan.h | 1 |
5 files changed, 16 insertions, 4 deletions
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 <[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/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*/ |