Adrien Beraud
79e266aac6
crypto: don't build getLongID() with old gnutls
2017-04-14 16:57:58 +02:00
Adrien Beraud
9d75ed14b4
infohash: add to_c_str(), improve toString() performance
2017-04-10 15:48:04 +02:00
Adrien Beraud
73bcebf355
license cleanup
2017-04-10 01:43:20 +02:00
Adrien Beraud
4132c63faf
def: fix typo
2017-04-09 17:22:18 +02:00
Adrien Beraud
2fc7cc57a9
default types: fix uninitialized fields
2017-04-05 18:15:34 +02:00
Adrien Beraud
732479736b
select: cleanup
2017-04-05 17:52:34 +02:00
Adrien Beraud
696ac1bbd5
network engine: print error if send fails
...
for now just print an error
2017-04-05 17:52:34 +02:00
Adrien Beraud
b73a50bace
pht: prevent unneeded use of shared_ptr
...
Prefer a const reference instead of shared_ptr if the shared_ptr
is not used and argument type is not changed in the method.
This allows to prevent useless shared_ptr allocations.
In getRealPrefix, use OpState to track state instead of using many
different shared_ptr.
2017-04-03 19:10:49 +02:00
Adrien Beraud
70ccbe4e40
value: remove FieldSelectorDescription
...
FieldSelectorDescription is just Value::Field and
adds nothing on top of it.
Remove it in favor of Value::Field.
2017-04-03 19:10:01 +02:00
Adrien Beraud
5823e98c76
rng: add missing header
2017-03-29 03:07:09 +02:00
Adrien Beraud
e2ce496779
crypto: add Certificate::getCopy()
2017-03-29 00:22:19 +02:00
Adrien Beraud
4540be7460
python: add more crypto bindings
2017-03-28 17:33:04 +02:00
Adrien Beraud
7c85b74de6
sockaddr: convert port to network/host byte order
2017-03-28 16:38:28 +02:00
Adrien Beraud
ff6e38571d
dhtrunner: add method to bootstrap with a single SockAddr
2017-03-28 15:44:09 +02:00
Adrien Beraud
36206a80fc
rng: add missing include
2017-03-08 17:50:26 +01:00
Adrien Beraud
ab7d175322
network engine: make buffer length depend on HASH_LEN
2017-03-07 23:14:25 +01:00
Adrien Beraud
802528266a
crypto: add secure_vector and SecureBlob
2017-03-07 23:00:10 +01:00
Adrien Beraud
95d98f4659
rng: add getSeededRandomEngine
...
Add a routine to seed a pseudo-engine to
use the full range of possible internal states
by using seed_seq.
2017-03-07 17:08:46 +01:00
Adrien Beraud
4176302a03
crypto: add PublicKey::toString()
2017-03-07 17:08:46 +01:00
Adrien Béraud
b08b2f14f2
sockaddr: add missing header and typedef
2017-02-17 12:09:33 -05:00
Simon Désaulniers
faf23195a4
dht: standardize announce status check
...
Fixes a bug where some callbacks wouldn't be called when a dummy request was
inserted to cancel some operation while not using the
net::Request::State::COMPLETED flag as per 19c47ec .
2017-02-16 16:29:21 -05:00
Adrien Béraud
c4d5621f67
network: treat loopback address as sender address
...
When learning about nodes in an answer,
we used to drop nodes with loopback address.
Address is now replaced by the packet sender
address and the port is preserved.
2017-02-10 00:10:11 -05:00
Adrien Béraud
aa2227bdfc
SockAddr: add utility methods
2017-02-09 23:49:06 -05:00
Adrien Béraud
93c5ad7cbc
crypto: make Certificate::isCA() more restrictive
2017-02-07 16:51:16 -05:00
Adrien Béraud
ac65ca5177
add shortcut Sp for std::shared_ptr
2017-01-24 23:38:31 -05:00
Adrien Béraud
435cd554e6
securedht: add getLongId()
2017-01-19 12:09:12 -05:00
Adrien Béraud
10c70ebd12
hash: add string I/O
2017-01-19 12:08:49 -05:00
Adrien Béraud
7da3ff1bba
hash: add support for SHA256 public key fingerprints
2017-01-18 16:08:31 -05:00
Adrien Béraud
cabe9dbeb5
dht: declare StorageBucket as class
2017-01-16 17:53:21 -05:00
Adrien Béraud
99b7a07350
sockaddr: make ipCmp comparator const
2017-01-16 17:51:59 -05:00
Simon Désaulniers
b03a8b5b50
update license notice (2017)
2017-01-13 17:27:29 -05:00
Adrien Béraud
32f5175d68
dht: expire storage just on time
2017-01-13 16:06:46 -05:00
Adrien Béraud
7d3a54db57
dht: storage rate limiting
2017-01-13 16:06:46 -05:00
Adrien Béraud
b6dca5ccd6
dht: use new NodeStats structure to provide stats
2017-01-10 23:34:56 -05:00
Adrien Béraud
23b2712400
dht: use SHA265 instead of SHA512 for the op token
...
The op token is renewed regularly (around every 30 minutes),
so SHA256 provides enough security for this non-sensitive token.
SHA256 takes 32 bytes instead of 64 bytes for SHA512,
and the token is included in every listen requests,
renewed every 30 seconds, and every answer to get.
In the context of limited bandwith usage, using SHA256 seems more appropriate.
This change is backward and forward compatible.
2017-01-10 23:34:56 -05:00
Adrien Béraud
63bec73885
default types: make TrustRequest a map, add confirm field
2017-01-10 14:24:42 -05:00
Simon Désaulniers
620868b5d6
routing_table: complete connecting state resolution
...
After a connectivity change, the DHT would enter the "connecting" state in order
to try to resolve good nodes. However, the previous algorithm would
probabilistically increase time for completion each time a node would fail to
resolve. We now avoid this by prioritizing non-expired nodes in the process.
Also, a subtle error would sensibly stop the process for 30 minutes due to using
the Node::NODE_EXPIRE_TIME constant instead of Node::MAX_RESPONSE_TIME.
2017-01-03 17:48:40 -05:00
Adrien Béraud
38aa86de2a
crypto/crl: add getIssuerName, getIssuerUID
2016-12-29 11:19:27 -05:00
Guillaume Roguez
d6e86ebcc9
remove InfoHash::toCString()
...
Implementation of InfoHash::toCString() is broken
2016-12-06 18:28:14 -05:00
Adrien Béraud
197aaa47f0
crypto: prevent duplicate CRLs, reimport after signing
2016-12-06 16:59:54 -05:00
Adrien Béraud
ad234004aa
crypto: store CRLs in a set
2016-12-05 15:43:00 -05:00
Adrien Béraud
a88e6a4c5f
crypto: make CRL default expiration same as certificate
2016-12-02 12:59:03 -05:00
Adrien Béraud
c776dad96f
crypto: add Certificate::getExpiration()
2016-12-02 12:58:10 -05:00
Adrien Béraud
31fedd529b
crypto: add CRL msgpack serialization
2016-12-01 18:42:26 -05:00
Adrien Béraud
e9adff9dc5
crypto: add CRL move operator, export as DER
2016-11-30 17:30:09 -05:00
Adrien Béraud
bfd58a204b
crypto: add CRL import/export methods
2016-11-30 16:31:29 -05:00
Adrien Béraud
867bcf1514
crypto: add EC key generation
2016-11-29 18:04:25 -05:00
Adrien Béraud
fb882ee440
crypto: add revocation list
2016-11-29 18:03:49 -05:00
Adrien Béraud
f73f5e2798
log: cosmetics
2016-11-29 01:27:42 -05:00
Istvan
e7db64bd74
Log functions are moved to log.cpp
...
Log functions are moved to the log.cpp
in order to avoid multiple definitions
of the logger functions.
2016-11-29 00:50:47 -05:00