Commit Graph
145 Commits
Author SHA1 Message Date
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
Adrien Béraud e2004d69cb prevent sending listen or announce to unsynched nodes 2015-07-11 18:38:11 -04:00
Adrien Béraud 7a3a95bf3e dht: use time_point::min() as invalid time_point value 2015-07-11 18:38:11 -04:00
Adrien Béraud 5bec9f6764 log cleanup 2015-07-10 23:31:09 -04:00
Adrien Béraud d2c57b867d update copyright headers 2015-07-10 23:25:43 -04:00
Adrien Béraud db1b9c2f38 crypto: add Certificate getName, getIssuerName, getAltNames 2015-07-09 12:32:56 -04:00
Adrien Béraud a0544e8fcf dhtrunner: add future<T> get(key) 2015-07-06 11:27:45 -04:00
Adrien Béraud 2470dab029 dht: add a simpler Done Callback 2015-07-06 11:27:45 -04:00
Adrien Béraud 1bc2c5c9f0 dht: cleanup doc 2015-07-06 11:26:37 -04:00
Adrien Béraud 618f4dcddb crypto: add contructor from blob vector 2015-07-05 17:48:05 -04:00
Adrien Béraud d16260eca8 crypto: unpack certificate list from blob vector 2015-07-04 22:41:41 -04:00
Adrien Béraud 6a44dab6d3 crypto: add doc 2015-07-03 13:47:57 -04:00
Adrien Béraud 1c6a50969b crypto: support private key password encryption 2015-07-03 13:45:57 -04:00
Adrien Béraud aeedb8adac dhtrunner: allow to bind specific IP addresses 2015-07-02 02:59:28 -04:00
Adrien Béraud f1ff9a1a87 dht: optimisations in search behavior
A candidate flag is added to new search nodes when a search
is already synced.
The flag is waived when a token is retreived from the node.
Candidate nodes behave normally but are not considered
to evaluate the search state (synced etc.).

The behavior of searches if also changed so GET_NODES
updates are now done the same way, no matter if the search
is currently synced. This allow candidate nodes to behave
normally and makes token update asynchronous, causing
less frequent performance hickups.
2015-07-02 02:59:28 -04:00
Adrien Béraud 04623d09f8 dht: simplify get search node selection 2015-07-02 02:59:28 -04:00