Commit Graph
111 Commits
Author SHA1 Message Date
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
Guillaume Roguez 42ba16d080 add python wrapper written in Cython
This patch adds in tool/python a Cython written package
to use opendht API throught Python language.
This binding is a prototype with a little subset of OpenDHT API,
mainly for a proof-of-concept

Signed-off-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
2015-07-02 02:59:01 -04:00
Adrien Béraud a63fc649b6 refactoring: move Node out of Dht 2015-07-02 02:59:01 -04:00
Adrien Béraud dbde59a355 crypto: add key length param in generateIdentity() 2015-07-02 02:58:42 -04:00
Adrien Béraud 680186976f dht: add node list to done callback 2015-06-25 15:56:03 -04:00
Adrien Béraud e88e78a2d9 securedht: support external certificate store
With setLocalCertificateStore, add an optional
custom callback to find an immediately available
certificate to use for encryption etc.
2015-06-25 11:50:46 -04:00
Adrien Béraud 428ac04812 crypto: add Certificate::isCA 2015-06-25 11:43:11 -04:00
Adrien Béraud 848d1675b9 infohash: add getBit, setBit, operator< 2015-06-25 11:41:38 -04:00
Adrien Béraud 3e5a3c3f2d dht: getId renamed to getNodeId 2015-06-17 22:34:57 -04:00
Adrien Béraud 40f0488203 dht: address family can be omited in isRunning 2015-06-17 22:34:57 -04:00
Adrien Béraud ca58b19e48 random_device: add some documentation 2015-06-17 15:40:21 -04:00
Adrien Béraud 0497154f7f random_device: support RDSEED and fallback to pseudo rng
Pseudo random numbers are not ideal but still better than zeros.

Use time-seeded PRNG as a basis and XOR-mix with real random numbers if available.
2015-05-31 09:19:24 -04:00
cberaud 41406833a8 add crypto::random_device 2015-05-15 19:57:04 +05:30
Guillaume Roguez 98233954c4 dht: drop incoming msg with unknown protocol
We filter out incoming packet if my_v field is not known.
This prevents to be flooded by others bittorrent-like clients.

Signed-off-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
2015-05-14 13:44:11 -04:00
cberaud 06a32eedd1 Certificate: add option to not export the whole chain 2015-04-30 22:02:27 -04:00
Adrien Béraud c5c61b838e dht: fix compilation for LLVM 3.5 2015-04-27 15:14:46 -04:00
Adrien Béraud f6c85c7bf5 crypto: remove unwanted overrride 2015-04-27 14:54:38 -04:00
Adrien Béraud f61c2a234c dhtrunner: expose some securedht methods 2015-04-21 16:04:01 -04:00
Adrien Béraud 4438df238e securedht: add registerCertificate(cert) 2015-04-21 16:03:33 -04:00
Adrien Béraud 6e3d5da055 types: ContactInvite is now TrustRequest 2015-04-21 10:29:57 -04:00
Adrien Béraud 8f269ca405 crypto: import certificate chain from list of blobs 2015-04-20 17:57:58 -04:00
Adrien Béraud c6e7731c67 crypto: add doc 2015-04-20 15:54:26 -04:00
Adrien Béraud 9ee2a0763b crypto: serialize certificate chains 2015-04-20 15:50:38 -04:00
Adrien Béraud ee40fa2bc7 values: use unpackValue in unpackVector 2015-04-16 13:45:49 -04:00
Adrien Béraud c99f4ea653 types: read recipient for IceCandidates 2015-04-16 13:17:30 -04:00
Adrien Béraud 61e6f39568 types: make ImMessage optionally encrypted 2015-04-16 11:36:10 -04:00
Adrien Béraud 29ca90927b types: fix EncryptedValue filter 2015-04-16 11:35:25 -04:00
Adrien Béraud 9861175675 types: new ValueSerializable API, separate default types 2015-04-15 15:51:02 -04:00
Adrien Béraud d42f404f26 dht: improve update time consistency 2015-04-07 11:07:48 -04:00
Adrien Béraud 8512c01149 dht: update doc 2015-04-06 02:08:08 -04:00
Adrien Béraud 39b8ca3fce searches: prefer to remove expired nodes 2015-04-06 00:04:10 -04:00
Adrien Béraud 777a5035d2 searches: introduce expired internal state 2015-04-04 16:50:15 -04:00
Adrien Béraud 5920b2bac3 infohash: make string constructor explicit 2015-04-02 17:03:13 -04:00
Adrien Béraud be6317e62a fix build for Win32 2015-04-01 14:49:45 -04:00
Adrien Béraud 1ae29f201d dht: timeout searches with no synced nodes 2015-03-30 11:47:48 -04:00