After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 794813 - RECORD: improve SRTP handling
RECORD: improve SRTP handling
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-rtsp-server
unspecified
Other All
: Normal normal
: 1.15.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-03-29 14:24 UTC by Mathieu Duponchelle
Modified: 2018-03-30 15:58 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
rtsp-stream: extract handle_keymgmt from rtsp-client (16.49 KB, patch)
2018-03-29 14:24 UTC, Mathieu Duponchelle
committed Details | Review
rtsp-client: Send KeyMgmt header in ANNOUNCE response (4.45 KB, patch)
2018-03-29 14:24 UTC, Mathieu Duponchelle
none Details | Review
rtspclientsink: Handle the KeyMgmt header in ANNOUNCE response (1.87 KB, patch)
2018-03-29 14:25 UTC, Mathieu Duponchelle
committed Details | Review
rtspclientsink: add rtx ssrc to mikey's crypto sessions (1.36 KB, patch)
2018-03-29 14:25 UTC, Mathieu Duponchelle
committed Details | Review
rtsp-client: Send KeyMgmt header in ANNOUNCE response (4.51 KB, patch)
2018-03-30 15:11 UTC, Mathieu Duponchelle
committed Details | Review

Description Mathieu Duponchelle 2018-03-29 14:24:41 UTC
When using secure profiles with rtspclientsink, only the media stream
sent by the client, and its associated RTCP, were correctly decrypted.

The RTCP backchannel from the server to the client was not, and neither
was the retransmission stream. These patches address that.
Comment 1 Mathieu Duponchelle 2018-03-29 14:24:47 UTC
Created attachment 370298 [details] [review]
rtsp-stream: extract handle_keymgmt from rtsp-client

rtspclientsink will also need to parse KeyMgmt headers
sent by the server to decrypt the RTCP backchannel stream
Comment 2 Mathieu Duponchelle 2018-03-29 14:24:54 UTC
Created attachment 370299 [details] [review]
rtsp-client: Send KeyMgmt header in ANNOUNCE response

When sending back an encrypted RTCP back channel, it is useful
for the client to know the encryption key.
Comment 3 Mathieu Duponchelle 2018-03-29 14:25:01 UTC
Created attachment 370300 [details] [review]
rtspclientsink: Handle the KeyMgmt header in ANNOUNCE response

This in order to be able to decrypt the RTCP backchannel
Comment 4 Mathieu Duponchelle 2018-03-29 14:25:07 UTC
Created attachment 370301 [details] [review]
rtspclientsink: add rtx ssrc to mikey's crypto sessions
Comment 5 Sebastian Dröge (slomo) 2018-03-29 16:35:20 UTC
Comment on attachment 370301 [details] [review]
rtspclientsink: add rtx ssrc to mikey's crypto sessions

Is this done all correctly for PLAY sessions already and was only broken for RECORD?
Comment 6 Mathieu Duponchelle 2018-03-30 15:11:31 UTC
Created attachment 370347 [details] [review]
rtsp-client: Send KeyMgmt header in ANNOUNCE response

When sending back an encrypted RTCP back channel, it is useful
for the client to know the encryption key.
Comment 7 Sebastian Dröge (slomo) 2018-03-30 15:29:47 UTC
PLAY is probably also affected by this, should be fixed as part of this bug or at least get a new bug opened :)
Comment 8 Mathieu Duponchelle 2018-03-30 15:57:35 UTC
Attachment 370298 [details] pushed as a093f44 - rtsp-stream: extract handle_keymgmt from rtsp-client
Attachment 370300 [details] pushed as c683cad - rtspclientsink: Handle the KeyMgmt header in ANNOUNCE response
Attachment 370301 [details] pushed as 7894328 - rtspclientsink: add rtx ssrc to mikey's crypto sessions
Attachment 370347 [details] pushed as ae0e08d - rtsp-client: Send KeyMgmt header in ANNOUNCE response