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