psi-plus / main

Main repository with patches and required resources
https://psi-plus.com/
GNU Lesser General Public License v2.1
69 stars 20 forks source link

jingle-ft doesn't fallback to ibb (or close session) when s5b transfer has failed #784

Open SkyMaverick opened 3 years ago

SkyMaverick commented 3 years ago

С недавних пор в Conversations есть передача файлов по XEP-065. Пытаюсь использовать связку Converstions + PSI+ linux-build. При передаче (Conversations -> Psi+) Converstions показывает передачу 100% и останавливается на этом, PSI+ показывает размер и имя файла и передачу 0% . В обратную сторону (PSI+ -> Converstions) - не передаёт.

Gajim передача работает в обе стороны, поэтому склоняюсь к мнению, что проблема всё-таки в Psi+. Сервер Prosody, если это важно. Psi+ за NAT.

Ri0n commented 3 years ago

версия Пси+ какая?

Ri0n commented 3 years ago

проверил. с пси+ на конверс работает нормально. обратно тоже передает, но пси не поддерживает шифрование на для файл трансфера, так что получает только гарбаж

Ri0n commented 3 years ago

отключил шифрование в Conversation, передал файл. всё пришло без проблем.

короче эта задача только о поддержки шифрования файлов в пси

Ri0n commented 3 years ago

хотя не вру. это баг Conversations. так как тот не сделал дискавери поддерживаемых в пси фичей.

SkyMaverick commented 3 years ago

Версия Psi+ v1.4.1473 из ppa:psi-plus/ppa . Вот скрин передачи Psi+ -> Conversation (видит, что началась передача, но передача 0%) + лог XML-консоль. И скрин передачи в обратную сторону (Conversations пишет 100%, но если отменить на Psi+ видит, что передача отменена) + лог XML-консоль.

Возможно, проблема может быть в том, что jabber.mkcsrv - локальный домен. С другой стороны тотже gajim это как-то отрабатывает.

Прочитал сообщения. Ок. Буду знать в чём проблема. Спасибо за уделённое время.

Ri0n commented 3 years ago

о вижу из вашей xml консоли что оба послали candidate-error но закрытия сессии не последовало. короче соединиться не смогли. но сессия должна была обортнуться, сказать что всё пропало и тп ну и вообще с мигрировать на ibb. то что этого не произошло - баг.

а да. я вчера добавил минимальную поддержку received/checksum нотификаций в файлтрансфер. по идее ни на что не должно повлиять, но ошибки в консерве если и были то не должны больше показываться.

короче я багу переименую тогда

Ri0n commented 3 years ago

и ещё я накидал драфт для менеджера шифрования в пси. пока у нас в чатике. потом смастерю нормальную доку

Ri0n commented 3 years ago

кстати насчет того что не получилось соединиться по s5b может быть багом в конверсейшене. видимо в гаджиме тот же баг. Я уже указывал разработчику консервы на этот баг и тот согласился что это баг, но не знаю починил он или нет. если в кратце то консерва неправильно генерирует ключики авторизации для socks5 если соединение идет через прокси. с разработчиками гаджима я по этому поводу не общался.

SkyMaverick commented 3 years ago

но не знаю починил он или нет

Версия Conversations 2.9.0 F-Droid. Насколько я понимаю, релизу 5 дней. Так что, видимо, не починил.

Ri0n commented 3 years ago

а между гаджимом и консервой точно по s5b идет а не ibb?

SkyMaverick commented 3 years ago

Сейчас более подробно проверил с gajim. Получается так:

Если Converstions и gajim находятся в разных подсетях, но без NAT (VLAN в моем случае), то передача отрабатывает нормально (direct connection). Сейчас, имея возможность переключить сеть, проверил Psi+ тоже при отсутствии NAT работает в обе стороны. Стоит оказаться за NAT - все не отрабатывают. Т.е., если я правильно понимаю, mediated сonnection (XEP-0065 пункт 6) не работает.

Проблема касается только файлообмена, т.к. сообщения и станзы ходят спокойно хоть с NAT, хоть без. И, видимо, если я правильно понимаю, Conversations сломавшись с s2b пытается передать по ibb, но psi+ переключиться на ibb не может и Вы правильно диагностировали проблему - psi+ не переходит в fallback-режим.

Neustradamus commented 2 months ago

@SkyMaverick: Have you tested a recent Psi+ build?