8 @item Ability to use external @ref{EGD}-compatible PRNGs. Now you are
9 able to use GoVPN even on systems with the bad @code{/dev/random},
10 providing higher quality entropy from external sources.
11 @item Removed @code{-noncediff} option. It is replaced with in-memory
12 storage of seen nonces, thus eliminating possible replay attacks at all
13 without performance degradation related to inbound packets reordering.
18 @item Compatibility with an old GNU Make 3.x. Previously only BSD Make
19 and GNU Make 4.x were supported.
20 @item /dev/urandom is used for correct client identity generation under
21 GNU/Linux systems. Previously /dev/random can produce less than required
23 @item Updated user manual examples.
29 Deterministic building: dependent libraries source code commits are
30 fixed in our makefiles.
32 No Internet connection is needed for building the source code: all
33 required libraries are included in release tarballs.
35 FreeBSD Make compatibility. GNU Make is not necessary anymore.
41 Diffie-Hellman public keys are encoded with Elligator algorithm when
42 sending over the wire, making them indistinguishable from the random
43 strings, preventing detection of successful decryption try when guessing
44 passwords (that are used to create DSA public keys). But this will
45 consume twice entropy for DH key generation in average.
51 EKE protocol is replaced by Augmented-EKE and static symmetric (both
52 sides have it) pre-shared key replaced with server-side verifier. This
53 requires, 64 more bytes in handshake traffic, Ed25519 dependency with
54 corresponding sign/verify computations, PBKDF2 dependency and its
55 usage on the client side during handshake.
57 A-EKE with PBKDF2-based verifiers is resistant to dictionary attacks,
58 can use human memorable passphrases instead of static keys and
59 server-side verifiers can not be used for authentication (compromised
60 server does not leak client's authentication keys/passphrases).
63 Changed transport message structure: added payload packet's length.
64 This will increase transport overhead for two bytes, but heartbeat
65 packets became smaller
68 Ability to hide underlying packets lengths by appending noise, junk
69 data during transmission. Each packet can be fill up-ed to its
73 Ability to hide underlying packets appearance rate, by generating
74 Constant Packet Rate traffic. This includes noise generation too.
76 Per-peer @code{-timeout}, @code{-noncediff}, @code{-noise} and
77 @code{-cpr} configuration options for server.
83 Added ability to optionally run built-in HTTP-server responding with
84 JSON of all known connected peers information. Real-time client's
88 Documentation is explicitly licensed under GNU FDL 1.3+.
94 Handshake packets became indistinguishable from the random.
95 Now all GoVPN's traffic is the noise for men in the middle.
98 Handshake messages are smaller (16% traffic reduce).
101 Adversary now can not create malicious fake handshake packets that
102 will force server to generate private DH key, preventing entropy
103 consuming and resource heavy computations.
108 @item Fixed several possible channel deadlocks.
113 @item Fixed Linux-related building.
118 @item Added clients identification.
119 @item Simultaneous several clients support by server.
120 @item Per-client up/down scripts.
125 @item Nonce obfuscation/encryption.
130 @item Performance optimizations.
135 @item Heartbeat feature.
136 @item Rehandshake feature.
137 @item up- and down- optinal scripts.
142 @item FreeBSD support.
147 @item Initial stable release.