Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rnp for openSUSE:Factory checked in 
at 2026-07-12 16:21:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rnp (Old)
 and      /work/SRC/openSUSE:Factory/.rnp.new.1991 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rnp"

Sun Jul 12 16:21:34 2026 rev:22 rq:1364959 version:0.18.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/rnp/rnp.changes  2026-04-17 21:04:26.418282803 
+0200
+++ /work/SRC/openSUSE:Factory/.rnp.new.1991/rnp.changes        2026-07-12 
16:22:28.030697192 +0200
@@ -1,0 +2,12 @@
+Fri Jul 10 19:06:52 UTC 2026 - Andreas Stieger <[email protected]>
+
+- No longer skip test_encryption_x25519, use a fix instead
+  Replacing rnp-v0.18.0-skip-test_encryption_x25519.patch
+  with upstream rnp-v0.18.1-test_cv25519_bit_fix.patch
+- Update botan compatibility patch with upstream patch
+  rnp-v0.18.1-botan-1-1.patch
+- skip failing tests disable-tests.patch:
+  * test_sm2_encryption_signing(self):
+  * test_encryption_cek(self):
+
+-------------------------------------------------------------------

Old:
----
  rnp-v0.18.0-skip-test_encryption_x25519.patch

New:
----
  disable-tests.patch
  rnp-v0.18.1-test_cv25519_bit_fix.patch

----------(Old B)----------
  Old:- No longer skip test_encryption_x25519, use a fix instead
  Replacing rnp-v0.18.0-skip-test_encryption_x25519.patch
  with upstream rnp-v0.18.1-test_cv25519_bit_fix.patch
----------(Old E)----------

----------(New B)----------
  New:  rnp-v0.18.1-botan-1-1.patch
- skip failing tests disable-tests.patch:
  * test_sm2_encryption_signing(self):
  New:  Replacing rnp-v0.18.0-skip-test_encryption_x25519.patch
  with upstream rnp-v0.18.1-test_cv25519_bit_fix.patch
- Update botan compatibility patch with upstream patch
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rnp.spec ++++++
--- /var/tmp/diff_new_pack.izQgFK/_old  2026-07-12 16:22:28.642718807 +0200
+++ /var/tmp/diff_new_pack.izQgFK/_new  2026-07-12 16:22:28.646718948 +0200
@@ -26,8 +26,9 @@
 Source:         
https://github.com/rnpgp/rnp/releases/download/v%{version}/%{name}-v%{version}.tar.gz
 Source2:        
https://github.com/rnpgp/rnp/releases/download/v%{version}/%{name}-v%{version}.tar.gz.asc
 Source3:        
https://www.rnpgp.org/openpgp_keys/31AF5A24D861EFCB7CB79A1924900CE0AEFB5417-50DA59D5B9134FA2DB1EB20CFB829AB5D0FE017F.asc#/%{name}.keyring
-Patch0:         rnp-v0.18.0-skip-test_encryption_x25519.patch
+Patch0:         rnp-v0.18.1-test_cv25519_bit_fix.patch
 Patch1:         rnp-v0.18.1-botan-1-1.patch
+Patch2:         disable-tests.patch
 BuildRequires:  c++_compiler
 BuildRequires:  cmake >= 3.18
 BuildRequires:  gpg2 >= 2.2

++++++ disable-tests.patch ++++++
Index: rnp-v0.18.1/src/tests/cli_tests.py
===================================================================
--- rnp-v0.18.1.orig/src/tests/cli_tests.py
+++ rnp-v0.18.1/src/tests/cli_tests.py
@@ -4963,76 +4963,11 @@ class Encryption(unittest.TestCase):
         self.assertEqual(ret, 0)
         clear_workfiles()
 
