Skip to content

Commit 91e653c

Browse files
authored
New DTLS-SRTP implementation based upon SharpSRTP (#1486)
* F Switching to ShartpSRTP * F Removed files * B Fixed protect method keys and IV calculations * F added SRTP unprotect * F Added auth to Unprotect * R Replaced DetermineIndex by SharpSRTP impl * R Refactoring * F Replay window support, fixed stack overflow on Close * F DtlsSrtpClient certificate, srtp extensions * R IDtlsSrtpPeer impl * R Refactoring, cleanup * R SRTP API refactoring * F Added AEAD according to RFC7714 * B Fixed crash * F Added ARIA according to RFC8723 * F Added AES-F8 from RFC3711 * R Refactoring - moved protect/unprotect from sipsorcery to SharpSRTP * B Fixed crash on nonce reuse * F RFC 7627 extended master secret extension * F Added MKI support * R Refactoring * B Namespace fixes * F Added ExtendedMasterSecret verification * F Added certificate hash algorithm * B Fixed ECDSA certificates * R Moved IDtlsSrtpPeer to SharpSRTP * F Dtls client side of the handshake, fixed keys used in the client context * R TlsAlertTypes * F Events cleanup * R Refactoring * F Added HelloVerifyRequest cookie exchange before accepting * R Refactroring * F Moved DoHandshake to DtlsServer/DtlsClient * B Removed DtlsSrtp server state * R Moved SharpSRTP project to a different folder * F Untested SrtpHandler impl * R Code cleanup * R Restored original headers * B Fixed issues found by unit tests * B Fixed unit tests after SRTP changes * R Moved Dtls-Srtp to a new namespace * B Fixed SRTP crypto suites * R API name change * F new DoHandshake signature * R Simplified API * R Refactoring of the SrtpContext parameters * F API improvements * F Added SharpSRTP code * B Fixed tests * B changed defaults, fixed DTLS server offering cipher suites that don't match the certificate type * R Namespace changes * D comments * F API improvements * E Removed empty line * E Restored the original spaces * F Removed debug output to restore original code * E Removed unused namespace * F Restored original code * F Removed spacing * F Restored original headers * B Added locking in media multiplexing * B Fixed WebRTC sample not working on ARM64 * B Fixed port in the sample, added ARM64 support * B Fixed the sample to run on ARM64 * B Fixed replay window check for multiple SSRCs in a single context * B Fixed GCM not verifying HMAC * B Fixed WebRTC in Firefox by disabling HelloVerifyRequest * B Fixed IsHashSupported not returning true for other hashes than SHA-256 * F Removed UdpDatagramTransport * F Added a way to ignore MKI in DTLS-SRTP even when the client requests it * F Restored original constant * F Removed NULL profiles from the supported list, rearranged the offered cipher suites * B Fixed the first SRTCP message with index 0 failing the replay check
1 parent 737c2fe commit 91e653c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+4188
-5871
lines changed

examples/WebRTCExamples/FfmpegToWebRTC/FfmpegToWebRTC.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
55
<TargetFramework>net8.0</TargetFramework>
6+
<PlatformTarget>x64</PlatformTarget>
67
</PropertyGroup>
78

89
<PropertyGroup>

examples/WebRTCExamples/FfmpegToWebRTC/webrtc.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<script type="text/javascript">
66

7-
const receiveOfferUrl = "ws://localhost:8089/";
7+
const receiveOfferUrl = "ws://localhost:8081/";
88

99
var pc;
1010
var ws;

examples/WebRTCExamples/WebRTCGetStarted/WebRTCGetStarted.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<PropertyGroup>
99
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
1010
<Prefer32Bit>false</Prefer32Bit>
11+
<PlatformTarget>x64</PlatformTarget>
1112
</PropertyGroup>
1213

1314
<ItemGroup>

examples/WebRTCExamples/WebRTCWebcamServer/WebRTCWebcamServer.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<TargetFramework>net8.0-windows10.0.17763</TargetFramework>
66
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
77
<LangVersion>9.0</LangVersion>
8+
<PlatformTarget>x64</PlatformTarget>
89
</PropertyGroup>
910

1011
<ItemGroup>

src/SIPSorcery.sln

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio Version 17
4-
VisualStudioVersion = 17.9.34701.34
3+
# Visual Studio Version 18
4+
VisualStudioVersion = 18.1.11312.151
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{5A855FE1-8B93-429D-95A5-B8215CF62A9D}"
77
EndProject

0 commit comments

Comments
 (0)