Commit Graph

2282 Commits

Author SHA1 Message Date
Dmitri Bogomolov 76fed78211
Made it possible to use installed umsgpack 2017-06-12 13:54:44 +03:00
Dmitri Bogomolov 06fed6f9c2
setup.py: second exception in list can be treated as variable 2017-06-12 12:58:16 +03:00
Dmitri Bogomolov b7f9e74eea
setup.py: added new packages appeared after 36b5e2c 2017-06-12 12:52:24 +03:00
Peter Šurda a3a55e53c4
UDP Socket dict address fix
- fixes #1008
2017-06-11 14:11:39 +02:00
Peter Šurda cba749088a
Asyncore updates
- mainly work on proxy support, but it's still not fully working
- minor bugfixes
2017-06-10 10:13:49 +02:00
Peter Šurda 7deb7c3d4f
Typo 2017-06-10 10:11:50 +02:00
Peter Šurda 8d41d5fcf6
default known nodes update 2017-06-10 10:11:21 +02:00
Peter Šurda 7f06cb7c27
Inventory flush fix in GUI
- Fixes #1011
2017-06-10 10:10:59 +02:00
Peter Šurda 7e8ee51322
Fallback umsgpack import fix 2017-06-10 10:09:44 +02:00
Peter Šurda f366447e94
Fix identicon imports 2017-06-10 10:09:14 +02:00
Peter Šurda d34fdbb3f4
Fix network status in api 2017-06-10 10:08:40 +02:00
Peter Šurda ae97f7abd8
Typo 2017-06-10 10:07:47 +02:00
Peter Šurda 009a215224
Fix api connected hosts lists 2017-06-09 10:07:51 +02:00
Peter Šurda 7bde4e9445
Missing module name in bmproto 2017-06-04 10:25:16 +02:00
Peter Šurda e8d9a7f183
Asyncore connect handling
- minor improvements in handling of connect events so that it's not
processed twice
2017-06-03 16:30:05 +02:00
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
2017-06-03 16:29:21 +02:00
Scott f78f1a718b
Change api.py 2017-06-02 18:53:13 -06:00
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
2017-06-02 15:43:35 +02:00
Peter Šurda d75d920a68
Asyncore updates
- clean object tracking dictionaries in the cleaner thread
- clean up close / handle_close
- add locking to tracking dictionaries
2017-06-02 07:09:35 +02:00
Peter Šurda 4c17a18006
Don't send invs to unestablished connections 2017-05-31 23:34:06 +02:00
Peter Šurda 18988ae2e6
Asyncore updates
- performance optimisation, reduce number of loops when waiting
for protocol headers / commands
2017-05-31 10:17:36 +02:00
Peter Šurda 2555f692eb
Network status update part 2
- only update processed items every 2 seconds
2017-05-31 10:16:30 +02:00
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
2017-05-31 10:15:47 +02:00
Peter Šurda d9e3349eeb
Fix own IP detection
- minor bug in the previous commit
2017-05-31 00:22:07 +02:00
Peter Šurda f23c169eec
Don't connect to myself
- track local IP+port of incoming connections and don't connect
to them in the future
2017-05-31 00:04:21 +02:00
Peter Šurda fa9811f426
Asyncore update
- duplicate checking implemented
- connection pool vs. socket closing cleanup
2017-05-30 23:53:43 +02:00
Peter Šurda abaa2c72e5
typo 2017-05-29 15:04:22 +02:00
Peter Šurda 11d02b1e41
typo 2017-05-29 14:59:42 +02:00
Peter Šurda 3a543efd83
Typo 2017-05-29 14:54:13 +02:00
Peter Šurda 7f381c0c25
Asyncore update
- incoming object handling fix
2017-05-29 14:52:31 +02:00
Peter Šurda 1ccfd41c3f
Asyncore updates
- fix connected to myself check
2017-05-29 14:41:02 +02:00
Peter Šurda 0aa5dbd958
Asyncore update
- shutdown fix
2017-05-29 14:35:08 +02:00
Peter Šurda bdaa939e2c
ENOTSOCK fix 2017-05-29 13:39:26 +02:00
Peter Šurda 97c44b97f4
Asyncore update
- handle WSAENOTSOCK
2017-05-29 13:14:25 +02:00
Peter Šurda a5c1b0c529
Asyncore fixes
- better handling of WSA* checks on non-windows systems
- handle EBADF on Windows/select
- better timeouts / loop lengths in main asyncore loop and
spawning new connections
- remove InvThread prints
2017-05-29 12:56:59 +02:00
Peter Šurda 74f1a74a8c
Make SO_REUSEPORT optional
- apparently not available on Windows
2017-05-29 11:30:56 +02:00
Peter Šurda e7525d47be
Disable memory usage logging
- it looks like it's Unix specific and doesn't work on windows
2017-05-29 11:26:56 +02:00
Peter Šurda 02a07e5119
Asyncore update
- default to true (original attempt didn't work correctly)
2017-05-29 03:16:14 +02:00
Peter Šurda 73c41bff9d
typo
-BMConfigParser. instead of BMConfigParser().
2017-05-29 02:30:18 +02:00
Peter Šurda 65bb6648e7
Asyncore updates
- fix crash in inv thread
- more prints changed into logger
- minor fixes
2017-05-29 00:47:41 +02:00
Peter Šurda c85d52b8e8
Asyncore updates
- asyncore is now on by default
- inv announcements implemented
- bandwidth limit implemented / fixed
- stats on download / upload speed now work
- make prints into logger
- limit knownNodes to 20k as it was before
- green light fixed
- other minor fixes
2017-05-29 00:24:07 +02:00
Peter Šurda 5d4e1e2007
asyncore fixes
- bm headers and commands are only read up to expected length.
On a very fast connection (e.g. local VM), reading verack
also read a part of the TLS handshake
- some debugging info moved from print to logger.debug
- tls handshake cleanup
2017-05-27 22:30:30 +02:00
Peter Šurda 21f6d38ec2
Asyncore fixes
- TCP fixes
2017-05-27 21:52:56 +02:00
Peter Šurda 99e714c432
UDP socket bugfixes 2017-05-27 20:43:27 +02:00
Peter Šurda fa9ad537a5
Add task_done to asyncore-related queues 2017-05-27 19:39:19 +02:00
Peter Šurda f8b4b427fc
Asyncore update
- bugfixes
- UDP socket for local peer discovery
- new function assembleAddr to unify creating address command
- open port checker functionality (inactive)
- sendBigInv is done in a thread separate from the network IO
thread
2017-05-27 19:09:21 +02:00
Peter Šurda 36b5e2c04f
Inventory storage abstraction
- can have multiple storage types for inventory
- sqlite is the old one, filesystem is a new available
2017-05-27 19:03:27 +02:00
Peter Šurda 1d87c63504
Traceback on Ctrl-C
- Ctrl-C will print a traceback of all threads instead of
complaining
2017-05-27 19:02:05 +02:00
Peter Šurda 7b9b7504ad
Don't clean right on startup 2017-05-27 19:01:14 +02:00
Peter Šurda d699a28e49
Add variables to errno and socket
- to make sure they work cross platform without having to do
complicated tests
2017-05-27 19:00:19 +02:00