encrypted-payload: Add getter for the used AEAD transform

This commit is contained in:
Tobias Brunner 2018-07-05 17:20:52 +02:00
parent 47ec761674
commit cc1f01e009
2 changed files with 24 additions and 3 deletions

View File

@ -727,6 +727,12 @@ METHOD(encrypted_payload_t, set_transform, void,
this->aead = aead;
}
METHOD(encrypted_payload_t, get_transform, aead_t*,
private_encrypted_payload_t *this)
{
return this->aead;
}
METHOD2(payload_t, encrypted_payload_t, destroy, void,
private_encrypted_payload_t *this)
{
@ -759,6 +765,7 @@ encrypted_payload_t *encrypted_payload_create(payload_type_t type)
.remove_payload = _remove_payload,
.generate_payloads = _generate_payloads,
.set_transform = _set_transform,
.get_transform = _get_transform,
.encrypt = _encrypt,
.decrypt = _decrypt,
.destroy = _destroy,
@ -899,6 +906,12 @@ METHOD(encrypted_payload_t, frag_set_transform, void,
this->aead = aead;
}
METHOD(encrypted_payload_t, frag_get_transform, aead_t*,
private_encrypted_fragment_payload_t *this)
{
return this->aead;
}
/**
* Append the encrypted fragment payload header to the associated data
*/
@ -996,6 +1009,7 @@ encrypted_fragment_payload_t *encrypted_fragment_payload_create()
.remove_payload = (void*)return_null,
.generate_payloads = nop,
.set_transform = _frag_set_transform,
.get_transform = _frag_get_transform,
.encrypt = _frag_encrypt,
.decrypt = _frag_decrypt,
.destroy = _frag_destroy,

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2014 Tobias Brunner
* Copyright (C) 2014-2018 Tobias Brunner
* Copyright (C) 2005-2010 Martin Willi
* Copyright (C) 2010 revosec AG
* Copyright (C) 2005 Jan Hutter
@ -74,9 +74,16 @@ struct encrypted_payload_t {
/**
* Set the AEAD transform to use.
*
* @param aead aead transform to use
* @param aead aead transform to use
*/
void (*set_transform) (encrypted_payload_t *this, aead_t *aead);
void (*set_transform)(encrypted_payload_t *this, aead_t *aead);
/**
* Get the AEAD transform that to use (or was used).
*
* @param aead aead transform to use (or was used)
*/
aead_t *(*get_transform)(encrypted_payload_t *this);
/**
* Generate, encrypt and sign contained payloads.