[SCM] Samba Shared Repository - branch master updated

Andreas Schneider asn at samba.org
Wed Feb 5 10:14:02 UTC 2020


The branch, master has been updated
       via  6cbd7d1a32c s4:param: make sure secrets_db_connect() no longer creates on empty secrets.ldb
       via  0344b92b652 s4:param: make use of secrets_db_create() in provision_store_self_join()
       via  32f75621479 s4:param: add secrets_db_create() helper function
       via  c80a51c69d6 libcli/nbt: avoid talloc_reference() in nbt_name_*_send()
       via  87ae154ef99 s4:rpc_server/lsa: remove some useless talloc_reference() calls
      from  d459ca04fc4 libcli:smb: Improve check for gnutls_aead_cipher_(en|de)cryptv2

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 6cbd7d1a32cc7ccfb8d06eacdcade41d96b54519
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 16:16:48 2020 +0100

    s4:param: make sure secrets_db_connect() no longer creates on empty secrets.ldb
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    
    Autobuild-User(master): Andreas Schneider <asn at cryptomilk.org>
    Autobuild-Date(master): Wed Feb  5 10:13:02 UTC 2020 on sn-devel-184

commit 0344b92b652075f5679222504fe029b105f46f7b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 16:15:53 2020 +0100

    s4:param: make use of secrets_db_create() in provision_store_self_join()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 32f756214791dd78dd7b69bd8c914eb58d505476
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 16:14:55 2020 +0100

    s4:param: add secrets_db_create() helper function
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit c80a51c69d6ae849c859e58aae85c7c98c927963
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 8 18:11:23 2013 +0200

    libcli/nbt: avoid talloc_reference() in nbt_name_*_send()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 87ae154ef99f0b01a8be1d2c1a8847814a2b3d4c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 16:09:46 2020 +0100

    s4:rpc_server/lsa: remove some useless talloc_reference() calls
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 libcli/nbt/nbtsocket.c              |  8 ++++----
 source4/param/provision.c           |  4 ++--
 source4/param/secrets.c             | 12 +++++++++++-
 source4/param/secrets.h             |  2 ++
 source4/rpc_server/lsa/dcesrv_lsa.c | 20 ++++++++++----------
 5 files changed, 29 insertions(+), 17 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/nbt/nbtsocket.c b/libcli/nbt/nbtsocket.c
