Dmitriy Ryajov
df7003655b
wip
2020-08-05 20:26:25 -06:00
Jacek Sieka
8cd71eebd1
remove secureCodec
...
there may be multiple connections per peerinfo with different codecs
2020-08-05 20:22:51 -06:00
Jacek Sieka
b58640fbfc
use existing peerinfo instance if possible
2020-08-05 20:22:51 -06:00
Jacek Sieka
ab939e786c
prefer PeerID in switch api
...
This avoids ref issues like ref identity and nil
2020-08-05 20:22:51 -06:00
Giovanni Petrantoni
a3055cb24a
add peer ID to nil peer debug message
2020-08-05 20:22:51 -06:00
Giovanni Petrantoni
1dbf0e222b
Fix subclass calls to handleDisconnect
2020-08-05 20:22:50 -06:00
Dmitriy Ryajov
da03656164
fix leaks
2020-08-05 20:19:52 -06:00
Dmitriy Ryajov
fef6c43967
expose client field in chronosstream
2020-08-05 19:41:42 -06:00
Dmitriy Ryajov
60617d4d39
merge fixes
2020-08-05 19:36:54 -06:00
Dmitriy Ryajov
41d103bb9b
tcp limits
2020-08-05 19:33:46 -06:00
Giovanni Petrantoni
5c986cf657
Fix build, add some raises ( #315 )
...
* Fix build, add some raises
* wip
* wip more raises
* missing exc object in mplex
* proper lifetime for subscribePeer
Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
2020-08-05 19:30:57 -06:00
Ștefan Talpalaru
bd5d43874a
more expensive metrics ( #312 )
2020-08-05 14:02:26 +02:00
Dmitriy Ryajov
74a6dccd80
adding channel limits to mplex ( #309 )
2020-08-04 23:16:04 -06:00
Ștefan Talpalaru
145657895f
Azure: bump NimBinaries cache key ( #311 )
...
so the latest Nim compiler version can be cached
2020-08-05 01:38:16 +02:00
Ștefan Talpalaru
843d32f8db
put expensive metrics under a Nim define ( #310 )
2020-08-04 17:27:59 -06:00
Dmitriy Ryajov
cf2b42b914
Moving idle timeout to Connection to enable across all connection streams ( #307 )
...
* move idle timeout logic to connection
* more informative logs
* more informative logs
2020-08-04 07:22:05 -06:00
Giovanni Petrantoni
5f0637c49a
Audit curve fixes part2 ( #298 )
...
* refactor and fix mulgen (curve25519)
* crypto tests fixing
* fix some confusion in curve25519 mul
* removing ForbiddenCurveValues table and checks
* fix remaining merge issues
2020-08-04 18:19:26 +09:00
Giovanni Petrantoni
5cd93540fa
add a timeout during noise handshake ( #294 )
...
* add a timeout during noise handshake
* noise hs timeout into const
2020-08-04 17:04:16 +09:00
Giovanni Petrantoni
504e0444d3
refactor and fix mulgen (curve25519) ( #293 )
...
* refactor and fix mulgen (curve25519)
* crypto tests fixing
2020-08-04 14:07:53 +09:00
Dmitriy Ryajov
b6877b8aac
increase send timeout for prune and graft msgs ( #306 )
...
* increase send timeout for prune and graft msgs
* use trace logs for subscribe monitor
2020-08-03 17:55:42 -06:00
Dmitriy Ryajov
980764774e
pubsub timeouts tuning ( #295 )
...
* add finegrained timeouts to pubsub
* use 10 millis timeout in tests
* finalization
* revert timeouts
* use `atEof` for reads
* adjust timeouts and use atEof for reads
* use atEof for reads
* set isEof flag
* no backoff for pubsub streams
* temp timer increase, make macos finalize
* don't call `subscribePeer` in libp2p anymore
* more traces
* leak tests
* lower timeouts
* handle exceptions in control message
* don't use `cancelAndWait`
* handle exceptions in helpers
* wip
* don't send empty messages
* check for leaks properly
* don't use cancelAndWait
* don't await subscribption sends
* remove subscrivePeer calls from switch
* trying without the hooks again
2020-08-02 23:20:11 -06:00
Giovanni Petrantoni
909d9652f6
Automatic NBC bump PRs ( #304 )
...
* auto PR wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wrapping up
* fork actions repos and use them
2020-08-03 12:49:58 +09:00
Jacek Sieka
e655a510cd
misc cleanups ( #303 )
2020-08-02 12:22:49 +02:00
Jacek Sieka
d544b64010
resolve several races in connmanager ( #302 )
...
* resolve several races in connmanager
collections may change while doing await
* close conn
* simplify connmanager API
PeerID avoids nil and ref issues
* remove silly condition
2020-08-01 22:50:40 +02:00
Giovanni Petrantoni
afcfd27aa0
add some verbosity to multistream handshake for debugging pruposes
2020-07-31 14:02:03 +09:00
Giovanni Petrantoni
0f06ae5a1d
Audit multistream fixes ( #291 )
...
* Don't ignore missing \n in multistream requests
Also make sure to except and quit an existing connection if multistream handshake fails
* solve handshake tracking in ms handler
2020-07-28 23:03:22 +09:00
Dmitriy Ryajov
f7fdf31365
Pubsub lifetime ( #284 )
...
* lifecycle hooks
* tests
* move trace after closed check
* restore 1 second heartbeat
* await close event
* fix tests
* print direction string
* more trace logging
* add pubsub monitor
* add log scope
* adjust idle timeout
* add exc.msg to trace
2020-07-27 13:33:51 -06:00
Dmitriy Ryajov
ed0df74bbd
Connection lifecycle hooks ( #288 )
...
* lifecycle hooks
* trigger hooks as tasks
* handle exceptions in trigger hooks
* trigger hooks after storing the connection
* add disconnected hook
* tests
2020-07-24 13:24:31 -06:00
Eugene Kabanov
6af3cb6406
Public key infrastructure filters. ( #272 )
...
* Initial commit.
* Workaround nim's bug and add some other compilation error fixes.
* Rename to libp2p_pki_schemes.
Fix secio.
Add tests.
* Attempt to fix command line.
* Fix command line.
Show status in tests.
2020-07-21 14:10:21 -06:00
Giovanni Petrantoni
c3404f6eea
Handle cancellation in timeoutMonitor ( #283 )
...
* Handle cancellation in timeoutMonitor
* refactor lpchannel timeout as suggested by cheatfate
2020-07-21 09:03:41 -06:00
Giovanni Petrantoni
3b088f8980
Fix some unsubscribe issues and add unsubscribeAll helper ( #282 )
...
* Fix some unsub issues and add unsuball helper
* batch sendprune in unsubscribe methods
* add unsubscribeAll for floodsub
2020-07-20 10:16:13 -06:00
Giovanni Petrantoni
c3af7659b0
Add more checks and fix some issues in gossip tests ( #281 )
2020-07-20 15:55:00 +09:00
Dmitriy Ryajov
38eb36efae
don't use close event to stop timer ( #280 )
2020-07-18 11:00:44 -06:00
Dmitriy Ryajov
94196fee71
Connections and pubsub peers cleanup ( #279 )
...
* better peer tracking and cleanup
* check if peer and conn is nil
* test name
* make timeout more agressive
* rename method for better clarity
2020-07-17 13:46:24 -06:00
Dmitriy Ryajov
ba071cafa6
Channel timeout ( #278 )
...
* add support for channel timeouts
* tests for channel timeout
* add timeouts to standard switch
* fix mplex init
* cleanup timer on stream close
* add comment for `isConnected`
* move cleanup event
2020-07-17 12:44:41 -06:00
Dmitriy Ryajov
0348773ec9
Connection manager ( #277 )
...
* splitting out connection management
* wip
* wip conn mngr tests
* set peerinfo in contructor
* comments and documentation
* tests
* wip
* add `None` to detect untagged connections
* use `PeerID` to index connections
* fix tests
* remove useless equality
2020-07-17 09:36:48 -06:00
Jacek Sieka
170685f9c6
gossipsub fixes ( #276 )
...
* graft up to D peers
* fix logging so it's clear who is grafting/pruning who
* clear fanout when grafting
2020-07-16 21:26:57 +02:00
Jacek Sieka
c76152f2c1
Simplify send ( #271 )
...
* PubSubPeer.send single message
* gossipsub: simplify send further
2020-07-16 12:06:57 +02:00
Giovanni Petrantoni
4112e04036
Add build_p2pd script directly in this repo ( #274 )
2020-07-16 16:22:49 +09:00
Dmitriy Ryajov
f35b8999b3
some light cleanup for pub/gossip sub ( #273 )
...
* move peer table out to its own file
* move peer table
* cleanup `==` and add one to peerinfo
* add peertable
* missed equality check
2020-07-15 13:18:55 -06:00
Eugene Kabanov
b832668768
Minprotobuf refactoring 2 ( #269 )
...
* Protobuf refactoring stage II.
* Remove NoError.
* Change trace level for invalid message.
2020-07-15 10:25:39 +02:00
Eugene Kabanov
9eb5828a42
Fix #266 . ( #270 )
...
* Fix security issue #266 .
* Add more tests.
* Fix PeerID tests should not use RSA-512 keys.
* Fix crypto tests to use vectors with 2048+ bits.
* Disable 4096bit RSA key generation for CI debug runs.
2020-07-15 10:24:04 +02:00
Giovanni Petrantoni
d7bab37119
Fix gossip messages seqno according to spec ( #253 )
...
* Fix gossip messages seqno according to spec
* Add peers back to gossipsub table, slow down heartbeat
* Revert "Add peers back to gossipsub table, slow down heartbeat"
This reverts commit 01e2e62172a7793bb17f0eb8314e2faeb2682173.
* make seqno a threadvar, remove from peerinfo
* seqno refactor, into pubsub
2020-07-14 21:51:33 -06:00
Ștefan Talpalaru
b8b0a2b4bc
CI: build binaries with TRACE & JSON logs ( #268 )
...
Also: remove unused imports.
2020-07-14 02:02:16 +02:00
Jacek Sieka
c6c2d99907
one more log fix
2020-07-13 20:19:20 +02:00
Jacek Sieka
76853f064a
json logging again
2020-07-13 19:59:49 +02:00
Jacek Sieka
6620b7a00b
more comment fixes
2020-07-13 19:30:18 +02:00
Jacek Sieka
0d4c74b33a
comment log that can't be json-serialized
2020-07-13 18:36:49 +02:00
Jacek Sieka
061c54d3c6
logging fixes
2020-07-13 17:26:05 +02:00
Jacek Sieka
87e58c1c8d
metrics: one more pubsub peers fix
2020-07-13 16:16:46 +02:00