~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
DUHOVKIN_
Gamma
Guest7184
Most2
Nausicaa
Nikat
Ruskoye_911
Vort
Xeha
`
anon3
b3t4f4c3
fidoid
hypn--direct
karamba_i2p
nemiga
not_bob_afk
plap
poriori
profetikla
qend
segfault
soos
teeth
tetrimer_
uis
un
unlike
user
vade
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
ты про это? github.com/PurpleI2P/i2pd/issues/2060
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
ytn
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
49
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
---
onon1
> m_TunnelsChangeSequenceNumber (0), m_LastReceivedSequenceNumber (-1), m_PreviousReceivedSequenceNumber (-1),
onon1
86c86
onon1
< m_TunnelsChangeSequenceNumber (0), m_LastReceivedSequenceNumber (-1),
onon1
---
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
> {
onon1
> m_CurrentOutboundTunnel = m_LocalDestination.GetOwner ()->GetTunnelPool ()->GetNextOutboundTunnel (m_CurrentOutboundTunnel);
onon1
> UpdateCurrentRemoteLease ();
onon1
> }
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
{
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
счас проверю под виндой