From a6bb4e27e76ea583a0ae13569cf0ec78d9849cca Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Mon, 9 Jan 2017 22:33:55 +0100 Subject: [PATCH] s4/messaging: register for MSG_REQ_RINGBUF_LOG Signed-off-by: Ralph Boehme Reviewed-by: Volker Lendecke --- source4/lib/messaging/messaging.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/source4/lib/messaging/messaging.c b/source4/lib/messaging/messaging.c index 6fca9b8433a..22d3ad87602 100644 --- a/source4/lib/messaging/messaging.c +++ b/source4/lib/messaging/messaging.c @@ -114,6 +114,27 @@ static void pool_message(struct imessaging_context *msg, void *private_data, talloc_free(report); } +static void ringbuf_log_msg(struct imessaging_context *msg, + void *private_data, + uint32_t msg_type, + struct server_id src, + DATA_BLOB *data) +{ + char *log = debug_get_ringbuf(); + size_t logsize = debug_get_ringbuf_size(); + DATA_BLOB blob; + + if (log == NULL) { + log = discard_const_p(char, "*disabled*\n"); + logsize = strlen(log) + 1; + } + + blob.data = (uint8_t *)log; + blob.length = logsize; + + imessaging_send(msg, src, MSG_RINGBUF_LOG, &blob); +} + /* return uptime of messaging server via irpc */ @@ -408,6 +429,7 @@ struct imessaging_context *imessaging_init(TALLOC_CTX *mem_ctx, imessaging_register(msg, NULL, MSG_PING, ping_message); imessaging_register(msg, NULL, MSG_REQ_POOL_USAGE, pool_message); imessaging_register(msg, NULL, MSG_IRPC, irpc_handler); + imessaging_register(msg, NULL, MSG_REQ_RINGBUF_LOG, ringbuf_log_msg); IRPC_REGISTER(msg, irpc, IRPC_UPTIME, irpc_uptime, msg); DLIST_ADD(msg_ctxs, msg); -- 2.47.2