Commit Graph
160 Commits
Author SHA1 Message Date
Adrien Béraud 8575bd4f96 dht: allow to specify address family for getPublicAddress 2015-11-06 01:49:13 -05:00
Adrien Béraud a340943994 dht: clear bad nodes on connectivity change 2015-11-06 00:51:58 -05:00
Adrien Béraud 5e265505e9 fix some clang warnings 2015-11-04 00:50:12 -05:00
Simon Désaulniers 4bee62741f data persistence for all data 2015-11-02 16:45:50 -05:00
Simon Désaulniers c7298088d9 getNodesStats resets 0, shutdown method in Dht API 2015-11-02 16:45:50 -05:00
Adrien Béraud 184dc17aa8 value: improve serialization backward compatibility 2015-10-24 01:40:59 -04:00
Adrien Béraud 5b0fb9682b dhtrunner: return port in host byte order 2015-10-21 01:41:23 -04:00
Adrien Béraud 4ecd212517 dhtrunner: support port 0 (OS assigned port) 2015-10-18 02:32:51 -04:00
Adrien Béraud 1b7ba2a24d ImMessage: add id, use MSGPACK_DEFINE_MAP 2015-10-16 13:44:18 -04:00
Adrien Béraud 4aca35a5a8 defaul_types: add override 2015-10-16 13:44:18 -04:00
Adrien Béraud 3596f8a97c default_types: fix unused warning 2015-10-16 13:44:18 -04:00
Adrien Béraud 42c32f98c8 dht: count incoming packets 2015-10-16 13:44:18 -04:00
Adrien Béraud eea097961a dht: add message counting 2015-10-06 11:58:26 -04:00
Adrien Béraud a7bea1c953 infohash: add support for std::hash 2015-09-02 19:40:31 +02:00
Adrien Beraud 6e6882ca7a dht: cleanup 2015-09-01 18:10:00 +02:00
Adrien Beraud 0ea48ed1de dht: remove custom memmem 2015-09-01 17:42:07 +02:00
Adrien Béraud 4096e7ff03 dht: bootstrap local id on first connection 2015-09-01 16:46:42 +02:00
Adrien Béraud f3eb11270d rng: static initialisation of hasRdrand() 2015-08-24 16:38:40 +02:00
Adrien Béraud ac08beb582 dht: search own id 2015-08-24 16:38:40 +02:00
Adrien Béraud 40f7399d48 value: encypted value is not signed (until decrypted) 2015-08-23 17:36:24 +02:00
Adrien Béraud ab0cb7433d value: properly move user_type 2015-08-20 15:05:06 -04:00
Adrien Béraud aae6484a58 dhtrunner: delay ops until dht is connected (except bootstrap) 2015-08-18 13:47:33 -04:00
Adrien Béraud ee501d0060 Filter: cleanup 2015-08-18 12:18:19 -04:00
Adrien Béraud 790c32048c ValueSerializable: refactoring 2015-08-18 10:57:46 -04:00
Adrien Béraud d5ff0e2187 dhtrunner: unpack value 2015-08-14 21:37:51 -04:00
Adrien Béraud fa304786c1 IceCandidates: use private value ID 2015-08-13 16:23:49 -04:00
Adrien Béraud cdcaebbc80 crypto: use AES-GCM + RSA for encryption rather than RSA-ECB 2015-08-13 11:28:29 -04:00
Adrien Béraud 70dfb4bbcf use msgpack for dht protocol and value serialization 2015-08-13 11:28:29 -04:00
Adrien Béraud 873fbd3d8e dht: add public address reporting 2015-08-06 15:41:16 -04:00
Adrien Béraud 15f3dee293 introduce configuration structure 2015-08-05 21:55:20 -04:00
Adrien Béraud 59182aa0c4 securedht, dhtrunner: support bootstrap mode 2015-08-04 23:39:15 -04:00
Adrien Béraud 2130d38820 securedht: allow null key or certificate
If no key is provided, no value is decrypted.
If no certficate is provided, it is not published and
a random node Id is choosed.
2015-08-04 14:02:04 -04:00
Adrien Béraud 948475301e infohash: add getRandom() 2015-08-04 14:02:04 -04:00
Adrien Béraud 69cf65d1b2 dhtrunner: update doc 2015-07-28 16:26:46 -04:00
Adrien Béraud f13b28fed4 dht: add connectivityChanged() 2015-07-28 16:26:35 -04:00
Adrien Béraud 3cbae5526a dht: add bootstap mode
The bootstrap mode is used only for bootstrap nodes.

A bootstrap node will maintain a tree of the whole dht
up to 6 bits deep (8*2^6 = 4096 nodes).

This allows to provide better initial answers to new nodes.

Bootstrap nodes act otherwise normally.
2015-07-27 14:47:58 -04:00
Adrien Béraud 8287416164 dht: add getNodes, isExpired with no time argument 2015-07-27 14:33:47 -04:00
Adrien Béraud ced114eba4 dht: combine counting of get and announce/listen requests 2015-07-27 14:33:39 -04:00
Adrien Béraud 5323ebd6b1 dht: use a listen keep-alive of 30 seconds 2015-07-27 14:33:39 -04:00
Adrien Béraud 4ad1495e39 dht: improve listen, announce timing consistency 2015-07-24 01:02:35 -04:00
Adrien Béraud cf3fa7b954 dht: increase max requests per second 2015-07-24 01:02:35 -04:00
Adrien Béraud 178eeae94f dht: log cleanup 2015-07-24 01:02:35 -04:00
Adrien Béraud d4094bed9b tools: update copyright 2015-07-23 14:32:52 -04:00
Adrien Béraud 3124d13004 infohash: toFloat optimisation 2015-07-23 11:06:16 -04:00
Adrien Béraud d2ed99742e zero-initialise sockaddr structures 2015-07-23 11:05:50 -04:00
Adrien Béraud ac13795db0 crypto: add DecryptError 2015-07-14 12:47:12 -04:00
Adrien Béraud 593ca81dbd infohash: add toFloat() 2015-07-14 12:09:14 -04:00
Adrien Béraud 7729f9e283 types: add payload to trust request 2015-07-13 14:15:08 -04:00
Adrien Béraud 03b873d1ad value: make time_point non-constexpr for now 2015-07-13 14:15:08 -04:00
Adrien Béraud 3d2a74be49 python: add PyNode 2015-07-13 13:24:55 -04:00