initial commit
This commit is contained in:
commit
c260d7bab8
235 files changed
+49786
No files matched your search
@@ -0,0 +1,55 @@
|
||||
# Источники проверки Android SASL
|
||||
Проверено 2026-10-20. Java source использовался для анализа выбора механизма;
|
||||
Android-приложения на устройстве не запускались. Python regression повторяет
|
||||
выбор из Conversations, не всю реализацию приложения.
|
||||
|
||||
- https://xmpp.org/extensions/xep-0440.html (1.0.0)
|
||||
- https://xmpp.org/extensions/xep-0474.html
|
||||
- https://www.rfc-editor.org/rfc/rfc5929.html
|
||||
- https://www.rfc-editor.org/rfc/rfc9266.html
|
||||
- https://codeberg.org/iNPUTmice/Conversations
|
||||
- https://codeberg.org/monocles/monocles_chat
|
||||
|
||||
Файлы fetched с mutable master. Следующие branch-head значения получены
|
||||
после fetch; это не доказательство скачивания каждого файла по commit pin:
|
||||
|
||||
Retrieved 2026-10-20 UTC from mutable master; no commit pin confirmed.
|
||||
https://codeberg.org/iNPUTmice/Conversations/raw/branch/master/src/main/java/eu/siacs/conversations/crypto/sasl/
|
||||
API master commit observed after source fetch: bf3269cd128d4dbf0e479c091477fd9544a798b0
|
||||
monocles master commit: 0bc8473a5d4597d1ffe5545055da692ef8b89d37
|
||||
|
||||
Локальные SHA256 загруженных исходников:
|
||||
|
||||
- ChannelBinding.java: 88723522ed5bb53e947ad7afbc8cd0f8712ea4747d847347c3e5cd7b9aa41389
|
||||
- ChannelBindingMechanism.java: e8a492de0eb866fc93d673cbc46bd5fae18ecf4b7bb46e272e6dca9e8c086937
|
||||
- DowngradeProtection.java: a3fe98c2ccad998deb46f5748411a1a26506215cabb2a4e1d7adce0f51f2ac03
|
||||
- SaslMechanism.java: 9bec637e7d62cc86a7b09cb8353e6272c80fd7b5d94e305b936bcf8c5a611e73
|
||||
- ScramMechanism.java: aa5b2cdc5389a12e8de8fef562f0ee2de45fbdf61fa8fdbd33ea63a5b9299ae8
|
||||
- monocles-ChannelBinding.java: 88723522ed5bb53e947ad7afbc8cd0f8712ea4747d847347c3e5cd7b9aa41389
|
||||
- monocles-ScramMechanism.java: fea3687a12260d9280e204cc003d689043654950118e2d1dc84c058c736234e7
|
||||
|
||||
Conversations selector предпочитает exporter только на TLS1.3, затем
|
||||
unique на TLS≤1.2, затем endpoint. При отсутствии совместимого объявленного
|
||||
типа старый путь использует NONE/y,,. Monocles master содержит дополнительный
|
||||
continueWithoutChannelBinding с n,, и обязательным downgrade protection;
|
||||
его поведение зависит от версии и не полностью моделируется Python тестом.
|
||||
|
||||
## Cached inline requests в 0.7.1
|
||||
|
||||
Полученный серверный журнал показывал TLS1.3 success и inline-request-malformed
|
||||
до sasl-attempt. В server 0.7.0 строка `bind2 is disabled` не совпадала с
|
||||
`Bind2 is disabled` в diagnostic mapper. В supplied конфигурации Bind2 явно
|
||||
не включён. Quickstart constructor в клиентских XmppConnection.java использует
|
||||
QUICKSTART_FEATURES, даже если на новом соединении Bind2 уже не объявлен.
|
||||
Это воспроизведено новым tests/sasl2_cached_inline.py на binary0.7.0.
|
||||
|
||||
В0.7.1 unavailable optional bind/resume не отклоняет credentials exchange.
|
||||
Bare authorization identifier и post-auth legacy bind позволяют клиентскому
|
||||
fallback продолжить вход; available Bind2 работает по прежнему. Это решение
|
||||
совместимости с фактическим client fallback, а не ссылка на явное MUST-ignore
|
||||
из XEP-0388. Wrong password и malformed enabled extensions не разрешаются.
|
||||
|
||||
Источники: Conversations и monocles `src/main/java/eu/siacs/conversations/
|
||||
xmpp/XmppConnection.java`, `im/conversations/android/xmpp/model/sm/Enable.java`,
|
||||
полученные с mutable master 2026-10-20. Authentication success handler оставляет
|
||||
isBound=false без bound, затем processSecureStreamFeatures делает обычный bind.
|
||||
Reference in new issue
Block a user