[SCM] Samba Shared Repository - branch master updated
Ralph Böhme
slow at samba.org
Thu Feb 8 13:51:02 UTC 2018
The branch, master has been updated
via be3c8d0 lib: Make g_lock_locks use TDB_DATA
via 67fcc7d lib: Make g_lock_dump use TDB_DATA
via a6c749e lib: Make g_lock_do use TDB_DATA
via ed3521d lib: Make g_lock_write_data use TDB_DATA
via a104e08 lib: Make g_lock_unlock use TDB_DATA
via bdeb7e7 lib: Make g_lock_lock use TDB_DATA
via 3bc87a2 lib: Make g_lock_lock_send use TDB_DATA
from c7d0e6f samba-tool/tests: Check that dns cleanup does not spuriously remove entries
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit be3c8d08ec6331c2d4c1724cb3933c34fb7d7f0f
Author: Volker Lendecke <vl at samba.org>
Date: Sun Dec 3 20:47:02 2017 +0100
lib: Make g_lock_locks use TDB_DATA
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
Autobuild-User(master): Ralph Böhme <slow at samba.org>
Autobuild-Date(master): Thu Feb 8 14:50:49 CET 2018 on sn-devel-144
commit 67fcc7dbb9ad63886c594b1f563b6c1d2060cbd1
Author: Volker Lendecke <vl at samba.org>
Date: Sun Dec 3 20:47:02 2017 +0100
lib: Make g_lock_dump use TDB_DATA
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit a6c749e76cd4f3be0f3a0db81324491314b949c0
Author: Volker Lendecke <vl at samba.org>
Date: Sun Dec 3 20:47:02 2017 +0100
lib: Make g_lock_do use TDB_DATA
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit ed3521d1729a7bda1f127f4c5a754bf01b174665
Author: Volker Lendecke <vl at samba.org>
Date: Sun Dec 3 20:47:02 2017 +0100
lib: Make g_lock_write_data use TDB_DATA
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit a104e08171b50b9e23dc1869049d12e0c6176979
Author: Volker Lendecke <vl at samba.org>
Date: Sun Dec 3 20:47:02 2017 +0100
lib: Make g_lock_unlock use TDB_DATA
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit bdeb7e7d8185a112064930edbf0cf1ee5b72999e
Author: Volker Lendecke <vl at samba.org>
Date: Sun Dec 3 20:47:02 2017 +0100
lib: Make g_lock_lock use TDB_DATA
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 3bc87a20e9c6af358749c0b9d17e03a281086d3e
Author: Volker Lendecke <vl at samba.org>
Date: Sun Dec 3 20:47:02 2017 +0100
lib: Make g_lock_lock_send use TDB_DATA
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
-----------------------------------------------------------------------
Summary of changes:
libcli/auth/netlogon_creds_cli.c | 9 ++---
source3/include/g_lock.h | 14 ++++----
source3/lib/dbwrap/dbwrap_ctdb.c | 7 ++--
source3/lib/g_lock.c | 72 +++++++++++++++++++-------------------
source3/libsmb/trusts_util.c | 6 ++--
source3/smbd/server.c | 14 ++++----
source3/torture/test_g_lock.c | 75 ++++++++++++++++++++++++----------------
source3/utils/net_g_lock.c | 14 +++++---
source3/utils/net_registry.c | 5 +--
9 files changed, 123 insertions(+), 93 deletions(-)
Changeset truncated at 500 lines:
diff --git a/libcli/auth/netlogon_creds_cli.c b/libcli/auth/netlogon_creds_cli.c
index cb3d6a9..fdd1195 100644
--- a/libcli/auth/netlogon_creds_cli.c
+++ b/libcli/auth/netlogon_creds_cli.c
@@ -93,7 +93,7 @@ static int netlogon_creds_cli_locked_state_destructor(
if (state->is_glocked) {
g_lock_unlock(context->db.g_ctx,
- context->db.key_name);
+ string_term_tdb_data(context->db.key_name));
}
return 0;
@@ -765,7 +765,7 @@ struct tevent_req *netlogon_creds_cli_lock_send(TALLOC_CTX *mem_ctx,
subreq = g_lock_lock_send(state, ev,
context->db.g_ctx,
- context->db.key_name,
+ string_term_tdb_data(context->db.key_name),
G_LOCK_WRITE);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
@@ -978,7 +978,7 @@ struct tevent_req *netlogon_creds_cli_lck_send(
subreq = g_lock_lock_send(state, ev,
context->db.g_ctx,
- context->db.key_name,
+ string_term_tdb_data(context->db.key_name),
gtype);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
@@ -1014,7 +1014,8 @@ static int netlogon_creds_cli_lck_destructor(
struct netlogon_creds_cli_context *ctx = lck->context;
NTSTATUS status;
- status = g_lock_unlock(ctx->db.g_ctx, ctx->db.key_name);
+ status = g_lock_unlock(ctx->db.g_ctx,
+ string_term_tdb_data(ctx->db.key_name));
if (!NT_STATUS_IS_OK(status)) {
DBG_WARNING("g_lock_unlock failed: %s\n", nt_errstr(status));
smb_panic("g_lock_unlock failed");
diff --git a/source3/include/g_lock.h b/source3/include/g_lock.h
index e6d4de1..c3e3a50 100644
--- a/source3/include/g_lock.h
+++ b/source3/include/g_lock.h
@@ -41,24 +41,24 @@ struct g_lock_ctx *g_lock_ctx_init(TALLOC_CTX *mem_ctx,
struct tevent_req *g_lock_lock_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct g_lock_ctx *ctx,
- const char *name,
+ TDB_DATA key,
enum g_lock_type type);
NTSTATUS g_lock_lock_recv(struct tevent_req *req);
-NTSTATUS g_lock_lock(struct g_lock_ctx *ctx, const char *name,
+NTSTATUS g_lock_lock(struct g_lock_ctx *ctx, TDB_DATA key,
enum g_lock_type lock_type, struct timeval timeout);
-NTSTATUS g_lock_unlock(struct g_lock_ctx *ctx, const char *name);
+NTSTATUS g_lock_unlock(struct g_lock_ctx *ctx, TDB_DATA key);
-NTSTATUS g_lock_write_data(struct g_lock_ctx *ctx, const char *name,
+NTSTATUS g_lock_write_data(struct g_lock_ctx *ctx, TDB_DATA key,
const uint8_t *buf, size_t buflen);
-NTSTATUS g_lock_do(const char *name, enum g_lock_type lock_type,
+NTSTATUS g_lock_do(TDB_DATA key, enum g_lock_type lock_type,
struct timeval timeout,
void (*fn)(void *private_data), void *private_data);
int g_lock_locks(struct g_lock_ctx *ctx,
- int (*fn)(const char *name, void *private_data),
+ int (*fn)(TDB_DATA key, void *private_data),
void *private_data);
-NTSTATUS g_lock_dump(struct g_lock_ctx *ctx, const char *name,
+NTSTATUS g_lock_dump(struct g_lock_ctx *ctx, TDB_DATA key,
void (*fn)(const struct g_lock_rec *locks,
size_t num_locks,
const uint8_t *data,
diff --git a/source3/lib/dbwrap/dbwrap_ctdb.c b/source3/lib/dbwrap/dbwrap_ctdb.c
index 25db140..2885f4e 100644
--- a/source3/lib/dbwrap/dbwrap_ctdb.c
+++ b/source3/lib/dbwrap/dbwrap_ctdb.c
@@ -328,7 +328,8 @@ static int db_ctdb_transaction_destructor(struct db_ctdb_transaction_handle *h)
{
NTSTATUS status;
- status = g_lock_unlock(h->ctx->lock_ctx, h->lock_name);
+ status = g_lock_unlock(h->ctx->lock_ctx,
+ string_term_tdb_data(h->lock_name));
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("g_lock_unlock failed for %s: %s\n", h->lock_name,
nt_errstr(status)));
@@ -380,8 +381,8 @@ static int db_ctdb_transaction_start(struct db_context *db)
/*
* Wait a day, i.e. forever...
*/
- status = g_lock_lock(ctx->lock_ctx, h->lock_name, G_LOCK_WRITE,
- timeval_set(86400, 0));
+ status = g_lock_lock(ctx->lock_ctx, string_term_tdb_data(h->lock_name),
+ G_LOCK_WRITE, timeval_set(86400, 0));
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("g_lock_lock failed: %s\n", nt_errstr(status)));
TALLOC_FREE(h);
diff --git a/source3/lib/g_lock.c b/source3/lib/g_lock.c
index 4c42fb0..9ce0e06 100644
--- a/source3/lib/g_lock.c
+++ b/source3/lib/g_lock.c
@@ -311,7 +311,7 @@ done:
struct g_lock_lock_state {
struct tevent_context *ev;
struct g_lock_ctx *ctx;
- const char *name;
+ TDB_DATA key;
enum g_lock_type type;
};
@@ -343,7 +343,7 @@ static void g_lock_lock_fn(struct db_record *rec, void *private_data)
struct tevent_req *g_lock_lock_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct g_lock_ctx *ctx,
- const char *name,
+ TDB_DATA key,
enum g_lock_type type)
{
struct tevent_req *req;
@@ -357,15 +357,14 @@ struct tevent_req *g_lock_lock_send(TALLOC_CTX *mem_ctx,
}
state->ev = ev;
state->ctx = ctx;
- state->name = name;
+ state->key = key;
state->type = type;
fn_state = (struct g_lock_lock_fn_state) {
.state = state, .self = messaging_server_id(ctx->msg)
};
- status = dbwrap_do_locked(ctx->db, string_term_tdb_data(name),
- g_lock_lock_fn, &fn_state);
+ status = dbwrap_do_locked(ctx->db, key, g_lock_lock_fn, &fn_state);
if (tevent_req_nterror(req, status)) {
DBG_DEBUG("dbwrap_do_locked failed: %s\n",
nt_errstr(status));
@@ -418,8 +417,7 @@ static void g_lock_lock_retry(struct tevent_req *subreq)
.state = state, .self = messaging_server_id(state->ctx->msg)
};
- status = dbwrap_do_locked(state->ctx->db,
- string_term_tdb_data(state->name),
+ status = dbwrap_do_locked(state->ctx->db, state->key,
g_lock_lock_fn, &fn_state);
if (tevent_req_nterror(req, status)) {
DBG_DEBUG("dbwrap_do_locked failed: %s\n",
@@ -454,7 +452,7 @@ NTSTATUS g_lock_lock_recv(struct tevent_req *req)
return tevent_req_simple_recv_ntstatus(req);
}
-NTSTATUS g_lock_lock(struct g_lock_ctx *ctx, const char *name,
+NTSTATUS g_lock_lock(struct g_lock_ctx *ctx, TDB_DATA key,
enum g_lock_type type, struct timeval timeout)
{
TALLOC_CTX *frame = talloc_stackframe();
@@ -467,7 +465,7 @@ NTSTATUS g_lock_lock(struct g_lock_ctx *ctx, const char *name,
if (ev == NULL) {
goto fail;
}
- req = g_lock_lock_send(frame, ev, ctx, name, type);
+ req = g_lock_lock_send(frame, ev, ctx, key, type);
if (req == NULL) {
goto fail;
}
@@ -485,7 +483,7 @@ NTSTATUS g_lock_lock(struct g_lock_ctx *ctx, const char *name,
}
struct g_lock_unlock_state {
- const char *name;
+ TDB_DATA key;
struct server_id self;
NTSTATUS status;
};
@@ -503,7 +501,10 @@ static void g_lock_unlock_fn(struct db_record *rec,
ok = g_lock_parse(value.dptr, value.dsize, &lck);
if (!ok) {
- DBG_DEBUG("g_lock_get for %s failed\n", state->name);
+ DBG_DEBUG("g_lock_get for %s failed\n",
+ hex_encode_talloc(talloc_tos(),
+ state->key.dptr,
+ state->key.dsize));
state->status = NT_STATUS_FILE_INVALID;
return;
}
@@ -529,15 +530,14 @@ static void g_lock_unlock_fn(struct db_record *rec,
state->status = g_lock_store(rec, &lck, NULL);
}
-NTSTATUS g_lock_unlock(struct g_lock_ctx *ctx, const char *name)
+NTSTATUS g_lock_unlock(struct g_lock_ctx *ctx, TDB_DATA key)
{
struct g_lock_unlock_state state = {
- .self = messaging_server_id(ctx->msg), .name = name
+ .self = messaging_server_id(ctx->msg), .key = key
};
NTSTATUS status;
- status = dbwrap_do_locked(ctx->db, string_term_tdb_data(name),
- g_lock_unlock_fn, &state);
+ status = dbwrap_do_locked(ctx->db, key, g_lock_unlock_fn, &state);
if (!NT_STATUS_IS_OK(status)) {
DBG_WARNING("dbwrap_do_locked failed: %s\n",
nt_errstr(status));
@@ -553,7 +553,7 @@ NTSTATUS g_lock_unlock(struct g_lock_ctx *ctx, const char *name)
}
struct g_lock_write_data_state {
- const char *name;
+ TDB_DATA key;
struct server_id self;
const uint8_t *data;
size_t datalen;
@@ -573,7 +573,10 @@ static void g_lock_write_data_fn(struct db_record *rec,
ok = g_lock_parse(value.dptr, value.dsize, &lck);
if (!ok) {
- DBG_DEBUG("g_lock_parse for %s failed\n", state->name);
+ DBG_DEBUG("g_lock_parse for %s failed\n",
+ hex_encode_talloc(talloc_tos(),
+ state->key.dptr,
+ state->key.dsize));
state->status = NT_STATUS_INTERNAL_DB_CORRUPTION;
return;
}
@@ -596,16 +599,16 @@ static void g_lock_write_data_fn(struct db_record *rec,
state->status = g_lock_store(rec, &lck, NULL);
}
-NTSTATUS g_lock_write_data(struct g_lock_ctx *ctx, const char *name,
+NTSTATUS g_lock_write_data(struct g_lock_ctx *ctx, TDB_DATA key,
const uint8_t *buf, size_t buflen)
{
struct g_lock_write_data_state state = {
- .name = name, .self = messaging_server_id(ctx->msg),
+ .key = key, .self = messaging_server_id(ctx->msg),
.data = buf, .datalen = buflen
};
NTSTATUS status;
- status = dbwrap_do_locked(ctx->db, string_term_tdb_data(name),
+ status = dbwrap_do_locked(ctx->db, key,
g_lock_write_data_fn, &state);
if (!NT_STATUS_IS_OK(status)) {
DBG_WARNING("dbwrap_do_locked failed: %s\n",
@@ -622,7 +625,7 @@ NTSTATUS g_lock_write_data(struct g_lock_ctx *ctx, const char *name,
}
struct g_lock_locks_state {
- int (*fn)(const char *name, void *private_data);
+ int (*fn)(TDB_DATA key, void *private_data);
void *private_data;
};
@@ -632,15 +635,11 @@ static int g_lock_locks_fn(struct db_record *rec, void *priv)
struct g_lock_locks_state *state = (struct g_lock_locks_state *)priv;
key = dbwrap_record_get_key(rec);
- if ((key.dsize == 0) || (key.dptr[key.dsize-1] != 0)) {
- DEBUG(1, ("invalid key in g_lock.tdb, ignoring\n"));
- return 0;
- }
- return state->fn((char *)key.dptr, state->private_data);
+ return state->fn(key, state->private_data);
}
int g_lock_locks(struct g_lock_ctx *ctx,
- int (*fn)(const char *name, void *private_data),
+ int (*fn)(TDB_DATA key, void *private_data),
void *private_data)
{
struct g_lock_locks_state state;
@@ -659,7 +658,7 @@ int g_lock_locks(struct g_lock_ctx *ctx,
struct g_lock_dump_state {
TALLOC_CTX *mem_ctx;
- const char *name;
+ TDB_DATA key;
void (*fn)(const struct g_lock_rec *locks,
size_t num_locks,
const uint8_t *data,
@@ -681,7 +680,9 @@ static void g_lock_dump_fn(TDB_DATA key, TDB_DATA data,
ok = g_lock_parse(data.dptr, data.dsize, &lck);
if (!ok) {
DBG_DEBUG("g_lock_parse failed for %s\n",
- state->name);
+ hex_encode_talloc(talloc_tos(),
+ state->key.dptr,
+ state->key.dsize));
state->status = NT_STATUS_INTERNAL_DB_CORRUPTION;
return;
}
@@ -705,7 +706,7 @@ static void g_lock_dump_fn(TDB_DATA key, TDB_DATA data,
state->status = NT_STATUS_OK;
}
-NTSTATUS g_lock_dump(struct g_lock_ctx *ctx, const char *name,
+NTSTATUS g_lock_dump(struct g_lock_ctx *ctx, TDB_DATA key,
void (*fn)(const struct g_lock_rec *locks,
size_t num_locks,
const uint8_t *data,
@@ -714,13 +715,12 @@ NTSTATUS g_lock_dump(struct g_lock_ctx *ctx, const char *name,
void *private_data)
{
struct g_lock_dump_state state = {
- .mem_ctx = ctx, .name = name,
+ .mem_ctx = ctx, .key = key,
.fn = fn, .private_data = private_data
};
NTSTATUS status;
- status = dbwrap_parse_record(ctx->db, string_term_tdb_data(name),
- g_lock_dump_fn, &state);
+ status = dbwrap_parse_record(ctx->db, key, g_lock_dump_fn, &state);
if (!NT_STATUS_IS_OK(status)) {
DBG_DEBUG("dbwrap_parse_record returned %s\n",
nt_errstr(status));
@@ -770,7 +770,7 @@ fail:
return false;
}
-NTSTATUS g_lock_do(const char *name, enum g_lock_type lock_type,
+NTSTATUS g_lock_do(TDB_DATA key, enum g_lock_type lock_type,
struct timeval timeout,
void (*fn)(void *private_data), void *private_data)
{
@@ -784,12 +784,12 @@ NTSTATUS g_lock_do(const char *name, enum g_lock_type lock_type,
goto done;
}
- status = g_lock_lock(g_ctx, name, lock_type, timeout);
+ status = g_lock_lock(g_ctx, key, lock_type, timeout);
if (!NT_STATUS_IS_OK(status)) {
goto done;
}
fn(private_data);
- g_lock_unlock(g_ctx, name);
+ g_lock_unlock(g_ctx, key);
done:
TALLOC_FREE(g_ctx);
diff --git a/source3/libsmb/trusts_util.c b/source3/libsmb/trusts_util.c
index 27e77e6..fd1b337 100644
--- a/source3/libsmb/trusts_util.c
+++ b/source3/libsmb/trusts_util.c
@@ -30,6 +30,7 @@
#include "libsmb/libsmb.h"
#include "source3/include/messages.h"
#include "source3/include/g_lock.h"
+#include "lib/util/util_tdb.h"
/*********************************************************
Change the domain password on the PDC.
@@ -44,7 +45,8 @@ struct trust_pw_change_state {
static int trust_pw_change_state_destructor(struct trust_pw_change_state *state)
{
- g_lock_unlock(state->g_ctx, state->g_lock_key);
+ g_lock_unlock(state->g_ctx,
+ string_term_tdb_data(state->g_lock_key));
return 0;
}
@@ -191,7 +193,7 @@ NTSTATUS trust_pw_change(struct netlogon_creds_cli_context *context,
g_timeout = timeval_current_ofs(10, 0);
status = g_lock_lock(state->g_ctx,
- state->g_lock_key,
+ string_term_tdb_data(state->g_lock_key),
G_LOCK_WRITE, g_timeout);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(1, ("could not get g_lock on [%s]!\n",
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 79786d6..99baf9d 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -1480,7 +1480,7 @@ static NTSTATUS smbd_claim_version(struct messaging_context *msg,
return NT_STATUS_UNSUCCESSFUL;
}
- status = g_lock_lock(ctx, name, G_LOCK_READ,
+ status = g_lock_lock(ctx, string_term_tdb_data(name), G_LOCK_READ,
(struct timeval) { .tv_sec = 60 });
if (!NT_STATUS_IS_OK(status)) {
DBG_WARNING("g_lock_lock(G_LOCK_READ) failed: %s\n",
@@ -1491,11 +1491,12 @@ static NTSTATUS smbd_claim_version(struct messaging_context *msg,
state = (struct smbd_claim_version_state) { .mem_ctx = ctx };
- status = g_lock_dump(ctx, name, smbd_claim_version_parser, &state);
+ status = g_lock_dump(ctx, string_term_tdb_data(name),
+ smbd_claim_version_parser, &state);
if (!NT_STATUS_IS_OK(status) &&
!NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND)) {
DBG_ERR("Could not read samba_version_string\n");
- g_lock_unlock(ctx, name);
+ g_lock_unlock(ctx, string_term_tdb_data(name));
TALLOC_FREE(ctx);
return status;
}
@@ -1509,7 +1510,7 @@ static NTSTATUS smbd_claim_version(struct messaging_context *msg,
return NT_STATUS_OK;
}
- status = g_lock_lock(ctx, name, G_LOCK_WRITE,
+ status = g_lock_lock(ctx, string_term_tdb_data(name), G_LOCK_WRITE,
(struct timeval) { .tv_sec = 60 });
if (!NT_STATUS_IS_OK(status)) {
DBG_WARNING("g_lock_lock(G_LOCK_WRITE) failed: %s\n",
@@ -1520,7 +1521,8 @@ static NTSTATUS smbd_claim_version(struct messaging_context *msg,
return NT_STATUS_SXS_VERSION_CONFLICT;
}
- status = g_lock_write_data(ctx, name, (const uint8_t *)version,
+ status = g_lock_write_data(ctx, string_term_tdb_data(name),
+ (const uint8_t *)version,
strlen(version)+1);
if (!NT_STATUS_IS_OK(status)) {
DBG_WARNING("g_lock_write_data failed: %s\n",
@@ -1529,7 +1531,7 @@ static NTSTATUS smbd_claim_version(struct messaging_context *msg,
return status;
}
- status = g_lock_lock(ctx, name, G_LOCK_READ,
+ status = g_lock_lock(ctx, string_term_tdb_data(name), G_LOCK_READ,
(struct timeval) { .tv_sec = 60 });
if (!NT_STATUS_IS_OK(status)) {
DBG_WARNING("g_lock_lock(G_LOCK_READ) failed: %s\n",
diff --git a/source3/torture/test_g_lock.c b/source3/torture/test_g_lock.c
index 718c196..43e699f 100644
--- a/source3/torture/test_g_lock.c
+++ b/source3/torture/test_g_lock.c
@@ -24,6 +24,7 @@
#include "messages.h"
#include "lib/util/server_id.h"
#include "lib/util/sys_rw.h"
+#include "lib/util/util_tdb.h"
static bool get_g_lock_ctx(TALLOC_CTX *mem_ctx,
struct tevent_context **ev,
@@ -67,7 +68,7 @@ bool run_g_lock1(int dummy)
goto fail;
}
- status = g_lock_lock(ctx, lockname, G_LOCK_READ,
+ status = g_lock_lock(ctx, string_term_tdb_data(lockname), G_LOCK_READ,
(struct timeval) { .tv_sec = 1 });
if (!NT_STATUS_IS_OK(status)) {
fprintf(stderr, "g_lock_lock failed: %s\n",
@@ -75,7 +76,7 @@ bool run_g_lock1(int dummy)
goto fail;
}
- status = g_lock_lock(ctx, lockname, G_LOCK_READ,
+ status = g_lock_lock(ctx, string_term_tdb_data(lockname), G_LOCK_READ,
(struct timeval) { .tv_sec = 1 });
if (!NT_STATUS_EQUAL(status, NT_STATUS_WAS_LOCKED)) {
fprintf(stderr, "Double lock got %s\n",
@@ -83,14 +84,14 @@ bool run_g_lock1(int dummy)
goto fail;
}
- status = g_lock_unlock(ctx, lockname);
+ status = g_lock_unlock(ctx, string_term_tdb_data(lockname));
if (!NT_STATUS_IS_OK(status)) {
fprintf(stderr, "g_lock_unlock failed: %s\n",
nt_errstr(status));
goto fail;
}
- status = g_lock_unlock(ctx, lockname);
+ status = g_lock_unlock(ctx, string_term_tdb_data(lockname));
if (!NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND)) {
fprintf(stderr, "g_lock_unlock returned: %s\n",
nt_errstr(status));
@@ -147,14 +148,15 @@ bool run_g_lock2(int dummy)
goto fail;
}
- status = g_lock_write_data(ctx, lockname, &data, sizeof(data));
+ status = g_lock_write_data(ctx, string_term_tdb_data(lockname),
+ &data, sizeof(data));
if (!NT_STATUS_EQUAL(status, NT_STATUS_NOT_LOCKED)) {
fprintf(stderr, "unlocked g_lock_write_data returned %s\n",
nt_errstr(status));
goto fail;
}
- status = g_lock_lock(ctx, lockname, G_LOCK_WRITE,
+ status = g_lock_lock(ctx, string_term_tdb_data(lockname), G_LOCK_WRITE,
(struct timeval) { .tv_sec = 1 });
if (!NT_STATUS_IS_OK(status)) {
fprintf(stderr, "g_lock_lock returned %s\n",
@@ -162,21 +164,23 @@ bool run_g_lock2(int dummy)
--
Samba Shared Repository
More information about the samba-cvs
mailing list