r3582 - in trunk/libminisip: include/libminisip/media source/subsystem_media
erik at minisip.org
erik at minisip.org
Wed May 28 14:18:25 CEST 2008
Author: erik
Date: 2008-05-28 14:18:24 +0200 (Wed, 28 May 2008)
New Revision: 3582
Modified:
trunk/libminisip/include/libminisip/media/MediaStream.h
trunk/libminisip/source/subsystem_media/MediaStream.cxx
trunk/libminisip/source/subsystem_media/Session.cxx
Log:
* When the media stream was not signaled in the MIKEY, we now use the
default policy to create a new crypto context. I am not really sure
if this is how we should behave, but that's why we have signal a
default policy - right?
Modified: trunk/libminisip/include/libminisip/media/MediaStream.h
===================================================================
--- trunk/libminisip/include/libminisip/media/MediaStream.h 2008-05-22 13:09:08 UTC (rev 3581)
+++ trunk/libminisip/include/libminisip/media/MediaStream.h 2008-05-28 12:18:24 UTC (rev 3582)
@@ -210,6 +210,12 @@
void setKeyAgreementZrtp(MRef<CryptoContext *>cx);
#endif
+ void flushCryptoContexts(){
+ kaLock.lock();
+ cryptoContexts.clear();
+ kaLock.unlock();
+ }
+
protected:
MRef<CryptoContext *> getCryptoContext( uint32_t ssrc, uint16_t seq_no );
RealtimeMediaStream( std::string callId, MRef<RealtimeMedia *> );
@@ -336,6 +342,7 @@
*/
virtual void handleRtpPacketExt(MRef<SRtpPacket *> packet);
#endif
+
protected:
std::list<MRef<Codec *> > codecList;
MRef<RtpReceiver *> rtpReceiver;
Modified: trunk/libminisip/source/subsystem_media/MediaStream.cxx
===================================================================
--- trunk/libminisip/source/subsystem_media/MediaStream.cxx 2008-05-22 13:09:08 UTC (rev 3581)
+++ trunk/libminisip/source/subsystem_media/MediaStream.cxx 2008-05-28 12:18:24 UTC (rev 3582)
@@ -221,15 +221,16 @@
#endif
#endif
- if( csId != 0 ){
+// if( csId != 0 ){
cryptoContext = new CryptoContext( ssrc, roc, seq_no, keydr,
ealg, aalg, masterKey, 16, masterSalt, 14, ekeyl, akeyl, skeyl, encr, auth, autht );
cryptoContext->derive_srtp_keys( 0 );
- }
- else{
- cryptoContext = new CryptoContext( ssrc );
- }
+// }
+// else{
+// cerr << "EEEE: WARNING - csId is NULL"<<endl;
+// cryptoContext = new CryptoContext( ssrc );
+// }
}
cryptoContexts.push_back( cryptoContext );
Modified: trunk/libminisip/source/subsystem_media/Session.cxx
===================================================================
--- trunk/libminisip/source/subsystem_media/Session.cxx 2008-05-22 13:09:08 UTC (rev 3581)
+++ trunk/libminisip/source/subsystem_media/Session.cxx 2008-05-28 12:18:24 UTC (rev 3582)
@@ -956,8 +956,10 @@
if( ! (*iR)->disabled ){
if( ka ){
(*iR)->setKeyAgreement( ka );
+ (*iR)->flushCryptoContexts();
}
(*iR)->start();
+ }else{
}
}
More information about the Minisip-devel
mailing list