[Pkg-gnupg-commit] [libassuan] 62/437: 2002-11-24 Neal H. Walfield <neal at g10code.de>
Eric Dorland
eric at moszumanska.debian.org
Fri May 22 05:33:24 UTC 2015
This is an automated email from the git hooks/post-receive script.
eric pushed a commit to branch master
in repository libassuan.
commit 9404e15fa162ca70ca5d2d4e6da04742171c1946
Author: Neal Walfield <neal at walfield.org>
Date: Sun Nov 24 16:08:49 2002 +0000
2002-11-24 Neal H. Walfield <neal at g10code.de>
* assuan-domain-connect.c (do_finish): Remove.
(_assuan_domain_init): Use default handlers where possible.
Add an assert and update comments.
* assuan-domain-server.c (accept_connection): Remove.
(assuan_init_domain_server): Use default handlers where possible.
Put the server in pipe mode: it can only be used by a single
client.
---
src/ChangeLog | 10 ++++++++++
src/assuan-domain-connect.c | 22 +++++++++++-----------
src/assuan-domain-server.c | 10 ++--------
3 files changed, 23 insertions(+), 19 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 2a2355f..eeb286d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,15 @@
2002-11-24 Neal H. Walfield <neal at g10code.de>
+ * assuan-domain-connect.c (do_finish): Remove.
+ (_assuan_domain_init): Use default handlers where possible.
+ Add an assert and update comments.
+ * assuan-domain-server.c (accept_connection): Remove.
+ (assuan_init_domain_server): Use default handlers where possible.
+ Put the server in pipe mode: it can only be used by a single
+ client.
+
+2002-11-24 Neal H. Walfield <neal at g10code.de>
+
* assuan.h: Add prototype for assuan_domain_connect and
assuan_init_domain_server.
* assuan-defs.h: Include <unistd.h>.
diff --git a/src/assuan-domain-connect.c b/src/assuan-domain-connect.c
index 86f85e2..d50ba1e 100644
--- a/src/assuan-domain-connect.c
+++ b/src/assuan-domain-connect.c
@@ -49,12 +49,6 @@
#define LOGERRORX(a) fputs ((a), stderr)
#endif
-static int
-do_finish (ASSUAN_CONTEXT ctx)
-{
- return 0;
-}
-
static void
do_deinit (ASSUAN_CONTEXT ctx)
{
@@ -69,7 +63,6 @@ do_deinit (ASSUAN_CONTEXT ctx)
free (ctx->domainbuffer);
}
- /* XXX: Do we want to do this? Most likely. */
unlink (ctx->myaddr.sun_path);
}
@@ -191,7 +184,7 @@ domain_reader (ASSUAN_CONTEXT ctx, void *buf, size_t buflen)
return len;
}
-/* Write to the pipe server. */
+/* Write to the domain server. */
static ssize_t
domain_writer (ASSUAN_CONTEXT ctx, const void *buf, size_t buflen)
{
@@ -245,8 +238,11 @@ _assuan_domain_init (ASSUAN_CONTEXT *r_ctx,
/* Save it in case we need it later. */
ctx->pid = peer;
+
+ /* Override the default (NOP) handlers. */
ctx->deinit_handler = do_deinit;
- ctx->finish_handler = do_finish;
+
+ /* Setup the socket. */
fd = socket (PF_LOCAL, SOCK_DGRAM, 0);
if (fd == -1)
@@ -258,8 +254,10 @@ _assuan_domain_init (ASSUAN_CONTEXT *r_ctx,
ctx->inbound.fd = fd;
ctx->outbound.fd = fd;
- ctx->io = &io;
+ /* And the io buffers. */
+
+ ctx->io = &io;
ctx->domainbuffer = 0;
ctx->domainbufferoffset = 0;
ctx->domainbuffersize = 0;
@@ -270,9 +268,11 @@ _assuan_domain_init (ASSUAN_CONTEXT *r_ctx,
for (tries = 0; tries < TMP_MAX; tries ++)
{
char *p;
- /* XXX: L_tmpnam must be shorter than sizeof (sun_path)! */
char buf[L_tmpnam];
+ /* XXX: L_tmpnam must be shorter than sizeof (sun_path)! */
+ assert (L_tmpnam < sizeof (ctx->myaddr.sun_path));
+
p = tmpnam (buf);
if (! p)
{
diff --git a/src/assuan-domain-server.c b/src/assuan-domain-server.c
index 506ee05..b62b140 100644
--- a/src/assuan-domain-server.c
+++ b/src/assuan-domain-server.c
@@ -26,13 +26,6 @@
#include "assuan-defs.h"
-static int
-accept_connection (ASSUAN_CONTEXT ctx)
-{
- /* NOP. */
- return 0;
-}
-
/* Initialize a server. */
AssuanError
assuan_init_domain_server (ASSUAN_CONTEXT *r_ctx,
@@ -46,7 +39,8 @@ assuan_init_domain_server (ASSUAN_CONTEXT *r_ctx,
return err;
(*r_ctx)->is_server = 1;
- (*r_ctx)->accept_handler = accept_connection;
+ /* A domain server can only be used once. */
+ (*r_ctx)->pipe_mode = 1;
return 0;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/libassuan.git
More information about the Pkg-gnupg-commit
mailing list