]> Cypherpunks.ru repositories - govpn.git/blob - doc/news.texi
[DOC] Document -syslog option
[govpn.git] / doc / news.texi
1 @node News
2 @unnumbered News
3
4 See also this page @ref{Новости, on russian}.
5
6 @node Release 5.8
7 @section Release 5.8
8 @itemize
9 @item Optional ability to use syslog for logging, with
10 @url{https://tools.ietf.org/html/rfc5424, RFC 5424}-like
11 structured records.
12 @end itemize
13
14 @node Release 5.7
15 @section Release 5.7
16 @itemize
17 @item TAP interface name and remote peer's address are passed to up- and
18 down- scripts through environment variables.
19 @item Update Argon2 library to use version 1.3 of the algorithm.
20 @end itemize
21
22 @node Release 5.6
23 @section Release 5.6
24 @itemize
25 @item Added up/down example script for replacing default route (thanks
26 to Zhuoyun Wei).
27 @item Fixed documentation bug: @file{.info} was not installing.
28 @end itemize
29
30 @node Release 5.5
31 @section Release 5.5
32 @itemize
33 @item Ability to work on 32-bit platforms. @emph{sync/atomic} library
34 has some specific issues that caused panics on previous versions.
35 @end itemize
36
37 @node Release 5.4
38 @section Release 5.4
39 @itemize
40 @item Added optional @ref{Timesync, time synchronization} requirement.
41 It will add timestamps in handshake PRP authentication, disallowing to
42 repeat captured packet and get reply from the server, making it visible
43 to DPI.
44 @end itemize
45
46 @node Release 5.3
47 @section Release 5.3
48 @itemize
49 @item Fixed minor bug with @command{newclient.sh} that caught
50 "Passphrase:" prompt and inserted it into example YAML output.
51 Just replaced stdout output to stderr for that prompt.
52 @end itemize
53
54 @node Release 5.2
55 @section Release 5.2
56 @itemize
57 @item Ability to read passphrases directly from the terminal (user's
58 input) without using of keyfiles. @command{storekey.sh} utility removed.
59 @end itemize
60
61 @node Release 5.1
62 @section Release 5.1
63 @itemize
64 @item Server is configured using @url{http://yaml.org/, YAML} file. It
65 is very convenient to have comments and templates, comparing to JSON.
66 @item Incompatible with previous versions replacement of @emph{HSalsa20}
67 with @emph{BLAKE2b} in handshake code.
68 @end itemize
69
70 @node Release 5.0
71 @section Release 5.0
72 @itemize
73 @item New optional @ref{Encless, encryptionless mode} of operation.
74 Technically no encryption functions are applied for outgoing packets, so
75 you can not be forced to reveal your encryption keys or sued for
76 encryption usage.
77 @item @ref{MTU}s are configured on per-user basis.
78 @item Simplified payload padding scheme, saving one byte of data.
79 @item Ability to specify TAP interface name explicitly without any
80 up-scripts for convenience.
81 @item @command{govpn-verifier} utility also can use @ref{EGD}.
82 @end itemize
83
84 @node Release 4.2
85 @section Release 4.2
86 @itemize
87 @item Fixed non-critical bug when server may fail if up-script is not
88 executed successfully.
89 @end itemize
90
91 @node Release 4.1
92 @section Release 4.1
93 @itemize
94 @item @url{https://password-hashing.net/#argon2, Argon2d} is used instead
95 of PBKDF2 for password verifier hashing.
96 @item Client's identity is stored inside the verifier, so it simplifies
97 server-side configuration and the code.
98 @end itemize
99
100 @node Release 4.0
101 @section Release 4.0
102 @itemize
103 @item Handshake messages can be noised: their messages lengths are
104 hidden. Now they are indistinguishable from transport messages.
105 @item Parallelized clients processing on the server side.
106 @item Much higher overall performance.
107 @item Single JSON file server configuration.
108 @end itemize
109
110 @node Release 3.5
111 @section Release 3.5
112 @itemize
113 @item Ability to use @ref{Network, TCP} network transport.
114 Server can listen on both UDP and TCP sockets.
115 @item Ability to use @ref{Proxy, HTTP proxies} (through CONNECT method)
116 for accessing the server. Server can also emulate HTTP proxy behaviour.
117 @item Updated Poly1305 library with ARM-related bugfixes.
118 @item Go 1.5+ version is highly recommended because of performance
119 reasons.
120 @end itemize
121
122 @node Release 3.4
123 @section Release 3.4
124 @itemize
125 @item Ability to use external @ref{EGD}-compatible PRNGs. Now you are
126 able to use GoVPN even on systems with the bad @file{/dev/random},
127 providing higher quality entropy from external sources.
128 @item Removed @option{-noncediff} option. It is replaced with in-memory
129 storage of seen nonces, thus eliminating possible replay attacks at all
130 without performance degradation related to inbound packets reordering.
131 @end itemize
132
133 @node Release 3.3
134 @section Release 3.3
135 @itemize
136 @item Compatibility with an old GNU Make 3.x. Previously only BSD Make
137 and GNU Make 4.x were supported.
138 @item @file{/dev/urandom} is used for correct client identity generation
139 under GNU/Linux systems. Previously @file{/dev/random} can produce less
140 than required 128-bits of random.
141 @end itemize
142
143 @node Release 3.2
144 @section Release 3.2
145 @itemize
146 @item Deterministic building: dependent libraries source code commits
147 are fixed in our makefiles.
148 @item No Internet connection is needed for building the source code: all
149 required libraries are included in release tarballs.
150 @item FreeBSD Make compatibility. GNU Make is not necessary anymore.
151 @end itemize
152
153 @node Release 3.1
154 @section Release 3.1
155 @itemize
156 @item
157 Diffie-Hellman public keys are encoded with Elligator algorithm when
158 sending over the wire, making them indistinguishable from the random
159 strings, preventing detection of successful decryption try when guessing
160 passwords (that are used to create DSA public keys). But this will
161 consume twice entropy for DH key generation in average.
162 @end itemize
163
164 @node Release 3.0
165 @section Release 3.0
166 @itemize
167 @item
168 EKE protocol is replaced by Augmented-EKE and static symmetric (both
169 sides have it) pre-shared key replaced with server-side verifier. This
170 requires, 64 more bytes in handshake traffic, Ed25519 dependency with
171 corresponding sign/verify computations, PBKDF2 dependency and its
172 usage on the client side during handshake.
173
174 A-EKE with PBKDF2-based verifiers is resistant to dictionary attacks,
175 can use human memorable passphrases instead of static keys and
176 server-side verifiers can not be used for authentication (compromised
177 server does not leak client's authentication keys/passphrases).
178
179 @item
180 Changed transport message structure: added payload packet's length.
181 This will increase transport overhead for two bytes, but heartbeat
182 packets became smaller
183
184 @item
185 Ability to hide underlying packets lengths by appending noise, junk
186 data during transmission. Each packet can be fill up-ed to its
187 maximal MTU size.
188
189 @item
190 Ability to hide underlying packets appearance rate, by generating
191 Constant Packet Rate traffic. This includes noise generation too.
192 @item
193 Per-peer @option{-timeout}, @option{-noncediff}, @option{-noise} and
194 @option{-cpr} configuration options for server.
195 @end itemize
196
197 @node Release 2.4
198 @section Release 2.4
199 @itemize
200 @item Added ability to optionally run built-in HTTP-server responding
201 with JSON of all known connected peers information. Real-time client's
202 statistics.
203 @item Documentation is explicitly licenced under GNU FDL 1.3+.
204 @end itemize
205
206 @node Release 2.3
207 @section Release 2.3
208 @itemize
209 @item Handshake packets became indistinguishable from the random. Now
210 all GoVPN's traffic is the noise for men in the middle.
211
212 @item Handshake messages are smaller (16% traffic reduce).
213
214 @item Adversary now can not create malicious fake handshake packets that
215 will force server to generate private DH key, preventing entropy
216 consuming and resource heavy computations.
217 @end itemize
218
219 @node Release 2.2
220 @section Release 2.2
221 @itemize
222 @item Fixed several possible channel deadlocks.
223 @end itemize
224
225 @node Release 2.1
226 @section Release 2.1
227 @itemize
228 @item Fixed Linux-related building.
229 @end itemize
230
231 @node Release 2.0
232 @section Release 2.0
233 @itemize
234 @item Added clients identification.
235 @item Simultaneous several clients support by server.
236 @item Per-client up/down scripts.
237 @end itemize
238
239 @node Release 1.5
240 @section Release 1.5
241 @itemize
242 @item Nonce obfuscation/encryption.
243 @end itemize
244
245 @node Release 1.4
246 @section Release 1.4
247 @itemize
248 @item Performance optimizations.
249 @end itemize
250
251 @node Release 1.3
252 @section Release 1.3
253 @itemize
254 @item Heartbeat feature.
255 @item Rehandshake feature.
256 @item up- and down- optional scripts.
257 @end itemize
258
259 @node Release 1.1
260 @section Release 1.1
261 @itemize
262 @item FreeBSD support.
263 @end itemize
264
265 @node Release 1.0
266 @section Release 1.0
267 @itemize
268 @item Initial stable release.
269 @end itemize