From b047154f22fc82834be0b8249659f0b52da5b7be Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sat, 17 Feb 2018 23:55:36 +0300 Subject: [PATCH] =?utf8?q?=D0=A0=D0=B5=D0=BB=D0=B8=D0=B7=20NNCP=203.0!?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit https://lists.cypherpunks.ru/pipermail/nncp-devel/2018-February/000064.html Очень крупное изменение произошло: теперь можно выполнять удалённые команды, а не только отправлять файлы, запросы на файлы и почту. На самом деле, почта отсылается просто как список аргументов и то, что должно быть подано на stdin указанной команде. Если в качестве команды указать sendmail, то будет отсылка почты. Но можно передавать и любую другую. Проблема в том, что если хочется сделать несколько возможных "точек входа" для исполнения команды, то пришлось бы создавать мнимые промежуточные ноды, где в каждой sendmail будет отличаться. В новом релизе теперь вместо одного sendmail можно указывать словарь с ключами -- handle-ами, точками входа, а в качестве их значения всё те же самые списки аргументов для вызова команды. sendmail: [...] превращается в: exec: sendmail: [...] а команда nncp-mail NODE RECIPIENT превращается в nncp-exec NODE sendmail RECIPIENT. Для чего мне это так надо было? Я хочу запрашивать чтобы удалённая машина скачивала большие файлы или целые сайты, а в ответ в виде файла их присылала назад. Я делал мнимую ноду до которой хожу через Via и у которой sendmail был выставлен в вызов скрипта скачивания. Теперь не надо. Есть и мелочи: * по-умолчанию nncp-file учитывает freqchunked/freqminsize опции ноды на которую мы шлём файл. Если freq-и до неё должны ходить частями, то почему штатная отправка файла должна отличаться? Как правило не должна. Хотя это можно и отключить и переопределить * возможность тоссинга только определённые типы пакетов. Не только определённые приоритеты, но типы * в формат простого пакета внесено поле nice. Из-за него можно отослать freq с высоким приоритетом (чтобы быстрее прососался), но ответ (file) будет с заданным -replynice, который может быть сильно ниже чтобы не нагружать каналы связи * если включена chunked передача файла, но его размер меньше самого chunk-а, то не делать chunked передачу, а отправить файл просто как есть. Чтобы не плодить лишний пакет с метаинформацией, фактически бессмысленный -- 2.50.0