is_ready (struct CadetTunnel *t)
{
int ready;
-
- ready = CADET_TUNNEL_READY == t->cstate
- && (CADET_TUNNEL_KEY_OK == t->estate
- || CADET_TUNNEL_KEY_REKEY == t->estate);
+ int conn_ok;
+ int enc_ok;
+
+ conn_ok = CADET_TUNNEL_READY == t->cstate;
+ enc_ok = CADET_TUNNEL_KEY_OK == t->estate
+ || CADET_TUNNEL_KEY_REKEY == t->estate
+ || (CADET_TUNNEL_KEY_PING == t->estate
+ && CADET_Axolotl == t->enc_type);
+ ready = conn_ok && enc_ok;
ready = ready || GCT_is_loopback (t);
return ready;
}
ax->ratchet_expiration =
GNUNET_TIME_absolute_add (GNUNET_TIME_absolute_get(), ratchet_time);
}
+ GCT_change_estate (t, CADET_TUNNEL_KEY_PING);
+ send_queued_data (t);
}