The branch, master has been updated
       via  652bf0c libhttp: Remove an unneeded include
       via  ff0eed6 dbwrap: Simplify dbwrap_unmarshall_fn
       via  ef2de24 dbwrap: Simplify dbwrap_trans_delete
       via  2ddf8e0 dbwrap: Simplify dbwrap_trans_store
       via  b01b7c9 dbwrap: Simplify dbwrap_store_uint32_bystring
       via  ae28e4d dbwrap: Simplify dbwrap_store_int32_bystring
       via  a11450d dbwrap: Convert dbwrap_delete to dbwrap_do_locked
       via  5095733 dbwrap: Convert dbwrap_store to dbwrap_do_locked
      from  0dbcd6a py-librpc: Strictly check the type of the incoming sid 
pointer

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


- Log -----------------------------------------------------------------
commit 652bf0ca7efcb13d7dab4a9f251a38af80c160a5
Author: Volker Lendecke <v...@samba.org>
Date:   Wed Jul 26 15:18:16 2017 +0200

    libhttp: Remove an unneeded include
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>
    
    Autobuild-User(master): Jeremy Allison <j...@samba.org>
    Autobuild-Date(master): Wed Aug 16 04:11:47 CEST 2017 on sn-devel-144

commit ff0eed62d3334cd720122d97e38df9cf8651acc7
Author: Volker Lendecke <v...@samba.org>
Date:   Wed Jul 26 15:14:51 2017 +0200

    dbwrap: Simplify dbwrap_unmarshall_fn
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

commit ef2de247c1d0887283cb8dfc25d9e48252a2c9e2
Author: Volker Lendecke <v...@samba.org>
Date:   Wed Jul 26 15:12:21 2017 +0200

    dbwrap: Simplify dbwrap_trans_delete
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

commit 2ddf8e0abc235f396d4b70f9cb22f55d21dffdc5
Author: Volker Lendecke <v...@samba.org>
Date:   Wed Jul 26 15:10:55 2017 +0200

    dbwrap: Simplify dbwrap_trans_store
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

commit b01b7c9ef9ef45205c6eb49a5959d8718559fd79
Author: Volker Lendecke <v...@samba.org>
Date:   Wed Jul 26 14:56:53 2017 +0200

    dbwrap: Simplify dbwrap_store_uint32_bystring
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

commit ae28e4db441baff83e374086aa9c5a0c06435f92
Author: Volker Lendecke <v...@samba.org>
Date:   Wed Jul 26 14:56:53 2017 +0200

    dbwrap: Simplify dbwrap_store_int32_bystring
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

commit a11450d825b756ca8880c6307e38a6ce072fff54
Author: Volker Lendecke <v...@samba.org>
Date:   Wed Nov 9 16:37:49 2016 +0100

    dbwrap: Convert dbwrap_delete to dbwrap_do_locked
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

commit 5095733f923158701fb5a566cd16c2112d51e1c4
Author: Volker Lendecke <v...@samba.org>
Date:   Wed Nov 9 16:34:28 2016 +0100

    dbwrap: Convert dbwrap_store to dbwrap_do_locked
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

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

Summary of changes:
 lib/dbwrap/dbwrap.c      | 51 ++++++++++++++++++++------------
 lib/dbwrap/dbwrap_util.c | 76 ++++++++++--------------------------------------
 source4/lib/http/http.c  |  1 -
 3 files changed, 49 insertions(+), 79 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/dbwrap/dbwrap.c b/lib/dbwrap/dbwrap.c
index 22437f6..e1d792f 100644
--- a/lib/dbwrap/dbwrap.c
+++ b/lib/dbwrap/dbwrap.c
@@ -301,38 +301,53 @@ bool dbwrap_exists(struct db_context *db, TDB_DATA key)
        return (result == 1);
 }
 
