Commit Graph

91 Commits

Author SHA1 Message Date
5c749311b6
Don't connect to nodes with the same nonce 2024-06-25 20:26:43 +03:00
d5762efdad
Define a base class for connection to subclass for special purposes 2024-06-25 20:26:42 +03:00
efeabcb4cf
Cleanup the wait time in test_process, correct format in TestProcess.fail()
Some checks failed
Testing / default (push) Failing after 3m49s
2024-06-18 19:09:31 +03:00
740654b563
Make tuples from sets before taking random samples 2024-05-07 19:15:36 +03:00
5a65978678
Fix a mistake in Connection._do_tls_handshake(): return on exception,
log ssl.SSLError reason and discard the node.
2024-05-07 19:15:36 +03:00
d06beded72
Resolve an SSL issue connecting to PyBitmessage 0.6.1 or using openssl 3.0,
log version
2024-05-07 19:15:00 +03:00
c9a3877b92
Lower logging level for connection error messages in I2PDialer 2023-12-24 01:44:08 +02:00
9bcaea12cf
Specifically skip B311 in manager by bandit 2023-10-14 01:06:31 +03:00
e4c2c1be16
Make load_data a static method in manager,
use ascii while loading nodes csv.
2023-10-14 01:06:31 +03:00
a7187d8dfd
Suppress some too-many-* pylint design warnings in parse_arguments() 2023-10-14 01:06:31 +03:00
ddf07fd506
Set object tag for object types supporting it 2023-10-12 19:50:18 +03:00
2145f5839e
Cover the main proofofwork call and worker procedure 2023-10-12 19:50:15 +03:00
b806906af4
Add Error message class, handle fatal 2023-10-12 19:49:32 +03:00
3f61bd694b
Define a helper function to read a varint and trim payload 2023-10-12 19:49:32 +03:00
7812e4bbc2
Use shared.stream when assembling i2p_dest object instead of hardcoded 1 2023-10-12 19:49:32 +03:00
fda6ecfe01
Unify and improve message.Version:
- from_message() decoding method as in other messages;
  - support multiple streams and move stream check to connection;
  - use shared.stream instead of hardcoded 1;
  - replace values from shared with the instance attributes in to_bytes(),
    put conventional 1 as services of a remote host.
2023-10-12 19:49:32 +03:00
428580a980
Add a test for version message 2023-10-12 19:49:32 +03:00
399fc6f21f
Improve structure.Object:
- use shared.stream instead of hardcoded 1;
  - reuse pow_initial_hash() in is_valid().
2023-10-12 19:49:31 +03:00
218905739c
Add a test for object covering also proofofwork 2023-10-12 19:48:52 +03:00
e4887734a0
Send ping into inactive connection, not pong 2023-10-07 17:55:49 +03:00
58a80bb4a4
Remove unreachable except clause for ConnectionResetError
- handled in socket.error branch. TODO: follow PEP 3151
2023-08-20 01:19:11 +03:00
8755e56167
Replace Manager.clean_objects() by the extended version from main
and call it upon the Manager start.
2023-08-20 01:14:17 +03:00
45a4a8fd31
Manifest disconnecting 2023-08-16 03:42:16 +03:00
67ecbf95d3
Suppress false positives on unsubscriptable-object in connection 2023-08-14 23:59:57 +03:00
b38e00c0a3
Handle pylint warnings in test_process, suppress fixme globally 2023-08-14 06:05:29 +03:00
e249e501cc
Fix formatting lint issues 2023-08-14 05:53:20 +03:00
4f1e14da2a
Finish test_address() using a sample data, generated with pybitmessage 2023-08-14 05:15:09 +03:00
dd2b0b89af
Improve docstrings in message and structure and add more 2023-08-14 05:15:08 +03:00
3788b12a28
Complete test_packet()
with parsing a prepared message and assertion of validation,
including message.Header; use magic_bytes from shared
assuming the value from the Spec.

Cover message.Message except for repr
2023-08-14 05:14:31 +03:00
c6d8bd64b2
Bump version to 0.3.2 2023-08-12 06:36:17 +03:00
6558245a32
Minimal implementation of anti-intersection delay to wait before getdata 2023-08-12 06:35:15 +03:00
1dfe98cf1f
Test shutting down minode --i2p if there is no running i2pd 2023-08-10 03:55:48 +03:00
e8dc62f08b
Allow shutting down while starting I2P listener 2023-08-10 03:52:16 +03:00
761c95d561
Fix SSLError in incoming connection with python 3.10 2023-08-04 00:27:38 +03:00
42995c5ca7
Check host and port of I2P connections 2023-08-02 23:02:21 +03:00
c6d0160001
Move s and state into the base 2023-08-02 05:23:33 +03:00
82c4062325
Inherit I2P classes from base util.I2PThread() 2023-08-02 05:23:33 +03:00
7113916347
Try to test with i2pd:
- TestProcessI2P runs minode with i2p args with _connection_limit = 4
 - TestProcess waits for connections _wait_time sec (120 for TestProcessI2P)
2023-08-02 05:23:33 +03:00
1d82774c96
Fix unused variable in test_process 2023-08-02 05:17:58 +03:00
1a1db393c1
Fix some pylint warnings in the tests 2023-08-02 00:17:06 +03:00
e95f2b522a
Add basic docstrings 2023-07-30 03:45:59 +03:00
ae727a8327
Don't check for overlimit connections in test_process,
leaving the buggy logic as a separate function.
2023-01-23 02:37:04 +02:00
23769a8bf3
Fix logic in test_process 2023-01-22 23:57:46 +02:00
d145143e4b
Fix a mistake in Listener.run() 2022-09-23 08:44:55 +03:00
5462e990dc
Don't log FileNotFoundError while loading I2P destination private key 2022-09-23 08:16:49 +03:00
140e0139ef
Don't use exc_info if found that IPv6 is not supported while starting listener 2022-09-23 08:11:07 +03:00
30a8a32c92
Lower the level of most log messages, but add exc_info for some
- log info on disconnect, debug on disconnected locally
  - don't log connections failed because of obvious resons
2022-09-10 19:30:39 +03:00
60dc1b9d08
Lower connection limit on windows 2022-09-10 18:08:17 +03:00
b2722acdf7
Add some tests for message 2022-09-10 18:08:16 +03:00
4d67881576
Add some tests for structure 2022-09-10 18:07:45 +03:00