IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2025/12/18
~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+Xeha
Daddy
GFW
Guest35262
Most_
Nobody
Opax
WebClient041
Yotsu
anon
anontor
b3t4f4c3
darkcyankitty
deserving-stegosaur
duanin2
duck
fidoid
g1
gobo
halloy1341
iacv1p
karamba_i2p
leopold
mareki2p
n1
negative_rock127
not_bob_afk
ntty
osoznayka
pnn
poriori
profetikla
qend
rc13
slfd
soos
teeth
un
unit2r
vade
orignal auto session = GetSession ();
orignal if (!session) return false;
orignal вот тут поставь перед return false
orignal вылетает ли тут или дальше вызывает session->HandleNextMessage
orignal внутри сесии ставить логи и смотреть на каком месте фейлится
orignal дальше в HandleExistingSessionMessage
onon Куда ещё лог сувать?
orignal мы должны понять в каком месте HandleNextMessage возвращает false
onon А конктретно
orignal перед ветвлениями
onon Всё?
onon СОбирать?
orignal погоди
orignal auto session = GetSession ();
orignal я думаю что фейлится здесь
onon Мои какие действия?
orignal вот здесь if (!session) return false;
orignal отрыть фигурные скобки
onon Ну я там уже сделал лог
onon СО скобками
onon Или чио-то добавить ещё
orignal и написать перед rerun LogPrint ("мы накрылись медным тазом")
orignal нет больше ничего
onon Ок собираю
orignal собирать и пробовать
orignal если гиптеза подтвердится будем думать с чего сессиия стала нулевой в тагсете
onon Ну щас со старта заработало
orignal ну в общем понятно что надо смотреть
onon Локально поток остановил, послал поток с другого клиента, свё заработало
orignal эээээ
onon Остановил с удалённого клиента, запустил с локального - поёт
orignal какая то исчезающая ошибка
onon А если с двух в один слать то поёт сразу две песни
onon Одновременно
orignal лол
onon Пока не ломается
onon Вот сломалось
onon И нету там !session
onon И HandleNextMessage тоже нет
onon Просто Can't handle ECIES-X25519-AEAD-Ratchet message
onon Пред тем как сломалось было 2 вызова HandleNextMessage
onon Потом было GetNextSessionTag от 24 до 45
onon И дальше GetNextIndex 0
orignal ну так надо все таки понять откуда возвращается false
orignal если других ошибок нет
orignal default:
orignal return false;
orignal может вот тут стейт какой то не такой?
onon А UDPSession: Operation canceled Это откуда?
onon Оно перед этим вылезло, может как-то связано
orignal LogPrint(eLogError, "UDPSession: ", ecode.message());
orignal отсюда
orignal кто то закрыл сокет короче
onon Значит ни при чём
orignal угу
orignal наша цель узнать откуда false в HandleNextMessage
onon Может ему сам пакет не нравится, что он пустой GetDatagramDestination ()->SendDatagram (session, nullptr, 0, 0, 0, &options);
orignal про пустоту пакета ты узнаешь только после рашифровки
orignal а у тебя расшифровать не может
onon Хмм
orignal или еще что то фейлится
orignal мы и пытаемся понять где фейлится
onon Ну ты пока пытайся, а я чаю себе сделаю
orignal да кстати этам мысль интересная что там с пейлоадом
orignal я отойду
orignal в сельпо ))
orignal вернулся
onon А я там опять жабоводов тролирую
onon Говорю что они на болоте сидят
onon Жаб разводят
onon Вот только что оно сломалось в потоке
onon Т.е. не на старте
orignal кстати почему ты думаешь что это фейлится шифрование?
onon А не погоди
onon Это я рестартанул
onon Тоже на старте
orignal давай место смотреть
onon Может ка-то влияет что у меня порты прописаны в конфиге
onon destinationport = 30000
onon port = 30000
onon Я уж не знаю почему у тебя работает а у меня нет
orignal так если у тебя не работает
orignal то ты можешь найти по логам
onon Ну я всё логирую что ты сказал
orignal я же говорю мы должны понять на какой строчки происходит return false
onon Ничё е понятно всё равно
orignal что то же возвращает false
onon Сюда !it->second.tagset или сюда !it->second.tagset->HandleNextMessage ?
orignal раз у тебя печталается индекс что очевидно что тагсет не нулевой
orignal фейлится внутри HandleNextMessage
orignal теперь смотри если бы не могло расшифровать то писало бы ошибку
orignal Garlic: Payload section AEAD decryption failed"
orignal типа такого
orignal но если этой ошибки нет то это явно не шифрование
onon У меня там лог error
onon может он и вылазило
onon Щас поставлю цфктштп
onon warning
orignal вот с этого и надо начинать
orignal если фейлится именно расшифровка
orignal будем копать дальше
orignal у меня кстати порты 24001
onon Оно что-то перестало ломаться
orignal лол
onon Это закон подлости
orignal закон мэрфи
onon Flags/static
orignal так-с
orignal это значит новая сессия
onon Причем это не сломалось мгновенно
onon Он сначала несколько сообщений не смог расшифровать
onon Потом снова смог
orignal Garlic: Flags/static section AEAD encryption failed
onon А потом опять не смог
orignal я полагаю
orignal пардон descryption
orignal а это в свою очередь означает что не нашелся таг
onon И сломалось оно на 683 таге
orignal if (session->HandleNextMessage (buf, length, nullptr, 0))
orignal m_LastIncomingSessionTimestamp = ts;
orignal LogPrint (eLogError, "Garlic: Can't handle ECIES-X25519-AEAD-Ratchet message");
orignal завалилось вот здесь
orignal вопрос почему не нашелся таг
onon Вру сломалось на 443 таге
onon Потом снова починилось
onon А потом снова сломалось
onon Может у меня память где битая?
onon Где он в памяти хранится
orignal вряд ли
orignal кто? таг?
onon Ну
onon Ну другие программы пока не жаловались
orignal std::unordered_map<uint64_t, ECIESX25519AEADRatchetIndexTagset> m_ECIESx25519Tags; // session tag -> session
orignal вот здесь
onon У меня там при включении быстрый тест памяти делается...
orignal да не память это
onon Поня
orignal а логическая ошибка где то
orignal скорее всего он выкинулся по какой то причине
onon Из-за тестов туннелей
orignal для тестов тоннелей свои тагсеты
onon Куда ещё логирование пихать
orignal теперь надо делать следующее
orignal записывать когда таги кладутся в таблицу m_ECIESx25519Tags
orignal и когда они из нее удаляются
orignal далее в момент ошибки записать какой это был таг
orignal когда ошибка возникнет проседить судьбу этого тага
orignal чтобы понять
orignal 1. создавался ли он вообще
orignal 2. если создавался почему был выкинут
orignal это все на стороне получателя
orignal если получился вариант 1 что он такой вообще не создавался
orignal то смотреть почему наборы тагов разошлись на отправителе и получателе
onon Конкретно какие строки
orignal перед всеми операциями с m_ECIESx25519Tags
orignal insert, emplace и erase я думаю
orignal а сам таг вот там где индекс печатал
onon Чет там дохрена операций с этим m_ECIESx25519Tags
orignal ну вот все и записать
orignal в лог
orignal тип операции и таг
orignal тебе от индекса нет пользы
orignal если ты получил таг который не найдет в таблице
orignal тебе нужно само значение тага
onon Ну вот значение значит
orignal и понять что с ним происходило до этого
orignal ну вот в AddECIESx25519SessionNextTag это просто tag
orignal какая строчка вызывает у тебя затруднение?
orignal понимаешь мысль? если мы запишем все действия с тага с этой таблицей
orignal то когда получим не найденный то мы поиском найдем в логе что с ним случилось
onon Ща попробую
orignal ну и пишешь в лог Add и Remove
onon А там где erase
onon m_ECIESx25519Tags.erase (it);
onon auto it = m_ECIESx25519Tags.find (tag);
onon if (it != m_ECIESx25519Tags.end ())
orignal it->first но обязтаельно перед earse а не после
orignal ну и у тебя же есть tag
onon Там где void GarlicDestination::CleanupExpiredTags ()
onon Не знаю как
onon Он там какие-то слишком большие числа пишет
orignal правильно
orignal так и должно быть
orignal и с - может
orignal перед it = m_ECIESx25519Sessions.erase (it);
orignal напечатать it->first
onon Да везде перед
orignal со словом Remove
onon СДелал, только ничего не понятно
onon ВОт оно сломалось уже только как это разобрать...
orignal надо взять таг который на найдет
orignal и сделать поиском по логу его
onon А где это посмотреть который он не нашёл
orignal так ты должен был его напечтать
orignal в HandleECIESx25519TagMessage
orignal к этому if (it != m_ECIESx25519Tags.end ()) доьавить else и туда
orignal Not found и tag
onon Голову мне взорвешь
orignal смотри какой план
onon Перед return false;
orignal да именно там
orignal мы находим таг который не найден а должен быть найден
orignal а потом пытаемся установить почему он не найден
orignal или его вообще не существовало или его выпилили
onon Не находит такого тага вообще
onon Нету его в emplace и erase
orignal то есть он не сгенерился
onon Они только в этом файле генерятся?
onon Еще раз перепроверю что все логи дабвил
orignal то есть генерятся они в другом а вставляются только в этом
orignal если не было его emplace дальше возникает вопрос почему
orignal почему он есть на стороне отправителя и нет на стороне получателя
onon Секретный зонд от АНБ
orignal либо не успел либо расхождение в генерации их
orignal значит надо печтать что мы генерим на обеих сторонах и сранивать
orignal но это уже завтра
onon Данунах
onon Издевается на до мной
onon Я это еле осилил
onon А ещё с двух сторон
orignal ну так раз толькол у тебя воспроизводися
onon Ты просто не старался
orignal если бы у меня воспроизводилось я бы сам все это проделал
onon И отлыниваешь
orignal ну если не застревает что я могу сделать?
onon Слабо пихаешь значит
onon Больший поток пихай
orignal больший это сколько?
onon 434.7kbits/s
onon У меня
orignal хорошо завтра попытаюсь
orignal точнее даже счас
onon Завтра на работу
onon Спать иди
orignal frame= 16 fps=7.7 q=6.1 size= 126kB time=00:00:01.50 bitrate= 688.8kbits/s
orignal рано
orignal что я делаю не так?
onon Не знаю
orignal идет без проблем и затыков
onon Что мне на клиенте смотреть
onon Искать такой номер тага?
orignal на клиенте надо записать все таги которые там генерятся
onon Они такие же должны быть?
onon Вот на сервере он пишет таг не найден
onon И с этим номером на клиенте искать?
orignal uint64_t tag = m_SendTagset->GetNextSessionTag ();
onon Это в каком файле
orignal в сттроке 865
orignal ECIESX25519AEAD как обычно
orignal вот туда надо писать с этой строки
orignal а у получателя надо записывать в AddECIESx25519SessionNextTag
orignal и дальше сранивать одинаковые ли нагенирились и когда начались расхождения
orignal нам надо понять почему на отправителе таг есть а на получателе его нет
onon Знаеш что
onon На сервере таг не нашёлся
onon На отправителе есть
onon Вот какой нюанс
onon Следующий нераспознанный таг на сервере на клиенте сгенерирован до первого не найденного
onon Если в этом вашем шифровании важен порядок следования тагов, то возможно он сломался из-за реордеринга
onon Нет, похоже сервер просто нагенерил мало тагов.
onon только 53 штуки
onon А с клиента часть пакетов потерялась
onon И потом перепрыглул номер получается
onon И на сервере и на клиенте crypto.ratchet.inboundTags=800 если что
Most_ 05<centeredhonor> test
Most_ 05<centeredhonor> > test
Most_ 05<centeredhonor> ❤️
Most_ 14<gomunkul> > test
Most_ 14<gomunkul> ❤️