From 69f9ff7d82484803d589e6570e8989b49f3dde2c Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 14 Sep 2014 17:52:07 +0200 Subject: unix_msg: remove cookie from unix_msg_init "pid" and "sock" are sufficient I guess as randomizers to distinguish messages. In theory, a pid could be recycled very quickly, which might mix up in-flight messages. But once a few messages have passed, "cookie" would be incremented as another indicator of a fresh message. Why? Remove messages_dgm dependency on samba-util Signed-off-by: Volker Lendecke Reviewed-by: Stefan Metzmacher --- source3/lib/messages_dgm.c | 5 +---- source3/lib/unix_msg/test_drain.c | 2 +- source3/lib/unix_msg/test_source.c | 2 +- source3/lib/unix_msg/tests.c | 9 +++------ source3/lib/unix_msg/unix_msg.c | 4 ++-- source3/lib/unix_msg/unix_msg.h | 3 +-- 6 files changed, 9 insertions(+), 16 deletions(-) (limited to 'source3/lib') diff --git a/source3/lib/messages_dgm.c b/source3/lib/messages_dgm.c index b64b2b0a75..1602caf9bd 100644 --- a/source3/lib/messages_dgm.c +++ b/source3/lib/messages_dgm.c @@ -144,7 +144,6 @@ int messaging_dgm_init(struct tevent_context *ev, struct messaging_dgm_context *ctx; int ret; struct sockaddr_un socket_address; - uint64_t cookie; size_t len; static bool have_dgm_context = false; @@ -205,9 +204,7 @@ int messaging_dgm_init(struct tevent_context *ev, unlink(socket_address.sun_path); - generate_random_buffer((uint8_t *)&cookie, sizeof(cookie)); - - ret = unix_msg_init(&socket_address, ctx->msg_callbacks, 1024, cookie, + ret = unix_msg_init(&socket_address, ctx->msg_callbacks, 1024, messaging_dgm_recv, ctx, &ctx->dgm_ctx); if (ret != 0) { DEBUG(1, ("unix_msg_init failed: %s\n", strerror(ret))); diff --git a/source3/lib/unix_msg/test_drain.c b/source3/lib/unix_msg/test_drain.c index 9d740421f3..675ac6f94e 100644 --- a/source3/lib/unix_msg/test_drain.c +++ b/source3/lib/unix_msg/test_drain.c @@ -52,7 +52,7 @@ int main(int argc, const char *argv[]) exit(1); } - ret = unix_msg_init(&addr, funcs, 256, 1, recv_cb, &state, &ctx); + ret = unix_msg_init(&addr, funcs, 256, recv_cb, &state, &ctx); if (ret != 0) { fprintf(stderr, "unix_msg_init failed: %s\n", strerror(ret)); diff --git a/source3/lib/unix_msg/test_source.c b/source3/lib/unix_msg/test_source.c index 5224ebff6f..3b6526763a 100644 --- a/source3/lib/unix_msg/test_source.c +++ b/source3/lib/unix_msg/test_source.c @@ -46,7 +46,7 @@ int main(int argc, const char *argv[]) } for (i=0; i