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; 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, METHOD2(payload_t, encrypted_payload_t, destroy, void,
private_encrypted_payload_t *this) private_encrypted_payload_t *this)
{ {
@ -759,6 +765,7 @@ encrypted_payload_t *encrypted_payload_create(payload_type_t type)
.remove_payload = _remove_payload, .remove_payload = _remove_payload,
.generate_payloads = _generate_payloads, .generate_payloads = _generate_payloads,
.set_transform = _set_transform, .set_transform = _set_transform,
.get_transform = _get_transform,
.encrypt = _encrypt, .encrypt = _encrypt,
.decrypt = _decrypt, .decrypt = _decrypt,
.destroy = _destroy, .destroy = _destroy,
@ -899,6 +906,12 @@ METHOD(encrypted_payload_t, frag_set_transform, void,
this->aead = aead; 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 * 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, .remove_payload = (void*)return_null,
.generate_payloads = nop, .generate_payloads = nop,
.set_transform = _frag_set_transform, .set_transform = _frag_set_transform,
.get_transform = _frag_get_transform,
.encrypt = _frag_encrypt, .encrypt = _frag_encrypt,
.decrypt = _frag_decrypt, .decrypt = _frag_decrypt,
.destroy = _frag_destroy, .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) 2005-2010 Martin Willi
* Copyright (C) 2010 revosec AG * Copyright (C) 2010 revosec AG
* Copyright (C) 2005 Jan Hutter * Copyright (C) 2005 Jan Hutter
@ -74,9 +74,16 @@ struct encrypted_payload_t {
/** /**
* Set the AEAD transform to use. * 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. * Generate, encrypt and sign contained payloads.