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