TALLOC_FREE(frame);
return EINVAL;
}
- *key_blob = data_blob_talloc(mem_ctx,
+ *key_blob = data_blob_talloc_s(mem_ctx,
KRB5_KEY_DATA(&key),
KRB5_KEY_LENGTH(&key));
krb5_free_keyblock_contents(smb_krb5_context->krb5_context, &key);
TALLOC_FREE(frame);
return ENOMEM;
}
- talloc_keep_secret(key_blob->data);
TALLOC_FREE(frame);
return 0;
return NT_STATUS_OK;
}
- dst->blob = data_blob_talloc_zero(dst, src->blob.length);
+ dst->blob = data_blob_talloc_zero_s(dst, src->blob.length);
if (dst->blob.length == 0) {
TALLOC_FREE(dst);
return NT_STATUS_NO_MEMORY;
}
- talloc_keep_secret(dst->blob.data);
memcpy(dst->blob.data, src->blob.data, dst->blob.length);
*_dst = dst;
return NT_STATUS_OK;
}
- key->blob = data_blob_talloc_zero(key, out_key_length);
+ key->blob = data_blob_talloc_zero_s(key, out_key_length);
if (key->blob.length == 0) {
TALLOC_FREE(key);
return NT_STATUS_NO_MEMORY;
}
- talloc_keep_secret(key->blob.data);
memcpy(key->blob.data,
master_key->data,
MIN(key->blob.length, master_key->length));
return ENOMEM;
}
- arc4_b = data_blob_talloc(keys,
+ arc4_b = data_blob_talloc_s(keys,
p->nt_hash.hash,
sizeof(p->nt_hash.hash));
if (arc4_b.data == NULL) {
TALLOC_FREE(keys);
return ENOMEM;
}
- talloc_keep_secret(arc4_b.data);
#ifdef HAVE_ADS
if (salt_principal == NULL) {
TALLOC_FREE(salt_data);
return krb5_ret;
}
- aes_256_b = data_blob_talloc(keys,
+ aes_256_b = data_blob_talloc_s(keys,
KRB5_KEY_DATA(&key),
KRB5_KEY_LENGTH(&key));
krb5_free_keyblock_contents(krb5_ctx, &key);
TALLOC_FREE(salt_data);
return ENOMEM;
}
- talloc_keep_secret(aes_256_b.data);
krb5_ret = smb_krb5_create_key_from_string(krb5_ctx,
NULL,
TALLOC_FREE(salt_data);
return krb5_ret;
}
- aes_128_b = data_blob_talloc(keys,
+ aes_128_b = data_blob_talloc_s(keys,
KRB5_KEY_DATA(&key),
KRB5_KEY_LENGTH(&key));
krb5_free_keyblock_contents(krb5_ctx, &key);
TALLOC_FREE(salt_data);
return ENOMEM;
}
- talloc_keep_secret(aes_128_b.data);
krb5_free_context(krb5_ctx);
no_kerberos:
sk = hs->rpc_cli->conn->transport_session_key;
sk.length = MIN(sk.length, 16);
- *session_key = data_blob_dup_talloc(mem_ctx, sk);
+ *session_key = data_blob_dup_talloc_s(mem_ctx, sk);
if (session_key->length != sk.length) {
return NT_STATUS_NO_MEMORY;
}
- talloc_keep_secret(session_key->data);
return NT_STATUS_OK;
}
/*
* The application key is truncated/padded to 16 bytes
*/
- x->global->application_key_blob = data_blob_talloc(x->global,
- session_key,
- sizeof(session_key));
+ x->global->application_key_blob = data_blob_talloc_s(
+ x->global, session_key, sizeof(session_key));
ZERO_STRUCT(session_key);
if (x->global->application_key_blob.data == NULL) {
reply_nterror(req, NT_STATUS_NO_MEMORY);
END_PROFILE(SMBtconX);
return;
}
- talloc_keep_secret(x->global->application_key_blob.data);
if (tcon_flags & TCONX_FLAG_EXTENDED_SIGNATURES) {
NTSTATUS status;
* Place the application key into the session_info
*/
data_blob_clear_free(&session_info->session_key);
- session_info->session_key = data_blob_dup_talloc(session_info,
- x->global->application_key_blob);
+ session_info->session_key = data_blob_dup_talloc_s(
+ session_info, x->global->application_key_blob);
if (session_info->session_key.data == NULL) {
data_blob_clear_free(&x->global->application_key_blob);
reply_nterror(req, NT_STATUS_NO_MEMORY);
END_PROFILE(SMBtconX);
return;
}
- talloc_keep_secret(session_info->session_key.data);
session_key_updated = true;
}
memcpy(session_key, session->global->signing_key_blob.data,
MIN(session->global->signing_key_blob.length,
sizeof(session_key)));
- session->global->application_key_blob =
- data_blob_talloc(session->global,
- session_key,
- sizeof(session_key));
+ session->global->application_key_blob = data_blob_talloc_s(
+ session->global, session_key, sizeof(session_key));
ZERO_STRUCT(session_key);
if (session->global->application_key_blob.data == NULL) {
TALLOC_FREE(session);
END_PROFILE(SMBsesssetupX);
return;
}
- talloc_keep_secret(session->global->application_key_blob.data);
/*
* Place the application key into the session_info
*/
data_blob_clear_free(&session_info->session_key);
- session_info->session_key = data_blob_dup_talloc(session_info,
- session->global->application_key_blob);
+ session_info->session_key = data_blob_dup_talloc_s(
+ session_info, session->global->application_key_blob);
if (session_info->session_key.data == NULL) {
TALLOC_FREE(session);
reply_nterror(req, NT_STATUS_NO_MEMORY);
END_PROFILE(SMBsesssetupX);
return;
}
- talloc_keep_secret(session_info->session_key.data);
}
sconn->num_users++;
x->global->channels[0].encryption_cipher = x->global->encryption_cipher;
data_blob_clear_free(&session_info->session_key);
- session_info->session_key = data_blob_dup_talloc(session_info,
- x->global->application_key_blob);
+ session_info->session_key = data_blob_dup_talloc_s(
+ session_info, x->global->application_key_blob);
if (session_info->session_key.data == NULL) {
return NT_STATUS_NO_MEMORY;
}
- talloc_keep_secret(session_info->session_key.data);
smb2req->sconn->num_users++;
*_auth = NULL;
data_blob_clear_free(&session_info->session_key);
- session_info->session_key = data_blob_dup_talloc(session_info,
- x->global->application_key_blob);
+ session_info->session_key = data_blob_dup_talloc_s(
+ session_info, x->global->application_key_blob);
if (session_info->session_key.data == NULL) {
return NT_STATUS_NO_MEMORY;
}
- talloc_keep_secret(session_info->session_key.data);
session->homes_snum =
register_homes_share(session_info->unix_info->unix_name);
return LDB_ERR_OPERATIONS_ERROR;
}
- g->aes_256 = data_blob_talloc(io->ac,
- KRB5_KEY_DATA(&key),
- KRB5_KEY_LENGTH(&key));
+ g->aes_256 = data_blob_talloc_s(io->ac,
+ KRB5_KEY_DATA(&key),
+ KRB5_KEY_LENGTH(&key));
krb5_free_keyblock_contents(io->smb_krb5_context->krb5_context, &key);
if (g->aes_256.data == NULL) {
return ldb_oom(ldb);
}
- talloc_keep_secret(g->aes_256.data);
-
return LDB_SUCCESS;
}
}
if (aes_256_key != NULL) {
- *aes_256_key = data_blob_talloc(mem_ctx,
- KRB5_KEY_DATA(&sentry.keys.val[0].key),
- KRB5_KEY_LENGTH(&sentry.keys.val[0].key));
+ *aes_256_key = data_blob_talloc_s(
+ mem_ctx,
+ KRB5_KEY_DATA(&sentry.keys.val[0].key),
+ KRB5_KEY_LENGTH(&sentry.keys.val[0].key));
if (aes_256_key->data == NULL) {
sdb_entry_free(&sentry);
return ENOMEM;
}
- talloc_keep_secret(aes_256_key->data);
}
if (salt != NULL) {
sk.length = MIN(sk.length, 16);
- *session_key = data_blob_dup_talloc(mem_ctx, sk);
+ *session_key = data_blob_dup_talloc_s(mem_ctx, sk);
if (session_key->length != sk.length) {
return NT_STATUS_NO_MEMORY;
}
- talloc_keep_secret(session_key->data);
return NT_STATUS_OK;
}