]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
Add ISA context id getter to TKM keymat
authorReto Buerki <reet@codelabs.ch>
Fri, 31 Aug 2012 09:24:45 +0000 (11:24 +0200)
committerTobias Brunner <tobias@strongswan.org>
Tue, 19 Mar 2013 14:23:47 +0000 (15:23 +0100)
src/charon-tkm/src/tkm/tkm_keymat.c
src/charon-tkm/src/tkm/tkm_keymat.h
src/charon-tkm/tests/keymat_tests.c

index d055c38472a4a5af89cf04c302c4c633ab9ebff6..bb085b86faa7547ea8a74489257b77f8ef48efac 100644 (file)
@@ -356,6 +356,12 @@ METHOD(keymat_t, destroy, void,
        free(this);
 }
 
+METHOD(tkm_keymat_t, get_isa_id, isa_id_type,
+       private_tkm_keymat_t *this)
+{
+       return this->isa_ctx_id;
+}
+
 /**
  * See header.
  */
@@ -377,6 +383,7 @@ tkm_keymat_t *tkm_keymat_create(bool initiator)
                        .get_skd = _get_skd,
                        .get_auth_octets = _get_auth_octets,
                        .get_psk_sig = _get_psk_sig,
+                       .get_isa_id = _get_isa_id,
                },
                .initiator = initiator,
                .isa_ctx_id = tkm->idmgr->acquire_id(tkm->idmgr, TKM_CTX_ISA),
index 2def71fb3decf3d2da073b99ee28352968518dfb..1fb15596a1c9d04ce68390ce0a3335cea48ab044 100644 (file)
@@ -106,6 +106,14 @@ struct tkm_keymat_t {
        bool (*get_psk_sig)(tkm_keymat_t *this, bool verify, chunk_t ike_sa_init,
                                                chunk_t nonce, chunk_t secret,
                                                identification_t *id, char reserved[3], chunk_t *sig);
+
+       /**
+        * Get ISA context id.
+        *
+        * @return      id of associated ISA context.
+        */
+       isa_id_type (*get_isa_id)(tkm_keymat_t * const this);
+
 };
 
 /**
index fbaed24e4b185f704ec88ca1436ee9551ae1ba07..0fde2fb6e27754e30843812fe538b37c3a341266 100644 (file)
@@ -54,6 +54,7 @@ START_TEST(test_derive_ike_keys)
 
        tkm_keymat_t *keymat = tkm_keymat_create(TRUE);
        fail_if(!keymat, "Unable to create keymat");
+       fail_if(!keymat->get_isa_id(keymat), "Invalid ISA context id (0)");
 
        chunk_t nonce;
        tkm_nonceg_t *ng = tkm_nonceg_create();