IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2023/06/07
~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
DUHOVKIN_
Guest7184
Komap-
Most2
Nausicaa
Nikat
Ruskoye_911
Vort
Xeha
anon3
b3t4f4c3
fidoid
karamba_i2p
nemiga
not_bob_afk
onon
plap
poriori
profetikla
qend
segfault
soos
teeth
tetrimer_
uis
un
unlike
user
weko
whothefuckami
R4SAS orignal: проверь у weko PR: github.com/PurpleI2P/i2pd/pull/1928
R4SAS const std::string GetRemoteDestination() { return ""; } --- сомнительное
weko А,там дело в том что слишком длинная строка выходит
weko R4SAS: сказали тау сделать)
R4SAS ну, то что строка длинная - да
R4SAS это надо и в CSS тогда лазить
orignal const std::string GetRemoteDestination() { return m_Destination; }
orignal int GetRemoteDestinationPort() { return m_DestinationPort; }
orignal а почему не const?
R4SAS я бы лучше делал отображение на странице самого деста
R4SAS а не там
orignal вот да
orignal мне некогда
R4SAS weko: тогда лушче точно не так проверять
R4SAS it.second->GetRemoteDestination() != ""
R4SAS раз ты знаешь что у тебя std::string, то делай его функциями
weko Я щас не помню что там
weko Как функцией проверить?
Vort код укорачивания кстати где-то в коде i2pd уже есть
R4SAS it.second->GetRemoteDestination().empty ()
Vort адреса стримов с троеточиями отображаются
Vort можно оттуда стащить логику
R4SAS там фактически полностью укорачивается не зависимо от того чего там
R4SAS это не очень удобно когда тебе надо каким либо образом получить b32
Vort что значит "полностью"?
Vort hodhusp73glt….b32.i2p
Vort с полным адресом в подсказке
Vort разве не именно это нужно?
R4SAS не правильно выразился. имею в виду что оно всегда подрезает
Vort а тут надо не всегда?
R4SAS строка с IP не фиксированной длинны
R4SAS сответственно где то будет мало, и надо было бы еще подрезать, а где то будет много
Vort как-то слишком сложно
R4SAS т.е. 10.0.0.1:80 и 255.255.255.255:12345
R4SAS потому и говорю толкать лучше просто на страницу деста
R4SAS weko: это в твоем интересе включать в релиз или нет )))
R4SAS просто осталось... 5 дней
R4SAS virtual int GetRemoteDestinationPort() { return -1; }
R4SAS а почему -1?
weko Потому что бывает 0
weko [17:30:42] <R4SAS> weko: это в твоем интересе включать в релиз или нет )))
weko Постараюсь заняться этим
weko Лось предлагал сделать спойлер как на главной странице
segfault orignal: а можно начать с оформления? Можно сделать PR где я для начала умещу в 80 колонок текст, где возможно сделаю {} вместо (), static_cast добавлю вместо сишного приведения типов?
weko Только по клику показывать доп инфу
Vort segfault: подозреваю, что это плохая идея
R4SAS segfault: бессмысленно умещать в 80
orignal segfault нельзя
R4SAS это зачастую ломает читабельность
orignal изменения только содержательные
Vort стиль лучше чинить вместе с однозначно полезными изменениями
Vort стиль ради стиля можно менять бесконечно
Vort и вроде постоянно будет прогресс
Vort точнее будет так только казаться
R4SAS максимум что можно - это поправить табуляцию, но этим обычно я занимаюсь и сам
segfault Ну вот например:
weko По поводу приведения - разве static_cast не безопаснее?
Vort на самом деле, стиль - это всё-таки проблема. но по-нормальному решить её сложно
segfault R4SAS: Почему бессмысленно? Так можно два файла на один монитор спокойно уместить. Например в одном header, в другом .cpp. Очень удобно.
Vort поэтому лучше без нужды не шевелить
R4SAS segfault: с таким же успехом ты можешь включить перенос строки
segfault weko: так и {} безопаснее ()
R4SAS один хрен
orignal короче не надо это
weko segfault: ну там проще отследить что происходит
Vort R4SAS: orignal: вы бы лучше, конечно, объяснили, почему не надо
orignal потому что пользы от этого никакой
R4SAS Vort: это из разряда "мы пишем, но ничего не меняем"
orignal а понтов обычно бывает много
orignal потому с бессоджертальными изменениями пусть проходят мимо
weko segfault: у меня есть список заметок по i2pd
weko Что можно сделать
weko Пиши в лс, когда будет время
Vort ну польза - повышение скорости чтения и понимания кода программистом (особенно, не знакомым с кодом)
R4SAS segfault: если тебе прям совсем нечем заняться, почини socks прокси
Vort а вот про побочные негативные эффекты - это я согласен, по сути это и написал
orignal R4SAS если ты про upstream то я уже занимаюьс
weko Vort: при чтении важны скорее грамотные названия и абстракции, отсутствие велосипедов и костылей
R4SAS orignal: собираешься до релиза пофиксить?
weko Мелкие детали тоже лезут в глаза, но не критичны
orignal не уверен
orignal нет времкни
segfault > если тебе прям совсем нечем заняться, почини socks прокси
Vort weko: это тоже в какой-то мере стиль
orignal но он все равно не сделает
segfault Что курить?
orignal там upstream через socks4 а надо через socks5
weko Vort: это уже не стиль
orignal но для socks5 2 сообщения для утсаноки соединения
orignal потому там надо два стейта делать
weko Это качество с точки зрения поддержки
Vort weko: про длину строки - там просто глазам надо больше туда-сюда двигаться. по этой же причине книжки бумажные - вертикальны, а не горизонтальны. а иногда и в несколько колонок
orignal еще там надо бы запилить UDP прокси который транслирует пакеты в датаграммы
weko Vort: могу согласиться
R4SAS недоделанные наброски у меня были такими: github.com/PurpleI2P/i2pd/compare/openssl...socks5
R4SAS но у меня почему то данные не ходят
orignal потому что там 2 сообщения надо
segfault orignal> там upstream через socks4 а надо через socks5
segfault Можешь ткнуть где это?
orignal вот с UDP там более интересно
R4SAS уже реализованно было, авторизация проходит
orignal Socks.cpp
R4SAS у меня дальше линковка двух сокетов не срабатывала
R4SAS а вообще надо вырезать нафиг 4
R4SAS orignal: вот эти 2 сообщения
R4SAS пытался сделать всё в одной функции
segfault R4SAS ты уже доделаешь это?
R4SAS segfault: ты видишь когда это писалось? год назад. потому и говорю, если хочешь, можешь доделать
segfault Кстати, для чего Gost.cpp ?
R4SAS логично же, для госта
segfault Где в I2P гост 34 ?
segfault Это же не госткойн
orignal в Signature.h
orignal там реализации подписи на гостовкойц кривой
R4SAS тип 9 и 10
orignal госткойн появился позднее
R4SAS о этом даже на жабовом сайте написано
segfault У джава роутера тоже? И совместимо?
orignal нет у них нету подписи по госту
R4SAS жаба не переваривает, но уведомляет что не поддерживается
Vort вспомнил об одной фиче в некоторых проектах: интересно было бы иметь в github issues список задач, подходящих для новичков
segfault Вы пишите по каким-то стандартам или просто как нравится?
Vort хотя не уверен, что таких задач тут много. основное небось хитрозакрученные баги, к которым прикасаться не хочется
segfault > нет у них нету подписи по госту
Vort segfault: мой совет, пригодный для множества проектов: стиль стоит брать просто с окружающего кода (если вопрос стандартов касался стиля)
segfault А оно не в "стандарте" протокола?
segfault Только между i2pd и работает?
segfault И какой тогда смысл?
segfault И еще по поводу мелки исправлений. Тут константы записаны как const, а не как constexpr. Надо исправлять?
segfault const uint8_t CERTIFICATE_TYPE_NULL = 0;
segfault И т.п.
Vort а смысл?
Vort оптимизация типа?
Vort в таком случае надо смотреть на ассемблерный код :)
Vort и профилирование делать
Vort только вот думаю в 99% случаев код будет байт в байт тот же
segfault Константы тогда будут просто зашиты в бинарник, а не инициализироваться переменные в неизменяемой области памяти.
Vort компиляторы обычно не дураки
segfault Ну хрен знает.
segfault Я знаю как должно быть по стандарту
segfault А как это оптимизируется непонятно.
segfault Забавно. constexpr не написали, а вот inline написали :)
R4SAS segfault: так в чем разница будет при работе то?
segfault Ну как я понимаю в том, что при constexpr будет создана константа в compile time, а при const будет создана переменная в .bss секции в runtime.
segfault Ну то есть инициализации переменной const будет выполняться машинные инструкции (я думаю там будет пару mov), а при constexpr не будет ничего.
orignal потому что в той версии g++ когда я начинал constexprt еще не было
orignal так что ничего забаваного
R4SAS кстати да, segfault учитывай что поддержка должна быть вплоть до centos 7
orignal вплоть до g++ 4.8 если более конкретно
orignal а я начинал на 4.6
segfault orignal: C++11 короче
segfault Или gnu++11 ?
segfault Ну как бы в крайнем случае "починить" constexpr можно просто макросом. Просто #define constexpr const
orignal не заморачивайся ерундой
orignal оно вообще ни на что не влияет
orignal вот просто 0