~AreEnn
~R4SAS
~acetone
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Leopold
Most2
Nausicaa
Ruskoye_911
Vort
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob_afk
plap
poriori
profetikla
soos
teeth
un
weko_
whothefuckami
orignal
с дедом так и не пришли к консенсусу потому что он через совй I2CP его паредать не может а я могу
Vort
так может в торрентах вообще нет шифрованных лизсетов?
Vort
там же трекер массив из 32 байтных записей просто возвращает
Vort
подозреваю, что эту поддержку нельзя сломать, так как её нету )
orignal
так смотри
orignal
как раз в p2p сетях шифрование лизсетов имеет смысл
orignal
чтобы скрыть само ее существование
Vort
так протокол уже есть такой, какой есть. кто его переделывать будет?
Vort
"Do not convert a Destination back to a Base 32 hash for lookup, this is quite inefficient."
Vort
хых
orignal
никто
orignal
я говорю про сэм в целом
orignal
не конкртено торренты
ralsei_
i2pd принимает патчи анонимно, по постмановской почте или сюда ссылкой на файлообменник с патчем?
ralsei
Я смог написать конфиг сервиса для системы с dinit, вот патч 0xff.i2p/Ws.patch
weko
[22:43:31] <orignal> b33 кстати тоже работет
weko
Да, я лично проверял
weko
[22:49:44] <orignal> смотри что происходят со STREAM ACCEPT
weko
[22:50:09] <orignal> он в начале присылает base64 пира
weko
[22:58:49] <orignal> как передать факт что это реально b33 если у пира шифрованный лизсет?
weko
[22:59:23] <orignal> в самом лизсете есть флаг что он публикутеся как шифрованный
weko
[22:59:57] <orignal> с дедом так и не пришли к консенсусу потому что он через совй I2CP его паредать не может а я могу
weko
Мля, херня какая то. Нужна стандартизация. base64 должно использоваться только для создания, остальное должно быть b32, ибо поиск лиссетов всё равно по хэшу идёт.
weko
Насчёт проблемы - мне казалось, что STREAM ACCEPT возвращает именно b32, возможно мне кажется. Мне вообще кажется это костылём, там можно полноценный SAM ответ возвращать, возможно с какими-то данными.
weko
Anyway, нужно костыли исправлять. Обозвать это каким нибудь SAM4.
orignal
нет STREAM ACCEPT именно base64
orignal
всегда
orignal
дед предлагал мгне доавилять флаг
weko
значит у меня помунетние
weko
один хер надо стандарт делать
orignal
ну так ег придется делать нам
weko
может помочь могу с этим?
weko
сделать поддержку bb32 и сделать задел на металиссеты
orignal
да метализсеты мало кому нужны
weko
никто не мешает сделать для них стандарт в сэме
weko
чтобы потом не переделывать
weko
тем более вот нам с Leopold уже пригодился бы
orignal
так они даже не реализованы в базовом коде
weko
так понятно, я к тому что стандарт будет
weko
конечно работать не будет
orignal
давай начет со STREAM ACCEPT
orignal
это важнее для p2p
weko
ну самое просто сделать полноценный SAM ответ, в котором будут данные нужные
weko
вместо просто строки с base64
weko
а дальше уже после \n идут данные
weko
просто полноценный ответ можно потом будет дополнять какими нибудь данными ещё
weko
так как в библиотеках конечно просто парсер полей
weko
и не сделанное поле просто будет проигнорировано
weko
ну должно быть
orignal
дед прдалагал добавить параметр
weko
для STREAM CONNECT кстати тоже можно, чтобы знать когда коннект успешен. можно ещё возвращать конкретную ошибку в случае CANT REACH PEER - не нашёлся лиссет, нет ответа через туннели или та сторона шлёт отлуп
orignal
мне нравится идея что передавать не только адрес но и произваольные параметры
orignal
а ну это можно
weko
ну да, а добавлять разные параметры от версии к версии при необходимости
weko
вот в i2plib например просто парсер ответа есть
weko
ещё скорее вопрос - как обстоит вопрос с множественным использованием дестинейшена разными сессиями?
weko
вижу в i2lib ошибку DUPLICATED_DEST, видимо обстоит как минимум в 3.1 никак
orignal
разумеетчя никак
orignal
возможно только с мастер сесиией
orignal
которую я так и не доделал ))
weko
тогда про мастер сессию - несколько программ могут одновременно использовать один дестнийшен в таком случае?
weko
условно на разных портах
weko
или в качестве клиента
weko
в случае, если я как пользователь, укажу использовать один и тот же дестинейшен в двух разных программах
weko
я просто хочу предложить указание портов вообще обязательной штукой и никакая мастер сессия не нужна будет
weko
условно говоря если на этом десте и порту уже есть сессия - ошибка, если нету - стартуем
weko
и нужно конечно ещё параметры дестинейшену как то передать. либо делать "кто первый - того и тапки", тоесть настройки от самой первой сессии, либо подумать над согласованием
weko
а параметры стриминга, если можно то сделать уникальными на ссесию.
weko
условно одной программе лучше одно, а другой - другое
orignal
да мастер сессия как раз для этого
orignal
но я бы начал это с боба ибо там проще все
weko
ладно, щас в доках попытаюсь найти ответ на свой вопрос
orignal
в бобе все сильно проще
orignal
надиктовал параметров и запустил
orignal
а с этими мастер сессиями умнодение сущеностей бещз надобности
weko
так я согласен
weko
убрать надо их
weko
я ж и пишу
orignal
да сэм сам по себе кривизна кривая
weko
просто придумать правила параметров дестинейшена и никакие мастер сесиии не нужны
weko
orignal: ну так есть шанс сделать нормально
orignal
посомтри SAM 3.2 там может inport есть без мастер сессии
weko
[FROM_PORT=nnn] # SAM 3.2 or higher only, default 0
weko
это то понятно
weko
вопрос того, если разные программы захотят разные параметры дестинейшена
weko
разное количество туннелей например
weko
ещё ID можно переработать
orignal
FROM_PORT это вроде для датаграм
weko
для них PORT и HOST
weko
костыли короче
orignal
короче наша задача сдеать несколько SESSION CREATE на однои адресе
weko
очередные
weko
ну да одна из
orignal
мне счас некогда разбираться
weko
ну я могу над этим подумать
weko
будет время - напишу набросок для стримов
weko
а есть же ещё оффлайн ключи
weko
или как они та
weko
которые на время короче
orignal
а что с ними?
weko
ну просто они есть ))
orignal
я не помню уже что я с ними делал
orignal
для сэма
weko
посмотрим
weko
так в итоге делаем ?
weko
просто чтобы точно понимать что лишним не занимаюсь
orignal
несколько session create с одним и тем же адресом
orignal
также как у нас сервеные тоннели
weko
ну да
weko
я имел ввиду да или нет, но видимо да ))
orignal
надо аналогично тому что мы в тоннелях
weko
понима
weko
понимаю
weko
поэтому и по настройкам предлагаю тот же принцип первой сессии
weko
опять же в SESSION REPLY можно эти настройки возвращать если они не стандартные
weko
хотя лучше возвращать в любом случае наверное
weko
ибо стандарт может менятся, а библиотеки могут за ним не поспеть
orignal
да все так как у нас в тоннелях
orignal
настройки первой
weko
а последущие сессии ставить уже перед фактом
orignal
именно так
orignal
все эти мастера ну не нужны они
orignal
умножение сущностей без надобности
weko_
из-за ошибки в коде у меня создалось куча стримов, настолько дохрена, что у меня аж i2pd крашнулся
weko_
видимо памяти не хватило
weko_
надо проверить
weko_
а нет, SEGV
orignal
что за огшибка?
weko_
это segmentation fault вроде как
weko_
11
weko_
ща дамп буду глядеть
weko_
под очень сильной нагрузкой стримами это
weko_
через сам при чём
weko_
Program terminated with signal SIGSEGV, Segmentation fault.
weko_
#0 0x0000563a1cd38b28 in i2p::garlic::ElGamalAESSession::CreateDeliveryStatusClove(unsigned char*, unsigned int)
weko_
()
weko_
и всё
orignal
а откуда у тебя вообще оно?
weko_
нет
orignal
не надо тебе эль-гамаль
weko_
там не должно быть эльгамаля
weko_
по умолчанию же в саме не эль гамаль?
orignal
по умолчанию да
orignal
но лучше сразу менять на 4 в араметре
weko
странно
weko
оно вылетает не сразу
weko
я запустил, создалось кучу стримов, оставновил, прошло время, и потом крашнулось
weko
стримы висели
weko
хотя сокета быть уже не должно было
Leopold
Транзитные туннели: 32
Leopold
Транспорты:
Leopold
NTCP2 ( 75 )
Leopold
SSU2 ( 322 )
orignal
ну так бага с эль гамалем
weko
ну я хз, я скинул что мне bt в gdb выдаёт
orignal
так понятно что бага
orignal
просто нет смысла ее чинить
weko
но она появляется когда сам эльгамаль не используется
orignal
не должна
orignal
я его вообще хочу выпилить
weko
а для серверов сейчас просто 4 по умолчанию ?
orignal
нет 0,4 вроде
orignal
но я все равно собираюст 0 линвидировать
weko
ну постепенно может ?
weko
не хочется как в поговорке
orignal
так уж 3 года как 4 есть
orignal
сколько можно поддерживать это говно мамонта?
weko
ну если думаешь то не надо, то нужно выпилить
weko
кстати так и не ответил, что думаешь по поводу уровня логов critical
weko
для штук, критичных для пользователя
weko
например, конфиг с ошибкой, сам не стартовал и так далее
weko
ну всякое такое
weko
дескрипторов мало тоже можно критикал
Vort
в винде такие ошибки в виде окошек вылазят
weko
в жопу шинду!
R4SAS
Vort: то изменение в Win32App с удалением вызова при остановке сломало нормальный выход
Vort
чуть позже гляну
R4SAS
приложение остается висеть в фоне после того как иконка пропадает
R4SAS
ralsei: сделай патч с нормальным автором. test ни куда не годится
orignal
можно сделать critical когда время будет
weko
там главное просто сделать сам уровень лога, дальше я могу сам посмотреть где его использовать
R4SAS
такс... ладно, я залью добавление dinit, поправлю так автора
orignal
в Log.h/.cpp вестимо
orignal
все там
R4SAS
изучай
R4SAS
делай его вторым, после none
weko
ага, спасиб
weko
ну да, понятно, он же выше error
weko
case eLogNone : priority = LOG_CRIT; break;
R4SAS
ну, это можно переделать. мне просто надо было сделать отдельный уровень, который бы писал только версию на старте
R4SAS
а вообще
R4SAS
надо почитать какие там уровни еще есть
R4SAS
это в syslog хедеры надо глядеть
R4SAS
наверно так же придется CRIT оставить
weko
окей тогда
weko
ну видимо LOG_CRIT
weko
можно none LOG_ALERT но наверное не то
Vort
R4SAS: только что проверил - у меня выходит. правда, у меня тут ещё куча патчей.. но думаю не в них дело
Vort
на какой сборке проверял? MSVC?
Vort
как выходил - правой кнопкой по значку - exit ?
R4SAS
шланг, гсс
R4SAS
да
Vort
режим не служба?
R4SAS
нет
R4SAS
но у меня еще i2cp работает если что, но через него ничего не гоняется
R4SAS
потому что когда останавливаешь и идешь в вебморду, то там все службы кроме него остановлены
Vort
для меня проблема даже с моими патчами получить выход без креша :)
Vort
в общем, за крешами этот баг сложно обнаружить. но я сейчас ещё с крешем попробую разобраться
Vort
может он связан
Vort
хотя один раз креша не было и вышло нормально
Vort
этот креш наверно специфичен для clang (или msys2)
Vort
креш связан с NTCP2 и, возможно, моими патчами. помимо этого остановка работает нормально
Vort
проверил в том числе с i2cp
Vort
может быть проблема из-за различий в ОС
Vort
чтобы исключить проблемы со сборкой, проверю на бинарнике из CI
Vort
R4SAS: вот видео нормального выхода из i2pd, с бинарником из CI и конфигом близким к стандартному: paste.i2pd.xyz/?aade1463258a998b#9Su12HeMJw4CP8db84VkbM7Fhc4XJACn6HoWsDJ6Y4Wg
Vort
так что пока я не могу воспроизвести проблему, то и сказать мне по ней что-то сложно