jitsi / libjitsi

Advanced Java media library for secure real-time audio/video communication.
Apache License 2.0
628 stars 281 forks source link

Move SRTP core implementation to jitsi-srtp package (v2) #528

Closed ibauersachs closed 4 years ago

ibauersachs commented 4 years ago

Closes #487

JonathanLennox commented 4 years ago

Which version of bouncycastle does this end up pulling in?

I'm concerned because libjitsi isn't compatible with the latest bouncycastle, due to BC API changes.

ibauersachs commented 4 years ago

It's 1.54, but I'll be updating this and other dependencies next (and downstream in Jigasi, etc.), but it'll also need #525.

$> mvn dependency:tree
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building libjitsi 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ libjitsi ---
[INFO] org.jitsi:libjitsi:bundle:1.0-SNAPSHOT
[INFO] +- ch.imvs:sdes4j:jar:1.1.5:compile
[INFO] +- com.googlecode.json-simple:json-simple:jar:1.1.1:compile
[INFO] +- net.java.dev.jna:jna:jar:5.5.0:compile
[INFO] +- org.bouncycastle:bcpkix-jdk15on:jar:1.54:compile
[INFO] +- org.bouncycastle:bcprov-jdk15on:jar:1.54:compile
[INFO] +- org.jitsi:fmj:jar:1.0.0-jitsi:compile
[INFO] +- org.jitsi:jitsi-utils:jar:1.0-39-gd481c98:compile
[INFO] |  +- com.google.guava:guava:jar:20.0:compile
[INFO] |  +- org.reflections:reflections:jar:0.9.11:compile
[INFO] |  \- com.github.spotbugs:spotbugs-annotations:jar:4.0.0-RC1:compile
[INFO] |     \- com.google.code.findbugs:jsr305:jar:3.0.2:compile
[INFO] +- org.jitsi:jitsi-srtp:jar:1.0-24-g6823dfa:compile
[INFO] +- org.opentelecoms.sdp:java-sdp-nist-bridge:jar:1.1:compile
[INFO] |  +- org.opentelecoms.sdp:sdp-api:jar:1.0:compile
[INFO] |  \- org.jitsi:jain-sip-ri-ossonly:jar:1.2.98c7f8c-jitsi-oss1:compile
[INFO] +- org.jitsi:jitsi-lgpl-dependencies:jar:1.2-1-gfc49658:compile
[INFO] +- org.jitsi:zrtp4j-light:jar:4.1.1:compile
[INFO] +- org.osgi:org.osgi.core:jar:6.0.0:compile
[INFO] +- org.jetbrains:annotations:jar:19.0.0:provided
[INFO] +- junit:junit:jar:4.13:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.easymock:easymock:jar:3.4:test
[INFO] |  \- org.objenesis:objenesis:jar:2.2:test
[INFO] +- org.powermock:powermock-core:jar:1.7.3:test
[INFO] |  +- org.powermock:powermock-reflect:jar:1.7.3:test
[INFO] |  +- org.javassist:javassist:jar:3.21.0-GA:compile
[INFO] |  \- org.mockito:mockito-core:jar:2.8.9:test
[INFO] |     +- net.bytebuddy:byte-buddy:jar:1.6.14:test
[INFO] |     \- net.bytebuddy:byte-buddy-agent:jar:1.6.14:test
[INFO] +- org.powermock:powermock-api-easymock:jar:1.7.3:test
[INFO] |  +- org.powermock:powermock-api-support:jar:1.7.3:test
[INFO] |  \- cglib:cglib-nodep:jar:2.2.2:test
[INFO] +- org.powermock:powermock-module-junit4:jar:1.7.3:test
[INFO] |  \- org.powermock:powermock-module-junit4-common:jar:1.7.3:test
[INFO] \- io.pkts:pkts-core:jar:3.0.1:test
[INFO]    +- io.pkts:pkts-buffers:jar:3.0.1:test
[INFO]    +- io.pkts:pkts-sip:jar:3.0.1:test
[INFO]    \- io.pkts:pkts-sdp:jar:3.0.1:test
[INFO]       \- javax.sip:jain-sip-ri:jar:1.2.159:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.432 s
[INFO] Finished at: 2020-05-18T22:51:16+02:00
[INFO] Final Memory: 20M/309M
[INFO] ------------------------------------------------------------------------
JonathanLennox commented 4 years ago

Does BC 1.54 have the skein mac support?

ibauersachs commented 4 years ago

From what I can tell, yes: https://github.com/bcgit/bc-java/blob/r1rv54/prov/src/main/java/org/bouncycastle/jcajce/provider/digest/Skein.java

But even if it didn't: ZRTP this is only used in Jitsi Desktop. It also doesn't matter because I will update libjitsi there only after updating everything here.

JonathanLennox commented 4 years ago

Since this is 90% my changes I'd rather have someone else on the Jitsi team do the review - @damencho @bgrozev @gpolitis ?