-
Notifications
You must be signed in to change notification settings - Fork 102
Webtransport #183
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
Merged
seanmonstar
merged 101 commits into
hyperium:master
from
security-union:add-webtransport
Jun 13, 2023
Merged
Webtransport #183
Changes from all commits
Commits
Show all changes
101 commits
Select commit
Hold shift + click to select a range
84701a7
add cert generator
darioalessandro dcc248d
save
darioalessandro 21f564d
adding SETTINGS_ENABLE_WEBTRANSPORT
darioalessandro 22aaaa8
revert dup setting
darioalessandro 6ebd3e1
chore: extract connection config to struct
ten3roberts 203d59d
chore: add some helper comments
ten3roberts 54e8946
feat: bare WebTransportSession
ten3roberts e730761
chore: update .gitignore
ten3roberts a1c35fd
feat: creating a connection using custom config
ten3roberts d4812c3
wip: server webtransport settings negotiation
ten3roberts 943d334
fix: cert paths
ten3roberts 47c3120
chore: trust self-signed cert script
ten3roberts f3f2a80
chore: configure server for webtransport
ten3roberts 38ad758
feat: handle extended settings frame
ten3roberts 52eb68d
feat: support CONNECT and :protocol
ten3roberts 7992a2b
revert changes to original demo
darioalessandro 6337f25
print client header fields for debugging
darioalessandro c482960
delete mkcert script because it does not work and it is confusing
darioalessandro d48a11a
got connect to work, now we need to connect datagrams. unidirectional…
darioalessandro d0bb808
enable chrome debugging
darioalessandro 3accb2d
checkin chrome extension to debug connect request
darioalessandro f89acdd
add datagrams to h3 connection, also, never drop the stream used to a…
darioalessandro 7d3f1a2
got datagrams echo mode to work
darioalessandro 495e1cd
got datagrams echo mode to work
darioalessandro 3ae8832
feat: use upgrade style api for wt session
ten3roberts 57dcb92
fix: future requiring double await
ten3roberts 8a6dd1d
feat: datagram api
ten3roberts add97ff
remove Google Chrome extension
darioalessandro 6d503d6
revert examples/server changes
darioalessandro 9c69ca1
remove unrelated changes on examples/client
darioalessandro 254a013
got halfway done implementing unidirectional streams
darioalessandro 7628e3e
feat: proper datagram encoding/decoding
ten3roberts ff4d51a
chore: move WebTransportSession
ten3roberts a009765
fix: don't discard incoming recv streams
ten3roberts 126fa50
chore: save session_id
ten3roberts 5091639
feat: resolve session id for uni streams
ten3roberts 0fde7d4
wip: partial read in uni stream
ten3roberts cc7dea2
feat: bidirectional streams albeit quite hacky
ten3roberts 7f2bc2d
feat: make SendStream allow writing arbitrary data like io::Write
ten3roberts 16eead4
fix: remove generic for SendStream
ten3roberts e07286c
remove print statements from poll accept request and add keep alive i…
darioalessandro 5f0f3da
Merge branch 'master' into add-webtransport
ten3roberts 92ca2a7
feat: make Connection agnostic to underlying send buffer implementation
ten3roberts 0c42603
feat: generalize peeked reading of streams
ten3roberts 51d66c3
feat: allow requests to pass through WebTransportSession
ten3roberts 9af9ad5
feat: implement AsyncWrite for wt SendStream
ten3roberts 687e3eb
fix: (some) msrv
ten3roberts 869add4
fix: doc tests
ten3roberts 669bee6
wip: open bi
ten3roberts 0e178e2
read unidirectional stream until the end
darioalessandro d8053b4
got system to echo datagrams and bidi_streams, we can receive uni_str…
darioalessandro 1d8339d
add missing import
darioalessandro 4441c68
send frame type and session id
darioalessandro fa150c8
almost?
darioalessandro d5ef8d8
fix: unidirectional stream header encoding
ten3roberts 8597893
chore: cleanup logs
ten3roberts cde007d
added BIDI stream type, removed unused constants
darioalessandro 6c138d6
Merge branch 'add-webtransport' of github.com:security-union/h3 into …
darioalessandro 644f991
got server initiated uni-streams to work
darioalessandro 9ec8012
wip: multi session support
ten3roberts 0d49d38
wip: new server and session api
ten3roberts 6a355a9
Revert "wip: new server and session api"
darioalessandro 08e39eb
Revert "wip: multi session support"
darioalessandro 374a137
took a stab at breaking webtransport into it's own crate
darioalessandro e385d6d
add allow_access_to_core feature so that h3 users need to go out of t…
darioalessandro 0540c1d
chore: concurrent handling message in webtransport example
ten3roberts 0c3a07c
chore: use pin-project
ten3roberts 32b1560
chore: move streams to h3-webtransport
ten3roberts 7b6a260
chore: fix warnings
ten3roberts 57576b9
chore: cleanup
ten3roberts cf2044b
fix: don't always buffer webtransport streams
ten3roberts 64c1da7
fix: don't log header fields
ten3roberts f4e83fb
feat: webtransport combined bidi streams
ten3roberts 7141521
remove DUMMY setting
darioalessandro bf13d83
Merge branch 'add-webtransport' of github.com:security-union/h3 into …
darioalessandro 24e6e00
fix: typo
ten3roberts 63388af
fix: relax OpenStream bounds
ten3roberts 9ff3c2e
chore: revert quic traits
ten3roberts 14fba6b
feat: separate trait for unframed stream data
ten3roberts 3708407
fix: import
ten3roberts 757dedc
feat: ext module
ten3roberts fa7785c
chore: revert 'static + Error
ten3roberts 74935b5
chore: fix public error internals
ten3roberts 3dd7732
fix: session id exposed field
ten3roberts d781040
feat: split datagram support into traits
ten3roberts 0bc780f
fix: make BufList private be exposing relevant method in BufRecvStream
ten3roberts 3cb7955
fix: duplicate method to construct server connection
ten3roberts 4e44e04
chore: rename `conn`
ten3roberts fc67a31
chore: remove inner connection Mutex on `C`
ten3roberts cf8fd16
Merge branch 'master' into add-webtransport
ten3roberts 185e55d
feat: `i-implement-a-third-party-backend-and-opt-into-breaking-change…
ten3roberts 6c8de63
fix: unnused import
ten3roberts 6449f79
fix: shutdown todo
ten3roberts 2b536b7
feat(webtransport): tokio AsyncRead/AsyncWrite
ten3roberts 64fe30d
fix: panic in shutdown during request
ten3roberts 48d5f1f
chore: split config into separate struct
ten3roberts 483eac9
fix: msrv and move datagram to exposed module
ten3roberts d68f1c0
fix: doctests
ten3roberts db5c723
fix: remove spec comment due to failing to find draft rfc
ten3roberts a45bfd4
fix: missing feature flag due to feature unification
ten3roberts fa956e0
chore: address visibility concerns
ten3roberts File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,7 @@ | |
members = [ | ||
"h3", | ||
"h3-quinn", | ||
"h3-webtransport", | ||
|
||
# Internal | ||
"examples", | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#!/bin/bash | ||
|
||
set -e | ||
|
||
SPKI=`openssl x509 -inform der -in localhost.crt -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64` | ||
|
||
echo "Got cert key $SPKI" | ||
|
||
echo "Opening google chrome" | ||
|
||
case `uname` in | ||
(*Linux*) google-chrome --origin-to-force-quic-on=127.0.0.1:4433 --ignore-certificate-errors-spki-list=$SPKI --enable-logging --v=1 ;; | ||
(*Darwin*) open -a "Google Chrome" --args --origin-to-force-quic-on=127.0.0.1:4433 --ignore-certificate-errors-spki-list=$SPKI --enable-logging --v=1 ;; | ||
esac | ||
|
||
## Logs are stored to ~/Library/Application Support/Google/Chrome/chrome_debug.log |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.