~AreEnn
~AreEnn_
~R4SAS
~acetone
~orignal
~villain
@onon
&N00B
+Xeha
GFW
Leopold
Nikat
Opax
Vort
ananas-
b3t4f4c3
chch
duck
fidoid
grimreaper
guest7
hidden_gamer
iiii
karamba_i2p
not_bob_afk
not_human
osoznayka
poriori
profetikla
qend
rc13
slfd
soos
teeth
tensor
un
weko
whothefuckami
not_human
Может кто подсказать по работе SAM? Какой-то он забагованный у i2pd
Vort
что именно не так с ним?
not_human
Есть пара вопросов. Поднял bitcoin-core узел и заметил что ко мне нет входящих соединений вообще. Только исходящие всегда, i2pacceptincoming стоит 1, статический адрес сгенерился
not_human
И второй вопрос, почему после перезапуска bitcoin-core появляется две сессии SAM. Причем биткоин пытается соединиться через обе, но безрезультатно. Помогает только перезапуск i2pd
Vort
по первому вопросу - acceptor в SAM сессии появляется?
not_human
Да, есть
Vort
по второму - исчезала ли прошлая сессия к моменту повторного запуска?
not_human
После перезапуска i2pd да. Если перезапускать bitcoin-core то в i2pd плодятся сессии SAM
not_human
Кстати похожое поведение наблюдал с i2cp после перезапуска i2psnark. Сессий становится больше, старые не очищаются
Vort
имена сессий хоть разные создаются?
not_human
Да, разные. Вслучае i2psnark это не мешает работе. Вслучае bitcoin-core мешает. Он полностью теряется связь через i2p
Vort
и сколько времени старые сессии висят? часами грубо говоря?
Vort
просто некорое время, от нескольких секунд до нескольких минут - это обычное явление
not_human
i2cp полчаса максимум ждал. sam висит до сих пор, прошло пару дней уже
Vort
если дольше - значит баг
Vort
понятно. в коде недавно было изменение на эту тему. видимо, что-то пошло не так
not_human
Похоже на проблему с очисткой сессий
Vort
версия i2pd хоть последняя? 2.57.0
not_human
Да конечно
not_human
Мне кажется это может затрагивать и первый мой вопрос
not_human
Вижу
not_human
Причем вторая сессия sam висит с несуществующим адресом уже
not_human
При попытке глянуть туннели адреса пишет ERROR: Such destination is not found
Vort
я по-быстрому с qBittorrent попробовал воспроизвести, не получилось. но у меня стримов не было. так что надо ждать orignal, он или сразу поймёт в чём дело или дополнительные вопросы задаст
not_human
bitcoin-core 29.0 если что. Но может в нем дело, но это маловероятно как мне кажется. С версией 28.1 такое поведение было
orignal
тут такое дело
orignal
я тестирую работу сэма на госткойне
orignal
и там все в порядке
orignal
я не понял. типа сэм сессия рвется и продолжает висеть что ли?
not_human
После перезапуска bitcoin-core появляется новая сессия SAM, старая остается висеть вечно. Когда bitcoin-core пытается открыть исх соединения то он появляются во всех SAM сессиях и не получают ответов. Только send идет. Фактически свзяь
not_human
пропадает полностью
orignal
по порядку
orignal
ты запускаешь биткойн
orignal
иервый раз
orignal
у тебя соединеняи появились?
not_human
Да все работает отлично (только правда входящих соедиенний нет несмотря на присутсвтие acceptor. Втечении нескольких недель проверял)
orignal
потом ты останавилиаешь биткойн
orignal
так?
not_human
Да
orignal
в этот момент сессия остается что ли?
not_human
Да
orignal
если посмотреть примерно минуты через 2
orignal
не пытаясь запускать заново
not_human
Я обновлял bitcoin-core. Это точно заняло более 2 минут
orignal
а он точно прибился
orignal
в смысле bicoin core
orignal
может чего осталось висеть
not_human
Точно.Я даже специально лог проверил
orignal
ну то есть сесссия не убивается хотя ее сокет закрывается
orignal
ладно погляжу
not_human
Могу сейчас попробовать выключить и посмотреть
orignal
вот да посмотри
orignal
то есть сценарий
orignal
запустили установили соедлинения
orignal
остановили сэм клиента и смотрим что с сессией
not_human
А сейчас сработало почему-то, сессия исчезла
orignal
она будет висеть но сдохнет через несколько минут
orignal
нет надо не сразу а чтоюы несколько сеодинений было
orignal
и по ним данные шли
not_human
Да, так и было
orignal
буду разбираться почему она в принципе не завершается
orignal
скорее всего какой то стрим завис
not_human
Прямо сейчас все стало работать как надо. Но старая сессия которой уже несколько дней висит до сих пор
orignal
понятно что бага
not_human
Похожее наблюдал с i2cp. Когда i2snark перезапускал тоже сессия не закрывалась
orignal
а это совсем другая тема
orignal
там соверенно другой код
not_human
Да, понимаю. Но поведение такое же
orignal
у тебя точно нет проблем с сетью что сокет продожает висеть несмотря на закрытие
orignal
?
orignal
надо бы netstat-ом глянуть
orignal
в i2cp то проще некуда: сокет сессии закрылся -до свдания
orignal
там никаких стримов нет
not_human
Зависший сокет показывает что открыта сессия на локальном порту. Судя по netstat он действительно слушает
not_human
*зависший sam
orignal
одно дело слушает а другое дело что есть соедининие
orignal
по поводу i2cp псмотрю может там сессия вычищается из общей таблицы неправильно
not_human
секунду, а соединение и впрям есть established
not_human
что за бред
not_human
tcp 0 0 127.0.0.1:7656 127.0.0.1:36248 ESTABLISHED 123456/i2pd
not_human
session [127.0.0.1:36248] это то что SAM пишет
orignal
что то его держит значт
orignal
у нас на работе такое иногда случается под нагрузкой мы считаем что это бага ядра линукса
orignal
грубо говоря где то FIN потерялся
not_human
как он может потеряться если там retry должен идти пока не будет подтверждения или я ошибаюсь
orignal
внутри ядра терятеся и все
orignal
должен был закрыться а не заккрывается
orignal
это как при обрыве провода например
orignal
сокет будет висеть вечно пока приложение его принудительно не закроет или не отсановится
orignal
собственно поэтому в клиентских протоколоах и не полагаются на TCP а шлют хартбиты
not_human
печально
not_human
получается решения нет
not_human
только рестарт every n days
orignal
не знаю у меня проблем таких нигде нет
orignal
может у тебя ось какая то экзотическая
not_human
debian
not_human
тогда буду наблюдать. может замечу еще какие-то закономерности
orignal
короче на другую тему
orignal
наконец я переделал ECDSA на openssl 3
onon
И что теперь, быстрее работать будет?
onon
Или просто зависимости убираешь?
orignal
думаю урать OPENSSL_SUPPRESS_DEPRECATED
orignal
цель в этом
orignal
надо правда решить что в гостом делать
orignal
думаю условную компиляцию для него
orignal
вообще я так вижу что 1.1.1 остался только в 11 ом дебиане
orignal
который через год eol
not_human
дык гост используется или нет?
orignal
говорят кем то используется
not_human
а как его использовать? и как это проверить?
orignal
зачем тебе?
orignal
у клиетского тоннеля поствь signaturetype=9
orignal
у серверного не будет работать потому что джавовские флудфилы дропнут
V1P
Что это такое
orignal
где?
onon
А неявовские флудфилы примут?
not_human
опа, i2pd только что упал. i2pd.service: Main process exited, code=killed, status=11/SEGV
not_human
версия 2.57
orignal
разумеется
orignal
i2pd же понимает такой тип подписи
orignal
ну разбирайся почему
not_human
i2cp теперь две сессии от i2psnark
not_human
с разными адресами
orignal
а я причем?
orignal
это уже вопрос к снарку
orignal
почему он 2 сессии держит
onon
Давайте уже потихоньку на qbittorrent перекатывайтесь со снарка
not_human
в qb нету поддержки i2p dht
not_human
так что нах не нужон
onon
Вот разрабам qb и напиши
onon
что оч сильно нужен DHT
not_human
зачем? мне проще i2psnark поставить. к слову нужно писать разрабам libtorrent
onon
Снарк не умеет так быстро файлы качать
onon
Точнее отдавать
not_human
без dht это не торрент. трекер упадет и все твои раздачи лягут
onon
И зависать может соединение снарка из-за i2cp
onon
Потому что туннели не переключаются
not_human
<~orignal> ну разбирайся почему ////// нету дампа, нечего и разбирать
onon
Ну вот включи, чтоб в следующий раз был
not_human
надо бы
Leopold
not_human: потому что не перезапустил снарк, соединение идет по новому адресу, конечно
Leopold
<onon> Давайте уже потихоньку на qbittorrent перекатывайтесь со снарка
Leopold
с хуя
not_human
а что это за адрес aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.b32.i2p ?
Leopold
я видел его
not_human
увидел в Tags sessions в одной из сессией снарка
onon
Это значит тебя сдеанонили, и скоро приедут
onon
Форматируй диски
onon
xD
not_human
так и знал
orignal
это сессия по которой не пришли данные
orignal
сама сдохнет по таймауту
orignal
тоннее даже не данные а лизсет
ananas
orignal, я про нюанс/баг в соксе .Иногда сокс 4-ю ошибку выдаёт, из-за чего hexchat, и только что понял, симплекс, перестают делать попытки пересоединения после обрыва. В джаве такого нету.
ananas
хекс легко переподключить к серверу а вос в симпле такого нет только рестарт. неприятно неудебно в общем.
Vort
хех. не из-за этой ли фигни у меня клиент при перезапуске сервера почти никогда не переподключается
ananas
я хз может так и должно быть по спецификациям, но это некоторый минус
Vort
ну по поводу http ошибок недавно обсуждение было. вполне может и в соксе быть какая-то фигня
ananas
про снарк и зомби сесии в i2cp подтверждаю, тоже такое есть.
orignal
что за 4-ая ошибка?
orignal
const uint8_t SOCKS5_REPLY_HOST_UNREACHABLE = 0x04;
orignal
и что не так?
orignal
что он должен по твоему мнению возвращать?
ananas
не ну в яве то как то реконекты идут, а тут намертво встаёт. Может вообще не выдавать ошибку. ява то не отдаёт. Ну то есть если в адресной гниге нет хоста, чтоб не долбится, выдавать.
orignal
ну вот скажи кокнретно что делать
Vort
так можно исходники java глянуть
ananas
только сегодня понял почему в симплексе новых сообщений нет
orignal
ну так нужно
orignal
я сделал как понимал если не правильно я починю
ananas
решил пересоединится и сразу попёрли новые, значит в етой ошибке дело
ananas
<orignal>там счётчик попыток есть? просто увеличить.
orignal
нет нашел лизсет возвращает ошибуку 4
orignal
счас так
ananas
<orignal>вообщето так правильней. конечно.
orignal
вот я и спрашиваю как надо
V1P
что будет дальше развиваться в i2pd?
V1P
создание чего-то нового или новая разработка?
WebClient39
Дальше будет госткоин имплементирован
WebClient39
И использование сети станет платным
WebClient39
За токены
V1P
да, интересно сохранить конфиденциальность
orignal
читай про посквантовую криптографию
orignal
как думаете стоит зарепортить багу в openssl
orignal
что при неверное подписи возвращает успех
orignal
наикнулся счас
Vort
регрессия что ли?
Vort
стоит если есть уверенность в том что это действительно баг
Vort
а если они проигнорят или будут какую-то чушь нести - то это уже будет их вина
orignal
ну если ты даешь кривую подпись а тебе verify возврашает 1 это что?
orignal
нее это не регрессия
orignal
помнишь историю когда у меня на 2RRY подпись похерилась
orignal
подпись family
orignal
суть была в том что она успешна проходила на i2pd же кода
orignal
оказалось что это баг с верификацей
orignal
то есть делалась кривая подпись которую i2pd считал верной
orignal
и я легко могу вопроизвести
orignal
посмотри последий коммит
orignal
там подпись оказывается должна быть кодированной
orignal
а я подсоывал просто 64 байта
orignal
а вот теперь самое главное
orignal
вот в этой строчке github.com/PurpleI2P/i2pd/blob/openssl/libi2pd/Family.cpp#L113
orignal
все время получается упешно
orignal
даже если подпись кривая
ananas
а это не уязвимось? бага слишком мягко сказанно. бекдор от анб)))
orignal
нет
orignal
фамилии никого ниебет вообще
orignal
в i2pd оно нигде не используется )))
orignal
то есть пасится только
orignal
и если кривая подпись посчитает роутер кривым
orignal
будет время сделаю репорт
ananas
я про опенссл имел в виду
orignal
а вот это интересный вопрос
orignal
смотри из-за этого бага мой флудфил джависты долго банили
orignal
это баг был и у них
WebClient32
i2pd tools обновите пожалуйста
WebClient32
если надо
WebClient32
если менялось в 57 что то
orignal
вроде недавно что то правил
WebClient32
там последнее 2.56 4 месяца назад. вроде в 57 pq появилось, хоть и не везде включено, возможно стоит обновить на 2 57
WebClient32
по поводу подписи...
WebClient32
EVP_DigestVerify() return 1 for success; any other value indicates failure.
WebClient32
а ты просто к булу кастишь
WebClient32
даже если оно вернуло 2, то есть ошибку VerifyFamily вернёт true
WebClient32
не?
orignal
я проверял там точно 1
orignal
в этом все дело
WebClient32
но в коде всё равно бага, кажись
orignal
да знаю и не только там
orignal
надо проверять на равенство 1
onon
Всё, хана. Лось криптографию неправильно проверяет. Пора форматировать диски.
WebClient32
а это не критично? По сути подписи не проверяются иногда
orignal
почему то всегда срабатывает вон сколько ошибок
orignal
про неверную подпись
WebClient32
мы же не узнаем когда не срабатывает
orignal
узнаем если будет такой вектор атаки )))
orignal
но я сомеваюсь
WebClient32
ты думал пофиксить это, посмотреть на похожие ошибки и фикс выкатить раньше чем через пол года?
onon
Фикс и релиз уже должны быть до конца недели
onon
Репутация дороже всего
orignal
в след релизе и выкачу
orignal
тут реально не 0 и 1 оно возвращает только в случаеях если вообще контекст ннеправильно сформирован
orignal
но он правильный изначально
orignal
а поправить да поправлю раз уж занялся
orignal
переделкой
WebClient32
есть еще пол года на эксплуатирование атаки. так и запишем
orignal
ага
orignal
давай начинай
onon
Нужно срочно всем держателям сервисов сообщить
WebClient32
надо китайцам сообщить
orignal
надо
orignal
и про багу с openssl - это намного серьезнее
orignal
потому что возрващет что подпись правильная чего быть не должно
WebClient32
надо issue на гитхабе i2pd сделать, чтобы китайцы увидели
orignal
A return value of 0 indicates that the signature did not verify successfully
orignal
понимаешь в чем дело?
orignal
если подпись неверная всегда будет 0
orignal
а если там не 0 или 1 это вообще какая то системная ошибка
WebClient32
тем не менее
orignal
тем не менее у тебя нет способа создать эту ситуацию передачей данных
orignal
а вот когда возвращает 1 когда все битое это много серьезнее
WebClient32
я не эксперт, не знаю. надо у китайцев спросить
orignal
к счастью эти типы подписи не используются
orignal
где оно вылазит
orignal
точнее используются но сильно редко
orignal
фактически только pizdabol.i2p с ней
WebClient32
кстпти, что хотел спросить. когда pq выкатят, сайтам придется адреса менять?
orignal
нет
orignal
там же ключи щифрования добавляются к лизсету а не к адресу
orignal
смотри напаример 333.i2p у него есть ключ типа 6 постквантовы
orignal
й
WebClient32
а вообще может быть ситуация в которой адреса придется менять?
orignal
ну смотри теореически бы надо сменить адрес anima.i2p
orignal
animal.i2p
orignal
потому что у него старая DSA подпись
orignal
но мне влом
orignal
ну то есть менять адрес нужно только при смене типа подписи
orignal
с постквантовой же подпьсю еще конь не валялся