mirror of
https://github.com/samba-team/samba.git
synced 2025-02-22 05:57:43 +03:00
Add data_blob_string_const_null() function that includes the terminating
null byte and use it in Samba 3. This matches the behaviour prior to my data_blob changes.
This commit is contained in:
parent
d5a11f9679
commit
aa982895e5
@ -182,6 +182,18 @@ _PUBLIC_ DATA_BLOB data_blob_string_const(const char *str)
|
||||
return blob;
|
||||
}
|
||||
|
||||
/**
|
||||
useful for constructing data blobs in test suites, while
|
||||
avoiding const warnings
|
||||
**/
|
||||
_PUBLIC_ DATA_BLOB data_blob_string_const_null(const char *str)
|
||||
{
|
||||
DATA_BLOB blob;
|
||||
blob.data = discard_const_p(uint8_t, str);
|
||||
blob.length = str ? strlen(str)+1 : 0;
|
||||
return blob;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new data blob from const data
|
||||
*/
|
||||
|
@ -104,6 +104,14 @@ _PUBLIC_ char *data_blob_hex_string(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob);
|
||||
**/
|
||||
_PUBLIC_ DATA_BLOB data_blob_string_const(const char *str);
|
||||
|
||||
/**
|
||||
useful for constructing data blobs in test suites, while
|
||||
avoiding const warnings
|
||||
|
||||
includes the terminating null character (as opposed to data_blo_string_const)
|
||||
**/
|
||||
_PUBLIC_ DATA_BLOB data_blob_string_const_null(const char *str);
|
||||
|
||||
/**
|
||||
* Create a new data blob from const data
|
||||
*/
|
||||
|
@ -84,7 +84,7 @@ NT_USER_TOKEN *get_root_nt_token( void )
|
||||
|
||||
cache_data = memcache_lookup_talloc(
|
||||
NULL, SINGLETON_CACHE_TALLOC,
|
||||
data_blob_string_const("root_nt_token"));
|
||||
data_blob_string_const_null("root_nt_token"));
|
||||
|
||||
if (cache_data != NULL) {
|
||||
return talloc_get_type_abort(
|
||||
@ -109,7 +109,7 @@ NT_USER_TOKEN *get_root_nt_token( void )
|
||||
|
||||
memcache_add_talloc(
|
||||
NULL, SINGLETON_CACHE_TALLOC,
|
||||
data_blob_string_const("root_nt_token"), token);
|
||||
data_blob_string_const_null("root_nt_token"), token);
|
||||
|
||||
return token;
|
||||
}
|
||||
|
@ -104,7 +104,7 @@ static bool string_match(const char *tok,const char *s)
|
||||
|
||||
if (memcache_lookup(
|
||||
NULL, SINGLETON_CACHE,
|
||||
data_blob_string_const("yp_default_domain"),
|
||||
data_blob_string_const_null("yp_default_domain"),
|
||||
&tmp)) {
|
||||
|
||||
SMB_ASSERT(tmp.length > 0);
|
||||
@ -116,8 +116,8 @@ static bool string_match(const char *tok,const char *s)
|
||||
|
||||
memcache_add(
|
||||
NULL, SINGLETON_CACHE,
|
||||
data_blob_string_const("yp_default_domain"),
|
||||
data_blob_string_const(mydomain?mydomain:""));
|
||||
data_blob_string_const_null("yp_default_domain"),
|
||||
data_blob_string_const_null(mydomain?mydomain:""));
|
||||
}
|
||||
|
||||
if (!mydomain) {
|
||||
|
@ -47,7 +47,7 @@ struct passwd *getpwnam_alloc(TALLOC_CTX *mem_ctx, const char *name)
|
||||
struct passwd *temp, *cached;
|
||||
|
||||
temp = (struct passwd *)memcache_lookup_talloc(
|
||||
NULL, GETPWNAM_CACHE, data_blob_string_const(name));
|
||||
NULL, GETPWNAM_CACHE, data_blob_string_const_null(name));
|
||||
if (temp != NULL) {
|
||||
return tcopy_passwd(mem_ctx, temp);
|
||||
}
|
||||
@ -65,7 +65,7 @@ struct passwd *getpwnam_alloc(TALLOC_CTX *mem_ctx, const char *name)
|
||||
return temp;
|
||||
}
|
||||
|
||||
memcache_add_talloc(NULL, GETPWNAM_CACHE, data_blob_string_const(name),
|
||||
memcache_add_talloc(NULL, GETPWNAM_CACHE, data_blob_string_const_null(name),
|
||||
cached);
|
||||
return tcopy_passwd(mem_ctx, temp);
|
||||
}
|
||||
|
@ -1706,7 +1706,7 @@ static bool lookup_nc(struct name_addr_pair *nc)
|
||||
|
||||
if (!memcache_lookup(
|
||||
NULL, SINGLETON_CACHE,
|
||||
data_blob_string_const("get_peer_name"),
|
||||
data_blob_string_const_null("get_peer_name"),
|
||||
&tmp)) {
|
||||
return false;
|
||||
}
|
||||
@ -1733,7 +1733,7 @@ static void store_nc(const struct name_addr_pair *nc)
|
||||
memcpy(tmp.data+sizeof(nc->ss), nc->name, namelen+1);
|
||||
|
||||
memcache_add(NULL, SINGLETON_CACHE,
|
||||
data_blob_string_const("get_peer_name"),
|
||||
data_blob_string_const_null("get_peer_name"),
|
||||
tmp);
|
||||
data_blob_free(&tmp);
|
||||
}
|
||||
@ -1945,7 +1945,7 @@ const char *get_mydnsfullname(void)
|
||||
DATA_BLOB tmp;
|
||||
|
||||
if (memcache_lookup(NULL, SINGLETON_CACHE,
|
||||
data_blob_string_const("get_mydnsfullname"),
|
||||
data_blob_string_const_null("get_mydnsfullname"),
|
||||
&tmp)) {
|
||||
SMB_ASSERT(tmp.length > 0);
|
||||
return (const char *)tmp.data;
|
||||
@ -1989,11 +1989,11 @@ const char *get_mydnsfullname(void)
|
||||
*/
|
||||
|
||||
memcache_add(NULL, SINGLETON_CACHE,
|
||||
data_blob_string_const("get_mydnsfullname"),
|
||||
data_blob_string_const(res->ai_canonname));
|
||||
data_blob_string_const_null("get_mydnsfullname"),
|
||||
data_blob_string_const_null(res->ai_canonname));
|
||||
|
||||
if (!memcache_lookup(NULL, SINGLETON_CACHE,
|
||||
data_blob_string_const("get_mydnsfullname"),
|
||||
data_blob_string_const_null("get_mydnsfullname"),
|
||||
&tmp)) {
|
||||
tmp = data_blob_talloc(talloc_tos(), res->ai_canonname,
|
||||
strlen(res->ai_canonname) + 1);
|
||||
|
@ -2437,7 +2437,7 @@ static NTSTATUS get_user_info_20(TALLOC_CTX *mem_ctx,
|
||||
if (munged_dial) {
|
||||
blob = base64_decode_data_blob(munged_dial);
|
||||
} else {
|
||||
blob = data_blob_string_const("");
|
||||
blob = data_blob_string_const_null("");
|
||||
}
|
||||
|
||||
status = init_samr_parameters_string(mem_ctx, &blob, ¶meters);
|
||||
@ -2546,7 +2546,7 @@ static NTSTATUS get_user_info_21(TALLOC_CTX *mem_ctx,
|
||||
if (munged_dial) {
|
||||
blob = base64_decode_data_blob(munged_dial);
|
||||
} else {
|
||||
blob = data_blob_string_const("");
|
||||
blob = data_blob_string_const_null("");
|
||||
}
|
||||
|
||||
status = init_samr_parameters_string(mem_ctx, &blob, ¶meters);
|
||||
|
@ -5066,7 +5066,7 @@ static bool run_local_gencache(int dummy)
|
||||
return False;
|
||||
}
|
||||
|
||||
blob = data_blob_string_const("bar");
|
||||
blob = data_blob_string_const_null("bar");
|
||||
tm = time(NULL);
|
||||
|
||||
if (!gencache_set_data_blob("foo", &blob, tm)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user