Guus Sliepen
210b5ceeee
Read ECDSA keys.
2011-07-07 22:28:25 +02:00
Guus Sliepen
03582eb669
Implement ECDSA sign and verify operations.
...
Very basic at the moment, doesn't hash the input first,
and uses OpenSSL's DER encoded signature as output.
2011-07-07 22:27:17 +02:00
Guus Sliepen
86d83bd9bd
Bump minor protocol to indicate ECDH capability for UDP session keys.
2011-07-05 21:29:31 +02:00
Guus Sliepen
9708bbfa8e
Add a minor number to the protocol version.
2011-07-05 21:19:48 +02:00
Guus Sliepen
b99656d84a
Round up the size of the secret parts after splitting it in two.
2011-07-04 07:51:47 +02:00
Guus Sliepen
95e1cc36d3
Add ECDSA key import.
2011-07-03 23:44:43 +02:00
Guus Sliepen
1e2d9b0899
Finish base64 decoding routine.
2011-07-03 23:33:56 +02:00
Guus Sliepen
80b81c00b1
Have tincctl generate ECDSA keys.
...
The generate-keys command now generates both an RSA and an ECDSA keypair,
but one can generate-rsa-keys or generate-ecdsa-keys to just generate one type.
2011-07-03 22:25:29 +02:00
Guus Sliepen
8ace7f3e57
Add ECDSA key generation.
2011-07-03 22:15:00 +02:00
Guus Sliepen
1d92dd62a7
Base64 encoding and decoding functions.
2011-07-03 22:13:58 +02:00
Guus Sliepen
c385d11533
Cleanups in ECDH code.
2011-07-03 22:13:34 +02:00
Guus Sliepen
895f868714
No need to keep around pointers to EC_GROUP.
2011-07-03 21:21:37 +02:00
Guus Sliepen
ac163120d7
Proper use of PRF.
2011-07-03 16:30:49 +02:00
Guus Sliepen
82f00ea07b
Use PRF.
2011-07-03 15:59:49 +02:00
Guus Sliepen
feb3f22fff
Add PRF to derive key material from the ECDH shared secret.
...
It is modelled after the pseudorandom function from RFC4346 (TLS 1.1), the only
significant change is the use of SHA512 and Whirlpool instead of MD5 and SHA1.
2011-07-03 15:26:58 +02:00
Guus Sliepen
8dfa072733
Support ECDH key exchange.
...
REQ_KEY requests have an extra field indicating key exchange version.
If it is present and > 0, the sender supports ECDH. If the receiver also
does, then it will generate a new keypair and sends the public key in a
ANS_KEY request with "ECDH:" prefixed. The ans_key_h() function will
compute the shared secret, which, at the moment,is used as is to set the
cipher and HMAC keys. However, this must be changed to use a proper KDF.
In the future, the ECDH key exchange must also be signed.
2011-07-03 13:17:28 +02:00
Guus Sliepen
ee8a214318
Preliminary implementation of Elliptic Curve Diffie-Hellman Ephemeral key exchange.
2011-06-27 21:52:23 +02:00
Guus Sliepen
8c953b1bfe
Don't react to escape character in tincctl top.
...
Not only the ESC key generates an escape character, but many other keys
do as well, such as arrow keys.
2011-06-26 12:58:50 +02:00
Guus Sliepen
660f530a6f
Really stable sorting of tincctl top output.
2011-06-25 22:20:39 +02:00
Guus Sliepen
ab4d289faf
Make pid files backwards compatible and add address of listening socket.
...
The pid is now written first, so that a version 1.0.x tincd can be used to stop
a running version 1.1 tincd. Getsockname() is used to determine the address of
the first listening socket, so that tincctl can connect to the local tincd even
if AddressFamily = ipv6, or if BindToAddress or BindToInterface is used.
2011-06-25 21:35:27 +02:00
Guus Sliepen
a05fa7f882
Rename controlcookie file to pidfile.
2011-06-25 21:21:36 +02:00
Guus Sliepen
c64f64b875
Don't call exit_control() if we didn't do init_control().
2011-06-25 21:16:13 +02:00
Guus Sliepen
3b237afbda
Re-add support for SIGALRM.
2011-06-25 20:20:07 +02:00
Guus Sliepen
8733110dec
Ensure the right files end up in the tarball after make dist.
2011-06-25 17:08:40 +02:00
Guus Sliepen
7944cce19e
Don't use AM_CONDITIONAL for CURSES.
...
For some reason, this doesn't work when cross-compiling for Windows.
2011-06-25 00:06:06 +02:00
Guus Sliepen
365f60f3f8
Don't call event_del() from the mtuevent handler, always send_mtu_probe() in ans_key_h().
2011-06-24 22:49:18 +02:00
Guus Sliepen
1fe8ba2f06
Delete mtuevent if it is not used.
...
Keeping it around prevents ans_key_h() from restarting PMTU discovery.
2011-06-24 22:10:03 +02:00
Guus Sliepen
79e9a4f743
Merge branch 'master' of git://tinc-vpn.org/tinc into 1.1
...
Conflicts:
NEWS
README
configure.in
src/Makefile.am
2011-06-24 21:40:55 +02:00
Guus Sliepen
3c0511984f
Remove redundant @CFLAGS@ from AM_CFLAGS.
2011-06-24 12:27:04 +02:00
Guus Sliepen
532557beea
Only log UDP address changes at the appropriate debug levels.
2011-06-21 23:06:53 +02:00
Guus Sliepen
60ed7fe598
Reopen log file after SIGHUP.
...
This was missed by the previous merge.
2011-06-06 21:19:30 +02:00
Guus Sliepen
33f241d978
Merge branch 'master' of git://tinc-vpn.org/tinc into 1.1
...
Conflicts:
NEWS
configure.in
doc/tincd.8.in
lib/pidfile.c
lib/pidfile.h
lib/xalloc.h
lib/xmalloc.c
src/conf.c
src/conf.h
src/connection.c
src/connection.h
src/event.c
src/graph.c
src/graph.h
src/net.c
src/net.h
src/node.h
src/openssl/crypto.c
src/process.c
src/protocol.c
src/protocol_key.c
src/route.c
2011-06-06 20:42:15 +02:00
Guus Sliepen
601f3b2dd7
Clean up digests when freeing a connection_t.
2011-06-06 20:12:33 +02:00
Guus Sliepen
4b3fd94b1c
Improved --logfile option.
...
Instead of UNIX time, the log messages now start with the time in RFC3339
format, which human-readable and still easy for the computer to parse and sort.
The HUP signal will also cause the log file to be closed and reopened, which is
useful when log rotation is used. If there is an error while opening the log
file, this is logged to stderr.
2011-06-06 16:26:11 +02:00
Guus Sliepen
b3bbeab6e6
Attribution for Loïc Grenié.
2011-06-04 11:27:54 +02:00
Loïc Grenié
50af33d01f
Nearly tickless tinc.
...
Use pselect instead of select in main_loop (if available). This lets
tincd sleeps as long as there is nothing to do.
2011-06-04 11:19:46 +02:00
Guus Sliepen
8b3cc695b5
Don't ignore SIGCHLD, system() needs it.
...
But we do ignore SIGPIPE, and tinc 1.0.x signals that are no longer used
(SIGUSR1 and SIGUSR2), since the default handler of these signals is to
terminate tincd immediately.
2011-06-03 15:50:20 +02:00
Guus Sliepen
5989a29d7b
Fix format strings for Windows.
...
Windows doesn't like %zd, so cast (s)size_t to int. Also, some shorts were
incorrectly printed with %d instead of %hd.
2011-06-03 00:46:56 +02:00
Guus Sliepen
3ade33bfac
Use send() when writing to sockets, and the return type is ssize_t.
2011-06-03 00:34:30 +02:00
Guus Sliepen
5f4d57e846
Small fixes for Windows.
2011-06-02 23:40:27 +02:00
Guus Sliepen
2adc789401
Even simpler signal handling.
2011-06-02 22:14:53 +02:00
Guus Sliepen
2f42896789
Remove debugging message that was accidentily left in.
2011-06-02 21:29:11 +02:00
Guus Sliepen
c6b0e102ad
Don't treat packets coming in via TCP as having zero length.
2011-06-02 21:16:57 +02:00
Guus Sliepen
80ca91769d
Fix nodes joining the VPN after tincctl top started.
2011-06-02 21:14:50 +02:00
Guus Sliepen
311f60f4f0
Make traffic statistics more readable with configurable scaling.
2011-06-02 20:48:18 +02:00
Guus Sliepen
a8f0d21330
More stable sorting in tincctl top.
...
Although we use qsort(), which is not guaranteed to be stable, resorting the
previously sorted array is more stable than recreating and resorting the array
each time.
2011-06-02 20:27:16 +02:00
Guus Sliepen
2bda2aa885
Fix some compiler and cppcheck warnings.
2011-06-02 18:22:26 +02:00
Guus Sliepen
809dfd2f5b
Remove support for the Ethertap device.
2011-06-02 18:07:50 +02:00
Guus Sliepen
af2e0c9a32
Remove unused functions and variables.
2011-06-02 17:57:53 +02:00
Guus Sliepen
b7754e5aaa
Drop the GNU memcmp.c implementation.
2011-06-02 17:53:35 +02:00