-    def test_sm2_encryption_signing(self):
-        if not RNP_SM2:
-            self.skipTest('SM2 is not supported or disabled')
-        RNPDIR2 = RNPDIR + '2'
-        os.mkdir(RNPDIR2, 0o700)
-        # Import public key
-        ret, _, _ = run_proc(RNPK, ['--homedir', RNPDIR2, '--import', 
data_path('test_stream_key_load/sm2-pub.asc')])
-        self.assertEqual(ret, 0)
-        # Check listing
-        ret, out, _ = run_proc(RNPK, ['--homedir', RNPDIR2, '--list-keys'])
-        self.assertEqual(ret, 0)
-        self.assertRegex(out, r'(?s)2 keys 
found.*pub.*256/SM2.*3a143c1695ae14c9.*sm2\-key.*sub.*256/SM2.*75ca025d13c1c512.*')
-        # Validate signature
-        ret, _, err = run_proc(RNP, ['--homedir', RNPDIR2, '-v', 
data_path('test_messages/message.txt.signed-sm2')])
-        self.assertEqual(ret, 0)
-        self.assertRegex(err, r'(?s)Good signature made.*using SM2 key 
3a143c1695ae14c9.*')
-        # Import secret key
-        ret, _, _ = run_proc(RNPK, ['--homedir', RNPDIR2, '--import', 
data_path('test_stream_key_load/sm2-sec.asc')])
-        self.assertEqual(ret, 0)
-        # Check listing
-        ret, out, _ = run_proc(RNPK, ['--homedir', RNPDIR2, '--list-keys', 
'--secret'])
-        self.assertEqual(ret, 0)
-        self.assertRegex(out, r'(?s)2 keys 
found.*sec.*256/SM2.*3a143c1695ae14c9.*sm2\-key.*ssb.*256/SM2.*75ca025d13c1c512.*')
-        # Decrypt encrypted file
-        ret, out, _ = run_proc(RNP, ['--homedir', RNPDIR2, '--password', 
PASSWORD, '-d', data_path('test_messages/message.txt.enc-sm2')])
-        self.assertEqual(ret, 0)
-        self.assertRegex(out, r'(?s)This is test message to be.*')
-        # Decrypt and verify file
-        ret, out, err = run_proc(RNP, ['--homedir', RNPDIR2, '--password', 
PASSWORD, '-d', data_path('test_messages/message.txt.enc-signed-sm2')])
-        self.assertEqual(ret, 0)
-        self.assertRegex(out, r'(?s)This is test message to be.*')
-        self.assertRegex(err, r'(?s)Good signature made.*using SM2 key 
3a143c1695ae14c9.*')
-        shutil.rmtree(RNPDIR2, ignore_errors=True)        
-
     def test_decrypt_signonly_key(self):
         ret, _, err = run_proc(RNP, ['--keyfile', 
data_path('test_messages/key-rsas-rsae.asc'), '--decrypt', 
data_path('test_messages/message-encrypted-rsas.txt.pgp')])
         self.assertNotEqual(ret, 0)
         self.assertRegex(err, r'(?s)^.*failed to obtain decrypting key or 
password.*')
 
-    def test_encryption_cek(self):
-        RNPDIR2 = RNPDIR + '2'
-        os.mkdir(RNPDIR2, 0o700)
-        GPGHOME2 = GPGHOME + '2'
-        GPGDIR2 = GPGDIR + '2'
-        os.mkdir(GPGDIR2, 0o700)
-        # Generate default key
-        ret, _, _ = run_proc(RNPK, ['--homedir', RNPDIR2, '--generate', 
'--userid', 'test_cek', '--password', PASSWORD])
-        self.assertEqual(ret, 0)
-        # Import key by GnuPG
-        ret, _, _ = run_proc(GPG, ['--batch', '--homedir', GPGHOME2, 
GPG_LOOPBACK, '--passphrase', PASSWORD, '--import', RNPDIR2 + '/secring.gpg'])
-        # Encrypt some data
-        src, enc = reg_workfiles('cleartext', '.txt', '.enc')
-        random_text(src, 2000)
-        pattern = re.compile(r'(?s)gpg: encrypted with.*test_cek.*session key: 
\'[\d]+:([0-9A-F]{64})\'.*')
-        keys = set()
-
-        for _ in range(10):
-            ret, _, _ = run_proc(RNP, ['--homedir', RNPDIR2, '-r', 'test_cek', 
'-e', src, '--overwrite', '--output', enc])
-            self.assertEqual(ret, 0)
-            ret, _, err = run_proc(GPG, ['--batch', '--homedir', GPGHOME2, 
'--show-session-key', GPG_LOOPBACK, '--passphrase', PASSWORD, '--output', 
'/dev/null', '-d', enc])
-            self.assertEqual(ret, 0)
-            m = pattern.match(err)
-            self.assertTrue(m)
-            key = m.group(1)
-            self.assertNotIn(key, keys)
-            keys.add(key)
-        
-        shutil.rmtree(RNPDIR2, ignore_errors=True)
-        shutil.rmtree(GPGDIR2, ignore_errors=True)
-
 class Compression(unittest.TestCase):
     @classmethod
     def setUpClass(cls):

++++++ rnp-v0.18.1-botan-1-1.patch ++++++
--- /var/tmp/diff_new_pack.izQgFK/_old  2026-07-12 16:22:28.686720361 +0200
+++ /var/tmp/diff_new_pack.izQgFK/_new  2026-07-12 16:22:28.690720503 +0200
@@ -1,20 +1,22 @@
-https://github.com/rnpgp/rnp/pull/2381
-https://github.com/rnpgp/rnp/pull/2382
+From ba8df120afc88b9530df3a1c6a249032932466c7 Mon Sep 17 00:00:00 2001
+From: Kai Engert <[email protected]>
+Date: Tue, 24 Mar 2026 14:39:00 +0100
+Subject: [PATCH] Fix build with Botan head and typos warnings
 
-[   36s] 
/home/abuild/rpmbuild/BUILD/rnp-0.18.1-build/rnp-v0.18.1/src/lib/crypto/mem.cpp:
 In function ‘size_t rnp::hex_decode(const char*, uint8_t*, size_t)’:
-[   36s] 
/home/abuild/rpmbuild/BUILD/rnp-0.18.1-build/rnp-v0.18.1/src/lib/crypto/mem.cpp:55:21:
 error: ‘strlen’ was not declared in this scope
-[   36s]    55 |     size_t hexlen = strlen(hex);
-[   36s]       |                     ^~~~~~
-[   36s] 
/home/abuild/rpmbuild/BUILD/rnp-0.18.1-build/rnp-v0.18.1/src/lib/crypto/mem.cpp:30:1:
 note: ‘strlen’ is defined in header ‘<cstring>’; this is probably fixable by 
adding ‘#include <cstring>’
-[   36s]    29 | #include "logging.h"
-[   36s]   +++ |+#include <cstring>
-[   36s]    30 | #include <botan/ffi.h>
-[   36s] make[2]: *** [src/lib/CMakeFiles/librnp-obj.dir/build.make:516: 
src/lib/CMakeFiles/librnp-obj.dir/crypto/mem.cpp.o] Error 1
+- Add missing <cstring> include in mem.cpp
+- Rename cpy variables to copy in s2k_ossl.cpp and fingerprint.hpp
 
-Index: rnp-v0.18.1/src/lib/crypto/mem.cpp
-===================================================================
---- rnp-v0.18.1.orig/src/lib/crypto/mem.cpp
-+++ rnp-v0.18.1/src/lib/crypto/mem.cpp
+Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
+---
+ src/lib/crypto/mem.cpp      | 1 +
+ src/lib/crypto/s2k_ossl.cpp | 8 ++++----
+ src/lib/fingerprint.hpp     | 4 ++--
+ 3 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/src/lib/crypto/mem.cpp b/src/lib/crypto/mem.cpp
+index 94d90f5484..dbd2a143ed 100644
+--- a/src/lib/crypto/mem.cpp
++++ b/src/lib/crypto/mem.cpp
 @@ -25,6 +25,7 @@
   */
  
@@ -23,11 +25,38 @@
  #include "mem.h"
  #include "logging.h"
  #include <botan/ffi.h>
-@@ -65,4 +66,4 @@ hex_decode(const char *hex, uint8_t *buf
+diff --git a/src/lib/crypto/s2k_ossl.cpp b/src/lib/crypto/s2k_ossl.cpp
+index de05b83a62..b810f87336 100644
+--- a/src/lib/crypto/s2k_ossl.cpp
++++ b/src/lib/crypto/s2k_ossl.cpp
+@@ -76,10 +76,10 @@ pgp_s2k_iterated(pgp_hash_alg_t alg,
+                 }
+             }
+             auto   dgst = hash->sec_finish();
+-            size_t out_cpy = std::min(dgst.size(), output_len);
+-            memcpy(out, dgst.data(), out_cpy);
+-            output_len -= out_cpy;
+-            out += out_cpy;
++            size_t out_copy = std::min(dgst.size(), output_len);
++            memcpy(out, dgst.data(), out_copy);
++            output_len -= out_copy;
++            out += out_copy;
+             zeroes++;
+         }
+         return 0;
+diff --git a/src/lib/fingerprint.hpp b/src/lib/fingerprint.hpp
+index b9ff1581f2..5c41257ea7 100644
+--- a/src/lib/fingerprint.hpp
++++ b/src/lib/fingerprint.hpp
+@@ -88,8 +88,8 @@ template <> struct hash<pgp::Fingerprint> {
+     {
+         /* since fingerprint value is hash itself, we may use its low bytes */
+         size_t res = 0;
+-        size_t cpy = std::min(sizeof(res), fp.size());
+-        std::memcpy(&res, fp.data(), cpy);
++        size_t copy = std::min(sizeof(res), fp.size());
++        std::memcpy(&res, fp.data(), copy);
+         return res;
      }
-     return buf_len;
- }
--} // namespace rnp
-\ No newline at end of file
-+} // namespace rnp
+ };
 

++++++ rnp-v0.18.1-test_cv25519_bit_fix.patch ++++++
>From 6f8a67703e8a3cf57a4205c3f1fb6d2e4dfe22a7 Mon Sep 17 00:00:00 2001
From: Nickolay Olshevsky <[email protected]>
Date: Sat, 18 Apr 2026 16:38:07 +0300
Subject: [PATCH] Update test_cv25519_bit_fix in attempt to fix CI failures

---
 src/tests/cli_tests.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/tests/cli_tests.py b/src/tests/cli_tests.py
index db3b042d5..3ecfcac49 100755
--- a/src/tests/cli_tests.py
+++ b/src/tests/cli_tests.py
@@ -3370,6 +3370,8 @@ def test_cv25519_bit_fix(self):
         self.assertRegex(out, r'(?s)^.*Cv25519 key bits are set correctly and 
do not require fixing.*$')
         ret, _, _ = run_proc(RNP, ['--homedir', RNPDIR, '--password', 
'password', '-d', data_path(MSG_ES_25519)])
         self.assertEqual(ret, 0)
+        # Remove already existing key and import tweaked one again to make 
sure it works with GnuPG
+        ret, _, _ = run_proc(GPG, ['--batch', '--homedir', GPGHOME, '--yes', 
'--delete-secret-key', 'dde0ee539c017d2bd3f604a53176fc1486aa2528'])
         ret, _, _ = run_proc(GPG, ['--batch', '--homedir', GPGHOME, '--batch', 
'--passphrase', 'password', '--import', os.path.join(RNPDIR, SECRING)])
         self.assertEqual(ret, 0)
         ret, _, _ = run_proc(GPG, ['--batch', '--homedir', GPGHOME, 
GPG_LOOPBACK, '--batch', '--passphrase', 'password',

Reply via email to