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_HpkePrivateKey | sk_e |
| Initiator secret key. | |
| struct GNUNET_CRYPTO_HpkePublicKey | 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_HpkePrivateKey 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_HpkePublicKey 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().