CADET_TUNNEL_KEY_AX_SENT_AND_RECV);
GCC_transmit (cc,
env);
+ GNUNET_STATISTICS_update (stats,
+ "# KX transmitted",
+ 1,
+ GNUNET_NO);
}
if (CADET_TUNNEL_KEY_OK != t->estate)
GCT_change_estate (t,
CADET_TUNNEL_KEY_AX_AUTH_SENT);
-
GCC_transmit (cc,
env);
+ GNUNET_STATISTICS_update (stats,
+ "# KX_AUTH transmitted",
+ 1,
+ GNUNET_NO);
}
ratchet_key,
sizeof (*ratchet_key)))
{
+ GNUNET_STATISTICS_update (stats,
+ "# Ratchet key already known",
+ 1,
+ GNUNET_NO);
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Ratchet key already known. Ignoring KX.\n");
return GNUNET_NO;
GNUNET_CRYPTO_eddsa_ecdh (my_private_key, /* A */
ephemeral_key, /* B0 */
&key_material[1]);
-
-
}
/* ECDH A0 B0 */
{
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Root key of handshake already known. Ignoring KX.\n");
+ GNUNET_STATISTICS_update (stats,
+ "# Root key already known",
+ 1,
+ GNUNET_NO);
return GNUNET_NO;
}
struct CadetTunnelAxolotl *ax;
int ret;
+ GNUNET_STATISTICS_update (stats,
+ "# KX received",
+ 1,
+ GNUNET_NO);
if (0 ==
memcmp (&t->ax.DHRr,
&msg->ratchet_key,
{
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Got duplicate KX. Firing back KX_AUTH.\n");
+ GNUNET_STATISTICS_update (stats,
+ "# Duplicate KX received",
+ 1,
+ GNUNET_NO);
send_kx_auth (t,
ct,
&t->ax,
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Got duplicate unverified KX on %s. Fire back KX_AUTH again.\n",
GCT_2s (t));
+ GNUNET_STATISTICS_update (stats,
+ "# Duplicate unverified KX received",
+ 1,
+ GNUNET_NO);
send_kx_auth (t,
ct,
t->unverified_ax,
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Dropping old unverified KX state. Got a fresh KX for %s.\n",
GCT_2s (t));
+ GNUNET_STATISTICS_update (stats,
+ "# Unverified KX dropped for fresh KX",
+ 1,
+ GNUNET_NO);
memset (t->unverified_ax,
0,
sizeof (struct CadetTunnelAxolotl));
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Creating fresh unverified KX for %s.\n",
GCT_2s (t));
+ GNUNET_STATISTICS_update (stats,
+ "# Fresh KX setup",
+ 1,
+ GNUNET_NO);
t->unverified_ax = GNUNET_new (struct CadetTunnelAxolotl);
t->unverified_ax->DHRs = t->ax.DHRs;
t->unverified_ax->kx_0 = t->ax.kx_0;
&msg->ratchet_key);
GNUNET_break (GNUNET_SYSERR != ret);
if (GNUNET_OK != ret)
+ {
+ GNUNET_STATISTICS_update (stats,
+ "# Useless KX",
+ 1,
+ GNUNET_NO);
return; /* duplicate KX, nothing to do */
-
+ }
/* move ahead in our state machine */
if (CADET_TUNNEL_KEY_UNINITIALIZED == t->estate)
GCT_change_estate (t,
struct GNUNET_HashCode kx_auth;
int ret;
+ GNUNET_STATISTICS_update (stats,
+ "# KX_AUTH received",
+ 1,
+ GNUNET_NO);
if ( (CADET_TUNNEL_KEY_UNINITIALIZED == t->estate) ||
(CADET_TUNNEL_KEY_AX_RECV == t->estate) )
{