Commit Graph

2309 Commits (a0bbd21efcd95a7bff9984f52a7cf0e98d8ecea8)
 

Author SHA1 Message Date
Peter Šurda d9e3349eeb
Fix own IP detection
- minor bug in the previous commit
6 years ago
Peter Šurda f23c169eec
Don't connect to myself
- track local IP+port of incoming connections and don't connect
to them in the future
6 years ago
Peter Šurda fa9811f426
Asyncore update
- duplicate checking implemented
- connection pool vs. socket closing cleanup
6 years ago
Peter Šurda abaa2c72e5
typo 6 years ago
Peter Šurda 11d02b1e41
typo 6 years ago
Peter Šurda 3a543efd83
Typo 6 years ago
Peter Šurda 7f381c0c25
Asyncore update
- incoming object handling fix
6 years ago
Peter Šurda 1ccfd41c3f
Asyncore updates
- fix connected to myself check
6 years ago
Peter Šurda 0aa5dbd958
Asyncore update
- shutdown fix
6 years ago
Peter Šurda bdaa939e2c
ENOTSOCK fix 6 years ago
Peter Šurda 97c44b97f4
Asyncore update
- handle WSAENOTSOCK
6 years ago
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
6 years ago
Peter Šurda 74f1a74a8c
Make SO_REUSEPORT optional
- apparently not available on Windows
6 years ago
Peter Šurda e7525d47be
Disable memory usage logging
- it looks like it's Unix specific and doesn't work on windows
6 years ago
Peter Šurda 02a07e5119
Asyncore update
- default to true (original attempt didn't work correctly)
6 years ago
Peter Šurda 73c41bff9d
typo
-BMConfigParser. instead of BMConfigParser().
6 years ago
Peter Šurda 65bb6648e7
Asyncore updates
- fix crash in inv thread
- more prints changed into logger
- minor fixes
6 years ago
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
6 years ago
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
6 years ago
Peter Šurda 21f6d38ec2
Asyncore fixes
- TCP fixes
6 years ago
Peter Šurda 99e714c432
UDP socket bugfixes 6 years ago
Peter Šurda fa9ad537a5
Add task_done to asyncore-related queues 6 years ago
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
6 years ago
Peter Šurda 36b5e2c04f
Inventory storage abstraction
- can have multiple storage types for inventory
- sqlite is the old one, filesystem is a new available
6 years ago
Peter Šurda 1d87c63504
Traceback on Ctrl-C
- Ctrl-C will print a traceback of all threads instead of
complaining
6 years ago
Peter Šurda 7b9b7504ad
Don't clean right on startup 6 years ago
Peter Šurda d699a28e49
Add variables to errno and socket
- to make sure they work cross platform without having to do
complicated tests
6 years ago
Peter Šurda b37a05fd0a
Allow encoding 3 in broadcast API 6 years ago
Peter Šurda e309a1edb3
Asyncore update
- separate queue for processing blocking stuff on reception
- rewrote write buffer as a queue
- some addr handling
- number of half open connections correct
6 years ago
Peter Šurda 51e52401fe
Windows plaform check pythonic
- moved to .startswith instead of 'in'
- thanks @Lvl4sword
6 years ago
Peter Šurda 9683c879bc
Asyncore update
- Network status UI works but current speed isn't implemented yet
- Track per connection and global transferred bytes
- Add locking to write queue so that other threads can put stuff
there
- send ping on timeout (instead of closing the connection)
- implement open port checker (untested, never triggered yet)
- error handling on IO
6 years ago
Peter Šurda edcba9982b
Asyncore getdata processing performance improvement
- no need to query DB for existence of each entry
6 years ago
Peter Šurda fa56ab3e6f
Asyncore update
- better error handling
- bug fixes
- remove some debug output
6 years ago
Peter Šurda bafdd6a93a
Allow making outbound connections in asyncore 6 years ago
Peter Šurda d635e515b9
Big Asyncore update
- most of the stuff is done so it partially works
- disabled pollers other than select (debugging necessary)
- can switch in the settings, section network, option asyncore (defaults
to False)
6 years ago
Peter Šurda d498f1c0ae
Configparser update
- add default values for maxdownload/uploadrate, asyncore
- rework error handler slightly
6 years ago
Peter Šurda 198470f734
Revert parser/renderer max message size
- it's now dealt with during decoding
6 years ago
Peter Šurda 183f509f09
Decompression limit
- there is now a configurable decompression limit, default at
1MB. Oversize messages are trated as if they never arrived,
just a log entry
6 years ago
Peter Šurda 9f4a1fa0a4
Config file defaults and address unification
- bmconfigpaser.py now allows to put default values for a specific
option in the file
- addresses as sections are now detected by "BM-" rather than
just ignoring bitmessagesettings. There can now be other sections
with a cleaner config file
6 years ago
Peter Šurda 660997f8e7
Quick hack for excessively long messages
- only process the first MB of a message for GUI purposes
(parsing/rendering)
6 years ago
Peter Šurda 82c3c111b7
Fix os-release open mode
- thanks to @Lvl4Sword for reporting
6 years ago
Peter Šurda fd2603247d
Fix onionbindip for some systems with IPv6
- in some cases when IPv6 stack is available and onionbindip is an IPv4
  address, socket.bind doesn't change the bound address, ending up
  listening on everything
6 years ago
anryko 90ef2d54e1
Fixed INSTALL.md markdown. 6 years ago
Peter Šurda d9d3515905
Node class, WIP
- for new network subsystem
6 years ago
Peter Šurda 23b9555929
Add TLS version debug info 6 years ago
Peter Šurda 1c55bf7d4b
Add umsgpack as fallback
- if a "big" msgpack module isn't available, use bundled umsgpack
6 years ago
Peter Šurda 4c597d3f7c
Error handling for non-interactive setup.py
- thanks to @orlitzky #993
6 years ago
Peter Šurda bf76c7f6ec
Allow extended encoding in API 6 years ago
Peter Šurda 96d58f3c11
Asyncore update (WIP) 7 years ago
Dmitri Bogomolov e6f0b34f9b
Fixed some inconvenience on first run mainly in Ubuntu.
- immediately return from initCL() if numpy or pyopencl is unevailable
   (no ImportError because of resetPoW() call)
 - use glob to find C extension even if it named like
   `bitmsghash.x86_64-linux-gnu.so`

If user chooses to show the Settings dialog:

 - activate the "Network Settings" tab
 - remove option 'dontconnect' if settings have been saved
7 years ago