Commit Graph

324 Commits

Author SHA1 Message Date
Dennis Schwerdel 86223fb4f9 Potential fix for port-forwarding 2020-07-20 22:58:55 +02:00
Dennis Schwerdel 12c899b04d Remove C code 2020-07-14 00:03:08 +02:00
Dennis Schwerdel 0cead0fd08 Allow to use minus instead of underscore 2020-06-30 17:38:33 +02:00
Dennis Schwerdel 2f5ce0b194 Add default port for peers 2020-06-24 15:28:16 +02:00
Dennis Schwerdel 57c993e8d5 Fix keepalive for small timeouts 2020-06-17 22:53:14 +02:00
Dennis Schwerdel ef81d2901a Typos in comments 2020-06-17 16:21:21 +02:00
Dennis Schwerdel dfad73065c Added support for AES128 2020-06-09 09:03:52 +02:00
Dennis Schwerdel cbc135ce12 Fix startup race condition 2020-06-03 15:49:06 +02:00
Dennis Schwerdel cac5af890b Fixed statsd support 2020-05-30 16:12:54 +02:00
Dennis Schwerdel 1f94d0deff Statsd support 2020-05-29 11:51:04 +02:00
Dennis Schwerdel ed0fdbc366 Change stats output format ot yaml 2020-05-29 10:04:14 +02:00
Dennis Schwerdel 02ccea326e Structopt instead of docopt 2020-05-29 08:37:29 +02:00
Dennis Schwerdel 805c4055a0 Added missing copyright headers 2020-05-28 09:07:34 +02:00
Dennis Schwerdel 2441cbc177 Update corpyrighht years 2020-05-28 09:03:48 +02:00
Dennis Schwerdel d8d18a2aae Fix warings 2020-05-28 08:57:49 +02:00
Dennis Schwerdel 7b79b9b26f For mapped ipv4 add plain ip4 to known addresses 2020-05-28 08:57:25 +02:00
Dennis Schwerdel a73b33bf44 Updated dependencies, small fixes 2020-04-17 22:35:24 +02:00
Dennis Schwerdel fd45da489a Building for i686 2020-02-20 22:52:40 +01:00
Dennis Schwerdel 5c2977e612 Warning for missing router is now info 2020-02-20 22:51:22 +01:00
Dennis Schwerdel 390f217a23 Add listen option, switched to dual-stack 2020-02-20 16:25:35 +01:00
Dennis Schwerdel 44ad73701b Fixed problem with growing stats file 2019-12-29 13:03:48 +01:00
Dennis Schwerdel eb620781a8 Added feature to disable special NAT support 2019-12-22 23:21:47 +01:00
Dennis Schwerdel 54a2240f34 Reduced timeout to 5min to work better with NAT 2019-12-22 23:03:45 +01:00
Dennis Schwerdel 10ebd08dad Improved port forwarding on quirky routers 2019-12-22 22:51:40 +01:00
Dennis Schwerdel 7edb649c32 Release 1.2.0 2019-12-20 14:50:24 +01:00
Dennis Schwerdel 246cd3bc2a Some code cleanup 2019-12-20 13:54:58 +01:00
Dennis Schwerdel 00858fe140 Fixed benches 2019-12-20 13:41:55 +01:00
Dennis Schwerdel f6a72e4174 Fixed duplicate port bindings 2019-12-19 16:13:03 +01:00
Dennis Schwerdel 714d8c3220 Update deps 2019-12-19 16:11:48 +01:00
Dennis Schwerdel f7ed961317 Deleting beacon file at shutdown 2019-12-19 16:09:52 +01:00
Dennis Schwerdel 0d29293309 Deleting files before overwriting them 2019-12-19 16:08:51 +01:00
Dennis Schwerdel bc994a959d Fixed tests 2019-12-06 10:23:50 +01:00
Dennis Schwerdel 55358b3561 Set keepalive to 120 secs when NAT is detected 2019-12-06 10:20:24 +01:00
Dennis Schwerdel cd09311059 Fixed problems on stats file when dropping perms 2019-12-06 09:55:24 +01:00
Dennis Schwerdel 04e2892c8e Also drop privileges in foreground mode 2019-12-06 08:54:27 +01:00
Dennis Schwerdel 70109eeb51 Removed one unneeded unsafe block 2019-12-05 18:29:12 +01:00
Dennis Schwerdel 50058e60d0 Fixed wrong base62 encoding 2019-12-04 16:33:42 +01:00
Dennis Schwerdel 63dc1e3ce1 Tests for NAT 2019-12-04 13:09:20 +01:00
Dennis Schwerdel 9cd7e53880 Reducing published peer timeout to 5 min on NAT 2019-12-04 10:34:08 +01:00
Dennis Schwerdel ee8542307f Exchange peer_timeout and adapt keepalive 2019-12-04 10:04:42 +01:00
Dennis Schwerdel 509ab1504e Updated dependencies, rustfmt 2019-12-04 09:32:35 +01:00
Dennis Schwerdel 553e09611e More tests 2019-03-03 14:56:59 +01:00
Dennis Schwerdel 82b7e5f18b Fixed benches 2019-03-02 12:23:12 +01:00
Dennis Schwerdel 3cc40ff8d1 Updates 2019-03-02 00:50:55 +01:00
Dennis Schwerdel f2e6a1ef7b Clippy 2019-03-01 23:25:42 +01:00
Dennis Schwerdel 706d205ff1 Edition 2018 2019-03-01 23:12:19 +01:00
Dennis Schwerdel c5ba4b197b Improved tests 2019-03-01 16:36:18 +01:00
Dennis Schwerdel 5be254db4a More tests 2019-02-26 18:36:54 +01:00
Dennis Schwerdel c750947ab0 First cloud test 2019-02-26 01:21:15 +01:00
Dennis Schwerdel 452a022bc3 Mocking time 2019-02-25 14:01:25 +01:00
Dennis Schwerdel 03c295d0a9 Added comment 2019-02-22 22:06:01 +01:00
Dennis Schwerdel e7efd290ad Changed beacon encryption 2019-02-22 21:23:07 +01:00
Dennis Schwerdel 9614c9bd97 Preparations for tests 2019-02-22 13:21:24 +01:00
Dennis Schwerdel be27f79b8c Extended sleep in tests 2019-02-21 17:50:44 +01:00
Dennis Schwerdel ac6e7f1ffd Beacon tests 2019-02-21 16:57:25 +01:00
Dennis Schwerdel 537cb55c41 Implemented beacon support 2019-02-20 14:26:35 +01:00
Dennis Schwerdel 62186152e4 Full beacon encode/decode 2019-02-20 14:26:35 +01:00
Dennis Schwerdel 0dd694c708 Removed libsodium specific parts 2019-02-20 14:26:29 +01:00
Dennis Schwerdel c43b1cc37d Initial beacon test 2019-02-20 14:25:53 +01:00
Dennis Schwerdel 4959ca48a1 Fixed bug in new hex secret key functionality 2019-02-20 14:25:53 +01:00
Dennis Schwerdel 3cf947e62c Updates 2019-02-20 14:25:53 +01:00
Dennis Schwerdel 54e0119451 Changes 2019-02-20 14:25:53 +01:00
Dennis Schwerdel 71a6f70f97 Updated deps 2019-02-20 14:25:53 +01:00
Dennis Schwerdel 215b95f771 Option to use other tun device file 2019-02-20 14:25:53 +01:00
Dennis Schwerdel ba641be637 Some minor changes 2019-02-20 14:25:53 +01:00
Dennis Schwerdel fecffcce95 Many changes for 0.9.0 2019-02-20 14:25:53 +01:00
Dennis Schwerdel fe25ecec1d Added statistics file 2019-02-20 14:25:51 +01:00
Dennis Schwerdel 6a3208949e Removed libsodium completely 2019-02-20 14:25:46 +01:00
Dennis Schwerdel ca909d1320 Ring instead of libsodium 2019-02-20 14:25:41 +01:00
Dennis Schwerdel 5d479d6d54 Fixes 2019-02-20 14:25:34 +01:00
Dennis Schwerdel 262bf4e6eb New version 2019-01-03 21:14:00 +01:00
Dennis Schwerdel 1f32f0a6a7 Updated dependencies 2019-01-02 00:57:54 +01:00
Dennis Schwerdel 6866c29a71 Fixed wrong address 2019-01-01 22:55:15 +01:00
Dennis Schwerdel 4c9ec65254 Fixed wrong address 2019-01-01 22:50:04 +01:00
Dennis Schwerdel 5718c6391f Updated copyright headers 2017-07-22 16:49:53 +02:00
Dennis Schwerdel 00b4641056 Fixed tests and serialization constants 2017-07-22 16:42:32 +02:00
Dennis Schwerdel 0e13277911 Updated, serde instead of rustc_serialize 2017-07-22 16:34:20 +02:00
Dennis Schwerdel 68af49bf29 Removed a layer of indirection from inner loop 2017-05-04 08:22:24 +02:00
Dennis Schwerdel 87097cc59f Fixed two problems in routing table (re #18) 2017-05-04 07:52:34 +02:00
Dennis Schwerdel 2d11454316 Making clippy happy 2017-05-04 07:52:34 +02:00
Dennis Schwerdel 21837abf68 Updated dependencies and libsodium 2017-05-04 07:52:33 +02:00
Dennis Schwerdel b248e50672 Limit peer lists to 20 peers 2017-01-11 14:31:28 +01:00
Dennis Schwerdel dd804fe6df Even more tests 2016-11-28 12:14:56 +01:00
Dennis Schwerdel e323ac38b8 Updated dependencies, more test coverage 2016-11-28 11:28:46 +01:00
Dennis Schwerdel 6d9fdddb7c Some more documentation and fixed tests 2016-11-25 07:15:19 +01:00
Dennis Schwerdel 88f5272023 Daemonizing and proper systemd support 2016-11-24 07:10:59 +01:00
Dennis Schwerdel 4497ddaf13 Using external siphasher to avoid warning 2016-11-23 11:37:09 +01:00
Dennis Schwerdel 83d8bcfc1a Setting reserved fields to 0 2016-11-23 11:27:58 +01:00
Dennis Schwerdel 3e2fec3216 Better error messages 2016-11-23 11:27:29 +01:00
Dennis Schwerdel 6e828b7ae8 Not overriding recently learned addresses in switch mode 2016-08-30 08:52:22 +02:00
Dennis Schwerdel c41a49c0b7 Caching resolved addresses 2016-08-29 15:20:32 +02:00
Dennis Schwerdel 6502da3816 Some more lints 2016-08-29 13:12:50 +02:00
Dennis Schwerdel 7a4efa9257 Prefer IPv4 over IPv6 when possible 2016-08-12 08:39:04 +02:00
Dennis Schwerdel 00296a660d Added timestamp to outputs 2016-08-12 08:36:09 +02:00
Dennis Schwerdel 5e7d3b5e08 Not broadcasting to additional addresses 2016-08-12 08:35:09 +02:00
Dennis Schwerdel 1da38f5205 Extending peer timeout on peer message 2016-08-12 08:31:21 +02:00
Dennis Schwerdel 937c7b9f3b Logging timed out peers as INFO 2016-08-12 08:30:13 +02:00
Dennis Schwerdel 0243859d5a Support for port forwarding (closes #6) 2016-08-10 11:34:13 +02:00
Dennis Schwerdel ed9f464dbf Removed defaults from docopts as it does not work with options 2016-08-10 10:25:19 +02:00
Dennis Schwerdel de6709853f Removed duplicate error prints 2016-08-08 22:24:04 +02:00
Dennis Schwerdel b8fcd382d8 Fixed problem with interrupted poll after suspend to ram 2016-08-08 20:41:29 +02:00
Dennis Schwerdel 023ef0e1d7 Test cases for config file 2016-08-08 16:56:58 +02:00
Dennis Schwerdel 06fc814b4b Added support for YAML config file (re #8) 2016-08-08 16:30:49 +02:00
Dennis Schwerdel 08048709b6 Configurable magic header instead of network id (re #5) 2016-08-08 09:34:13 +02:00
Oscar Rainford e7899e05b2
Updated usage.txt, fixes issue with multiple subnets. 2016-08-08 11:54:55 +10:00
Dennis Schwerdel d5a6002507 Some speed improvments to routing table 2016-08-05 08:42:41 +02:00
Dennis Schwerdel d37c61fd22 Code improvements 2016-07-06 22:35:42 +02:00
Dennis Schwerdel 6d38130146 Covering missing error case 2016-07-06 21:29:42 +02:00
Dennis Schwerdel 8a239f8e1a Removed broken ord implementations 2016-07-06 21:29:28 +02:00
Dennis Schwerdel 0bcdfbe21e More tests, bugfixes and code cleanup 2016-07-06 21:14:09 +02:00
Dennis Schwerdel 3488d2d2a3 Some code cleanup 2016-07-06 18:48:58 +02:00
Dennis Schwerdel 4e047b6065 Fixed compile error 2016-07-03 11:59:14 +02:00
Dennis Schwerdel 885b288025 Fixed problem with reading from device 2016-07-03 09:47:58 +02:00
Dennis Schwerdel 91722f4270 Added support for strange BSD tun header 2016-07-02 14:05:24 +02:00
Dennis Schwerdel d52d7e3aaf Added pluggable polling system 2016-06-30 10:06:34 +02:00
Dennis Schwerdel 1cf1d0687b Removing learnt addresses of lost peers 2016-06-29 08:47:36 +02:00
Dennis Schwerdel a698ad95a3 Code cleanup 2016-06-29 08:43:39 +02:00
Dennis Schwerdel 72b8eccfa9 Some documentation and code cleanup 2016-06-27 15:43:30 +02:00
Dennis Schwerdel ab7c033383 Reconnecting to lost peers when receiving from them or sending to them 2016-06-26 19:21:26 +02:00
Dennis Schwerdel d7b930982d Sending peer list more often to prevent timeouts 2016-06-26 19:21:04 +02:00
Dennis Schwerdel dea7c8c128 Removed address remove code for prefix table 2016-06-26 19:19:19 +02:00
Dennis Schwerdel 97af7bcef4 Documentation and code cleanup 2016-06-26 19:18:38 +02:00
Dennis Schwerdel e31e5c362d Building for ARMv6, silenced unknown lints 2016-06-21 11:37:26 +02:00
Dennis Schwerdel bebfc07ecd Cross-compiling for ARMv7, updated dependencies, silenced clippy warnings 2016-06-21 08:57:20 +02:00
Dennis Schwerdel f933db2dd9 Making clippy happy 2016-06-11 16:08:57 +02:00
Dennis Schwerdel 7586ce02f0 Updated dependencies, fixed benchmarks 2016-05-31 16:02:29 +02:00
Dennis Schwerdel 1c6f72539e Some fixes 2016-05-25 13:30:18 +02:00
Dennis Schwerdel 9fcb89bba8 Updated dependencies, removed unused imports 2016-05-25 09:56:41 +02:00
Dennis Schwerdel 2119bbcae5 Exponential backoff for reconnect timeouts 2016-05-24 10:32:32 +02:00
Dennis Schwerdel 5099003479 Repeatedly resolving connect addresses to allow DynDNS 2016-05-11 10:54:00 +02:00
Dennis Schwerdel 8d3ab9cc4a Handling multiple addresses per peer 2016-05-02 09:05:34 +02:00
Dennis Schwerdel 2f2f7b725f Listening on ipv4 and ipv6 2016-05-02 08:35:11 +02:00
Dennis Schwerdel cd2259c09d Prepared for cross-compiling 2016-04-12 09:20:47 +02:00
Dennis Schwerdel 15cd399827 Using slice operations instead of loops 2016-03-29 14:26:59 +02:00
Dennis Schwerdel fe7b0f0007 Removing learned addresses of lost peers 2016-03-29 13:54:28 +02:00
Dennis Schwerdel c11d5b4d6e Using FNV hash 2016-03-29 10:45:54 +02:00
Dennis Schwerdel 60de5d069f Extensive tests and benchmarks 2016-02-09 09:10:56 +01:00
Dennis Schwerdel c07d772b90 Passing listen address as &str 2016-02-09 09:10:40 +01:00
Dennis Schwerdel f860d487e9 Initializing crypto for benchmarks 2016-02-09 09:10:28 +01:00
Dennis Schwerdel 23cbbda2b0 Only calling crypto_init once 2016-02-09 09:10:03 +01:00
Dennis Schwerdel 102fedd7ea Added license and copyright information 2016-02-05 16:58:32 +01:00
Dennis Schwerdel 3cf6a28eb7 Fixed peer exchange for more than 65000 peers 2016-02-04 22:40:26 +01:00
Dennis Schwerdel 1db4fea091 More tests and one fix 2016-02-02 23:58:47 +01:00
Dennis Schwerdel c19e1fbf75 Using display format for addresses 2016-02-02 22:03:56 +01:00
Dennis Schwerdel 87cceca65f Fixed problem with nodes broadcasting to themselves 2016-02-02 11:01:23 +01:00
Dennis Schwerdel 6c35047a97 Code cleanup 2016-02-02 11:00:03 +01:00
Dennis Schwerdel 4b68923f75 Using copy trait more often 2016-01-19 21:52:44 +01:00
Dennis Schwerdel 112e531127 Fixed parsing and printed length 2015-12-22 22:47:41 +01:00
Dennis Schwerdel 8930e21663 No longer encrypting multiple times 2015-12-22 22:45:52 +01:00
Dennis Schwerdel cb00c2f30a Supporting hostnames as peers 2015-12-22 22:44:25 +01:00