Add 'unknown' encryption state for establishing calls

Currently, they are Encryption.NONE and thus marked as unencrypted in encrypted conversations
This commit is contained in:
fiaxh 2022-01-04 12:34:16 +01:00
parent 85f4bddf99
commit 33104a778d
3 changed files with 5 additions and 1 deletions

View file

@ -6,6 +6,7 @@ public enum Encryption {
OMEMO, OMEMO,
DTLS_SRTP, DTLS_SRTP,
SRTP, SRTP,
UNKNOWN,
} }
} }

View file

@ -42,6 +42,7 @@ namespace Dino {
call.counterpart = conversation.counterpart; call.counterpart = conversation.counterpart;
call.ourpart = stream_interactor.get_module(MucManager.IDENTITY).get_own_jid(conversation.counterpart, conversation.account) ?? conversation.account.full_jid; call.ourpart = stream_interactor.get_module(MucManager.IDENTITY).get_own_jid(conversation.counterpart, conversation.account) ?? conversation.account.full_jid;
call.time = call.local_time = call.end_time = new DateTime.now_utc(); call.time = call.local_time = call.end_time = new DateTime.now_utc();
call.encryption = Encryption.UNKNOWN;
call.state = Call.State.RINGING; call.state = Call.State.RINGING;
stream_interactor.get_module(CallStore.IDENTITY).add_call(call, conversation); stream_interactor.get_module(CallStore.IDENTITY).add_call(call, conversation);
@ -227,6 +228,7 @@ namespace Dino {
call.add_peer(call.counterpart); call.add_peer(call.counterpart);
call.account = account; call.account = account;
call.time = call.local_time = call.end_time = new DateTime.now_utc(); call.time = call.local_time = call.end_time = new DateTime.now_utc();
call.encryption = Encryption.UNKNOWN;
Conversation conversation = stream_interactor.get_module(ConversationManager.IDENTITY).create_conversation(call.counterpart.bare_jid, account, Conversation.Type.CHAT); Conversation conversation = stream_interactor.get_module(ConversationManager.IDENTITY).create_conversation(call.counterpart.bare_jid, account, Conversation.Type.CHAT);
@ -284,6 +286,7 @@ namespace Dino {
call.counterpart = inviter_jid; call.counterpart = inviter_jid;
call.account = account; call.account = account;
call.time = call.local_time = call.end_time = new DateTime.now_utc(); call.time = call.local_time = call.end_time = new DateTime.now_utc();
call.encryption = Encryption.UNKNOWN;
call.state = Call.State.RINGING; call.state = Call.State.RINGING;
Conversation? conversation = stream_interactor.get_module(ConversationManager.IDENTITY).get_conversation(inviter_jid.bare_jid, account); Conversation? conversation = stream_interactor.get_module(ConversationManager.IDENTITY).get_conversation(inviter_jid.bare_jid, account);

View file

@ -161,7 +161,7 @@ public class ItemMetaDataHeader : Box {
Application app = GLib.Application.get_default() as Application; Application app = GLib.Application.get_default() as Application;
ContentMetaItem ci = item as ContentMetaItem; ContentMetaItem ci = item as ContentMetaItem;
if (item.encryption != Encryption.NONE && ci != null) { if (item.encryption != Encryption.NONE && item.encryption != Encryption.UNKNOWN && ci != null) {
Widget? widget = null; Widget? widget = null;
foreach(var e in app.plugin_registry.encryption_list_entries) { foreach(var e in app.plugin_registry.encryption_list_entries) {
if (e.encryption == item.encryption) { if (e.encryption == item.encryption) {