Commit Graph

2309 Commits (a0bbd21efcd95a7bff9984f52a7cf0e98d8ecea8)
 

Author SHA1 Message Date
Peter Šurda a0bbd21efc
Add ratings to peers
- outbound peers now have a rating
- it's also shown in the network status tab
- currently it's between -1 to +1, changes by 0.1 steps and uses a
hyperbolic function 0.05/(1.0 - rating) to convert rating to
probability with which we should connect to that node when randomly
chosen
- it increases when we successfully establish a full outbound connection
to a node, and decreases when we fail to do that
- onion nodes have priority when using SOCKS
6 years ago
Peter Šurda 9d09f9f3ce
Reduce severity of socks connectivity errors
- Fixes #1024
- Fixes #1019
6 years ago
Peter Šurda 773d91bbe2
Unknown object log entry less severe
- unnecessarily classified as critical
- fixes #1023
6 years ago
Peter Šurda e00a02206b
AddrThread
- this thread is for spreading new/updated addresses in active
connections, analogous to the InvThread
- it doesn't do anything yet, this is just a dummy queue at the moment
6 years ago
Peter Šurda 27f5de0f9c
Unified random number provider
- not used yet, just an inactive helper function
- I received feedback that OpenSSL.rand isn't more secure than
os.urandom. I read several debates/analyses about it and concur
6 years ago
PyBitmessage Translations 70c5929e92
Auto-updated language ru from transifex 6 years ago
Peter Šurda cc3cf77759
New class multiqueue
- to be used for invthread and addthread
- updated invthread for multiqueue
6 years ago
Peter Šurda f5a143d0b8
Config validator
- config options can have validators
- limit maxoutboundconnections to max 8
6 years ago
Peter Šurda 20e01860cf
Network status peer list shouldn't be editable 6 years ago
PyBitmessage Translations 8a3577aed7
Auto-updated language eo from transifex 6 years ago
PyBitmessage Translations 30b65aaefc
Auto-updated language pl from transifex 6 years ago
PyBitmessage Translations ccfe58c2c0
Auto-updated language ja from transifex 6 years ago
Peter Šurda aa203b23ee
Fix typo introduced by code quality patch 6 years ago
Peter Šurda 189578cba3
Asyncore proxy fixes
- SOCKS5 now seems to work, SOCKS4a untested
6 years ago
Peter Šurda 916b85c862
Connection pool cleanup
- minor code quality improvement
6 years ago
Peter Šurda 0dc0b22974
Expired / Stream mismatch / duplicate object error handling
- cleanup of the code
6 years ago
Peter Šurda 0a79490e2c
Known nodes maximum configurable part 2 6 years ago
Peter Šurda d57b0c55ee
Object validator trigger moved
- from bmproto to bmobject
6 years ago
Peter Šurda dc5a91f326
Remove stack depth warnings
- I was never able to trigger them
6 years ago
Peter Šurda e9edf70d3a
TLS updates
- save TLS version
- minor TLS error handling updates
6 years ago
Peter Šurda b9d60f8b41
Max known nodes configurable 6 years ago
Peter Šurda 26eb54a82e
Network status updates
- now lists each node with its info instead of a per-stream summary
6 years ago
Peter Šurda bfbdd7e140
Chan address validator button feedback
- During validation, the button not only turns gray but also changes
label
6 years ago
Peter Šurda 2685fe29b1
Code quality improvements 6 years ago
Peter Šurda 243025a1aa
Leave __delitem__ unimplemented in filesystem storage
- rename the cleaning method
6 years ago
Peter Šurda 618f3865c1
Main thread end
- instead of sleeping, it just ends
6 years ago
Peter Šurda 0cc8589b27
Asyncore updates
- should prevent the same object being re-requested indefinitely
- locking for object tracking
- move SSL-specific error handling to TLSDispatcher
- observe maximum connection limit when accepting a new connection
- stack depth test (for debugging purposes)
- separate download thread
- connection pool init moved to main thread
6 years ago
Dmitri Bogomolov 76fed78211
Made it possible to use installed umsgpack 6 years ago
Dmitri Bogomolov 06fed6f9c2
setup.py: second exception in list can be treated as variable 6 years ago
Dmitri Bogomolov b7f9e74eea
setup.py: added new packages appeared after 36b5e2c 6 years ago
Peter Šurda a3a55e53c4
UDP Socket dict address fix
- fixes #1008
6 years ago
Peter Šurda cba749088a
Asyncore updates
- mainly work on proxy support, but it's still not fully working
- minor bugfixes
6 years ago
Peter Šurda 7deb7c3d4f
Typo 6 years ago
Peter Šurda 8d41d5fcf6
default known nodes update 6 years ago
Peter Šurda 7f06cb7c27
Inventory flush fix in GUI
- Fixes #1011
6 years ago
Peter Šurda 7e8ee51322
Fallback umsgpack import fix 6 years ago
Peter Šurda f366447e94
Fix identicon imports 6 years ago
Peter Šurda d34fdbb3f4
Fix network status in api 6 years ago
Peter Šurda ae97f7abd8
Typo 6 years ago
Peter Šurda 009a215224
Fix api connected hosts lists 6 years ago
Peter Šurda 7bde4e9445
Missing module name in bmproto 6 years ago
Peter Šurda e8d9a7f183
Asyncore connect handling
- minor improvements in handling of connect events so that it's not
processed twice
6 years ago
Peter Šurda a9c0000c17
Treat some invalid objects as received
- update to 6044df5adf
- objects that are expired or in wrong stream are not re-requested
anymore, even if they aren't stored in the inventory
- the previous option "acceptmismatch" now only affects whether such
objects are stored in the inventory
6 years ago
Scott f78f1a718b
Change api.py 6 years ago
Peter Šurda 6044df5adf
Optional storing of expired and off-stream objects
- a new config file option, network/acceptmismatch, allows the inventory
to store objects that expired or are from a stream we're not
interested in. Having this on will prevent re-requesting objects that
other nodes incorrectly advertise. It defaults to false
6 years ago
Peter Šurda d75d920a68
Asyncore updates
- clean object tracking dictionaries in the cleaner thread
- clean up close / handle_close
- add locking to tracking dictionaries
6 years ago
Peter Šurda 4c17a18006
Don't send invs to unestablished connections 6 years ago
Peter Šurda 18988ae2e6
Asyncore updates
- performance optimisation, reduce number of loops when waiting
for protocol headers / commands
6 years ago
Peter Šurda 2555f692eb
Network status update part 2
- only update processed items every 2 seconds
6 years ago
Peter Šurda e522f015a8
Network status updates
- only update processed numbers once every 2 seconds
- moved inventory lookups to the main inventory so now all
storage modules work with it
6 years ago