Commit Graph

260 Commits

Author SHA1 Message Date
54e44eac95
Add or update knownnode for connected Peer for both inbound
and outbound connections when fully established, update lastseen
before closing connection.
2020-07-21 16:21:42 +03:00
d9ddbe8d24
Do not update addrQueue if not added node to own knownnodes
and more checks in knownnodes.addKnownNode moved from bmproto.
2020-07-21 16:21:42 +03:00
739ff7b439
Add knownnodes only by knownnodes.addKnownNode(),
now it can update lastseen.
2020-07-21 16:21:36 +03:00
lakshya
3f773c78f7
setting, openssl and bmproto quality fixes 2020-05-28 13:43:03 +05:30
d15e614bb1
Fix streams decoding in BMProto.bm_command_version() 2020-05-22 12:58:04 +03:00
d09782e53d
Obsolete bitmessagemain.connectToStream(), use BMConnectionPool method 2020-05-05 17:30:31 +03:00
185ad66ea5
Moved most of variables from shared elsewhere (mostly to state) 2020-05-05 17:27:38 +03:00
11bec55be5
Don't put addresses into queue
- attempt to fix #1598
- seems to work
- addresses won't be uploaded/announced anymore other than after connecting,
  Later I need to find out how to announce them without causing problems, but
  for the time disabling this seems an acceptable drawback
2020-02-05 20:41:36 +08:00
lakshyacis
6139efc377
Imported packages sequencing and formatting 2 2020-01-27 14:43:25 +05:30
lakshyacis
f0bc74e658
Network fixes 2020-01-10 16:51:17 +05:30
lakshyacis
81872c7f2f
network code quality fixes 2020-01-08 12:53:04 +05:30
03316496b7
Stop UDPSocket on socket.error 101 (Network is unreachable) 2019-12-24 12:41:01 +02:00
a69732f060
Addrthread finish
- addrthread is supposed to spread addresses as they appear. This was never
  finished during migration to asyncore
- conservative to prevent flood and loops
- randomises order
- move protocol constants into a separate file
- move addr packet creation into a separate file
- see #1575
2019-11-30 13:47:24 +01:00
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
d6c1845b71
Moved Peer from state to network.node
and trustedPeer to network.connectionpool.BMConnectionPool attribute
2019-11-11 17:13:12 +02:00
7a1f803c92
network.BMConnectionPool: added shortcuts connections()
and establishedConnections(), some formatting fixes
2019-11-11 12:03:04 +02:00
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
bbdbca253b
Added warnings about changing port settings in api and network.tcp 2019-10-18 09:35:31 +03:00
d2a896697d
Used logger.isEnabledFor() to prevent unneeded calculations 2019-10-18 09:35:31 +03:00
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
53cc08edec
Renamed invalid python module http-old 2019-10-18 01:06:02 +03:00
b5df242141
Fixed badly formatted docstrings and some wrong text 2019-10-18 01:06:02 +03:00
88f2c51595
quzwelsuziwqgpt2.onion:8444 is also a bootstrap server 2019-09-25 18:55:02 +03:00
bdb09c2d00
Ignore self node in connectionchooser.chooseConnection() 2019-09-25 18:55:01 +03:00
4825c5a136
Universal bootstrap procedure for any connection type 2019-09-25 18:55:01 +03:00
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