Commit Graph
2511 Commits
Author SHA1 Message Date
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 e6ab305b33 crypto: use certificate chain again 2015-06-25 15:56:03 -04:00
Adrien Béraud f00071137f doc: add initial doxygen documentation 2015-06-25 11:58:15 -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 996d89e2d4 Merge pull request #6 from EckoEdc/patch-4
Fix typo in Makefile.am
2015-06-02 10:44:07 -04:00
Edric 256a3974fd Fix typo in Makefile.am 2015-06-02 10:40:11 -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
Adrien Béraud 0c1ddba28a Merge pull request #5 from EckoEdc/patch-3
Typo in configure.ac test for mingw32
2015-05-30 15:08:27 -04:00
Edric 7cd8335494 Update configure.ac 2015-05-15 14:40:13 -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
Guillaume Roguez 23961ad9f3 dht: fix buffer-overflow in Dht::blacklistNode
ASAN build shows a buffer-overflow that happens frequently
when blacklistNode tryies to remove blacklisted node from
searches using erase/remove_if std C++ pattern.
This is more frequent using optimized build (gcc -O3).
erase/remove_if pattern is a valid design, so it may be a
failure in stdc++ implementation (not confirmed).
To solve that we fallback to an explicit search loop/erase
pattern.

Signed-off-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
2015-05-14 09:28:49 -04:00
Guillaume Roguez b50f368dc8 infohash: fix buffer-overflow
Fix buffer-overflow occuring in InfoHash(const std::string&)
constructor.
2015-05-12 22:50:55 -04:00
Guillaume Roguez 48c10af32f crypto: revert to DER fmt to pack certificate
Seems that Ring is not able to use PEM certificate.
Until we found a right way to use PEM, revert to DER format.
2015-05-01 11:13:35 -04:00
cberaud 06a32eedd1 Certificate: add option to not export the whole chain 2015-04-30 22:02:27 -04:00
Adrien Béraud 892af7a843 crypto: export the actual CAwith the chain 2015-04-30 21:52:38 -04:00
Adrien Béraud ac492aaa7b findCertificate: check for empty function 2015-04-28 11:55: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 bdbc66e0b0 crypto: fix certificate chain export 2015-04-24 15:56:31 -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 02e8638b7f Merge pull request #3 from savoirfairelinux/feature/ValueSerializable
Merge new type system
2015-04-16 13:46:34 -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 f68f03dd7b dhtchat: allow to send encrypted messages 2015-04-16 11:36:48 -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 1783f3da01 Update README.md 2015-04-13 00:36:02 -04:00
Adrien Béraud 6c42df6c8a Merge pull request #2 from benkant/fix-dhtchat-compile
tools: fix dhtchat compile, include random
2015-04-08 10:09:09 -04:00
Ben Giles 953b512d32 tools: fix dhtchat compile, include random 2015-04-08 08:40:32 +02:00
Adrien Béraud d42f404f26 dht: improve update time consistency 2015-04-07 11:07:48 -04:00
Adrien Béraud 0518051cf9 Update README.md 2015-04-06 17:07:40 -04:00
Adrien Béraud 06988396e9 searches: only remove old expired nodes 2015-04-06 12:35:09 -04:00
Adrien Béraud 8512c01149 dht: update doc 2015-04-06 02:08:08 -04:00
Adrien Béraud d03f09f810 dht: proprely update receive time 2015-04-06 02:07:47 -04:00
Adrien Béraud 39b8ca3fce searches: prefer to remove expired nodes 2015-04-06 00:04:10 -04:00