Commit Graph

247 Commits

Author SHA1 Message Date
Peter Šurda 2a165380bb
Restrict outbound connections on network groups
Logic borrowed from bitcoin, see CNetAddr::GetGroup() in src/netaddress.cpp
Simplified, so may not work fully identically but for our purposes it's good
enough. Won't connect to more than one host from a /16 subnet on IPv4 and a /32
subnet on IPv6.
2019-11-18 12:20:29 +01:00
Dmitri Bogomolov d6c1845b71
Moved Peer from state to network.node
and trustedPeer to network.connectionpool.BMConnectionPool attribute
2019-11-11 17:13:12 +02:00
Dmitri Bogomolov 7a1f803c92
network.BMConnectionPool: added shortcuts connections()
and establishedConnections(), some formatting fixes
2019-11-11 12:03:04 +02:00
Dmitri Bogomolov 341651973a
Reduced imports:
- exported from network package all objects used outside;
  - made all threads available in threads module.

Wrote some module docstrings.
2019-11-11 12:03:03 +02:00
George McCandless b42f536d23
Add a checkbox to the network settings tab that allows restricting outbound connections to onion services (i.e., hosts that end with '.onion'). 2019-10-21 00:03:41 +00:00
Dmitri Bogomolov bbdbca253b
Added warnings about changing port settings in api and network.tcp 2019-10-18 09:35:31 +03:00
Dmitri Bogomolov d2a896697d
Used logger.isEnabledFor() to prevent unneeded calculations 2019-10-18 09:35:31 +03:00
Dmitri Bogomolov 7a89109fc9
New logging approach in order to reduce imports from submodules
and use logging without risk of circular import. Only subpackage
that imports from debug is bitmessageqt - because it also uses
debug.resetLogging().
Instead of from debug import logger is now recommended to use:

import logging

logger = logging.getLogger('default')

All subclasses of StoppableThread now have a logger attribute.
All threading related stuff except for set_thread_name()
was moved from helper_threading to network.threads.

Fixed two my mistakes from previous edit of debug in a1a8d3a:

 - logger.handlers is not dict but iterable
 - sys.excepthook should be set unconditionally
2019-10-18 09:35:24 +03:00
Dmitri Bogomolov 53cc08edec
Renamed invalid python module http-old 2019-10-18 01:06:02 +03:00
Dmitri Bogomolov b5df242141
Fixed badly formatted docstrings and some wrong text 2019-10-18 01:06:02 +03:00
Dmitri Bogomolov 88f2c51595
quzwelsuziwqgpt2.onion:8444 is also a bootstrap server 2019-09-25 18:55:02 +03:00
Dmitri Bogomolov bdb09c2d00
Ignore self node in connectionchooser.chooseConnection() 2019-09-25 18:55:01 +03:00
Dmitri Bogomolov 4825c5a136
Universal bootstrap procedure for any connection type 2019-09-25 18:55:01 +03:00
Dmitri Bogomolov 0a06567071
Connect to bootstrap nodes by name 2019-09-25 18:55:01 +03:00
lakshyacis a961a4a2fb
proxy pylint fixes 2019-09-16 19:13:56 +05:30
lakshyacis 1e446b768c
node pylint fixes 2019-09-16 19:13:56 +05:30
lakshyacis 915bfb757d
networkthread pylint fixes 2019-09-16 19:13:55 +05:30
lakshyacis e74affe636
udp pylint fixes 2019-09-16 19:13:55 +05:30
lakshyacis 498232dbea
tls pylint fixes 2019-09-16 19:13:54 +05:30
lakshyacis dccb1dbb3c
tls flake8 fixes 2019-09-16 19:13:54 +05:30
lakshyacis fcffb42629
stats pylint fixes 2019-09-16 19:13:54 +05:30
lakshyacis 7d0bd1cf7a
stats flake8 fixes 2019-09-16 19:13:53 +05:30
lakshyacis 8182e159df
socks5 flake8 fixes 2019-09-16 19:13:53 +05:30
lakshyacis 79d1b1b9e2
socks4a pylint fixes 2019-09-16 19:13:53 +05:30
lakshyacis 253cec15c4
proxy flake8 fixes 2019-09-10 16:08:18 +05:30
lakshyacis fa6ef4f933
objectracker pylint fixes 2019-09-10 16:07:02 +05:30
lakshyacis db1593f428
https flake8 fixes 2019-09-10 15:34:20 +05:30
lakshyacis 77651eebe3
objecttracker flake8 fixes 2019-09-10 15:34:20 +05:30
lakshyacis ef77a9816e
invthread pylint fixes 2019-09-10 15:34:20 +05:30
lakshyacis 97cbe43294
invthread flake8 fixes 2019-09-10 15:34:20 +05:30
lakshyacis 28e954902d
httpd flake8 fixes 2019-09-10 15:34:20 +05:30
lakshyacis 2c71612a4b
http pylint fixes 2019-09-10 15:34:19 +05:30
lakshyacis 7eced454d1
http flake8 fixes 2019-09-03 19:56:59 +05:30
lakshyacis 68e09a5e30
http-old pylint fixes 2019-09-03 18:41:24 +05:30
lakshyacis 5fcb7fc05e
http-old flake8 fixes 2019-09-03 14:34:17 +05:30
lakshyacis d8ea0afe40
downloadthread.py Pylint fixes 2019-09-02 19:15:15 +05:30
lakshyacis 8589f01d3d
downloadthread.py flake8 fixes 2019-09-02 19:02:50 +05:30
lakshyacis b927d51eb3
dandelion.py pylint fixes 2019-09-02 13:53:06 +05:30
lakshyacis f1b6b16940
connectionpool.py pylint fixes 2019-09-02 13:52:56 +05:30
lakshyacis 5521c16478
bmproto pylint fixes 2019-08-30 16:12:39 +05:30
lakshyacis 469d289a97
Announcethread Pylint Fixes 2019-08-30 15:23:20 +05:30
lakshyacis 548fcf0d0a
announcethread Flake8 Fixes 2019-08-29 19:24:13 +05:30
Dmitri Bogomolov f180b1a5b0
Moved randomtrackingdict to network, it's used only there 2019-08-18 17:34:58 +03:00
Dmitri Bogomolov ad2a2b3fb4
Inherit helper_threading.StoppableThread from threading.Thread
and do random.seed() in its __init__
2019-08-06 18:07:19 +03:00
Dmitri Bogomolov 27e74a15d7
flake8: network.connectionchooser 2019-07-29 15:54:19 +03:00
Dmitri Bogomolov 67d14f9e73
Docstrings in network.bmproto from #1362 2019-07-26 12:08:56 +03:00
Dmitri Bogomolov bbab0010e6
Moved a test script from network.tcp to tests.core 2019-07-26 12:08:42 +03:00
Dmitri Bogomolov 391b5ded87
Docstrings in network from #1368 2019-07-26 12:08:32 +03:00
Dmitri Bogomolov 2998599442
Docstrings in network from #1401 2019-07-26 12:08:18 +03:00
Dmitri Bogomolov 19ab56a979
network.connectionpool: get any setting with .safeGet.. 2019-07-26 12:08:18 +03:00