Bnd.addr/port details in KDF Docs

This commit is contained in:
Alexey
2026-10-27 19:36:22 +03:00
parent 8dd1938924
commit 4eef3d8608
3 changed files with 12 additions and 0 deletions
@@ -38,3 +38,7 @@ Die C-Referenzimplementierung enthält **keine Möglichkeit, den Port zu ignorie
Falls ein Port den Wert `0` hat, wird er dennoch als `0` in die KDF übernommen. Falls ein Port den Wert `0` hat, wird er dennoch als `0` in die KDF übernommen.
Eine „Port-Ignore“-Logik existiert nicht. Eine „Port-Ignore“-Logik existiert nicht.
### Wie wählt Telemt die KDF-Quelle bei SOCKS?
Gültige öffentliche SOCKS-Werte `BND.ADDR/BND.PORT` mit einem Port ungleich null liefern das vollständige KDF-Quelltupel vor konfigurierten/ermittelten NAT-Daten. Die Familie muss dem logischen ME-Ziel entsprechen, unabhängig von der TCP-Familie zur SOCKS-Verbindung. IPv4-mapped IPv6-Ziele gelten als IPv4 und erfordern ein natives IPv4-BND-Tupel; IPv4-compatible Ziele bleiben IPv6. `strict` weist fehlendes/ungültiges BND ab, `compat` behält den bisherigen Fallback. KDF-Felder und Ports, SOCKS-CONNECT-Zielcodierung, Prüfung öffentlicher Adressen und STUN bleiben unverändert.
@@ -39,3 +39,7 @@ The C-implementation provides **no mechanism to ignore the port**:
If a port is `0`, it is still incorporated into the KDF as `0`. If a port is `0`, it is still incorporated into the KDF as `0`.
There is **no conditional logic to exclude ports** There is **no conditional logic to exclude ports**
### How does Telemt select a SOCKS KDF source?
A valid public SOCKS `BND.ADDR/BND.PORT` with a nonzero port supplies the complete KDF source tuple, ahead of configured/discovered NAT information. Its family must match the logical ME destination, independently of the TCP family used to reach SOCKS. IPv4-mapped IPv6 destinations count as IPv4 and require a native IPv4 BND tuple; IPv4-compatible destinations remain IPv6. `strict` rejects unavailable/invalid BND; `compat` retains the existing fallback. This does not change KDF fields, ports, SOCKS CONNECT destination encoding, public-address checks, or STUN behavior.
@@ -39,3 +39,7 @@
Если порт равен `0`, он всё равно попадёт в KDF как `0`. Если порт равен `0`, он всё равно попадёт в KDF как `0`.
Отдельной логики «игнорировать порт» не предусмотрено. Отдельной логики «игнорировать порт» не предусмотрено.
### Как Telemt выбирает исходный адрес KDF при SOCKS?
Корректные публичные SOCKS `BND.ADDR/BND.PORT` с ненулевым портом задают полный исходный кортеж KDF и имеют приоритет над настроенными или обнаруженными NAT-данными. Семейство должно совпадать с логическим ME-назначением, независимо от семейства TCP-соединения к SOCKS. IPv4-mapped IPv6 назначения считаются IPv4 и требуют обычного IPv4 BND; IPv4-compatible назначения остаются IPv6. `strict` отклоняет отсутствующий или некорректный BND, `compat` сохраняет прежний fallback. Поля и порты KDF, кодирование назначения SOCKS CONNECT, проверка публичного адреса и STUN не меняются.