- data struct for axolotl internal state
authorBart Polot <bart@net.in.tum.de>
Mon, 27 Apr 2015 19:14:04 +0000 (19:14 +0000)
committerBart Polot <bart@net.in.tum.de>
Mon, 27 Apr 2015 19:14:04 +0000 (19:14 +0000)
src/cadet/gnunet-service-cadet_tunnel.c

index c91549acec7fae71ae9e749fdbc76ad251a92431..1e7e77ea3a81ee962f6018fe0e12bc4c4ecf9c67 100644 (file)
@@ -135,6 +135,43 @@ struct CadetTunnelKXCtx
   struct GNUNET_SCHEDULER_Task * finish_task;
 };
 
+
+struct CadetTunnelSkippedKey
+{
+  struct CadetTunnelSkippedKey *next;
+  struct CadetTunnelSkippedKey *prev;
+
+  struct GNUNET_TIME_Absolute timestamp;
+
+  struct GNUNET_CRYPTO_SymmetricSessionKey HK;
+  struct GNUNET_CRYPTO_SymmetricSessionKey MK;
+};
+
+struct CadetTunnelAxolotl
+{
+  struct CadetTunnelSkippedKey *head;
+  struct CadetTunnelSkippedKey *tail;
+
+  uint skipped;
+
+  struct GNUNET_CRYPTO_SymmetricSessionKey RK;
+  struct GNUNET_CRYPTO_SymmetricSessionKey HKs;
+  struct GNUNET_CRYPTO_SymmetricSessionKey HKr;
+  struct GNUNET_CRYPTO_SymmetricSessionKey NHKs;
+  struct GNUNET_CRYPTO_SymmetricSessionKey NHKr;
+  struct GNUNET_CRYPTO_SymmetricSessionKey CKs;
+  struct GNUNET_CRYPTO_SymmetricSessionKey CKr;
+
+  struct GNUNET_CRYPTO_EcdhePublicKey DHRs;
+  struct GNUNET_CRYPTO_EcdhePublicKey DHRr;
+
+  uint32_t Ns;
+  uint32_t Nr;
+  uint32_t PNs;
+
+  int ratchet_flag;
+};
+
 /**
  * Struct containing all information regarding a tunnel to a peer.
  */