ZaStoGram/TMessagesProj/jni/tgnet
Repository files (latest commit first)
Filename Latest commit message Latest commit date
loop-uh ebb82aef03 Ходить к веб-релеям по IPv6, когда он доступен
Резолвер запрашивал только записи A, поэтому список IPv6 всегда оставался
пустым и клиент не мог воспользоваться шестым протоколом даже там, где он
есть. Между тем у релеев DC1 и DC5 IPv4-адрес единственный и в сетях
пользователей не отвечает вовсе: в логе 22 таймаута подряд на стадии
установки TCP к kws1-1 и kws5-1, ни одного успешного подключения. Эмодзи и
реакции лежат как раз на этих датацентрах, отсюда жалоба «фото грузятся, а
эмодзи нет».

По IPv6 те же релеи отвечают без потерь, и адресов там сразу два против
одного у IPv4 — то есть протокол даёт и обход блокировки, и запасной адрес.
Теперь AAAA запрашивается отдельным запросом (только при наличии у
устройства собственного глобального IPv6, иначе выдавать такой адрес
значило бы заменить рабочий путь мёртвым), IPv6 выбирается первым, а
кандидаты перебираются по кругу: повторное разрешение имени означает, что
предыдущий адрес не сработал, и следующая попытка обязана прийтись на
другого кандидата.

Маршрут WSS при доступном IPv6 строится по имени релея, а не по зашитому
IPv4-адресу, иначе резолвер вообще не вызывается.

Заодно свёрнут спам аллокаций буферов: он давал больше тысячи строк на лог
и вытеснял полезные записи.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 15:31:09 +03:00
..
transport Перевести WSS на непрерывный байтовый поток 2026-08-08 19:43:26 +03:00
wss Гарантировать 64 байта в первом кадре WSS 2026-08-08 21:24:39 +03:00
ApiScheme.cpp update to 12.9.0 (6966) 2026-07-16 16:46:05 +04:00
ApiScheme.h update to 12.9.0 (6966) 2026-07-16 16:46:05 +04:00
BuffersStorage.cpp Ходить к веб-релеям по IPv6, когда он доступен 2026-08-09 15:31:09 +03:00
BuffersStorage.h Add network debug logging with throttling and metrics 2026-06-27 20:03:11 +03:00
ByteArray.cpp Update to 5.2.1 2019-01-23 20:03:33 +03:00
ByteArray.h Update to 4.9.0 2018-07-30 09:07:02 +07:00
ByteStream.cpp Update to 5.11.0 2019-09-10 13:56:11 +03:00
ByteStream.h Update to 4.9.0 2018-07-30 09:07:02 +07:00
Config.cpp Update to 5.2.1 2019-01-23 20:03:33 +03:00
Config.h Update to 4.9.0 2018-07-30 09:07:02 +07:00
Connection.cpp Резать WSS-кадры по границам MTProto-пакетов 2026-08-09 14:22:17 +03:00
Connection.h Isolate direct transport from MTProxy lifecycle 2026-08-05 16:18:41 +03:00
ConnectionSession.cpp Update to 5.2.1 2019-01-23 20:03:33 +03:00
ConnectionSession.h Update to 5.2.1 2019-01-23 20:03:33 +03:00
ConnectionsManager.cpp Не заливать лог запросами, ждущими ключ датацентра 2026-08-09 13:55:18 +03:00
ConnectionsManager.h Не заливать лог запросами, ждущими ключ датацентра 2026-08-09 13:55:18 +03:00
ConnectionSocket.cpp Ходить к веб-релеям по IPv6, когда он доступен 2026-08-09 15:31:09 +03:00
ConnectionSocket.h Резать WSS-кадры по границам MTProto-пакетов 2026-08-09 14:22:17 +03:00
ConnectionSocketStateMachine.cpp Перевести WSS на непрерывный байтовый поток 2026-08-08 19:43:26 +03:00
ConnectionSocketStateMachine.h Резать WSS-кадры по границам MTProto-пакетов 2026-08-09 14:22:17 +03:00
Datacenter.cpp update to 11.9.1 (5900) 2025-05-01 02:05:36 +04:00
Datacenter.h Update to 8.8.2 2022-06-21 06:51:00 +04:00
Defines.h Proxy lifecycle ownership, plugin infra, editable forwarding 2026-07-04 17:38:27 +03:00
EventObject.cpp Update to 4.9.0 2018-07-30 09:07:02 +07:00
EventObject.h Update to 4.9.0 2018-07-30 09:07:02 +07:00
FileLog.cpp Extract mtproxy module with unified retry authority 2026-07-02 18:25:13 +03:00
FileLog.h Extract mtproxy module with unified retry authority 2026-07-02 18:25:13 +03:00
Handshake.cpp update to 11.9.1 (5900) 2025-05-01 02:05:36 +04:00
Handshake.h update to 10.13.1 (4845) 2024-06-03 10:21:03 +04:00
MTProtoScheme.cpp update to 11.8.0 (5771) 2025-03-10 17:15:31 +04:00
MTProtoScheme.h update to 11.8.0 (5771) 2025-03-10 17:15:31 +04:00
NativeByteBuffer.cpp update to 9.7.0 (3687) 2023-07-21 00:15:36 +04:00
NativeByteBuffer.h Update to 4.9.0 2018-07-30 09:07:02 +07:00
ProxyCheckInfo.cpp update to 9.5.5 2023-03-24 15:38:14 +04:00
ProxyCheckInfo.h Extract mtproxy module with unified retry authority 2026-07-02 18:25:13 +03:00
Request.cpp update to 11.2.3 (5335) 2024-10-18 00:04:16 +04:00
Request.h update to 11.8.0 (5771) 2025-03-10 17:15:31 +04:00
Timer.cpp Update to 5.2.1 2019-01-23 20:03:33 +03:00
Timer.h Update to 4.9.0 2018-07-30 09:07:02 +07:00
TLObject.cpp Update to 4.9.0 2018-07-30 09:07:02 +07:00
TLObject.h Update to 4.9.0 2018-07-30 09:07:02 +07:00