IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2023/11/17
~AreEnn
~R4SAS
~acetone
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Leopold
Most2
Nausicaa
Ruskoye_911
Vort
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob_afk
plap
poriori
profetikla
soos
teeth
un
weko_
whothefuckami
R4SAS orignal: такой вопрос: если перегонять base64 в base32, какие действия нужны?
R4SAS b64 -> b32 ш2зшные
R4SAS декоднуть через Base64ToByteStream, а потом sha256?
orignal в смысле? просто кодировки или i2p адреса?
R4SAS я тут опять вспомнил (спустя год, ага) про разговор с дедом, насчет торрентов
R4SAS трекеры получают от клиентов адреса в полном формате, base64.i2p
R4SAS а вот от трекера, по крайнем мере в поделии психа (XD которое), я вижу что ожидается 32 байта
orignal короче что именно тебе надо?
R4SAS адрес пира в виде 32 байт
R4SAS получаемый из b64
orignal ну так base64 в бинарный адрес и sha256
orignal если в b33 там несколько сложнее
R4SAS значит верно помню
R4SAS теперь надо прикрутить это всё на сях к opentracker
R4SAS не тащя за собой openssl
orignal тебе нужна реализация sha256
orignal возьми vain например
R4SAS уже есть
orignal там же есть без openssl
orignal правда там с midstats
R4SAS сколько должно получиться байт с b64?
orignal 391 обычно
R4SAS либо меньше?
orignal либо больше ))
orignal в зависисмости от типа подписи
orignal но для EdDSA это 391
R4SAS хм. тогда какого объема мне лучше делать char[]?
R4SAS имеется код такого вида:
R4SAS unsigned char* unbase64( const char* ascii, int len, int *flen )
R4SAS точнее функция
R4SAS flen - выходной объем
R4SAS но данные передаются в return
R4SAS хорошо, попробуем-с
orignal там 399 максимум
orignal 400 делай не ошибешься
R4SAS orignal: решил на ходу выделять память, хоть и понимаю что возможно плохой вариант
R4SAS это нормально?
orignal unsigned char * bhash[32]
orignal что есть сие?
orignal не уловил твой замысел
R4SAS туда, по логике, должно записать хеш в байтовом виде
orignal так без * надо
R4SAS эм
orignal и что у тебя там inttypes.h нету что нельзя uint8_t написать?
orignal ты объявил массив из 32 указателей на буфера
R4SAS тогда я получаю такое: warning: passing argument 2 of ‘sha256_final’ makes pointer from integer without a cast [-Wint-conversion]
R4SAS но если убрать * и в final то нормально
R4SAS а чего ему насчет bctx не нра?
orignal ну естественно
orignal что надо в sha256_final передавать? указатель на буфер?
R4SAS sha256_final(SHA256_CTX *ctx, BYTE hash[])
R4SAS угу, не указатель
orignal указатель
orignal все правильно
orignal указатель на буфер это
R4SAS ты про hash, или ctx уже?
orignal в си массив и указатель на него это одно и то же
R4SAS м... пора снова всё вспоминать ))))
R4SAS плюсы отбивают такую замороку)))
orignal SHA256_CTX * bctx = 0;
orignal в плюсах тоже можно
orignal другое дело что там так делать не нужно
orignal там есть более осмысленные вещи для этого
R4SAS о том и речь)
R4SAS последний вопрос: чем отличается static const от const static?
orignal ничем
R4SAS хех
R4SAS понятно что не так bctx передаю
orignal unsigned char * bdata это что?
orignal его удалять потом не надо?
R4SAS более ни где не используется
orignal я к тому что он может там внутри создается
R4SAS внутри unbase64?
orignal что именно оно возвращает?
R4SAS unsigned char *bin ;
R4SAS bin = (unsigned char*)malloc( *flen ) ;
R4SAS return bin ;
orignal ну вот видишь?
R4SAS unsigned char* unbase64( const char* ascii, int len, int *flen )
orignal раз malloc значит где то надо free
orignal от есть надо free(bdata) в конце
R4SAS хорошо
orignal на си вот так по дурцки пишут
orignal у них же нет десткруторов
R4SAS unsigned char * bdata --- с *?
R4SAS или free (*bdata)?
orignal free(bdata)
R4SAS ага, понял
R4SAS вот такая порнография )))
R4SAS на всякий пришлось влепить проверку значения...
R4SAS хз надо ли
orignal вообще то это не все
orignal надо проверять возвращаемый результат всех функций
R4SAS ну... не прям всем
R4SAS но понятно что надо на sha256* как минимум
orignal надо именно все
orignal которые возвращают
R4SAS хорошо, если unbase64 сделает return 0; то как проверять?
R4SAS if( bdata == 0 ) ?
orignal if (!bdata) printf("пиздец\n");
R4SAS ну вот только одно место проверять можно на результат
R4SAS sha256_* все void
R4SAS memcpy тоже
orignal а там длину нигде не возвращает?
R4SAS нет
orignal в openssl вроде было
R4SAS This function returns a pointer to the memory location where data is copied.
orignal откуда ты знаешь фактическую длину хэша
R4SAS len?
orignal нет там какой то параметр был
R4SAS хеш внутри задается
orignal где не длина а указатель на переменную с длинуой нужен
R4SAS поменяю на unsigned char bhash[SHA256_BLOCK_SIZE];
R4SAS чтобы от магической константы уйти
orignal void sha256_final(SHA256_CTX *ctx, BYTE hash[]);
orignal странная функция
orignal а длина hash не передается?
R4SAS нет
orignal ну так неприавльно
orignal можно за пределы памяти выйти
R4SAS и чего предлагаешь?
orignal передавать длину hash параметром
orignal а внутри проверять чтобы была не меньше 32
orignal и возвращать фактическую длину хэша
R4SAS как ты тут выйдешь за пределы?
orignal ты не знаешь что в hash передадут
orignal и надо делать проверку на длину всегда
R4SAS ну, можно просто тогда как минимум проверять длину b64
R4SAS достаточно хорошо живет
R4SAS 8539 nobody 20 0 196272 47912 1712 S 0.0 0.6 0:38.72 --- ~48Mb
tetrimer У меня в трех местах последний коммит работает: падений пока не было.
orignal так надо проверить сервисы
orignal не просто роутер
tetrimer У меня только http туннели...
orignal этого достаточно
tetrimer Вот ilita irc с работы вчера как-то странно: долго не мог законнектиться... Откатил до предыдущей - один хрен. Потом заработало.
orignal а ну это саму илиту надо перестартовать
orignal всю впс
tetrimer Вот, кстати, хотел спросить: прикладной туннель, по умолчанию, делает 5+5 входящих и исходящих туннелей. А сколько клиентов может одновременно по ним работать не мешая друг другу?
tetrimer Есть ли смысл увеличивать это количество?
orignal нет смысла увеличивать нет
orignal клиетов с какой стороны?
orignal у меня 5 стоит только для этого ирка потому что куча народу вращ сидит
orignal обычно я 3 ставлю
tetrimer Ну, через браузер приходит десяток человек почти одновременно...
orignal это пох
Vort трафик делится
orignal все могут и через один в общем то ходить если поток небольшой
Vort у irc он примерно никакой, поэтому и работает норм
Vort а вот торренты тупить будут на 5 туннелях
tetrimer Это раньше веб-мастера бились за размер страницы... А сейчас первая страница в пару мегабайт - это почти норма.
tetrimer В отладчике страница без кэширования - может до полутора минут грузиться.
Guest6294 Is i2psnark's DHT going to be the standard for I2P?
` Посоны, посоны, намечает свидание дэффушкой. Как на ведроиде отредактировать tunnels.conf? У меня на ведре нет, ей помогу. Только дайте направление через какую стену пройти..
` Как попасть к tunnels.conf на ведре?
` Куда тыкнуть
` *** поленился лезть в маны, простите слабого ***
orignal у меня стоит текстовый редактор jota
orignal открываешь им файл и правишь
` а где он? в .data/как-то-там-дальше?
` Ладно, ладно, извини оригнал, я почитаю маны..
orignal /sdcard/i2pd
orignal обычно там
` То есть в условном корне создаёт i2pd папку?
orignal на карте памяти
orignal либо на реальной либо не ее эмуляции
` Да кто пользуется картой в 2023 году)00 Шутка-шутка, не бейте.
` Ок, направление представил.
orignal const char * ext = getenv("EXTERNAL_STORAGE");
orignal dataDir = std::string (ext) + "/" + appName;
orignal где appname "i2pd"
` Я догадался
` Я вот думаю.. Или почтой заморочиться, для ТЕТ-А-ТЕТ, или попробовать Хаббер или поднять минимальную Ирку. Почта кажется практичнее..
` А где полистерн?
` Хочу её поругать за неготовый pboted
` Или кого-то за исторически сложившуся ирку для ИЛИТЫ..