public inbox for nncp-devel@lists.cypherpunks.ru
Atom feed
* [EN] NNCP 8.0.0 release announcement
@ 2021-11-08 11:41 Sergey Matveev
  2021-11-08 22:55 ` John Goerzen
  0 siblings, 1 reply; 3+ messages in thread
From: Sergey Matveev @ 2021-11-08 11:41 UTC (permalink / raw)
  To: nncp-devel


[-- Attachment #1.1: Type: text/plain, Size: 2878 bytes --]

I am pleased to announce NNCP 8.0.0 release availability!

NNCP (Node to Node copy) is a collection of utilities simplifying
secure store-and-forward files and mail exchanging.

This utilities are intended to help build up small size (dozens of
nodes) ad-hoc friend-to-friend (F2F) statically routed darknet
delay-tolerant networks for fire-and-forget secure reliable files, file
requests, Internet mail and commands transmission. All packets are
integrity checked, end-to-end encrypted (E2EE), explicitly authenticated
by known participants public keys. Onion encryption is applied to
relayed packets. Each node acts both as a client and server, can use
push and poll behaviour model. Also there is multicasting areas support.

Out-of-box offline sneakernet/floppynet, dead drops, sequential and
append-only CD-ROM/tape storages, air-gapped computers support. But
online TCP daemon with full-duplex resumable data transmission exists.

------------------------ >8 ------------------------

The main improvements for that release are:

* *Incompatible* encrypted packet format change: payload and pad
  sizes are sent in-bound in the encrypted stream.  That gives
  ability to streamingly create encrypted packets, without knowing
  sizes in advance, without creating temporary file or buffer data in
  memory.
* Proper encrypted packet padding verification is done now.  This is
  not critical issue, but previously neither padding value, nor its
  size were authenticated, giving ability to iteratively strip
  trailing bytes and determine payload’s size by observing the
  reaction of the encrypted packet processing.
* "nncp-exec" loses its "-use-tmp" option, because of
  streaming-compatible encrypted packets format.
* "nncp-file" and "nncp-exec" commands have "-maxsize" option,
  limiting maximal resulting encrypted packet’s maximal size
  (returning error if it is exceeded).  Could be useful, because no
  payload size could be known in advance.

------------------------ >8 ------------------------

NNCP's home page is: http://www.nncpgo.org/

Source code and its signature for that version can be found here:

    http://www.nncpgo.org/download/nncp-8.0.0.tar.xz (1203 KiB)
    http://www.nncpgo.org/download/nncp-8.0.0.tar.xz.sig

SHA256 hash: 376BE15D 956AE171 2D04B607 15D53B17 62CDFA72 86AA9957 2D8E4641 4DA987F0
GPG key ID: 0x2B25868E75A1A953 NNCP releases <releases@nncpgo•org>
Fingerprint: 92C2 F0AE FE73 208E 46BF  F3DE 2B25 868E 75A1 A953

There are mirrors where you can also get the source code tarballs:
http://www.nncpgo.org/Mirrors.html

Please send questions regarding the use of NNCP, bug reports and patches
to mailing list: http://lists.cypherpunks.ru/nncp_002ddevel.html

-- 
Sergey Matveev (http://www.stargrave.org/)
OpenPGP: CF60 E89A 5923 1E76 E263  6422 AE1A 8109 E498 57EF

[-- Attachment #1.2: nncp-8.0.0.tar.xz.meta4 --]
[-- Type: application/metalink4+xml, Size: 1270 bytes --]

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [EN] NNCP 8.0.0 release announcement
  2021-11-08 11:41 [EN] NNCP 8.0.0 release announcement Sergey Matveev
@ 2021-11-08 22:55 ` John Goerzen
  2021-11-09 10:56   ` Sergey Matveev
  0 siblings, 1 reply; 3+ messages in thread
From: John Goerzen @ 2021-11-08 22:55 UTC (permalink / raw)
  To: Sergey Matveev; +Cc: nncp-devel

Hi Sergey,

Thank you very much for this work!

I have an odd report.  I'm not using chunked transfers anywhere, 
but now nncp-toss is creating nncp-file files with ".nncp.chunk0" 
appended to the end, and also a ".nncp.meta" file alongside it.

nncp-reass doesn't know what to do with this, but if I delete the 
.nncp.meta files and rename the .nncp.chunk0 files, the data seems 
to process fine.  (nncp-reass complains "chunk 0: invalid size").

It seems that there's something wonky going on with chunked vs 
not-chunked.

Thanks!

- John

On Mon, Nov 08 2021, Sergey Matveev wrote:

> I am pleased to announce NNCP 8.0.0 release availability!
>
> NNCP (Node to Node copy) is a collection of utilities 
> simplifying
> secure store-and-forward files and mail exchanging.
>
> This utilities are intended to help build up small size (dozens 
> of
> nodes) ad-hoc friend-to-friend (F2F) statically routed darknet
> delay-tolerant networks for fire-and-forget secure reliable 
> files, file
> requests, Internet mail and commands transmission. All packets 
> are
> integrity checked, end-to-end encrypted (E2EE), explicitly 
> authenticated
> by known participants public keys. Onion encryption is applied 
> to
> relayed packets. Each node acts both as a client and server, can 
> use
> push and poll behaviour model. Also there is multicasting areas 
> support.
>
> Out-of-box offline sneakernet/floppynet, dead drops, sequential 
> and
> append-only CD-ROM/tape storages, air-gapped computers support. 
> But
> online TCP daemon with full-duplex resumable data transmission 
> exists.
>
> ------------------------ >8 ------------------------
>
> The main improvements for that release are:
>
> * *Incompatible* encrypted packet format change: payload and pad
>   sizes are sent in-bound in the encrypted stream.  That gives
>   ability to streamingly create encrypted packets, without 
>   knowing
>   sizes in advance, without creating temporary file or buffer 
>   data in
>   memory.
> * Proper encrypted packet padding verification is done now. 
> This is
>   not critical issue, but previously neither padding value, nor 
>   its
>   size were authenticated, giving ability to iteratively strip
>   trailing bytes and determine payload’s size by observing the
>   reaction of the encrypted packet processing.
> * "nncp-exec" loses its "-use-tmp" option, because of
>   streaming-compatible encrypted packets format.
> * "nncp-file" and "nncp-exec" commands have "-maxsize" option,
>   limiting maximal resulting encrypted packet’s maximal size
>   (returning error if it is exceeded).  Could be useful, because 
>   no
>   payload size could be known in advance.
>
> ------------------------ >8 ------------------------
>
> NNCP's home page is: http://www.nncpgo.org/
>
> Source code and its signature for that version can be found 
> here:
>
>     http://www.nncpgo.org/download/nncp-8.0.0.tar.xz (1203 KiB)
>     http://www.nncpgo.org/download/nncp-8.0.0.tar.xz.sig
>
> SHA256 hash: 376BE15D 956AE171 2D04B607 15D53B17 62CDFA72 
> 86AA9957 2D8E4641 4DA987F0
> GPG key ID: 0x2B25868E75A1A953 NNCP releases 
> <releases@nncpgo•org>
> Fingerprint: 92C2 F0AE FE73 208E 46BF  F3DE 2B25 868E 75A1 A953
>
> There are mirrors where you can also get the source code 
> tarballs:
> http://www.nncpgo.org/Mirrors.html
>
> Please send questions regarding the use of NNCP, bug reports and 
> patches
> to mailing list: http://lists.cypherpunks.ru/nncp_002ddevel.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [EN] NNCP 8.0.0 release announcement
  2021-11-08 22:55 ` John Goerzen
