1
0
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:
Jelmer Vernooij 2008-10-13 05:20:26 +02:00
parent d5a11f9679
commit aa982895e5
8 changed files with 36 additions and 16 deletions

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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;
}

View File

@ -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) {

View File

@ -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);
}

View File

@ -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);

View File

@ -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, &parameters);
@ -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, &parameters);

View File

@ -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)) {