]> Cypherpunks.ru repositories - nncp.git/blob - doc/news.texi
freq.maxsize configuration file option
[nncp.git] / doc / news.texi
1 @node News
2 @unnumbered News
3
4 See also this page @ref{Новости, on russian}.
5
6 @node Release 5.1.0
7 @section Release 5.1.0
8 @itemize
9
10 @item
11 @command{nncp-file} can send directories, automatically creating pax
12 archive on the fly.
13
14 @item
15 Free disk space is checked during outbound packets creation.
16
17 @item
18 @option{freq}, @option{freqminsize}, @option{freqchunked} configuration
19 file options replaced with the structure:
20 @option{freq: @{path: ..., minsize: ..., chunked: ...@}}.
21
22 @item
23 Added @option{freq.maxsize} configuration file option, forbidding of
24 freq sending larger than specified size.
25
26 @end itemize
27
28 @node Release 5.0.0
29 @section Release 5.0.0
30 @itemize
31
32 @item
33 @strong{Incompatible} configuration file format change: YAML is
34 replaced with Hjson, due to its simplicity, without noticeable lack
35 of either functionality or convenience.
36
37 @item
38 @strong{Incompatible} plain packet format changes. Older versions are
39 not supported. @code{zlib} compression is replaced with
40 @code{Zstandard}, due to its speed and efficiency, despite library
41 version is not mature enough.
42
43 @item
44 Ability to call remote nodes via pipe call of external command, not only
45 through TCP.
46
47 @item
48 @command{nncp-cfgnew} generates configuration file with many
49 comments. @option{-nocomments} option can be used for an old
50 behaviour.
51
52 @item
53 Duplicate filenames have @file{.CTR} suffix, instead of @file{CTR}, to
54 avoid possible collisions with @file{.nncp.chunkCTR}.
55
56 @item
57 Ability to override process umask through configuration file option.
58
59 @item
60 Files and directories are created with 666/777 permissions by default,
61 allowing control with @command{umask}.
62
63 @item
64 Updated dependencies.
65
66 @item
67 Full usage of go modules for dependencies management
68 (@code{go.cypherpunks.ru/nncp/v5} namespace is used).
69
70 @item
71 Forbid any later GNU GPL version autousage
72 (project's licence now is GNU GPLv3-only).
73
74 @end itemize
75
76 @node Release 4.1
77 @section Release 4.1
78 @itemize
79 @item Workability on GNU/Linux systems and Go 1.10 is fixed.
80 @end itemize
81
82 @node Release 4.0
83 @section Release 4.0
84 @itemize
85
86 @item
87 @strong{Incompatible} encrypted and eblob packet format change: AEAD
88 encryption mode with 128 KiB blocks is used now, because previously
89 @command{nncp-toss} did not verify encrypted packet's MAC before feeding
90 decrypted data to external command. Older versions are not supported.
91
92 @item
93 Available free space checking before copying in @command{nncp-xfer},
94 @command{nncp-daemon}, @command{nncp-call(er)}.
95
96 @item
97 @command{nncp-call} has ability only to list packets on remote node,
98 without their transmission.
99
100 @item
101 @command{nncp-call} has ability to transfer only specified packets.
102
103 @item
104 Workability of @option{xxrate} preference in @option{calls}
105 configuration file section.
106
107 @item
108 Dependant libraries are updated.
109
110 @item
111 Minor bugfixes.
112
113 @item
114 Begin using of @code{go.mod} subsystem.
115
116 @end itemize
117
118 @node Release 3.4
119 @section Release 3.4
120 @itemize
121 @item @command{nncp-daemon} can be run as @command{inetd}-service.
122 @end itemize
123
124 @node Release 3.3
125 @section Release 3.3
126 @itemize
127
128 @item
129 @command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller} check
130 if @file{.seen} exists and treat it like file was already downloaded.
131 Possibly it was transferred out-of-bound and remote side needs to be
132 notifier about that.
133
134 @item
135 If higher priority packet is spooled, then @command{nncp-daemon} will
136 queue its sending first, interrupting lower priority transmissions.
137
138 @item
139 Simple packet rate limiter added to online-related tools
140 (@command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller}).
141
142 @item
143 Ability to specify niceness with symbolic notation:
144 @verb{|NORMAL|}, @verb{|BULK+10|}, @verb{|PRIORITY-5|}, etc.
145
146 @item
147 Changed default niceness levels:
148 for @command{nncp-exec} from 64 to 96,
149 for @command{nncp-freq} from 64 to 160,
150 for @command{nncp-file} from 196 to 224.
151
152 @end itemize
153
154 @node Release 3.2
155 @section Release 3.2
156 @itemize
157 @item
158 @strong{Incompatible} @emph{bundle} archive format changes and
159 @command{nncp-bundle} workability with Go 1.10+. Bundles must be
160 valid tar archives, but Go 1.9 made them invalid because of long paths
161 inside. NNCP accidentally was dependant on that bug. Explicit adding of
162 @file{NNCP/} directory in archive restores workability with valid tar
163 archives.
164 @end itemize
165
166 @node Release 3.1
167 @section Release 3.1
168 @itemize
169 @item
170 Ability to disable relaying at all using @verb{|-via -|} command line option.
171 @end itemize
172
173 @node Release 3.0
174 @section Release 3.0
175 @itemize
176
177 @item
178 @strong{Incompatible} plain packet format changes. Older versions are
179 not supported.
180
181 @item
182 Ability to queue remote command execution, by configuring @option{exec}
183 option in configuration file and using @command{nncp-exec} command:
184     @itemize
185     @item
186     @command{nncp-mail} command is replaced with more flexible
187     @command{nncp-exec}. Instead of @verb{|nncp-mail NODE RECIPIENT|}
188     you must use @verb{|nncp-exec NODE sendmail RECIPIENT|}.
189     @item
190     @option{sendmail} configuration file option is replaced with
191     @option{exec}. @verb{|sendmail: [...]|} must be replaced with
192     @verb{|exec: sendmail: [...]|}.
193     @end itemize
194
195 @item
196 Ability to override @option{via} configuration option for destination
197 node via @option{-via} command line option for following commands:
198 @command{nncp-file}, @command{nncp-freq}, @command{nncp-exec}.
199
200 @item
201 Chunked files, having size less than specified chunk size, will be sent
202 as an ordinary single file.
203
204 @item
205 Exec commands are invoked with additional @env{NNCP_NICE} and
206 @env{NNCP_SELF} environment variables.
207
208 @item
209 Files, that are sent as a reply to freq, have niceness level taken from
210 the freq packet. You can set desired niceness during @command{nncp-freq}
211 invocation using @option{-replynice} option.
212
213 @item
214 @command{nncp-toss} command can ignore specified packet types during
215 processing: @option{-nofile}, @option{-nofreq}, @option{-noexec},
216 @option{-notrns}.
217
218 @item
219 @command{nncp-file} command uses
220 @option{FreqMinSize}/@option{FreqChunked} configuration file options
221 for @option{-minsize}/@option{-chunked} by default. You can turn this
222 off by specifying zero value.
223
224 @end itemize
225
226 @node Release 2.0
227 @section Release 2.0
228 @itemize
229
230 @item
231 @strong{Incompatible} encrypted/eblob packet format changes. Older
232 versions are not supported.
233
234 @item
235 Twofish encryption algorithm is replaced with ChaCha20. It is much more
236 faster. One cryptographic primitive less.
237
238 @item
239 HKDF-BLAKE2b-256 KDF algorithm is replaced with BLAKE2Xb XOF. Yet
240 another cryptographic primitive less (assuming that BLAKE2X is nearly
241 identical to BLAKE2).
242
243 @end itemize
244
245 @node Release 1.0
246 @section Release 1.0
247 @itemize
248
249 @item
250 @strong{Incompatible} encrypted packet format changes. Older versions
251 are not supported.
252
253 @item
254 @command{nncp-bundle} command can either create stream of encrypted
255 packets, or digest it. It is useful when dealing with stdin/stdout based
256 transmission methods (like writing to CD-ROM without intermediate
257 prepared ISO image and working with tape drives).
258
259 @item
260 @command{nncp-toss} is able to create @file{.seen} files preventing
261 duplicate packets receiving.
262
263 @item
264 Single background checksum verifier worker is allowed in
265 @command{nncp-call}. This is helpful when thousands of small inbound
266 packets could create many goroutines.
267
268 @item
269 Ability to override path to spool directory and logfile through either
270 command line argument, or environment variable.
271
272 @item
273 @command{nncp-rm} is able to delete outbound/inbound, @file{.seen},
274 @file{.part}, @file{.lock} and temporary files.
275
276 @end itemize
277
278 @node Release 0.12
279 @section Release 0.12
280 @itemize
281 @item Sendmail command is called with @env{NNCP_SENDER} environment variable.
282 @end itemize
283
284 @node Release 0.11
285 @section Release 0.11
286 @itemize
287 @item @command{nncp-stat}'s command output is sorted by node name.
288 @end itemize
289
290 @node Release 0.10
291 @section Release 0.10
292 @itemize
293 @item
294 @command{nncp-freq}'s @file{DST} argument is optional now. Last
295 @file{SRC} path's element will be used by default.
296 @end itemize
297
298 @node Release 0.9
299 @section Release 0.9
300 @itemize
301 @item
302 Fix @option{-rx}/@option{-tx} arguments processing in
303 @command{nncp-call} command. They were ignored.
304 @end itemize
305
306 @node Release 0.8
307 @section Release 0.8
308 @itemize
309 @item
310 Little bugfix in @command{nncp-file} command, where @option{-minsize}
311 option for unchunked transfer was not in KiBs, but in bytes.
312 @end itemize
313
314 @node Release 0.7
315 @section Release 0.7
316 @itemize
317
318 @item
319 Ability to feed @command{nncp-file} from stdin, that uses an encrypted
320 temporary file for that.
321
322 @item
323 Chunked files transmission appeared with corresponding
324 @command{nncp-reass} command and @option{freqchunked} configuration file
325 entry. Useful for transferring big files over small storage devices.
326
327 @item
328 @option{freqminsize} configuration file option, analogue to
329 @option{-minsize} one.
330
331 @item
332 @command{nncp-xfer}'s @option{-force} option is renamed to
333 @option{-mkdir} for clarity.
334
335 @item
336 @option{-minsize} option is specified in KiBs, not bytes, for
337 convenience.
338
339 @item
340 @command{nncp-newcfg} command is renamed to @command{nncp-cfgnew},
341 and @command{nncp-mincfg} to @command{nncp-cfgmin} -- now they have
342 common prefix and are grouped together for convenience.
343
344 @item
345 @command{nncp-cfgenc} command appeared, allowing configuration file
346 encryption/decryption, for keeping it safe without any either OpenPGP or
347 similar tools usage.
348
349 @item
350 Cryptographic libraries (dependencies) are updated.
351
352 @end itemize
353
354 @node Release 0.6
355 @section Release 0.6
356 @itemize
357 @item Small @command{nncp-rm} command appeared.
358 @item Cryptographic libraries (dependencies) are updated.
359 @end itemize
360
361 @node Release 0.5
362 @section Release 0.5
363 @itemize
364 @item
365 Trivial small fix in default niceness level of @command{nncp-file}
366 and @command{nncp-freq} commands.
367 @end itemize
368
369 @node Release 0.4
370 @section Release 0.4
371 @itemize
372
373 @item
374 Small fix in @command{nncp-call}, @command{nncp-caller},
375 @command{nncp-daemon}: they can segmentation fail sometimes (no data is
376 lost).
377
378 @item
379 @command{nncp-newnode} renamed to @command{nncp-newcfg} -- it is shorter
380 and more convenient to use.
381
382 @item
383 @command{nncp-mincfg} command appeared: helper allowing to create
384 minimalistic stripped down configuration file without private keys, that
385 is useful during @command{nncp-xfer} usage.
386
387 @end itemize
388
389 @node Release 0.3
390 @section Release 0.3
391 @itemize
392 @item Fixed compatibility with Go 1.6.
393 @end itemize
394
395 @node Release 0.2
396 @section Release 0.2
397 @itemize
398
399 @item
400 @strong{Incompatible} packet's format change (magic number is changed
401 too): size field is encrypted and is not send in plaintext anymore.
402
403 @item
404 @option{-minsize} option gives ability to automatically pad outgoing
405 packets to specified minimal size.
406
407 @item
408 @command{nncp-daemon} and @command{nncp-call}/@command{nncp-caller}
409 always check new @emph{tx} packets appearance in the background while
410 connected. Remote side is immediately notified.
411
412 @item
413 @option{-onlinedeadline} option gives ability to configure timeout of
414 inactivity of online connection, when it could be disconnected. It could
415 be used to keep connection alive for a long time.
416
417 @item
418 @option{-maxonlinetime} option gives ability to set maximal allowable
419 online connection aliveness time.
420
421 @item
422 @command{nncp-caller} command appeared: cron-ed TCP daemon caller.
423
424 @item
425 @command{nncp-pkt} command can decompress the data.
426
427 @end itemize