-
Notifications
You must be signed in to change notification settings - Fork 0
feat(network): write bounded BiDi WebSocket opening request #195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feat/webdriver-bidi-websocket-handshake-request
Are you sure you want to change the base?
Changes from all commits
a315a87
b093183
15356dd
e88a4a5
89198f2
6f24ec2
25a9500
2ba0769
b94bf13
96c3704
c4cd29e
35815f3
193f115
fe232eb
8ba05a1
26a98ad
732cee8
a9555f8
865deb6
4e08b8c
ed45c99
29a310c
4ff33b5
a9da3e4
924f260
1e6c35d
9eb3ee1
5b7a6b6
5bbd3c8
2b02e01
075545a
1e791f7
e1c9002
2e01bcd
84827a8
579dd3d
154e226
a178efc
c757d5f
285d4a5
5ad697b
b09f93c
f73f6cb
f3c63d7
ef4393d
746128c
7daabb5
c5746a6
54ab034
f9ba573
64b6d65
61af6b4
38061f7
7c04744
9541b6d
1bd7d02
1064905
ceb3686
9a03d45
4c5e51d
3801e90
3a9aa8b
06018f2
3b3218a
cd2ca57
305a40c
75147b6
20830e9
edd1107
3a3a2c5
53c3d92
946971e
66eb019
a507fed
faffcab
60385f4
0bad232
7d7c7d8
ad6659b
f48f4dd
c6daa6d
623f1cb
b84bebb
d572b59
6cc3fb5
e5ff620
504e921
2251d5e
90f65d7
dd4935c
ded60bc
2cb8e06
6cd64de
587a838
63bd87a
17b8834
4c95e21
8a1f7fd
b5f396f
3da820f
651d53e
e8d8aa8
7964efe
3c02b8e
ed6aa42
dc303b8
fde30a5
f9f31cc
31061c4
21df42e
e07aaf0
d6231ce
bc280a2
2496a66
7ee53f3
3420aa4
65477ac
9ffe549
117aa45
d5c55e8
da4e64f
1d873b1
b5fb68a
02b43e9
11faa7f
e9dda45
e53a35e
3ba836a
b22a371
082a8e2
217e070
8ead5b9
6a82023
79fd480
437237b
f31e129
400e7a4
bdb3efe
4f03c5f
b6f17ec
f7c1cec
51a42de
a3d6628
019f6af
d6d75c6
c26030c
0007fc5
225964d
151b9fd
49a8143
318c9dd
14e55da
dfff508
6d8d892
c6c5480
93e5ec9
d769977
ac0209d
9f0b9fb
8ee1712
cd3734e
6400d2e
54db15a
3ade84e
ba5b9be
0c8b39b
853808e
b692162
18f2dff
5e0eab2
8385467
d115037
22bf20e
24d52f6
edd8ca3
46380dd
370594c
87a9171
3e53784
1a3d80a
0e79777
8e061d6
95d09f2
1591495
4c1558d
f653c8e
3e71e63
f537a4d
2f1ff59
25b7734
ce027d5
9fa4e46
3e50431
078648b
02952da
5fe9db9
c051c15
cbf3dcc
400ce7b
f10670c
40335f1
f94b2ec
c95c1b7
b7e0287
01e6ae4
9a6ccf8
34f9065
d98f97c
608abfe
e8e7eff
245ae04
a77e1ce
b47c4fd
9e550a4
c1bc7e7
bfca50e
b68e0f6
9c165cc
73eb00f
160620c
cdfdc89
dec5092
df321a8
863f9ab
6f2c3f1
ff92b8a
65fb36a
f801395
e068efd
fc556f3
a5ddb50
f427aa6
a4240df
6c5ef5e
364ba7a
f6b0c7f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,16 +4,35 @@ | |
| //! without hostname resolution or proxy inheritance, verifies operating-system | ||
| //! peers before exposing transport I/O, and emits credential-free evidence. | ||
| //! It also bridges a session-correlated WebDriver BiDi loopback target from | ||
| //! `originweave-core` into one bounded exact TCP connection and can bind an inert | ||
| //! RFC 6455 opening request to an already-verified plain BiDi stream without | ||
| //! granting browser, WebSocket, TLS, policy, or Agent authority. | ||
| //! `originweave-core` into one bounded exact TCP connection, binds an RFC 6455 | ||
| //! opening request to that verified plain stream, and can write that exact request | ||
| //! under one bounded deadline, validate its bounded RFC 6455 opening response, | ||
| //! carry one bounded frame at a time, and bind one exact `locateNodes` command to | ||
| //! its bounded correlated response without granting browser, WebSocket, TLS, | ||
| //! policy, or Agent authority. | ||
|
|
||
| #![forbid(unsafe_code)] | ||
| #![deny(missing_docs)] | ||
|
|
||
| mod connection; | ||
| mod webdriver_bidi_connection; | ||
| mod webdriver_bidi_locate_nodes_exchange; | ||
| #[cfg(test)] | ||
| mod webdriver_bidi_locate_nodes_exchange_transport_failure_tests; | ||
| #[cfg(test)] | ||
| mod webdriver_bidi_locate_nodes_exchange_unit_coverage_tests; | ||
| mod webdriver_bidi_websocket_control; | ||
| #[cfg(test)] | ||
| #[allow(clippy::expect_used)] | ||
| mod webdriver_bidi_websocket_coverage_tests; | ||
| #[cfg(test)] | ||
| #[allow(clippy::expect_used)] | ||
| mod webdriver_bidi_websocket_debug_tests; | ||
| #[path = "webdriver_bidi_websocket_validated.rs"] | ||
| mod webdriver_bidi_websocket_handshake; | ||
| #[path = "webdriver_bidi_websocket_raw_redacted.rs"] | ||
| mod webdriver_bidi_websocket_handshake_raw; | ||
| mod webdriver_bidi_websocket_mask_key; | ||
|
|
||
|
Comment on lines
+31
to
36
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 Info: Layered #[path] aliasing hides two mask-key types
Was this helpful? React with 👍 or 👎 to provide feedback. |
||
| pub use connection::{ | ||
| ConnectionPlan, DirectTcpConnection, MAX_CONNECT_TIMEOUT, MAX_CONNECTION_ATTEMPTS, | ||
|
|
@@ -23,7 +42,20 @@ pub use webdriver_bidi_connection::{ | |
| WebDriverBiDiTcpConnection, WebDriverBiDiTcpConnectionError, | ||
| WebDriverBiDiTcpConnectionEvidence, WebDriverBiDiTcpConnectionPlan, | ||
| }; | ||
| pub use webdriver_bidi_locate_nodes_exchange::{ | ||
| MAX_WEBDRIVER_BIDI_CONTROL_FRAMES_PER_EXCHANGE, | ||
| MAX_WEBDRIVER_BIDI_RESPONSE_FRAGMENTS_PER_EXCHANGE, WebDriverBiDiLocateNodesExchangeError, | ||
| }; | ||
| pub use webdriver_bidi_websocket_handshake::{ | ||
| WebDriverBiDiWebSocketClientKey, WebDriverBiDiWebSocketHandshakeError, | ||
| WebDriverBiDiWebSocketHandshakePlan, | ||
| WebDriverBiDiWebSocketEstablished, WebDriverBiDiWebSocketHandshakePlan, | ||
| WebDriverBiDiWebSocketOpeningRequestSent, | ||
| }; | ||
| pub use webdriver_bidi_websocket_handshake_raw::{ | ||
| MAX_WEBSOCKET_FRAME_PAYLOAD_SIZE, MAX_WEBSOCKET_FRAME_TIMEOUT, | ||
| MAX_WEBSOCKET_OPENING_RESPONSE_SIZE, MAX_WEBSOCKET_OPENING_RESPONSE_TIMEOUT, | ||
| MAX_WEBSOCKET_OPENING_WRITE_TIMEOUT, WebDriverBiDiWebSocketClientKey, | ||
| WebDriverBiDiWebSocketFrame, WebDriverBiDiWebSocketFrameError, | ||
| WebDriverBiDiWebSocketHandshakeError, WebDriverBiDiWebSocketHandshakeResponseError, | ||
| WebDriverBiDiWebSocketOpeningWriteError, | ||
| }; | ||
| pub use webdriver_bidi_websocket_mask_key::WebDriverBiDiWebSocketMaskKey; | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔍 New base64 and sha1 dependencies added
Cargo.toml adds
base64 = "0.22.1"andsha1 = "0.10.6", used to compute the RFC 6455Sec-WebSocket-Acceptvalue inexpected_accept_value. CONTRIBUTING.md asks for a documented need, license/maintenance assessment, and supply-chain checks for new dependencies. Versions are pinned; confirm the assessment exists (e.g. ADR or PR record) since it is not visible in the diff.Was this helpful? React with 👍 or 👎 to provide feedback.