git: 0656fbec6420 - main - security/libomemo-c: new port -- for of libsignal-protocol-c with OMEMO support

From: Tobias C. Berner <tcberner_at_FreeBSD.org>
Date: Sun, 12 Mar 2023 09:50:22 UTC
The branch main has been updated by tcberner:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0656fbec64201587a96be14c3fbc7fa7697ec4b6

commit 0656fbec64201587a96be14c3fbc7fa7697ec4b6
Author:     Tobias C. Berner <tcberner@FreeBSD.org>
AuthorDate: 2023-03-12 09:35:07 +0000
Commit:     Tobias C. Berner <tcberner@FreeBSD.org>
CommitDate: 2023-03-12 09:50:19 +0000

    security/libomemo-c: new port -- for of libsignal-protocol-c with OMEMO support
    
    This is a fork of libsignal-protocol-c, an implementation of Signal's
    ratcheting forward secrecy protocol that works in synchronous and asynchronous
    messaging. The fork adds support for OMEMO as defined in XEP-0384 versions
    0.3.0 and later.
    
    * OMEMO version 0.3.0 uses the original libsignal-protocol-c implementation
    with its protocol versions 2 and 3.
    
    * OMEMO version 0.4.0+ is implemented using a new protocol version 4
    internally. In comparison with protocol version 3, it changes:
    *  HKDF info strings
    *  Protocol buffer encoding
    *  Signature scheme (uses XEd25519 instead of custom "Curve25519 signatures")
    *  Specification-compliant double ratchet
    *  Support for Ed25519 public keys
    *  Various serializations
    *  Removes unused functionality
    
    WWW: https://github.com/dino/libomemo-c
---
 security/Makefile             |  1 +
 security/libomemo-c/Makefile  | 17 +++++++++++++++++
 security/libomemo-c/distinfo  |  3 +++
 security/libomemo-c/pkg-descr | 17 +++++++++++++++++
 security/libomemo-c/pkg-plist | 19 +++++++++++++++++++
 5 files changed, 57 insertions(+)

diff --git a/security/Makefile b/security/Makefile
index 14ae5cc7a0a2..715197e17fc3 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -292,6 +292,7 @@
     SUBDIR += libnitrokey
     SUBDIR += libntlm
     SUBDIR += libomemo
+    SUBDIR += libomemo-c
     SUBDIR += liboqs
     SUBDIR += libotr
     SUBDIR += libotr3
diff --git a/security/libomemo-c/Makefile b/security/libomemo-c/Makefile
new file mode 100644
index 000000000000..c072f18bfa79
--- /dev/null
+++ b/security/libomemo-c/Makefile
@@ -0,0 +1,17 @@
+PORTNAME=	libomemo-c
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.5.0
+CATEGORIES=	security
+
+MAINTAINER=	kde@FreeBSD.org
+COMMENT=	Implementation of the ratcheting forward secrecy protocol
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cmake
+USE_GITHUB=	yes
+GH_ACCOUNT=	dino
+CMAKE_ON=	BUILD_SHARED_LIBS
+
+.include <bsd.port.mk>
diff --git a/security/libomemo-c/distinfo b/security/libomemo-c/distinfo
new file mode 100644
index 000000000000..40f270594966
--- /dev/null
+++ b/security/libomemo-c/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1678613499
+SHA256 (dino-libomemo-c-v0.5.0_GH0.tar.gz) = 03195a24ef7a86c339cdf9069d7f7569ed511feaf55e853bfcb797d2698ba983
+SIZE (dino-libomemo-c-v0.5.0_GH0.tar.gz) = 260987
diff --git a/security/libomemo-c/pkg-descr b/security/libomemo-c/pkg-descr
new file mode 100644
index 000000000000..d0617676a23a
--- /dev/null
+++ b/security/libomemo-c/pkg-descr
@@ -0,0 +1,17 @@
+This is a fork of libsignal-protocol-c, an implementation of Signal's
+ratcheting forward secrecy protocol that works in synchronous and asynchronous
+messaging. The fork adds support for OMEMO as defined in XEP-0384 versions
+0.3.0 and later.
+
+ * OMEMO version 0.3.0 uses the original libsignal-protocol-c implementation
+   with its protocol versions 2 and 3.
+
+ * OMEMO version 0.4.0+ is implemented using a new protocol version 4
+   internally. In comparison with protocol version 3, it changes:
+   *  HKDF info strings
+   *  Protocol buffer encoding
+   *  Signature scheme (uses XEd25519 instead of custom "Curve25519 signatures")
+   *  Specification-compliant double ratchet
+   *  Support for Ed25519 public keys
+   *  Various serializations
+   *  Removes unused functionality
diff --git a/security/libomemo-c/pkg-plist b/security/libomemo-c/pkg-plist
new file mode 100644
index 000000000000..d49694ebed2c
--- /dev/null
+++ b/security/libomemo-c/pkg-plist
@@ -0,0 +1,19 @@
+include/omemo/curve.h
+include/omemo/hkdf.h
+include/omemo/key_helper.h
+include/omemo/protocol.h
+include/omemo/ratchet.h
+include/omemo/sender_key.h
+include/omemo/sender_key_record.h
+include/omemo/sender_key_state.h
+include/omemo/session_builder.h
+include/omemo/session_cipher.h
+include/omemo/session_pre_key.h
+include/omemo/session_record.h
+include/omemo/session_state.h
+include/omemo/signal_protocol.h
+include/omemo/signal_protocol_types.h
+lib/libomemo-c.so
+lib/libomemo-c.so.0
+lib/libomemo-c.so.0.5.0
+libdata/pkgconfig/libomemo-c.pc