[PATCH] Some minor messaging cleanup patches

Volker Lendecke Volker.Lendecke at SerNet.DE
Thu Jul 24 07:29:07 MDT 2014


Hi!

Review would be appreciated!

Thanks,

Volker

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de
-------------- next part --------------
From 19bda049f57a520326f56560d7f9127628ffd32c Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Wed, 9 Jul 2014 13:06:45 +0000
Subject: [PATCH 1/4] messaging3: Remove two procid_str_static calls

... and thus implicit talloc_tos() calls

Signed-off-by: Volker Lendecke <vl at samba.org>
---
 source3/lib/messages.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/source3/lib/messages.c b/source3/lib/messages.c
index 9514392..9d77bf8 100644
--- a/source3/lib/messages.c
+++ b/source3/lib/messages.c
@@ -90,6 +90,7 @@ static void ping_message(struct messaging_context *msg_ctx,
 			 struct server_id src,
 			 DATA_BLOB *data)
 {
+	struct server_id_buf idbuf;
 	const char *msg = "none";
 	char *free_me = NULL;
 
@@ -98,8 +99,8 @@ static void ping_message(struct messaging_context *msg_ctx,
 					 data->length);
 		msg = free_me;
 	}
-	DEBUG(1,("INFO: Received PING message from PID %s [%s]\n",
-		 procid_str_static(&src), msg));
+	DEBUG(1, ("INFO: Received PING message from PID %s [%s]\n",
+		  server_id_str_buf(src, &idbuf), msg));
 	TALLOC_FREE(free_me);
 	messaging_send(msg_ctx, src, MSG_PONG, data);
 }
@@ -143,13 +144,15 @@ static int traverse_fn(struct db_record *rec, const struct server_id *id,
 				    (const uint8_t *)msg_all->buf, msg_all->len);
 
 	if (NT_STATUS_EQUAL(status, NT_STATUS_INVALID_HANDLE)) {
+		struct server_id_buf idbuf;
 
 		/*
 		 * If the pid was not found delete the entry from
 		 * serverid.tdb
 		 */
 
-		DEBUG(2, ("pid %s doesn't exist\n", procid_str_static(id)));
+		DEBUG(2, ("pid %s doesn't exist\n",
+			  server_id_str_buf(*id, &idbuf)));
 
 		dbwrap_record_delete(rec);
 	}
-- 
1.8.1.2


From 895eb394b2c1fbde3d4f99897f3a7b02b744ee60 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Wed, 9 Jul 2014 13:17:13 +0000
Subject: [PATCH 2/4] messaging3: Simplify ping_message()

The talloc_strnup was only used to \0-terminate the data for printing. The
same can be achieved by %.* in the printf format.

Signed-off-by: Volker Lendecke <vl at samba.org>
---
 source3/lib/messages.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/source3/lib/messages.c b/source3/lib/messages.c
index 9d77bf8..a308a09 100644
--- a/source3/lib/messages.c
+++ b/source3/lib/messages.c
@@ -91,17 +91,11 @@ static void ping_message(struct messaging_context *msg_ctx,
 			 DATA_BLOB *data)
 {
 	struct server_id_buf idbuf;
-	const char *msg = "none";
-	char *free_me = NULL;
 
-	if (data->data != NULL) {
-		free_me = talloc_strndup(talloc_tos(), (char *)data->data,
-					 data->length);
-		msg = free_me;
-	}
-	DEBUG(1, ("INFO: Received PING message from PID %s [%s]\n",
-		  server_id_str_buf(src, &idbuf), msg));
-	TALLOC_FREE(free_me);
+	DEBUG(1, ("INFO: Received PING message from PID %s [%.*s]\n",
+		  server_id_str_buf(src, &idbuf), (int)data->length,
+		  data->data ? (char *)data->data : ""));
+
 	messaging_send(msg_ctx, src, MSG_PONG, data);
 }
 
-- 
1.8.1.2


From d922d33ee6b21b1a5630bccab94fe3d155f7230b Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Thu, 17 Jul 2014 09:09:25 +0000
Subject: [PATCH 3/4] messaging4: Simplify ping_message with
 server_id_str_buf()

Signed-off-by: Volker Lendecke <vl at samba.org>
---
 source4/lib/messaging/messaging.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/source4/lib/messaging/messaging.c b/source4/lib/messaging/messaging.c
index 4242b1c..ffa668a 100644
--- a/source4/lib/messaging/messaging.c
+++ b/source4/lib/messaging/messaging.c
@@ -113,11 +113,10 @@ static void irpc_handler(struct imessaging_context *, void *,
 static void ping_message(struct imessaging_context *msg, void *private_data,
 			 uint32_t msg_type, struct server_id src, DATA_BLOB *data)
 {
-	char *task_id = server_id_str(NULL, &src);
+	struct server_id_buf idbuf;
 	DEBUG(1,("INFO: Received PING message from server %s [%.*s]\n",
-		 task_id, (int)data->length,
+		 server_id_str_buf(src, &idbuf), (int)data->length,
 		 data->data?(const char *)data->data:""));
-	talloc_free(task_id);
 	imessaging_send(msg, src, MSG_PONG, data);
 }
 
-- 
1.8.1.2


From ae26da809548cae0dcb1c55028cc8efa6b4697bb Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Wed, 9 Jul 2014 13:34:59 +0000
Subject: [PATCH 4/4] messaging3: Remove an unnecessary variable

We can inspect rec.buf with a debugger, no separate variable needed

Signed-off-by: Volker Lendecke <vl at samba.org>
---
 source3/lib/messages.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/source3/lib/messages.c b/source3/lib/messages.c
index a308a09..bbc5183 100644
--- a/source3/lib/messages.c
+++ b/source3/lib/messages.c
@@ -428,20 +428,17 @@ NTSTATUS messaging_send_iov(struct messaging_context *msg_ctx,
 	if (messaging_is_self_send(msg_ctx, &server)) {
 		struct messaging_rec rec;
 		uint8_t *buf;
-		DATA_BLOB data;
 
 		buf = iov_buf(talloc_tos(), iov, iovlen);
 		if (buf == NULL) {
 			return NT_STATUS_NO_MEMORY;
 		}
 
-		data = data_blob_const(buf, talloc_get_size(buf));
-
 		rec.msg_version = MESSAGE_VERSION;
 		rec.msg_type = msg_type & MSG_TYPE_MASK;
 		rec.dest = server;
 		rec.src = msg_ctx->id;
-		rec.buf = data;
+		rec.buf = data_blob_const(buf, talloc_get_size(buf));
 		messaging_dispatch_rec(msg_ctx, &rec);
 		TALLOC_FREE(buf);
 		return NT_STATUS_OK;
-- 
1.8.1.2



More information about the samba-technical mailing list