Bug 264243 - net-im/jitsi-srtp-native: Native SSL for jitsi-srtp
Summary: net-im/jitsi-srtp-native: Native SSL for jitsi-srtp
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Jose Alonso Cardenas Marquez
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-25 18:40 UTC by Michael Gmelin
Modified: 2022-06-18 07:00 UTC (History)
0 users

See Also:


Attachments
Patch to create new port net-im/jitsi-srtp-native. Suitable to be consumed with `git am`. (4.00 KB, patch)
2022-05-25 18:40 UTC, Michael Gmelin
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Gmelin freebsd_committer freebsd_triage 2022-05-25 18:40:37 UTC
Created attachment 234214 [details]
Patch to create new port net-im/jitsi-srtp-native. Suitable to be consumed with `git am`.

This improves net-im/jitsi-videobridge performance.

Attached patch suitable for use with "git am".
Already contains acm@ as maintainer. Only tested on amd64, passed poudriere testport.

You might want to double-check, this was done in a bit of a hurry.
I wanted to avoid adding a dependency to cmake.


Comparison:

With the new port installed:

  JVB 2022-05-25 18:32:11.918 INFO: [64] JNIUtils.loadLibrary#59: Loading library jitsisrtp_1.1 from java.library.path rather than bundled version
  JVB 2022-05-25 18:32:11.918 INFO: [64] JitsiOpenSslProvider.<clinit>#52: jitsisrtp successfully loaded for OpenSSL 1.1

Without new port (shortened, as Java traces are bad for your health):

  JVB 2022-05-23 13:34:21.464 WARNING: [66] JitsiOpenSslProvider.<clinit>#66: Unable to load jitsisrtp java.lang.UnsatisfiedLinkError: no jitsisrtp_3 in java.library.path: [/usr/lib, /usr/local/lib]
        at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670)
        at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
        at java.base/java.lang.System.loadLibrary(System.java:1873)
  ... a lot of lines removed ...
  JVB 2022-05-23 13:34:21.795 WARNING: [66] Aes.benchmark#358: Chosen factory class "OpenSSL" not working for AES/CTR/NoPadding: No such algorithm: AES/CTR/NoPadding
  JVB 2022-05-23 13:34:21.956 INFO: [66] Aes.benchmark#367: AES benchmark (of execution times expressed in nanoseconds): SunJCE 1046, BouncyCastle 9460 for AES/CTR/NoPadding
Comment 1 Michael Gmelin freebsd_committer freebsd_triage 2022-05-27 08:32:04 UTC
To add some more background:

jitsi-videobridge depends on a package called "jitsi-srtp"[0].

This package contains code to build native libraries to make direct use of OpenSSL for encryption/decryption. As their page states[1]: "The artifacts released to Maven Central contain pre-built binaries for Ubuntu for OpenSSL 1.1 and 3".

So there are no native libraries for FreeBSD when installing net-im/jitsi-videobridge (which gets its artefacts from Maven Central), which results in the warning message shown in the PR description and in reduced performance.

I created this port separately, as it made testing/updates easier (it could've also be bolted onto the jitsi-videobridge port, but that seemed to make things too complex). It's up to you if you prefer merging it into the jitsi-videobridge port.

The exact version number/commit to use was determined by looking at jitsi-videobridge's work dir and the pom.xml files in there, which contained the exact version of jitsi-srtp required.

[0]https://github.com/jitsi/jitsi-srtp
[1]https://github.com/jitsi/jitsi-srtp#building-the-native-libraries
Comment 2 Michael Gmelin freebsd_committer freebsd_triage 2022-06-11 17:40:03 UTC
@acm Any chance to take a look at this? (it's not complicated)

If you prefer, I can just create and maintain the port myself, but I would still like to hook it into the jitsi-meet metaport.
Comment 3 Jose Alonso Cardenas Marquez freebsd_committer freebsd_triage 2022-06-17 06:31:11 UTC
(In reply to Michael Gmelin from comment #2)

Hi Michael,sorry for delay answer you. I'm working on fpc/lazarus update. It is taking a bit. If you want you can commit this new port and assign it to me like maintainer :). don't worry about it
Comment 4 commit-hook freebsd_committer freebsd_triage 2022-06-18 07:00:16 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6bbcfea9bcb415be236e2670ad99c4cef5eb6ff9

commit 6bbcfea9bcb415be236e2670ad99c4cef5eb6ff9
Author:     Michael Gmelin <grembo@FreeBSD.org>
AuthorDate: 2022-06-18 06:57:16 +0000
Commit:     Jose Alonso Cardenas Marquez <acm@FreeBSD.org>
CommitDate: 2022-06-18 06:57:16 +0000

    net-im/jitsi-srtp-native: New port: Native libraties to speed up jitsi-srtp

    Native libraries required to speed-up Jitsi SRTP.

    WWW: https://github.com/jitsi/jitsi-srtp/tree/master/src/main/native
    PR:             264243

 net-im/Makefile                          |  1 +
 net-im/jitsi-meet-full/Makefile          |  2 ++
 net-im/jitsi-srtp-native/Makefile (new)  | 53 ++++++++++++++++++++++++++++++++
 net-im/jitsi-srtp-native/distinfo (new)  |  3 ++
 net-im/jitsi-srtp-native/pkg-descr (new) |  3 ++
 5 files changed, 62 insertions(+)
Comment 5 Jose Alonso Cardenas Marquez freebsd_committer freebsd_triage 2022-06-18 07:00:33 UTC
Committed thanks!