Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package dovecot23 for openSUSE:Factory 
checked in at 2023-03-27 18:17:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dovecot23 (Old)
 and      /work/SRC/openSUSE:Factory/.dovecot23.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dovecot23"

Mon Mar 27 18:17:25 2023 rev:51 rq:1074626 version:2.3.20

Changes:
--------
--- /work/SRC/openSUSE:Factory/dovecot23/dovecot23.changes      2023-02-07 
18:50:05.483456186 +0100
+++ /work/SRC/openSUSE:Factory/.dovecot23.new.31432/dovecot23.changes   
2023-03-27 18:17:26.459474100 +0200
@@ -1,0 +2,11 @@
+Mon Mar 27 09:15:10 UTC 2023 - Martin Liška <mli...@suse.cz>
+
+- Add upstream fix-strict-aliasing.patch that addresses violation
+  of strict aliasing.
+
+-------------------------------------------------------------------
+Thu Mar 23 14:45:26 UTC 2023 - Martin Liška <mli...@suse.cz>
+
+- Enable LTO now as it works now (boo#1156301).
+
+-------------------------------------------------------------------

New:
----
  fix-strict-aliasing.patch

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

Other differences:
------------------
++++++ dovecot23.spec ++++++
--- /var/tmp/diff_new_pack.9fkTic/_old  2023-03-27 18:17:27.411479124 +0200
+++ /var/tmp/diff_new_pack.9fkTic/_new  2023-03-27 18:17:27.423479187 +0200
@@ -16,8 +16,6 @@
 #
 
 
-%global _lto_cflags %{nil}
-
 Name:           dovecot23
 Version:        2.3.20
 Release:        0
@@ -164,6 +162,7 @@
 Patch1:         dovecot-2.3.0-better_ssl_defaults.patch
 # PATCH-FIX-OPENSUSE - boo#1207958
 Patch2:         fix-build-with-openssl-3.patch
+Patch3:         fix-strict-aliasing.patch
 Summary:        IMAP and POP3 Server Written Primarily with Security in Mind
 License:        BSD-3-Clause AND LGPL-2.1-or-later AND MIT
 Group:          Productivity/Networking/Email/Servers




++++++ fix-strict-aliasing.patch ++++++
>From 7932dc8457c56cfde21e45a64a2494968a707c81 Mon Sep 17 00:00:00 2001
From: Martin Liska <mli...@suse.cz>
Date: Fri, 24 Mar 2023 13:33:13 +0100
Subject: [PATCH] Fix violation of strict aliasing.

The following issue is already reported here:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997513

and the problem is in the following statement:
*(const uint32_t *)&ptr[(n) * 4]

that yields a miscompilation when LTO is enabled.
---
 src/lib/md4.c | 18 ------------------
 1 file changed, 18 deletions(-)

diff --git a/src/lib/md4.c b/src/lib/md4.c
index 06082f53c7..60413bd957 100644
--- a/src/lib/md4.c
+++ b/src/lib/md4.c
@@ -34,23 +34,6 @@
        (a) = ((a) << (s)) | ((a) >> (32 - (s)))
 
 
-/*
- * SET reads 4 input bytes in little-endian byte order and stores them
- * in a properly aligned word in host byte order.
- *
- * The check for little-endian architectures which tolerate unaligned
- * memory accesses is just an optimization.  Nothing will break if it
- * doesn't work.
- */
-#if defined(__i386__) || defined(__x86_64__) || defined(__vax__)
-/* uint_fast32_t might be 64 bit, and thus may read 4 more bytes
- * beyond the end of the buffer. So only read precisely 32 bits
- */
-#define SET(n)                         \
-       (*(const uint32_t *)&ptr[(n) * 4])
-#define GET(n) \
-       SET(n)
-#else
 #define SET(n) \
        (ctx->block[(n)] = \
        (uint_fast32_t)ptr[(n) * 4] | \
@@ -59,7 +42,6 @@
        ((uint_fast32_t)ptr[(n) * 4 + 3] << 24))
 #define GET(n) \
        (ctx->block[(n)])
-#endif
 
 /*
  * This processes one or more 64-byte data blocks, but does NOT update

>From d90a4e74f5fda93783c5881499b1fa38f4109362 Mon Sep 17 00:00:00 2001
From: Sam James <s...@gentoo.org>
Date: Mon, 27 Mar 2023 02:25:12 +0100
Subject: [PATCH] lib: md5: Fix strict aliasing violation

Followup to f0c1cf42ea78d22e2674b03fe65f0ee6545c5b99. It's exactly the
same code as in md4, so let's rip it out here too.

Thanks to sirainen for pointing this out.

Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997513
Reference: https://github.com/dovecot/core/pull/195
---
 src/lib/md5.c | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/src/lib/md5.c b/src/lib/md5.c
index 46cffb6d12..ee946ea805 100644
--- a/src/lib/md5.c
+++ b/src/lib/md5.c
@@ -38,20 +38,6 @@
        (a) = (((a) << (s)) | (((a) & 0xffffffff) >> (32 - (s)))); \
        (a) += (b);
 
-/*
- * SET reads 4 input bytes in little-endian byte order and stores them
- * in a properly aligned word in host byte order.
- *
- * The check for little-endian architectures which tolerate unaligned
- * memory accesses is just an optimization.  Nothing will break if it
- * doesn't work.
- */
-#if defined(__i386__) || defined(__x86_64__) || defined(__vax__)
-#define SET(n) \
-       (*(const uint32_t *)&ptr[(n) * 4])
-#define GET(n) \
-       SET(n)
-#else
 #define SET(n) \
        (ctx->block[(n)] = \
        (uint_fast32_t)ptr[(n) * 4] | \
@@ -60,7 +46,6 @@
        ((uint_fast32_t)ptr[(n) * 4 + 3] << 24))
 #define GET(n) \
        (ctx->block[(n)])
-#endif
 
 /*
  * This processes one or more 64-byte data blocks, but does NOT update

Reply via email to