Commit Graph

35 Commits

Author SHA1 Message Date
8bcfe80ad0
Refactoring of config parser and shared.py
- got rid of shared config parser and made it into a singleton
- refactored safeConfigGetBoolean as a method of the config singleton
- refactored safeConfigGet as a method of the config singleton
- moved softwareVersion from shared.py into version.py
- moved some global variables from shared.py into state.py
- moved some protocol-specific functions from shared.py into protocol.py
2017-01-11 14:27:19 +01:00
mailchuck
47f1c0c267 Thread names for IPv6
Thread names for IPv6 contained ":". This caused problems in log
parsers.
2016-05-02 15:00:23 +02:00
mailchuck
e4a7e71790 SSL fixes 2016-05-02 15:00:21 +02:00
mailchuck
281630757e SSL fixes 2016-05-02 15:00:21 +02:00
mailchuck
18f7ef06e2 SSL fixes
Handle old Python compatibility better.
2016-05-02 15:00:21 +02:00
mailchuck
3c9df7151c Logging fix 2016-05-02 15:00:21 +02:00
mailchuck
aa55f45a0d Logging fix 2016-05-02 15:00:21 +02:00
mailchuck
231219a193 Improved logging
Fixes #118

- changed almost all "print" into logger
- threads have nicer names
- logger can have configuration in "logger.dat" in the same directory as
"keys.dat", and the logger will pick the one named "default" to replace
the "console" and "file" that are in PyBitmessage otherwise

Example file for logging to syslog:

[loggers]
keys = root,syslog

[logger_root]
level=NOTSET
handlers=syslog

[logger_syslog]
level=DEBUG
handlers=syslog
qualname=default

[handlers]
keys = syslog

[handler_syslog]
class = handlers.SysLogHandler
formatter = syslog
level = DEBUG
args=(('localhost', handlers.SYSLOG_UDP_PORT),
handlers.SysLogHandler.LOG_LOCAL7)

[formatters]
keys = syslog

[formatter_syslog]
format=%(asctime)s %(threadName)s %(filename)s@%(lineno)d %(message)s
datefmt=%b %d %H:%M:%S
2016-05-02 15:00:21 +02:00
mailchuck
c7fb9e6a43 SSL fixes
- uses constants for service flags
- requires SSL to use TLSv1 version (protection against POODLE-style
attacks)
- retry if sock.recv incomplete
2016-05-02 15:00:21 +02:00
mailchuck
53b0d2749b Opportunistic encryption with TLS (1 of 2)
Fixes Bitmessage#264
Fixes Bitmessage#648
2016-05-02 15:00:20 +02:00
Jonathan Warren
05182e7465 Make data send rate more accurate 2015-07-01 15:26:23 -04:00
Jonathan Warren
0865e863ec Added ability to limit network transfer rate 2014-09-10 16:47:51 -04:00
Jonathan Warren
c84cdecba4 Normalize the noncetrialsperbyte and payloadlengthextrabytes for each of the user's existing addresses 2014-09-02 19:25:03 -04:00
Jonathan Warren
ea6f34ade6 removed use of memoryview so that we can support python 2.7.3 2014-08-06 15:54:59 -04:00
Jonathan Warren
9e16e81283 resolve merge conflict and show transfer rate 2014-08-01 17:25:47 -04:00
Jonathan Warren
a2a7edc9be resolve merge conflict 2014-07-14 19:29:47 -04:00
Jonathan Warren
254bac6b32 minor change to 'addDataPadding' commit 2014-07-14 14:15:38 -04:00
Yuri
f107b0fbd9 Addition of bytes received/sent counts on the network information tab. 2014-07-07 13:30:23 -07:00
bmng-dev
1f75047223 Refactor generation of packet headers 2014-05-22 16:21:20 +00:00
antius
53a3d1635a Make addDataPadding method to avoid clutter. 2014-05-02 16:46:36 +02:00
Jonathan Warren
a49ab786bb resolve merge conflict 2014-04-30 18:48:00 -04:00
Jonathan Warren
22934441dc Fix #662 - 'PyBitmessage does not wait for verack' 2014-04-30 15:39:25 -04:00
Neil Roberts
7da6ea958f Add support for IPv6
It will now listen on an IPv6 socket if possible or fall back to IPv4
if that doesn't work. It will no longer filter out all IPv6 addresses
and instead it will only filter out those that point to the local
network.

It looks like the DNS bootstrapping should just automatically work
because getaddrinfo already returns IPv6 addresses from the AAAA
record.

In order to convert from the ASCII representation of IPv6 addresses
and back we need inet_ntop and inet_pton. Python 2 doesn't currently
provide these for Windows so instead this patch provides a hot patch
to the socket module which wraps WSAStringToAddress and
WSAAddressToString using ctypes.
2014-03-12 01:48:48 +00:00
Jonathan Warren
61389b64aa fix #590 2013-12-29 22:36:23 -05:00
Jonathan Warren
90e60d8145 delay addr messages random number of seconds 2013-09-09 19:26:32 -04:00
Jonathan Warren
831edf0d24 completed inv refactorization 2013-09-06 21:47:54 -04:00
Jonathan Warren
a9b15f83ba initial testing inv refactorization 2013-09-06 18:55:12 -04:00
Gergö Barany
6b01e8aa33 Bug fixes in new peer handling. 2013-08-01 12:32:07 +02:00
nobody
d606bb1333 Fix: Distinguish peers by both IP address and port.
Until now many parts of the code assumed that IP addresses are
unique for peers. However, more than one Bitmessage instance might
be running with a given IP address due to multi-user systems or
firewalls.
2013-07-30 22:23:18 +02:00
Linker Lin
4a84a30fc6 replace acquire lock by 'with' statement 2013-06-30 01:29:35 +08:00
Jonathan Warren
c857f73d0b Continued moving code into individual modules 2013-06-24 15:51:01 -04:00
Jordan Hall
2eb6558cf1 Added a number of missing imports fixing several issues (thank you PyDev) 2013-06-23 20:52:39 +01:00
Jordan Hall
e9dc2d5c5e Fixed missing hashlib import in class_sendDataThread 2013-06-23 19:31:47 +01:00
Jordan Hall
fe8998ca3a Seperating out all peer networking classes and merging with upstream 2013-06-22 00:49:50 +01:00
Jordan Hall
27a8662f22 Seperating class_singleListener, class_receiveDataThread, class_sendDataThread 2013-06-21 23:29:04 +01:00