diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2008-10-13 05:20:26 +0200 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2008-10-13 05:20:26 +0200 |
commit | aa982895e5c13497144740e90ff9646e1d1cf995 (patch) | |
tree | f21159a823cd8fd329dc073a841c576da2450fcc | |
parent | d5a11f9679be9d053838074f1dad5a0ca880750f (diff) | |
download | samba-aa982895e5c13497144740e90ff9646e1d1cf995.tar.gz samba-aa982895e5c13497144740e90ff9646e1d1cf995.tar.bz2 samba-aa982895e5c13497144740e90ff9646e1d1cf995.zip |
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.
-rw-r--r-- | lib/util/data_blob.c | 12 | ||||
-rw-r--r-- | lib/util/data_blob.h | 8 | ||||
-rw-r--r-- | source3/auth/token_util.c | 4 | ||||
-rw-r--r-- | source3/lib/access.c | 6 | ||||
-rw-r--r-- | source3/lib/util_pw.c | 4 | ||||
-rw-r--r-- | source3/lib/util_sock.c | 12 | ||||
-rw-r--r-- | source3/rpc_server/srv_samr_nt.c | 4 | ||||
-rw-r--r-- | source3/torture/torture.c | 2 |
8 files changed, 36 insertions, 16 deletions
diff --git a/lib/util/data_blob.c b/lib/util/data_blob.c index 1b2f05528b..c7d01bacc7 100644 --- a/lib/util/data_blob.c +++ b/lib/util/data_blob.c @@ -183,6 +183,18 @@ _PUBLIC_ DATA_BLOB data_blob_string_const(const char *str) } /** + 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 */ diff --git a/lib/util/data_blob.h b/lib/util/data_blob.h index 58c1117f1d..ffde51cf33 100644 --- a/lib/util/data_blob.h +++ b/lib/util/data_blob.h @@ -105,6 +105,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 */ _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length); diff --git a/source3/auth/token_util.c b/source3/auth/token_util.c index d6cd2ea3a8..e739fdaabe 100644 --- a/source3/auth/token_util.c +++ b/source3/auth/token_util.c @@ -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; } diff --git a/source3/lib/access.c b/source3/lib/access.c index 6a445f8139..966d8ce87c 100644 --- a/source3/lib/access.c +++ b/source3/lib/access.c @@ -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) { diff --git a/source3/lib/util_pw.c b/source3/lib/util_pw.c index 428378505f..c0d37f1094 100644 --- a/source3/lib/util_pw.c +++ b/source3/lib/util_pw.c @@ -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); } diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c index e20768ed89..f3dc3fc1d1 100644 --- a/source3/lib/util_sock.c +++ b/source3/lib/util_sock.c @@ -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); diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c index 6455f02374..d4ce34934e 100644 --- a/source3/rpc_server/srv_samr_nt.c +++ b/source3/rpc_server/srv_samr_nt.c @@ -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); diff --git a/source3/torture/torture.c b/source3/torture/torture.c index 25b042177d..db60a2339c 100644 --- a/source3/torture/torture.c +++ b/source3/torture/torture.c @@ -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)) { |