@ 2021-11-09 10:56   ` Sergey Matveev
  0 siblings, 0 replies; 3+ messages in thread
From: Sergey Matveev @ 2021-11-09 10:56 UTC (permalink / raw)
  To: nncp-devel

[-- Attachment #1: Type: text/plain, Size: 1576 bytes --]

Greetings!

*** John Goerzen [2021-11-08 16:55]:
>I have an odd report.  I'm not using chunked transfers anywhere, but now
>nncp-toss is creating nncp-file files with ".nncp.chunk0" appended to the
>end, and also a ".nncp.meta" file alongside it.

Damned! I explicitly checked everything (as I thought) related to
chunked transfer (I use it much), but missed that basic use-case :-)
Fixed in 8.0.1 release.

Because we do not know payload's size in advance, we have to determine
do we need to turn chunked transfer mode on before we started any
encrypted packet creation (because they contain file's path at the
beginning and we have to know is it only a chunk). So if -chunked (or
freq.chunked) is greater than zero and we do not know size in advance
(using "nncp-file - < foo" instead of "nncp-file foo"), then chunked
mode is turned on. If size is known and less than chunk size, then no
chunked transfer. By default nncp-file has "-chunked -1", meaning "take
freq.chunked as a default value". But by default that chunk size equals
to MaxFileSize=1<<62, meaning that it is greater than zero and chunked
transfer mode turns on.

>(nncp-reass complains "chunk 0: invalid size").

Another bugs, thank you very much for reporting! I checked its
workability without intermediate nodes (no -via) only. It used size of
the "outer" full payload size, but must use only the "internal" payload
size, content's itself. Fixed in 8.0.1 release.

-- 
Sergey Matveev (http://www.stargrave.org/)
OpenPGP: CF60 E89A 5923 1E76 E263  6422 AE1A 8109 E498 57EF

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-11-09 10:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-08 11:41 [EN] NNCP 8.0.0 release announcement Sergey Matveev
2021-11-08 22:55 ` John Goerzen
2021-11-09 10:56   ` Sergey Matveev