[05:42:15] iNode вышел из конференции [06:08:34] andrew_b зашёл в конференцию [06:50:56] iNode зашёл в конференцию [06:55:51] il.smind зашёл в конференцию [06:57:45] <il.smind > Попробуй пока в write вставить vfs_stamp_create (me, super); не могу [06:57:59] <il.smind > там нет me [06:58:07] <il.smind > нет super [06:58:12] <il.smind > их искать надо [06:58:32] <il.smind > искать на каждом 8К сегменте [06:58:51] <andrew_b> Можно не на каждые 8, а пореже. [06:59:06] <il.smind > как? [06:59:11] <andrew_b> Каждые 64 или 256. [06:59:16] <il.smind > как? [06:59:26] <andrew_b> 64 или 256 по 8К. [06:59:28] <il.smind > это надо глобальный счетчик [06:59:35] <andrew_b> Да. [06:59:40] <il.smind > ну вот [06:59:53] <andrew_b> В open обнулять. [07:00:04] <il.smind > я по этическим соображениям не хотел бы [07:00:22] <il.smind > это конкретный костыль [07:00:48] <il.smind > может можно менять значение таймаута? [07:01:01] <il.smind > при заходе [07:01:03] <andrew_b> ХЗ [07:01:08] <il.smind > тоже костыль конечно [07:14:29] <il.smind > andrew_b: скажи [07:14:31] <il.smind > _readlink [07:14:56] <il.smind > это чтобы показывало имя того на что ссылается ссылка под курсором [07:15:07] <il.smind > я что то не понял [07:15:41] <andrew_b> Аналог readlink(2) [07:15:53] <il.smind > там передается buf куда надо засунуть текст [07:16:02] <il.smind > и вернуть длину имени [07:16:21] <andrew_b> Почитай man 2 readlink [07:17:29] <il.smind > скажи я могу там делать так [07:17:48] <il.smind > buf = g_strdup ("12345") [07:17:59] <il.smind > кто будет чистить потом? [07:18:40] <il.smind > или там статичный буфер [07:18:46] <andrew_b> Никто. Будет утечка. [07:18:51] <il.smind > а как? [07:18:57] <andrew_b> Там не статичный буфер. [07:19:06] <il.smind > memcpy ? [07:19:13] <andrew_b> Буфер передаётся в функцию. [07:19:26] <andrew_b> g_strlcpy [07:19:35] <il.smind > понял [07:20:09] <il.smind > спасибо, я вчера репу чесал-чесал так и не асилил [07:20:20] <il.smind > теперь всё случится [07:31:35] <il.smind > andrew_b: сделал всё ок [07:31:41] <il.smind > andrew_b: скажи [07:31:54] <il.smind > есть ссылка [07:32:15] <il.smind > она у меня выглядит файлом а не каталогом [07:32:54] <il.smind > lstat занимается этим? [07:33:17] <andrew_b> Да. [07:34:31] <andrew_b> Интересно, почему люди качают 4.7.5, когда уже есть 4.7.5.2? [07:35:03] <il.smind > это нелюди [07:35:38] <il.smind > роботы богомерзкие поди [07:35:58] <andrew_b> А перенастроить роботов люди не могут? [07:36:13] <il.smind > наверное в спецификации сборки, а поправить лень [07:39:10] <andrew_b> il.smind : у тебя деза в русском хэлпе. [07:39:19] <il.smind > andrew_b: ? [07:39:28] <il.smind > C r ? [07:39:35] <andrew_b> Примеры. [07:39:43] <il.smind > странно [07:39:48] <andrew_b> Да. [07:39:54] <andrew_b> Странно. [07:40:52] <il.smind > да, поправлю сейчас [07:41:15] <andrew_b> Что за onlyrsh.mx:/linux/local [07:41:29] <andrew_b> ? [07:43:16] <il.smind > а что не так? [07:43:24] <andrew_b> Двоеточие. [07:43:30] <il.smind > это порт [07:43:37] <il.smind > пустой [07:43:54] <il.smind > уберу [07:43:55] <andrew_b> Что значит пустой порт? [07:44:04] <il.smind > не указан [07:44:08] <il.smind > значит 22 [07:44:18] <andrew_b> Двоеточие зачем? [07:44:24] <il.smind > опечатка [07:44:31] <il.smind > но синтаксис валидный [07:48:02] <il.smind > пушить? [07:48:35] <andrew_b> Как хошь. [07:48:41] <il.smind > ок [07:50:44] <il.smind > andrew_b: а ты вообще не копируешь файлы? [07:50:56] <il.smind > на другие хосты [07:50:59] <andrew_b> Куда? [07:51:00] <il.smind > в инет... [07:51:04] <andrew_b> Нет. [07:51:07] <il.smind > по локалке [07:51:25] <il.smind > а... ну вот понятно почему тебе пофигу [07:51:34] <andrew_b> По локалке через Самбу. [07:51:46] <il.smind > у тебя самба собрана? [07:51:58] <il.smind > в мц [07:52:02] <andrew_b> Нет. [07:52:04] <il.smind > а... [07:52:07] <il.smind > понял [07:53:03] <il.smind > скажи [07:53:09] <il.smind > как они это сделали? [07:53:20] <il.smind > http://www.libssh2.org/libssh2_sftp_stat_ex.html [07:53:43] <il.smind > это у них doxygen такое делает? [07:53:57] <il.smind > было бы прикольно такое иметь [07:54:07] <il.smind > у нас вроде всё есть [07:54:11] <andrew_b> This HTML page was made with roffit. [08:36:04] <il.smind > andrew_b: знаешь еще что хотел спросить [08:36:19] <il.smind > фар видел? [08:36:37] <andrew_b> Давно. [08:37:17] <il.smind > там когда у тебя есть панельный плагин например с winscp [08:37:29] <il.smind > или ftp [08:37:53] <il.smind > то первый список это список соединений [08:38:30] <il.smind > когда нажимаешь f4 то открывается редактирование свойств [08:39:06] <il.smind > а по ентеру ты устанавливаешь соетинение [08:40:00] <il.smind > мне такой подход весьма симпатичен [08:40:18] <il.smind > нам такое реально сделать? [08:40:53] <andrew_b> Сейчас нет. [08:41:12] <il.smind > это понятно [08:41:53] <il.smind > но что надо сделать для этого? [08:42:12] <il.smind > если без редактирование [08:42:16] <il.smind > свойств [08:42:49] <andrew_b> Всё переделать. [08:42:53] <il.smind > может это можно через extfs [08:43:10] <il.smind > andrew_b> Всё переделать. почему так думаешь? [08:43:25] <andrew_b> > может это можно через extfs Не готов ответить. [08:43:41] <il.smind > я пробовал себе такое сделать [08:44:12] <il.smind > не очень красиво получилось но наверное можно было бы идею продумать дальше [08:44:31] <il.smind > а вот смотри [08:46:02] <il.smind > если мы допустим переходим в sftp:// [08:46:14] <il.smind > то можно список хостов показать [08:47:25] <il.smind > ну это так в качестве идеии [08:47:37] <il.smind > это может и сам плагин по идее [08:49:23] <il.smind > если реализовать write, read то наверное можно [08:49:46] <il.smind > без полной переделки [08:53:07] <il.smind > сложновато получается, не элегантно... [08:53:35] <il.smind > нужна такая vfs которая будет строить этот список [08:58:22] <il.smind > andrew_b: что думаешь на счев vfs ? [08:59:23] <andrew_b> Ничего. [08:59:27] <il.smind > по chdir она должна вызывать нужный vfs модуль [08:59:41] <il.smind > т.е. я так смутно обозначил? [08:59:55] <il.smind > суть идеи понятна? [08:59:56] <andrew_b> Мне это пока не интересно. [09:00:22] <slavazanko/w> всем привет [09:00:25] <andrew_b> ! [09:00:30] <il.smind > slavazanko/w: привет [09:00:59] <il.smind > на чём мы остановились? [09:02:26] <il.smind > slavazanko/w: я вот высказал идею... [09:02:39] <il.smind > хотелось бы твое мнение [09:03:12] <slavazanko/w> > это у них doxygen такое делает? Да, доксиген может такое сварганить... было бы желание описывать существующие функции хотя бы по минимуму... [09:03:57] <slavazanko/w> идея по поводу "если мы допустим переходим в sftp://"? [09:04:07] <il.smind > да [09:04:11] <il.smind > не совсем [09:04:27] <slavazanko/w> и как сделать? [09:04:50] <il.smind > я подумал на счет реализации в каждом vfs модуле ткакого построителя панели и понял что не очень [09:04:55] <il.smind > идея такая [09:05:32] <il.smind > написать vfs плагин который умеет следующее [09:06:20] <il.smind > он обращается к нужной ВФС и спрашивает какие есть хосты среди сохранённых [09:06:49] <slavazanko/w> отдельный плагин для этого? [09:06:51] <il.smind > допустим он спросил это у плагина sftp [09:07:19] <slavazanko/w> у нас есть же каталоги быстрого доступа [09:07:43] <il.smind > sftp говорит aaaa, bbbb, cccc [09:08:13] <il.smind > этот плагин строит список хостов в виде панели [09:08:31] <slavazanko/w> не в виде панели. а в виде VFS-каталога. [09:08:50] <il.smind > при выполнении chdir этот плагин вызывает нужную vfs [09:09:25] <il.smind > даже не так [09:09:55] <il.smind > обращаться для выяснения сохранённых хостов не надо [09:10:04] <slavazanko/w> дело в том, что сейчас аждый VFS-узел имеет тип: акталог. файл. симлинк, устройство... Так вот, можно расширить этот тип до "виртуальный каталог", например. Тогда одна и та же VFS сначала по <vfs-name>:// построит список виртуальный каталогов, потом при переходе в виртуальный каталог эта же VFS обработает его в соответствии с типом по-своему. То есть. подконнектится [09:10:07] <il.smind > пусть он сам их хранит [09:11:05] <slavazanko/w> кто сам хранит? [09:11:07] <il.smind > >эта же VFS обработает его в соответствии с типом по-своему вот это то я и предлагаю вынести в отдельную vfs [09:11:12] <slavazanko/w> VFS-плагин? [09:11:17] <il.smind > да [09:11:28] <slavazanko/w> зачем? У нас есть mcconfig [09:11:39] <slavazanko/w> этакий реестр [09:11:43] <il.smind > ну он там и посмотрит [09:11:46] <slavazanko/w> а [09:12:07] <slavazanko/w> тем не менее, объясни право на жизнь такого решения в свете "каталогов быстрого доступа" [09:12:46] <il.smind > slavazanko/w: ну эти каталоги не рисуются в виде панели [09:13:01] <slavazanko/w> а что мешает? [09:13:23] <slavazanko/w> да и зачем... [09:15:44] <il.smind > точнее мне и нужен функционал каталогов быстрого запуска только в виде панели [09:15:45] <il.smind > но [09:15:58] <il.smind > в каталогах параметры не задать [09:16:08] <slavazanko/w> какие параметры? [09:16:25] <il.smind > а мне надо для хоста прописать таймаут, [09:16:39] <il.smind > да много чего [09:16:51] <il.smind > допустим использовать ли прокси [09:17:03] <il.smind > адрес, тип прокси [09:17:14] <il.smind > использовать ли ключи [09:17:25] <slavazanko/w> недавно обсуждали, что каталоги быстрого доступа было бы неплохо переделать под vfs_path_t. Так вот, что мешает в процессе переделки добавить фишку по хранению параметров? [09:17:38] <slavazanko/w> не плоди лишних похожих сущностей [09:18:10] <il.smind > надо чтобы по префиксу вызывался специальный оьбработчик из нужной вфс [09:18:37] <il.smind > slavazanko/w> не плоди лишних похожих сущностей ты о чём? [09:19:33] <slavazanko/w> я о том, что твоя идея с новым плагином и каталоги быстрого доступа - это логически почти одно и то же. С одной только разницей: каталоги уже есть и их немного подпилить. а плагина ещё нету... [09:20:11] <slavazanko/w> если хошь - переделай КБД в VFS-плагин с сохранением существующего функционала [09:20:40] <il.smind > > надо чтобы по префиксу вызывался специальный оьбработчик из нужной вфс имею ввиду что если нажать кнопку для редактирования то вызывался бы нужный интерфейс из нужной vfs [09:21:11] <il.smind > slavazanko/w> если хошь - переделай КБД в VFS-плагин с сохранением существующего функционала это несовсем возможно [09:21:25] <il.smind > тк. сейчас это диалог [09:21:39] <il.smind > а будет панель [09:21:42] <slavazanko/w> > имею ввиду что если нажать кнопку для редактирования то вызывался бы нужный интерфейс из нужной vfs тут сложнее. потому что vfs понятия зелёного не имеет о widget [09:22:00] <il.smind > ему не надо иметь [09:22:23] <slavazanko/w> лучше чтобы vfs-плагин сообщал список параметров: тип параметра. название, дефолтное значение. А интерфейс строился бы на основании этого списка [09:22:36] <il.smind > в нужной вфс должен быть обработчик который показывает диалог настроек [09:22:56] <il.smind > slavazanko/w> лучше чтобы vfs-плагин сообщал список параметров: тип параметра. название, дефолтное значение. А интерфейс строился бы на основании этого списка это очень сложная задача [09:23:27] <il.smind > я как разработчик могу разметстить элементы как мне надо [09:23:32] <slavazanko/w> > в нужной вфс должен быть обработчик который показывает диалог настроек как оно покажет этот диалог. не имея никакого понятия про widget? Добавлять интерфейс(view) в VFS-плагины(model)? [09:23:50] <il.smind > а тупая железка не может знать как их правильно расставить [09:24:20] <il.smind > slavazanko/w: незнаю [09:24:28] <slavazanko/w> ну вот [09:24:32] <slavazanko/w> пока никак. значит. [09:24:57] <il.smind > slavazanko/w: да само собой я концепт предлагаю [09:25:14] <slavazanko/w> мы пока не готовы к этому концепту [09:25:52] <slavazanko/w> в принципе, можно создать привязку плагинов srv/vfs/* к виджетам [09:26:10] <slavazanko/w> и реализовать там диалоги настроек... [09:26:18] <slavazanko/w> гм [09:26:34] <andrew_b> il.smind : ты лучше подумай, как в панелях таймаут отменить. [09:26:46] <andrew_b> Точнее, не отменить. [09:26:54] <andrew_b> А пролонгировать. [09:27:07] <il.smind > andrew_b: не хватает кармы [09:27:54] <il.smind > честно говоря надеялся что ты как то поможешь с этим [09:28:08] <il.smind > я просто почти не понимаю как оно там работает [10:45:22] andrew_b вышел из конференции [10:56:29] andrew_b зашёл в конференцию [11:36:17] <il.smind > andrew_b: [11:36:22] <il.smind > Вы тут? [11:36:34] <andrew_b> Туточки. [11:36:55] <il.smind > vfs_expire (int now) [11:37:06] <il.smind > я не понял как оно работает [11:37:29] <il.smind > оно проверяет какой то глобальный таймаут? [11:37:40] <il.smind > vfs_stamp_create () [11:38:02] <andrew_b> Очевидно, проверяет. 219 lc_time.tv_sec -= vfs_timeout; [11:38:36] <il.smind > vfs_timeout может быть свойством нужной vfs ? [11:38:55] <andrew_b> В принципе да. [11:39:00] <andrew_b> А зачем? [11:39:01] <il.smind > можно с помощью vfs_stamp_create привязать [11:39:17] <il.smind > andrew_b: мы же обсуждали пару дней назад [11:39:50] <il.smind > потомучто для fish таймаут надо побольше а для архивов поменьше [11:42:03] <il.smind > чтобы я вызвал vfs_set_timeout (me, super, 100500) [11:42:16] <il.smind > и был в шоколаде [11:42:34] <andrew_b> Это не шоколад. Хотя по цвету похоже. [11:42:42] <il.smind > ? [11:42:47] <il.smind > кофе? [11:42:59] <il.smind > какао? [11:45:06] <il.smind > еще у меня вопрос [11:45:53] <il.smind > почему если я зашел на хост hast1 то на hast2 уже не могу попасть пока не выйду из mc? [11:46:20] <andrew_b> Зашёл по sftp? [11:46:34] <il.smind > да [11:46:42] <andrew_b> Потому что твой плагин кривой. [11:46:58] <il.smind > andrew_b: а он мог быдь не кривым? [11:47:07] <andrew_b> Он поддерживает только одно соединение. [11:47:15] <il.smind > что то у меня не чистится при выходе? [11:47:22] <il.smind > andrew_b> Он поддерживает только одно соединение. ? [11:47:35] <il.smind > а как ты это понял? [11:47:39] <andrew_b> Я тебе больше скажу: он падает, если ввести неверный пароль. [11:48:21] <il.smind > andrew_b: не падает [11:48:38] <il.smind > не дает зайти просто [11:49:00] <il.smind > вот если потом выйти из мс то будет сегфолт [11:49:26] <andrew_b> Захожу /#sftp:127.0.0.1/home/borodin Просят ввести пароль. Ввожу неправильный. sftpfs: making connection to 127.0.0.1 Невозможно прочесть содержимое каталога [11:49:28] <il.smind > это я знаю, просто не до конца понял как надо на ошибку при соединении реагировать [11:49:45] <il.smind > [13:49:26] <andrew_b> Захожу /#sftp:127.0.0.1/home/borodin Просят ввести пароль. Ввожу неправильный. sftpfs: making connection to 127.0.0.1 Невозможно прочесть содержимое каталога
пока всё верно [11:50:51] <andrew_b> Дожидаюсь таймаута [11:51:09] <il.smind > а ну всё верно [11:51:14] <il.smind > и должен упасть [11:51:33] <il.smind > это я поправлю не переживай, там пару строк [11:51:44] <andrew_b> Да я спокоен. [11:51:49] <il.smind > это не кривит плагин [11:52:15] <il.smind > если это и есть "Потому что твой плагин кривой." [11:52:25] <il.smind > то это не страшно [11:52:40] <il.smind > т.к. там банально нет проверки [11:53:01] <andrew_b> Не поэтому. sftpfs_archive_same всегда возвращает 1. sftpfs_get_super всегда возвращает первое соединение. [11:53:02] <il.smind > а вот "Он поддерживает только одно соединение." это более серьёзное обвинение [11:53:25] <il.smind > >sftpfs_get_super всегда возвращает первое соединение. а должен? [11:53:42] <andrew_b> Ну я не знаю. Зачем эта функция? [11:54:19] <il.smind > задумка была найти super для текущего соединения [11:57:13] <il.smind > я неправильно реализовал? [11:57:27] <andrew_b> Видимо, нет. [11:57:45] <andrew_b> Ты же выдаёшь первое найденное. [11:57:59] <andrew_b> А не то, которое нужно. [11:58:41] <il.smind > вот, если бы я был еще чуточну умнее... [11:59:06] <il.smind > попрошу на следующий год у Деда мороза.. [11:59:33] <il.smind > я к сожалению не понимаю как работает sftpfs_get_super [11:59:59] <il.smind > и что именно туда передавать чтобы идентифицировать нужную сессию [12:00:33] <il.smind > у меня по идее есть указатель на session [12:00:40] <il.smind > в super [12:00:56] <il.smind > вот только с чем его сравнивать [12:04:58] <il.smind > я не очень понимаю как связана панель->соединение [12:05:22] andrew_b вышел из конференции [12:50:48] <il.smind > andrew_b: дак что? [13:45:05] andrew_b зашёл в конференцию [13:45:53] <andrew_b> панель->соединение связаны через url с учётом некоторых других параметров. [13:46:46] <andrew_b> Посмотри ftpfs_archive_same. [13:47:04] <andrew_b> Или fish_archive_same [14:02:21] <il.smind > а что в ftpfs_archive_same (struct vfs_class *me, struct vfs_s_super *super, const char *archive_name, char *op, void *cookie) { char *host, *user; int port;
return port; } [14:02:41] <il.smind > просто вычленение порта и урла [14:02:48] <il.smind > из урла [14:03:19] <andrew_b> Да не. Просто не переименовано. [14:03:45] <andrew_b> Вместо port напиши любое другое слово. [14:03:54] <andrew_b> Надо в клинапе поправить. [14:04:08] <andrew_b> Если не забуду. [14:04:09] <il.smind > andrew_b: это ты мне говоришь? [14:04:18] <il.smind > я что то нить потерял [14:04:20] <andrew_b> Ну ты же спросил. [14:05:00] <il.smind > какое отношение ftpfs_archive_same имеет к вычислению super для некоего урла? [14:06:05] <andrew_b> Не для некоего, а для одного из ftp-соединений. [14:06:14] <il.smind > ну да [14:06:31] <il.smind > для определённого [14:06:56] <andrew_b> ((strcmp (host, SUP->host) == 0) && (strcmp (user, SUP->user) == 0) && (port == SUP->port)); [14:07:16] <il.smind > а.. [14:07:38] <il.smind > ну как то вообще не очень [14:08:14] <il.smind > вот тут static int fish_dir_load (struct vfs_class *me, struct vfs_s_inode *dir, char *remote_path) { struct vfs_s_super *super = dir->super; [14:08:33] <il.smind > более как то всё прозрачно [14:09:01] <andrew_b> Этого у тебя нет. [14:09:10] <il.smind > да нету [14:09:30] <il.smind > думаю может сделать позже [14:09:47] <il.smind > но не для [14:09:59] <il.smind > а чтобы кэшировать каталог [14:10:12] <andrew_b> dir_load() используется, если есть флаг VFS_S_REMOTE. [14:10:19] <il.smind > а то его постоянное перечитывание не очень доставляет [14:10:24] <il.smind > а... [14:10:29] <il.smind > блин [14:11:27] <andrew_b> Кэшировать каталог надо в opendir(). [14:11:54] <andrew_b> А в readdir() читать из кэша. [14:12:26] <il.smind > это в версии sftp 2.0 будет [14:12:42] <il.smind > я пока не придумал где кэш хранить [14:41:50] slavazanko/h зашёл в конференцию [15:07:40] iNode вышел из конференции [15:15:29] andrew_b вышел из конференции [17:18:26] andrew_b зашёл в конференцию [17:29:24] andrew_b вышел из конференции [19:18:23] andrew_b зашёл в конференцию
[19:39:54] andrew_b вышел из конференции [20:39:45] il.smind вышел из конференции [20:41:32] il.smind зашёл в конференцию [21:11:04] slavazanko/h вышел из конференции [21:12:12] slavazanko/h зашёл в конференцию [22:32:35] il.smind вышел из конференции [22:41:25] slavazanko/h вышел из конференции [22:42:03] slavazanko/h зашёл в конференцию