SDES Integration: Change SSRC handling

cusax-fix
Ingo Bauersachs 15 years ago
parent dcd65d3223
commit 9bc30e98c6

@ -24,6 +24,7 @@
import net.java.sip.communicator.impl.neomedia.device.*;
import net.java.sip.communicator.impl.neomedia.format.*;
import net.java.sip.communicator.impl.neomedia.protocol.*;
import net.java.sip.communicator.impl.neomedia.transform.sdes.*;
import net.java.sip.communicator.service.configuration.*;
import net.java.sip.communicator.service.neomedia.*;
import net.java.sip.communicator.service.neomedia.device.*;

@ -4,17 +4,17 @@
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package net.java.sip.communicator.impl.neomedia;
package net.java.sip.communicator.impl.neomedia.transform.sdes;
import java.util.*;
import ch.imvs.sdes4j.srtp.*;
import net.java.sip.communicator.impl.neomedia.*;
import net.java.sip.communicator.impl.neomedia.transform.*;
import net.java.sip.communicator.impl.neomedia.transform.sdes.*;
import net.java.sip.communicator.service.neomedia.*;
import net.java.sip.communicator.service.neomedia.event.*;
import net.java.sip.communicator.service.protocol.event.CallPeerSecurityStatusEvent;
import net.java.sip.communicator.service.protocol.event.*;
/**
* Default implementation of {@link SDesControl}.
@ -115,10 +115,6 @@ public String[] getInitiatorCryptoAttributes()
String[] result = new String[attributes.length];
for(int i = 0; i < attributes.length; i++)
result[i] = attributes[i].encode();
if(engine != null)
engine.reset(this);
return result;
}
@ -134,8 +130,6 @@ public String responderSelectAttribute(Iterable<String> peerAttributes)
selectedInAttribute = peerCA;
selectedOutAttribute =
sdesFactory.createCryptoAttribute(1, suite);
if(engine != null)
engine.reset(this);
return selectedOutAttribute.encode();
}
}
@ -154,8 +148,6 @@ public boolean initiatorSelectAttribute(Iterable<String> peerAttributes)
{
selectedInAttribute = peerCA;
selectedOutAttribute = localCA;
if(engine != null)
engine.reset(this);
return true;
}
}

@ -39,11 +39,6 @@ public class SDesTransformEngine
* @param sDesControl The control that supplies the key material.
*/
public SDesTransformEngine(SDesControlImpl sDesControl)
{
reset(sDesControl);
}
public void reset(SDesControlImpl sDesControl)
{
inAttribute = sDesControl.getInAttribute();
outAttribute = sDesControl.getOutAttribute();
@ -158,7 +153,9 @@ public RawPacket transform(RawPacket pkt)
SRTPCryptoContext context = contexts.get(ssrc);
if (context == null)
{
logger.debug("OutContext created for SSRC=" + ssrc);
logger.debug("OutContext created for SSRC="
+ Long.toHexString(ssrc) + " and key "
+ outAttribute.getKeyParams()[0].encode());
context = createContext(ssrc, outAttribute);
context.deriveSrtpKeys(0);
contexts.put(ssrc, context);
@ -187,7 +184,8 @@ public RawPacket reverseTransform(RawPacket pkt)
SRTPCryptoContext context = contexts.get(ssrc);
if (context == null)
{
logger.debug("InContext created for SSRC=" + ssrc);
logger.debug("InContext created for SSRC=" + Long.toHexString(ssrc)
+ " and key " + inAttribute.getKeyParams()[0].encode());
context = createContext(ssrc, inAttribute);
context.deriveSrtpKeys(seqNum);
contexts.put(ssrc, context);

Loading…
Cancel
Save