1 struct GSC_KeyExchangeInfo
5 * SetKeyMessage to transmit, NULL if we are not currently trying
8 struct SetKeyMessage *skm;
11 * Non-NULL if we are currently looking up HELLOs for this peer.
14 struct GNUNET_PEERINFO_IteratorContext *pitr;
17 * Public key of the neighbour, NULL if we don't have it yet.
19 struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *public_key;
22 * We received a PING message before we got the "public_key"
23 * (or the SET_KEY). We keep it here until we have a key
24 * to decrypt it. NULL if no PING is pending.
26 struct PingMessage *pending_ping;
29 * We received a PONG message before we got the "public_key"
30 * (or the SET_KEY). We keep it here until we have a key
31 * to decrypt it. NULL if no PONG is pending.
33 struct PongMessage *pending_pong;
36 * Key we use to encrypt our messages for the other peer
37 * (initialized by us when we do the handshake).
39 struct GNUNET_CRYPTO_AesSessionKey encrypt_key;
42 * Key we use to decrypt messages from the other peer
43 * (given to us by the other peer during the handshake).
45 struct GNUNET_CRYPTO_AesSessionKey decrypt_key;
48 * At what time did we generate our encryption key?
50 struct GNUNET_TIME_Absolute encrypt_key_created;
53 * At what time did the other peer generate the decryption key?
55 struct GNUNET_TIME_Absolute decrypt_key_created;
58 * At what frequency are we currently re-trying SET_KEY messages?
60 struct GNUNET_TIME_Relative set_key_retry_frequency;
63 * ID of task used for re-trying SET_KEY and PING message.
65 GNUNET_SCHEDULER_TaskIdentifier retry_set_key_task;
68 * What was our PING challenge number (for this peer)?
70 uint32_t ping_challenge;
73 * What is our connection status?
75 enum PeerStateMachine status;