Module: wine Branch: master Commit: fb8da6ca0c4016cfe0cb71efefc8454ee5a28bb9 URL: https://source.winehq.org/git/wine.git/?a=commit;h=fb8da6ca0c4016cfe0cb71efe...
Author: Sebastian Lackner sebastian@fds-team.de Date: Mon Mar 19 11:16:09 2018 +0000
bcrypt: Pass object to get_{alg, hash}_property instead of alg_id.
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com Signed-off-by: Hans Leidekker hans@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/bcrypt/bcrypt_main.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c index 6e47349..8af43c8 100644 --- a/dlls/bcrypt/bcrypt_main.c +++ b/dlls/bcrypt/bcrypt_main.c @@ -510,15 +510,15 @@ static NTSTATUS generic_alg_property( enum alg_id id, const WCHAR *prop, UCHAR * return STATUS_NOT_IMPLEMENTED; }
-static NTSTATUS get_alg_property( enum alg_id id, const WCHAR *prop, UCHAR *buf, ULONG size, ULONG *ret_size ) +static NTSTATUS get_alg_property( const struct algorithm *alg, const WCHAR *prop, UCHAR *buf, ULONG size, ULONG *ret_size ) { NTSTATUS status;
- status = generic_alg_property( id, prop, buf, size, ret_size ); + status = generic_alg_property( alg->id, prop, buf, size, ret_size ); if (status != STATUS_NOT_IMPLEMENTED) return status;
- switch (id) + switch (alg->id) { case ALG_ID_AES: if (!strcmpW( prop, BCRYPT_BLOCK_LENGTH )) @@ -567,11 +567,11 @@ static NTSTATUS get_alg_property( enum alg_id id, const WCHAR *prop, UCHAR *buf, return STATUS_NOT_IMPLEMENTED; }
-static NTSTATUS get_hash_property( enum alg_id id, const WCHAR *prop, UCHAR *buf, ULONG size, ULONG *ret_size ) +static NTSTATUS get_hash_property( const struct hash *hash, const WCHAR *prop, UCHAR *buf, ULONG size, ULONG *ret_size ) { NTSTATUS status;
- status = generic_alg_property( id, prop, buf, size, ret_size ); + status = generic_alg_property( hash->alg_id, prop, buf, size, ret_size ); if (status == STATUS_NOT_IMPLEMENTED) FIXME( "unsupported property %s\n", debugstr_w(prop) ); return status; @@ -591,12 +591,12 @@ NTSTATUS WINAPI BCryptGetProperty( BCRYPT_HANDLE handle, LPCWSTR prop, UCHAR *bu case MAGIC_ALG: { const struct algorithm *alg = (const struct algorithm *)object; - return get_alg_property( alg->id, prop, buffer, count, res ); + return get_alg_property( alg, prop, buffer, count, res ); } case MAGIC_HASH: { const struct hash *hash = (const struct hash *)object; - return get_hash_property( hash->alg_id, prop, buffer, count, res ); + return get_hash_property( hash, prop, buffer, count, res ); } default: WARN( "unknown magic %08x\n", object->magic ); @@ -798,7 +798,7 @@ struct key #endif
#if defined(HAVE_GNUTLS_CIPHER_INIT) || defined(HAVE_COMMONCRYPTO_COMMONCRYPTOR_H) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 -static ULONG get_block_size( enum alg_id alg ) +static ULONG get_block_size( struct algorithm *alg ) { ULONG ret = 0, size = sizeof(ret); get_alg_property( alg, BCRYPT_BLOCK_LENGTH, (UCHAR *)&ret, sizeof(ret), &size ); @@ -827,27 +827,27 @@ static NTSTATUS key_export( struct key *key, const WCHAR *type, UCHAR *output, U #endif
#if defined(HAVE_GNUTLS_CIPHER_INIT) && !defined(HAVE_COMMONCRYPTO_COMMONCRYPTOR_H) -static NTSTATUS key_init( struct key *key, enum alg_id id, const UCHAR *secret, ULONG secret_len ) +static NTSTATUS key_init( struct key *key, struct algorithm *alg, const UCHAR *secret, ULONG secret_len ) { UCHAR *buffer;
if (!libgnutls_handle) return STATUS_INTERNAL_ERROR;
- switch (id) + switch (alg->id) { case ALG_ID_AES: break;
default: - FIXME( "algorithm %u not supported\n", id ); + FIXME( "algorithm %u not supported\n", alg->id ); return STATUS_NOT_SUPPORTED; }
- if (!(key->block_size = get_block_size( id ))) return STATUS_INVALID_PARAMETER; + if (!(key->block_size = get_block_size( alg ))) return STATUS_INVALID_PARAMETER; if (!(buffer = heap_alloc( secret_len ))) return STATUS_NO_MEMORY; memcpy( buffer, secret, secret_len );
- key->alg_id = id; + key->alg_id = alg->id; key->handle = 0; /* initialized on first use */ key->secret = buffer; key->secret_len = secret_len; @@ -937,25 +937,25 @@ static NTSTATUS key_destroy( struct key *key ) return STATUS_SUCCESS; } #elif defined(HAVE_COMMONCRYPTO_COMMONCRYPTOR_H) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 -static NTSTATUS key_init( struct key *key, enum alg_id id, const UCHAR *secret, ULONG secret_len ) +static NTSTATUS key_init( struct key *key, struct algorithm *alg, const UCHAR *secret, ULONG secret_len ) { UCHAR *buffer;
- switch (id) + switch (alg->id) { case ALG_ID_AES: break;
default: - FIXME( "algorithm %u not supported\n", id ); + FIXME( "algorithm %u not supported\n", alg->id ); return STATUS_NOT_SUPPORTED; }
- if (!(key->block_size = get_block_size( id ))) return STATUS_INVALID_PARAMETER; + if (!(key->block_size = get_block_size( alg ))) return STATUS_INVALID_PARAMETER; if (!(buffer = heap_alloc( secret_len ))) return STATUS_NO_MEMORY; memcpy( buffer, secret, secret_len );
- key->alg_id = id; + key->alg_id = alg->id; key->ref_encrypt = NULL; /* initialized on first use */ key->ref_decrypt = NULL; key->secret = buffer; @@ -1034,7 +1034,7 @@ static NTSTATUS key_destroy( struct key *key ) return STATUS_SUCCESS; } #else -static NTSTATUS key_init( struct key *key, enum alg_id id, const UCHAR *secret, ULONG secret_len ) +static NTSTATUS key_init( struct key *key, struct algorithm *alg, const UCHAR *secret, ULONG secret_len ) { ERR( "support for keys not available at build time\n" ); return STATUS_NOT_IMPLEMENTED; @@ -1089,7 +1089,7 @@ NTSTATUS WINAPI BCryptGenerateSymmetricKey( BCRYPT_ALG_HANDLE algorithm, BCRYPT_ if (!(key = heap_alloc( sizeof(*key) ))) return STATUS_NO_MEMORY; key->hdr.magic = MAGIC_KEY;
- if ((status = key_init( key, alg->id, secret, secret_len ))) + if ((status = key_init( key, alg, secret, secret_len ))) { heap_free( key ); return status;