Commit Graph
55 Commits
Author SHA1 Message Date
Adrien Béraud 0420ebcce3 dhtinterface: pass listen filters by value 2018-01-17 11:40:18 -05:00
AmarOk d19ba2cb41 proxyserver: add lock_guard to avoid to manually unlock 2017-12-06 14:43:28 -06:00
Sébastien Blin eb750f5b7f proxy_client: execute callbacks in main thread 2017-11-27 17:51:33 -05:00
Sébastien Blin 5967c89c23 proxy: don't reinit dhtproxy multiple times and forward encrypted messages
+ Having a null dht_proxy_client can lead to using nullptr.
+ securedht should forward messages if we are using a proxy.
+ Protect callback segfault
2017-11-22 16:09:45 -05:00
Sébastien Blin cb72c104fd proxy: implement basic DhtProxyClient with the ability to get and put.
+ Add an abstract class to describe the Dht
+ Now, we can modify the Dht linked to a SecureDht. So we can choose
between the classic Dht and the Dht using a proxy.
+ Implement a basic client which can Get and Put values on the Dht using
the proxy.

Note: Update dhtnode to have the ability to use the DhtProxyClient.
Todo: Implement Listen, ping, connectivityChanged for the client.
2017-11-20 15:45:29 -05:00
Adrien Beraud dc99919338 InfoHash: add explicit operator bool() 2017-11-01 11:59:11 -04:00
Adrien Béraud 1a54aff7bc storage policies: use SockAddr
API-breaking change to use const SockAddr& instead of sockaddr*.
2017-10-13 01:10:09 +02:00
Adrien Beraud 73bcebf355 license cleanup 2017-04-10 01:43:20 +02:00
Simon Désaulniers 9d83ee169b dht: randomize id in Dht layer 2017-02-07 15:58:04 -05:00
Adrien Béraud ac65ca5177 add shortcut Sp for std::shared_ptr 2017-01-24 23:38:31 -05:00
Simon Désaulniers b03a8b5b50 update license notice (2017) 2017-01-13 17:27:29 -05:00
Adrien Béraud 3af04a4259 securedht: use default max expiration for putSigned 2016-10-23 17:23:39 -04:00
Adrien Béraud 78d98822a5 securedht: use default max expiration for putEncrypted 2016-10-23 16:47:37 -04:00
Adrien Béraud 76fd216386 crypto: drop support for GnuTLS < 3.3 2016-09-06 17:18:16 -04:00
Adrien Béraud e57eb63c87 securedht: don't complain about certificate announcement 2016-09-06 12:06:30 -04:00
Adrien Béraud 7a6dce4727 securedht: don't complain about certificate announcement (reverted from commit 85a9dbafc6) 2016-09-01 17:12:28 -04:00
Adrien Béraud 85a9dbafc6 securedht: don't complain about certificate announcement 2016-09-01 12:46:39 -04:00
Simon Désaulniers a4834efd37 dht: use queries in dht 2016-07-10 19:26:13 +02:00
aviau 63f1a736f4 fixed typos 2016-06-27 19:33:52 +02:00
Adrien Béraud 33f29e95f4 value: add common crypto ops 2016-06-15 13:35:44 -04:00
Simon Désaulniers 10e5439048 securedht: permanent put of a certificate. 2016-06-03 17:20:58 -04:00
Simon Désaulniers dcca94aab7 dht,api: enable optional permanent put on dht
A permanent put is going to be executed once and every time the data expires on
each SearchNode.
2016-06-03 17:20:58 -04:00
Adrien Béraud 4d75f64576 log: rename ERROR to ERR to build on Windows 2016-05-27 12:30:32 -04:00
Adrien Béraud e68a2fd967 securedht: add public key cache 2016-05-17 20:39:16 -04:00
Adrien Béraud cc18afd818 value: make 'owner' a shared_ptr 2016-05-17 20:39:16 -04:00
Adrien Béraud 8cc53b1751 add node cache, split dhtrunner.h from dht.h 2016-05-08 00:37:52 -04:00
Simon Désaulniers 4b13fcac70 fixing various compilation errors 2016-05-02 15:25:14 -04:00
Adrien Béraud e00c8e9598 update copyright headers for 2016 2016-01-07 18:02:35 -05:00
Adrien Béraud 7e346cfcb8 update license terms
* removed OpenSSL exception
  (OpenDHT doesn't make use of OpenSSL)
* properly capitalize "Savoir-faire Linux"
2015-11-08 16:06:30 -05:00
Adrien Béraud 40f7399d48 value: encypted value is not signed (until decrypted) 2015-08-23 17:36:24 +02: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 70dfb4bbcf use msgpack for dht protocol and value serialization 2015-08-13 11:28:29 -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 d2c57b867d update copyright headers 2015-07-10 23:25:43 -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
cberaud 41406833a8 add crypto::random_device 2015-05-15 19:57:04 +05:30
Adrien Béraud ac492aaa7b findCertificate: check for empty function 2015-04-28 11:55:27 -04:00
Adrien Béraud 4438df238e securedht: add registerCertificate(cert) 2015-04-21 16:03:33 -04:00
Adrien Béraud 9861175675 types: new ValueSerializable API, separate default types 2015-04-15 15:51:02 -04:00
Adrien Béraud 13902b0f19 run filter after decryption & security verifications 2015-02-24 11:53:36 -05:00
Adrien Béraud cb2d14e905 add DhtMessage type for node-to-node communication 2015-02-22 21:04:46 -05:00
Adrien Béraud 1883d7f387 cosmetics 2015-02-04 11:13:31 -05:00
Adrien Béraud d178984b6a check for null value filters 2015-02-04 11:10:52 -05:00
Adrien Béraud b97e323f78 fix some encryption issues 2014-12-16 15:10:22 -05:00
Adrien Béraud c9528f3536 securedht: retransmit return value 2014-12-15 16:33:24 -05:00
Adrien Béraud 2f2177e957 runner: use a queue to process operations 2014-12-11 16:46:29 -05:00