~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest18377
HackerMan
KabaOS
Most2
Nausicaa
Ruskoye_911
Spirit90
Trusishka
Vort
`
acetone_
anon3
b3t4f4c3
mittwerk
nemiga
not_bob_afk
plap
poriori_
profetikla
segfault
soos
teeth
tensor
un
weko_
whothefuckami
orignal
weko я думаю что ту багу с взиамными реконнектами починил
weko
orignal: это хорошо, посмотрю что выйдет...
orignal
там лажа была
orignal
явная
orignal
кстати отсюда наверное и лишние сессии появилялись
weko
Получается мои действия:
weko
1. Починить чтобы вообще работало, а не крашалось
weko
2. Проверить, всплывает ли AEAD и Garlic без перегрузки треда
weko
3. Проверить с openssl 1.1.1
weko
4. Проверить фикс реконнектов, работает ли фикс; если работает, то помогает ли с Garlic
orignal
AEAD это другая проблема
orignal
счас пока реконнекты
orignal
с Garelic нет не поможет
weko
Ну да это другая
orignal
там мохоже что то внути openssl лоамется
weko
Просто порядок такой будет
weko
В таком порядке было добавлено
weko
orignal: возможно вполне
`
Посоны, дайте напомните домен жабаффской Ирки?
`
irc.postman?
Vort
у меня "Garlic: Can't handle ECIES-X25519-AEAD-Ratchet message" в логах полно, при том, что версия OpenSSL - 3.0.8
Vort
так что это какая-то давняя проблема
weko
Vort: но вопрос по какой причине у тебя это... По той же, или по другой?
Vort
плохо понимаю вопрос
Vort
я обновился до 2.50.2-19 и всё равно лезет. об этом речь или нет?
weko
Vort: скорее уж откатился
weko
Не знаю уж
weko
Лось предлагает 1.1.1
Vort
ну у тебя контроллируемые условия, так лучше, конечно, проверять
Vort
но я думаю что и с 1.1.1 будет та же фигня
weko
[11:03:23] <Vort> ну у тебя контроллируемые условия, так лучше, конечно, проверять
weko
Относительно основной сети - да
weko
Я сначала хочу узнать, будет ли AEAD ошибка в ntcp2 без перегрузки
weko
Но прикол с Garlic вылезает и без этой ошибки и без перегрузки
weko
Vort: учитывая что это вылезает в основой сети, я думаю что этот баг довольно критический
Vort
не пойму, почему ты говоришь о Garlic и AEAD в логах как о разных проблемах. ты видел другие ошибки с Garlic что ли?
Vort
пока не станет понятна причина, сложно рассуждать о критичности. я думаю, что исправление мало что глобально улучшит, но чинить всё равно надо - хотя бы что бы не мешалось
weko
Vort: потому что есть AEAD ошибка в NTCP2, а есть в Garlic
Vort
а, понял. в NTCP2 она на уровне error ?
weko
Vort: критично как минимум мне для теста. 22MB/s выдаёт, но виснет через время.
weko
Vort: warning
weko
Но это не так важно
weko
Потому что это рвёт сессию
weko
А далее пишет про Unreachable, проблемы с одновременным переподключением, Garlic
weko
При чём, что важно, сессию может разорвать по другой причине
weko
И будет тоже самое
Vort
у меня логи у основного узла только error, так что NTCP2 варианта я не видел
Vort
попробую сейчас второй узел собрать и запустить с warning
weko
Я могу тебе закинуть архив с тестнетом и моим текущем кодом (как исправлю работоспособность). Если надо. Правда он 200mb вроде
weko
Но там можно без netdb-шек
weko
Просто я не оформил нормально пока что всё тап
Vort
так на винде же несколько копий i2pd только с хаком запускаются. а в виртуалке это хреновый тест будет
Vort
так что я пока что просто проверю, лезут ли NTCP2 AEAD ошибки в основной сети
weko
Vort: ну сам виноват что шинда у тебя)
weko
Vort: хорошо тоже показательно будет
weko
Vort: кстати а почему думаешь что в виртуалке хреновый тест?
weko
Разницы то нет
Vort
weko: так не в винде проблема, а в странном требовании запускать только одну копию i2pd. конечно же, можно (и нужно) сделать иначе
weko
Ну у меня 200 копий запускается спокойно
Vort
в виртуалке время идёт немного не так, как у реального компа. для i2pd же важны миллисекунды (в случае SSU2)
Vort
не хотелось бы ещё в баги из-за виртуализации вляпаться
Vort
weko: ну понятно. и у меня сможет запуститься, если поддержка нормальная будет
weko
Vort: реально? Уж чего там проблем с временем не ожидал
weko
Так*
Vort
реальный процессор довольно равномерно выполняет команды одну за другой, виртуальный же может призадуматься из-за нагрузки на хост (реальный комп)
Vort
это программы внутри виртуалки могут заметить. ну это теория, ещё и от самой виртуалки зависит
Vort
я не утверждаю, что обязательно вылезут проблемы, просто предполагаю, что такое может быть
orignal
Vort то что Garlic это понятно. вопрос откуда ошибка AEAD в NTCP2
weko
orignal: всмысле понятно? Откуда тогда
orignal
я тебе уже отвечал
orignal
таг в тагсете не находит
weko
Ну и почему?
orignal
просто это старая проблема
orignal
а вот AEAD в NTCP2
weko
И как исправить?
orignal
не знаю надо разбираться
orignal
но эта проблема годами
weko
Здесь это самая главная проблема
weko
Потому что сессия ntcp2 то восстанавливается. А вот Garlic ошибка не даёт дальше данные передавать
orignal
там тоже восстанавливается примерно через 4 минуты
weko
Не знаю ждал ли я 4 минуты
orignal
ну это известно
weko
Я думаю это одна из причин проблем со стабильностью
orignal
там через 4 минуты тагсет сбрасывается и утстанавливается сессия заново
orignal
допустим
orignal
но быстро починить ты это не сможешь
orignal
а отличие от AEAD в NTCP2
weko
orignal: может из-за разрыва сессии просраться сообщение с тэгами?
weko
Или какое то важное
weko
Из-за отсутивия которого всё ломается
orignal
эта проблема более перспективная
orignal
не должно
orignal
ну то есть может потеряться rekey
orignal
потому и надо смот реть
weko
orignal: ну так как вылезает после разрыва сессии то явно всирается сообщение. И явно это вызывает баг. А как именно - не знаю и даже не могу гадать
weko
Так как не разбираюсь
orignal
давай сначала AEAD в NTCP2 чинить
weko
Ладно можно вызывать Garlic превышением очереди
orignal
ты реконнекты проврил?
Vort
по моему тесту - за 2 часа аптайма ни одной "NTCP2: Received AEAD verification failed" ошибки. вырубаю узел
orignal
так у меня тоже на узлах
orignal
потому я и просил weko локализовать сценарий
orignal
у него явно что то где то переполняется а мы это неправильно обрабатываем
Vort
понятно, особенности тестовой сети какие-то
Vort
или просто очень редкий баг
weko
Vort: скорее баг который срабатывает только при конкретных условиях
weko
Которых нет в основной сети
weko
Потому что он не редкий
weko
Воспроизводится стабильно
Vort
так на 200 узлах ведь
Vort
шансы в 200 раз выше, чем на 1 узле
orignal
нет ну чинить его очевидно надо
relaybot
13apophis: orignal: порет и2п 50 сервер конкретно. 2 раза за 24 часа.
orignal
ты переборал до 2.50.2?
relaybot
13apophis: поздно
relaybot
13apophis: это бладе сервер
relaybot
13apophis: теперь полетело все
relaybot
13apophis: не тольто это паблик сачты ресурсы, но и сенсор нетворк и все остальное
orignal
я тебе позавчера еще говорил
relaybot
13apophis: ты говорил, да
orignal
кто ж виноват то?
orignal
2.50.2 стаблиный
weko
Vort: так появляется на конкретном при условии гона трафика
relaybot
13apophis: ты ме будь как дурачек веко, а послушай
weko
Я могу и 2 запустить и работать будет
relaybot
13apophis: я даже зачти на сефвер не могу, пинга нет
weko
Ну в плане появлятся
relaybot
13apophis: но по манагерскому интерфейсу идно чтро ряаботает
relaybot
13apophis: короче, сильно глубоко 50 версия пизданула нетворк весь на сервере...
weko
apophis тут чат по делу. Срач на #ru
weko
понял что я случайно сломал. починил.
weko
далее смотрю что если тред не перегружать, потому что есть вероятность что это не совпадение.
weko
Хм. Такое дело: сделал максимальное окно 1024, что не перегружать тред Destionation. В итоге баг не всплывает (закачал 4.5 гига, когда максимум всплывало через 1.5 гига). Поменял обратно до 8196, дождался пока перегрузит тред - и всплыл NTCP2: Received AEAD verification failed
weko
Я знаю что Destination это про другое и NTCP2 тут вроде не при чём.... однако вылезает именно когда перегружен этот тред.
weko
Возможно это гонка
weko
Я не видел именно чтобы писало 100%, однако учитывая что нагрузка на этот тред идёт импульсами, не удивительно
orignal
естественно гонка вот и надо понять в чем она
weko
в ключе вероятно
orignal
для начала портится отправка или получение
orignal
ключ вряд ли
weko
я думаю отправка
weko
ой
weko
получение*
weko
ну потому что ошибка NTCP2: Received AEAD verification failed всегда на получающей стороне
orignal
естественно на получающей
orignal
но может отправилось коряво
weko
orignal: а почему думаешь ошибка Garlic именно что не тот тагсет?
weko
Garlic: Can't handle ECIES-X25519-AEAD-Ratchet message
weko
Garlic: Flags/static section AEAD verification failed
weko
тут тоже фейлится именно AEAD
weko
<orignal> но может отправилось коряво
weko
можно посмтреть на какой стороне тред перегружается
weko
ну именно на какой больше
weko
Garlic это же сообщения роутеру. В NTCP2 не тот же ключ случаем используется?
orignal
потому что таг не находит
orignal
нет в NTCP2 там совсем другой
weko
ладно
weko
<weko> можно посмтреть на какой стороне тред перегружается
weko
тогда буду смотреть
orignal
думаю при отправке
weko
по htop-у трудно понять
weko
но нагружает вроде больше отправителя
orignal
вот надо разбираться
orignal
я тоже думаю дело в отправке
orignal
понимаешь там не одно сообщение отправляется а несколько кусков
weko
AEAD это же подпись, да?
orignal
да
orignal
это пддпись пакета неверная
weko
значит мы проверяем ключом отправителя
weko
если с другого роутера будет работать значит явно проблема в отправителе
orignal
естественно его публичным
weko
точнее наоборот
weko
если на другом не будет работать то пробелема в отправителе
weko
но блин NTCP2 так не проверить
weko
только Garlic
weko
ладно дальше по плану другая версия openssl
orignal
придется самму думать
weko
ну можно запариться, сохранить пакет и после его проверить
weko
но лучше сначало другое проверить
orignal
нужно...
orignal
но пакет ты там не найдешь
orignal
потому что он из кусков
weko
кусок который мы проверяем всё равно есть
orignal
мы проверяем целиком сообщение
orignal
а оно отправляется кусками
weko
но у получателя то целый есть он
weko
он же его как то проверяет
orignal
у получателя мы читаем его всю длину
orignal
понятно что у получателя ты можешь его записать а вот у отправителя не факт
weko
Found OpenSSL: /usr/lib/libcrypto.so (found version "1.1.1w")
weko
ща буду смотреть
weko
/bin/ld: libi2pd.a(Family.cpp.o): in function `i2p::data::Families::LoadCertificate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
weko
Family.cpp:(.text+0x1ac): undefined reference to `EVP_PKEY_base_id'
orignal
тебе надо линуковку поправить
weko
вопрос как )
orignal
я тебе приводил пример
weko
а
orignal
<orignal> CXXFLAGS ?= ${CXX_DEBUG} -I/home/i2pd/openssl-1.1.1k/include -I/home/i2pd/boost_1_75_0/include -Wall -Wextra -Wno-unused-parameter -pedantic -Wno-psabi
orignal
<orignal> LDLIBS += -L/home/i2pd/openssl-1.1.1k -lcrypto -lssl -lz -L/home/i2pd/boost_1_75_0/lib -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthrea
weko
<orignal> в Makfile.linux пути указать
weko
а где этот файл
orignal
да
orignal
в корне проекта
weko
а
weko
лол
orignal
собирать естественно make-ом
orignal
про cmake без понятия
weko
ну cmake я как раз уже попробовал
weko
и ошибку я писал
weko
ну не судьба )
orignal
собери обычным make и не выебывайся )))
weko
undefined reference to `EVP_PKEY_base_id'
weko
ага
weko
не выебнулся
weko
вот как ))
weko
тут тоже самое
weko
1.1.1w
orignal
make clean
orignal
и собрать с нуля
orignal
все там с 1.1.1 нормально
weko
не, опять
weko
undefined reference to `EVP_PKEY_base_id'
weko
у меня 1.1.1w, а у тебя 1.1.1k
weko
это важно?
orignal
нет
orignal
никакой разнницы
orignal
что как то не так собираешь
weko
ну не знаю
orignal
вот то что я тебе написал это все работает
orignal
или просто собери openssl локально и сошлись на него
orignal
тут дел на 10 минут
weko
так он то есть у меня уже
weko
ошибку даёт
weko
CXXFLAGS ?= ${CXX_DEBUG} -I/usr/include/openssl-1.0 -Wall -Wextra -Wno-unused-parameter -pedantic -Wno-psabi
weko
LDFLAGS ?= ${LD_DEBUG} -L/usr/include/openssl-1.0 -lcrypto -lssl -lz
weko
ну это я 1.0 пробовал
weko
на 1.1 тож самое
orignal
нельзя 1.0
orignal
надо 1.1.1
orignal
именно 1.1.1 даже не 1.1.0
orignal
-L/usr/include/openssl-1.0
orignal
я не думаю что либы лежать в папке include
weko
1.1.1w там
weko
а ну ща
orignal
libcrypto.a там?
orignal
я так не думаю
orignal
ты пойми что include и lib это разные папки
weko
да яссно я не сразу просто понял что не то
weko
шмогла ))
weko
такая же хуйня
weko
NTCP2: Received AEAD verification failed
orignal
думай
orignal
аааа
orignal
ну значит не в этом дело
weko
ну и чо делать ))
orignal
я бы на твоем месте попробовал там где отправяется все писать в один буфер и отправлять его целиком
orignal
если проблема продолжается то проверять подпись перед отправкой
orignal
если подпись нормально то записывать то что отправляется и что получается
orignal
и сравнивать
weko
вот кстати проверять идея мне нравится
orignal
можно жа
weko
<orignal> я бы на твоем месте попробовал там где отправяется все писать в один буфер и отправлять его целиком
weko
а зачем?
orignal
void AEADChaCha20Poly1305Encrypt (const std::vector<std::pair<uint8_t *, size_t> >& bufs, const uint8_t * key, const uint8_t * nonce, uint8_t * mac); // encrypt multiple buffers with zero ad
orignal
у меня нету расшифровки и проверки для пачки
orignal
только шифрование и подпись
orignal
затем чтобы проврить
orignal
либо наисать фнукцию проверки кучи данных
weko
я не потяну
orignal
а нет все можно
orignal
boost::asio::async_write (m_Socket, boost::asio::buffer (m_NextSendBuffer, payloadLen + 16 + 2), boost::asio::transfer_all (),
orignal
std::bind(&NTCP2Session::HandleNextFrameSent, shared_from_this (), std::placeholders::_1, std::placeholders::_2));
orignal
вот это место
orignal
тут можно проверить
orignal
подпись в m_NextSendBuffer
weko
я код не потяну
orignal
ну добвавить проверку тут
orignal
а придется ))
weko
ну не шмоглу
weko
))
orignal
а ни у кого больше не вопроизводится
orignal
так что придется
orignal
в том месте добавить проверку
weko
так а я не шмогу
weko
<orignal> а ни у кого больше не вопроизводится
weko
ну я могу тебе архив закинуть с тестнетом
orignal
неее
weko
либо офоримить и опубликовать
orignal
у меня времени нет
weko
ну просто дольше будет делать этот фикс, чем другие
orignal
так не фикс а надо разобраться в причине
weko
ну по итогу будет дольше
orignal
там все хуже
orignal
boost::asio::async_write (m_Socket, bufs, boost::asio::transfer_all (),
orignal
std::bind(&NTCP2Session::HandleI2NPMsgsSent, shared_from_this (), std::placeholders::_1, std::placeholders::_2, msgs));
orignal
там реально пачка отсылается
weko
пачка чего?
weko
ааа пачка i2np сообщений?
orignal
да
weko
хочешь сказать они не влезают в буфер отравки системный?
orignal
вот надо понять чего там неправильно
orignal
надо изучать эту функцию
orignal
void NTCP2Session::SendI2NPMsgs (std::vector<std::shared_ptr<I2NPMessage> >& msgs)
weko
SendI2NPMsgs
weko
эту
weko
понял
orignal
m_NextReceivedBuffer = new uint8_t[size];
orignal
вот тут замени на
orignal
m_NextReceivedBuffer = new uint8_t[65535];
orignal
еще бы неплохо длину печатать перед ошибкой AEAD
weko
это можно
weko
заменил
weko
типо должно быстрее ошибку выдать?
weko
или наоборот
orignal
не знаю
orignal
пробоавть надо
weko
хорошо
orignal
если длину печатать может что то скажет
weko
LogPrint (eLogWarning, "NTCP2: Received AEAD verification failed. NextReceivedBuffer = ", m_NextReceivedBufferSize);
weko
бля ну да Size
weko
поменял
weko
NTCP2: Received AEAD verification failed. m_NextReceivedBufferSize = 65529
weko
ну и стоит m_NextReceivedBuffer = new uint8_t[65535];
weko
orignal: увеличить?
weko
да бля просто возьму и больше поставлю
weko
m_NextReceivedBufferSize = 65534
weko
NTCP2: Received AEAD verification failed. m_NextReceivedBufferSize = 62566
weko
я подозреваю что идёт попытка отправить больше чем влезает в какой то буфер
weko
и этот буфер равен 65535
weko
возможно системный буфер отправки
weko
явно в буфер хочет сунуть больше чем можно
weko
const size_t NTCP2_UNENCRYPTED_FRAME_MAX_SIZE = 65519;
weko
это же число не от балды?
weko
void NTCP2Session::SendQueue ()
weko
вот тут
weko
БЛЯТЬ
weko
кажется понял
weko
в чём именно ошибка
weko
if (s + len + 3 <= NTCP2_UNENCRYPTED_FRAME_MAX_SIZE) // 3 bytes block header
weko
{
weko
msgs.push_back (msg);
weko
s += (len + 3);
weko
m_SendQueue.pop_front ();
weko
}
weko
else if (len + 3 > NTCP2_UNENCRYPTED_FRAME_MAX_SIZE)
weko
{
weko
LogPrint (eLogError, "NTCP2: I2NP message of size ", len, " can't be sent. Dropped");
weko
m_SendQueue.pop_front ();
weko
}
weko
else
weko
break;
weko
AEAD не из-за этого, её я исправил по другому
weko
просто предлагаю задачку найти ошибку тут
weko
тут не правильно вообще сделано
weko
а стоп
weko
блять
weko
нет это не ошибка
weko
orignal: в общем я поставил NTCP2_UNENCRYPTED_FRAME_MAX_SIZE = 60000;
weko
и AEAD не всплывает
weko
могу проверить ещё разок
weko
orignal: NTCP2_UNENCRYPTED_FRAME_MAX_SIZE = 65519; - ошибка есть,
weko
NTCP2_UNENCRYPTED_FRAME_MAX_SIZE = 60000; - ошибки нет.
weko
думаю тут ясно в какую сторону работать
Vort
хм. странно. рубанулся у меня почти в ноль транзит
Vort
[21:56:29] <Vort> похоже, опять неверное время просочилось
Vort
[21:56:36] <Vort> NTCP2: SessionRequest time difference -64 exceeds clock skew
Vort
думал перезагружать узел придётся, но, вроде, пир тест помог
Vort
рано issue 1988 закрыли
orignal
<weko> NTCP2: Received AEAD verification failed. m_NextReceivedBufferSize = 65529
orignal
ага возможно в этом дело
weko
Больше скажу точно в этом дело
weko
При чём именно в отправке
orignal
-64 это нормально
orignal
скорее всего у тебя часы съезжают из-за нагрузки
orignal
так уже понятно
orignal
ты видишь что вылазит когда очень большой пакет
orignal
дальше уже дело теники
weko
Ну вот я написал же
orignal
я починю короче
weko
Отлично
weko
Выяснили
orignal
да
orignal
пеправильно размер фрейма посчитали
orignal
максимальный
weko
Да скорее всего
orignal
сегодня закоммичу
orignal
да точно это
orignal
а не вылазит потому что редко такое бывает
weko
Ага
weko
Нету таких скоростей))
weko
Пока что
orignal
кстати не факт
Vort
бля. я же говорил, что у меня отклонение времени от идеального 10-100 миллисекунд. это или баг или атака
orignal
как часто у тебя часы синхронизируются?
Vort
у меня внешний мониторинг от серверов пула настроен
Vort
каждые 1024 секунды. но это нормальный режим работы и так и должно быть
Vort
хотя даже чаще. 6 серверов настроено. то есть, в 6 раз чаще
orignal
часы это вообще сложная штука
orignal
на биржах например специальные платы в серверах стоят
Vort
для микросекунд и наносекунд - сложная
Vort
для миллисекунд - не очень то
Vort
а чтобы с секундами накосячить - это где-то затупить надо
orignal
так 100 миллисекундл это 1/10 секунда
orignal
на биржах таймстампы в микросекундах
orignal
const size_t NTCP2_UNENCRYPTED_FRAME_MAX_SIZE = 65519;
orignal
65519 + 16 что дает?)))
orignal
weko я думаю если поставить там 65518 то AEAD не будет
weko
orignal: ну это можно проверить. Проверю как смогу
weko
orignal: 65535...
orignal
вот именно
weko
А сколько должно быть?
orignal
где то явно сваливаемся в -1
orignal
вот я счас и смотрю
weko
Может падднинг?
weko
Паддинг
orignal
я просто стал выяснять откуда число
orignal
разберемся
orignal
if (msgLen + paddingSize + 3 > NTCP2_UNENCRYPTED_FRAME_MAX_SIZE) paddingSize = NTCP2_UNENCRYPTED_FRAME_MAX_SIZE - msgLen -3;
orignal
вот же пиздец
orignal
так очевидно нельзя
Vort
"так 100 миллисекундл это 1/10 секунда" - ну да, а чтобы заглючил i2pd нужна минута расхождения, в сотни раз больше
orignal
так а у тебя в чем проблема я не понял?
orignal
у тебя счас глючит или что?
Vort
в том, что баг 1988 недочинен
orignal
в чем именно проблема?
Vort
проблема была в том, что один раз слетели транзиты в ноль. когда врубил дебаг логи - увидел кучу сообщений про NTCP2: SessionRequest time difference -63 exceeds clock skew
Vort
то есть, ровно та же хрень, что и раньше. разве что расхождение не 10 часов, а одна минута
orignal
ну и что мы видим?
Vort
версия узла 2.50.2-19-g0b47f65b
orignal
причина то какая?
orignal
дважды пришло или что?
orignal
надо понять почему это вообще происходит
Vort
если у меня часы работают нормально (что подтверждается внешним мониторингом), значит глюченое время пришло из i2p
orignal
с одного узла? с разных?
orignal
естественно
orignal
но от кого именно
orignal
причем дважды
Vort
я так понимаю, ничто не мешает хоть 10 раз с одного и того же узла отправить
Vort
алгоритм надеется, что такого не будет
Vort
ну значит есть
Vort
надо опять отдельный узел с логированием включать
orignal
так оно же только во время пир теста
orignal
кстати возможна просто повторная посылка
Vort
можно временно заткнуть багу разрешив всего 1 коррекцию с одного узла за время пир теста
Vort
то есть, чтобы точно с двух пришло
Vort
но кажется мне, что и это 100% эффекта не даст
Vort
интересно, опять ли это китайцы чудят, или просто так совпало на этот раз
Vort
но глянул в логах - для обычного skew адрес и хеш не пишутся
orignal
да именно так по уму и надо
orignal
думаю совпало
Vort
короч это надо логирование дописывать чтобы ловить узел
orignal
проще поправитб
orignal
счас с NTCP2 закончу
Vort
ок
weko
[20:57:11] <orignal> вот же пиздец
weko
[20:57:47] <orignal> так очевидно нельзя
weko
Почему?
orignal
а если разница меньше 3
orignal
?
orignal
короче там много чего надо чинить
orignal
auto paddingLen = CreatePaddingBlock (totalLen, buf + len, it->maxLen - it->len - 16);
orignal
вот такая хрень например
weko
orignal: а ну да
orignal
такое все в SSU2 вычищено а в NTCP2 вот осталось
orignal
поправлю
orignal
weko я закоммитил
orignal
если даже не починил до конца то теперь будет ошибку в лог писать