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 <me...@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 <me...@samba.org>
    Reviewed-by: Andreas Schneider <a...@samba.org>
    
    Autobuild-User(master): Andreas Schneider <a...@cryptomilk.org>
    Autobuild-Date(master): Wed Feb  5 10:13:02 UTC 2020 on sn-devel-184

commit 0344b92b652075f5679222504fe029b105f46f7b
Author: Stefan Metzmacher <me...@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 <me...@samba.org>
    Reviewed-by: Andreas Schneider <a...@samba.org>

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

    s4:param: add secrets_db_create() helper function
    
    Signed-off-by: Stefan Metzmacher <me...@samba.org>
    Reviewed-by: Andreas Schneider <a...@samba.org>

commit c80a51c69d6ae849c859e58aae85c7c98c927963
Author: Stefan Metzmacher <me...@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 <me...@samba.org>
    Reviewed-by: Andreas Schneider <a...@samba.org>

commit 87ae154ef99f0b01a8be1d2c1a8847814a2b3d4c
Author: Stefan Metzmacher <me...@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 <me...@samba.org>
    Reviewed-by: Andreas Schneider <a...@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

Reply via email to