+struct dbwrap_store_state {
+       TDB_DATA data;
+       int flags;
+       NTSTATUS status;
+};
+
+static void dbwrap_store_fn(struct db_record *rec, void *private_data)
+{
+       struct dbwrap_store_state *state = private_data;
+       state->status = dbwrap_record_store(rec, state->data, state->flags);
+}
+
 NTSTATUS dbwrap_store(struct db_context *db, TDB_DATA key,
                      TDB_DATA data, int flags)
 {
-       struct db_record *rec;
+       struct dbwrap_store_state state = { .data = data, .flags = flags };
        NTSTATUS status;
-       TALLOC_CTX *frame = talloc_stackframe();
 
-       rec = dbwrap_fetch_locked(db, frame, key);
-       if (rec == NULL) {
-               TALLOC_FREE(frame);
-               return NT_STATUS_NO_MEMORY;
+       status = dbwrap_do_locked(db, key, dbwrap_store_fn, &state);
+       if (!NT_STATUS_IS_OK(status)) {
+               return status;
        }
 
-       status = dbwrap_record_store(rec, data, flags);
-       TALLOC_FREE(frame);
-       return status;
+       return state.status;
+}
+
+struct dbwrap_delete_state {
+       NTSTATUS status;
+};
+
+static void dbwrap_delete_fn(struct db_record *rec, void *private_data)
+{
+       struct dbwrap_delete_state *state = private_data;
+       state->status = dbwrap_record_delete(rec);
 }
 
 NTSTATUS dbwrap_delete(struct db_context *db, TDB_DATA key)
 {
-       struct db_record *rec;
+       struct dbwrap_delete_state state;
        NTSTATUS status;
-       TALLOC_CTX *frame = talloc_stackframe();
 
-       rec = dbwrap_fetch_locked(db, frame, key);
-       if (rec == NULL) {
-               TALLOC_FREE(frame);
-               return NT_STATUS_NO_MEMORY;
+       status = dbwrap_do_locked(db, key, dbwrap_delete_fn, &state);
+       if (!NT_STATUS_IS_OK(status)) {
+               return status;
        }
-       status = dbwrap_record_delete(rec);
-       TALLOC_FREE(frame);
-       return status;
+
+       return state.status;
 }
 
 NTSTATUS dbwrap_traverse(struct db_context *db,
diff --git a/lib/dbwrap/dbwrap_util.c b/lib/dbwrap/dbwrap_util.c
index 22f910d..df6dea4 100644
--- a/lib/dbwrap/dbwrap_util.c
+++ b/lib/dbwrap/dbwrap_util.c
@@ -77,23 +77,14 @@ NTSTATUS dbwrap_fetch_int32_bystring(struct db_context *db, 
const char *keystr,
 NTSTATUS dbwrap_store_int32_bystring(struct db_context *db, const char *keystr,
                                     int32_t v)
 {
-       struct db_record *rec;
-       int32_t v_store;
+       uint8_t v_store[sizeof(int32_t)];
+       TDB_DATA data = { .dptr = v_store, .dsize = sizeof(v_store) };
        NTSTATUS status;
 
-       rec = dbwrap_fetch_locked(db, talloc_tos(),
-                                 string_term_tdb_data(keystr));
-       if (rec == NULL) {
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       SIVAL(&v_store, 0, v);
+       SIVAL(v_store, 0, v);
 
-       status = dbwrap_record_store(rec,
-                                    make_tdb_data((const uint8_t *)&v_store,
-                                                  sizeof(v_store)),
-                                    TDB_REPLACE);
-       TALLOC_FREE(rec);
+       status = dbwrap_store(db, string_term_tdb_data(keystr), data,
+                             TDB_REPLACE);
        return status;
 }
 
@@ -142,23 +133,14 @@ NTSTATUS dbwrap_fetch_uint32_bystring(struct db_context 
*db,
 NTSTATUS dbwrap_store_uint32_bystring(struct db_context *db,
                                      const char *keystr, uint32_t v)
 {
-       struct db_record *rec;
-       uint32_t v_store;
+       uint8_t v_store[sizeof(uint32_t)];
+       TDB_DATA data = { .dptr = v_store, .dsize = sizeof(v_store) };
        NTSTATUS status;
 
-       rec = dbwrap_fetch_locked(db, talloc_tos(),
-                                 string_term_tdb_data(keystr));
-       if (rec == NULL) {
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       SIVAL(&v_store, 0, v);
+       SIVAL(v_store, 0, v);
 
-       status = dbwrap_record_store(rec,
-                                    make_tdb_data((const uint8_t *)&v_store,
-                                                  sizeof(v_store)),
-                                    TDB_REPLACE);
-       TALLOC_FREE(rec);
+       status = dbwrap_store(db, string_term_tdb_data(keystr), data,
+                             TDB_REPLACE);
        return status;
 }
 
@@ -362,24 +344,17 @@ struct dbwrap_store_context {
 
 static NTSTATUS dbwrap_store_action(struct db_context *db, void *private_data)
 {
-       struct db_record *rec = NULL;
        NTSTATUS status;
        struct dbwrap_store_context *store_ctx;
 
        store_ctx = (struct dbwrap_store_context *)private_data;
 
-       rec = dbwrap_fetch_locked(db, talloc_tos(), *(store_ctx->key));
-       if (rec == NULL) {
-               DEBUG(5, ("fetch_locked failed\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       status = dbwrap_record_store(rec, *(store_ctx->dbuf), store_ctx->flag);
+       status = dbwrap_store(db, *(store_ctx->key), *(store_ctx->dbuf),
+                             store_ctx->flag);
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(5, ("store returned %s\n", nt_errstr(status)));
        }
 
-       TALLOC_FREE(rec);
        return status;
 }
 
@@ -401,22 +376,13 @@ NTSTATUS dbwrap_trans_store(struct db_context *db, 
TDB_DATA key, TDB_DATA dbuf,
 static NTSTATUS dbwrap_delete_action(struct db_context * db, void 
*private_data)
 {
        NTSTATUS status;
-       struct db_record *rec;
        TDB_DATA *key = (TDB_DATA *)private_data;
 
-       rec = dbwrap_fetch_locked(db, talloc_tos(), *key);
-       if (rec == NULL) {
-               DEBUG(5, ("fetch_locked failed\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       status = dbwrap_record_delete(rec);
+       status = dbwrap_delete(db, *key);
        if (!NT_STATUS_IS_OK(status)) {
                DBG_INFO("dbwrap_record_delete returned %s\n",
                         nt_errstr(status));
        }
-
-       talloc_free(rec);
        return  status;
 }
 
@@ -743,22 +709,12 @@ static bool dbwrap_unmarshall_fn(TDB_DATA key, TDB_DATA 
value,
                                 void *private_data)
 {
        struct dbwrap_unmarshall_state *state = private_data;
-       struct db_record *rec;
        NTSTATUS status;
 
-       rec = dbwrap_fetch_locked(state->db, state->db, key);
-       if (rec == NULL) {
-               DEBUG(10, ("%s: dbwrap_fetch_locked failed\n",
-                          __func__));
-               state->ret = NT_STATUS_NO_MEMORY;
-               return false;
-       }
-
-       status = dbwrap_record_store(rec, value, 0);
-       TALLOC_FREE(rec);
+       status = dbwrap_store(state->db, key, value, 0);
        if (!NT_STATUS_IS_OK(status)) {
-               DEBUG(10, ("%s: dbwrap_record_store failed: %s\n",
-                          __func__, nt_errstr(status)));
+               DBG_DEBUG("dbwrap_record_store failed: %s\n",
+                         nt_errstr(status));
                state->ret = status;
                return false;
        }
diff --git a/source4/lib/http/http.c b/source4/lib/http/http.c
index 8fac33f..659cba0 100644
--- a/source4/lib/http/http.c
+++ b/source4/lib/http/http.c
@@ -20,7 +20,6 @@
 */
 
 #include "includes.h"
-#include <talloc_dict.h>
 #include "lib/util/tevent_ntstatus.h"
 #include "http.h"
 #include "http_internal.h"


-- 
Samba Shared Repository

Reply via email to