|
This is the first cut at the DTLS-SRTP patches for libjingle.
The patches should be in pretty good shape, but there are a few
points to be aware of:
- You can't really build and run this right now because of an OpensSSL
issue: this code is designed to use APIs from the OpenSSL head of
tree, but unfortunately, OpenSSL has changed it's certificate
validation callback structure, with the result that all of the
self-signed cert modes in libjingle now break. This isn't something
I did, even the basic unit tests fail. It will be a problem for you
with libjingle as-is as soon as the 1.0.1 release comes out. If you
don't have anyone who can look into it, I'll see what I can figure
out. If you want to test in advance of this, I can supply the
relevant OpenSSL patches to apply to 1.0.0.
- I haven't added all the ifdefs to make this code conditionally
compile on you having a new OpenSSL version.
- Unless I'm misreading the code, you don't yet support A/V muxing over
the same host/port quartet, so these patches will probably need
some modification to make that work, in particular in the SRTP
cipher selection code.
- I haven't implemented OpenSSL session resumption yet, which means
that non-muxed streams will do more RSA than strictly necessary.
This isn't a big issue on most platforms and won't matter at all
for muxed streams.
- There are a few places where I had to make stuff in session/transport
know more about SRTP than it already did. These are not always as
elegant as one might like, and better solutions are welcome.
- I have only test this with call.exe with the file media engines.
If someone can give me a hand getting the real media engines working
I can test with that.
With that said, I think this is probably good enough to complain
about.
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+1196 lines, -85 lines) |
Patch |
 |
|
talk/base/opensslidentity.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
|
talk/base/opensslstreamadapter.h
|
View
|
|
3 chunks |
+18 lines, -0 lines |
0 comments
|
Download
|
 |
|
talk/base/opensslstreamadapter.cc
|
View
|
|
7 chunks |
+105 lines, -6 lines |
0 comments
|
Download
|
 |
|
talk/base/sslstreamadapter.h
|
View
|
|
2 chunks |
+21 lines, -0 lines |
0 comments
|
Download
|
 |
|
talk/base/stream.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
|
talk/base/stream.cc
|
View
|
|
2 chunks |
+7 lines, -1 line |
0 comments
|
Download
|
 |
|
talk/examples/call/callclient.cc
|
View
|
|
3 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
|
talk/libjingle.scons
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
|
talk/p2p/base/constants.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
|
talk/p2p/base/constants.cc
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
|
talk/p2p/base/dtlstransport.h
|
View
|
|
1 chunk |
+113 lines, -0 lines |
0 comments
|
Download
|
 |
|
talk/p2p/base/dtlstransport.cc
|
View
|
|
1 chunk |
+120 lines, -0 lines |
0 comments
|
Download
|
 |
|
talk/p2p/base/session.h
|
View
|
|
7 chunks |
+34 lines, -2 lines |
0 comments
|
Download
|
 |
|
talk/p2p/base/session.cc
|
View
|
|
14 chunks |
+131 lines, -3 lines |
0 comments
|
Download
|
 |
|
talk/p2p/base/sessiondescription.h
|
View
|
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
 |
|
talk/p2p/base/sessionmessages.h
|
View
|
|
4 chunks |
+42 lines, -1 line |
0 comments
|
Download
|
 |
|
talk/p2p/base/sessionmessages.cc
|
View
|
|
6 chunks |
+69 lines, -4 lines |
0 comments
|
Download
|
 |
|
talk/p2p/base/transportchannel.h
|
View
|
|
3 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
 |
|
talk/p2p/base/transportchannelproxy.h
|
View
|
|
4 chunks |
+33 lines, -0 lines |
0 comments
|
Download
|
 |
|
talk/p2p/base/transportchannelproxy.cc
|
View
|
|
5 chunks |
+130 lines, -5 lines |
0 comments
|
Download
|
 |
|
talk/session/phone/call.cc
|
View
|
|
2 chunks |
+4 lines, -1 line |
0 comments
|
Download
|
 |
|
talk/session/phone/channel.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
|
talk/session/phone/channel.cc
|
View
|
|
5 chunks |
+119 lines, -2 lines |
0 comments
|
Download
|
 |
|
talk/session/phone/mediasession.h
|
View
|
|
6 chunks |
+15 lines, -10 lines |
0 comments
|
Download
|
 |
|
talk/session/phone/mediasession.cc
|
View
|
|
10 chunks |
+95 lines, -38 lines |
0 comments
|
Download
|
 |
|
talk/session/phone/mediasession_unittest.cc
|
View
|
|
5 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
 |
|
talk/session/phone/mediasessionclient.h
|
View
|
|
3 chunks |
+17 lines, -2 lines |
0 comments
|
Download
|
 |
|
talk/session/phone/mediasessionclient.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
|
talk/session/phone/srtpfilter.h
|
View
|
|
4 chunks |
+20 lines, -1 line |
0 comments
|
Download
|
 |
|
talk/session/phone/srtpfilter.cc
|
View
|
|
8 chunks |
+63 lines, -2 lines |
0 comments
|
Download
|
Total messages: 1 (0 generated)
|