Maxim Shishmarev
ce5bb651d1
Allow messenger clients to proxy to Loki's file server
2019-12-18 15:14:11 +11:00
Maxim Shishmarev
4ff4e632ee
Allow messenger clients to proxy to other snodes
2019-12-18 13:50:27 +11:00
Maxim Shishmarev
adaa4c1de7
Add public ed25519 key derivation
2019-12-12 16:10:38 +11:00
Maxim Shishmarev
d28a09b28a
Incorporate new keys
2019-12-12 13:48:49 +11:00
Jason Rhinelander
b35a92625a
Fetch SN private key from lokid on startup
...
This changes storage server to fetch the SN private key via the RPC call
added in lokid 6.x (which is also used by lokinet) at startup (i.e.
before starting the main event loop).
As a useful side effect of this change it delays storage server startup
until lokid is ready and running as a service node, which means we get
earlier diagnostics about failures from storage server. It also means
that lokid is very likely to get a ping from the storage server right
away--currently if you restart both storage server starts up must faster
and so the first ping typically fails, which means lokid can't send
uptime proofs until after the second ping.
The --lokid-key option is still accepted as an argument but now ignored
(so that people with it in a config file can still start up).
This also adds a templated function to convert byte sequences to hex to
be able to print it. (Also removes one from http_connection.cpp that
did the same via sodium for a specific `std::array<uint8_t, 32>`, but
that wasn't actually called anywhere).
2019-12-04 01:04:40 -04:00
Jason Rhinelander
b0dee93624
Allow overriding lokid rpc ip
...
This makes it easier to work with advanced SN setups that, for example,
split duties between local machines without having to set up port
forwarding.
2019-12-03 15:55:16 -04:00
Maxim Shishmarev
8c9192898c
More robust clean-up for incoming connections
2019-10-25 11:28:19 +11:00
Maxim Shishmarev
21d0683f7f
Improve diagnostics for open file descriptors
2019-09-25 16:51:05 +10:00
Maxim Shishmarev
6a999b06a0
Properly shutdown http (lokid) connection on deadline timer
2019-09-25 12:15:46 +10:00
Maxim Shishmarev
3e83f84dca
Merge pull request #269 from msgmaxim/correct_hash_testing
...
Derive tester/testee based on older (more stable) block
2019-09-06 14:28:07 +10:00
Maxim Shishmarev
a0f152018f
Derive tester/testee based on older (more stable) block
2019-09-03 16:51:10 +10:00
Maxim Shishmarev
69aa778a70
Make storage server aware of decommissioned nodes; test them
2019-09-02 17:40:17 +10:00
Maxim Shishmarev
d05e65e1c2
Periodically ping other service nodes
2019-08-26 17:29:38 +10:00
Maxim Shishmarev
5d09fbe617
Separate type for user pubkey
2019-08-23 11:58:16 +10:00
Maxim Shishmarev
1860248061
Expose error logs via get_logs endpoint
2019-08-07 17:57:07 +10:00
Maxim Shishmarev
bcd6408831
Don't foget to unsubscribe connections from message notifications ( #214 )
2019-07-05 16:49:26 +10:00
Beaudan Campbell-Brown
966c60f0bd
Bootstrap ips ( #213 )
...
* Initial swarm bootstrapping from seed nodes
* Bootstrap the IPs when we have finished syncing, plus don't overwrite valid IPs with defaults
* Review fixed plus lint
2019-07-05 16:15:47 +10:00
Beaudan Campbell-Brown
b2311e65f4
Merge pull request #206 from sachaaaaa/cleanup_main
...
Declutter main
2019-07-03 14:09:36 +10:00
sachaaaaa
0eac8bbefb
declutter main: extract command line parser logic and logging stuff
2019-07-02 16:43:54 +10:00
Beaudan
e918e1c44a
Make parse_swarm_update take a block update reference rather that a callback
2019-07-01 17:08:17 +10:00
sachaaaaa
119af0697b
Send/verify signature of ssl certificate for snode 2 snode ( #180 )
...
* sign cert
* missing changes
* fix bad merge
* use sn_record_t::pub_key() + clang format
* prevent clang format from reordering #includes
* Address reviews
* need travis to find openssl 1.1.1
2019-06-27 14:08:14 +10:00
Maxim Shishmarev
c2d393abc6
Final (minor) API changes before the release ( #181 )
...
* remove namespace service_node
* API changes
* fix unit tests not compiling
* clang format
2019-06-26 14:42:45 +10:00
Maxim Shishmarev
9f73e4705a
Merge pull request #173 from msgmaxim/blockchain-req
...
More refactoring: use a common interface for all Lokid requests
2019-06-24 10:22:12 +10:00
Maxim Shishmarev
d1736a04e9
run clang format
2019-06-24 10:20:43 +10:00
Maxim Shishmarev
881f294ff2
Use lokid client to get swarms
2019-06-21 17:49:56 +10:00
Maxim Shishmarev
f130de3643
Use lokid client to send pings
2019-06-21 17:20:19 +10:00
Maxim Shishmarev
bb8fa64a91
Use lokid_client for blockchain requests
2019-06-21 16:30:26 +10:00
Maxim Shishmarev
4b1dbb2127
small refactor: use common function for sn-sn calls
2019-06-21 12:26:17 +10:00
Beaudan
bd0d4efa0d
Add HTTP_ERROR, only trigger callback once, move socket shutdown to destructor
2019-06-20 15:52:55 +10:00
Maxim Shishmarev
681bf862ed
better command line arguments handling
2019-06-19 13:25:24 +10:00
Maxim Shishmarev
bcefe0a400
Provide RPC endpoint for retrieving peer test results and other stats ( #160 )
...
* Provide RPC endpoint for retrieving peer test results and other stats
* use deque instead of vector
* cutoff as 60 mins from now
2019-06-18 14:54:32 +10:00
Beaudan
135dbb4a05
Only retry storage test for 1 min. Plus a cheeky format
2019-06-17 16:59:01 +10:00
Maxim Shishmarev
7e2f5d3a8d
Merge pull request #150 from loki-project/master
...
Merge master into dev
2019-06-07 17:01:10 +10:00
sachaaaaa
b607bcb920
use ssl in new "make_https_request" function, used for sn to sn comm
2019-06-07 10:05:05 +10:00
sachaaaaa
1e4e3dbac5
enable SSL for http server
2019-06-07 10:04:34 +10:00
Maxim Shishmarev
94149d3d45
perform blockchain testing alongside storage testing
2019-05-30 10:57:49 +10:00
sachaaaaa
a398a2b412
Token Bucket rate-limiting for snode to snode requests
2019-05-27 16:06:49 +10:00
Maxim Shishmarev
9c1be0cbc1
check tester before performing storage test
2019-05-15 11:20:55 +10:00
Maxim Shishmarev
8704a23b55
disambiguate method name
2019-05-13 15:14:45 +10:00
Maxim Shishmarev
104b72697a
check signature for message test requests; address other review comments
2019-05-13 11:20:46 +10:00
Maxim Shishmarev
6314864335
add responding to message tests, retrying if necessary
2019-05-10 15:47:26 +10:00
sachaaaaa
d823bf2a69
command line lokid rpc port option
2019-05-10 11:27:26 +10:00
Maxim Shishmarev
7fe55d7651
Peer testing, part I: select tester and testee
2019-05-06 14:15:34 +10:00
sachaaaaa
8240222798
Addressed all suggestions
2019-05-06 11:43:59 +10:00
sachaaaaa
64f850469c
Generate and verify signatures for inter-snode requests
2019-05-02 16:34:22 +10:00
sachaaaaa
69c364cc18
Improve naming and pass-by-reference consistency
2019-05-02 15:00:01 +10:00
Maxim Shishmarev
53631df28d
explicitly write response on quit (test only code)
2019-05-01 12:37:31 +10:00
Maxim Shishmarev
c8f647a928
Merge pull request #80 from msgmaxim/fix-warnings
...
remove unused code and fix some warnings
2019-04-26 11:40:47 +10:00
Maxim Shishmarev
1215aba6b9
combine code for single messages and batches ( #81 )
...
* combine code for single messages and batches
* fix typo
2019-04-24 16:59:41 +10:00
Maxim Shishmarev
e7aa6a00d0
Merge pull request #79 from msgmaxim/resend-on-failure
...
Retry pushing single messages on failure
2019-04-23 16:12:58 +10:00