ZaStoGram_desktop/Telegram/cmake/td_e2e_cloud.cmake
loop-uh 25ae099c66 Bring the Argon2 sources the vault already depends on
The slice landed one commit too early: the vault links
tdesktop::lib_argon2 and the build recipe for it was written, but the
recipe was invisible — the bare "cmake" .gitignore pattern struck a
second time on lib_argon2.cmake — and ThirdParty/argon2 itself never
existed, so origin/dev stopped at configure with a missing include.
The reference implementation comes in as a submodule pinned to the
20190702 release, whose layout is exactly what the recipe lists.

The tail of the work rides along: a file-backed chunk store, and a
security floor for new vaults — creation now demands at least 64 MiB
and three passes from the Argon2id config instead of accepting
anything structurally valid, with the vault test pinning that
boundary.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 22:42:13 +03:00

74 lines
2.6 KiB
CMake

# This file is part of Telegram Desktop,
# the official desktop application for the Telegram messaging service.
#
# For license and copyright information please follow this link:
# https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
add_library(td_e2e_cloud OBJECT)
init_non_host_target(td_e2e_cloud)
add_library(tdesktop::td_e2e_cloud ALIAS td_e2e_cloud)
nice_target_sources(td_e2e_cloud ${src_loc}
PRIVATE
e2e_cloud/core/envelope.cpp
e2e_cloud/core/envelope.h
e2e_cloud/core/envelope_codec.cpp
e2e_cloud/core/envelope_codec.h
e2e_cloud/core/freshness_gate.cpp
e2e_cloud/core/freshness_gate.h
e2e_cloud/core/interfaces.h
e2e_cloud/core/outbox.cpp
e2e_cloud/core/outbox.h
e2e_cloud/core/types.cpp
e2e_cloud/core/types.h
e2e_cloud/files/file_chunk_crypto.cpp
e2e_cloud/files/file_chunk_crypto.h
e2e_cloud/files/file_chunk_file_store.cpp
e2e_cloud/files/file_chunk_file_store.h
e2e_cloud/files/idempotent_file_chunk_protector.cpp
e2e_cloud/files/idempotent_file_chunk_protector.h
e2e_cloud/files/private_file_manifest.cpp
e2e_cloud/files/private_file_manifest.h
e2e_cloud/group/group_state.cpp
e2e_cloud/group/group_state.h
e2e_cloud/group/group_transition_codec.cpp
e2e_cloud/group/group_transition_codec.h
e2e_cloud/identity/account_identity.cpp
e2e_cloud/identity/account_identity.h
e2e_cloud/identity/openssl_account_crypto.cpp
e2e_cloud/identity/openssl_account_crypto.h
e2e_cloud/protocol/inbound_envelope_processor.cpp
e2e_cloud/protocol/inbound_envelope_processor.h
e2e_cloud/storage/aes_gcm_local_record_protector.cpp
e2e_cloud/storage/aes_gcm_local_record_protector.h
e2e_cloud/storage/file_atomic_blob_store.cpp
e2e_cloud/storage/file_atomic_blob_store.h
e2e_cloud/storage/local_storage.h
e2e_cloud/storage/persistent_inbound_journal.cpp
e2e_cloud/storage/persistent_inbound_journal.h
e2e_cloud/storage/persistent_outbox.cpp
e2e_cloud/storage/persistent_outbox.h
e2e_cloud/transport/outbox_upload_controller.cpp
e2e_cloud/transport/outbox_upload_controller.h
e2e_cloud/transport/telegram_carrier_transport.cpp
e2e_cloud/transport/telegram_carrier_transport.h
e2e_cloud/vault/password_kdf.cpp
e2e_cloud/vault/password_kdf.h
e2e_cloud/vault/argon2id_password_kdf.cpp
e2e_cloud/vault/argon2id_password_kdf.h
e2e_cloud/vault/password_vault.cpp
e2e_cloud/vault/password_vault.h
)
target_include_directories(td_e2e_cloud
PUBLIC
${src_loc}
)
target_link_libraries(td_e2e_cloud
PUBLIC
desktop-app::external_qt
PRIVATE
tdesktop::lib_argon2
desktop-app::external_openssl
)