Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian....@packages.debian.org
Usertags: pu

Dears,

I like to update the gajim-omemo package, so that it becomes
compatible with iOS Jabber/XMPP clients.

Background: iOS devices can only accept a 12 bytes IV in OMEMO,
because of limitations in system libraries, while most others
can live with both 12 and 16 bytes. Nowadays, (almost) all XMPP
clients use 12 bytes, and it would be good, if Debian stable
would support that.

(IV = initialization vector for AES-GCM, IIRC)

The same change is in Debian testing since 2020-02-24, but for
buster I backported only that specific change.

Packaging changes:

Move from debian/compat to debhelper-compat.

Debdiff is attached.

Thanks in advance for considering!
diff -Nru gajim-omemo-2.6.27/debian/changelog 
gajim-omemo-2.6.27/debian/changelog
--- gajim-omemo-2.6.27/debian/changelog 2019-03-02 01:05:06.000000000 +0000
+++ gajim-omemo-2.6.27/debian/changelog 2020-10-21 19:56:58.000000000 +0000
@@ -1,3 +1,9 @@
+gajim-omemo (2.6.27-1+deb10u1) buster; urgency=medium
+
+  * add patch: Switch to 12 byte IV
+
+ -- Martin <deba...@debian.org>  Wed, 21 Oct 2020 19:56:58 +0000
+
 gajim-omemo (2.6.27-1) unstable; urgency=medium
 
   * Bug fix release: Don't Fail on empty prekey table
diff -Nru gajim-omemo-2.6.27/debian/compat gajim-omemo-2.6.27/debian/compat
--- gajim-omemo-2.6.27/debian/compat    2019-03-02 01:04:07.000000000 +0000
+++ gajim-omemo-2.6.27/debian/compat    1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-11
diff -Nru gajim-omemo-2.6.27/debian/control gajim-omemo-2.6.27/debian/control
--- gajim-omemo-2.6.27/debian/control   2019-03-02 01:04:07.000000000 +0000
+++ gajim-omemo-2.6.27/debian/control   2020-10-21 19:56:58.000000000 +0000
@@ -1,9 +1,9 @@
 Source: gajim-omemo
 Maintainer: Debian XMPP Maintainers <pkg-xmpp-de...@lists.alioth.debian.org>
-Uploaders: W. Martin Borgert <deba...@debian.org>
+Uploaders: Martin <deba...@debian.org>
 Section: net
 Priority: optional
-Build-Depends: debhelper (>= 11),
+Build-Depends: debhelper-compat (= 11),
        dh-python,
        python3
 Standards-Version: 4.1.4
diff -Nru gajim-omemo-2.6.27/debian/patches/series 
gajim-omemo-2.6.27/debian/patches/series
--- gajim-omemo-2.6.27/debian/patches/series    1970-01-01 00:00:00.000000000 
+0000
+++ gajim-omemo-2.6.27/debian/patches/series    2020-10-21 19:56:58.000000000 
+0000
@@ -0,0 +1 @@
+switch-to-12-byte-iv.patch
diff -Nru gajim-omemo-2.6.27/debian/patches/switch-to-12-byte-iv.patch 
gajim-omemo-2.6.27/debian/patches/switch-to-12-byte-iv.patch
--- gajim-omemo-2.6.27/debian/patches/switch-to-12-byte-iv.patch        
1970-01-01 00:00:00.000000000 +0000
+++ gajim-omemo-2.6.27/debian/patches/switch-to-12-byte-iv.patch        
2020-10-21 19:56:58.000000000 +0000
@@ -0,0 +1,39 @@
+Description: Switch to 12 byte IV
+ needed for compatibility with OMEMO esp. on iOS devices
+Author: Philipp Hörist <phil...@hoerist.com>
+Origin: upstream
+Applied-Upstream: 
https://dev.gajim.org/gajim/gajim-plugins/-/commit/052354a12b98b109bfce8b3a8281fe2eb5c08886
+Last-Update: 2020-10-21
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/file_crypto.py
++++ b/file_crypto.py
+@@ -65,7 +65,7 @@
+ 
+ def encrypt_file(data):
+     key = os.urandom(32)
+-    iv = os.urandom(16)
++    iv = os.urandom(12)
+ 
+     payload, tag = aes_encrypt(key, iv, data)
+     encrypted_data = payload + tag
+--- a/omemo/state.py
++++ b/omemo/state.py
+@@ -221,7 +221,7 @@
+ 
+     def create_msg(self, from_jid, jid, plaintext):
+         key = os.urandom(16)
+-        iv = os.urandom(16)
++        iv = os.urandom(12)
+         encrypted_keys = {}
+ 
+         devices_list = self.device_list_for(jid)
+@@ -277,7 +277,7 @@
+ 
+     def create_gc_msg(self, from_jid, jid, plaintext):
+         key = os.urandom(16)
+-        iv = os.urandom(16)
++        iv = os.urandom(12)
+         encrypted_keys = {}
+         room = jid
+         encrypted_jids = []

Reply via email to