Information about the status of a key exchange with another peer. More...
Data Fields | |
struct GSC_KeyExchangeInfo * | next |
DLL. | |
struct GSC_KeyExchangeInfo * | prev |
DLL. | |
struct GNUNET_PeerIdentity | peer |
Identity of the peer. | |
struct GNUNET_MQ_Handle * | mq |
Message queue for sending messages to peer. | |
struct GNUNET_MQ_Envelope * | resend_env |
Env for resending messages. | |
struct GNUNET_MessageStreamTokenizer * | mst |
Our message stream tokenizer (for encrypted payload). | |
enum GSC_KX_Role | role |
Own role in the key exchange. | |
struct GNUNET_ShortHashCode | ss_R |
struct GNUNET_ShortHashCode | ss_e |
struct GNUNET_ShortHashCode | ss_I |
struct GNUNET_CRYPTO_EcdhePrivateKey | sk_e |
Initiator secret key. | |
struct GNUNET_CRYPTO_EcdhePublicKey | pk_e |
Initiator ephemeral key. | |
struct GNUNET_HashContext * | transcript_hash_ctx |
The transcript hash context. | |
struct GNUNET_ShortHashCode | early_secret_key |
ES - Early Secret Key TODO uniform naming: _key? | |
struct GNUNET_ShortHashCode | early_traffic_secret |
ETS - Early traffic secret TODO. | |
struct GNUNET_ShortHashCode | handshake_secret |
HS - Handshake secret TODO. | |
struct GNUNET_ShortHashCode | rhts |
RHTS - Responder handshake secret TODO. | |
struct GNUNET_ShortHashCode | ihts |
IHTS - Initiator handshake secret TODO. | |
struct GNUNET_ShortHashCode | master_secret |
Master secret key TODO. | |
struct GNUNET_ShortHashCode | current_ats |
*ATS - our current application traffic secret by epoch | |
struct GNUNET_ShortHashCode | their_ats [10] |
*ATS - other peers application traffic secret by epoch | |
uint64_t | current_epoch |
Our currently used epoch for sending. | |
struct GNUNET_TIME_Absolute | current_epoch_expiration |
Expiration time of our current epoch. | |
uint64_t | their_max_epoch |
Highest seen (or used) epoch of responder resp initiator. | |
uint64_t | current_sqn |
Our current sequence number. | |
struct GNUNET_TIME_Absolute | timeout |
When should the session time out (if there are no Acks to HEARTBEATs)? | |
struct GNUNET_TIME_Absolute | last_notify_timeout |
Last time we notified monitors. | |
struct GNUNET_SCHEDULER_Task * | resend_task |
Task for resending messages during handshake. | |
unsigned int | resend_tries_left |
Resend tries left. | |
struct GNUNET_SCHEDULER_Task * | heartbeat_task |
ID of task used for sending keep-alive pings. | |
int | has_excess_bandwidth |
GNUNET_YES if this peer currently has excess bandwidth. | |
enum GNUNET_CORE_KxState | status |
What is our connection state? | |
enum GNUNET_CORE_PeerClass | class |
Peer class of the other peer TODO still needed? | |
Information about the status of a key exchange with another peer.
Definition at line 200 of file gnunet-service-core_kx.c.
struct GSC_KeyExchangeInfo* GSC_KeyExchangeInfo::next |
DLL.
Definition at line 205 of file gnunet-service-core_kx.c.
Referenced by GSC_KX_handle_client_monitor_peers().
struct GSC_KeyExchangeInfo* GSC_KeyExchangeInfo::prev |
DLL.
Definition at line 210 of file gnunet-service-core_kx.c.
struct GNUNET_PeerIdentity GSC_KeyExchangeInfo::peer |
Identity of the peer.
Definition at line 215 of file gnunet-service-core_kx.c.
Referenced by check_if_ack_or_heartbeat(), deliver_message(), GSC_KX_handle_client_monitor_peers(), handle_encrypted_message(), handle_heartbeat(), handle_initiator_done(), handle_initiator_hello_cont(), handle_responder_hello_cont(), handle_transport_notify_connect(), handle_transport_notify_disconnect(), monitor_notify_all(), restart_kx(), send_heartbeat(), send_initiator_hello(), and send_responder_hello().
struct GNUNET_MQ_Handle* GSC_KeyExchangeInfo::mq |
Message queue for sending messages to peer.
Definition at line 220 of file gnunet-service-core_kx.c.
Referenced by GSC_KX_encrypt_and_transmit(), GSC_NEIGHBOURS_get_queue_length(), handle_responder_hello_cont(), handle_transport_notify_connect(), resend_initiator_done(), resend_initiator_hello(), resend_responder_hello(), send_initiator_hello(), and send_responder_hello().
struct GNUNET_MQ_Envelope* GSC_KeyExchangeInfo::resend_env |
Env for resending messages.
Definition at line 225 of file gnunet-service-core_kx.c.
Referenced by check_if_ack_or_heartbeat(), handle_initiator_done(), handle_responder_hello(), handle_responder_hello_cont(), handle_transport_notify_disconnect(), resend_initiator_done(), resend_initiator_hello(), resend_responder_hello(), send_initiator_hello(), and send_responder_hello().
struct GNUNET_MessageStreamTokenizer* GSC_KeyExchangeInfo::mst |
Our message stream tokenizer (for encrypted payload).
Definition at line 230 of file gnunet-service-core_kx.c.
Referenced by handle_encrypted_message(), handle_transport_notify_connect(), and handle_transport_notify_disconnect().
enum GSC_KX_Role GSC_KeyExchangeInfo::role |
Own role in the key exchange.
Are we supposed to initiate or receive the handshake?
Definition at line 242 of file gnunet-service-core_kx.c.
Referenced by handle_initiator_done(), handle_initiator_hello(), handle_responder_hello(), and restart_kx().
struct GNUNET_ShortHashCode GSC_KeyExchangeInfo::ss_R |
Definition at line 245 of file gnunet-service-core_kx.c.
Referenced by cleanup_handshake_secrets(), derive_es_ets(), handle_initiator_hello_cont(), and send_initiator_hello().
struct GNUNET_ShortHashCode GSC_KeyExchangeInfo::ss_e |
Definition at line 246 of file gnunet-service-core_kx.c.
Referenced by cleanup_handshake_secrets(), handle_responder_hello_cont(), and send_responder_hello().
struct GNUNET_ShortHashCode GSC_KeyExchangeInfo::ss_I |
Definition at line 247 of file gnunet-service-core_kx.c.
Referenced by cleanup_handshake_secrets(), handle_responder_hello_cont(), and send_responder_hello().
struct GNUNET_CRYPTO_EcdhePrivateKey GSC_KeyExchangeInfo::sk_e |
Initiator secret key.
Definition at line 252 of file gnunet-service-core_kx.c.
Referenced by cleanup_handshake_secrets(), handle_responder_hello(), and send_initiator_hello().
struct GNUNET_CRYPTO_EcdhePublicKey GSC_KeyExchangeInfo::pk_e |
Initiator ephemeral key.
Definition at line 257 of file gnunet-service-core_kx.c.
Referenced by handle_initiator_hello_cont(), send_initiator_hello(), and send_responder_hello().
struct GNUNET_HashContext* GSC_KeyExchangeInfo::transcript_hash_ctx |
The transcript hash context.
It is fed data from the handshake to be implicitly validated and used to derive key material.
Definition at line 264 of file gnunet-service-core_kx.c.
Referenced by handle_initiator_done(), handle_initiator_hello(), handle_initiator_hello_cont(), handle_responder_hello(), handle_responder_hello_cont(), restart_kx(), send_initiator_hello(), and send_responder_hello().
struct GNUNET_ShortHashCode GSC_KeyExchangeInfo::early_secret_key |
ES - Early Secret Key TODO uniform naming: _key?
Definition at line 270 of file gnunet-service-core_kx.c.
Referenced by cleanup_handshake_secrets(), handle_initiator_hello_cont(), handle_responder_hello(), send_initiator_hello(), and send_responder_hello().
struct GNUNET_ShortHashCode GSC_KeyExchangeInfo::early_traffic_secret |
ETS - Early traffic secret TODO.
Definition at line 276 of file gnunet-service-core_kx.c.
Referenced by cleanup_handshake_secrets(), handle_initiator_hello_cont(), and send_initiator_hello().
struct GNUNET_ShortHashCode GSC_KeyExchangeInfo::handshake_secret |
HS - Handshake secret TODO.
Definition at line 282 of file gnunet-service-core_kx.c.
Referenced by cleanup_handshake_secrets(), handle_responder_hello_cont(), and send_responder_hello().
struct GNUNET_ShortHashCode GSC_KeyExchangeInfo::rhts |
RHTS - Responder handshake secret TODO.
Definition at line 288 of file gnunet-service-core_kx.c.
Referenced by cleanup_handshake_secrets(), handle_responder_hello_cont(), and send_responder_hello().
struct GNUNET_ShortHashCode GSC_KeyExchangeInfo::ihts |
IHTS - Initiator handshake secret TODO.
Definition at line 294 of file gnunet-service-core_kx.c.
Referenced by cleanup_handshake_secrets(), handle_initiator_done(), handle_responder_hello_cont(), and send_responder_hello().
struct GNUNET_ShortHashCode GSC_KeyExchangeInfo::master_secret |
Master secret key TODO.
Definition at line 300 of file gnunet-service-core_kx.c.
Referenced by cleanup_handshake_secrets(), handle_initiator_done(), handle_responder_hello_cont(), and send_responder_hello().
struct GNUNET_ShortHashCode GSC_KeyExchangeInfo::current_ats |
*ATS - our current application traffic secret by epoch
Definition at line 305 of file gnunet-service-core_kx.c.
Referenced by check_rekey(), GSC_KX_encrypt_and_transmit(), handle_heartbeat(), handle_responder_hello_cont(), and send_responder_hello().
struct GNUNET_ShortHashCode GSC_KeyExchangeInfo::their_ats[10] |
*ATS - other peers application traffic secret by epoch
Definition at line 310 of file gnunet-service-core_kx.c.
Referenced by handle_encrypted_message(), handle_initiator_done(), and handle_responder_hello_cont().
uint64_t GSC_KeyExchangeInfo::current_epoch |
Our currently used epoch for sending.
Definition at line 315 of file gnunet-service-core_kx.c.
Referenced by check_rekey(), GSC_KX_encrypt_and_transmit(), handle_heartbeat(), handle_responder_hello_cont(), and send_responder_hello().
struct GNUNET_TIME_Absolute GSC_KeyExchangeInfo::current_epoch_expiration |
Expiration time of our current epoch.
Definition at line 320 of file gnunet-service-core_kx.c.
Referenced by check_if_ack_or_heartbeat(), check_rekey(), handle_heartbeat(), and handle_initiator_done().
uint64_t GSC_KeyExchangeInfo::their_max_epoch |
Highest seen (or used) epoch of responder resp initiator.
Definition at line 326 of file gnunet-service-core_kx.c.
Referenced by handle_encrypted_message(), and handle_responder_hello_cont().
uint64_t GSC_KeyExchangeInfo::current_sqn |
Our current sequence number.
Definition at line 331 of file gnunet-service-core_kx.c.
Referenced by check_rekey(), GSC_KX_encrypt_and_transmit(), handle_heartbeat(), handle_initiator_done(), handle_responder_hello_cont(), and send_responder_hello().
struct GNUNET_TIME_Absolute GSC_KeyExchangeInfo::timeout |
When should the session time out (if there are no Acks to HEARTBEATs)?
Definition at line 336 of file gnunet-service-core_kx.c.
Referenced by GSC_KX_handle_client_monitor_peers(), monitor_notify_all(), send_heartbeat(), and update_timeout().
struct GNUNET_TIME_Absolute GSC_KeyExchangeInfo::last_notify_timeout |
Last time we notified monitors.
Definition at line 341 of file gnunet-service-core_kx.c.
Referenced by monitor_notify_all(), and update_timeout().
struct GNUNET_SCHEDULER_Task* GSC_KeyExchangeInfo::resend_task |
Task for resending messages during handshake.
Definition at line 346 of file gnunet-service-core_kx.c.
Referenced by check_if_ack_or_heartbeat(), handle_initiator_done(), handle_responder_hello(), handle_responder_hello_cont(), handle_transport_notify_disconnect(), resend_initiator_done(), resend_initiator_hello(), resend_responder_hello(), send_initiator_hello(), and send_responder_hello().
unsigned int GSC_KeyExchangeInfo::resend_tries_left |
Resend tries left.
Definition at line 351 of file gnunet-service-core_kx.c.
Referenced by handle_responder_hello_cont(), resend_initiator_done(), resend_responder_hello(), send_initiator_hello(), and send_responder_hello().
struct GNUNET_SCHEDULER_Task* GSC_KeyExchangeInfo::heartbeat_task |
ID of task used for sending keep-alive pings.
TODO still needed?
Definition at line 357 of file gnunet-service-core_kx.c.
Referenced by handle_heartbeat(), handle_initiator_done(), handle_transport_notify_disconnect(), send_heartbeat(), and update_timeout().
int GSC_KeyExchangeInfo::has_excess_bandwidth |
GNUNET_YES if this peer currently has excess bandwidth.
TODO still needed?
Definition at line 363 of file gnunet-service-core_kx.c.
Referenced by GSC_NEIGHBOURS_check_excess_bandwidth().
enum GNUNET_CORE_KxState GSC_KeyExchangeInfo::status |
What is our connection state?
Definition at line 368 of file gnunet-service-core_kx.c.
Referenced by check_if_ack_or_heartbeat(), GSC_KX_handle_client_monitor_peers(), handle_encrypted_message(), handle_initiator_done(), handle_initiator_hello(), handle_responder_hello_cont(), handle_transport_notify_disconnect(), monitor_notify_all(), restart_kx(), send_heartbeat(), send_initiator_hello(), and send_responder_hello().
enum GNUNET_CORE_PeerClass GSC_KeyExchangeInfo::class |
Peer class of the other peer TODO still needed?
Definition at line 374 of file gnunet-service-core_kx.c.
Referenced by check_if_ack_or_heartbeat(), and handle_initiator_done().