summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2017-08-02 17:52:40 +0200
committerKarolin Seeger <kseeger@samba.org>2018-05-24 12:50:13 +0200
commitafcffa9e1b022e5e6b0aa74ddb5b76ed4d43ddae (patch)
treec3e8c7f403c6bf25f515d108dbf049cd1dc84292 /source3
parent18664edf162e3a660e67934c515220c696c73774 (diff)
downloadsamba-afcffa9e1b022e5e6b0aa74ddb5b76ed4d43ddae.tar.gz
lib: Pass blob instead of &blob to gencache_set_data_blob
Passing a whole DATA_BLOB is cheap enough to simplify the callers: A caller does not have to create a separate variable. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13369 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
Diffstat (limited to 'source3')
-rw-r--r--source3/lib/gencache.c12
-rw-r--r--source3/lib/gencache.h2
-rw-r--r--source3/libsmb/dsgetdcname.c7
-rw-r--r--source3/torture/torture.c4
-rw-r--r--source3/winbindd/wb_dsgetdcname.c2
5 files changed, 14 insertions, 13 deletions
diff --git a/source3/lib/gencache.c b/source3/lib/gencache.c
index 1572825f605..83fa67c5700 100644
--- a/source3/lib/gencache.c
+++ b/source3/lib/gencache.c
@@ -275,7 +275,7 @@ static int last_stabilize_parser(TDB_DATA key, TDB_DATA data,
* @retval false on failure
**/
-bool gencache_set_data_blob(const char *keystr, const DATA_BLOB *blob,
+bool gencache_set_data_blob(const char *keystr, DATA_BLOB blob,
time_t timeout)
{
int ret;
@@ -291,7 +291,7 @@ bool gencache_set_data_blob(const char *keystr, const DATA_BLOB *blob,
return false;
}
- if ((keystr == NULL) || (blob == NULL)) {
+ if ((keystr == NULL) || (blob.data == NULL)) {
return false;
}
@@ -299,7 +299,7 @@ bool gencache_set_data_blob(const char *keystr, const DATA_BLOB *blob,
return false;
}
- if ((timeout != 0) && gencache_have_val(keystr, blob, timeout)) {
+ if ((timeout != 0) && gencache_have_val(keystr, &blob, timeout)) {
DEBUG(10, ("Did not store value for %s, we already got it\n",
keystr));
return true;
@@ -310,12 +310,12 @@ bool gencache_set_data_blob(const char *keystr, const DATA_BLOB *blob,
if (hdr_len == -1) {
return false;
}
- if ((blob->length + (size_t)hdr_len) < blob->length) {
+ if ((blob.length + (size_t)hdr_len) < blob.length) {
return false;
}
dbufs[0] = (TDB_DATA) { .dptr = (uint8_t *)hdr, .dsize = hdr_len };
- dbufs[1] = (TDB_DATA) { .dptr = blob->data, .dsize = blob->length };
+ dbufs[1] = (TDB_DATA) { .dptr = blob.data, .dsize = blob.length };
DEBUG(10, ("Adding cache entry with key=[%s] and timeout="
"[%s] (%d seconds %s)\n", keystr,
@@ -842,7 +842,7 @@ bool gencache_get(const char *keystr, TALLOC_CTX *mem_ctx, char **value,
bool gencache_set(const char *keystr, const char *value, time_t timeout)
{
DATA_BLOB blob = data_blob_const(value, strlen(value)+1);
- return gencache_set_data_blob(keystr, &blob, timeout);
+ return gencache_set_data_blob(keystr, blob, timeout);
}
struct gencache_iterate_blobs_state {
diff --git a/source3/lib/gencache.h b/source3/lib/gencache.h
index 4371835599d..fa72a4aa466 100644
--- a/source3/lib/gencache.h
+++ b/source3/lib/gencache.h
@@ -40,7 +40,7 @@ bool gencache_get_data_blob(const char *keystr, TALLOC_CTX *mem_ctx,
DATA_BLOB *blob,
time_t *timeout, bool *was_expired);
bool gencache_stabilize(void);
-bool gencache_set_data_blob(const char *keystr, const DATA_BLOB *blob,
+bool gencache_set_data_blob(const char *keystr, DATA_BLOB blob,
time_t timeout);
void gencache_iterate_blobs(void (*fn)(const char *key, DATA_BLOB value,
time_t timeout, void *private_data),
diff --git a/source3/libsmb/dsgetdcname.c b/source3/libsmb/dsgetdcname.c
index 92fc312c6a4..ce0cc89899c 100644
--- a/source3/libsmb/dsgetdcname.c
+++ b/source3/libsmb/dsgetdcname.c
@@ -154,7 +154,7 @@ static NTSTATUS dsgetdcname_cache_delete(TALLOC_CTX *mem_ctx,
static NTSTATUS dsgetdcname_cache_store(TALLOC_CTX *mem_ctx,
const char *domain_name,
- const DATA_BLOB *blob)
+ DATA_BLOB blob)
{
time_t expire_time;
char *key;
@@ -200,7 +200,8 @@ static NTSTATUS store_cldap_reply(TALLOC_CTX *mem_ctx,
}
if (r->domain_name) {
- status = dsgetdcname_cache_store(mem_ctx, r->domain_name, &blob);
+ status = dsgetdcname_cache_store(mem_ctx, r->domain_name,
+ blob);
if (!NT_STATUS_IS_OK(status)) {
goto done;
}
@@ -209,7 +210,7 @@ static NTSTATUS store_cldap_reply(TALLOC_CTX *mem_ctx,
}
}
if (r->dns_domain) {
- status = dsgetdcname_cache_store(mem_ctx, r->dns_domain, &blob);
+ status = dsgetdcname_cache_store(mem_ctx, r->dns_domain, blob);
if (!NT_STATUS_IS_OK(status)) {
goto done;
}
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index 1709e94289c..3bc4f9cca45 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -10034,7 +10034,7 @@ static bool run_local_gencache(int dummy)
blob = data_blob_string_const_null("bar");
tm = time(NULL) + 60;
- if (!gencache_set_data_blob("foo", &blob, tm)) {
+ if (!gencache_set_data_blob("foo", blob, tm)) {
d_printf("%s: gencache_set_data_blob() failed\n", __location__);
return False;
}
@@ -10073,7 +10073,7 @@ static bool run_local_gencache(int dummy)
blob.data = (uint8_t *)&v;
blob.length = sizeof(v);
- if (!gencache_set_data_blob("blob", &blob, tm)) {
+ if (!gencache_set_data_blob("blob", blob, tm)) {
d_printf("%s: gencache_set_data_blob() failed\n",
__location__);
return false;
diff --git a/source3/winbindd/wb_dsgetdcname.c b/source3/winbindd/wb_dsgetdcname.c
index bfc6aa11058..2f450c7a2b4 100644
--- a/source3/winbindd/wb_dsgetdcname.c
+++ b/source3/winbindd/wb_dsgetdcname.c
@@ -153,7 +153,7 @@ NTSTATUS wb_dsgetdcname_gencache_set(const char *domname,
return status;
}
- ok = gencache_set_data_blob(key, &blob, time(NULL)+3600);
+ ok = gencache_set_data_blob(key, blob, time(NULL)+3600);
if (!ok) {
DBG_WARNING("gencache_set_data_blob for key %s failed\n", key);