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