Esempio n. 1
0
/* Force a context into the OTRL_MSGSTATE_FINISHED state. */
void otrl_context_force_finished(ConnContext *context)
{
    context->msgstate = OTRL_MSGSTATE_FINISHED;
    otrl_auth_clear(&(context->auth));
    context->active_fingerprint = NULL;
    memset(context->sessionid, 0, 20);
    context->sessionid_len = 0;
    context->protocol_version = 0;
    otrl_sm_state_free(context->smstate);
    otrl_context_priv_force_finished(context->context_priv);
}
Esempio n. 2
0
/* Force a context into the OTRL_MSGSTATE_FINISHED state. */
void otrl_context_force_finished(ConnContext *context)
{
    context->msgstate = OTRL_MSGSTATE_FINISHED;
    otrl_auth_clear(&(context->auth));
    free(context->fragment);
    context->fragment = NULL;
    context->fragment_len = 0;
    context->fragment_n = 0;
    context->fragment_k = 0;
    context->active_fingerprint = NULL;
    context->their_keyid = 0;
    gcry_mpi_release(context->their_y);
    context->their_y = NULL;
    gcry_mpi_release(context->their_old_y);
    context->their_old_y = NULL;
    context->our_keyid = 0;
    otrl_dh_keypair_free(&(context->our_dh_key));
    otrl_dh_keypair_free(&(context->our_old_dh_key));
    otrl_dh_session_free(&(context->sesskeys[0][0]));
    otrl_dh_session_free(&(context->sesskeys[0][1]));
    otrl_dh_session_free(&(context->sesskeys[1][0]));
    otrl_dh_session_free(&(context->sesskeys[1][1]));
    memset(context->sessionid, 0, 20);
    context->sessionid_len = 0;
    free(context->preshared_secret);
    context->preshared_secret = NULL;
    context->preshared_secret_len = 0;
    context->protocol_version = 0;
    context->numsavedkeys = 0;
    free(context->saved_mac_keys);
    context->saved_mac_keys = NULL;
    gcry_free(context->lastmessage);
    context->lastmessage = NULL;
    context->may_retransmit = 0;
    otrl_sm_state_free(context->smstate);
}