Update module github.com/pion/dtls/v2 to v3 (main) - abandoned#187
Open
renovate[bot] wants to merge 3 commits into
Open
Update module github.com/pion/dtls/v2 to v3 (main) - abandoned#187renovate[bot] wants to merge 3 commits into
renovate[bot] wants to merge 3 commits into
Conversation
Signed-off-by: Lan Luo <lan.luo@broadcom.com>
Update renovate configs to enable updates for CVE on release branches
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Author
Autoclosing SkippedThis PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR contains the following updates:
v2.2.12→v3.0.0Release Notes
pion/dtls (github.com/pion/dtls/v2)
v3.0.0Compare Source
Pion DTLS v3.0.0 is now available. Pion DTLS is a Go implementation of DTLS. It allows for secure communication over UDP. It is commonly used for VPNs, WebRTC and other real-time protocols.
This release includes 115 commits from 17 authors. This release added Connection Identifiers, concurrent handshaking when Accepting inbound connections, Censorship Circumvention and better resilience against packet loss during handshaking.
A special thank you to kevmo314 and hasheddan for all their hard work on making this release happen.
This release contains breaking changes. Please read the following carefully, the breakage can't be caught at compile time. Each change will have a linked commit. Looking at
examples/in the linked commit should show what code you need to change in your application.Breaking Changes
Before
/v2Pion DTLS would handshake on Server or Client creation. This design caused theAcceptimplementation to be blocking. A new connection couldn't be accept until the previous one had finished.This design also doesn't match the
crypto/tlsimplementation in stdlib. This mismatch would cause frustration/confusion for users.Now the handshaking only occurs when
Read,WriteorHandshakeis called. In most cases users shouldn't notice a difference.If you do want a Handshake performed without a
ReadorWritethis is the change needed.Before
After
This change was made in e4064683
New Features
Connection IDs
Connection IDs is a new feature added to the DTLS protocol itself. This change allows for clients to change IPs/Ports during a session. This allows for devices to roam (like phones) or for low power devices to shut down and reconnect without losing their DTLS session!
Connection ID generation is pluggable via the dtls.Config structure, and a random CID generator with a static size is provided for convenience. A new example has been added to demonstrate this functionality.
For those interested in digging deeper into the full set of changes, the majority of work was done in #570.
Censorship Circumvention
Software that is used to circumvent censorship like snowflake uses Pion. To block this (and other) software goverments have looked for patterns and differences in Pion DTLS and blocked it.
This new release contains hooks that allows users to randomize and circumvent these blocks. Users can modify ClientHello, ServerHello and CertificateRequest. Users can also smuggle information in a ServerHello/ClientHello RandomBytes.
You can see them all here here
Changelog
The complete log between v2.2.7 and v3.0.0:
0a8d838Prepare /v3b6fd38eUpdate module github.com/pion/transport/v3 to v3.0.5e406468Perform handshake on first read/write6178064Mark NULL and AES256CM SRTP ciphers as supportedbc3159aAdded DTLS-SRTP IDs for NULL and AES256CM ciphersd013d0cOn Read Retransmit send FSM to SENDINGec76652Retransmit last flight when in finished602dc71Make localConnectionID thread safe0a1b73aRespect disableRetransmitBackoffa6d9640Add OnConnectionAttempt to Config48d6748Implement retransmit backoff according to 4.2.4.145e16a0Update module golang.org/x/net to v0.26.0a5d1facFlight3: respect curves configuration61b3466Add ability to select cert based on ch rand byteseddca22Update module golang.org/x/crypto to v0.24.0edc7ad0Limit size of encrypted packet queuefbbdf66Update module golang.org/x/net to v0.25.0efd6737Add test for PSK and Identitycb62aacFix typo in test494c1a3Remove testify dependencyadec94aUpdate golang Docker tag to v1.228738ce1Add handshake hooking2c36d63Update module golang.org/x/net to v0.24.0d606c79Update module golang.org/x/crypto to v0.22.0f6f666eUpdate module golang.org/x/net to v0.23.0 [SECURITY]e008bc4Update CI configs to v0.11.123e667b0Update go.mod version to 1.19ae51db9Update CI configs to v0.11.78244c45Update CI configs to v0.11.40ad9cfdUpdate module github.com/pion/transport/v3 to v3.0.28a93e0eFix TestErrorsTemporary38e39e4Update module golang.org/x/net to v0.22.0a245727Update module golang.org/x/crypto to v0.21.05e95b5cUpdate module github.com/stretchr/testify to v1.9.035a00d3Fix linter errors96b8c29Fix linter errors2597464Update module golang.org/x/net to v0.20.042b6772Update module golang.org/x/crypto to v0.18.0bb54a30If not found in the cache return nil3427819Format code798b32aFix flight1parse processing exceptionba72fbaUpdate CI configs to v0.11.3520d84cUpdate CI configs to v0.11.0cfa868cRemove 'AUTHORS.txt' from README.mdb4a403cRemove 'Generate Authors' workflow9ffd96cDrop invalid record silently during handshake3e8a7d7Update module golang.org/x/crypto to v0.17.0 [SECURITY]dc751e3Update module golang.org/x/net to v0.19.03f3d833Update module golang.org/x/crypto to v0.16.0a8f7062Use atomic to avoid stale SRTP protection profile9cc3df9Respect Algorithm value in CertificateRequest7faf25fUpdate module golang.org/x/net to v0.17.0 [SECURITY]c864545Update module golang.org/x/net to v0.15.028431d9Export CipherSuiteID in connection State8401874Update module golang.org/x/crypto to v0.13.0744e27aUpdate actions/checkout action to v42b584afSpecifying underlying type of conn ID atomic.Value70caf30Use atomic.Value to maintain Go 1.13 compatibility60064c6Update module github.com/pion/transport/v3 to v3.0.1ef50d6bUpdate AUTHORS.txt7e5003aUpdate AUTHORS.txtdbc7fd9Update module github.com/pion/transport/v3 to v3.0.0a681f67Correctly identify client and server with PSK IDe85f106Update module github.com/pion/transport/v2 to v2.2.27bf18f8Update module golang.org/x/net to v0.14.0609e5beClear CIDs on potential session resumptione142ee1Serialize CIDs in state37fbc04Add CID send only client example6df50a6Add CID listener examplef5875c1Set UDP routing if CID is enablede663309Add CID routing unit tests9db84b5Add CID based datagram routinga8998afAdd UDP net.PacketListener unit tests71db42bIntroduce UDP net.PacketListener3afeb7dAdd PacketBuffer unit testseb305b1Introduce net PacketBuffer703da0cConsume net package in tests4f53ce1Introduce net packagef1d8b0aWrap Alerts when CID is negotiated3082313Convert nil CIDs to empty byte slice83b1254Fix name of cipher suite initialization function818feb8Set timeout to 10 minutes on e2e workflowd29c6f0Add basic connection ID generators2f2bc8dAdd e2e CID testsee04141Update tests to wrap net.Connf960a37Wrap net.Conn in DTLS listenerafb61f1Update DTLS Conn to use PacketConn and CIDd082911Add Conn to PacketConn utilitye5420deUpdate handshaker to handle CID extension8922879Update ciphersuites to support CIDs8ba47cbImplement AEAD additional data with CID27fd131Add local and remote CID to state9a37bfdImplement AddUint48 utility1ce6f27Add CID content type6af61b1Allow packets to specify CID wrappedb7b1e44Add support for CID related generators2005135Add support for parsing CID records9e4a4e7Add DTLS connection ID extensione9b3ce0Update pion/transport to latesta1d270fUpdate module golang.org/x/crypto to v0.12.0a6eca6cUpdate CI configs to v0.10.11eb34e7dUpdate module golang.org/x/net to v0.13.0c9eb5f2Update module golang.org/x/net to v0.12.0b033847Clean up unneccessary nested logic7307f62Fix return of nil alertErrorsb905606Add unmarshal unit tests for extensions0736d45Fix parsing supported EC point formats93704b3Add Daniel Mangum to AUTHORS.txtcabe5b8Enable Supported Signature Algorithms265bf11Enable Elliptic Curve Supported Point Formatsd7303d0Wait for OpenSSL server shutdown in e2e test159122fUpdate e2e Go image to 1.208a11cf2Remove extraneous error checks in handshaker4fc3d8fUpdate module golang.org/x/net to v0.11.04b76abfUpdate module golang.org/x/crypto to v0.10.0Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.