diff options
Diffstat (limited to 'Source/charon/transforms/hmac.c')
-rw-r--r-- | Source/charon/transforms/hmac.c | 49 |
1 files changed, 10 insertions, 39 deletions
diff --git a/Source/charon/transforms/hmac.c b/Source/charon/transforms/hmac.c index 4ecd61e1e..c7847ad23 100644 --- a/Source/charon/transforms/hmac.c +++ b/Source/charon/transforms/hmac.c @@ -59,7 +59,7 @@ struct private_hmac_t { /** * Implementation of hmac_t.get_mac. */ -static status_t get_mac(private_hmac_t *this, chunk_t data, u_int8_t *out) +static void get_mac(private_hmac_t *this, chunk_t data, u_int8_t *out) { /* H(K XOR opad, H(K XOR ipad, text)) * @@ -92,13 +92,12 @@ static status_t get_mac(private_hmac_t *this, chunk_t data, u_int8_t *out) /* reinit for next call */ this->h->get_hash(this->h, this->ipaded_key, NULL); } - return SUCCESS; } /** * Implementation of hmac_t.allocate_mac. */ -static status_t allocate_mac(private_hmac_t *this, chunk_t data, chunk_t *out) +static void allocate_mac(private_hmac_t *this, chunk_t data, chunk_t *out) { /* allocate space and use get_mac */ if (out == NULL) @@ -110,13 +109,8 @@ static status_t allocate_mac(private_hmac_t *this, chunk_t data, chunk_t *out) { out->len = this->h->get_block_size(this->h); out->ptr = allocator_alloc(out->len); - if (out->ptr == NULL) - { - return OUT_OF_RES; - } this->hmac.get_mac(&(this->hmac), data, out->ptr); } - return SUCCESS; } /** @@ -130,7 +124,7 @@ static size_t get_block_size(private_hmac_t *this) /** * Implementation of hmac_t.set_key. */ -static status_t set_key(private_hmac_t *this, chunk_t key) +static void set_key(private_hmac_t *this, chunk_t key) { int i; u_int8_t buffer[this->b]; @@ -158,20 +152,17 @@ static status_t set_key(private_hmac_t *this, chunk_t key) /* begin hashing of inner pad */ this->h->reset(this->h); this->h->get_hash(this->h, this->ipaded_key, NULL); - - return SUCCESS;; } /** * Implementation of hmac_t.destroy. */ -static status_t destroy(private_hmac_t *this) +static void destroy(private_hmac_t *this) { this->h->destroy(this->h); allocator_free(this->opaded_key.ptr); allocator_free(this->ipaded_key.ptr); allocator_free(this); - return SUCCESS; } /* @@ -182,16 +173,13 @@ hmac_t *hmac_create(hash_algorithm_t hash_algorithm) private_hmac_t *this; this = allocator_alloc_thing(private_hmac_t); - if (this == NULL) - { - return NULL; - } + /* set hmac_t methods */ - this->hmac.get_mac = (size_t (*)(hmac_t *,chunk_t,u_int8_t*))get_mac; - this->hmac.allocate_mac = (size_t (*)(hmac_t *,chunk_t,chunk_t*))allocate_mac; + this->hmac.get_mac = (void (*)(hmac_t *,chunk_t,u_int8_t*))get_mac; + this->hmac.allocate_mac = (void (*)(hmac_t *,chunk_t,chunk_t*))allocate_mac; this->hmac.get_block_size = (size_t (*)(hmac_t *))get_block_size; - this->hmac.set_key = (status_t (*)(hmac_t *,chunk_t))set_key; - this->hmac.destroy = (status_t (*)(hmac_t *))destroy; + this->hmac.set_key = (void (*)(hmac_t *,chunk_t))set_key; + this->hmac.destroy = (void (*)(hmac_t *))destroy; /* set b, according to hasher */ switch (hash_algorithm) @@ -207,30 +195,13 @@ hmac_t *hmac_create(hash_algorithm_t hash_algorithm) /* build the hasher */ this->h = hasher_create(hash_algorithm); - if (this->h == NULL) - { - allocator_free(this); - return NULL; - } /* build ipad and opad */ this->opaded_key.ptr = allocator_alloc(this->b); this->opaded_key.len = this->b; - if (this->opaded_key.ptr == NULL) - { - this->h->destroy(this->h); - allocator_free(this); - return NULL; - } + this->ipaded_key.ptr = allocator_alloc(this->b); this->ipaded_key.len = this->b; - if (this->ipaded_key.ptr == NULL) - { - this->h->destroy(this->h); - allocator_free(this->opaded_key.ptr); - allocator_free(this); - return NULL; - } return &(this->hmac); } |