-
Notifications
You must be signed in to change notification settings - Fork 164
Comparing changes
Open a pull request
base repository: pion/dtls
base: v2.2.7
head repository: pion/dtls
compare: master
Commits on Jun 13, 2023
-
Update module golang.org/x/crypto to v0.10.0
Generated by renovateBot
Configuration menu - View commit details
-
Copy full SHA for 4b76abf - Browse repository at this point
Copy the full SHA 4b76abfView commit details -
Update module golang.org/x/net to v0.11.0
Generated by renovateBot
Configuration menu - View commit details
-
Copy full SHA for 4fc3d8f - Browse repository at this point
Copy the full SHA 4fc3d8fView commit details
Commits on Jun 28, 2023
-
Remove extraneous error checks in handshaker
Removes extraneous checks for flight error after alert error occurs. If we are sending alert then we already know that a flight error occurred. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 8a11cf2 - Browse repository at this point
Copy the full SHA 8a11cf2View commit details
Commits on Jun 30, 2023
-
Updates the e2e Go base image to 1.20. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 159122f - Browse repository at this point
Copy the full SHA 159122fView commit details -
Wait for OpenSSL server shutdown in e2e test
Updates e2e tests to wait until server shutdown before completing to ensure that we do not trigger errors due to leaked watchCtx goroutine, which was added to os/exec.Command in Go 1.20. We do so by moving from implicit shutdown via context cancellation to explicit shutdown. https://tip.golang.org/doc/go1.20 Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for d7303d0 - Browse repository at this point
Copy the full SHA d7303d0View commit details
Commits on Jul 6, 2023
-
Enable Elliptic Curve Supported Point Formats
Enables parsing the elliptic curve supported points format extension. https://www.rfc-editor.org/rfc/rfc8422.html#section-5.1.2 Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 265bf11 - Browse repository at this point
Copy the full SHA 265bf11View commit details -
Enable Supported Signature Algorithms
Enables parsing the supported signature algorithms extension. https://datatracker.ietf.org/doc/html/rfc5246#autoid-39 Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for cabe5b8 - Browse repository at this point
Copy the full SHA cabe5b8View commit details -
Add Daniel Mangum to AUTHORS.txt
Adds Daniel Mangum to AUTHORS.txt. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 93704b3 - Browse repository at this point
Copy the full SHA 93704b3View commit details -
Fix parsing supported EC point formats
Fixes error in parsing supported elliptic curve point formats extension. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 0736d45 - Browse repository at this point
Copy the full SHA 0736d45View commit details -
Add unmarshal unit tests for extensions
Adds missing unmarshal unit tests for extensions that did not have them. These ensure that marshal / unmarshal is round-trippable. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for b905606 - Browse repository at this point
Copy the full SHA b905606View commit details
Commits on Jul 11, 2023
-
Fixes two cases where nil alert errors were being returned rather than the underlying error. Calling methods on these nil alert errors can lead to panics. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 7307f62 - Browse repository at this point
Copy the full SHA 7307f62View commit details -
Clean up unneccessary nested logic
Cleans up a few unneccessary else blocks and nested if statements. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for b033847 - Browse repository at this point
Copy the full SHA b033847View commit details
Commits on Aug 1, 2023
-
Update module golang.org/x/net to v0.12.0
Generated by renovateBot
Configuration menu - View commit details
-
Copy full SHA for c9eb5f2 - Browse repository at this point
Copy the full SHA c9eb5f2View commit details
Commits on Aug 2, 2023
-
Update module golang.org/x/net to v0.13.0
Generated by renovateBot
Configuration menu - View commit details
-
Copy full SHA for eb34e7d - Browse repository at this point
Copy the full SHA eb34e7dView commit details
Commits on Aug 5, 2023
-
Update lint scripts and CI configs.
Configuration menu - View commit details
-
Copy full SHA for a6eca6c - Browse repository at this point
Copy the full SHA a6eca6cView commit details
Commits on Aug 9, 2023
-
Update module golang.org/x/crypto to v0.12.0
Generated by renovateBot
Configuration menu - View commit details
-
Copy full SHA for a1d270f - Browse repository at this point
Copy the full SHA a1d270fView commit details -
Update pion/transport to latest
Updates pion/transport to v2.2.2-0.20230802201558-f2dffd80896b to consume the new netctx packages and the replaydetector updates. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for e9b3ce0 - Browse repository at this point
Copy the full SHA e9b3ce0View commit details -
Add DTLS connection ID extension
Adds the DTLS 1.2 connection ID extension to supported handshake extensions. Connection ID uses 54 as its identifier and includes a potentially empty connection ID. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 9e4a4e7 - Browse repository at this point
Copy the full SHA 9e4a4e7View commit details -
Add support for parsing CID records
Adds support for parsing CID records, which wrap an internal in inner plaintext. Consumers of ContentAwareUnpackDatagram must specify the CID length. The HeaderSize of 13 is now referred to as FixedHeaderSize to indicate that CID records will have variable sized headers. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 2005135 - Browse repository at this point
Copy the full SHA 2005135View commit details -
Add support for CID related generators
ConnectionIDGenerator generates connection identifiers that should be sent by the remote party if it supports the DTLS Connection Identifier extension, as determined during the handshake. Generated connection identifiers must always have the same length. Returning a zero-length connection identifier indicates that the local party supports sending connection identifiers but does not require the remote party to send them. A nil ConnectionIDGenerator indicates that connection identifiers are not supported. https://datatracker.ietf.org/doc/html/rfc9146 PaddingLengthGenerator generates the number of padding bytes used to inflate ciphertext size in order to obscure content size from observers. The length of the content is passed to the generator such that both deterministic and random padding schemes can be applied while not exceeding maximum record size. If no PaddingLengthGenerator is specified, padding will not be applied. https://datatracker.ietf.org/doc/html/rfc9146#section-4 Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for b7b1e44 - Browse repository at this point
Copy the full SHA b7b1e44View commit details -
Allow packets to specify CID wrapped
Updates the packet structure to allow for specifying the a given packet should be stuffed in the inner plaintext of a CID record. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 6af61b1 - Browse repository at this point
Copy the full SHA 6af61b1View commit details -
Adds the connection ID content type, which used 25 as identifier. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 1ce6f27 - Browse repository at this point
Copy the full SHA 1ce6f27View commit details -
Adds the AddUint48 utility used to handle sequence numbers in DTLS records. This should be removed when golang/crypto#265 is implemented. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 9a37bfd - Browse repository at this point
Copy the full SHA 9a37bfdView commit details -
Add local and remote CID to state
Adds local and remote CID to state, but does not serialize them. CIDs should be renogotiated on session resumption. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 27fd131 - Browse repository at this point
Copy the full SHA 27fd131View commit details -
Implement AEAD additional data with CID
Implements AEAD additional data generation when using connection IDs as described in https://datatracker.ietf.org/doc/html/rfc9146#name-aead-ciphers. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 8ba47cb - Browse repository at this point
Copy the full SHA 8ba47cbView commit details -
Update ciphersuites to support CIDs
Updates ciphersuites to add support for handling connection ID records. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 8922879 - Browse repository at this point
Copy the full SHA 8922879View commit details -
Update handshaker to handle CID extension
Updates handshaker to handle negotiating CIDs. Local connection ID is only set if the local party generates one and the remote indicates support. Remote connection id is only set if remote generates one and connection IDs are supported locally Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for e5420de - Browse repository at this point
Copy the full SHA e5420deView commit details -
Add Conn to PacketConn utility
Adds a utility used to translate net.Conn's to net.PacketConn's for use in DTLS package. This utility may be promoted to a public package in the future if consumers require using net.Conn, particularly if they are using connected UDP sockets. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for d082911 - Browse repository at this point
Copy the full SHA d082911View commit details -
Update DTLS Conn to use PacketConn and CID
Updates DTLS Conn to take a net.PacketConn and support connection IDs. Moving to net.PacketConn allows for updating the remote address when utilizing connection IDs, alleviating the need to re-handshake every time an IP address or port changes. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for afb61f1 - Browse repository at this point
Copy the full SHA afb61f1View commit details -
Wrap net.Conn in DTLS listener
Wraps the net.Conn returned from the UDP listener in the DTLS listener. The underlying UDP listener will be adapted in the future to support returning net.PacketConn. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for f960a37 - Browse repository at this point
Copy the full SHA f960a37View commit details -
Updates tests that use net.Conn to wrap in net.PacketConn so that new Client / Server constructors may be used. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ee04141 - Browse repository at this point
Copy the full SHA ee04141View commit details -
Adds e2e tests for connection ID support. OpenSSL does not currently support connection IDs, so tests are only run between pion/dtls client and server. Support for other libraries, such as californium and mbedTLS will be added in the future. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 2f2bc8d - Browse repository at this point
Copy the full SHA 2f2bc8dView commit details -
Add basic connection ID generators
Adds simple connection ID generators that can be used to generate random connection IDs of a given length, or indicate support for connection IDs without requiring the remote to send one. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for d29c6f0 - Browse repository at this point
Copy the full SHA d29c6f0View commit details
Commits on Aug 10, 2023
-
Set timeout to 10 minutes on e2e workflow
Sets the timeout to 10 minutes on the e2e workflow. Previously, if the workflow did not terminate, it would run for the default of 360 minutes. See https://docs.github.com/en/actions/using-workflows for more information. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 818feb8 - Browse repository at this point
Copy the full SHA 818feb8View commit details
Commits on Aug 14, 2023
-
Fix name of cipher suite initialization function
Fixes misspelling in name of cipher suite initialization function. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 83b1254 - Browse repository at this point
Copy the full SHA 83b1254View commit details
Commits on Aug 22, 2023
-
Convert nil CIDs to empty byte slice
Adds a check on the generated CID in flight 1 to convert to an empty byte slice if the CID is nil. This allows us to distinguish not supporting CIDs to only suppporting sending CIDs in the second ClientHello in flight 3. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 3082313 - Browse repository at this point
Copy the full SHA 3082313View commit details
Commits on Aug 23, 2023
-
Wrap Alerts when CID is negotiated
Updates to conditionally wrap Alert messages when a non-zero length connection ID has been negotiated. From the DTLS 1.2 Connection ID RFC: If DTLS peers have negotiated the use of a non-zero-length CID for a given direction, then once encryption is enabled, they MUST send with the record format defined in Figure 3 (see Section 4) with the new Message Authentication Code (MAC) computation defined in Section 5 and the content type tls12_cid. Plaintext payloads never use the new record format or the CID content type. https://datatracker.ietf.org/doc/html/rfc9146#section-3 Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for f1d8b0a - Browse repository at this point
Copy the full SHA f1d8b0aView commit details
Commits on Aug 27, 2023
-
Introduces a new net package, which defines networking interfaces used throughout the pion/dtls code base, as well as utilities to help consumers convert standard library net types into pion/dtls compatible ones. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 4f53ce1 - Browse repository at this point
Copy the full SHA 4f53ce1View commit details -
Updates unit and e2e tests to consume new utilities from the dtls net package. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 703da0c - Browse repository at this point
Copy the full SHA 703da0cView commit details -
Introduce a network PacketBuffer which maintains a ring buffer of network packets constituted of the packet payload and the remote address from which it was received. This package borrows heavily from the bytes based ring buffer in pion/transport/packetio. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for eb305b1 - Browse repository at this point
Copy the full SHA eb305b1View commit details -
Adds PacketBuffer unit tests. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 3afeb7d - Browse repository at this point
Copy the full SHA 3afeb7dView commit details -
Introduce UDP net.PacketListener
Introduces a UDP based net.PacketListener that allows for routing UDP datagrams based on remote address _or_ an alternate identifier. It is configured by the DatagramRouter and ConnectionIdentifier functions, which are provided by the caller. The former introspects outgoing datagrams for potential connection identifiers, while the latter routes incoming datagrams by introspecting their contents. This package borrows heavily from pion/transport/udp. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 71db42b - Browse repository at this point
Copy the full SHA 71db42bView commit details -
Add UDP net.PacketListener unit tests
Adds unit tests for UDP net.PacketListener. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for a8998af - Browse repository at this point
Copy the full SHA a8998afView commit details -
Add CID based datagram routing
Adds functions to route datagrams and identify connections by DTLS 1.2 Connection IDs. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 9db84b5 - Browse repository at this point
Copy the full SHA 9db84b5View commit details -
Adds unit tests for CID routing functions. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for e663309 - Browse repository at this point
Copy the full SHA e663309View commit details -
Set UDP routing if CID is enabled
Sets UDP routing functions in the default DTLS listener if a connection ID generator is provided. Also updates to accept a dtls net.PacketListener when a caller wishes to provide their own. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for f5875c1 - Browse repository at this point
Copy the full SHA f5875c1View commit details -
Adds an example for setting up a CID-enabled DTLS listener. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 6df50a6 - Browse repository at this point
Copy the full SHA 6df50a6View commit details -
Add CID send only client example
Adds an example for a client that only sends connection IDs (i.e. does not request to received them). This is the most common scenario for DTLS clients. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 37fbc04 - Browse repository at this point
Copy the full SHA 37fbc04View commit details
Commits on Aug 28, 2023
-
Updates state serialization and deserialization to include connection IDs if they were negotiated. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for e142ee1 - Browse repository at this point
Copy the full SHA e142ee1View commit details -
Clear CIDs on potential session resumption
Updates the flight0handler to clear connection IDs in the event the client is attempting to resume an existing session. If connection IDs are to be used in the resumed session, they should be negotiated afresh. https://datatracker.ietf.org/doc/html/rfc9146#section-3 Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 609e5be - Browse repository at this point
Copy the full SHA 609e5beView commit details
There are no files selected for viewing
This file was deleted.