ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/gvpe/NEWS
(Generate patch)

Comparing gvpe/NEWS (file contents):
Revision 1.115 by root, Wed Jul 17 04:36:09 2013 UTC vs.
Revision 1.130 by root, Thu Jun 30 11:43:38 2016 UTC

3TODO: bridge mode, finally? 3TODO: bridge mode, finally?
4TODO: gcm mode? 4TODO: gcm mode?
5TODO: replace ripemd160 as the only authentication hash. 5TODO: replace ripemd160 as the only authentication hash.
6TODO: increase rsa size. 6TODO: increase rsa size.
7TODO: replace transport bits by transport endpoint structs? 7TODO: replace transport bits by transport endpoint structs?
8TODO: ecdh to avoid session replay attacks
9TODO: http://incog-izick.blogspot.de/2011/08/using-openssl-aes-gcm.html 8TODO: http://incog-izick.blogspot.de/2011/08/using-openssl-aes-gcm.html
10TODO: http://stackoverflow.com/questions/12153009/openssl-c-example-of-aes-gcm-using-evp-interfaces 9TODO: http://stackoverflow.com/questions/12153009/openssl-c-example-of-aes-gcm-using-evp-interfaces
11 10
12proposed: 3 types, req, resreq, res 11TODO: verify
13 12TODO: make sense of overhead calculation
14req (hmac1) rsa(seqno1 hmac1 aes1 seqno2 hmac2 aes2 auth) ecdh1 13TODO: if-up &c should not be scripts?
15res (hmac1) hash(rsa-contents) ecdh2 14TODO: ipv6
16 15TODO: gvpectrl should not use default privatekey,. or maybe document it better
17req hmac0(*) rsa(seqno hmac0 hmac aes auth) hkdf-salt ecdh1 16TODO: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828336
18res hmac0(rsa-contents ecdh2)
19 hmac_key = hkdf(hkdf-salt, hmac | ecdh)
20 aes_key = hkdf(hkdf-salt, aes | ecdh)
21
22TODO: very much larger intiial seed
23TODO: don't use RAND_pseudo_bytes :/
24 - INCOMPATIBLE CHANGE: core protocol version 1.0. 17 - INCOMPATIBLE CHANGE: core protocol version 1.0.
18 - INCOMPATIBLE CHANGE: node sections are now introduced
19 with "node nodename", not "node = nodename".
20 - add workaround for temporary/rare ENOBUFS condition.
25 - while individual packets couldn't be replayed, a whole session 21 - while individual packets couldn't be replayed, a whole session
26 could be replayed - this has been fixed by an extra key exchange. 22 could be replayed - this has been fixed by an extra key exchange.
23 - fix a delete vs. delete [] mismatch in the central logging function.
27 - in addition to rsa key exchange and authentication, the handshake now 24 - in addition to rsa key exchange and authentication, the handshake now
28 adds a diffie-hellman key exchange (using curve25119) for perfect 25 adds a diffie-hellman key exchange (using curve25119) for perfect
29 forward secrecy. mac and cipher keys are derived using HKDF. 26 forward secrecy. mac and cipher keys are derived using HKDF.
30 - rsa key sizes are now configurable and larger (default is 3072). 27 - rsa key sizes are now configurable and larger (default is 3072).
31 correspondingly, the minimum mtu is no longer 296 but 576. 28 correspondingly, the minimum mtu is no longer 296 but 576.
32 - fixed a potential (unverified) buffer overrun on rsa decryption. 29 - fixed a potential (unverified) buffer overrun on rsa decryption.
30 - new per-node low-power setting that tries to reduce cpu/network usage.
31 - router reconnects could cause excessive rekeying on other connections.
33 - gvpectrl no longer generates all missing public keys, but 32 - gvpectrl no longer generates all missing public keys, but
34 only missing private keys. private keys are also put 33 only missing private keys. private keys are also put
35 into the configured location. 34 into the configured location.
36 - the pid-file now accepts %s as nodename as elsewhere. 35 - the pid-file now accepts %s as nodename as elsewhere.
36 - switch to counter mode (only aes supported at the moment in
37 openssl). this gets rid of the need to generate a random iv,
38 is likely more secure (and, as a side effect, gets rid of
39 slow randomness generation. counter mode is often faster
40 then cbc mode as well, and packets are smaller).
37 - no longer use RAND_bytes to generate session keys - you NEED 41 - no longer use RAND_bytes to generate session keys - you NEED
38 a real source of entropy now (e.g. egd or /dev/random - see the 42 a real source of entropy now (e.g. egd or /dev/random - see the
39 openssl documentation). 43 openssl documentation).
40 44 - multiple node statements for the same node are now supported
45 and will be merged.
46 - a new directive "global" switches back to the global section
47 of the config file.
48 - if-up scripts can now be specified with absolute paths.
49 - new global option: serial, to detect configuration mismatches.
50 - use HKDF as authentication proof, not HMAC or a plain hash
51 (hint by Ilmari Karonen).
52 - during rekeying or conenction establishments, hmac authentication
53 errors could occur and reset the connection. Transient hmac
54 authentication errors are now being ignored for 3 seconds.
55 - log the reason for a conneciton loss.
56 - use a (hopefully) constant time memcmp to compare internal secrets.
57 - fix a (harmless) errornous out of bounds stack read that would trigger
58 gcc's -fsanitize=address.
59 - bump old packet window size from 512 to 65536.
60 - update for big changes in openssl 1.1 API, wrap primitives
61 to make further changes easier.
62 - correctly check return values for openssl 1.0.0 and later.
63
412.25 Sat Jul 13 06:42:33 CEST 2013 642.25 Sat Jul 13 06:42:33 CEST 2013
42 - INCOMPATIBLE CHANGE: no longer enable udp protocol if no other 65 - INCOMPATIBLE CHANGE: no longer enable udp protocol if no other
43 protocols are enabled - this is necessary when you have nodes with 66 protocols are enabled - this is necessary when you have nodes with
44 completely unknown protocols, to force mediated connection requests. 67 completely unknown protocols, to force mediated connection requests.
45 - INCOMPATIBLE CHANGE: dns transport protocol bumped to version 2. 68 - INCOMPATIBLE CHANGE: dns transport protocol bumped to version 2.
54 the protocol not being configured locally. 77 the protocol not being configured locally.
55 - new global configuration options: chroot, chuser, chuid, chgid, 78 - new global configuration options: chroot, chuser, chuid, chgid,
56 to chroot to a specified or anonymous new root, and change user id. 79 to chroot to a specified or anonymous new root, and change user id.
57 - new global configuration options seed_device and seed_interval, 80 - new global configuration options seed_device and seed_interval,
58 to configure another device than /dev/urandom for random seeds, 81 to configure another device than /dev/urandom for random seeds,
59 and to configure a regular imterval to reseed the rng. 82 and to configure a regular interval to reseed the rng.
60 - prefer inet_aton over gethostbyname, as the latter is not guaranteed 83 - prefer inet_aton over gethostbyname, as the latter is not guaranteed
61 to "resolve" literal ip addresses. 84 to "resolve" literal ip addresses.
62 - configure didn't detect openssl 1.0 because SHA1_version became private 85 - configure didn't detect openssl 1.0 because SHA1_version became private
63 (patch by TANIGUCHI Takaki). 86 (patch by TANIGUCHI Takaki).
64 - fix a bug where nodes would tell the other side that it supports 87 - fix a bug where nodes would tell the other side that it supports
69 - gvpectrl no longer evaluates any "on" directives. 92 - gvpectrl no longer evaluates any "on" directives.
70 - icmp and rawip protocols weren't upgradable to each other. 93 - icmp and rawip protocols weren't upgradable to each other.
71 - major, but incremental, dns transport improvements: 94 - major, but incremental, dns transport improvements:
72 - do not simply abort in some error cases in the dns transport, 95 - do not simply abort in some error cases in the dns transport,
73 but try to recover. 96 but try to recover.
74 - allow lowercase/uppercase alises for base-n encodings that do 97 - allow lowercase/uppercase aliases for base-n encodings that do
75 not rely on case. 98 not rely on case.
76 - use base26 instead of base22 encoding for dns syn's, and 99 - use base26 instead of base22 encoding for dns syn's, and
77 base36 instead of base22 for headers (saves one byte/packet). 100 base36 instead of base22 for headers (saves one byte/packet).
78 - back off far quicker in dns tunnel when idling - increases 101 - back off far quicker in dns tunnel when idling - increases
79 latency on an idle link somewhat, but avoids hundreds of 102 latency on an idle link somewhat, but avoids hundreds of

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines