Adrien Béraud
2d2fa9cfa9
OpenDHT 1.1.0
...
* automatic connection loss recovery
* dhtrunner: asynchronous DNS lookup for bootstrap
* handle values up to 64k
* better support for large values on macOS
* dht: add callback to pingNode
* fix compilation with recent clang versions
1.1.0
2016-10-11 17:36:12 -04:00
Adrien Béraud
9f11930f3d
fix compilation on latest clang
2016-10-11 16:34:40 -04:00
Adrien Béraud
013b1dfe2e
Merge pull request #138 from sim590/connectivity-changes-detect
...
search: detect connectivity changes
2016-10-11 16:01:59 -04:00
Simon Désaulniers
733f699ff2
search: detect connectivity changes
...
The number of bad nodes is limited in order to help determine presence of
connectivity changes. See https://github.com/savoirfairelinux/opendht/issues/137
for details.
According to the tables, 25 is a good average value for big networks. If the
network is small, normal search expiration process will handle the situation.
2016-10-11 15:54:37 -04:00
Adrien Béraud
a366d502a2
fix compilation on latest clang
2016-10-11 15:50:49 -04:00
Adrien Béraud
eed8ffc792
Merge pull request #139 from savoirfairelinux/recover-from-network-changes
...
dhtrunner: recover from network changes
2016-10-11 11:57:31 -04:00
Adrien Béraud
998547e1a1
Merge pull request #136 from savoirfairelinux/feature/value_fragment
...
network: transmit large values in multiple packets
2016-10-11 11:57:18 -04:00
Simon Désaulniers
8567b7ad84
network_engine: expire requests when clearing NE
...
This is to prevent any thread relying on network_engine's callback to block
forever just like the Dht::sendPing's callback.
2016-10-10 01:51:26 -04:00
Adrien Béraud
64118404fe
dhtrunner: recover from network changes
...
Using a list of bootstrap nodes, we recover from network loss by pinging those
nodes continuously until connected.
Written with Simon Désaulniers.
2016-10-10 01:51:26 -04:00
Simon Désaulniers
bb74dc846c
dht/dhtrunner: enable callback for pingNode
2016-10-10 00:23:53 -04:00
Adrien Béraud
659d893dee
network: transmit large values in multiple packets
2016-10-09 16:22:33 -04:00
Simon Désaulniers
e3f371c2d8
bump version
1.0.2
2016-10-06 08:27:00 -04:00
Adrien Béraud
f53c7a6785
dht: keep track of storage usage in maintainStorage
2016-10-04 03:09:00 -04:00
Adrien Béraud
261c193b50
Merge pull request #133 from sim590/sync-enhancements
...
dht: bug fixes, timing computation enhancements
2016-09-24 19:07:05 -04:00
Simon Désaulniers
dc0b650aa3
dht: make sure we are synced before sending put
2016-09-23 19:27:59 -04:00
Simon Désaulniers
87cf6faedd
dht/node: don't allow more than 3 auth errors
2016-09-23 19:27:59 -04:00
Simon Désaulniers
ca6aa6706d
dht/value: make 'find_node' queries satisfied by any queries
...
'find_node' requests don't ask for values. Then, the idea of a Query makes less
sense, but since we still need those to map status to network engine requests,
we introduce dummy queries which with the field Query::none. Those queries will
then only serve as key to network engine's requests.
2016-09-23 19:27:58 -04:00
Simon Désaulniers
16e55416a6
network_engine: fix bug token not sent for listen
2016-09-23 19:27:58 -04:00
Simon Désaulniers
3e24058175
dht: fix SearchNode's getListenTime computation
...
When no listen request have been sent yet, getListenTime should tell it's okay
to send pending listen request.
2016-09-23 19:27:55 -04:00
Simon Désaulniers
d1c2b20b28
dht: canGet must allow sending when no token
2016-09-23 13:48:04 -04:00
Adrien Béraud
ccd0cbd8f2
add per IP rate limiting ( #131 )
2016-09-21 15:44:20 -04:00
Adrien Béraud
e5213674e3
value: fix compilation on older clang
2016-09-20 17:02:29 -04:00
Adrien Béraud
b9cc848810
cmake: remove OPENDHT_DEBUG flag
...
Replace with -DCMAKE_BUILD_TYPE=Debug
2016-09-20 00:04:39 -04:00
Adrien Béraud
65bdfaf22b
autotools: fix 'make dist'
2016-09-18 13:55:14 -04:00
Adrien Béraud
de31d836b4
Merge pull request #132 from savoirfairelinux/feature/map_storage
...
dht: use a map for storage
2016-09-18 13:02:03 -04:00
Adrien Béraud
25b339956e
tools: gnutls cleanup
2016-09-16 01:43:58 -04:00
Adrien Béraud
23bb6e7a45
dht: use a map for storage
2016-09-16 01:29:33 -04:00
Adrien Béraud
b44f7ec653
Merge pull request #130 from savoirfairelinux/feature/sockaddr
...
introduce SockAddr to store IP addresses
2016-09-15 23:46:57 -04:00
Adrien Béraud
6d38c18572
introduce SockAddr to store IP addresses
2016-09-15 01:38:26 -04:00
Simon Désaulniers
8eaf78bfe2
bump version
1.0.1
2016-09-14 19:06:51 -04:00
Simon Désaulniers
dc836b38a6
build: use -pedantic-errors flag in autotools
2016-09-14 19:06:20 -04:00
Adrien Béraud
b01f8d079b
Merge pull request #128 from sim590/concurrent-queries
...
[dht] concurrent queries
2016-09-14 18:12:47 -04:00
Simon Désaulniers
6f7ac21a85
dht: refactor code, terminating a Search (isDone)
...
More code encapsulated in objects method is better for keeping consistent
behavior.
2016-09-14 18:06:25 -04:00
Simon Désaulniers
7c5db84f33
dht: take multiple queries into account
...
The code preceding this would just not take multiple concurrent queries for a
same search into account. This is a bug fix for a bad behavior since the
queries.
2016-09-14 18:06:23 -04:00
Simon Désaulniers
4fecb2066b
dht: SearchNode::canGet criteria using 'update'
...
The criteria has been rewritten (again) exploiting the idea behind the parameter
'update' to take into account the case where we have new distinct requests to
send, then bypass some checks.
2016-09-14 18:06:12 -04:00
Adrien Béraud
eabdddcfb3
dht: fix warnings
2016-09-08 18:02:17 -04:00
Adrien Béraud
ceab27d723
value: optimize chainAll for empty filters
2016-09-08 17:22:34 -04:00
Adrien Béraud
a9cc669a95
dht: clarify code
2016-09-08 15:52:18 -04:00
Simon Désaulniers
927c835b8f
dht: call all announce callback appropriately
2016-09-08 12:24:35 -04:00
Simon Désaulniers
5415eaaf60
dht: consider probe query in announce time
2016-09-08 12:24:35 -04:00
Simon Désaulniers
ec587f9b58
dht: make sure search can be flagged "done"
2016-09-08 12:24:35 -04:00
Simon Désaulniers
babfed73f3
dht: use SearchNode::acked for next announce time
2016-09-08 12:24:35 -04:00
Simon Désaulniers
2c0ce576e3
dht: enable data persistence
2016-09-08 12:24:35 -04:00
Simon Désaulniers
8f2cc937c5
dht: introduce light put
...
The 'put' operation will now first check if nodes already store the value we
have to announce. If so, we don't announce it to that node.
2016-09-08 12:24:35 -04:00
Adrien Béraud
c9f6567128
Merge pull request #127 from sim590/insert-node-export-fix
...
dht: Dht::insertNode has to really insert
2016-09-07 16:43:28 -04:00
Simon Désaulniers
d60672e8ba
dht: remove unnecessary return value
2016-09-07 16:15:06 -04:00
Simon Désaulniers
fd4cce4883
NetworkEngine: insertNode tells routing table
2016-09-07 15:54:16 -04:00
Adrien Béraud
df15d3d48e
Merge pull request #126 from savoirfairelinux/wip/crypto
...
crypto: drop support for GnuTLS < 3.3
2016-09-07 00:10:36 -04:00
Adrien Béraud
76fd216386
crypto: drop support for GnuTLS < 3.3
2016-09-06 17:18:16 -04:00
Adrien Béraud
48735aad94
build/cmake: use proper indentation
2016-09-06 17:16:33 -04:00