Subject: Re: Air Gap & News

From: John Goerzen <[email-masked]>
Date: Sat, 26 Dec 2020 23:03:41 -0600

On Sat, Dec 26 2020, Sergey Matveev wrote:

>>I've got several more planned, covering using NNCP for Exim, 
>>using NNCP to
>>handle both ZFS and non-ZFS backups, etc.
>
> Thank you for your post! Beeing the "ZFS-fan" too, I am waiting 
> for your
> shared experience.

I hope to have that posted in a few days!  Things are busy here 
due to Christmas but having a more secure backup setup is 
definitely high on my list!

[ snip ]

>>As a general matter, I am aware of only one feature that UUCP 
>>has which NNCP
>>lacks: the ability to run across unreliable links (protocol g 
>>and friends,
>>and PSTN).  As someone that has worked to develop a clone of 
>>certain UUCP
>>protocols for low-bandwidth radio links, I totally get why!
>
> Actually I have even started to write it, to run at least over 
> COM-port.
> But it is not so trivial. Well, actually creating something like 
> XMODEM
> of course is very simple, but one wish to use something like 
> ZMODEM with
> scaling windows. I did not find the way to easily call and 
> interact with
> lrzsz utilities for NNCP needs. And writing own complete 
> implementation
> of "TCP"/ZMODEM/similar is challenging (to make it efficient). 
> So
> currently I paused that work.

Yes, I know this feeling.  I have been working on software for 
running over long-distance, low-power, low-bandwidth wireless 
links (think 10-30 miles / 15-50 km with <1W).  I wrote 
https://github.com/jgoerzen/lorapipe for LoRA and 
https://github.com/jgoerzen/xbnet for XBee.  I started work on a 
"reliable" layer to sit atop those, based on Taylor UUCP protocol 
i.  I eventually abandoned it back in July, on the grounds that:

- I don't have enough time to do this

- I can just run PPP with VJ header compression across this thing 
  and it's maybe less efficient but good enough.

I was surprised that I couldn't find any general-purpose library 
or tool for doing this.  ZModem & friends aren't general-purpose 
enough for what I want (and probably not for what you want 
either).

... and just now as I was writing that, I thought that I've never 
searched for "reliable framing protocol serial" and found 
https://github.com/BaroboRobotics/libsfp which I need to look into 
more.

- John