Adrien Gallouët
|
ae3f4ed9ac
|
Count and store last time of bad mud_decrypt()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-03-12 10:28:05 +00:00 |
|
Adrien Gallouët
|
b53248b6da
|
Send ip and port to peers
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-03-10 15:31:41 +00:00 |
|
Adrien Gallouët
|
bb6b87bb54
|
Hardening
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-03-09 22:14:10 +00:00 |
|
Adrien Gallouët
|
cd4ad61d1c
|
Always kiss your friends <3 + add it in the nonce
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-03-06 16:00:12 +00:00 |
|
Adrien Gallouët
|
b809bf0785
|
First draft of path mtu disc without icmp
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-03-04 15:14:18 +00:00 |
|
Adrien Gallouët
|
c583e207c8
|
Return ENOTSUP if aes256gcm is not supported
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-03-04 14:58:52 +00:00 |
|
Adrien Gallouët
|
5aeb0a3cb2
|
Ask for a gnu99 compiler
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-02-27 09:28:16 +00:00 |
|
Adrien Gallouët
|
5a62bd7faa
|
Add mud_get_paths() to export all paths
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-02-26 23:57:39 +00:00 |
|
Adrien Gallouët
|
81b279b060
|
Add up,backup and down states
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-02-24 15:26:38 +00:00 |
|
Adrien Gallouët
|
ac1ba977f4
|
Setup cmsg directly in mud_send_path()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-02-24 14:54:44 +00:00 |
|
Adrien Gallouët
|
7303dea98c
|
Let's decrypt everything
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-02-20 19:30:16 +00:00 |
|
Adrien Gallouët
|
1aded8ec29
|
Unset skip flag when adding a knwon path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-02-17 20:21:45 +00:00 |
|
Adrien Gallouët
|
53f8d31f77
|
Use size_t for mtu
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-02-16 15:57:03 +00:00 |
|
Adrien Gallouët
|
7013d8e323
|
Cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-02-15 14:18:48 +00:00 |
|
Adrien Gallouët
|
6e5e2dea64
|
Autoselect ipv4/ipv6
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-02-15 14:10:28 +00:00 |
|
Adrien Gallouët
|
219e17edb6
|
Ask for sockaddr directly
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-02-14 21:30:17 +00:00 |
|
Adrien Gallouët
|
582eb29617
|
Use unsigned long in mud_set_x()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-02-11 10:14:58 +00:00 |
|
Adrien Gallouët
|
d8ede46d8a
|
Avoid useless copies and protect keys
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-02-06 18:10:39 +00:00 |
|
Adrien Gallouët
|
d4546ccae0
|
Add mud_del_path()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-01-29 16:17:06 +00:00 |
|
Adrien Gallouët
|
61e7a23a11
|
Rework mud->peer and remove mud_ipaddr
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-01-29 16:17:06 +00:00 |
|
Adrien Gallouët
|
7c90d54b91
|
Add mud_add_path()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-01-24 16:27:41 +00:00 |
|
Adrien Gallouët
|
a6555c8ab1
|
Format code
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-01-24 10:14:08 +00:00 |
|
Adrien Gallouët
|
8d861c9682
|
Allow client to add the first path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2018-01-24 10:07:59 +00:00 |
|
Adrien Gallouët
|
368ab1b710
|
Add some checks in mud_set_path()
They are useless in theory but as we do not define
the macros CMSG_FIRSTHDR and CMSG_NXTHDR..
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2017-12-01 11:02:33 +00:00 |
|
Adrien Gallouët
|
13cf44c813
|
Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2017-11-26 13:17:15 +00:00 |
|
Adrien Gallouët
|
91cf697fb4
|
Set MSG_CONFIRM
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2017-11-16 09:45:17 +00:00 |
|
Adrien Gallouët
|
153108aeac
|
Cleanup .travis.yml
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2017-11-16 07:51:06 +00:00 |
|
Adrien Gallouët
|
2c82c01233
|
Don't set mtu in mud_create()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2017-11-15 22:44:03 +00:00 |
|
Adrien Gallouët
|
21957cc0cc
|
Add mud_set_aes()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2017-11-15 22:41:13 +00:00 |
|
Adrien Gallouët
|
63b0b4261c
|
Check for MUD_DFRAG to disable fragment flag
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2017-11-15 22:24:29 +00:00 |
|
Adrien Gallouët
|
522ca2804d
|
Add mud_new_key()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2017-11-15 22:04:44 +00:00 |
|
Adrien Gallouët
|
78b76437e5
|
Force _GNU_SOURCE on Linux
|
2017-03-07 10:41:29 +00:00 |
|
Adrien Gallouët
|
dfcc08feed
|
Fix keyx regressions and cleanup
|
2017-01-29 12:01:27 +00:00 |
|
Adrien Gallouët
|
49662179e9
|
Refuse to create a new mud with a bad clock
|
2017-01-27 19:23:26 +00:00 |
|
Adrien Gallouët
|
996126cc40
|
Use MUD_EPOCH instead of 1970
|
2017-01-27 19:05:21 +00:00 |
|
Adrien Gallouët
|
f67eae0a7f
|
Restore old behaviour
|
2017-01-20 09:52:28 +00:00 |
|
Adrien Gallouët
|
8dc7a2d4b3
|
Check for send_time too before dup
|
2017-01-19 14:53:56 +00:00 |
|
Adrien Gallouët
|
f6b6610980
|
Move mud_keyx in mud_conf
|
2017-01-18 15:23:37 +00:00 |
|
Adrien Gallouët
|
82299973e0
|
Code cleanup
|
2017-01-18 10:19:18 +00:00 |
|
Adrien Gallouët
|
762b4487bf
|
Force kx on all paths
|
2017-01-16 16:10:28 +00:00 |
|
Adrien Gallouët
|
19e3115420
|
Do not remove path with the same kiss
|
2017-01-12 13:22:34 +00:00 |
|
Adrien Gallouët
|
58c734a681
|
Remove a useless loop in mud_send()
|
2017-01-12 10:11:04 +00:00 |
|
Adrien Gallouët
|
2d171c6dd9
|
Fix mud_kiss_path()
|
2017-01-06 11:47:45 +00:00 |
|
Adrien Gallouët
|
7cc6e7ad72
|
Remove useless memcmp()
|
2016-12-22 15:00:01 +00:00 |
|
Adrien Gallouët
|
fd1a1285ac
|
Set conf.mtu.local for all new path
|
2016-12-22 13:43:02 +00:00 |
|
Adrien Gallouët
|
bd5323a46e
|
Add mud_set_tc() and use CS6 by default
|
2016-12-22 11:40:06 +00:00 |
|
Adrien Gallouët
|
2fd70eb14e
|
Code cleanup
|
2016-12-22 11:03:18 +00:00 |
|
Adrien Gallouët
|
fe5499d46d
|
Keep track of MTU in path
|
2016-12-21 16:10:38 +00:00 |
|
Adrien Gallouët
|
b5a5cb2f1f
|
Update remote mtu in active path too
|
2016-12-19 16:45:14 +00:00 |
|
Adrien Gallouët
|
00db335bb2
|
Move mud_mtux in mud_conf
|
2016-12-15 10:05:00 +00:00 |
|
Adrien Gallouët
|
d7d4e9ffc8
|
Merge mud_kiss and mud_bakx as mud_conf
|
2016-12-15 09:25:36 +00:00 |
|
Adrien Gallouët
|
ef260f90de
|
Send a kiss when recv_time is too old
|
2016-12-13 13:52:45 +00:00 |
|
Adrien Gallouët
|
bd4a11f73c
|
Reformat
|
2016-12-12 16:40:04 +00:00 |
|
Adrien Gallouët
|
749adfd330
|
Fix build on OpenBSD
BUG introduced by clang-format...
|
2016-12-12 15:56:52 +00:00 |
|
Adrien Gallouët
|
078a30611e
|
Kiss for a new path
|
2016-12-12 15:10:30 +00:00 |
|
Adrien Gallouët
|
c5b6ba0121
|
Check mud_packet size earlier
|
2016-12-12 14:54:35 +00:00 |
|
Adrien Gallouët
|
35368f10ab
|
Give a kiss to get some love
|
2016-12-08 11:19:25 +00:00 |
|
Adrien Gallouët
|
c156aa68e3
|
Code cleanup
|
2016-12-08 10:34:47 +00:00 |
|
Adrien Gallouët
|
cb9ecb592f
|
Rework proto
|
2016-12-07 16:59:58 +00:00 |
|
Adrien Gallouët
|
5a67c21b95
|
Reformat
|
2016-12-05 14:38:33 +00:00 |
|
Adrien Gallouët
|
faceca783f
|
Server should only reply
|
2016-12-05 10:15:03 +00:00 |
|
Adrien Gallouët
|
e1fd7f8b0d
|
Ping for new path
|
2016-12-02 10:57:34 +00:00 |
|
Adrien Gallouët
|
8782e48c99
|
Respond sparingly when receiving a badly encrypted message
|
2016-12-02 10:47:02 +00:00 |
|
Adrien Gallouët
|
662fe83173
|
Add first draft backup
|
2016-11-28 10:59:27 +00:00 |
|
Adrien Gallouët
|
72d0573c95
|
Force send_path() on bad path
|
2016-11-25 16:39:59 +00:00 |
|
Adrien Gallouët
|
672e2ba2b5
|
Remove mud_set_nonblock()
|
2016-11-24 11:49:49 +00:00 |
|
Adrien Gallouët
|
ca9aa34ae3
|
Rework pong
|
2016-11-18 17:44:10 +00:00 |
|
Adrien Gallouët
|
c612a0772e
|
Remove the internal tracker (failover)
|
2016-11-07 15:01:51 +00:00 |
|
Adrien Gallouët
|
4e6094dff9
|
Don't use errno from mud_path()
|
2016-10-28 10:20:14 +00:00 |
|
Adrien Gallouët
|
f94489e199
|
Set DF only on linux for now
|
2016-10-28 07:54:28 +00:00 |
|
Adrien Gallouët
|
d124f84cfb
|
Update return code (and errno) of mud_send()
|
2016-10-28 07:52:31 +00:00 |
|
Adrien Gallouët
|
22d61780fd
|
Remove pull/push
|
2016-10-27 15:00:03 +00:00 |
|
Adrien Gallouët
|
df0d941241
|
Set DF for IPv4 and limit mtu to [500,1450]
|
2016-10-25 09:08:56 +00:00 |
|
Adrien Gallouët
|
b82534d54c
|
Add mud_set_mtu()
|
2016-10-18 16:41:41 +00:00 |
|
Adrien Gallouët
|
4c34454a23
|
Don't call crypto_aead_aes256gcm_beforenm() if no aesni..
|
2016-10-05 08:01:03 +00:00 |
|
Adrien Gallouët
|
d255074199
|
Add MTU negotiation
|
2016-10-04 13:23:14 +00:00 |
|
Adrien Gallouët
|
d5297b8a70
|
Don't wait too long to resend keyx if no answer
|
2016-09-20 09:29:50 +00:00 |
|
Adrien Gallouët
|
f6acc993a0
|
Do not log when mud_decrypt() fails
|
2016-09-07 13:24:21 +00:00 |
|
Adrien Gallouët
|
d8d8326f75
|
Try to keep packets when send() fails
|
2016-09-06 08:30:26 +00:00 |
|
Adrien Gallouët
|
1659caa7ca
|
Simplify failover and ping
|
2016-09-05 09:21:55 +00:00 |
|
Adrien Gallouët
|
6a9be23e69
|
Add mud_peer_is_up()
|
2016-09-02 09:39:38 +00:00 |
|
Adrien Gallouët
|
a22476f18a
|
Ugly hack to keep connection on server restart
|
2016-08-26 11:17:42 +00:00 |
|
Adrien Gallouët
|
9f1bf41a01
|
Code cleanup
|
2016-07-29 10:36:16 +00:00 |
|
Adrien Gallouët
|
cec0e4132e
|
Don't count disabled paths in mud_is_up()
|
2016-07-29 10:31:10 +00:00 |
|
Adrien Gallouët
|
c1ce6c7481
|
Add mud_set_on() to enable/disable a local addr
|
2016-07-27 20:23:19 +00:00 |
|
Adrien Gallouët
|
c1b501bc19
|
Add tos/tclass support in mud_send()
|
2016-07-25 15:00:33 +00:00 |
|
Adrien Gallouët
|
ed46a3b1ea
|
Remove a useless memcpy in mud_ctrl_path()
|
2016-07-25 11:17:32 +00:00 |
|
Adrien Gallouët
|
1fe5190e8a
|
Use a new more robust key exchange
|
2016-07-20 15:13:22 +00:00 |
|
Adrien Gallouët
|
c1b13488af
|
Use private key for internal packets
|
2016-07-19 07:03:02 +00:00 |
|
Adrien Gallouët
|
df67357d36
|
Code cleanup
|
2016-07-15 18:21:01 +00:00 |
|
Adrien Gallouët
|
67f1f6abc2
|
Add AES-NI negotiation
|
2016-07-12 16:53:04 +00:00 |
|
Adrien Gallouët
|
4bbb3bf714
|
Make the code more readable (at least for me...)
|
2016-07-07 14:24:09 +00:00 |
|
Adrien Gallouët
|
9141c8b6c6
|
Code cleanup
|
2016-07-06 16:08:42 +00:00 |
|
Adrien Gallouët
|
fa1586b81e
|
Use ipaddr instead of index to find the paths
|
2016-07-06 13:39:59 +00:00 |
|
Adrien Gallouët
|
bd203dd291
|
Use CLOCK_REALTIME
|
2016-07-05 15:40:15 +00:00 |
|
Adrien Gallouët
|
5c77233093
|
Use clock_gettime()
|
2016-06-30 09:38:51 +00:00 |
|
Adrien Gallouët
|
70c4cee57b
|
The first packet MUST be a ping
|
2016-06-29 13:14:28 +00:00 |
|
Adrien Gallouët
|
bc2b1f9add
|
Use exact addrlen in sendmsg()
|
2016-06-24 13:18:22 +00:00 |
|
Adrien Gallouët
|
6a20296bc4
|
Fix bad size in bind()
|
2016-06-22 17:54:17 +00:00 |
|
Adrien Gallouët
|
4499b841f4
|
Crypto cleanup
|
2016-06-22 08:59:33 +00:00 |
|