diff options
author | Werner Koch <[email protected]> | 2002-01-19 18:20:15 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2002-01-19 18:20:15 +0000 |
commit | f58da1883a7d62d75a0b24f05c911c96febc0a85 (patch) | |
tree | d7a80bddeb9e3e30594485ae577677db0f06a893 /assuan/assuan-pipe-server.c | |
parent | * gpg-agent.c: Removed unused cruft and implement the socket (diff) | |
download | gnupg-f58da1883a7d62d75a0b24f05c911c96febc0a85.tar.gz gnupg-f58da1883a7d62d75a0b24f05c911c96febc0a85.zip |
* assuan-buffer.c (_assuan_read_line): Add output logging.
(assuan_write_line): Ditto.
(_assuan_cookie_write_data): Ditto.
(_assuan_cookie_write_flush): Ditto.
* assuan-util.c (_assuan_log_print_buffer): New.
(assuan_set_log_stream): New.
(assuan_begin_confidential): New.
(assuan_end_confidential): New.
* assuan-defs.h: Add a few handler variables.
* assuan-pipe-server.c (assuan_deinit_pipe_server): Removed.
(deinit_pipe_server): New.
(assuan_deinit_server): New. Changed all callers to use this.
* assuan-listen.c (assuan_accept): Use the accept handler.
* assuan-handler.c (process_request): Use the close Handler.
* assuan-socket-server.c: New.
Diffstat (limited to '')
-rw-r--r-- | assuan/assuan-pipe-server.c | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/assuan/assuan-pipe-server.c b/assuan/assuan-pipe-server.c index 58f981a09..c283a925f 100644 --- a/assuan/assuan-pipe-server.c +++ b/assuan/assuan-pipe-server.c @@ -24,6 +24,26 @@ #include "assuan-defs.h" +static void +deinit_pipe_server (ASSUAN_CONTEXT ctx) +{ + /* nothing to do for this simple server */ +} + +static int +accept_connection (ASSUAN_CONTEXT ctx) +{ + /* This is a NOP for a pipe server */ + return 0; +} + +static int +finish_connection (ASSUAN_CONTEXT ctx) +{ + /* This is a NOP for a pipe server */ + return 0; +} + int assuan_init_pipe_server (ASSUAN_CONTEXT *r_ctx, int filedes[2]) @@ -43,6 +63,10 @@ assuan_init_pipe_server (ASSUAN_CONTEXT *r_ctx, int filedes[2]) ctx->outbound.fd = filedes[1]; ctx->pipe_mode = 1; + ctx->listen_fd = -1; + ctx->deinit_handler = deinit_pipe_server; + ctx->accept_handler = accept_connection; + ctx->finish_handler = finish_connection; rc = _assuan_register_std_commands (ctx); if (rc) @@ -52,11 +76,16 @@ assuan_init_pipe_server (ASSUAN_CONTEXT *r_ctx, int filedes[2]) return rc; } + void -assuan_deinit_pipe_server (ASSUAN_CONTEXT ctx) +assuan_deinit_server (ASSUAN_CONTEXT ctx) { if (ctx) { + /* We use this function pointer to avoid linking other server + when not needed but still allow for a generic deinit function */ + ctx->deinit_handler (ctx); + ctx->deinit_handler = NULL; xfree (ctx->hello_line); xfree (ctx->okay_line); xfree (ctx); @@ -70,5 +99,3 @@ assuan_deinit_pipe_server (ASSUAN_CONTEXT ctx) - - |