Kashiko Koibumi
df2631c4ee
misc fixes to run with Python3; part 2
2024-05-28 12:58:40 +09:00
Kashiko Koibumi
6ec9fb1a7e
Merge branch 'binary' into py3
2024-05-28 08:40:40 +09:00
Kashiko Koibumi
96c764bd94
refined: read from and write to SQLite database in binary mode
...
This modification is a preparation for migration to Python3.
2024-05-27 22:43:01 +09:00
Kashiko Koibumi
5ccfd520b8
Merge branch 'bytes-key' into py3
2024-05-27 00:09:56 +09:00
Kashiko Koibumi
a4c4338190
use bytes() on keys to be hashable in Python3
2024-05-26 23:38:41 +09:00
Kashiko Koibumi
ba49d3289d
use binary literals for compatibility to Python3
2024-05-26 12:05:31 +09:00
Kashiko Koibumi
21a7bdba44
use six.int2byte(), six.byte2int, six.BytesIO
2024-05-25 12:27:32 +09:00
3a04e351cc
Move RIPEMD160 hash to highlevelcrypto and export to_ripe() ( closes : #1796 )
2024-05-20 15:07:20 +03:00
anand k
95af3a859b
Renamed dandelion flag to dandelion_enabled
2024-04-22 08:59:00 +05:30
3ed84a5863
Start adding hashes with double SHA512
2024-04-13 03:17:39 +03:00
9747f65884
Define a protocol function for decoding object parameters outside of network
2024-04-05 00:37:50 +03:00
0c07bb6257
Move all the network constants into the protocol, define also magic.
...
Closes : #1788 .
2023-11-25 17:18:42 +02:00
f6adb46ce6
The command arg of protocol.CreatePacket() is of type bytes
2023-11-25 17:18:42 +02:00
7f376b0203
Move the contents of network.assemble to protocol
2023-11-25 17:18:11 +02:00
47d6fb1cbc
Use internal link to doc in docstring of isProofOfWorkSufficient()
2023-10-31 02:41:10 +02:00
99be6bbf73
Detect onion services in protocol in the same way as everythere
2022-08-30 17:22:53 +03:00
69e540b504
Define stream number validity
2022-07-31 19:54:37 +08:00
93c283a467
Place obvious bandit nosec comments
2022-05-02 18:00:55 +03:00
a5773999fe
Refactor BMConfigParser as a Module variable
2022-02-15 17:12:43 +05:30
8a5d90f200
protocol: bytes everywhere in CreatePacket and assembleVersionMessage
2021-11-11 15:55:34 +02:00
f997bca5e4
Added FIXME at bare except warning in protocol.py
2021-09-15 21:25:18 +05:30
ccff8a09f3
Updated code quality binary operator line change & ignore base except warning in protocol.py
2021-09-15 21:25:18 +05:30
06643bbbf3
Do ord() on first two bytes of host in checkIPv6Address()
...
only in python2
2021-08-17 15:56:59 +03:00
1edb4822be
Change supscriptions in protocol.checkIPv4Address()
...
to have bytes in python3
2021-08-17 15:56:59 +03:00
1e7be609ed
Use bytes in all the comparisons in the protocol.checkIP*Address(),
...
concatenate bytes in protocol.encodeHost().
2021-08-17 15:56:26 +03:00
lakshyacis
6f35da4096
Imported packages sequencing and formatting
2020-01-30 12:14:40 +05:30
f18f534c48
Formatted protocol and its docstrings
2019-11-18 13:34:00 +02: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
b5df242141
Fixed badly formatted docstrings and some wrong text
2019-10-18 01:06:02 +03:00
0a06567071
Connect to bootstrap nodes by name
2019-09-25 18:55:01 +03:00
d8d76ed42d
No random.seed() in protocol.assembleVersionMessage()
2019-08-06 18:11:38 +03:00
ea5c447ea4
protocol: replace missing state.extPort by 'extport' setting
...
Fixes #1497
2019-08-01 12:40:50 +03:00
d0d0b2ec84
Insert exactly 16 bytes of encoded remote host name into version message
2019-05-24 11:21:23 +03:00
453e045ae5
Minimal implementation of onionpeer object
2019-05-10 12:24:41 +03:00
e163137893
Added pycrypto fallback for RIPEMD160 hash function
2019-04-22 12:53:59 +03:00
ffbc09758c
Moved sslProtocolVersion and sslProtocolCiphers to network.tls
2019-02-04 22:23:28 +02:00
3adadd398f
Removed from shared the functions duplicating protocol:
...
decryptAndCheckPubkeyPayload, isBitSetWithinBitfield
2019-02-04 22:19:39 +02:00
7c7d6781a2
Removed old code from protocol, shared, state
...
and class_objectProcessor modules (#1374 ), temporarily commented
shared.checkAndShareObjectWithPeers() call
2018-10-27 17:55:01 +03:00
649fda5b81
Merge PR 1261 into v0.6
2018-06-12 00:10:34 +02:00
f97ada87
5221f6a883
adding docstring and integer typecast
2018-05-25 06:13:01 +00:00
coffeedogs
e1c2e8ec46
Fixed: Responded to PR comments
2018-05-24 16:59:40 +01:00
coffeedogs
ab1dd319e3
Fixed: Code style and lint fixes
2018-05-24 10:53:11 +01:00
f97ada87
609a4a92e2
enable delayed POW checks
...
enable delayed POW checks via optional "receive time" argument
2018-05-23 03:38:05 +00:00
d974065f8e
Handle exceptions from python without ipv6 support
2018-03-22 17:13:34 +02:00
fd1a6c1fa1
Dandelion update
...
- dandelion fixes
- try to wait as long as possible before expiration if there are no
outbound connections
- expire in invThread rather than singleCleaner thread
- deduplication of code in inv and dinv command methods
- turn on by default, seems to work correctly now
- turn off dandelion if outbound connections are disabled
- start tracking downloads earlier, and faster download loop
- remove some obsolete lines
- minor PEP8 updates
2018-02-03 11:46:39 +01:00
6ce86b1d0a
Dandelion++ implementation
...
- untested, some functionality may be missing, don't turn on
- also, it randomises upload of requested objects
- affects #1049
2017-09-25 01:17:04 +02:00
0b07b1c89a
Peer discovery updates
...
- allow loopback addresses, now you can bind different loopback IP
addresses on a single system and they will auto-cross-connect
- always listen for discovery on 0.0.0.0
- [network] - bind now also applies for the TCP socket as well as UDP
socket
- closing socket iterator fix
2017-08-09 17:34:47 +02:00
3941b39136
Randomise node id
...
- in order to detect if it's connected to to itself, PyBitmessage now
uses a per-connection id rather than a global one
2017-07-10 07:10:05 +02:00
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
2017-05-29 00:24:07 +02:00
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
2017-05-27 19:09:21 +02:00