From 9bc30e98c6c564bf8cbb3ff5b9beb4906e3efd87 Mon Sep 17 00:00:00 2001 From: Ingo Bauersachs Date: Tue, 4 Oct 2011 12:33:40 +0000 Subject: [PATCH] SDES Integration: Change SSRC handling --- .../impl/neomedia/MediaServiceImpl.java | 1 + .../{ => transform/sdes}/SDesControlImpl.java | 14 +++----------- .../transform/sdes/SDesTransformEngine.java | 12 +++++------- 3 files changed, 9 insertions(+), 18 deletions(-) rename src/net/java/sip/communicator/impl/neomedia/{ => transform/sdes}/SDesControlImpl.java (88%) diff --git a/src/net/java/sip/communicator/impl/neomedia/MediaServiceImpl.java b/src/net/java/sip/communicator/impl/neomedia/MediaServiceImpl.java index aa1c248e7..995d86366 100644 --- a/src/net/java/sip/communicator/impl/neomedia/MediaServiceImpl.java +++ b/src/net/java/sip/communicator/impl/neomedia/MediaServiceImpl.java @@ -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.*; diff --git a/src/net/java/sip/communicator/impl/neomedia/SDesControlImpl.java b/src/net/java/sip/communicator/impl/neomedia/transform/sdes/SDesControlImpl.java similarity index 88% rename from src/net/java/sip/communicator/impl/neomedia/SDesControlImpl.java rename to src/net/java/sip/communicator/impl/neomedia/transform/sdes/SDesControlImpl.java index 8a3c57f31..bd874d518 100644 --- a/src/net/java/sip/communicator/impl/neomedia/SDesControlImpl.java +++ b/src/net/java/sip/communicator/impl/neomedia/transform/sdes/SDesControlImpl.java @@ -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 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 peerAttributes) { selectedInAttribute = peerCA; selectedOutAttribute = localCA; - if(engine != null) - engine.reset(this); return true; } } diff --git a/src/net/java/sip/communicator/impl/neomedia/transform/sdes/SDesTransformEngine.java b/src/net/java/sip/communicator/impl/neomedia/transform/sdes/SDesTransformEngine.java index 9cc27083e..51431afb6 100644 --- a/src/net/java/sip/communicator/impl/neomedia/transform/sdes/SDesTransformEngine.java +++ b/src/net/java/sip/communicator/impl/neomedia/transform/sdes/SDesTransformEngine.java @@ -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);