void OtrInternal::deleteFingerprint(const psiotr::Fingerprint& fingerprint) { ConnContext* context = otrl_context_find(m_userstate, fingerprint.username.toUtf8().constData(), fingerprint.account.toUtf8().constData(), OTR_PROTOCOL_STRING, #if (OTRL_VERSION_MAJOR >= 4) OTRL_INSTAG_BEST, #endif false, NULL, NULL, NULL); if (context) { ::Fingerprint* fp = otrl_context_find_fingerprint(context, fingerprint.fingerprint, 0, NULL); if (fp) { if (context->active_fingerprint == fp) { otrl_context_force_finished(context); } otrl_context_forget_fingerprint(fp, true); write_fingerprints(); } } }
/* Force a context into the OTRL_MSGSTATE_PLAINTEXT state. */ void otrl_context_force_plaintext(ConnContext *context) { /* First clean up everything we'd need to do for the FINISHED state */ otrl_context_force_finished(context); /* And just set the state properly */ context->msgstate = OTRL_MSGSTATE_PLAINTEXT; }
void FinishSession(MCONTACT hContact) { if (!hContact) return; ConnContext *context = otrl_context_find_miranda(otr_user_state, hContact); TrustLevel level = otr_context_get_trust(context); if (level == TRUST_UNVERIFIED || level == TRUST_PRIVATE) { otrl_context_force_finished(context); //SetEncryptionStatus(hContact, TRUST_FINISHED); otr_gui_gone_insecure(context->app_data, context); //otrl_message_disconnect(otr_user_state, &ops, hContact, context->accountname, context->protocol, context->username); //SetEncryptionStatus(hContact, TRUST_NOT_PRIVATE); } return; }
void OtrInternal::expireSession(const QString& account, const QString& contact) { ConnContext* context = otrl_context_find(m_userstate, contact.toUtf8().constData(), account.toUtf8().constData(), OTR_PROTOCOL_STRING, #if (OTRL_VERSION_MAJOR >= 4) OTRL_INSTAG_BEST, #endif false, NULL, NULL, NULL); if (context && (context->msgstate == OTRL_MSGSTATE_ENCRYPTED)) { otrl_context_force_finished(context); m_callback->stateChange(account, contact, psiotr::OTR_STATECHANGE_GONEINSECURE); } }