Краткое резюме
Присутствовали: christoph2, dg, hottuna, inscrutable, KillYourTV, Meeh, orion, psi, sponge, str4d, topiltzin, zzz
Meeting Log
19:52:28 <hottuna> zzz, christoph2: syn 19:54:26 <topiltzin> ура, избиение разработчиков! 19:54:33 <topiltzin> s/beating/meeting/ 19:54:37 <iRelay> topiltzin имел в виду: yay, dev meeting! 20:00:03 * hottuna баф'ом открывает встречу 20:00:07 <hottuna> Повестка дня: 20:00:14 <hottuna> * Следующий backend NetDB 20:00:14 <hottuna> * Ticket #729 - расположение properties на OSX 20:00:14 <hottuna> * Ticket #741 - переименование процесса в Windows 20:00:14 <hottuna> * Разное? 20:00:22 <iRelay> http://trac.i2p2.i2p/ticket/729 - (assigned enhancement) - на OSX ~/.i2p -> ~/Library/Application Support/i2p 20:00:33 <iRelay> http://trac.i2p2.i2p/ticket/741 - (accepted enhancement) - Сделать I2P проще в работе с брандмауэрами Windows 20:00:45 <hottuna> __ Следующий backend NetDB__ 20:01:16 <hottuna> Я работал над предложением, первый RFC готов 20:01:35 <hottuna> http://trac.i2p2.de/wiki/NetDB/NextBackend 20:01:38 <iRelay> Title: NetDB/NextBackend I2P (на trac.i2p2.de) 20:02:14 <hottuna> Общая идея — использовать базу Kademlia и расширить её функциями, повышающими производительность и/или надёжность. 20:02:59 <hottuna> Часть начального кода для Kademlia уже написана zzz 20:03:34 <hottuna> Фактически полноценная реализация BEP5. BEP5 — это реализация Kademlia в основной ветке BitTorrent. 20:04:13 <hottuna> Рассматривались несколько DHT: Chord, Freenet и Pastry. 20:04:47 <hottuna> Однако Kad быстрый, расширяемый и относительно надёжный. 20:05:05 <topiltzin> Некоторые другие производные Kad, используемые в продакшене: Azureus kad, eMule kad, Mojito Kad (Limewire) 20:05:24 <topiltzin> Overnet (eDonkey, теперь закрыт) 20:05:47 <topiltzin> насколько мне известно, ни одно p2p‑приложение не использует Chord или Pastry 20:05:54 <hottuna> Я посмотрел Az-Kad — совместимость слабая. Mojito может быть интересен 20:05:57 <hottuna> Поверх Kad предлагается несколько изменений. 20:06:05 <hottuna> Рекурсивные tunnel'ы для более быстрых поисков. 20:06:20 <hottuna> И случайные рекурсивные поиски (Random Recursive) для более надёжных поисков. 20:07:13 <hottuna> Вставки будут стандартного Kad, пока не реализуем Random Recursive Stores. 20:07:45 <hottuna> Итак, это обзор. Есть вопросы? 20:08:17 <topiltzin> Одно возражение против рекурсивных tunnel'ов: они делают локальные бан‑листы IP бесполезными 20:08:40 <topiltzin> например, я мог вручную добавить IP враждебной стороны в свой бан‑лист 20:09:18 <topiltzin> узлы, участвующие в рекурсивном lookup/store, об этом не узнают 20:09:37 <hottuna> Это верно. 20:10:00 <hottuna> Рекурсивные запросы довольно хрупкие и должны использоваться только для скорости. 20:10:35 <hottuna> Однако случайные рекурсивные запросы в итоге найдут путь, не проходящий через забаненные узлы. 20:11:05 <hottuna> В каких ситуациях вы бы не доверяли бан‑листу другого узла? 20:11:25 <dg> sponge: хочу udp 20:11:28 <dg> eche|on: счётчик не сохраняется после изменений сети ("мягкая перезагрузка") 20:11:51 <topiltzin> в ситуации, когда оператор того узла не был прилежен в обновлении бан‑листа 20:12:02 <topiltzin> или когда у другого узла нет бан‑листа вообще 20:12:29 <hottuna> Но что случится, если запрос пройдёт через «забаненный» узел? 20:12:51 <hottuna> Либо он будет переслан, отброшен или записан. 20:13:31 <zzz> при итеративном запросе ни через кого не «проходишь» 20:13:34 <topiltzin> всё, что делает атака sybil/eclipse — скорее всего дропает? 20:14:38 <hottuna> В этом и суть рекурсии. Пусть она иногда и падает. Для ключей под атакой у нас есть более надёжные методы. 20:15:09 <hottuna> Например, итеративные или случайные рекурсивные 20:15:24 <zzz> как выбирать режим? 20:15:35 <topiltzin> теоретически можно включать небольшой фильтр Блума забаненных IP в запрос 20:15:54 <hottuna> выбор режима — открытый вопрос. 20:15:57 <hottuna> это* 20:16:28 <hottuna> По мне, параллельный вариант выглядел бы интересно 20:16:39 <hottuna> Последовательный с переключением при отказе будет медленным 20:17:03 <hottuna> Но это компромисс «полоса пропускания vs максимальная задержка» 20:17:51 <hottuna> topiltzin: R5N включает фильтр Блума в запросы. Но, думаю, это действительно не нужно. 20:18:14 <hottuna> Мы строим это так, чтобы всё работало даже при сбоях 20:18:14 <topiltzin> насколько медленнее итеративный поиск и является ли эта медлительность узким местом? Нужно ли вообще это оптимизировать? 20:18:45 <zzz> Думаю, для начала надо добавить сбор статистики (где нужно) в netdb и snark и собрать метрики текущей производительности этих двух реализаций 20:18:52 <hottuna> Когда вы посещаете eepsite, выполняется поиск. 20:19:25 <hottuna> topiltzin: скорость поисков в разделе 'Lookup' здесь: http://trac.i2p2.de/wiki/NetDB/NextBackend 20:19:28 <iRelay> Title: NetDB/NextBackend I2P (на trac.i2p2.de) 20:20:16 <zzz> в netdb уже много статистики; если добавить аналогичные метрики в snark, можно будет сложить картину 20:20:35 <hottuna> задержки запросов и т. п.? 20:21:06 <topiltzin> zzz: +1 за больше статистики 20:21:06 <zzz> задержки, число запросов на успех и т. п., да 20:22:26 <hottuna> Доступ к такой статистике был бы интересен, особенно при разработке нового. Однако сравнивать I2PSnark-DHT и FloodFill — это как сравнивать яблоки с апельсинами. 20:22:29 <zzz> как я говорил на днях, код snark можно вернуть в netdb, но только если выберем K и B так, чтобы поглотить всю локальную netdb в таблицу маршрутизации 20:22:57 <zzz> если в таблице маршрутизации отсутствует большая часть локальной netdb, то проще продолжать сортировку 20:23:55 <zzz> твоё предложение (и да, это было и в моих планах пару лет) — заменить апельсин яблоком, так что сравнить важно. 20:23:58 <hottuna> Я не против поставить высокий B, задержка lookup — реальная проблема 20:24:55 <hottuna> относительно K, думаю, оставить 8 может быть разумно. 20:25:18 <hottuna> конечно, новый DHT надо будет оценивать. 20:26:05 <zzz> Нельзя выбирать K изолированно. Нужно выбирать K и B так, чтобы таблица маршрутизации работала не хуже текущей сортировки, для заданного размера локальной netdb. 20:27:03 <hottuna> Оба параметра можно подкручивать при развёртывании. 20:27:29 <hottuna> Так что я бы начал с первичной «грубой оценки» на основе того, что знаем и что нужно. 20:28:17 <zzz> это также сильно зависит от того, участвуют ли только ffs или все в новом dht 20:29:24 <hottuna> Не делать каждый узел участником нового dht — ошибка, это оставит нас уязвимыми к атакам вроде описанной в статье UCSB 20:30:15 <zzz> В твоём предложении я не вижу информации, кто «внутри», а кто «снаружи» 20:30:18 <hottuna> Пожалуй, я был не очень ясен в предложении. 20:30:25 <hottuna> ;) 20:31:30 <zzz> Совсем не уверен, что туда надо всех (за NAT, android, скрытые, китайские, мобильные телефоны и т. п.) 20:31:46 <zzz> почитай обширные комментарии jr о том, где всё пошло не так 20:31:53 <topiltzin> node churn (частая сменяемость узлов, churn) вреден для DHT. Должны быть минимальные требования по аптайму 20:32:32 <hottuna> topiltzin: churn — не особо проблема, так как все наши данные изменяемые и переиздаются каждые 37 секунд — 30 минут 20:33:09 <hottuna> узлы за NAT, вероятно, не должны участвовать. android, вероятно, должен 20:33:17 <zzz> верно, N=500 и B=-8 были катастрофой, которую он так и не понял, но были и другие причины, всё ещё присутствующие в нашей сети... и может стать намного хуже, если android «взлетит» 20:33:25 <hottuna> китайские... не знаю... 20:34:04 <hottuna> кроме, возможно, большего churn, чем android отличается? 20:34:32 <topiltzin> churn ухудшает маршрутизацию. Если цель — улучшить маршрутизацию, игнорировать это нельзя 20:34:39 <zzz> Я имею в виду телефоны, не android в частности 20:34:58 <hottuna> для меня android==телефоны тоже 20:35:22 <zzz> у мобильных устройств ниже полоса пропускания и производительность, и прерывистая связность 20:35:57 <hottuna> Как это делается сейчас? 20:36:12 <zzz> что? 20:36:39 <hottuna> про android‑устройства, которые хотят быть ff? 20:36:42 <hottuna> christoph2: где‑то тут бродит 20:36:49 * christoph2 прячется 20:37:00 <topiltzin> есть критерии для получения статуса FF, один из них — аптайм 20:37:11 <hottuna> как бы быстрая ротация ключей мешала атаке «затмения»? 20:37:57 <hottuna> и сколько времени требуется узлу, чтобы интегрироваться в netdb других узлов? (т. е. «засорить» их таблицы маршрутизации) 20:38:32 <zzz> android становятся ff автоматически, как и все остальные, если удовлетворяют критериям. Но вряд ли кто‑то сделает это «по воздуху» 20:38:38 <christoph2> ну у тебя есть время T — интеграция узла в I2P (пока он приемлемо хорошо не подключится) и время t — ротация. нужно T/t + запас узлов для eclipse 20:38:53 <hottuna> topiltzin: аптайм — не проблема. У R5N довольно агрессивные факторы репликации. Так что churn — не вопрос 20:39:00 <christoph2> * узлы, необходимые для успешного eclipse 20:40:27 <christoph2> hottuna: точно не слежу за изменениями кода. Было меньше 30 минут в декабре 20:40:27 <hottuna> Я вчера сделал быстрые прикидки 20:40:27 <christoph2> ну 0.9.2 если правильно помню 20:40:27 <hottuna> nodes_needed_for_eclipse = (60/key_rot_interval)*eclipse_integration_time*attackers_per_eclipse 20:40:27 <hottuna> nodes_needed_for_eclipse = (60/10)*24*20 = 2880. Что может быть непосильно для атакующего. 20:40:27 <zzz> hottuna, как будет работать новое пространство ключей (либо другая формула перестановки, другой график ротации, либо оба)? Я не вижу, как мы сможем когда‑либо мигрировать. 20:40:27 <hottuna> ок, звучит разумно 20:40:49 <hottuna> Использовали бы оба параллельно? Текущая реализация останется отдельно, пока мы не сможем безопасно уйти от неё. 20:41:26 <zzz> что я действительно хочу знать — что мы можем сделать в ближайшие две недели для повышения устойчивости 20:41:29 <hottuna> christoph2: эти расчёты внятные? и будут ли 2880 узлов вообще проблемой? 20:41:36 <zzz> если это сделать routers класса N floodfill, давайте сделаем. 20:41:36 <topiltzin> Мне трудно поверить, что churn — не проблема. Чем больше churn, тем хуже таблица маршрутизации у каждого узла 20:42:29 <zzz> как мы вообще «безопасно уйдём» и сохраним совместимость? Как справимся с лимитами соединений при двух параллельных реализациях? Как мигрировать с одной на другую? 20:42:33 <hottuna> topiltzin: значение K, размер каждого «ведра» в таблице маршрутизации, выбирается как число узлов, которые с высокой вероятностью не выпадут из DHT в течение часа. 20:42:33 <topiltzin> ^^ класс F но !windoze 20:43:04 <topiltzin> s/F/N/ 20:43:08 <iRelay> topiltzin имел в виду: ^^ class N but !windoze 20:43:12 <zzz> конечно, можно сделать класс N, не‑Windows. Понятия не имею, сколько их 20:43:35 <zzz> это также «засветит» эти routers как не‑Windows, небольшая проблема анонимности 20:43:35 <christoph2> hottuna: ~20 на умеренно дорогом сервере. 100 таких могут быть проблемой или нет — зависит от того, от кого защищаемся. И не уверен, что нельзя получить в несколько раз больше узлов на сервер при хорошем коде 20:44:22 <hottuna> ладно, это может быть некоторой проблемой. Но недолго — технологии быстро развиваются 20:45:28 <zzz> что ещё можно сделать к 0.9.7? 20:45:28 <topiltzin> верно насчёт проблемы анонимности... так что, может, просто сделать всех N и надеяться, что пользователей это не сильно разозлит 20:46:18 <christoph2> не всё прочитал. Что там с Windows? 20:46:25 <hottuna> по соединениям: старые узлы продолжат как обычно. Новые будут балансировать свои запросы между обеими сетями. 20:46:49 <dg> christoph2: «вшитые» лимиты на соединения 20:46:52 <hottuna> christoph2: Windows не позволяет держать много соединений 20:47:07 <christoph2> ага 20:47:27 <hottuna> christoph2: хорошо, это отвечает на вопрос о ротации ключей. Вероятно, оно того не стоит 20:47:34 <topiltzin> на самом деле ограничена скорость открытия новых соединений 20:49:07 <zzz> hottuna, я не вижу, как мы придём «отсюда туда». Я вижу, как перенести код snark в netdb с теми же итеративными поисками в том же пространстве ключей. Не знаю, стоит ли, но хотя бы понятно как. Дальше всё выглядит очень тяжело и загадочно. 20:50:02 <hottuna> Мы бы поменяли пространство ключей? Или что ты подразумеваешь под keyspace? 20:50:05 <topiltzin> +1 за старт с кода snark и остальное $потом 20:50:40 <zzz> keyspace = алгоритм key->routing key, включая ротацию 20:52:14 <hottuna> итак, шаг первый при развёртывании — иметь что‑то работающее (скорее всего, только итеративное). Затем добавляем новые KRPC‑сообщения для Recursive и Random Recursive 20:52:54 <hottuna> И когда сеть в основном обновится, чтобы их поддерживать, включим их в узлах‑инициаторах. 20:53:27 <hottuna> Развёртывание даже поможет понять производительность под массовой атакой 20:53:38 <zzz> (для справки: я начал с kbucket‑кода netdb, чтобы сделать общую библиотеку i2p.zzz.kademlia с произвольными K, B, размером хеша и алгоритмом вытеснения. Потом я загонял её юнит‑тестами. Затем перенёс в snark для BEP5 и дальнейших тестов. Последняя часть изначального плана — вернуть её в netdb, чтобы «замкнуть круг») 20:54:54 <hottuna> zzz.kad и i2psnark выглядят хорошей базой. Сегодня читал часть кода — всё выглядит логично. 20:55:01 <zzz> ты предлагаешь другое пространство ключей, другую ротацию и других участников. То есть совершенно новый overlay. 20:55:33 <hottuna> Я бы хотел сделать полностью новый overlay. 20:56:04 <zzz> отлично. чтение кода++. 20:56:47 <hottuna> хорошо. Если это имеет смысл и возражений нет, я бы двигался дальше по встрече. 20:57:42 <hottuna> __Ticket #729 - расположение properties на osx__ 20:57:49 <hottuna> topiltzin, Meeh 20:58:11 <topiltzin> да, это очень «низковисящий фрукт», который давно болтается 20:58:39 <zzz> новый overlay звучит как мучение для меня. 21:00:12 <topiltzin> ... неловкий момент ... 21:00:59 <topiltzin> мы всё ещё про dht? 21:02:09 <dg> имхо обсуждение dht не закончено, но ради пользы встречи — стоит закончить 21:02:23 <dg> никаких решений не видно 21:02:26 * dg возвращается в тени 21:03:16 <topiltzin> Думаю, решение на ближайшее будущее 0.9.7 — больше FF. Долгосрочная картина пока туманна 21:03:42 <topiltzin> Я приступлю к #729. Meeh, ты тут, бро? 21:04:16 <trolly> сорри, забыл о встрече 21:04:57 <hottuna> хорошо, topiltzin, что по #729? 21:05:35 <topiltzin> Я уже какое‑то время гоняю это, протаскивая trunk в ветку i2p.i2p.729 21:05:50 <topiltzin> всё работает, всё прямолинейно 21:06:21 <topiltzin> влияет только на новые установки на OSX, так что низкий риск и т. п. 21:06:44 <topiltzin> Хотел бы смержить и закрыть 21:07:03 <hottuna> zzz, готов к merge #729? 21:07:45 <hottuna> У меня нет доступа к Mac, но предполагаю, что у topiltzin и Meeh есть. 21:08:12 <topiltzin> Да, мы, наверное, единственные пользователи osx тут :) 21:08:15 <topiltzin> вот diff: 21:08:15 <topiltzin> mtn diff -r h:i2p.i2p -r h:i2p.i2p.729 21:09:14 <hottuna> У меня на этой машине нет доступа к репо :/ 21:09:41 <dg> «доступ»? 21:10:00 <hottuna> в смысле, не настроен :P 21:10:07 <zzz> возражений нет 21:10:38 <topiltzin> сейчас будет pastebin для заинтересованных 21:10:50 <zzz> нужно немного тестов, но вряд ли их станет больше, пока не смержим 21:10:50 <hottuna> спасибо! 21:11:35 <zzz> Я лоббировал merge ещё месяцы назад, как увидите в комментариях #729 21:11:42 <topiltzin> http://pastethis.i2p/show/3404/ 21:11:45 <iRelay> Title: Paste #3404 | LodgeIt! (на pastethis.i2p) 21:12:01 <hottuna> тогда давайте мержить 21:12:17 <topiltzin> ок, отлично. Meeh, говори сейчас или молчи вечно 21:12:28 <topiltzin> (или как там говорит священник на свадьбе) 21:13:18 <zzz> Я бы хотел, чтобы он высказался и потом, если тогда он будет тестировать :) 21:13:21 <topiltzin> ок, смержу после встречи 21:13:56 <hottuna> __Ticket #741 - переименование процесса в windows__ 21:14:11 <topiltzin> str4d: ты тут для этого? 21:15:54 <topiltzin> ммк, этот тикет не такой уж маленький 21:16:57 <topiltzin> предыстория — на Windows i2p работает с именем процесса «java» 21:16:57 <sponge> привет 21:17:24 <sponge> сегодня встреча? 21:17:27 <topiltzin> что означает: любые настройки безопасности, применённые к i2p, начинают действовать для любого приложения на Java 21:17:41 <hottuna> sponge: да. http://zzz.i2p/topics/1397?page=1#p6616 21:17:48 <iRelay> Title: zzz.i2p: Meeting [4th June] (на zzz.i2p) 21:17:48 <sponge> спасибо 21:17:59 <sponge> давно пора мне заглянуть на одну из таких... 21:18:48 <sponge> этот день и час мне всегда тяжело 21:18:55 <zzz> можем ли мы продвинуться по 741 без str4d? 21:19:29 <sponge> У меня наконец есть машина с Windows 21:19:36 <topiltzin> если у нас есть копия Visual Studio, то можем всё сделать и без него 21:19:59 <sponge> 7, если правильно помню, почти не пользуюсь, но могу помочь/потестить 21:20:14 <hottuna> Я мог бы достать лицензию VS от Microsoft, если кто‑то умеет ей пользоваться.. 21:20:41 <topiltzin> проекту полезно иметь такие лицензии 21:20:41 <zzz> Я имею в виду — для обсуждения. Итак, сначала: topiltzin, зачем ты вынес это в повестку — просто чтобы сдвинуть дело? 21:20:41 <sponge> говорят, VS довольно болезненный 21:21:07 <topiltzin> именно — чтобы пошло движение 21:21:37 <hottuna> Ладно, str4d нет. Отложим? 21:21:48 <sponge> ай 21:22:28 * sponge есть немного «разного» для обсуждения 21:22:41 <sponge> дайте знать, когда у меня «говорящая палочка» 21:23:03 <hottuna> Понимаю это как громогласное «да». 21:23:03 <hottuna> Двигаемся дальше.. 21:23:06 <hottuna> __Разное__ 21:23:09 <topiltzin> если хотите отложить — ок, но давайте не забудем совсем 21:23:21 <hottuna> topiltzin: согласен 21:23:46 <topiltzin> (подниму в следующей встрече тоже) 21:23:57 <topiltzin> ;-) 21:24:08 <hottuna> sponge: Разное, да? 21:24:51 <sponge> Разное — Bridge API для UDP (BOB) — у меня есть идеи, как это можно сделать, но нужна обратная связь и понимание, нужно ли это вообще 21:25:18 <sponge> по сути, нужен расширяемый стандарт 21:25:22 <sponge> и придерживаться его 21:25:43 <sponge> и он не должен ломать то, что уже есть 21:25:57 <sponge> ну — или легко адаптироваться 21:26:56 <hottuna> Вопрос: для чего люди будут это использовать? 21:27:03 <zzz> у нас уже есть тред: http://zzz.i2p/topics/1393 --- как насчёт выложить туда твоё предложение? 21:27:10 <iRelay> Title: zzz.i2p: UDP Trackers (на zzz.i2p) 21:27:10 <sponge> думаю о двух способах: либо оборачивать UDP‑пакет как <<destination><data>>, либо как <<handle><data>> 21:28:13 <dg> hottuna: трекеры, VoIP? 21:28:16 <sponge> интересен спрос 21:28:16 <dg> даже осмелюсь сказать — игры 21:29:03 <sponge> и мне нужны люди для обсуждения. Я ГОДАМИ пытался с кем‑то это обсудить, собрать идеи, и никто не хочет думать над проблемой 21:29:03 <dg> о, anonet. psi это продвигал. 21:29:03 <sponge> *кто‑то 21:29:03 <zzz> надо почитать, как делает SOCKS 21:29:03 <sponge> есть приложения, которые используют IDP 21:29:06 <sponge> *UDP 21:29:22 <sponge> не забудьте gnutella 21:29:25 <inscrutable> voip (mumble) реализован и немного используется 21:29:44 <zzz> это tcp 21:29:47 <sponge> bote тоже использует «псевдо‑udp» пакет 21:29:54 <sponge> gnutella может использовать udp 21:29:58 <inscrutable> zzz: виноват 21:30:29 <orion> Когда следующая встреча? 21:30:40 <hottuna> Когда кто‑то захочет её провести 21:30:40 <zzz> внутри JVM всё легко. Я мог бы добавить udp в zzzot за день. Внешний интерфейс — вот где боль. 21:30:40 <sponge> так что спрос есть? и если есть идеи реализации, которые будут расширяемы и не протухнут — публикуйте 21:30:45 <orion> Ох ты. Мы на встрече. 21:30:45 <hottuna> Я не буду вести следующую неделю. 21:31:06 <hottuna> orion: сейчас у нас __Разное__.. 21:31:25 <dg> sponge: да. 21:31:32 <sponge> второе «разное» — IPv6 и его влияние на деанонимизацию 21:31:35 <orion> hottuna: спасибо. 21:31:50 <sponge> опасения? 21:32:01 <sponge> насколько близки мы к использованию ipv6 21:32:08 <sponge> как 21:32:12 <hottuna> какие у тебя опасения, sponge? 21:32:27 <sponge> ipv6 может довольно легко связать адрес с личностью 21:32:46 <Meeh> чёрт, проспал встречу -.- 21:32:53 <zzz> Тред по IPv6: http://zzz.i2p/topics/109 21:32:56 <hottuna> из‑за большого адресного пространства? 21:32:59 <iRelay> Title: zzz.i2p: IPV6 TODO (на zzz.i2p) 21:33:03 <sponge> да 21:33:03 <sponge> Я думал 21:33:14 <sponge> zzz: это другое, но связано 21:33:17 <dg> IPv6 сам по себе не деанонимизирует? WHOIS _может_ быть точнее, как и _может_ определение, стоит ли NAT (Боб и Райан за NAT, вы не знаете кто есть кто) — с IPv6, возможно, узнаете, Боб это или Райан. 21:33:24 <dg> На мой взгляд, практической разницы для I2P нет. 21:33:27 <sponge> i2p мог бы получить IPv6‑пространство 21:33:39 <psi> SOCKS 5 UDP было бы круто 21:33:42 <sponge> раздавать его пользователям через tunnel 21:33:45 <str4d> o/ 21:33:48 <orion> К слову: i2pcpp будет с полной поддержкой ipv6. 21:33:54 <str4d> Извиняюсь за опоздание. 21:33:57 <hottuna> dg: согласен. 21:34:06 <zzz> ждём от sponge списка опасений (сообщение #66) 21:34:20 <dg> hottuna: можем двигаться дальше, если sponge больше нечего добавить? 21:34:35 <dg> считаю, это не проблема 21:34:35 <zzz> график? merge в 0.9.8, включить по умолчанию в 0.9.9 21:34:38 <sponge> короче... будет ли i2p предоставлять IPv6‑tunnel для людей с высоким уровнем риска? 21:34:53 <topiltzin> эй, str4d, ты пропустил обсуждение i2p.exe :( 21:35:04 <sponge> должны? 21:35:07 <hottuna> Думаю, в нашей модели угроз нет сценария, где I2P незаконно запускать. 21:35:31 <hottuna> В таком случае IPv4 также был бы проблемой. 21:35:42 <zzz> orion, я стараюсь держать нашу документацию в актуальном состоянии по IPv6. Документы должны соответствовать тому, что сейчас в моей ветке ipv6. 21:35:45 <sponge> ht: в некоторых странах (Китай?) — да 21:36:20 <hottuna> И единственная дополнительная информация, которая утечёт — кто запускает i2p. 21:36:39 <zzz> лучший путь через GFW может быть через IPv6, трудно видеть, почему это минус 21:38:09 <sponge> последнее «разное» от меня — извиняюсь, что пропускал прошлые встречи. Снова: мне трудно в этот день и час. Очень скоро буду более активен по всему... «говорящая палочка» следующему 21:38:13 <orion> zzz: спасибо. 21:39:03 <hottuna> Meeh: ты пропустил #726, но тебя просят протестировать патчи, которые смержит topiltzin (думаю, это краткое резюме) 21:39:15 <hottuna> str4d: #741 отложили до следующей встречи 21:39:22 <hottuna> sponge: здорово :) 21:39:29 <sponge> Предлагаю поднять 741 сейчас 21:39:32 <hottuna> Хорошо, что‑нибудь ещё? 21:39:32 <Meeh> hottuna: принято. 21:39:39 <sponge> он тут, почему бы нет 21:39:46 <hottuna> мне ок 21:39:46 <orion> hottuna: Да, мелочь. 21:40:01 <hottuna> ок, вперёд, orion! 21:40:04 <topiltzin> де‑табелизирую 741 ... :) 21:40:20 <orion> Не мог бы кто‑то выдать мне учётные данные для email‑аккаунта press@i2p2.de? 21:40:27 <orion> А также обновить сайт. 21:40:46 <sponge> orion: сайт в mtn 21:40:56 <hottuna> что именно на сайте обновить? 21:41:03 <str4d> И для обновления сайта учётные данные не нужны. 21:41:18 <str4d> (Просто создай ключ mtn и вперёд) 21:41:25 <orion> str4d: email‑аккаунт 21:41:43 <hottuna> насколько знаю, доменом занимается welterde. 21:41:46 <orion> Или неважно. Страница team.html уже обновлена. 21:41:46 <zzz> ты сильно разочаруешься, кажется, мы никогда не получали туда ни одного письма, но welterde — тот, кого надо попросить добавить. Это просто редиректор на список, никакого аккаунта нет. 21:42:02 <orion> Значит сейчас только email‑аккаунт. 21:42:20 <orion> Поговорю с welterde, спасибо. Передаю слово. 21:42:30 <hottuna> отлично 21:42:38 <hottuna> __Ticket #741 - переименование процесса в windows__ 21:42:45 <str4d> Итак, кратко де‑табелизируем 741? 21:42:45 <hottuna> topiltzin, str4d 21:42:52 <hottuna> да 21:42:58 <sponge> :-) 21:43:05 <str4d> Текущее состояние: переименователь процесса работает. 21:43:12 <str4d> (Когда вызван Tanuki wrapper) 21:43:23 <str4d> (или переданы аргументы CLI) 21:44:01 <str4d> Я тестировал на Win7. topiltzin подтвердил, что код запускался почти везде, кроме Win8. 21:44:12 <str4d> Так что там нужны тесты. 21:44:34 <hottuna> У кого‑нибудь есть доступ к win8? 21:44:37 <zzz> 32/64? 21:44:52 * KillYourTV может 21:44:59 <str4d> Единственная часть, которая сейчас не работает — внутренние значения по умолчанию, то есть аргументы, используемые если извне ничего не передано (т. е. wrapper или CLI). 21:45:02 <KillYourTV> (win 8, x64 и/или x86) 21:45:09 <sponge> Моя дочь собиралась обновиться до 8, но мы выяснили, что она реально плохая. 21:45:12 <str4d> zzz: у меня был 64‑битный Win7 21:45:30 <str4d> (если правильно помню) 21:45:30 <hottuna> KillYourTV, возьмёшься протестировать? 21:45:37 <KillYourTV> всегда 21:45:44 <hottuna> :) 21:45:52 <str4d> Спасибо, KillYourTV :) 21:46:11 <topiltzin> вижу два оставшихся пункта: 21:46:11 * KillYourTV настроит несколько VM 21:46:14 <str4d> Тестирование — просто положить новый i2p.exe в папку установки и подкрутить wrapper.config, чтобы использовать «i2p» вместо «java». 21:46:21 <topiltzin> 1. Иконки — нужны разные размеры, альфа‑каналы и т. п. 21:46:36 <topiltzin> 2. Строки типа лицензии, описания и пр. — требуют ревью 21:46:55 <str4d> 1. — Я настроил файл VS ссылаться на иконку в installer/ в i2p.i2p. 21:47:22 <str4d> Так что должна использоваться та же иконка, что и у i2p.exe на базе launch4j. 21:47:25 <KillYourTV> Я не заметил — но предлагаемый «renamer» уже в i2p.i2p? 21:47:36 <str4d> 2. — Согласен. 21:47:36 <hottuna> по иконкам: не думаю, что есть качественные SVG‑файлы 21:47:51 <str4d> KillYourTV: да — installer/c/i2pExe 21:48:10 <zzz> если он не работает без аргументов, разве это не проблема? 21:48:10 <KillYourTV> отлично, остальное я осилю ^^ 21:48:28 <str4d> zzz: да, проблема. 21:48:35 <topiltzin> тогда некоторые вещи вроде панели управления будут выглядеть странно 21:48:43 <str4d> Это нужно исправить, если он будет заменять i2p.exe на базе launch4j 21:48:54 <topiltzin> str4d: ты уверен, что это проблема? Я думал, ты хардкодил дефолты 21:49:17 <str4d> topiltzin: да, но он просто падает, и я тогда не понял почему. 21:49:29 <sponge> хардкодить может быть плохо. Сначала сделай поиск пути. 21:49:47 <str4d> Но когда я вынес (казалось бы) те же аргументы и передал их через CLI — всё заработало.. 21:50:02 <str4d> sponge: дефолты разные. 21:50:13 <sponge> ааа 21:50:35 <str4d> sponge: это настройки, с которыми запускается I2P, если больше ничего нет (никакого wrapper.config). Смотри installer/i2pstandalone.xml 21:50:38 <topiltzin> str4d: чтобы KillYourTV тестировал, нужен собранный i2p.exe, или ты закоммитил его в mtn? 21:50:46 <str4d> (и цель doBuildExe в build.xml) 21:50:49 <sponge> str4d: возможно, как в BOB — по сути двойной main() 21:50:53 <KillYourTV> topiltzin: исходники в mtn 21:51:07 * KillYourTV уже спрашивал ^^ 21:51:14 <str4d> topiltzin: собирать надо — я не собирался коммитить бинарник, пока мы не приблизимся к реальному использованию. 21:51:21 <str4d> KillYourTV: я имел в виду, что исходники в mtn ^_^ 21:51:24 <sponge> первый main вставляет недостающие аргументы и передаёт их настоящему main() 21:51:31 <KillYourTV> о... хех 21:51:58 <str4d> sponge: примерно так и сделано — если args переданы, они используются, иначе строятся аргументы по умолчанию. 21:52:05 <sponge> то есть у тебя main() и _main() 21:52:08 <topiltzin> ок, то есть i2p.exe нет в mtn? 21:52:08 <str4d> topiltzin: какой формат у launch.properties? 21:52:27 <str4d> topiltzin: верно. Только installer/c/i2pExe/i2p.c и т. п. 21:52:30 <sponge> первый — просто подготовка 21:52:37 <str4d> sponge: см. код в installer/c/i2pExe/i2p.c. 21:52:37 <dg> topiltzin: исходники да, бинарника нет 21:52:48 <sponge> гляну, спасибо 21:53:11 <sponge> Я вернусь к тебе, почему это ломается 21:53:27 <str4d> topiltzin: там ещё несколько закомментированных методов, назначение которых я не понял. 21:54:04 <topiltzin> норм, объясню вне чата 21:54:15 <topiltzin> но KillYourTV нужен бинарник для тестов, соберёшь? 21:54:54 <str4d> topiltzin: конечно. 21:55:21 <topiltzin> launch.properties — по одной строчке на свойство, надо перепроверить 21:55:39 <str4d> (если у тебя уже есть VS2008, KillYourTV — это тем и собирается) 21:56:05 <topiltzin> это подводит к ещё одному интересному пункту __разного__: 21:56:08 <str4d> topiltzin: думаю, что launch.properties мог бы быть как wrapper.config, но для standalone‑случая. 21:56:23 <topiltzin> да 21:56:42 <str4d> (Потому что текущий standalone i2p.exe вовсе не настраиваем) 21:58:33 <topiltzin> теперь, когда у проекта много денег (потому что кто‑то загадочный пожертвовал 1000 BTC, когда они были ещё дешёвые), нам стоит иметь лицензии на софт вроде vmware, visual studio и т. п. 21:59:21 <hottuna> visual studio я могу получить бесплатно для себя или для кого‑то из вас 21:59:24 <topiltzin> Я уверен, что у KillYourTV легально куплены копии Windows 8 :-D, но технически проект должен это финансировать 21:59:39 <zzz> microsoft рекламирует по ТВ win8‑компы за $450 (Asus? Acer?), можно просто купить один из них 22:00:05 <sponge> отличная идея, zzz 22:00:16 <KillYourTV> (копии dreamspark, «для образовательного использования») 22:00:27 <maidenboi2> в tiger direct часто распродажи по 300-400 на начальные ноуты 22:00:27 <orion> Если у Microsoft есть студенческие скидки, я могу взять. 22:00:34 <orion> Если пойдём этим путём. 22:00:37 <topiltzin> hottuna, да, пожалуйста (про VS) 22:00:51 <dg> стоп 22:01:01 <dg> игровой ноут, что мы покупали, на win. 8? 22:01:19 <hottuna> нам действительно нужны «игрушки»? нельзя ли тестить в VM? 22:01:27 <KillYourTV> у echelon была своя Windows. 22:01:45 <KillYourTV> а я тестирую в чистых VM 22:01:52 <sponge> str4d: у меня где‑то валяется VS (очень старый), но я не буду его использовать. Я просто посмотрю твой код, как только pull и apply закончатся, и дам советы 22:02:14 <str4d> sponge: спасибо. 22:02:59 <topiltzin> VM всегда лучше 22:02:59 <orion> Согласен с hottuna насчёт VM. 22:02:59 <topiltzin> и можно обмениваться образами для удобной отладки и т. п. 22:02:59 <hottuna> хорошо. тогда мы довольны темой/обсуждением? 22:02:59 <sponge> str4d: не вопрос. Я последний месяц с головой в C, C++ и ASM 22:03:02 <zzz> win8‑нетбук будет намного дешевле, чем VS 22:03:52 <orion> zzz: а если я возьму студенческую копию VS? 22:04:03 <hottuna> Я тоже думал пожертвовать свою студенческую копию. 22:04:14 <topiltzin> orion: если возьмёшь студенческую, i2p, строго говоря, не сможет её использовать 22:04:21 <sponge> Моя дочь тоже, возможно, сможет взять студенческую версию 22:04:27 <topiltzin> s/технически/легально/ 22:04:31 <iRelay> topiltzin имел в виду: orion: if you get a student copy i2p cannot legally use it 22:04:31 <hottuna> topiltzin: почему нет? 22:04:34 <str4d> hottuna: у меня всё. Два основных action item: Починить дефолты (и дать launch.properties); собрать i2p.exe для тестов KillYourTV. 22:04:37 <orion> Это для моего образования. 22:05:07 <hottuna> а не для коммерческой компании/проекта 22:05:07 <topiltzin> потому что это студенческая копия для обучения orion — значит, только он может её использовать 22:05:26 <hottuna> ок. в таком случае я не могу предоставить VS. 22:05:49 <topiltzin> какая у тебя лицензия? 22:05:58 <hottuna> и это нельзя собрать mingw? 22:05:58 <hottuna> topiltzin: студенческая 22:06:46 <topiltzin> ты можешь использовать её для сборки i2p.exe или другого для i2p, единственное — не можешь отдавать её кому‑то ещё 22:07:23 <KillYourTV> как насчёт vs2008 express? Он ограничен только 32‑бит? 22:07:46 <sponge> str4d: заметь! Не очень хорошая практика — смешивать комментарии C++ в C‑коде ;-) используй /* */ 22:08:01 <KillYourTV> Полагаю, нам нужен i2p.exe 64‑бит и i2p.exe 32‑бит 22:08:32 <topiltzin> Думаю, 32‑бит достаточно 22:08:35 <sponge> Я уже вижу твою проблему 22:09:01 <topiltzin> «достаточно» = запускается и на 64, и на 32‑бит Windows 22:09:19 <KillYourTV> Не уверен, что 32‑бит i2p.exe может запускать 64‑бит wrapper. 32‑бит wrapper не может загрузить 64‑бит JVM 22:09:36 <KillYourTV> не знаю насчёт этого случая 22:10:48 <sponge> str4d: i2p.c строка 54, и цикл ниже — ты неправильно присваиваешь... должно быть '*new_argv[0]', а не 'new_argv[0]'. То же и для цикла ниже. Финальный NULL должен быть ок 22:11:06 <K1773R> KillYourTV: как насчёт x86, который запускает x86 или x64 launcher? 22:11:44 <sponge> str4d: попробуй это, и должно заработать 22:11:47 <KillYourTV> я про то, что не уверен, что это возможно. 32‑битные бинарники обычно не могут вызывать x64‑бинарники. 22:12:47 <sponge> на самом деле первая строка может быть ок, но цикл должен быть с * 22:13:26 <sponge> read_options, если возвращает как указатель, должен копировать указатель 22:13:45 <K1773R> KillYourTV: через cmd.exe должно работать как крайняя мера, хотя это уже проблема win 22:13:48 <sponge> new_argv[i] = &(read_options[i-1]); 22:13:51 <sponge> типа так 22:14:57 <topiltzin> sponge, у тебя есть доступ к машине с Windows? Поможешь протестировать? 22:15:17 <topiltzin> sponge: и оставь комментарии в trac #741 22:15:35 <sponge> У меня ноут с win 7, но не могу тестить сегодня. Времени мало, едва выкроил на встречу 22:16:17 <sponge> иначе бы с радостью 22:16:52 <sponge> суть в том, что у тебя указатель на массив указателей 22:17:41 <KillYourTV> Я могу по сути тестировать любую/все версии Windows 22:17:44 <sponge> ты не копируешь указатель, твой код копирует первые несколько символов, которые будут указывать на рандомный мусор и приводят к крэшу 22:18:46 <sponge> new_argv[0] = argv[0]; <-- это ок 22:18:59 <sponge> new_argv[i] = read_options[i-1]; <-- рандомный мусор 22:19:13 * hottuna готовит молоток закрытия встречи 22:20:21 <hottuna> итак.. время закрываться 22:20:24 <str4d> sponge: уверен, этот участок такой же, как в limewireExe 22:20:31 <micster> Прежде чем все уйдут: я думаю про статус «non profit 501(c)(3)» для Invisible Internet Project. Это место для обсуждения или где‑то ещё? 22:20:38 <str4d> (Который, по словам topiltzin, ДОЛЖЕН был работать) 22:20:45 <hottuna> micster: да 22:21:04 <dg> hottuna: мы закончили с #741? 22:21:22 <hottuna> сомневаюсь, что мы когда‑нибудь «закончим» это :P 22:21:29 <sponge> str4d: проблема 2 22:21:33 <sponge> free(read_options); 22:21:45 <sponge> не освобождай их там 22:21:48 <micster> Я видел пост на форуме о желании зарегистрироваться в Германии. Я в США и заинтересован заняться этим. 22:21:52 <str4d> KillYourTV: насчёт 32/64, что сейчас делает i2p.exe на базе launch4j? Он запускает отдельный процесс java.exe; он собирается отдельно для 32 и 64 бит? 22:21:55 <hottuna> sponge: мне надо идти. Можешь довести встречу до конца? 22:21:58 <sponge> освободи их в самом конце 22:22:09 <sponge> Я тоже уже ухожу 22:22:15 <hottuna> нужен только финальный «baf», и всё 22:22:18 <hottuna> чёрт! 22:22:25 <dg> micster: Отлично! Увы, время плохое. Сможешь написать об этом на zzz.i2p («форум»)? 22:22:28 <str4d> sponge: попробую твоё предложение и отпишусь. 22:22:31 <sponge> Думаю, всё 22:22:38 <micster> Ок 22:22:41 <str4d> (позже — ухожу o/) 22:22:59 <sponge> str4d: перепроверь, что это указатель 22:23:01 * hottuna баф'ом закрывает встречу 22:23:06 * hottuna **baf** 22:23:17 <sponge> **BARF** :-) 22:23:35 <hottuna> итог выложен: http://zzz.i2p/topics/1397 22:23:42 <iRelay> Title: zzz.i2p: Meeting [4th June] (на zzz.i2p) 22:23:50 <RN> :) 22:23:57 <sponge> круто, пойду по делам 22:24:08 <topiltzin> отличная встреча, всем спасибо! 22:24:19 <dg> micster: встреча заканчивается, и у всех много, что хочется сказать. Ты получишь больше внимания, если напишешь там. 22:24:53 <micster> Ок, создам пост. Возможно, обсудим на следующей встрече. 22:25:01 <micster> Хотел убедиться, что я по адресу. 22:26:52 <RN> много хороших обсуждений. спасибо, что нашли время поучаствовать, ребята 22:27:07 <hottuna> :) 22:28:54 <zzz> micster, подходящий тред: http://zzz.i2p/topics/1388 22:28:58 <iRelay> Title: zzz.i2p: Official I2P group (на zzz.i2p)