void SMPDialogUpdate(ConnContext *context, int percent) { if (!context) return; SmpForContactMap::iterator it = smp_for_contact.find(context->app_data); if (it == smp_for_contact.end()) return; if (it->second.dialog) PostMessage(it->second.dialog, WMU_REFRESHSMP, percent, 0); TrustLevel level = otr_context_get_trust(context); if (!it->second.responder && it->second.oldlevel != level) { if (level == TRUST_PRIVATE) VerifyFingerprintMessage(context, true); else if (level == TRUST_UNVERIFIED) VerifyFingerprintMessage(context, false); } //if (percent == 100) /* switch (percent){ case 0: VerifyFingerprint(context, false); ShowWarning(_T("SMP failed")); break; case 100: VerifyFingerprint(context, true); ShowWarning(_T("SMP successful")); break; default: ShowWarning(_T("Received an SMP update")); } */ }
/* Set verification of fingerprint */ void VerifyFingerprint(ConnContext *context, bool verify) { lib_cs_lock(); otrl_context_set_trust(context->active_fingerprint, (verify)?"verified":NULL); otrl_privkey_write_fingerprints(otr_user_state, g_fingerprint_store_filename); lib_cs_unlock(); VerifyFingerprintMessage(context, verify); }