IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2024/05/09
~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest8889
HackerMan
Most2
Nausicaa
Ruskoye_911
Vort
`
acetone_
ananas
anon3
b3t4f4c3
fidoid_
guest
nemiga
not_bob_afk
plap
poriori
profetikla
soos
teeth
tensor
un
weko_
whothefuckami
relaybot 13apophis: я не шутил
relaybot 13apophis: ты с джефом из локинет поговори
relaybot 13apophis: если хочешь ....
relaybot 13apophis: я то тут никаким боком, меня и2п устраивало 3 года назад и сейчас тоже. Для меня ничего не изменилось в принципе
orignal а что с ним то?
orignal хочешь сказать это кенгурятник воду мутит?
relaybot 13apophis: не 100%
orignal ну я вот и спрашиваю он тут каким боком
relaybot 13apophis: кто то проболтался на чате с ОМЕМО
orignal о чем?
relaybot 13apophis: о атаках на и2п
orignal и что там?
relaybot 13apophis: похоже на зависть
relaybot 13apophis: похоже на зависть
orignal со стороны кого? психа?
relaybot 13apophis: этого я не знаю, но по разговору, кто то из локинет
relaybot 13apophis: > orignal: со стороны кого? психа?
relaybot 13apophis: как я понял, там хитрее дело. Вы сами, медленно скатываетесь к "псевдоцентрализации" с флудфилами в профилировщике. Вот видимо этими атаками вас на это кто <clipped message>
relaybot 13apophis: то толкает.
relaybot 13apophis: мутное дело, как я моигу из пару строк .. вытянуть подоплеку того кто писал ? никак
onon В функции void Stream::SendPackets (const std::vector<Packet *>& packets) в стримах
onon if (m_CurrentRemoteLease && ts < m_CurrentRemoteLease->endDate + i2p::data::LEASE_ENDDATE_THRESHOLD)
onon Мне кажется там должен быть минус а не плюс
orignal никакой централизации не будет
orignal а каждого узла свои профили
relaybot 13apophis: это в теории
orignal onon не уверен
orignal думаю + правильно
onon Так он уже истёк
orignal потому что в лизе публикется 10 минут жизни тоннеля
onon Нужно менять до истечения а не после
orignal а в реальности тоннель живет 11 минут
orignal я тчно знакю как оно устроено
orignal хотя надо смотреть именно это место в чем там логика
onon Ладно, буду разбираться дальше.
orignal я счас занят
orignal я думаю при отправке допустимо отсылать в протухший лиз если не переключился
onon Не отвлекайся, это мелочи пока
onon Я тебе потом расскажу, в чём там основная проблема
orignal я тут допиливаю запись на диск
orignal ту коллизию чинию
orignal apophis так чего же они хотят?
relaybot 13apophis: я не в курсе. я ж написал ровно столько сколько сам знаю.
relaybot 13apophis: и то, это если верить анонимам с омемо :)))
relaybot 13apophis: просто подумай кому мешает и2п , Ты в курсем что гос структуры не в счет.
relaybot 13apophis: наплодили дохрена библиотек САМ с ошибками, вот еще тебе "идейка"
relaybot 13apophis: мутное это дело
orignal ну эту мысль я сразу высказывал
orignal мне дрозд на это сказал что я ебанулся и у меня парнойя
relaybot 13apophis: может и так
orignal выгода от этого да им
orignal бабки вложены а выхлопа нет
relaybot 13apophis: маргинальная выгода
relaybot 13apophis: тут дело в "их" эго. Архитектурка у них другая и явно против вашей.
orignal локи это коммерческий проект вообще то
orignal там бабки и инвесторы
relaybot 13apophis: потому я и сказал "зависть" или что то такое. Не факт что бабло тут решающий фактор
orignal ну а цель то?
relaybot 13apophis: > orignal: там бабки и инвесторы
relaybot 13apophis: лучшее доказательсто для инвесторов, это доказательство устойчивости локинет от "атак" и доказательство падения и2п из за этих атак.
relaybot 13apophis: короче, показать .. что их путь верный. Это большое преимущество для инвесторов
relaybot 13apophis: ну вот отсюда и думай
orignal прямо скажем для атаки они нынче выбрали неудачное время
relaybot 13apophis: хотя, я не уверен .. что так все серьезно
orignal во первых дед на месте
orignal во вторых я на месте и у меня дохуя времени
orignal это не то что в прошлом году
` <+relaybot> apophis: этого я не знаю, но по разговору, кто то из локинет
` ---
` В каких-то очередных секретных документах Михалкова вычитал? Я ещё как минимум 5 лет назад обозначил Локинет противником (как только узнал о них и початился с "психом") и всегда упоминаю о них именно в таком качестве.
` <~orignal> я тут допиливаю запись на диск
` Я доживу до тех времён, когда ш2зв будет полностью выгружаться в раму с периодическим дампом на хард?
Vort всё лень было почитать про Lokinet, наконец собрался. вот такая статья нашлась: cheapskatesguide.org/articles/lokinet.html
Vort и, как бывает в 99% случаев с такими проектами, - логика монетизации оказалась какой-то мутной
Vort идея привязки криптовалюты к сервису в теории кажется логичной, но я ни разу ни в одном из проектов не видел, чтобы она была справедливой и стабильной
Vort я, правда, нифига не экономист, поэтому могу что-то упускать
Vort что касается статьи, то про Lokinet там сказано вот так:
Vort I don't think I need to be an economist to point out the fact that Service node hardware is being purchased with "real" money (i.e fiat currency) and the electricity and network connectivity to run them is being paid for with real money.
Vort So, unless Oxen cryptocurrency can be exchanged for real money, the operators of servers will not be paid. In order for that to happen, someone must have an incentive to pay real money for Oxen. What is that incentive?
Vort The only incentive I have seen is the "privilege" of running a server, which may be extremely costly. So, I see how the organization that runs Lokinet is being paid, but how are the operators of Oxen nodes being paid?
Vort If the only people paying real money into the network are the node operators, then that is known as a pyramid scheme.
Vort по поводу недавних изменений в NetDb: вот свежие данные профилирования: paste.i2pd.xyz/?c7b21e29346e9ade#ATb1B2acksxs2fd6X1PDUyjFQmgpaxeWhQG68V3c8GiL
Vort ожидаемо, функции работы с файлами из списка ушли
onon Поймал странное поведение роутера, напишу чтобы не забыть. Разбирался с лизсетами, запустил тест, лизсет с флудфила получил, стрим запустился, данные потекли, стрим проработал несколько минут (меньше 10).
onon Потом внезапно лизсет сервера поменялся на другой (с другого зеркала тестового сервера), и через несколько секунд роутер скрашился.
` Короче что-то сломал из-за чего что-то сломалось?
onon1 Похоже, что обновление лизсета и отправку его второй стороне тригеррит только создание нового туннеля в пуле
www_ <onon>это что получается, обладателя серверов могут крашить клиентов? Если мониторить включённые роутеры, тогда значить и деанонить могут!!!!
www_ хорошо что я на джаве!
orignal onon а стрим был тот же?
orignal вопрос в том почем увообще лизсет поменялся на другой
orignal он ж должен вместе со стримомо приходить
R4SAS Vort: проверь пожалуйста как обработает msvc прагмы вокруг delete this в Win32NetState.h#45
R4SAS вот так хочу сделать:
R4SAS #pragma GCC diagnostic push
R4SAS #pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor" delete this;
R4SAS #pragma GCC diagnostic pop
orignal когда у тебя будет время реоиз сделать?
R4SAS ой
orignal а то прям несолидно выходит
R4SAS #pragma GCC diagnostic push
R4SAS #pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
orignal что они выпустили а мы нет ))
R4SAS delete this;
R4SAS #pragma GCC diagnostic pop
R4SAS orignal: ну так был же разговор что после 12 числа, не?
R4SAS если надо раньше, то делай ченджлог
orignal а что не так с delete this?
R4SAS ну, g++ считает что мы деструкт самого себя делаем
orignal ну вот я и спрашиваю насчет след недели
R4SAS ты говорил что там нормально всё
orignal delete this всегда было можно
orignal но только один раз ))
R4SAS ну вот оно ругается, а я хочу заткнуть
R4SAS так там у нас более одного раза не получится
orignal что нормально?
orignal вот есть у тебя разделяемый указатель
orignal а ты из какого то метода класса удаляешь ег и структуры
orignal если он последий то будет как раз delete this
orignal так он может и неявно вызываться
orignal и это происходит часто
orignal короче я наверное ченжлог сделаю в вс
R4SAS ну так как тут обойти то?:
orignal счас еще погоняю везде последний окммит
R4SAS это же и так Release()
orignal так что он ошибку кидает?
R4SAS нет
R4SAS только компилятор орет
orignal да и пусть орет
R4SAS Win32/Win32NetState.h: In member function 'virtual ULONG CNetworkListManagerEvent::Release()':
R4SAS Win32/Win32NetState.h:47:25: warning: deleting object of polymorphic class type 'CNetworkListManagerEvent' which has non-virtual
R4SAS destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
R4SAS 47 | delete this;
R4SAS | ^~~~~~~~~~~
orignal ну или сделай функцию DeleteEvent (CNetworkListManagerEvent * event)
orignal в ней delete event;
orignal и вызывай ее вместо delete this
orignal ну так правильно пишет это и есть UB
R4SAS за пределами класса чтоль?
orignal ну да внешнюю
R4SAS стоп, а разве не получится рекурсия?
orignal с какой стати?
R4SAS из объекта вызывать удаление себя же
orignal ты же не из десткуртора вызываешь
R4SAS и да, мне чтоль придется вызывать DeleteEvent(this) ?
orignal ну да вместо delete this
orignal чтобы наебать компилятор
orignal по уму конечно так делать не надо
orignal где то же для него вызывается new
R4SAS в Win32NetState.cpp
orignal я бы сохранят этот указатель и удалял бы уже его
R4SAS т.е. просто предлагаешь проверурку на возврат тут оставить, но delete там делать?
orignal эээээ
orignal так у тебя там все плохо
orignal тебе надо еще и его занулять
R4SAS это офф дока msvc как бэ
orignal pNetEvent надло тоже чистить
R4SAS и ты сам понимаешь как там оно всё через жопу
orignal после delete this
orignal иначе он бует показывать на зрень
R4SAS хорошо, убираю из Release detele this
R4SAS в cpp делаю по другому
R4SAS ret = pNetEvent->Release();
R4SAS if (ret == 0) delete pNetEvent;
R4SAS и получаю ту же ошибку уже в месте delete pNetEvent
R4SAS точнее варнинг
orignal это надо разбираться
R4SAS а если чисто занулять?
R4SAS без delete, то что будет?
orignal memory leak
R4SAS и почему сначала идет delete, а потом nullptr?
orignal не понял вопрос
Vort R4SAS: ругается "warning C4068: unknown pragma". нужно отключение варнинга про отключение варнинга :D
R4SAS Vort: ясно. спс
orignal так снчала удаляем потому зануляем
orignal delete nullptr ничего не делает
Vort это же кстати не простой C++ код
R4SAS тогда я хз чего делать
Vort там COM используется или что-то около того
R4SAS понятное дело что не простой, а COM msvcшный
R4SAS ну да
Vort и COM не имеет права вызывать delete, только Release
Vort то есть, никто кроме нас этого сделать не может
Vort полный контроль над ситуацией как бы
R4SAS ну вот Release и вызывается
R4SAS и в нем по логике мелкомягких должна происходить очистка
R4SAS а вот гнус думает что это полная хрень)
Vort я не пойму, где компилятор видит проблему
Vort заткнуть то, скорее всего, просто - отменить моё изменение с удалением дестроуктора (если я правильно помню суть)
Vort но только надо коммент поставить, что деструтор там не просто так, а из-за заморочек GCC
R4SAS не деструктора, а самого объекта
Vort чтобы опять кто-нибудь не грохнул
Vort ну там был ~CNetworkListManagerEvent() { }
Vort с ним тоже будет компилятор ругаться что ли ?
R4SAS не знаю, надо пробовать
Vort я тогда долго гуглил этот вопрос и пришёл к выводу, что деструктор не нужен. но если GCC считает иначе - то ладно
Vort хотя может там и другая причина - не знаю, давно дело было, подробности уже не помню
onon Вот, смотрите, какую классную штуку сделал. Можно смотреть сколько у сайтов входящих туннелей. Больше всего видел у librarian.i2p
R4SAS не, не делает погоды
onon Если внимательно приглядеться, можно заметить, что дата публикации лизсета всегда на 10 или почти на 10 минут меньше чем дата протухания лизсета.
onon Других значений я там пока не замечал.
Vort onon: припоминаю похожую идею: github.com/PurpleI2P/i2pd/discussions/2049#discussioncomment-9051664
orignal onon1 кэп
orignal так и должно быть
onon1 Ты же говорил, если туннель сфейлился, то обновляет лизсет, чтобы вторая сторона не слала в пустоту
onon1 Или у туннеля пинг вырос
onon1 Я вот видел ситуации, когда во время создания нового туннеля в пуле у одного из туннелей был большой пинг, и он в лизсет не попал. А потом пинг стабилизировался, но в лизсете он так и не успел побывать.
Vort R4SAS: ну тогда virtual ~CNetworkListManagerEvent() {}
Vort лучше было бы разобраться, почему эта ошибка лезет, конечно
Vort у класса же нету наследников, как я понимаю
orignal в лизсете добавляется только при создании
onon1 Ну и ещё, как минимум один раз у меня стрим завис, потому что слал аски в пустоту.
orignal Vort а нахуя он витуральный то?
orignal сделай вообще его final
Vort хах. я только это и хотел предложить
Vort class CNetworkListManagerEvent final : public INetworkListManagerEvents
Vort и без деструктора
Vort надо только проверить, чтобы ничего не сломалось
orignal так десткрутор есть всегда
orignal просто он будет дефотный
Vort ну просто есть два варианта заткнуть warning
orignal только я не помню если ли final в C++11
orignal в 17 точно есть
Vort или добавить не-дефолтный деструктор или вот final
Vort final specifier (since C++11)
orignal ну тогда хорошо
Vort сейчас на студии проверю - не переглючит ли
Vort а то теория - это одно. а практика - другое
R4SAS virual в деструкторе и final в классе
R4SAS оба затыкают
Vort ну лучше final. только сейчас студию потыкаю
R4SAS я сейчас тоже протестирую
Vort 2015 студия нормально собрала с final
R4SAS gcc 14 тоже
R4SAS и вроде запускается как положенно
R4SAS сейчас пойду на другую виртуалку для теста обрыва связи
relaybot 13apophis: > `: В каких-то очередных секретных документах Михалкова вычитал? Я ещё как минимум 5 лет назад обозначил Локинет противником (как только узнал о них и почат <clipped message>
relaybot 13apophis: ился с "психом") и всегда упоминаю о них именно в таком качестве.
relaybot 13apophis: ну ты же все насквозь всегда видишь, а я простой докторишка на пенсии :)
R4SAS выход отрабатывает без ошибок
R4SAS изменение состояния сети нормально
onon1 Поэтому вот вам патч для стримов
R4SAS выход тоже нормально
orignal че ты там поменял? мне некогда разбираться
R4SAS onon1: кидай diff
onon1 Я не уметь
orignal я не понимаю
R4SAS git diff
onon1 У меня нет гитов, я в блокнотике кодирую
orignal утилита diff есть
R4SAS а код как выкачиваешь? архивом?*
onon1 Да
orignal файлы стапрый и нвоый
R4SAS ну так возьми оригинал и измененный
orignal чтобы мы поняли твои изменения
orignal *** отошел ***
R4SAS и запусти diff file.old file
onon1 Да там изменений на 5 строк
R4SAS и мы должны сидеть вычислять их?
orignal вот мы их и хотим увидеть и понять
onon1 Не хотите, как хотите, я потестил, это работает
orignal так что именно ты сделал?
orignal на словах скажи
onon1 Если клиент получает два раза один и тот же пакет, значит аски не долетают, значит нужно менять туннель/лизсет
onon1 Это и сделал
onon1 Теперь стримы зависают только когда туннели фейлятся все у меня
orignal ну логично
orignal но может просто быть дроп где то
orignal да дубликаты верное замечание
orignal проверю
orignal но может просто RTT неправильный был на той стороне
orignal потому и перепослал
orignal onon1 в какой строчке измнения? я что то не вижу
orignal / we have received duplicate
orignal LogPrint (eLogWarning, "Streaming: Duplicate message ", receivedSeqn, " on sSID=", m_SendStreamID);
orignal SendQuickAck (); // resend ack for previous message again
onon1 72c72
onon1 < m_TunnelsChangeSequenceNumber (0), m_LastReceivedSequenceNumber (-1),
onon1 > m_TunnelsChangeSequenceNumber (0), m_LastReceivedSequenceNumber (-1), m_PreviousReceivedSequenceNumber (-1),
onon1 86c86
onon1 < m_TunnelsChangeSequenceNumber (0), m_LastReceivedSequenceNumber (-1),
onon1 > m_TunnelsChangeSequenceNumber (0), m_LastReceivedSequenceNumber (-1), m_PreviousReceivedSequenceNumber (-1),
onon1 168a169
onon1 > m_PreviousReceivedSequenceNumber = receivedSeqn;
onon1 201a203,208
onon1 > if (receivedSeqn == m_PreviousReceivedSequenceNumber)
onon1 > m_CurrentOutboundTunnel = m_LocalDestination.GetOwner ()->GetTunnelPool ()->GetNextOutboundTunnel (m_CurrentOutboundTunnel);
onon1 > UpdateCurrentRemoteLease ();
onon1 > m_PreviousReceivedSequenceNumber = receivedSeqn;
onon1 Просил дифф
onon1 вот тебе
orignal ты куда то не туда вставил
onon1 Streaming.h'
onon1 243a244
onon1 > int32_t m_PreviousReceivedSequenceNumber;
onon1 Всё туда
orignal а почему не <= ?
orignal if (receivedSeqn <= m_LastReceivedSequenceNumber)
orignal почему нельзя твой код сюда?
onon1 Можно наверное, но зачем
onon1 Он просто два подряд одинаковых проверяет
onon1 Какие бы ни были относительно m_LastReceivedSequenceNumber
orignal ну а если будет дубликат более раннего чем э
orignal то хуже?
orignal ладно понял я
onon1 Ну если стрим завис, то сервер шлёт один и тот же пакет
onon1 А не разные
orignal малость поправилю и залью
orignal идея твоя в целом верная
onon1 Сейчас опять всё переделает, что работать не будет...
orignal m_CurrentOutboundTunnel = m_LocalDestination.GetOwner ()->GetTunnelPool ()->GetNextOutboundTunnel (m_CurrentOutboundTunnel);
orignal это неправильно
onon1 Ну да
orignal не тебе даст тот же самый
orignal *он
onon1 но я не знаю как правильно
orignal а надо другой
orignal вот я о чем и говорю
orignal как правльно я знаю
orignal да нет нормально в общем то
onon1 И насчет m_RoutingSession->SetSharedRoutingPath я точно не уверен
onon1 Нужно не нужно, как это вообще работате
orignal разберсь
Vort надумали менять стримы перед релизом?
orignal нет
orignal только после уже
Vort ок
orignal счас пусть поработает как есть
orignal вечером илиту обновлю
Vort так что там с final? думал уже сделали пока меня не было
orignal так я тоже смотрю R4SAS так и не закоммитил
` када абнова7
orignal на след неделе
orignal Transit Tunnels: 51120
orignal шо? опять?
R4SAS я то ждал пока Vort проверит у себя
R4SAS про сборку я видал, а работоспособность - нет
R4SAS залил
orignal счас проверю под виндой