Vasil Dimov

Results 51 issues of Vasil Dimov

### Current behaviour https://github.com/bitcoin/bitcoin/blob/85bcfeea23568053ea09013fb8263fa1511d7123/src/init.cpp#L1890-L1892 `Discover()` will run only if we are listening on all addresses (`bind_on_any` is `true`). However if `-bind=0.0.0.0:port` is explicitly given, then `bind_on_any` will end up being...

P2P
good first issue

`FuzzedSock::Accept()` properly returns a new socket, but it forgot to set the output argument `addr`, like `accept(2)` is expected to. This could lead to reading uninitialized data during testing when...

Tests
CI failed

Before this change the code used to count references to `CNode` objects manually via `CNode::nRefCount`. Unneeded `CNode`s were scheduled for deletion by putting them in `CConnman::m_nodes_disconnected` and were deleted after...

P2P

Connecting to an I2P peer consists of creating a session (the `SESSION CREATE` command) and then connecting to the peer using that session (`STREAM CONNECT ID=session_id ...`). This change is...

P2P

`CConnman::FindNode()` would lock `m_nodes_mutex`, find the node in `m_nodes`, release the mutex and return the node. The current code is safe but it is a dangerous interface where a caller...

P2P

Document the requirements around the `NetEventsInterface`'s methods and the lifetime of `CNode` objects in `CConnman::m_nodes`.

Docs

Add a new field `cpu_load` to the output of `getpeerinfo` RPC. It represents the CPU time spent by the message handling thread for the given peer, weighted for the duration...

RPC/REST/ZMQ
CI failed

The only case of a recursive lock was a nested `ForNode()` call to trim the size of `lNodesAnnouncingHeaderAndIDs` to `= 3) fornode(front) handle removal of front pop front push back...

P2P

It would be a bug in `getsockname(2)` if it returns a result that is smaller than the returned socket address family. For example, if it indicates that the result is...

Tests

`-proxy=addr:port` specifies the proxy for all networks (except I2P). Previously only the Tor proxy could have been specified separately via `-onion=addr:port`. Make it possible to specify separately the proxy for...