index 38a2192fbcd..f682b233fd1 100644
--- a/libcli/nbt/nbtsocket.c
+++ b/libcli/nbt/nbtsocket.c
@@ -387,8 +387,8 @@ struct nbt_name_request *nbt_name_request_send(TALLOC_CTX *mem_ctx,
 	req->is_reply               = false;
 	req->timeout                = timeout;
 	req->num_retries            = retries;
-	req->dest                   = dest;
-	if (talloc_reference(req, dest) == NULL) goto failed;
+	req->dest                   = socket_address_copy(req, dest);
+	if (req->dest == NULL) goto failed;
 
 	/* we select a random transaction id unless the user supplied one */
 	if (request->name_trn_id == 0) {
@@ -446,8 +446,8 @@ _PUBLIC_ NTSTATUS nbt_name_reply_send(struct nbt_name_socket *nbtsock,
 	NT_STATUS_HAVE_NO_MEMORY(req);
 
 	req->nbtsock   = nbtsock;
-	req->dest = dest;
-	if (talloc_reference(req, dest) == NULL) goto failed;
+	req->dest = socket_address_copy(req, dest);
+	if (req->dest == NULL) goto failed;
 	req->state     = NBT_REQUEST_SEND;
 	req->is_reply = true;
 
diff --git a/source4/param/provision.c b/source4/param/provision.c
index 395516dc3ae..ad972bbc2dc 100644
--- a/source4/param/provision.c
+++ b/source4/param/provision.c
@@ -345,8 +345,8 @@ NTSTATUS provision_store_self_join(TALLOC_CTX *mem_ctx, struct loadparm_context
 		goto out;
 	}
 
-	/* Open the secrets database */
-	ldb = secrets_db_connect(tmp_mem, lp_ctx);
+	/* Create/Open the secrets database */
+	ldb = secrets_db_create(tmp_mem, lp_ctx);
 	if (!ldb) {
 		*error_string
 			= talloc_asprintf(mem_ctx, 
diff --git a/source4/param/secrets.c b/source4/param/secrets.c
index 987408829ea..1df8620f53a 100644
--- a/source4/param/secrets.c
+++ b/source4/param/secrets.c
@@ -32,6 +32,16 @@
 #include "librpc/gen_ndr/ndr_security.h"
 #include "dsdb/samdb/samdb.h"
 
+/**
+  create or connect to the secrets ldb
+*/
+struct ldb_context *secrets_db_create(TALLOC_CTX *mem_ctx,
+				      struct loadparm_context *lp_ctx)
+{
+	return ldb_wrap_connect(mem_ctx, NULL, lp_ctx, "secrets.ldb",
+			       NULL, NULL, 0);
+}
+
 /**
   connect to the secrets ldb
 */
@@ -39,7 +49,7 @@ struct ldb_context *secrets_db_connect(TALLOC_CTX *mem_ctx,
 					struct loadparm_context *lp_ctx)
 {
 	return ldb_wrap_connect(mem_ctx, NULL, lp_ctx, "secrets.ldb",
-			       NULL, NULL, 0);
+			       NULL, NULL, LDB_FLG_DONT_CREATE_DB);
 }
 
 /**
diff --git a/source4/param/secrets.h b/source4/param/secrets.h
index 015ea120041..1d2dc2b93a4 100644
--- a/source4/param/secrets.h
+++ b/source4/param/secrets.h
@@ -37,6 +37,8 @@ struct ldb_context;
 
 bool randseed_init(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx);
 
+struct ldb_context *secrets_db_create(TALLOC_CTX *mem_ctx,
+				      struct loadparm_context *lp_ctx);
 struct ldb_context *secrets_db_connect(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx);
 struct dom_sid *secrets_get_domain_sid(TALLOC_CTX *mem_ctx,
 				       struct loadparm_context *lp_ctx,
diff --git a/source4/rpc_server/lsa/dcesrv_lsa.c b/source4/rpc_server/lsa/dcesrv_lsa.c
index 8cd983c7a18..8333cb149b6 100644
--- a/source4/rpc_server/lsa/dcesrv_lsa.c
+++ b/source4/rpc_server/lsa/dcesrv_lsa.c
@@ -3230,7 +3230,6 @@ static NTSTATUS dcesrv_lsa_CreateSecret(struct dcesrv_call_state *dce_call, TALL
 	struct lsa_secret_state *secret_state;
 	struct dcesrv_handle *handle;
 	struct ldb_message **msgs, *msg;
-	struct ldb_context *samdb = NULL;
 	const char *attrs[] = {
 		NULL
 	};
@@ -3291,8 +3290,8 @@ static NTSTATUS dcesrv_lsa_CreateSecret(struct dcesrv_call_state *dce_call, TALL
 		 * logging to report the remote users details, rather than the
 		 * system users details.
 		 */
-		samdb = dcesrv_samdb_connect_as_system(mem_ctx, dce_call);
-		secret_state->sam_ldb = talloc_reference(secret_state, samdb);
+		secret_state->sam_ldb =
+			dcesrv_samdb_connect_as_system(secret_state, dce_call);
 		NT_STATUS_HAVE_NO_MEMORY(secret_state->sam_ldb);
 
 		/* search for the secret record */
@@ -3326,8 +3325,8 @@ static NTSTATUS dcesrv_lsa_CreateSecret(struct dcesrv_call_state *dce_call, TALL
 			return NT_STATUS_INVALID_PARAMETER;
 		}
 
-		secret_state->sam_ldb = talloc_reference(secret_state,
-							 secrets_db_connect(mem_ctx, dce_call->conn->dce_ctx->lp_ctx));
+		secret_state->sam_ldb = secrets_db_connect(secret_state,
+					dce_call->conn->dce_ctx->lp_ctx);
 		NT_STATUS_HAVE_NO_MEMORY(secret_state->sam_ldb);
 
 		/* search for the secret record */
@@ -3396,7 +3395,6 @@ static NTSTATUS dcesrv_lsa_OpenSecret(struct dcesrv_call_state *dce_call, TALLOC
 	struct lsa_secret_state *secret_state;
 	struct dcesrv_handle *handle;
 	struct ldb_message **msgs;
-	struct ldb_context *samdb = NULL;
 	const char *attrs[] = {
 		NULL
 	};
@@ -3439,8 +3437,9 @@ static NTSTATUS dcesrv_lsa_OpenSecret(struct dcesrv_call_state *dce_call, TALLOC
 		 * logging to report the remote users details, rather than the
 		 * system users details.
 		 */
-		samdb = dcesrv_samdb_connect_as_system(mem_ctx, dce_call);
-		secret_state->sam_ldb = talloc_reference(secret_state, samdb);
+		secret_state->sam_ldb =
+			dcesrv_samdb_connect_as_system(secret_state, dce_call);
+		NT_STATUS_HAVE_NO_MEMORY(secret_state->sam_ldb);
 		secret_state->global = true;
 
 		if (strlen(name) < 1) {
@@ -3463,8 +3462,9 @@ static NTSTATUS dcesrv_lsa_OpenSecret(struct dcesrv_call_state *dce_call, TALLOC
 		}
 	} else {
 		secret_state->global = false;
-		secret_state->sam_ldb = talloc_reference(secret_state,
-							 secrets_db_connect(mem_ctx, dce_call->conn->dce_ctx->lp_ctx));
+		secret_state->sam_ldb = secrets_db_connect(secret_state,
+					dce_call->conn->dce_ctx->lp_ctx);
+		NT_STATUS_HAVE_NO_MEMORY(secret_state->sam_ldb);
 
 		name = r->in.name.string;
 		if (strlen(name) < 1) {


-- 
Samba Shared Repository



More information about the samba-cvs mailing list