public inbox for nncp-devel@lists.cypherpunks.ru
Atom feed
From: John Goerzen <jgoerzen@complete•org>
To: nncp-devel@lists.cypherpunks.ru
Subject: A few other features?
Date: Sat, 31 Jul 2021 21:04:46 -0500 [thread overview]
Message-ID: <87fsvtyl6p.fsf@complete.org> (raw)
Hi,
These are brainstorms that are somewhat forward-looking....
In thinking about NNCP -- I also happen to have purchased some old
books on UUCP and am researching the old UUCPNet -- it occurs to
me that there are three areas where there may be useful
improvements.
One is error handling. Right now, if a packet arrives at a node
and toss can't deal with it, it basically retries forever. I
exploit this behavior heavily with my nncp-exec processing;
sometimes I need to process packets in order, and of course there
is no guarantee for ordering in nncp-exec. However, I can check
if I'm ready for a certain sequence number or whatnot, and just
exit nonzero if not, and it'll try again when hopefully the
prerequisite has been processed. Very nice.
However, sometimes it's not quite as nice; maybe a file is sent to
a host that's configured to disallow from the sender, or a command
is run that's not defined, etc. uux had the -z option, which
indicates what should happen on error. One could request no
notifications ever, notifications on processing with any kind of
result, or notifications only for errors. These notifications
would be emailed back (and the address to send them to could be
specified). I'm not entirely sure what the right idea here is,
but maybe there is some way to keep the currect behavior (which is
quite useful) as a default and offer an alternative to just fail
(perhaps with a notification) if selected by the user (or forced
in nncp.hjson on the recipient side).
Secondly, reouting. What if we supported, say, "partial source
routing?"
Say we have a network like this:
A - B - C - D
A wants to send something to D.
Of course, it could say -via B,C
But what if B's nncp.hjson defines D as "via C". Could A just say
-via B? B could unwrap the packet, see that it got a destination
for D, look that up, see it's got to go via C, re-wrap it in an
onion for C and queue it up for C.
I'm not entirely sure yet if this is actually useful but my gut
tells me it may be if we scale up.
Finally, the commands for nncp-exec in nncp.hjson. I think it
would be really useful to be able to say "do not pass parameters
to this program" (or maybe pass them as an environment variable
instead of on the command line or something). I'm using wrapper
scripts for this purpose right now but just blocking them entirely
could be nice for security.
Thanks again for all you do, Sergey!
- John
next reply other threads:[~2021-08-01 2:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-01 2:04 John Goerzen [this message]
2021-08-03 10:57 ` A few other features? Sergey Matveev
2021-08-03 20:22 ` John Goerzen
2021-08-04 8:19 ` Sergey Matveev