Commit Graph

225 Commits

Author SHA1 Message Date
Adrien Gallouët a7044db87c Compute rate
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-18 16:35:27 +00:00
Adrien Gallouët 8e2b35525c Remove MUD_EPOCH and compute durations modulo 2^48
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-18 09:54:52 +00:00
Adrien Gallouët 875533a65f Recover lost connection slightly faster
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-07 16:43:46 +00:00
Adrien Gallouët 1f25f12e4a Compute rttvar for the next voip scheduler
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-06 16:46:09 +00:00
Adrien Gallouët 7fde67f3d3 Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-06 10:11:00 +00:00
Adrien Gallouët 2f304c1afc Set state to MUD_UP by default
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-05 15:52:29 +00:00
Adrien Gallouët e0d7494a71 Don't inline
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-05 09:07:28 +00:00
Adrien Gallouët 1e9bb89764 Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-04 08:58:10 +00:00
Adrien Gallouët e7851fa29d Compute RTT for each internal packet
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-04 08:52:01 +00:00
Adrien Gallouët 0c11ce5785 Add number of packets per path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-03 09:02:02 +00:00
Adrien Gallouët 6d5738b931 Don't try to send something without path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-02 08:50:42 +00:00
Adrien Gallouët dcfaca04a5 Limit number of paths
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-02 08:44:59 +00:00
Adrien Gallouët c63c94d7c8 Simplify MTU setup and allow big packets
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-26 13:03:27 +00:00
Adrien Gallouët 09acdee3e1 Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-25 14:48:59 +00:00
Adrien Gallouët c2eb3e4095 Refuse truncated packets
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-25 14:22:52 +00:00
Adrien Gallouët 54bac4fcf6 Don't produce/reply to bad pubkeys
AFAIK, this should be useless as libsodium use constant-time code
But small order are rejected and so we don't want to produce one.

This commit does not improve security.
2018-03-19 22:28:03 +00:00
Adrien Gallouët 9a626f2889 Reset mtu in all paths
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-17 13:51:54 +00:00
Adrien Gallouët c6fbe52fbd Use binded port in local_addr
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-16 21:07:25 +00:00
Adrien Gallouët a505e22844 Try to compute the size of ctrl
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-16 20:05:05 +00:00
Adrien Gallouët 40be483e2b Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-16 08:12:33 +00:00
Adrien Gallouët fd48ff08b9 Use LSB to mark mud packets
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-15 21:14:28 +00:00
Adrien Gallouët 0c037c5831 Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-15 20:42:51 +00:00
Adrien Gallouët 8b9fc86d12 Fix stats on links with latency > MUD_STAT_TIMEOUT
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-15 08:12:41 +00:00
Adrien Gallouët 66b8a7323d Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-14 22:47:33 +00:00
Adrien Gallouët 865c6aa640 Compute MTU only with usable paths
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-14 22:36:58 +00:00
Adrien Gallouët 2c5eb574f9 Add a specific timer for mtu probing
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-14 18:47:43 +00:00
Adrien Gallouët ef319d2153 Add mud_set_keyx_timeout()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-14 06:54:38 +00:00
Adrien Gallouët 467310bb4f Create ephemeral key at startup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-14 06:49:44 +00:00
Adrien Gallouët b787bad536 Store addr on errors
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-14 06:40:37 +00:00
Adrien Gallouët 93d7d36b68 Hardening and fixes
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-13 18:32:14 +00:00
Adrien Gallouët 87d9806a88 Clear errno if no path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-12 14:59:59 +00:00
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