Simon Désaulniers
66e8cf431b
add missing MSG_CONFIRM definition
2016-05-02 15:25:15 -04:00
Simon Désaulniers
c299385401
add forgotten sendPing signature change
2016-05-02 15:25:15 -04:00
Simon Désaulniers
e32e480a12
fixing scheduler wrong time returned on run()
2016-05-02 15:25:15 -04:00
Simon Désaulniers
8b35e2bc09
fix some segfault errors
2016-05-02 15:25:15 -04:00
Simon Désaulniers
848d95c8b2
Properly handling request status as shared_ptr
...
this is concerning the shared_ptr objects in SearchNode.
2016-05-02 15:25:15 -04:00
Simon Désaulniers
e8ec4bb8b4
fix scheduler wrong returned time upon run()
...
makes more sense to return the "nextJobTime".
2016-05-02 15:25:15 -04:00
Simon Désaulniers
82f67f642f
fix wrong nodes serlialisation bug
2016-05-02 15:25:14 -04:00
Simon Désaulniers
244877526f
fix blacklisting for wrong reason.
2016-05-02 15:25:14 -04:00
Simon Désaulniers
1e485b1b0c
handling sending requests 3 times before expire
2016-05-02 15:25:14 -04:00
Simon Désaulniers
cc0d3f4195
all refs to Search are std::shared_ptr
2016-05-02 15:25:14 -04:00
Simon Désaulniers
b74e42eae9
using scheduler for timing dht operations
2016-05-02 15:25:14 -04:00
Simon Désaulniers
8364a61082
moving network stuff to NetworkEngine
...
dht_socket variables can be handled in NetworkEngine. Dht::network_engine now
declared as value instead of std::unique_ptr.
2016-05-02 15:25:14 -04:00
Simon Désaulniers
4b13fcac70
fixing various compilation errors
2016-05-02 15:25:14 -04:00
Simon Désaulniers
2df9cd5363
send* calls to network engine + on done routines
2016-05-02 15:25:14 -04:00
Simon Désaulniers
69fab983f5
[WIP] ondone + searchnode status
2016-05-02 15:25:14 -04:00
Simon Désaulniers
74b265641d
checking UDP replytime in network engine
2016-05-02 15:25:14 -04:00
Simon Désaulniers
ba8d1af008
using map for ordering searches structures
...
Now ordering searches by InfoHash in different maps (ipv4 and ipv6). This is a
minor improvement for queries over searches.
2016-05-02 15:25:14 -04:00
Simon Désaulniers
9faef0427f
send* methods return NetworkEngine::RequestStatus
...
Previously, the request id was returned. This was needed for cancelling
requests. Returning std::shared_ptr<RequestStatus> enables cancelling the
requests, checking if a request is done and access to timings concerning this
request. This will replace the SearchNode's RequestStatus.
2016-05-02 15:25:14 -04:00
Simon Désaulniers
4383e83dda
add initial schedular class.
2016-05-02 15:25:14 -04:00
Simon Désaulniers
0f94e0de0c
moved infohash constexpr where appropriate
2016-05-02 15:25:14 -04:00
Simon Désaulniers
a1333fcaa5
handling notify listeners when storage changed
2016-05-02 15:25:14 -04:00
Simon Désaulniers
f93fb92ff5
add NetworkEngine::processMessage
2016-05-02 15:25:14 -04:00
Simon Désaulniers
2a61d79b42
enabling DHT log in network engine.
2016-05-02 15:25:14 -04:00
Simon Désaulniers
44d5a0620c
add reception callbacks
2016-05-02 15:25:14 -04:00
Simon Désaulniers
90b73bca56
add closest nodes buffering methods
2016-05-02 15:25:14 -04:00
Simon Désaulniers
594de2bd88
factorized common dependencies
2016-05-02 15:25:14 -04:00
Simon Désaulniers
48512bfd0f
delete packet processing methods in dht.cpp
2016-05-02 15:25:14 -04:00
Simon Désaulniers
9e950c8fed
serialization and packing methods
2016-05-02 15:24:58 -04:00
Simon Désaulniers
91fa097195
add template erase_if for map
2016-05-02 15:24:58 -04:00
Simon Désaulniers
ee3caba05e
add intial NetworkEngine class
2016-05-02 15:24:58 -04:00
Adrien Béraud
9b45eabb00
infohash: remove std::hash
...
InfoHash is an hash itself, std::hash reduces the precision,
could cause potential security issues or bugs.
2016-05-01 15:27:13 -04:00
Adrien Béraud
08c21069c4
filters: add 'or' chaining
2016-04-30 03:16:05 -04:00
Adrien Béraud
1af71e88a7
filters: handle null filter in chain()
2016-04-30 03:16:05 -04:00
Adrien Béraud
54143d58bf
dht: limit search nodes
...
* Don't remove candidate nodes (they are counted as "bad" nodes)
* Remove as much nodes as necessary to keep the node count bounded
2016-04-26 15:35:28 -04:00
Adrien Béraud
4683310933
extend fix to previous GCC versions
...
Fix suport of GCC 4.8 by extending the fix to
versions before 4.9
2016-04-21 21:46:37 -04:00
Guillaume Roguez
ed7a92481c
fix support of gcc 4.9
...
Some Android NDK uses gcc 4.9.0 and this one has a bug
that prevent to use "default" keyword to assign defaulted
methods (like move-constructor).
This issue is solved in 4.9.2.
This patch permits gcc 4.9.0 support by implementing
by hand previously defaulted methods.
2016-04-19 16:25:51 -04:00
Adrien Béraud
69e3addb2c
crypto: add CA certificate generation options
2016-04-19 12:30:42 -04:00
Adrien Béraud
30d5f7bea5
msgpack: add support for 1.4+
2016-04-14 23:05:37 -04:00
Adrien Béraud
db5cac4556
crypto: avoid forward declarations
2016-04-11 15:16:36 -04:00
Adrien Béraud
1c8735e71a
crypto: use argon2 for key stretching
2016-04-11 15:16:36 -04:00
Adrien Béraud
52b10819de
crypto: add key stretching
2016-04-11 15:16:36 -04:00
Adrien Béraud
a7da1b4288
Merge pull request #57 from sim590/benchmark-dht-log
...
Enabling dht log in the benchmark
2016-04-11 12:06:42 -04:00
Guillaume Roguez
5d9c6090dd
dht: ensure to not copy Storage instances
...
This path deletes copy-constructor and copy-assignement and
default defines move-contructor and move-assignement methods.
Also uses emplace_back than push_back on dht::store vector
to have a better efficiency.
Signed-off-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com >
2016-04-11 11:46:24 -04:00
Adrien Béraud
8d69de598a
Merge pull request #55 from sim590/progressive-refill
...
Search progressive refill optimisation
2016-04-11 11:28:44 -04:00
Adrien Béraud
49db43372b
im message: add status field
2016-04-10 19:43:50 -04:00
Simon Désaulniers
2329239843
add delay between two successive refills
...
3 searchStep calls is what's needed to flag a node expired. So waiting at least
3 times SEARCH_GET_STEP time seems reasonable.
2016-04-08 23:12:09 -04:00
Simon Désaulniers
21667141ad
refill Search in unsynced state as much as needed
...
Search::refilled removed so that any number of refill may be done.
2016-04-08 23:11:02 -04:00
Simon Désaulniers
e9bda23ae4
add Search::getNumberOfBadNodes() method
2016-04-08 23:10:05 -04:00
Simon Désaulniers
4e54ac3ac3
dht: adding dht::log common utilities namespace
2016-04-08 18:36:02 -04:00
Adrien Béraud
7b1707299c
crypto: improve documentation
2016-03-24 21:32:05 -04:00