afe6da5db2
Merge upstream/main into add-ws-transport
...
Resolved conflicts in:
- .gitignore: Combined JavaScript interop and Sphinx build ignores
- libp2p/__init__.py: Integrated QUIC transport support with WebSocket transport
- libp2p/network/swarm.py: Used upstream's improved listener handling
- pyproject.toml: Kept both WebSocket and QUIC dependencies
This merge brings in:
- QUIC transport implementation
- Enhanced swarm functionality
- Improved peer discovery
- Better error handling
- Updated dependencies and documentation
WebSocket transport implementation remains intact and functional.
2025-09-07 23:47:41 +02:00
396812e84a
Experimental: Add comprehensive WebSocket and WSS implementation with tests
...
- Implemented full WSS support with TLS configuration
- Added handshake timeout and connection state tracking
- Created comprehensive test suite with 13+ WSS unit tests
- Added Python-to-Python WebSocket peer-to-peer tests
- Implemented multiaddr parsing for /ws, /wss, /tls/ws formats
- Added connection state tracking and concurrent close handling
- Created standalone WebSocket client for testing
- Fixed circular import issues with multiaddr utilities
- Added debug tools for WebSocket URL testing
All WebSocket transport functionality is complete and working.
Tests demonstrate WebSocket transport works correctly at the transport layer.
Higher-level libp2p protocol compatibility issues remain (same as JS interop).
2025-09-07 23:44:17 +02:00
2fe5882013
fix: add quic utils test and improve connection performance
2025-09-04 21:25:37 +00:00
d0c81301b5
fix: quic transport mock in quic connection
2025-09-02 18:47:07 +00:00
d2d4c4b451
fix: proper connection config setup
2025-09-02 18:27:47 +00:00
33730bdc48
fix: type assertion for config class
2025-09-02 16:39:38 +00:00
159d2cc322
Merge remote-tracking branch 'upstream/main'
2025-09-02 16:16:21 +00:00
9749be6574
fix: refine selection of quic transport while init
2025-08-31 16:07:41 +00:00
186113968e
chore: remove unwanted code, fix type issues and comments
2025-08-31 13:15:51 +00:00
31040931ea
fix: remove unused upgrade_listener function (Issue 2 from #726 )
2025-08-30 23:44:49 +02:00
2c03ac46ea
fix: Peer ID verification during dial ( #7 )
2025-08-30 14:08:53 +05:30
58433f9b52
fix: changes to opening new stream, setting quic connection parameters
...
1. Do not dial to open a new stream, use existing swarm connection in quic transport to open new stream
2. Derive values from quic config for quic stream configuration
3. Set quic-v1 config only if enabled
2025-08-30 14:08:53 +05:30
933741b190
fix: allow accept stream to wait indefinitely
2025-08-30 14:08:53 +05:30
6d1e53a4e2
fix: ignore peer id derivation for quic dial
2025-08-30 14:08:53 +05:30
5ed3707a51
fix: use ASN.1 format certificate extension
2025-08-30 14:08:53 +05:30
84c9ddc2dd
chore: cleanup and doc gen fixes
2025-08-30 14:08:53 +05:30
a6ff93122b
chore: fix linting issues
2025-08-30 14:08:53 +05:30
8e6e88140f
fix: add support for rsa, ecdsa keys in quic
2025-08-30 14:08:53 +05:30
342ac746f8
fix: client certificate verification done
2025-08-30 14:08:52 +05:30
b3f0a4e8c4
DEBUG: client certificate at server
2025-08-30 14:08:32 +05:30
0f64bb49b5
chore: log cleanup
2025-08-30 14:08:22 +05:30
03bf071739
chore: cleanup and near v1 quic impl
2025-08-30 14:08:22 +05:30
c15c317514
fix: accept stream on server side
2025-08-30 14:08:22 +05:30
6c45862fe9
fix: succesfull echo example completed
2025-08-30 14:08:22 +05:30
8f0cdc9ed4
fix: succesfull echo
2025-08-30 14:08:22 +05:30
bbe632bd85
fix: initial connection succesfull
2025-08-30 14:08:21 +05:30
2689040d48
fix: handle short quic headers and compelete connection establishment
2025-08-30 14:08:06 +05:30
8263052f88
fix: peer verification successful
2025-08-30 14:08:06 +05:30
e2fee14bc5
fix: try to fix connection id updation
2025-08-30 14:08:06 +05:30
6633eb01d4
fix: add QUICTLSSecurityConfig for better security config handle
2025-08-30 14:08:06 +05:30
123c86c091
fix: duplication connection creation for same sessions
2025-08-30 14:08:06 +05:30
369f79306f
chore: add logs to debug connection
2025-08-30 14:08:06 +05:30
cb6fd27626
fix: process packets received and send to quic
2025-08-30 14:08:06 +05:30
a1d1a07d4c
fix: implement missing methods
2025-08-30 14:08:05 +05:30
ac01cc5038
fix: add echo example
2025-08-30 14:07:54 +05:30
45c5f16379
fix: update conn and transport for security
2025-08-30 14:07:31 +05:30
ce76641ef5
temp: impl security modile
2025-08-30 14:07:31 +05:30
bc2ac47594
fix: add basic quic stream and associated tests
2025-08-30 14:07:31 +05:30
a3231af714
fix: add basic tests for listener
2025-08-30 14:07:31 +05:30
54b3055eaa
fix: impl quic listener
2025-08-30 14:07:31 +05:30
446a22b0f0
temp: temporty quic impl
2025-08-30 14:07:31 +05:30
fe4c17e8d1
Fix typecheck errors and improve WebSocket transport implementation
...
- Fix INotifee interface compliance in WebSocket demo
- Fix handler function signatures to be async (THandler compatibility)
- Fix is_closed method usage with proper type checking
- Fix pytest.raises multiple exception type issue
- Fix line length violations (E501) across multiple files
- Add debugging logging to Noise security module for troubleshooting
- Update WebSocket transport examples and tests
- Improve transport registry error handling
2025-08-11 01:25:49 +02:00
64107b4648
feat: implement WebSocket transport with transport registry system - Add transport_registry.py for centralized transport management - Integrate WebSocket transport with new registry - Add comprehensive test suite for transport registry - Include WebSocket examples and demos - Update transport initialization and swarm integration
2025-08-09 23:52:55 +02:00
1997777c52
Fix IPv6 host bracketing in WebSocket transport
2025-07-23 08:10:51 +00:00
187418378a
added WebSocket transport support
...
Signed-off-by: GautamBytes <manchandanigautam@gmail.com >
2025-07-20 09:23:42 +00:00
2ed2587fc9
fix: removed dummy ID(b) from upgrade_security for inbound connections ( #681 )
...
* fix: removed dummy ID(b) from upgrade_security for inbound connections
* added newsfragment
* updated newsfragment
2025-06-17 06:25:50 -06:00
bdadec7519
ft. modernise py-libp2p ( #618 )
...
* fix pyproject.toml , add ruff
* rm lock
* make progress
* add poetry lock ignore
* fix type issues
* fix tcp type errors
* fix text example - type error - wrong args
* add setuptools to dev
* test ci
* fix docs build
* fix type issues for new_swarm & new_host
* fix types in gossipsub
* fix type issues in noise
* wip: factories
* revert factories
* fix more type issues
* more type fixes
* fix: add null checks for noise protocol initialization and key handling
* corrected argument-errors in peerId and Multiaddr in peer tests
* fix: Noice - remove redundant type casts in BaseNoiseMsgReadWriter
* fix: update test_notify.py to use SwarmFactory.create_batch_and_listen, fix type hints, and comment out ClosedStream assertions
* Fix type checks for pubsub module
Signed-off-by: sukhman <sukhmansinghsaluja@gmail.com >
* Fix type checks for pubsub module-tests
Signed-off-by: sukhman <sukhmansinghsaluja@gmail.com >
* noise: add checks for uninitialized protocol and key states in PatternXX
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com >
* pubsub: add None checks for optional fields in FloodSub and Pubsub
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com >
* Fix type hints and improve testing
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com >
* remove redundant checks
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com >
* fix build issues
* add optional to trio service
* fix types
* fix type errors
* Fix type errors
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com >
* fixed more-type checks in crypto and peer_data files
* wip: factories
* replaced union with optional
* fix: type-error in interp-utils and peerinfo
* replace pyright with pyrefly
* add pyrefly.toml
* wip: fix multiselect issues
* try typecheck
* base check
* mcache test fixes , typecheck ci update
* fix ci
* will this work
* minor fix
* use poetry
* fix wokflow
* use cache,fix err
* fix pyrefly.toml
* fix pyrefly.toml
* fix cache in ci
* deploy commit
* add main baseline
* update to v5
* improve typecheck ci (#14 )
* fix typo
* remove holepunching code (#16 )
* fix gossipsub typeerrors (#17 )
* fix: ensure initiator user includes remote peer id in handshake (#15 )
* fix ci (#19 )
* typefix: custom_types | core/peerinfo/test_peer_info | io/abc | pubsub/floodsub | protocol_muxer/multiselect (#18 )
* fix: Typefixes in PeerInfo (#21 )
* fix minor type issue (#22 )
* fix type errors in pubsub (#24 )
* fix: Minor typefixes in tests (#23 )
* Fix failing tests for type-fixed test/pubsub (#8 )
* move pyrefly & ruff to pyproject.toml & rm .project-template (#28 )
* move the async_context file to tests/core
* move crypto test to crypto folder
* fix: some typefixes (#25 )
* fix type errors
* fix type issues
* fix: update gRPC API usage in autonat_pb2_grpc.py (#31 )
* md: typecheck ci
* rm comments
* clean up : from review suggestions
* use | None over Optional as per new python standards
* drop supporto for py3.9
* newsfragments
---------
Signed-off-by: sukhman <sukhmansinghsaluja@gmail.com >
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com >
Co-authored-by: acul71 <luca.pisani@birdo.net >
Co-authored-by: kaneki003 <sakshamchauhan707@gmail.com >
Co-authored-by: sukhman <sukhmansinghsaluja@gmail.com >
Co-authored-by: varun-r-mallya <varunrmallya@gmail.com >
Co-authored-by: varunrmallya <100590632+varun-r-mallya@users.noreply.github.com >
Co-authored-by: lla-dane <abhinavagarwalla6@gmail.com >
Co-authored-by: Collins <ArtemisfowlX@protonmail.com >
Co-authored-by: Abhinav Agarwalla <120122716+lla-dane@users.noreply.github.com >
Co-authored-by: guha-rahul <52607971+guha-rahul@users.noreply.github.com >
Co-authored-by: Sukhman Singh <63765293+sukhman-sukh@users.noreply.github.com >
Co-authored-by: acul71 <34693171+acul71@users.noreply.github.com >
Co-authored-by: pacrob <5199899+pacrob@users.noreply.github.com >
2025-06-09 11:39:59 -06:00
e56974078a
Fix exception handling
2025-05-15 13:49:02 -06:00
745458cdff
Reduce logging level to debug in TCPListener.listen()
2025-05-15 13:49:02 -06:00
bb21af7694
Adds exception handling in TCPListener.listen()
2025-05-15 13:49:02 -06:00