mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
common: On Windows, we care about how PIPE handles are inherited.
* agent/gpg-agent.c (handle_connections): It's for POSIX.
* kbx/keyboxd.c (handle_connections): Ditto.
* scd/app.c (handle_connections): Ditto.
* scd/scdaemon.c (handle_connections): Ditto.
tpm2d/tpm2daemon.c (handle_connections): Ditto.
* tests/gpgscm/ffi.c (do_pipe): Use GNUPG_PIPE_BOTH.
(do_inbound_pipe): Use GNUPG_PIPE_INBOUND.
(do_outbound_pipe): Use GNUPG_PIPE_OUTBOUND.
* common/call-gpg.c (_gpg_encrypt): Specify outbound and inbound.
(_gpg_decrypt): Likewise.
* common/exechelp-posix.c (gnupg_create_pipe): Add an argument.
* common/exechelp-w32.c (create_pipe_and_estream): Care about
how PIPE handles are inherited to child process.
(gnupg_create_pipe): Add an argument.
* common/exechelp.h: Add enum values.
--
Fixes-commit: af6c47b291
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
1d5cfa9b7f
commit
2b19474aab
10 changed files with 54 additions and 27 deletions
|
@ -1227,7 +1227,7 @@ do_pipe (scheme *sc, pointer args)
|
|||
FFI_PROLOG ();
|
||||
int filedes[2];
|
||||
FFI_ARGS_DONE_OR_RETURN (sc, args);
|
||||
err = gnupg_create_pipe (filedes);
|
||||
err = gnupg_create_pipe (filedes, GNUPG_PIPE_BOTH);
|
||||
#define IMC(A, B) \
|
||||
_cons (sc, sc->vptr->mk_integer (sc, (unsigned long) (A)), (B), 1)
|
||||
FFI_RETURN_POINTER (sc, IMC (filedes[0],
|
||||
|
@ -1241,7 +1241,7 @@ do_inbound_pipe (scheme *sc, pointer args)
|
|||
FFI_PROLOG ();
|
||||
int filedes[2];
|
||||
FFI_ARGS_DONE_OR_RETURN (sc, args);
|
||||
err = gnupg_create_pipe (filedes);
|
||||
err = gnupg_create_pipe (filedes, GNUPG_PIPE_INBOUND);
|
||||
#define IMC(A, B) \
|
||||
_cons (sc, sc->vptr->mk_integer (sc, (unsigned long) (A)), (B), 1)
|
||||
FFI_RETURN_POINTER (sc, IMC (filedes[0],
|
||||
|
@ -1255,7 +1255,7 @@ do_outbound_pipe (scheme *sc, pointer args)
|
|||
FFI_PROLOG ();
|
||||
int filedes[2];
|
||||
FFI_ARGS_DONE_OR_RETURN (sc, args);
|
||||
err = gnupg_create_pipe (filedes);
|
||||
err = gnupg_create_pipe (filedes, GNUPG_PIPE_OUTBOUND);
|
||||
#define IMC(A, B) \
|
||||
_cons (sc, sc->vptr->mk_integer (sc, (unsigned long) (A)), (B), 1)
|
||||
FFI_RETURN_POINTER (sc, IMC (filedes[0],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue