diff --git a/Telegram/SourceFiles/calls/calls_call.cpp b/Telegram/SourceFiles/calls/calls_call.cpp index 0f545879c..b6843ccfb 100644 --- a/Telegram/SourceFiles/calls/calls_call.cpp +++ b/Telegram/SourceFiles/calls/calls_call.cpp @@ -643,18 +643,15 @@ void Call::startConfirmedCall(const MTPDphoneCall &call) { void Call::createAndStartController(const MTPDphoneCall &call) { _discardByTimeoutTimer.cancel(); - if (!checkCallFields(call)) { + if (!checkCallFields(call) || _authKey.size() != 256) { return; } const auto &protocol = call.vprotocol().c_phoneCallProtocol(); const auto &serverConfig = _user->session().serverConfig(); - auto encryptionKeyValue = ranges::view::all( - _authKey - ) | ranges::view::transform([](bytes::type byte) { - return static_cast(byte); - }) | ranges::to_vector; + auto encryptionKeyValue = std::make_shared>(); + memcpy(encryptionKeyValue->data(), _authKey.data(), 256); const auto weak = base::make_weak(this); auto descriptor = tgcalls::Descriptor{ diff --git a/Telegram/ThirdParty/tgcalls b/Telegram/ThirdParty/tgcalls index 8364baddd..cad0db2f0 160000 --- a/Telegram/ThirdParty/tgcalls +++ b/Telegram/ThirdParty/tgcalls @@ -1 +1 @@ -Subproject commit 8364baddd1e731aec3ae71d6594c10750afce312 +Subproject commit cad0db2f0d96cf137820fd787e7def6b16ee55c7 diff --git a/Telegram/cmake/lib_tgcalls.cmake b/Telegram/cmake/lib_tgcalls.cmake index fc42636c6..d3fc8aad2 100644 --- a/Telegram/cmake/lib_tgcalls.cmake +++ b/Telegram/cmake/lib_tgcalls.cmake @@ -15,6 +15,10 @@ nice_target_sources(lib_tgcalls ${tgcalls_loc} PRIVATE CodecSelectHelper.cpp CodecSelectHelper.h + CryptoHelper.cpp + CryptoHelper.h + EncryptedConnection.cpp + EncryptedConnection.h Instance.cpp Instance.h InstanceImpl.cpp @@ -25,10 +29,10 @@ PRIVATE Manager.h MediaManager.cpp MediaManager.h + Message.cpp + Message.h NetworkManager.cpp NetworkManager.h - SignalingMessage.cpp - SignalingMessage.h ThreadLocalObject.h VideoCaptureInterface.cpp VideoCaptureInterface.h