]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
encrypted-payload: Add getter for the used AEAD transform
authorTobias Brunner <tobias@strongswan.org>
Thu, 5 Jul 2018 15:20:52 +0000 (17:20 +0200)
committerTobias Brunner <tobias@strongswan.org>
Mon, 9 Jul 2018 15:15:07 +0000 (17:15 +0200)
src/libcharon/encoding/payloads/encrypted_payload.c
src/libcharon/encoding/payloads/encrypted_payload.h

index 4f4b1d1d63b12fcc2732ab08618ee153e3b1f3e1..2e9dd686d7cea7fd7dd34b4d60ccc76cabfa55f1 100644 (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,
index 72a2565532f179a7491f1e97ba03afdc0a175e29..be7a24f43e5db1b9c7d8ecdd846a44555b52ec58 100644 (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.