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
Simon Désaulniers
d60672e8ba
dht: remove unnecessary return value
2016-09-07 16:15:06 -04:00
Adrien Béraud
76fd216386
crypto: drop support for GnuTLS < 3.3
2016-09-06 17:18:16 -04:00
Adrien Béraud
91a1471de5
build/autotools: fix build flags
2016-09-06 17:16:33 -04:00
Adrien Béraud
e57eb63c87
securedht: don't complain about certificate announcement
2016-09-06 12:06:30 -04:00
Adrien Béraud
8461f4018d
crypto: avoid using std::to_string
2016-09-06 12:06:30 -04:00
Adrien Béraud
c33c2e7e95
crypto: add key, hash length parameters
2016-09-06 12:06:30 -04:00
Adrien Béraud
7919ca8de1
dht: fail pending operations before clearing them
2016-09-02 14:30:08 -04:00
Adrien Béraud
00ef660952
dht: hide more internal structures
2016-09-02 14:30:08 -04:00
kaldoran
34c6b264df
Add filter of duplicate value
2016-09-01 18:02:23 -04:00
kaldoran
2d8fe502f2
Fix print of the lookup output
2016-09-01 18:02:23 -04:00
kaldoran
73df308250
Adding ZCurve algorithm
2016-09-01 18:02:23 -04:00
kaldoran
cdca40cb59
Rework prefix [add flags] and prepare prefix
2016-09-01 18:02:23 -04:00
kaldoran
2a3c301314
dht: Fix get and put at the same time on a same node
...
When the put is performed just after a get, then the get will not include the value which was in the put.
2016-09-01 18:02:23 -04:00
kaldoran
ae26a2b39a
Update of algorithm, by using new feature of api
2016-09-01 18:02:23 -04:00
kaldoran
48c40c8a27
pht: correction on the algorithm of complet node splitting
2016-09-01 18:02:23 -04:00
kaldoran
a4a4eee495
pht: introduction of complet node splitting
2016-09-01 18:02:23 -04:00
Simon Désaulniers
b6832869b1
pht: moved some defs in cpp file
2016-09-01 18:02:23 -04:00
Simon Désaulniers
cba240e15e
pht: fix invalid comparison, inexact match lookup
2016-09-01 18:02:23 -04:00
Adrien Béraud
eb90fffb5e
update for API changes
2016-09-01 18:02:23 -04:00
kaldoran
33fae1cb66
pht: add prefix cache
2016-09-01 18:02:23 -04:00
Kaldoran
cc070c80ba
Fix the autotool Makefile, missing pht include
...
Fix indentation for pull request #37
Fix include error, and use only needed file in pht
Fix implementation of function in pht
2016-09-01 18:02:23 -04:00
Simon Désaulniers
5a239cddf7
pht: fix insert always to root bug
...
This makes the pht node recover all indexed data on a DHT node (maximum
MAX_NODE_ENTRY_COUNT per node) so that the pht node can be aware if it has to
split its data in the leaf.
2016-09-01 18:02:23 -04:00
Simon Désaulniers
48b0cff08e
pht: fix multiple DoneCallBack calls
2016-09-01 18:02:23 -04:00
Simon Désaulniers
63c4eeb9c9
cover empty leaf case in inexact match lookup
...
In case this is inexact match lookup and we end up on an empty leaf (diffrent
than the root), the search goes on in the leaf's sibling subtree.
2016-09-01 18:02:23 -04:00
Simon Désaulniers
9c4035dd8f
add inexact match lookup
...
This is meant to enable random lookup queries.
2016-09-01 18:02:23 -04:00
Simon Désaulniers
acc2b71c86
base pht indexation
2016-09-01 18:02:23 -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
d1d0a67d35
dht: fix public address sorting
2016-09-01 12:46:39 -04:00
Adrien Béraud
85a9dbafc6
securedht: don't complain about certificate announcement
2016-09-01 12:46:39 -04:00
Simon Désaulniers
73686debaf
dht: before sending 'listen', send find_node
...
Since pagination, a bug was making the listen feature unusable running in
infinite loop. This also makes more sense than sending 'get' since the listen
request is paired with a Query defining the values that have to be fetched.
2016-08-30 15:51:50 -04:00
Adrien Béraud
97950621cd
crypto: check max data size for sign
2016-08-25 00:42:50 -04:00
Adrien Béraud
b3401828e4
dht: set "connecting" state when waiting for a ping
2016-08-25 00:42:50 -04:00
Simon Désaulniers
8d7deffa6a
dht: properly find pending satisfying query
...
In SearchNode::canGet, we don't send a 'get' request to a search node if a
satisfying query for the query we want to send is already pending. This patch
honors this behavior.
2016-08-22 18:45:29 -04:00
Simon Désaulniers
669c08210e
dht: erase find node request status when done
...
This was memory leak and produced inconsistency in SearchNode::canGet timings.
2016-08-22 18:26:53 -04:00
Adrien Béraud
27a3231a55
argon2: bump source
2016-08-18 10:10:03 -04:00
Adrien Béraud
2759a136df
infohash: add istream operator overload
2016-08-16 10:27:31 -04:00
Adrien Béraud
690682408b
build with -pedantic-errors, fix pedantic build errors
2016-08-16 10:26:44 -04:00
Simon Désaulniers
e9bf042ac5
dht: document SearchNode::canGet
2016-08-15 13:44:52 -04:00
Simon Désaulniers
5aab3078c8
dht: properly handle pagination timings
2016-08-15 12:13:16 -04:00
Simon Désaulniers
1ac5840bb1
dht: let nodes expire properly
...
The line with `srn->getStatus[query]->setExpired()` in searchNodeGetExpired was
messign with the node expiration process.
2016-08-14 22:08:52 -04:00
Simon Désaulniers
426b3d6834
dht: pagination queries should be in SearchNode
...
Pagination queries must to be kept in seperate list per node. Otherwise, two
searches could be blocking each others or generating unwanted behavior.
2016-08-11 12:27:04 -04:00
Simon Désaulniers
5c41cbb964
dht: value pagination
...
Instead of literally asking to a node all values for givent `h`, we first ask
for all ids the node has. Then, we concurently and individually ask for each
values that match each id we recovered in our first request.
2016-08-09 15:43:55 -04:00
Simon Désaulniers
e192e3beaf
better indentation and comments
2016-08-09 15:42:05 -04:00