You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[peer_connection] RTCCertificate: rework from_pem and serialize_pem (#333)
which makes it possible to serialise and persist a certificate to disk. Both methods require `pem` feature to be enabled (I think having a feature is good since I don't expect many people to use persistent certificate). Previous implementation of `from_pem` was incorrect. It used a given certificate as a CA (hence the 2nd argument) instead of just using the certificate directly (see the related TODO in tests where `cert1 == cert3` should be matching).
API reflects one in Pion - https://github.com/pion/webrtc/blob/master/certificate.go#L179 (see `CertificateFromPEM` and `PEM` functions).
Also
- modify `RTCCertificate::get_fingerprints` to return `Vec<Fingerprint>`. No need for `Result`.
- refactor `dtls::crypto::Certificate`
- fixes TODO where two certificates should be equal when `from_pem` is being used.
Copy file name to clipboardExpand all lines: webrtc/CHANGELOG.md
+12-4Lines changed: 12 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,14 @@ directions that should not send. [#316](https://github.com/webrtc-rs/webrtc/pull
20
20
change for MediaEngine::register_header_extension
21
21
* Removes support for Plan-B. All major implementations of WebRTC now support unified and continuing support for plan-b is an undue maintenance burden when unified can be used. See [“Unified Plan” Transition Guide (JavaScript)](https://docs.google.com/document/d/1-ZfikoUtoJa9k-GZG1daN0BU3IjIanQ_JSscHxQesvU/) for an overview of the changes required to migrate. [#320](https://github.com/webrtc-rs/webrtc/pull/320) by [@algesten](https://github.com/algesten).
22
22
23
+
#### Breaking changes
24
+
25
+
* Remove 2nd argument from `RTCCertificate::from_pem` and guard it with `pem` feature [#333]
26
+
* Rename `RTCCertificate::pem` to `serialize_pem` and guard it with `pem` feature [#333]
27
+
* Remove `RTCCertificate::expires`[#333]
28
+
*`RTCCertificate::get_fingerprints` no longer returns `Result`[#333]
@@ -33,12 +41,12 @@ change for MediaEngine::register_header_extension
33
41
34
42
* The serialized format for `RTCIceCandidateInit` has changed to match what the specification i.e. keys are camelCase. [#153 Make RTCIceCandidateInit conform to WebRTC spec](https://github.com/webrtc-rs/webrtc/pull/153) contributed by [jmatss](https://github.com/jmatss).
35
43
* Improved robustness when proposing RTP extension IDs and handling of collisions in these. This change is only breaking if you have assumed anything about the nature of these extension IDs. [#154 Fix RTP extension id collision](https://github.com/webrtc-rs/webrtc/pull/154) contributed by [k0nserv](https://github.com/k0nserv)
36
-
* Transceivers will now not stop when either or both directions are disabled. That is, applying and SDP with `a=inactive` will not stop the transceiver, instead attached senders and receivers will pause. A transceiver can be resurrected by setting direction back to e.g. `a=sendrecv`. The desired direction can be controlled with the newly introduced public method `set_direction` on `RTCRtpTransceiver`.
44
+
* Transceivers will now not stop when either or both directions are disabled. That is, applying and SDP with `a=inactive` will not stop the transceiver, instead attached senders and receivers will pause. A transceiver can be resurrected by setting direction back to e.g. `a=sendrecv`. The desired direction can be controlled with the newly introduced public method `set_direction` on `RTCRtpTransceiver`.
37
45
*[#201 Handle inactive transceivers more correctly](https://github.com/webrtc-rs/webrtc/pull/201) contributed by [k0nserv](https://github.com/k0nserv)
38
-
*[#210 Rework transceiver direction support further](https://github.com/webrtc-rs/webrtc/pull/210) contributed by [k0nserv](https://github.com/k0nserv)
46
+
*[#210 Rework transceiver direction support further](https://github.com/webrtc-rs/webrtc/pull/210) contributed by [k0nserv](https://github.com/k0nserv)
*[#213 set_direction add missing Sync bound](https://github.com/webrtc-rs/webrtc/pull/213) contributed by [algesten](https://github.com/algesten)
41
-
*[#212 Public RTCRtpTransceiver::set_direction](https://github.com/webrtc-rs/webrtc/pull/212) contributed by [algesten](https://github.com/algesten)
49
+
*[#212 Public RTCRtpTransceiver::set_direction](https://github.com/webrtc-rs/webrtc/pull/212) contributed by [algesten](https://github.com/algesten)
42
50
*[#268 Fix current direction update when applying answer](https://github.com/webrtc-rs/webrtc/pull/268) contributed by [k0nserv](https://github.com/k0nserv)
43
51
*[#236 Pause RTP writing if direction indicates it](https://github.com/webrtc-rs/webrtc/pull/236) contributed by [algesten](https://github.com/algesten)
44
52
* Generated the `a=msid` line for `m=` line sections according to the specification. This might be break remote peers that relied on the previous, incorrect, behaviour. This also fixes a bug where an endless negotiation loop could happen. [#217 Correct msid handling for RtpSender](https://github.com/webrtc-rs/webrtc/pull/217) contributed by [k0nserv](https://github.com/k0nserv)
@@ -108,7 +116,7 @@ The various sub-crates have been updated as follows:
108
116
109
117
Their respective change logs are found in the old, now archived, repositories and within their respective `CHANGELOG.md` files in the monorepo.
110
118
111
-
### Contributors
119
+
### Contributors
112
120
113
121
A big thanks to all the contributors that have made this release happen:
0 commit comments