summaryrefslogtreecommitdiff
path: root/cesar/cp
diff options
context:
space:
mode:
authorlaranjeiro2009-06-15 15:45:02 +0000
committerlaranjeiro2009-06-15 15:45:02 +0000
commite007abb56ce308a10d914b3c234be99686804b59 (patch)
tree6d719b57547d0b8953d08d853361631d27a8aa42 /cesar/cp
parent6ac92b2951ffebaf4bab7916f0336060aea0f8a9 (diff)
* cp/msg:
* Added checkpoint function calls on cp_msg_dispatch and cp_msg_mme_send. * give CP context to the AES function calls. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@4798 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/cp')
-rw-r--r--cesar/cp/msg/src/msg.c8
-rw-r--r--cesar/cp/secu/src/secu.c1
-rw-r--r--cesar/cp/sta/core/stub/cp/sta/core/defs.h1
3 files changed, 7 insertions, 3 deletions
diff --git a/cesar/cp/msg/src/msg.c b/cesar/cp/msg/src/msg.c
index e7439cf262..3ef9d5fa7f 100644
--- a/cesar/cp/msg/src/msg.c
+++ b/cesar/cp/msg/src/msg.c
@@ -28,6 +28,7 @@
#include "cp/sta/mgr/sta_own_data.h"
#include "cp/secu/defs.h"
#include "cp/fsm/forward.h"
+#include "cp/sta/core/core.h"
#include "cp/msg/inc/msg.h"
#include "cp/inc/context.h"
@@ -181,8 +182,8 @@ cp_msg_dispatch (cp_t *ctx, cp_mme_rx_t *mme)
dbg_assert (ctx);
dbg_assert (mme);
+ cp_sta_core_checkpoint (ctx);
stop = !cp_msg_dispatch__allowed_mme (mme->mmtype, mme->peer.tei);
-
if (!stop && (mme->mmtype == CM_ENCRYPTED_PAYLOAD_IND))
{
stop = !cp_msg_dispatch__read_enc_header (ctx, mme);
@@ -667,6 +668,7 @@ cp_msg_mme_send (cp_t *ctx, cp_mme_tx_t *mme)
dbg_assert (ctx);
dbg_assert (mme);
+ cp_sta_core_checkpoint (ctx);
/* If length is filled, MME is ended yet. */
if (mme->length)
{
@@ -763,7 +765,7 @@ cp_msg_mme_send (cp_t *ctx, cp_mme_tx_t *mme)
dbg_assert_default ();
cp_secu_aes_set_encrypt_key (&aes, key);
- cp_secu_aes_cbc_encrypt (&aes, mme->iv_uuid.key,
+ cp_secu_aes_cbc_encrypt (ctx, &aes, mme->iv_uuid.key,
(u32*) (mme->p_mme + mme->payload_offset - mme->rf_len),
(u32*) (mme->p_mme + mme->payload_offset - mme->rf_len),
enc_length);
@@ -1002,7 +1004,7 @@ cp_msg_mme_read_header_enc (cp_t *ctx, cp_mme_rx_t *mme)
dbg_assert_default ();
cp_secu_aes_set_decrypt_key (&aes, key);
- cp_secu_aes_cbc_decrypt (&aes, mme->iv_uuid.key,
+ cp_secu_aes_cbc_decrypt (ctx, &aes, mme->iv_uuid.key,
(u32 *) (mme->p_mme + payload_offset),
(u32 *) (mme->p_mme + payload_offset),
enc_length);
diff --git a/cesar/cp/secu/src/secu.c b/cesar/cp/secu/src/secu.c
index 17b3cd2e4c..d1f15235d2 100644
--- a/cesar/cp/secu/src/secu.c
+++ b/cesar/cp/secu/src/secu.c
@@ -21,6 +21,7 @@
#include "cp/secu/secu.h"
#include "cp/secu/pbkdf1.h"
#include "cp/secu/sha256.h"
+#include "cp/sta/core/core.h"
#include "cp/secu/inc/pbkdf1.h"
diff --git a/cesar/cp/sta/core/stub/cp/sta/core/defs.h b/cesar/cp/sta/core/stub/cp/sta/core/defs.h
index f4cffe6f2e..497520059c 100644
--- a/cesar/cp/sta/core/stub/cp/sta/core/defs.h
+++ b/cesar/cp/sta/core/stub/cp/sta/core/defs.h
@@ -14,6 +14,7 @@
*
* « long description »
*/
+#include "cp/fsm/forward.h"
/** Forward declaration. */
typedef struct cp_sta_core_t cp_sta_core_t;