]> Cypherpunks.ru repositories - nncp.git/blob - doc/news.texi
AEAD encryption mode and new encrypted packet format
[nncp.git] / doc / news.texi
1 @node News
2 @unnumbered News
3
4 See also this page @ref{Новости, on russian}.
5
6 @node Release 4.0
7 @section Release 4.0
8 @itemize
9 @item
10 @strong{Incompatible} encrypted and eblob packet format change: AEAD
11 encryption mode with 128 KiB blocks is used now, because previously
12 @command{nncp-toss} did not verify encrypted packet's MAC before feeding
13 decrypted data to external command. Older versions are not supported.
14 @item
15 Dependant libraries are updated.
16 @item
17 Minor bugfixes.
18 @end itemize
19
20 @node Release 3.4
21 @section Release 3.4
22 @itemize
23 @item
24 @command{nncp-daemon} can be run as @command{inetd}-service.
25 @end itemize
26
27 @node Release 3.3
28 @section Release 3.3
29 @itemize
30 @item
31 @command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller} check
32 if @file{.seen} exists and treat it like file was already downloaded.
33 Possibly it was transferred out-of-bound and remote side needs to be
34 notifier about that.
35 @item
36 If higher priority packet is spooled, then @command{nncp-daemon} will
37 queue its sending first, interrupting lower priority transmissions.
38 @item
39 Simple packet rate limiter added to online-related tools
40 (@command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller}).
41 @item
42 Ability to specify niceness with symbolic notation:
43 @verb{|NORMAL|}, @verb{|BULK+10|}, @verb{|PRIORITY-5|}, etc.
44 @item
45 Changed default niceness levels:
46 for @command{nncp-exec} from 64 to 96,
47 for @command{nncp-freq} from 64 to 160,
48 for @command{nncp-file} from 196 to 224.
49 @end itemize
50
51 @node Release 3.2
52 @section Release 3.2
53 @itemize
54 @item
55 @strong{Incompatible} @emph{bundle} archive format changes and
56 @command{nncp-bundle} workability with Go 1.10+. Bundles must be
57 valid tar archives, but Go 1.9 made them invalid because of long paths
58 inside. NNCP accidentally was dependant on that bug. Explicit adding of
59 @file{NNCP/} directory in archive restores workability with valid tar
60 archives.
61 @end itemize
62
63 @node Release 3.1
64 @section Release 3.1
65 @itemize
66 @item
67 Ability to disable relaying at all using @verb{|-via -|} command line option.
68 @end itemize
69
70 @node Release 3.0
71 @section Release 3.0
72 @itemize
73 @item
74 @strong{Incompatible} plain packet format changes. Older versions are
75 not supported.
76 @item
77 Ability to queue remote command execution, by configuring @option{exec}
78 option in configuration file and using @command{nncp-exec} command:
79     @itemize
80     @item
81     @command{nncp-mail} command is replaced with more flexible
82     @command{nncp-exec}. Instead of @verb{|nncp-mail NODE RECIPIENT|}
83     you must use @verb{|nncp-exec NODE sendmail RECIPIENT|}.
84     @item
85     @option{sendmail} configuration file option is replaced with
86     @option{exec}. @verb{|sendmail: [...]|} must be replaced with
87     @verb{|exec: sendmail: [...]|}.
88     @end itemize
89 @item
90 Ability to override @option{via} configuration option for destination
91 node via @option{-via} command line option for following commands:
92 @command{nncp-file}, @command{nncp-freq}, @command{nncp-exec}.
93 @item
94 Chunked files, having size less than specified chunk size, will be sent
95 as an ordinary single file.
96 @item
97 Exec commands are invoked with additional @env{NNCP_NICE} and
98 @env{NNCP_SELF} environment variables.
99 @item
100 Files, that are sent as a reply to freq, have niceness level taken from
101 the freq packet. You can set desired niceness during @command{nncp-freq}
102 invocation using @option{-replynice} option.
103 @item
104 @command{nncp-toss} command can ignore specified packet types during
105 processing: @option{-nofile}, @option{-nofreq}, @option{-noexec},
106 @option{-notrns}.
107 @item
108 @command{nncp-file} command uses
109 @option{FreqMinSize}/@option{FreqChunked} configuration file options
110 for @option{-minsize}/@option{-chunked} by default. You can turn this
111 off by specifying zero value.
112 @end itemize
113
114 @node Release 2.0
115 @section Release 2.0
116 @itemize
117 @item
118 @strong{Incompatible} encrypted/eblob packet format changes. Older
119 versions are not supported.
120 @item
121 Twofish encryption algorithm is replaced with ChaCha20. It is much more
122 faster. One cryptographic primitive less.
123 @item
124 HKDF-BLAKE2b-256 KDF algorithm is replaced with BLAKE2Xb XOF. Yet
125 another cryptographic primitive less (assuming that BLAKE2X is nearly
126 identical to BLAKE2).
127 @end itemize
128
129 @node Release 1.0
130 @section Release 1.0
131 @itemize
132 @item
133 @strong{Incompatible} encrypted packet format changes. Older versions
134 are not supported.
135 @item
136 @command{nncp-bundle} command can either create stream of encrypted
137 packets, or digest it. It is useful when dealing with stdin/stdout based
138 transmission methods (like writing to CD-ROM without intermediate
139 prepared ISO image and working with tape drives).
140 @item
141 @command{nncp-toss} is able to create @file{.seen} files preventing
142 duplicate packets receiving.
143 @item
144 Single background checksum verifier worker is allowed in
145 @command{nncp-call}. This is helpful when thousands of small inbound
146 packets could create many goroutines.
147 @item
148 Ability to override path to spool directory and logfile through either
149 command line argument, or environment variable.
150 @item
151 @command{nncp-rm} is able to delete outbound/inbound, @file{.seen},
152 @file{.part}, @file{.lock} and temporary files.
153 @end itemize
154
155 @node Release 0.12
156 @section Release 0.12
157 @itemize
158 @item
159 Sendmail command is called with @env{NNCP_SENDER} environment variable.
160 @end itemize
161
162 @node Release 0.11
163 @section Release 0.11
164 @itemize
165 @item
166 @command{nncp-stat}'s command output is sorted by node name.
167 @end itemize
168
169 @node Release 0.10
170 @section Release 0.10
171 @itemize
172 @item
173 @command{nncp-freq}'s @file{DST} argument is optional now. Last
174 @file{SRC} path's element will be used by default.
175 @end itemize
176
177 @node Release 0.9
178 @section Release 0.9
179 @itemize
180 @item
181 Fix @option{-rx}/@option{-tx} arguments processing in
182 @command{nncp-call} command. They were ignored.
183 @end itemize
184
185 @node Release 0.8
186 @section Release 0.8
187 @itemize
188 @item
189 Little bugfix in @command{nncp-file} command, where @option{-minsize}
190 option for unchunked transfer was not in KiBs, but in bytes.
191 @end itemize
192
193 @node Release 0.7
194 @section Release 0.7
195 @itemize
196 @item
197 Ability to feed @command{nncp-file} from stdin, that uses an encrypted
198 temporary file for that.
199
200 @item
201 Chunked files transmission appeared with corresponding
202 @command{nncp-reass} command and @option{freqchunked} configuration file
203 entry. Useful for transferring big files over small storage devices.
204
205 @item
206 @option{freqminsize} configuration file option, analogue to
207 @option{-minsize} one.
208
209 @item
210 @command{nncp-xfer}'s @option{-force} option is renamed to
211 @option{-mkdir} for clarity.
212
213 @item
214 @option{-minsize} option is specified in KiBs, not bytes, for
215 convenience.
216
217 @item
218 @command{nncp-newcfg} command is renamed to @command{nncp-cfgnew},
219 and @command{nncp-mincfg} to @command{nncp-cfgmin} -- now they have
220 common prefix and are grouped together for convenience.
221
222 @item
223 @command{nncp-cfgenc} command appeared, allowing configuration file
224 encryption/decryption, for keeping it safe without any either OpenPGP or
225 similar tools usage.
226
227 @item
228 Cryptographic libraries (dependencies) are updated.
229 @end itemize
230
231 @node Release 0.6
232 @section Release 0.6
233 @itemize
234 @item Small @command{nncp-rm} command appeared.
235 @item Cryptographic libraries (dependencies) are updated.
236 @end itemize
237
238 @node Release 0.5
239 @section Release 0.5
240 @itemize
241 @item Trivial small fix in default niceness level of @command{nncp-file}
242 and @command{nncp-freq} commands.
243 @end itemize
244
245 @node Release 0.4
246 @section Release 0.4
247 @itemize
248 @item Small fix in @command{nncp-call}, @command{nncp-caller},
249 @command{nncp-daemon}: they can segmentation fail sometimes (no data is
250 lost).
251 @item @command{nncp-newnode} renamed to @command{nncp-newcfg} -- it is
252 shorter and more convenient to use.
253 @item @command{nncp-mincfg} command appeared: helper allowing to create
254 minimalistic stripped down configuration file without private keys,
255 that is useful during @command{nncp-xfer} usage.
256 @end itemize
257
258 @node Release 0.3
259 @section Release 0.3
260 Fixed compatibility with Go 1.6.
261
262 @node Release 0.2
263 @section Release 0.2
264 @itemize
265 @item @strong{Incompatible} packet's format change (magic number is
266 changed too): size field is encrypted and is not send in plaintext
267 anymore.
268 @item @option{-minsize} option gives ability to automatically pad
269 outgoing packets to specified minimal size.
270 @item @command{nncp-daemon} and
271 @command{nncp-call}/@command{nncp-caller} always check new @emph{tx}
272 packets appearance in the background while connected. Remote side is
273 immediately notified.
274 @item @option{-onlinedeadline} option gives ability to configure timeout
275 of inactivity of online connection, when it could be disconnected. It
276 could be used to keep connection alive for a long time.
277 @item @option{-maxonlinetime} option gives ability to set maximal
278 allowable online connection aliveness time.
279 @item @command{nncp-caller} command appeared: cron-ed TCP daemon caller.
280 @item @command{nncp-pkt} command can decompress the data.
281 @end itemize