openSUSE Commits
Threads by month
- ----- 2024 -----
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
June 2021
- 1 participants
- 2516 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 00Meta for openSUSE:Leap:15.3:Images checked in at 2021-06-29 18:45:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.3:Images/00Meta (Old)
and /work/SRC/openSUSE:Leap:15.3:Images/.00Meta.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "00Meta"
Tue Jun 29 18:45:50 2021 rev:89 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ version_totest ++++++
--- /var/tmp/diff_new_pack.T5UVyu/_old 2021-06-29 18:45:51.065206872 +0200
+++ /var/tmp/diff_new_pack.T5UVyu/_new 2021-06-29 18:45:51.069206877 +0200
@@ -1 +1 @@
-9.110
\ No newline at end of file
+9.113
\ No newline at end of file
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package bouncycastle.16608 for openSUSE:Leap:15.2:Update checked in at 2021-06-29 06:06:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2:Update/bouncycastle.16608 (Old)
and /work/SRC/openSUSE:Leap:15.2:Update/.bouncycastle.16608.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bouncycastle.16608"
Tue Jun 29 06:06:30 2021 rev:1 rq:902447 version:1.64
Changes:
--------
New Changes file:
--- /dev/null 2021-06-17 12:39:55.005330521 +0200
+++ /work/SRC/openSUSE:Leap:15.2:Update/.bouncycastle.16608.new.2625/bouncycastle.changes 2021-06-29 06:06:30.473674880 +0200
@@ -0,0 +1,329 @@
+-------------------------------------------------------------------
+Fri May 21 11:39:44 UTC 2021 - Pedro Monreal <pmonreal(a)suse.com>
+
+- Security fix: [bsc#1186328, CVE-2020-15522]
+ * Fixes a timing issue within the EC math library
+ * Blind the inversion when normalizing
+- Add bouncycastle-CVE-2020-15522.patch
+
+-------------------------------------------------------------------
+Wed Nov 6 18:11:54 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez(a)suse.com>
+
+- Fix arch dependent macros in noarch package [bsc#1109539]
+
+-------------------------------------------------------------------
+Sat Oct 12 17:27:09 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez(a)suse.com>
+
+- Update pom files with those from Maven repository.
+
+-------------------------------------------------------------------
+Thu Oct 10 16:29:27 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez(a)suse.com>
+
+- Version update to 1.64 [bsc#1153385, CVE-2019-17359]
+ [bsc#1096291, CVE-2018-1000180][bsc#1100694, CVE-2018-1000613]
+ * Security Advisory:
+ - CVE-2019-17359: A change to the ASN.1 parser in 1.63 introduced
+ a regression that can cause an OutOfMemoryError to occur on
+ parsing ASN.1 data.
+ * Defects Fixed:
+ - OpenSSH: Fixed padding in generated Ed25519 private keys.
+ - GOST3410-2012-512 now uses the GOST3411-2012-256 as its KDF digest.
+ - Validation of headers in PemReader now looks for tailing dashes in header.
+ - Some compatibility issues around the signature encryption algorithm
+ field in CMS SignedData and the GOST algorithms have been addressed.
+ * Additional Features and Functionality:
+ - PKCS12 key stores containing only certificates can now be created
+ without the need to provide passwords.
+ - BCJSSE: Initial support for AlgorithmConstraints; protocol versions
+ and cipher suites.
+ - BCJSSE: Initial support for 'jdk.tls.disabledAlgorithms'; protocol
+ versions and cipher suites.
+ - BCJSSE: Add SecurityManager check to access session context.
+ - BCJSSE: Improved SunJSSE compatibility of the NULL_SESSION.
+ - BCJSSE: SSLContext algorithms updated for SunJSSE compatibility
+ (default enabled protocols).
+ - The digest functions Haraka-256 and Haraka-512 have been added to
+ the provider and the light-weight API
+ - XMSS/XMSS^MT key management now allows for allocating subsets of the
+ private key space using the extraKeyShard() method. Use of
+ StateAwareSignature is now deprecated.
+ - Support for Java 11's NamedParameterSpec class has been added
+ (using reflection) to the EC and EdEC KeyPairGenerator implementations.
+
+-------------------------------------------------------------------
+Thu Oct 10 16:22:11 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez(a)suse.com>
+
+- Version update to 1.63
+ * Defects Fixed:
+ - The ASN.1 parser would throw a large object exception for some objects
+ which could be safely parsed.
+ - GOST3412-2015 CTR mode was unusable at the JCE level.
+ - The DSTU MACs were failing to reset fully on doFinal().
+ - The DSTU MACs would throw an exception if the key was a multiple of the
+ size as the MAC's underlying buffer size.
+ - EdEC and QTESLA were not previously usable with the post Java 9 module structure.
+ - ECNR was not correctly bounds checking the input and could produce invalid signatures.
+ - ASN.1: Enforce no leading zeroes in OID branches (longer than 1 character).
+ - TLS: Fix X448 support in JcaTlsCrypto.
+ - Fixed field reduction for secp128r1 custom curve.
+ - Fixed unsigned multiplications in X448 field squaring.
+ - Some issues over subset Name Constraint validation in the CertPath analyser
+ - TimeStampResponse.getEncoded() could throw an exception if the TimeStampToken was null.
+ - Unnecessary memory usage in the ARGON2 implementation has been removed.
+ - Param-Z in the GOST-28147 algorithm was not resolving correctly.
+ - It is now possible to specify different S-Box parameters for the GOST 28147-89 MAC.
+ * Additional Features and Functionality:
+ - QTESLA is now updated with the round 2 changes. Note: the security catergories,
+ and in some cases key generation and signatures, have changed. The round 1 version is
+ now moved to org.bouncycastle.pqc.crypto.qteslarnd1, this package will be deleted in
+ 1.64. Please keep in mind that QTESLA may continue to evolve.
+ - Support has been added for generating Ed25519/Ed448 signed certificates.
+ - A method for recovering the message/digest value from an ECNR signature has been added.
+ - Support for the ZUC-128 and ZUC-256 ciphers and MACs has been added to the provider
+ and the lightweight API.
+ - Support has been added for ChaCha20-Poly1305 AEAD mode from RFC 7539.
+ - Improved performance for multiple ECDSA verifications using same public key.
+ - Support for PBKDF2withHmacSM3 has been added to the BC provider.
+ - The S/MIME API has been fixed to avoid unnecessary delays due to DNS resolution of a
+ hosts name in internal MimeMessage preparation.
+ - The valid path for EST services has been updated to cope with the characters used in
+ the Aruba clearpass EST implementation.
+
+- Version update to 1.62
+ * Defects Fixed:
+ - DTLS: Fixed infinite loop on IO exceptions.
+ - DTLS: Retransmission timers now properly apply to flights monolithically.
+ - BCJSSE: setEnabledCipherSuites ignores unsupported cipher suites.
+ - BCJSSE: SSLSocket implementations store passed-in 'host' before connecting.
+ - BCJSSE: Handle SSLEngine closure prior to handshake.
+ - BCJSSE: Provider now configurable using security config under Java 11 and later.
+ - EdDSA verifiers now reject overly long signatures.
+ - XMSS/XMSS^MT OIDs now using the values defined in RFC 8391.
+ - XMSS/XMSS^MT keys now encoded with OID at start.
+ - An error causing valid paths to be rejected due to DN based name constraints
+ has been fixed in the CertPath API.
+ - Name constraint resolution now includes special handling of serial numbers.
+ - Cipher implementations now handle ByteBuffer usage where the ByteBuffer has
+ no backing array.
+ - CertificateFactory now enforces presence of PEM headers when required.
+ - A performance issue with RSA key pair generation that was introduced in 1.61
+ has been mostly eliminated.
+ * Additional Features and Functionality:
+ - Builders for X509 certificates and CRLs now support replace and remove extension methods.
+ - DTLS: Added server-side support for HelloVerifyRequest.
+ - DTLS: Added support for an overall handshake timeout.
+ - DTLS: Added support for the heartbeat extension (RFC 6520).
+ - DTLS: Improve record seq. behaviour in HelloVerifyRequest scenarios.
+ - TLS: BasicTlsPSKIdentity now reusable (returns cloned array from getPSK).
+ - BCJSSE: Improved ALPN support, including selectors from Java 9.
+ - Lightweight RSADigestSigner now support use of NullDigest.
+ - SM2Engine now supports C1C3C2 mode.
+ - SHA256withSM2 now added to provider.
+ - BCJSSE: Added support for ALPN selectors (including in BC extension API for earlier JDKs).
+ - BCJSSE: Support 'SSL' algorithm for SSLContext (alias for 'TLS').
+ - The BLAKE2xs XOF has been added to the lightweight API.
+ - Utility classes added to support journaling of SecureRandom and algorithms to allow
+ persistance and later resumption.
+ - PGP SexprParser now handles some unprotected key types.
+ - NONEwithRSA support added to lightweight RSADigestSigner.
+ - Support for the Ethereum flavor of IES has been added to the lightweight API.
+
+- Version update to 1.61
+ * Defects Fixed:
+ - Use of EC named curves could be lost if keys were constructed.
+ via a key factory and algorithm parameters.
+ - RFC3211WrapEngine would not properly handle messages longer than 127 bytes.
+ - The JCE implementations for RFC3211 would not return null AlgorithmParameters.
+ - TLS: Don't check CCS status for hello_request.
+ - TLS: Tolerate unrecognized hash algorithms.
+ - TLS: Tolerate unrecognized SNI types.
+ - Incompatibility issue in ECIES-KEM encryption in cofactor fixed.
+ - Issue with XMSS/XMSSMT private key loading which could result in invalid signatures fixed.
+ - StateAwareSignature.isSigningCapable() now returns false when the
+ key has reached it's maximum number of signatures.
+ - The McEliece KeyPairGenerator was failing to initialize the underlying
+ class if a SecureRandom was explicitly passed.
+ - The McEliece cipher would sometimes report the wrong value on a call
+ to Cipher.getOutputSize(int).
+ - CSHAKEDigest.leftEncode() was using the wrong endianness for multi byte values.
+ - Some ciphers, such as CAST6, were missing AlgorithmParameters implementations.
+ - An issue with the default "m" parameter for 1024 bit Diffie-Hellman keys which
+ could result in an exception on key pair generation has been fixed.
+ - The SPHINCS256 implementation is now more tolerant of parameters wrapped with a
+ SecureRandom and will not throw an exception if it receives one.
+ - A regression in PGPUtil.writeFileToLiteralData() which could cause corrupted
+ literal data has been fixed.
+ - Several parsing issues related to the processing of CMP PKIPublicationInfo.
+ - The ECGOST curves for id-tc26-gost-3410-12-256-paramSetA and
+ id-tc26-gost-3410-12-512-paramSetC had incorrect co-factors.
+ * Additional Features and Functionality:
+ - The qTESLA signature algorithm has been added to PQC light-weight API and the PQC provider.
+ - The password hashing function, Argon2 has been added to the lightweight API.
+ - BCJSSE: Added support for endpoint ID validation (HTTPS, LDAP, LDAPS).
+ - BCJSSE: Added support for 'useCipherSuitesOrder' parameter.
+ - BCJSSE: Added support for ALPN.
+ - BCJSSE: Various changes for improved compatibility with SunJSSE.
+ - BCJSSE: Provide default extended key/trust managers.
+ - TLS: Added support for TLS 1.2 features from RFC 8446.
+ - TLS: Removed support for EC point compression.
+ - TLS: Removed support for record compression.
+ - TLS: Updated to RFC 7627 from draft-ietf-tls-session-hash-04.
+ - TLS: Improved certificate sig. alg. checks.
+ - TLS: Finalised support for RFC 8442 cipher suites.
+ - Support has been added to the main Provider for the Ed25519 and Ed448 signature algorithms.
+ - Support has been added to the main Provider for the X25519 and X448 key agreement algorithms.
+ - Utility classes have been added for handling OpenSSH keys.
+ - Support for processing messages built using GPG and Curve25519 has been added to the OpenPGP API.
+ - The provider now recognises the standard SM3 OID.
+ - A new API for directly parsing and creating S/MIME documents has been added to the PKIX API.
+ - SM2 in public key cipher mode has been added to the provider API.
+ - The BCFKSLoadStoreParameter has been extended to allow the use of certificates and digital
+ signatures for verifying the integrity of BCFKS key stores.
+
+-------------------------------------------------------------------
+Tue Sep 24 14:35:32 UTC 2019 - Fridrich Strba <fstrba(a)suse.com>
+
+- Package also the bcpkix bcpg bcmail bctls artifacts in separate
+ sub-packages
+- Revert to building with source/target 6, since it is still
+ possible
+- Added patch:
+ * bouncycastle-javadoc.patch
+ + fix javadoc build
+
+-------------------------------------------------------------------
+Thu Jul 19 10:24:12 UTC 2018 - tchvatal(a)suse.com
+
+- Version update to 1.60 bsc#1100694:
++++ 132 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Leap:15.2:Update/.bouncycastle.16608.new.2625/bouncycastle.changes
New:
----
bcmail-jdk15on-1.64.pom
bcpg-jdk15on-1.64.pom
bcpkix-jdk15on-1.64.pom
bcprov-jdk15on-1.64.pom
bctls-jdk15on-1.64.pom
bouncycastle-CVE-2020-15522.patch
bouncycastle-javadoc.patch
bouncycastle.changes
bouncycastle.spec
r1rv64.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bouncycastle.spec ++++++
#
# spec file for package bouncycastle
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global ver 1.64
%global shortver 164
%global gittag r1rv64
%global archivever jdk15on-%{shortver}b07
%global classname org.bouncycastle.jce.provider.BouncyCastleProvider
Name: bouncycastle
Version: %{ver}
Release: 0
Summary: Bouncy Castle Cryptography APIs for Java
License: MIT AND Apache-2.0
Group: Development/Libraries/Java
URL: https://www.bouncycastle.org
Source0: https://github.com/bcgit/bc-java/archive/%{gittag}.tar.gz
# POMs from Maven Central
Source1: https://repo1.maven.org/maven2/org/%{name}/bcprov-jdk15on/%{version}/bcprov…
Source2: https://repo1.maven.org/maven2/org/%{name}/bcpkix-jdk15on/%{version}/bcpkix…
Source3: https://repo1.maven.org/maven2/org/%{name}/bcpg-jdk15on/%{version}/bcpg-jdk…
Source4: https://repo1.maven.org/maven2/org/%{name}/bcmail-jdk15on/%{version}/bcmail…
Source5: https://repo1.maven.org/maven2/org/%{name}/bctls-jdk15on/%{version}/bctls-j…
Patch0: bouncycastle-javadoc.patch
# PATCH-FIX-UPSTREAM bsc#1186328 CVE-2020-15522 Timing issue within the EC math library
Patch1: bouncycastle-CVE-2020-15522.patch
BuildRequires: ant
BuildRequires: ant-junit
BuildRequires: fdupes
BuildRequires: javamail
BuildRequires: javapackages-local
Requires(post): javapackages-tools
Requires(postun): javapackages-tools
Provides: bcprov = %{version}-%{release}
BuildArch: noarch
%description
The Bouncy Castle Crypto package is a Java implementation of cryptographic
algorithms. This jar contains JCE provider and lightweight API for the
Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.
%package pkix
Summary: Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs
License: MIT
Group: Development/Libraries/Java
Requires: %{name} = %{version}
%description pkix
The Bouncy Castle Java APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and
certificate generation. This jar contains APIs for JDK 1.5 to JDK 1.8. The
APIs can be used in conjunction with a JCE/JCA provider such as the one
provided with the Bouncy Castle Cryptography APIs.
%package pg
Summary: Bouncy Castle OpenPGP API
License: MIT AND Apache-2.0
Group: Development/Libraries/Java
Requires: %{name} = %{version}
%description pg
The Bouncy Castle Java API for handling the OpenPGP protocol. This jar
contains the OpenPGP API for JDK 1.5 to JDK 1.8. The APIs can be used in
conjunction with a JCE/JCA provider such as the one provided with the
Bouncy Castle Cryptography APIs.
%package mail
Summary: Bouncy Castle S/MIME API
License: MIT
Group: Development/Libraries/Java
Requires: %{name} = %{version}
Requires: %{name}-pkix = %{version}
%description mail
The Bouncy Castle Java S/MIME APIs for handling S/MIME protocols. This jar
contains S/MIME APIs for JDK 1.5 to JDK 1.8. The APIs can be used in
conjunction with a JCE/JCA provider such as the one provided with the Bouncy
Castle Cryptography APIs. The JavaMail API and the Java activation framework
will also be needed.
%package tls
Summary: Bouncy Castle JSSE provider and TLS/DTLS API
License: MIT
Group: Development/Libraries/Java
Requires: %{name} = %{version}
%description tls
The Bouncy Castle Java APIs for TLS and DTLS, including a provider for the
JSSE.
%package javadoc
Summary: Javadoc for %{name}
License: MIT
Group: Development/Libraries/Java
%description javadoc
API documentation for the Bouncy Castle Cryptography APIs.
%prep
%setup -q -n bc-java-%{gittag}
%patch0 -p1
%patch1 -p1
# Remove provided binaries
find . -type f -name "*.class" -exec rm -f {} \;
find . -type f -name "*.jar" -exec rm -f {} \;
%build
ant -f ant/jdk15+.xml \
-Dbc.javac.source=6 -Dbc.javac.target=6 \
-Djunit.jar.home=$(build-classpath junit) \
-Dmail.jar.home=$(build-classpath javax.mail) \
-Dactivation.jar.home= \
-Drelease.debug=true \
clean build-provider build
# Not shipping the "lcrypto" jar, so don't ship the javadoc for it
rm -rf build/artifacts/jdk1.5/javadoc/lcrypto
%install
install -dm 755 %{buildroot}%{_sysconfdir}/java/security/security.d
touch %{buildroot}%{_sysconfdir}/java/security/security.d/2000-%{classname}
install -dm 0755 %{buildroot}%{_javadir}
install -dm 0755 %{buildroot}%{_mavenpomdir}
for bc in bcprov bcpkix bcpg bcmail bctls ; do
install -pm 0644 build/artifacts/jdk1.5/jars/$bc-%{archivever}.jar %{buildroot}%{_javadir}/$bc.jar
install -pm 0644 %{_sourcedir}/$bc-jdk15on-%{version}.pom %{buildroot}%{_mavenpomdir}/$bc.pom
%add_maven_depmap $bc.pom $bc.jar -a "org.bouncycastle:$bc-jdk16,org.bouncycastle:$bc-jdk15" -f $bc
done
install -dm 0755 %{buildroot}%{_javadocdir}/%{name}
cp -r build/artifacts/jdk1.5/javadoc/* %{buildroot}%{_javadocdir}/%{name}/
%fdupes -s %{buildroot}%{_javadocdir}
%post
{
# Rebuild the list of security providers in classpath.security
suffix=security/classpath.security
secfiles="%{_prefix}/lib/$suffix %{_prefix}/lib64/$suffix"
for secfile in $secfiles
do
# check if this classpath.security file exists
[ -f "$secfile" ] || continue
sed -i '/^security\.provider\./d' "$secfile"
count=0
for provider in $(ls %{_sysconfdir}/java/security/security.d)
do
count=$((count + 1))
echo "security.provider.${count}=${provider#*-}" >> "$secfile"
done
done
} || :
%postun
if [ $1 -eq 0 ] ; then
{
# Rebuild the list of security providers in classpath.security
suffix=security/classpath.security
secfiles="%{_prefix}/lib/$suffix %{_prefix}/lib64/$suffix"
for secfile in $secfiles
do
# check if this classpath.security file exists
[ -f "$secfile" ] || continue
sed -i '/^security\.provider\./d' "$secfile"
count=0
for provider in $(ls %{_sysconfdir}/java/security/security.d)
do
count=$((count + 1))
echo "security.provider.${count}=${provider#*-}" >> "$secfile"
done
done
} || :
fi
%files -f .mfiles-bcprov
%license build/artifacts/jdk1.5/bcprov-jdk15on-*/LICENSE.html
%doc docs/ core/docs/ *.html
%config(noreplace) %{_sysconfdir}/java/security/security.d/2000-%{classname}
%files pkix -f .mfiles-bcpkix
%license build/artifacts/jdk1.5/bcpkix-jdk15on-*/LICENSE.html
%files pg -f .mfiles-bcpg
%license build/artifacts/jdk1.5/bcpg-jdk15on-*/LICENSE.html
%files mail -f .mfiles-bcmail
%license build/artifacts/jdk1.5/bcmail-jdk15on-*/LICENSE.html
%files tls -f .mfiles-bctls
%license build/artifacts/jdk1.5/bctls-jdk15on-*/LICENSE.html
%files javadoc
%{_javadocdir}/%{name}
%license LICENSE.html
%changelog
++++++ bcmail-jdk15on-1.64.pom ++++++
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk15on</artifactId>
<packaging>jar</packaging>
<name>Bouncy Castle S/MIME API</name>
<version>1.64</version>
<description>The Bouncy Castle Java S/MIME APIs for handling S/MIME protocols. This jar contains S/MIME APIs for JDK 1.5 to JDK 11. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs. The JavaMail API and the Java activation framework will also be needed.</description>
<url>https://www.bouncycastle.org/java.html</url>
<licenses>
<license>
<name>Bouncy Castle Licence</name>
<url>https://www.bouncycastle.org/licence.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>https://github.com/bcgit/bc-java</url>
</scm>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/bcgit/bc-java/issues</url>
</issueManagement>
<developers>
<developer>
<id>feedback-crypto</id>
<name>The Legion of the Bouncy Castle Inc.</name>
<email>feedback-crypto(a)bouncycastle.org</email>
</developer>
</developers>
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.64</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.64</version>
<type>jar</type>
</dependency>
</dependencies>
</project>
++++++ bcpg-jdk15on-1.64.pom ++++++
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpg-jdk15on</artifactId>
<packaging>jar</packaging>
<name>Bouncy Castle OpenPGP API</name>
<version>1.64</version>
<description>The Bouncy Castle Java API for handling the OpenPGP protocol. This jar contains the OpenPGP API for JDK 1.5 to JDK 11. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs.</description>
<url>https://www.bouncycastle.org/java.html</url>
<licenses>
<license>
<name>Bouncy Castle Licence</name>
<url>https://www.bouncycastle.org/licence.html</url>
<distribution>repo</distribution>
</license>
<license>
<name>Apache Software License, Version 1.1</name>
<url>https://www.apache.org/licenses/LICENSE-1.1</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>https://github.com/bcgit/bc-java</url>
</scm>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/bcgit/bc-java/issues</url>
</issueManagement>
<developers>
<developer>
<id>feedback-crypto</id>
<name>The Legion of the Bouncy Castle Inc.</name>
<email>feedback-crypto(a)bouncycastle.org</email>
</developer>
</developers>
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.64</version>
<type>jar</type>
</dependency>
</dependencies>
</project>
++++++ bcpkix-jdk15on-1.64.pom ++++++
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<packaging>jar</packaging>
<name>Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs</name>
<version>1.64</version>
<description>The Bouncy Castle Java APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate generation. This jar contains APIs for JDK 1.5 to JDK 11. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs.</description>
<url>https://www.bouncycastle.org/java.html</url>
<licenses>
<license>
<name>Bouncy Castle Licence</name>
<url>https://www.bouncycastle.org/licence.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>https://github.com/bcgit/bc-java</url>
</scm>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/bcgit/bc-java/issues</url>
</issueManagement>
<developers>
<developer>
<id>feedback-crypto</id>
<name>The Legion of the Bouncy Castle Inc.</name>
<email>feedback-crypto(a)bouncycastle.org</email>
</developer>
</developers>
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.64</version>
<type>jar</type>
</dependency>
</dependencies>
</project>
++++++ bcprov-jdk15on-1.64.pom ++++++
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<packaging>jar</packaging>
<name>Bouncy Castle Provider</name>
<version>1.64</version>
<description>The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for Java 5 to Java 11.</description>
<url>https://www.bouncycastle.org/java.html</url>
<licenses>
<license>
<name>Bouncy Castle Licence</name>
<url>https://www.bouncycastle.org/licence.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>https://github.com/bcgit/bc-java</url>
</scm>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/bcgit/bc-java/issues</url>
</issueManagement>
<developers>
<developer>
<id>feedback-crypto</id>
<name>The Legion of the Bouncy Castle Inc.</name>
<email>feedback-crypto(a)bouncycastle.org</email>
</developer>
</developers>
</project>
++++++ bctls-jdk15on-1.64.pom ++++++
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.bouncycastle</groupId>
<artifactId>bctls-jdk15on</artifactId>
<packaging>jar</packaging>
<name>Bouncy Castle JSSE provider and TLS/DTLS API</name>
<version>1.64</version>
<description>The Bouncy Castle Java APIs for TLS and DTLS, including a provider for the JSSE.</description>
<url>https://www.bouncycastle.org/java.html</url>
<licenses>
<license>
<name>Bouncy Castle Licence</name>
<url>https://www.bouncycastle.org/licence.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>https://github.com/bcgit/bc-java</url>
</scm>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/bcgit/bc-java/issues</url>
</issueManagement>
<developers>
<developer>
<id>feedback-crypto</id>
<name>The Legion of the Bouncy Castle Inc.</name>
<email>feedback-crypto(a)bouncycastle.org</email>
</developer>
</developers>
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.64</version>
<type>jar</type>
</dependency>
</dependencies>
</project>
++++++ bouncycastle-CVE-2020-15522.patch ++++++
diff -PpuriN bc-java-r1rv65/core/src/main/java/org/bouncycastle/math/ec/ECCurve.java bc-java-r1rv66/core/src/main/java/org/bouncycastle/math/ec/ECCurve.java
--- bc-java-r1rv65/core/src/main/java/org/bouncycastle/math/ec/ECCurve.java 2020-03-31 07:19:14.000000000 +0200
+++ bc-java-r1rv66/core/src/main/java/org/bouncycastle/math/ec/ECCurve.java 2020-07-06 06:11:06.000000000 +0200
@@ -1,6 +1,7 @@
package org.bouncycastle.math.ec;
import java.math.BigInteger;
+import java.security.SecureRandom;
import java.util.Hashtable;
import java.util.Random;
@@ -107,6 +108,8 @@ public abstract class ECCurve
public abstract boolean isValidFieldElement(BigInteger x);
+ public abstract ECFieldElement randomFieldElementMult(SecureRandom r);
+
public synchronized Config configure()
{
return new Config(this.coord, this.endomorphism, this.multiplier);
@@ -585,6 +590,18 @@ public abstract class ECCurve
return x != null && x.signum() >= 0 && x.compareTo(this.getField().getCharacteristic()) < 0;
}
+ public ECFieldElement randomFieldElementMult(SecureRandom r)
+ {
+ /*
+ * NOTE: BigInteger comparisons in the rejection sampling are not constant-time, so we
+ * use the product of two independent elements to mitigate side-channels.
+ */
+ BigInteger p = getField().getCharacteristic();
+ ECFieldElement fe1 = fromBigInteger(implRandomFieldElementMult(r, p));
+ ECFieldElement fe2 = fromBigInteger(implRandomFieldElementMult(r, p));
+ return fe1.multiply(fe2);
+ }
+
protected ECPoint decompressPoint(int yTilde, BigInteger X1)
{
ECFieldElement x = this.fromBigInteger(X1);
@@ -607,6 +636,28 @@ public abstract class ECCurve
return this.createRawPoint(x, y);
}
+
+ private static BigInteger implRandomFieldElement(SecureRandom r, BigInteger p)
+ {
+ BigInteger x;
+ do
+ {
+ x = BigIntegers.createRandomBigInteger(p.bitLength(), r);
+ }
+ while (x.compareTo(p) >= 0);
+ return x;
+ }
+
+ private static BigInteger implRandomFieldElementMult(SecureRandom r, BigInteger p)
+ {
+ BigInteger x;
+ do
+ {
+ x = BigIntegers.createRandomBigInteger(p.bitLength(), r);
+ }
+ while (x.signum() <= 0 || x.compareTo(p) >= 0);
+ return x;
+ }
}
/**
@@ -835,6 +881,18 @@ public abstract class ECCurve
return this.createRawPoint(X, Y);
}
+ public ECFieldElement randomFieldElementMult(SecureRandom r)
+ {
+ /*
+ * NOTE: BigInteger comparisons in the rejection sampling are not constant-time, so we
+ * use the product of two independent elements to mitigate side-channels.
+ */
+ int m = getFieldSize();
+ ECFieldElement fe1 = fromBigInteger(implRandomFieldElementMult(r, m));
+ ECFieldElement fe2 = fromBigInteger(implRandomFieldElementMult(r, m));
+ return fe1.multiply(fe2);
+ }
+
/**
* Decompresses a compressed point P = (xp, yp) (X9.62 s 4.2.2).
*
@@ -971,6 +1040,17 @@ public abstract class ECCurve
{
return this.order != null && this.cofactor != null && this.b.isOne() && (this.a.isZero() || this.a.isOne());
}
+
+ private static BigInteger implRandomFieldElementMult(SecureRandom r, int m)
+ {
+ BigInteger x;
+ do
+ {
+ x = BigIntegers.createRandomBigInteger(m, r);
+ }
+ while (x.signum() <= 0);
+ return x;
+ }
}
/**
diff -PpuriN bc-java-r1rv65/core/src/main/java/org/bouncycastle/math/ec/ECPoint.java bc-java-r1rv66/core/src/main/java/org/bouncycastle/math/ec/ECPoint.java
--- bc-java-r1rv65/core/src/main/java/org/bouncycastle/math/ec/ECPoint.java 2020-03-31 07:19:14.000000000 +0200
+++ bc-java-r1rv66/core/src/main/java/org/bouncycastle/math/ec/ECPoint.java 2020-07-06 06:11:06.000000000 +0200
@@ -1,8 +1,11 @@
package org.bouncycastle.math.ec;
import java.math.BigInteger;
+import java.security.SecureRandom;
import java.util.Hashtable;
+import org.bouncycastle.crypto.CryptoServicesRegistrar;
+
/**
* base class for points on elliptic curves.
*/
@@ -222,13 +225,31 @@ public abstract class ECPoint
}
default:
{
- ECFieldElement Z1 = getZCoord(0);
- if (Z1.isOne())
+ ECFieldElement z = getZCoord(0);
+ if (z.isOne())
{
return this;
}
- return normalize(Z1.invert());
+ if (null == curve)
+ {
+ throw new IllegalStateException("Detached points must be in affine coordinates");
+ }
+
+ /*
+ * Use blinding to avoid the side-channel leak identified and analyzed in the paper
+ * "Yet another GCD based inversion side-channel affecting ECC implementations" by Nir
+ * Drucker and Shay Gueron.
+ *
+ * To blind the calculation of z^-1, choose a multiplicative (i.e. non-zero) field
+ * element 'b' uniformly at random, then calculate the result instead as (z * b)^-1 * b.
+ * Any side-channel in the implementation of 'inverse' now only leaks information about
+ * the value (z * b), and no longer reveals information about 'z' itself.
+ */
+ SecureRandom r = CryptoServicesRegistrar.getSecureRandom();
+ ECFieldElement b = curve.randomFieldElementMult(r);
+ ECFieldElement zInv = z.multiply(b).invert().multiply(b);
+ return normalize(zInv);
}
}
}
++++++ bouncycastle-javadoc.patch ++++++
--- bc-java-r1v60/ant/bc+-build.xml 2018-07-02 00:14:10.000000000 +0200
+++ bc-java-r1v60/ant/bc+-build.xml 2018-11-19 18:49:26.961265967 +0100
@@ -106,7 +106,7 @@
<javac source="${bc.javac.source}" target="${bc.javac.target}"
srcdir="${artifacts.dir}/@{target}/src"
destdir="${build.dir}/@{target}/classes"
- memoryMaximumSize="512m"
+ memoryMaximumSize="512m" encoding="utf-8"
debug="${release.debug}" fork="true">
<classpath>
<path refid="project.classpath" />
@@ -143,7 +143,7 @@
<javac source="${bc.javac.source}" target="${bc.javac.target}"
srcdir="${artifacts.dir}/@{target}/src"
destdir="${build.dir}/@{target}/classes"
- memoryMaximumSize="512m"
+ memoryMaximumSize="512m" encoding="utf-8"
debug="${release.debug}">
<classpath>
<path refid="project.classpath" />
@@ -219,8 +219,8 @@
<element name="docElements" />
<sequential>
<mkdir dir="@{docsDir}" />
- <javadoc maxmemory="384m" sourcepath="@{srcDir}"
- destdir="@{docsDir}"
+ <javadoc maxmemory="384m" sourcepath="@{srcDir}" source="${bc.javac.source}"
+ destdir="@{docsDir}" encoding="utf-8"
windowtitle="Bouncy Castle Library ${release.name} API Specification"
header="<b>Bouncy Castle Cryptography Library ${release.name}</b>">
<docElements/>
@@ -284,7 +284,7 @@
<javac source="${bc.javac.source}" target="${bc.javac.target}"
srcdir="${lcrypto.target.src.dir}"
destdir="${lcrypto.target.classes.dir}"
- memoryMaximumSize="512m"
+ memoryMaximumSize="512m" encoding="utf-8"
fork="true"
debug="${release.debug}">
<classpath>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 00Meta for openSUSE:Leap:15.3:Images checked in at 2021-06-29 03:30:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.3:Images/00Meta (Old)
and /work/SRC/openSUSE:Leap:15.3:Images/.00Meta.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "00Meta"
Tue Jun 29 03:30:47 2021 rev:88 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ version_totest ++++++
--- /var/tmp/diff_new_pack.ihB9ek/_old 2021-06-29 03:30:49.329582449 +0200
+++ /var/tmp/diff_new_pack.ihB9ek/_new 2021-06-29 03:30:49.333582454 +0200
@@ -1 +1 @@
-9.108
\ No newline at end of file
+9.110
\ No newline at end of file
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2021-06-29 02:25:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Tue Jun 29 02:25:19 2021 rev:2767 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.ekI3sR/_old 2021-06-29 02:25:22.273047544 +0200
+++ /var/tmp/diff_new_pack.ekI3sR/_new 2021-06-29 02:25:22.277047548 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__MicroOS___20210627" schemaversion="4.1">
+<image name="OBS__MicroOS___20210628" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20210627</productvar>
+ <productvar name="VERSION">20210628</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:microos:20210627,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:microos:20210628,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20210627/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20210628/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
MicroOS-dvd5-kubic-dvd-x86_64.kiwi: same change
++++++ openSUSE-Addon-NonOss-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.ekI3sR/_old 2021-06-29 02:25:22.325047607 +0200
+++ /var/tmp/diff_new_pack.ekI3sR/_new 2021-06-29 02:25:22.325047607 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20210627" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20210628" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -36,11 +36,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20210627</productvar>
+ <productvar name="VERSION">20210628</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20210627,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20210628,openSUSE NonOSS Addon</productinfo>
<productinfo name="LINGUAS">af ar be_BY bg br ca cy el et ga gl gu_IN he hi_IN hr ka km ko lt mk nn pa_IN rw sk sl sr_CS ss st tg th tr uk ve vi xh zu </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2021… obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2021…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2021… obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2021…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-cd-mini-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.ekI3sR/_old 2021-06-29 02:25:22.349047637 +0200
+++ /var/tmp/diff_new_pack.ekI3sR/_new 2021-06-29 02:25:22.349047637 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20210627" schemaversion="4.1">
+<image name="OBS__openSUSE___20210628" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -32,11 +32,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20210627</productvar>
+ <productvar name="VERSION">20210628</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20210627,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20210628,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20210627/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20210628/i586</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-cd-mini-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.ekI3sR/_old 2021-06-29 02:25:22.369047662 +0200
+++ /var/tmp/diff_new_pack.ekI3sR/_new 2021-06-29 02:25:22.369047662 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20210627" schemaversion="4.1">
+<image name="OBS__openSUSE___20210628" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20210627</productvar>
+ <productvar name="VERSION">20210628</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20210627,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20210628,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20210627/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20210628/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-dvd5-dvd-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.ekI3sR/_old 2021-06-29 02:25:22.389047687 +0200
+++ /var/tmp/diff_new_pack.ekI3sR/_new 2021-06-29 02:25:22.389047687 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20210627" schemaversion="4.1">
+<image name="OBS__openSUSE___20210628" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -32,11 +32,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20210627</productvar>
+ <productvar name="VERSION">20210628</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20210627,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20210628,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20210627/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20210628/i586</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.ekI3sR/_old 2021-06-29 02:25:22.413047716 +0200
+++ /var/tmp/diff_new_pack.ekI3sR/_new 2021-06-29 02:25:22.413047716 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20210627" schemaversion="4.1">
+<image name="OBS__openSUSE___20210628" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20210627</productvar>
+ <productvar name="VERSION">20210628</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20210627,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20210628,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20210627/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20210628/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.ekI3sR/_old 2021-06-29 02:25:22.437047746 +0200
+++ /var/tmp/diff_new_pack.ekI3sR/_new 2021-06-29 02:25:22.437047746 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20210627" schemaversion="4.1">
+<image name="OBS__openSUSE___20210628" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -24,7 +24,7 @@
<productvar name="DISTNAME">openSUSE</productvar>
<productvar name="FLAVOR">ftp</productvar>
<productvar name="MAKE_LISTINGS">true</productvar>
- <productvar name="MEDIUM_NAME">openSUSE-20210627-i586-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20210628-i586-x86_64</productvar>
<productvar name="MULTIPLE_MEDIA">true</productvar>
<productvar name="PRODUCT_DIR">/</productvar>
<productvar name="PRODUCT_NAME">$DISTNAME-$FLAVOR</productvar>
@@ -36,11 +36,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20210627</productvar>
+ <productvar name="VERSION">20210628</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20210627,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20210628,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20210627/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20210627/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20210628/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20210628/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ MicroOS.product ++++++
--- /var/tmp/diff_new_pack.ekI3sR/_old 2021-06-29 02:25:22.493047814 +0200
+++ /var/tmp/diff_new_pack.ekI3sR/_new 2021-06-29 02:25:22.493047814 +0200
@@ -6,7 +6,7 @@
<name>MicroOS</name>
<releasepkgname>MicroOS-release</releasepkgname>
<endoflife/>
- <version>20210627</version>
+ <version>20210628</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>MicroOS</productline>
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.ekI3sR/_old 2021-06-29 02:25:22.601047948 +0200
+++ /var/tmp/diff_new_pack.ekI3sR/_new 2021-06-29 02:25:22.601047948 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20210627</version>
+ <version>20210628</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.ekI3sR/_old 2021-06-29 02:25:22.625047978 +0200
+++ /var/tmp/diff_new_pack.ekI3sR/_new 2021-06-29 02:25:22.629047982 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20210627</version>
+ <version>20210628</version>
<release>0</release>
<productline>openSUSE</productline>
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.ekI3sR/_old 2021-06-29 02:25:22.709048081 +0200
+++ /var/tmp/diff_new_pack.ekI3sR/_new 2021-06-29 02:25:22.713048086 +0200
@@ -8559,6 +8559,7 @@
- lib4store-devel
- lib4store0
- lib4ti2-0
+ - lib5250-0
- libADLMIDI1
- libAPFEL0
- libAlembic1_8
@@ -13468,7 +13469,7 @@
- libschily-devel-doc
- libschroedinger-1_0-0-32bit: [x86_64]
- libscintilla-devel
- - libscintilla3
+ - libscintilla5
- libscotch0
- libsdbus-c++0
- libseafile0
@@ -20252,6 +20253,7 @@
- playerctl-devel
- playerctl-doc
- playerctl-zsh-completion
+ - pleaser
- plee-the-bear
- plee-the-bear-data
- plexus-ant-factory
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2021-06-29 02:25:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Tue Jun 29 02:25:14 2021 rev:1036 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.P0h8MA/_old 2021-06-29 02:25:17.217041314 +0200
+++ /var/tmp/diff_new_pack.P0h8MA/_new 2021-06-29 02:25:17.221041319 +0200
@@ -17,7 +17,7 @@
Name: MicroOS-release
-Version: 20210627
+Version: 20210628
Release: 0
Summary: openSUSE MicroOS
License: GPL-2.0-or-later
@@ -176,9 +176,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = MicroOS
-Provides: product(MicroOS) = 20210627-0
+Provides: product(MicroOS) = 20210628-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20210627
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20210628
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(MicroOS)
@@ -194,7 +194,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(MicroOS) = 20210627-0
+Provides: product_flavor(MicroOS) = 20210628-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description dvd
@@ -210,7 +210,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(kubic-dvd)
-Provides: product_flavor(MicroOS) = 20210627-0
+Provides: product_flavor(MicroOS) = 20210628-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description kubic-dvd
@@ -226,7 +226,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(MicroOS) = 20210627-0
+Provides: product_flavor(MicroOS) = 20210628-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description appliance
@@ -242,7 +242,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kubic)
-Provides: product_flavor(MicroOS) = 20210627-0
+Provides: product_flavor(MicroOS) = 20210628-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description appliance-kubic
@@ -301,11 +301,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>MicroOS</name>
- <version>20210627</version>
+ <version>20210628</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:microos:20210627</cpeid>
+ <cpeid>cpe:/o:opensuse:microos:20210628</cpeid>
<productline>MicroOS</productline>
<register>
<pool>
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.P0h8MA/_old 2021-06-29 02:25:17.245041349 +0200
+++ /var/tmp/diff_new_pack.P0h8MA/_new 2021-06-29 02:25:17.245041349 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20210627)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20210628)
#
# Copyright (c) 2021 openSUSE.
#
@@ -16,16 +16,16 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
Summary: openSUSE NonOSS Addon%{?betaversion: %{betaversion}}
-Version: 20210627
+Version: 20210628
Release: 0
License: BSD-3-Clause
Group: System/Fhs
Provides: %name-%version
Provides: product() = openSUSE-Addon-NonOss
-Provides: product(openSUSE-Addon-NonOss) = 20210627-0
+Provides: product(openSUSE-Addon-NonOss) = 20210628-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20210627
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20210628
AutoReqProv: on
@@ -49,10 +49,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20210627</version>
+ <version>20210628</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20210627</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20210628</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.P0h8MA/_old 2021-06-29 02:25:17.269041378 +0200
+++ /var/tmp/diff_new_pack.P0h8MA/_new 2021-06-29 02:25:17.273041382 +0200
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20210627
+Version: 20210628
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -178,7 +178,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20210627-0
+Provides: product(openSUSE) = 20210628-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -192,7 +192,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20210627
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20210628
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-url(repository) = http%3A%2F%2Fdownload.opensuse.org%2Ftumbleweed%2Frepo%2Foss%2F
Requires: product_flavor(openSUSE)
@@ -206,7 +206,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description ftp
@@ -221,7 +221,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description mini
@@ -236,7 +236,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description dvd
@@ -251,7 +251,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-kde
@@ -266,7 +266,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-x11
@@ -281,7 +281,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-gnome
@@ -296,7 +296,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-xfce
@@ -311,7 +311,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-kde
@@ -326,7 +326,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-gnome
@@ -341,7 +341,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-x11
@@ -356,7 +356,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance
@@ -371,7 +371,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-docker)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-docker
@@ -386,7 +386,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kvm)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-kvm
@@ -401,7 +401,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vmware)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vmware
@@ -416,7 +416,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-openstack)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-openstack
@@ -431,7 +431,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-hyperv)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-hyperv
@@ -446,7 +446,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vagrant)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vagrant
@@ -461,7 +461,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-wsl)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-wsl
@@ -476,7 +476,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-custom)
-Provides: product_flavor(openSUSE) = 20210627-0
+Provides: product_flavor(openSUSE) = 20210628-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-custom
@@ -551,10 +551,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20210627</version>
+ <version>20210628</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20210627</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20210628</cpeid>
<productline>openSUSE</productline>
<register>
<pool>
++++++ weakremovers.inc ++++++
--- /var/tmp/diff_new_pack.P0h8MA/_old 2021-06-29 02:25:17.401041541 +0200
+++ /var/tmp/diff_new_pack.P0h8MA/_new 2021-06-29 02:25:17.409041551 +0200
@@ -9434,7 +9434,6 @@
Provides: weakremover(libschily-devel)
Provides: weakremover(libschroedinger-1_0-0)
Provides: weakremover(libscintilla-devel)
-Provides: weakremover(libscintilla3)
Provides: weakremover(libscotch0)
Provides: weakremover(libsdbus-c++0)
Provides: weakremover(libseafile0)
@@ -41191,6 +41190,7 @@
Provides: weakremover(libscalapack2_2_0_2-gnu-openmpi2-hpc-devel-static)
Provides: weakremover(libscamperfile0)
Provides: weakremover(libschily1_0)
+Provides: weakremover(libscintilla3)
Provides: weakremover(libsemanage1)
Provides: weakremover(libsepol1)
Provides: weakremover(libsexy-devel)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2021-06-28 21:05:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Mon Jun 28 21:05:54 2021 rev:1721 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory:non-oss_2764.3.packages.xz
factory_20210626.packages.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cbonsai for openSUSE:Factory checked in at 2021-06-28 15:33:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cbonsai (Old)
and /work/SRC/openSUSE:Factory/.cbonsai.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cbonsai"
Mon Jun 28 15:33:49 2021 rev:3 rq:902813 version:1.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/cbonsai/cbonsai.changes 2021-06-11 22:31:29.386215020 +0200
+++ /work/SRC/openSUSE:Factory/.cbonsai.new.2625/cbonsai.changes 2021-06-28 15:34:23.979242664 +0200
@@ -1,0 +2,6 @@
+Mon Jun 28 11:39:56 UTC 2021 - Martin Hauke <mardnh(a)gmx.de>
+
+- Update to version 1.2.1
+ * Update does not provide a changelog
+
+-------------------------------------------------------------------
Old:
----
cbonsai-v1.2.0.tar.bz2
New:
----
cbonsai-v1.2.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cbonsai.spec ++++++
--- /var/tmp/diff_new_pack.enBn4G/_old 2021-06-28 15:34:24.395243175 +0200
+++ /var/tmp/diff_new_pack.enBn4G/_new 2021-06-28 15:34:24.399243179 +0200
@@ -18,7 +18,7 @@
Name: cbonsai
-Version: 1.2.0
+Version: 1.2.1
Release: 0
Summary: A bonsai tree generator for your terminal
License: GPL-3.0-or-later
++++++ cbonsai-v1.2.0.tar.bz2 -> cbonsai-v1.2.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cbonsai-v1.2.0/README.md new/cbonsai-v1.2.1/README.md
--- old/cbonsai-v1.2.0/README.md 2021-05-30 00:49:41.000000000 +0200
+++ new/cbonsai-v1.2.1/README.md 2021-06-28 00:10:11.000000000 +0200
@@ -108,13 +108,13 @@
This is helpful for a situations like the following: let's say you're growing a really big tree, really slowly:
```bash
-$ cbonsai --screensaver --life 40 --multiplier 5 --time 20 --screensaver
+$ cbonsai --life 40 --multiplier 5 --time 20 --screensaver
```
Normally, when you quite `cbonsai` (e.g. by you hitting `q` or `ctrl-c`), you would lose all progress on that tree. However, by specifying `--screensaver`, the tree is automatically saved to a cache file upon quitting. The next time you run that exact same screensaver command:
```bash
-$ cbonsai --screensaver --life 40 --multiplier 5 --time 20 --screensaver
+$ cbonsai --life 40 --multiplier 5 --time 20 --screensaver
```
The tree is automatically loaded from the cache file! And, since infinite mode is automatically turned on, it will finish the cached tree and just keep generating more. When you quit `cbonsai` again, the tree is once again written to the cache file for next time.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cbonsai-v1.2.0/cbonsai.c new/cbonsai-v1.2.1/cbonsai.c
--- old/cbonsai-v1.2.0/cbonsai.c 2021-05-30 00:49:41.000000000 +0200
+++ new/cbonsai-v1.2.1/cbonsai.c 2021-06-28 00:10:11.000000000 +0200
@@ -12,7 +12,6 @@
#include <wchar.h>
#include <ctype.h>
#include <unistd.h>
-#include <wordexp.h>
enum branchType {trunk, shootLeft, shootRight, dying, dead};
@@ -58,6 +57,24 @@
int shootCounter;
};
+void quit(struct config *conf, struct ncursesObjects *objects, int returnCode) {
+ // delete panels
+ del_panel(objects->basePanel);
+ del_panel(objects->treePanel);
+ del_panel(objects->messageBorderPanel);
+ del_panel(objects->messagePanel);
+
+ // delete windows
+ delwin(objects->baseWin);
+ delwin(objects->treeWin);
+ delwin(objects->messageBorderWin);
+ delwin(objects->messageWin);
+
+ free(conf->saveFile);
+ free(conf->loadFile);
+ exit(returnCode);
+}
+
int saveToFile(char* fname, int seed, int branchCount) {
FILE *fp = fopen(fname, "w");
@@ -103,7 +120,7 @@
saveToFile(conf->saveFile, conf->seed, myCounters->branches);
}
-void printHelp(const struct config *conf) {
+void printHelp(void) {
printf("Usage: cbonsai [OPTION]...\n");
printf("\n");
printf("cbonsai is a beautifully random bonsai tree generator.\n");
@@ -111,10 +128,10 @@
printf("Options:\n");
printf(" -l, --live live mode: show each step of growth\n");
printf(" -t, --time=TIME in live mode, wait TIME secs between\n");
- printf(" steps of growth (must be larger than 0) [default: %.2f]\n", conf->timeStep);
+ printf(" steps of growth (must be larger than 0) [default: 0.03]\n");
printf(" -i, --infinite infinite mode: keep growing trees\n");
printf(" -w, --wait=TIME in infinite mode, wait TIME between each tree\n");
- printf(" generation [default: %.2f]\n", conf->timeWait);
+ printf(" generation [default: 4.00]\n");
printf(" -S, --screensaver screensaver mode; equivalent to -li and\n");
printf(" quit on any keypress\n");
printf(" -m, --message=STR attach message next to the tree\n");
@@ -122,12 +139,12 @@
printf(" -c, --leaf=LIST list of comma-delimited strings randomly chosen\n");
printf(" for leaves\n");
printf(" -M, --multiplier=INT branch multiplier; higher -> more\n");
- printf(" branching (0-20) [default: %i]\n", conf->multiplier);
- printf(" -L, --life=INT life; higher -> more growth (0-200) [default: %i]\n", conf->lifeStart);
+ printf(" branching (0-20) [default: 5]\n");
+ printf(" -L, --life=INT life; higher -> more growth (0-200) [default: 32]\n");
printf(" -p, --print print tree to terminal when finished\n");
printf(" -s, --seed=INT seed random number generator\n");
- printf(" -W, --save=FILE save progress to file [default: %s]\n", conf->saveFile);
- printf(" -C, --load=FILE load progress from file [default: %s]\n", conf->loadFile);
+ printf(" -W, --save=FILE save progress to file [default: $XDG_CACHE_HOME/cbonsai or $HOME/.cache/cbonsai]\n");
+ printf(" -C, --load=FILE load progress from file [default: $XDG_CACHE_HOME/cbonsai]\n");
printf(" -v, --verbose increase output verbosity\n");
printf(" -h, --help show help \n");
}
@@ -214,11 +231,12 @@
void roll(int *dice, int mod) { *dice = rand() % mod; }
// check for key press
-void checkKeyPress(const struct config *conf, struct counters *myCounters) {
+int checkKeyPress(const struct config *conf, struct counters *myCounters) {
if ((conf->screensaver && wgetch(stdscr) != ERR) || (wgetch(stdscr) == 'q')) {
finish(conf, myCounters);
- exit(0);
+ return 1;
}
+ return 0;
}
// display changes
@@ -386,7 +404,7 @@
return branchStr;
}
-void branch(const struct config *conf, struct ncursesObjects *objects, struct counters *myCounters, int y, int x, enum branchType type, int life) {
+void branch(struct config *conf, struct ncursesObjects *objects, struct counters *myCounters, int y, int x, enum branchType type, int life) {
myCounters->branches++;
int dx = 0;
int dy = 0;
@@ -394,7 +412,9 @@
int shootCooldown = conf->multiplier;
while (life > 0) {
- checkKeyPress(conf, myCounters);
+ if (checkKeyPress(conf, myCounters) == 1)
+ quit(conf, objects, 0);
+
life--; // decrement remaining life counter
age = conf->lifeStart - life;
@@ -658,7 +678,7 @@
drawMessage(conf, objects, conf->message);
}
-void growTree(const struct config *conf, struct ncursesObjects *objects, struct counters *myCounters) {
+void growTree(struct config *conf, struct ncursesObjects *objects, struct counters *myCounters) {
int maxY, maxX;
getmaxyx(objects->treeWin, maxY, maxX);
@@ -725,23 +745,40 @@
printf("\033[0m\n");
}
-// find homedir for default file location
-void expandWords(char **input) {
- wordexp_t exp_result;
- wordexp(*input, &exp_result, 0);
-
- if (exp_result.we_wordc < 1) {
- printf("error: could not parse filename: %s\n", *input);
- return;
+char* createDefaultCachePath(void) {
+ char* result;
+ size_t envlen;
+ char* toAppend;
+
+ // follow XDG Base Directory Specification for default cache file path
+ const char* env_XDG_CACHE_HOME = getenv("XDG_CACHE_HOME");
+ if (env_XDG_CACHE_HOME && (envlen = strlen(env_XDG_CACHE_HOME))) {
+ toAppend = "/cbonsai";
+
+ // create result buffer
+ result = malloc(envlen + strlen(toAppend) + 1);
+ strncpy(result, env_XDG_CACHE_HOME, envlen);
+ strcpy(result + envlen, toAppend);
+ return result;
}
- char* result = exp_result.we_wordv[0];
-
- size_t bufsize = (strlen(result)*sizeof(char)) + sizeof(char);
- *input = (char *) malloc(bufsize);
- strncpy(*input, result, bufsize - 1);
+ // if we don't have $XDG_CACHE_HOME, try $HOME
+ const char* env_HOME = getenv("HOME");
+ if (env_HOME && (envlen = strlen(env_HOME))) {
+ toAppend = "/.cache/cbonsai";
+
+ // create result buffer
+ result = malloc(envlen + strlen(toAppend) + 1);
+ strncpy(result, env_HOME, envlen);
+ strcpy(result + envlen, toAppend);
+ return result;
+ }
- wordfree(&exp_result);
+ // if we also don't have $HOME, just use ./cbonsai
+ toAppend = "cbonsai";
+ result = malloc(strlen(toAppend) + 1);
+ strcpy(result, toAppend);
+ return result;
}
int main(int argc, char* argv[]) {
@@ -767,8 +804,8 @@
.message = NULL,
.leaves = {0},
- .saveFile = "~/.cache/cbonsai",
- .loadFile = "~/.cache/cbonsai",
+ .saveFile = createDefaultCachePath(),
+ .loadFile = createDefaultCachePath(),
};
struct option long_options[] = {
@@ -807,11 +844,11 @@
if (strtold(optarg, NULL) != 0) conf.timeStep = strtod(optarg, NULL);
else {
printf("error: invalid step time: '%s'\n", optarg);
- exit(1);
+ quit(&conf, &objects, 1);
}
if (conf.timeStep < 0) {
printf("error: invalid step time: '%s'\n", optarg);
- exit(1);
+ quit(&conf, &objects, 1);
}
break;
case 'i':
@@ -821,11 +858,11 @@
if (strtold(optarg, NULL) != 0) conf.timeWait = strtod(optarg, NULL);
else {
printf("error: invalid wait time: '%s'\n", optarg);
- exit(1);
+ quit(&conf, &objects, 1);
}
if (conf.timeWait < 0) {
printf("error: invalid wait time: '%s'\n", optarg);
- exit(1);
+ quit(&conf, &objects, 1);
}
break;
case 'S':
@@ -833,9 +870,7 @@
conf.infinite = 1;
conf.save = 1;
- expandWords(&conf.saveFile);
conf.load = 1;
- expandWords(&conf.loadFile);
conf.screensaver = 1;
break;
@@ -846,7 +881,7 @@
if (strtold(optarg, NULL) != 0) conf.baseType = strtod(optarg, NULL);
else {
printf("error: invalid base index: '%s'\n", optarg);
- exit(1);
+ quit(&conf, &objects, 1);
}
break;
case 'c':
@@ -857,22 +892,22 @@
if (strtold(optarg, NULL) != 0) conf.multiplier = strtod(optarg, NULL);
else {
printf("error: invalid multiplier: '%s'\n", optarg);
- exit(1);
+ quit(&conf, &objects, 1);
}
if (conf.multiplier < 0) {
printf("error: invalid multiplier: '%s'\n", optarg);
- exit(1);
+ quit(&conf, &objects, 1);
}
break;
case 'L':
if (strtold(optarg, NULL) != 0) conf.lifeStart = strtod(optarg, NULL);
else {
printf("error: invalid initial life: '%s'\n", optarg);
- exit(1);
+ quit(&conf, &objects, 1);
}
if (conf.lifeStart < 0) {
printf("error: invalid initial life: '%s'\n", optarg);
- exit(1);
+ quit(&conf, &objects, 1);
}
break;
case 'p':
@@ -882,28 +917,38 @@
if (strtold(optarg, NULL) != 0) conf.seed = strtod(optarg, NULL);
else {
printf("error: invalid seed: '%s'\n", optarg);
- exit(1);
+ quit(&conf, &objects, 1);
}
if (conf.seed < 0) {
printf("error: invalid seed: '%s'\n", optarg);
- exit(1);
+ quit(&conf, &objects, 1);
}
break;
case 'W':
// skip argument if it's actually an option
if (optarg[0] == '-') optind -= 1;
- else conf.saveFile = optarg;
+ else {
+ free(conf.saveFile);
+ size_t bufsize = strlen(optarg) + 1;
+ conf.saveFile = malloc(bufsize);
+ strncpy(conf.saveFile, optarg, bufsize - 1);
+ conf.saveFile[bufsize - 1] = '\0';
+ }
conf.save = 1;
- expandWords(&conf.saveFile);
break;
case 'C':
// skip argument if it's actually an option
if (optarg[0] == '-') optind -= 1;
- else conf.loadFile = optarg;
+ else {
+ free(conf.loadFile);
+ size_t bufsize = strlen(optarg) + 1;
+ conf.loadFile = malloc(bufsize);
+ strncpy(conf.loadFile, optarg, bufsize - 1);
+ conf.loadFile[bufsize - 1] = '\0';
+ }
conf.load = 1;
- expandWords(&conf.loadFile);
break;
case 'v':
conf.verbosity++;
@@ -914,15 +959,13 @@
switch (optopt) {
case 'W':
conf.save = 1;
- expandWords(&conf.saveFile);
break;
case 'C':
conf.load = 1;
- expandWords(&conf.loadFile);
break;
default:
printf("error: option requires an argument -- '%c'\n", optopt);
- printHelp(&conf);
+ printHelp();
return 0;
break;
}
@@ -931,12 +974,12 @@
// invalid option was given
case '?':
printf("error: invalid option -- '%c'\n", optopt);
- printHelp(&conf);
+ printHelp();
return 0;
break;
case 'h':
- printHelp(&conf);
+ printHelp();
return 0;
break;
}
@@ -965,7 +1008,8 @@
if (conf.load) conf.targetBranchCount = 0;
if (conf.infinite) {
timeout(conf.timeWait * 1000);
- checkKeyPress(&conf, &myCounters);
+ if (checkKeyPress(&conf, &myCounters) == 1)
+ quit(&conf, &objects, 0);
// seed random number generator
srand(time(NULL));
@@ -987,11 +1031,5 @@
finish(&conf, &myCounters);
}
- // free window memory
- delwin(objects.baseWin);
- delwin(objects.treeWin);
- delwin(objects.messageBorderWin);
- delwin(objects.messageWin);
-
- return 0;
+ quit(&conf, &objects, 0);
}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package lalpulsar for openSUSE:Factory checked in at 2021-06-28 15:33:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lalpulsar (Old)
and /work/SRC/openSUSE:Factory/.lalpulsar.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lalpulsar"
Mon Jun 28 15:33:48 2021 rev:4 rq:902798 version:3.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/lalpulsar/lalpulsar.changes 2021-04-21 20:59:21.034196726 +0200
+++ /work/SRC/openSUSE:Factory/.lalpulsar.new.2625/lalpulsar.changes 2021-06-28 15:34:22.139240407 +0200
@@ -1,0 +2,7 @@
+Sat Jun 26 22:57:21 UTC 2021 - Atri Bhattacharya <badshah400(a)gmail.com>
+
+- Add lalpulsar-LineRobustStatsTest-array-length.patch: Fix length
+ of array passed to function so that it is consistent with array
+ length in the function definition.
+
+-------------------------------------------------------------------
New:
----
lalpulsar-LineRobustStatsTest-array-length.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lalpulsar.spec ++++++
--- /var/tmp/diff_new_pack.rQRQzI/_old 2021-06-28 15:34:22.991241452 +0200
+++ /var/tmp/diff_new_pack.rQRQzI/_new 2021-06-28 15:34:22.995241457 +0200
@@ -33,6 +33,8 @@
Source: http://software.ligo.org/lscsoft/source/lalsuite/%{name}-%{version}.tar.xz
# PATCH-FIX-UPSTREAM lalpulsar-printf-type-mismatch.patch badshah400(a)gmail.com -- Fix type mismatch when passing variables to printf
Patch0: lalpulsar-printf-type-mismatch.patch
+# PATCH-FIX-UPSTREAM lalpulsar-LineRobustStatsTest-array-length.patch badshah400(a)gmail.com -- Fix array length in a test so that it is consistent with the array length expected by function
+Patch1: lalpulsar-LineRobustStatsTest-array-length.patch
BuildRequires: %{python_module devel}
BuildRequires: %{python_module lal >= 7.1.0}
BuildRequires: %{python_module numpy-devel >= 1.7}
++++++ lalpulsar-LineRobustStatsTest-array-length.patch ++++++
Index: lalpulsar-3.0.1/test/LineRobustStatsTest.c
===================================================================
--- lalpulsar-3.0.1.orig/test/LineRobustStatsTest.c
+++ lalpulsar-3.0.1/test/LineRobustStatsTest.c
@@ -410,7 +410,7 @@ XLALCheckBSGLVectorFunctions ( void )
REAL4 cohFstar0 = 4.37; // 10% false-alarm: invFalseAlarm_chi2 ( 0.1, 4 * 3 ) / 3
UINT4 numDet = 3;
- REAL4 oLtLGX[3] = {0.1, 0.8, 1.5}; /* per-IFO prior odds ratio for line vs. Gaussian noise */
+ REAL4 oLtLGX[PULSAR_MAX_DETECTORS] = {0.1, 0.8, 1.5}; /* per-IFO prior odds ratio for line vs. Gaussian noise */
BSGLSetup *setup_noLogCorr;
BSGLSetup *setup_withLogCorr;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package dbus-broker for openSUSE:Factory checked in at 2021-06-28 15:33:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dbus-broker (Old)
and /work/SRC/openSUSE:Factory/.dbus-broker.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dbus-broker"
Mon Jun 28 15:33:49 2021 rev:12 rq:902808 version:29
Changes:
--------
--- /work/SRC/openSUSE:Factory/dbus-broker/dbus-broker.changes 2021-03-25 14:52:17.784483701 +0100
+++ /work/SRC/openSUSE:Factory/.dbus-broker.new.2625/dbus-broker.changes 2021-06-28 15:34:23.179241682 +0200
@@ -1,0 +2,9 @@
+Wed Jun 2 13:23:40 UTC 2021 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 29
+ * Improve SELinux audit messages.
+ * Linux >=4.17 is now a hard requirement.
+ * Fix startup failures when at-console users have
+ consecutive UIDs.
+
+-------------------------------------------------------------------
Old:
----
dbus-broker-28.tar.xz
New:
----
dbus-broker-29.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dbus-broker.spec ++++++
--- /var/tmp/diff_new_pack.AydOjk/_old 2021-06-28 15:34:23.643242252 +0200
+++ /var/tmp/diff_new_pack.AydOjk/_new 2021-06-28 15:34:23.647242256 +0200
@@ -17,7 +17,7 @@
Name: dbus-broker
-Version: 28
+Version: 29
Release: 0
Summary: XDG-conforming message bus implementation
License: Apache-2.0
@@ -25,16 +25,16 @@
URL: https://github.com/bus1/dbus-broker
Source: https://github.com/bus1/dbus-broker/releases/download/v%version/dbus-broker…
-BuildRequires: linux-glibc-devel >= 4.13
+BuildRequires: linux-glibc-devel >= 4.17
BuildRequires: meson
BuildRequires: pkg-config
BuildRequires: systemd-rpm-macros
-BuildRequires: pkgconfig(audit) >= 2.7
+BuildRequires: pkgconfig(audit) >= 3.0
BuildRequires: pkgconfig(dbus-1) >= 1.10
BuildRequires: pkgconfig(expat) >= 2.2.3
BuildRequires: pkgconfig(glib-2.0) >= 2.50
BuildRequires: pkgconfig(libcap-ng) >= 0.6
-BuildRequires: pkgconfig(libselinux) >= 2.5
+BuildRequires: pkgconfig(libselinux) >= 3.2
BuildRequires: pkgconfig(libsystemd) >= 230
BuildRequires: pkgconfig(systemd) >= 230
Provides: bundled(c-dvar) = 1+
++++++ dbus-broker-28.tar.xz -> dbus-broker-29.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/AUTHORS new/dbus-broker-29/AUTHORS
--- old/dbus-broker-28/AUTHORS 2021-03-17 13:48:38.251243800 +0100
+++ new/dbus-broker-29/AUTHORS 2021-06-02 13:17:08.315670500 +0200
@@ -12,10 +12,10 @@
limitations under the License.
COPYRIGHT: (ordered alphabetically)
- Copyright (C) 2016-2019 Red Hat, Inc.
+ Copyright (C) 2016-2021 Red Hat, Inc.
AUTHORS: (ordered alphabetically)
- Chris Paulson-Ellis
+ Chris Paulson-Ellis <chris.paulson-ellis(a)motorolasolutions.com>
Chris PeBenito <chpebeni(a)linux.microsoft.com>
Daniel Rusek <mail(a)asciiwolf.com>
Daniele Nicolodi <daniele(a)grinta.net>
@@ -28,6 +28,7 @@
Marc-Antoine Perennou <Marc-Antoine(a)Perennou.com>
Michal Schmidt <mschmidt(a)redhat.com>
Mike Gilbert <floppym(a)gentoo.org>
+ Thomas M��hlbacher <tmuehlbacher(a)posteo.net>
Tim Gates <tim.gates(a)iress.com>
Tom Gundersen <teg(a)jklm.no>
Yanko Kaneti <yaneti(a)declera.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/NEWS.md new/dbus-broker-29/NEWS.md
--- old/dbus-broker-28/NEWS.md 2021-03-17 15:50:54.115497000 +0100
+++ new/dbus-broker-29/NEWS.md 2021-06-02 13:16:57.462327000 +0200
@@ -1,8 +1,21 @@
# dbus-broker - Linux D-Bus Message Broker
-## CHANGES WITH 28:
+## CHANGES WITH 29:
+
+ * Improve SELinux audit messages. This requires the new libselinux-3.2
+ and libaudit-3.0 releases. If audit/selinux support is enabled, those
+ are now the minimum required versions.
+
+ * Make linux-4.17 a hard-requirements. Older kernels are no longer
+ supported.
+
+ * Fix startup failures when at-console users have consecutive uids.
- Contributions from: David Rheinsberg
+ Contributions from: Chris PeBenito, David Rheinsberg, Thomas M��hlbacher
+
+ - Du��lingen, 2021-06-02
+
+## CHANGES WITH 28:
* Further improvements to the service activation tracking. This better
tracks units in systemd and closes some races where a repeated
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/README.md new/dbus-broker-29/README.md
--- old/dbus-broker-28/README.md 2021-03-17 12:22:32.748786400 +0100
+++ new/dbus-broker-29/README.md 2021-06-02 13:08:16.022461700 +0200
@@ -31,11 +31,10 @@
The requirements for dbus-broker are:
```
- Linux kernel >= 4.14 (>=4.10 works, but lacks important
- security-related AF_UNIX patches)
+ Linux kernel >= 4.17
glibc >= 2.16
- libaudit >= 2.7 (optional)
- libselinux >= 2.5 (optional)
+ libaudit >= 3.0 (optional)
+ libselinux >= 3.2 (optional)
```
Additionally, the compatibility launcher requires:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/meson.build new/dbus-broker-29/meson.build
--- old/dbus-broker-28/meson.build 2021-03-17 15:51:02.999106200 +0100
+++ new/dbus-broker-29/meson.build 2021-06-02 13:17:28.365688000 +0200
@@ -5,7 +5,7 @@
project(
'dbus-broker',
'c',
- version: '28',
+ version: '29',
license: 'Apache',
default_options: [
'c_std=c11',
@@ -46,7 +46,7 @@
use_audit = get_option('audit')
if use_audit
- dep_libaudit = dependency('audit', version: '>=2.7')
+ dep_libaudit = dependency('audit', version: '>=3.0')
dep_libcapng = dependency('libcap-ng', version: '>=0.6')
endif
@@ -76,14 +76,6 @@
endif
#
-# Config: linux-4-17
-#
-
-require_linux_4_17 = get_option('linux-4-17')
-
-add_project_arguments('-DREQUIRE_LINUX_4_17=' + require_linux_4_17.to_int().to_string(), language: 'c')
-
-#
# Config: reference-test
#
@@ -98,7 +90,7 @@
use_selinux = get_option('selinux')
if use_selinux
- dep_libselinux = dependency('libselinux', version: '>=2.5')
+ dep_libselinux = dependency('libselinux', version: '>=3.2')
endif
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/src/broker/broker.c new/dbus-broker-29/src/broker/broker.c
--- old/dbus-broker-28/src/broker/broker.c 2021-03-17 12:22:32.748786400 +0100
+++ new/dbus-broker-29/src/broker/broker.c 2021-06-02 13:10:19.219018200 +0200
@@ -92,22 +92,16 @@
* return some value. Second, all unlabeled names get this label
* assigned by default. Due to the latter, this seclabel is actually
* referenced in selinux rules, to allow peers to own names.
- * Preferably, we would call SO_PEERSEC on the controller socket.
- * However, this used to return the 'unlabeled_t' entry for socketpairs
- * until kernel v4.17. From v4.17 onwards it now returns the correct
- * label. There is no way to detect this at runtime, though. Hence, we
- * have to run the fallback as long as we do not have v4.17 as
- * hard-requirement.
+ * We use SO_PEERSEC on the controller socket to get this label.
+ * However, note that this used to return the 'unlabeled_t' entry for
+ * socketpairs until kernel v4.17. From v4.17 onwards it now returns
+ * the correct label. There is no way to detect this at runtime,
+ * though. We hard-require 4.17. If you use older kernels, you will get
+ * selinux denials.
*/
- if (REQUIRE_LINUX_4_17) {
- r = sockopt_get_peersec(controller_fd, &broker->bus.seclabel, &broker->bus.n_seclabel);
- if (r)
- return error_fold(r);
- } else {
- r = proc_get_seclabel(ucred.pid, &broker->bus.seclabel, &broker->bus.n_seclabel);
- if (r)
- return error_fold(r);
- }
+ r = sockopt_get_peersec(controller_fd, &broker->bus.seclabel, &broker->bus.n_seclabel);
+ if (r)
+ return error_fold(r);
r = sockopt_get_peergroups(controller_fd,
&broker->log,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/src/catalog/dbus-broker.catalog new/dbus-broker-29/src/catalog/dbus-broker.catalog
--- old/dbus-broker-28/src/catalog/dbus-broker.catalog 2021-03-17 12:22:32.762120000 +0100
+++ new/dbus-broker-29/src/catalog/dbus-broker.catalog 2021-04-13 14:02:46.364546300 +0200
@@ -36,7 +36,7 @@
Defined-By: dbus-broker
Support: https://groups.google.com/forum/#!forum/bus1-devel
-The peer @DBUS_BROKER_SENDER_UNIQUE_NAME@ attempted to vioalet the protocol
+The peer @DBUS_BROKER_SENDER_UNIQUE_NAME@ attempted to violate the protocol
and is therefore disconnected.
-- 6fa70fa776044fa28be7a21daf42a108
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/src/launch/nss-cache.c new/dbus-broker-29/src/launch/nss-cache.c
--- old/dbus-broker-28/src/launch/nss-cache.c 2021-03-17 13:48:38.281244000 +0100
+++ new/dbus-broker-29/src/launch/nss-cache.c 2021-03-18 11:22:48.466602800 +0100
@@ -493,22 +493,23 @@
int nss_cache_resolve_system_console_users(NSSCache *nss_cache, uint32_t **uidsp, size_t *n_uidsp) {
static const char * const usernames[] = { SYSTEM_CONSOLE_USERS };
+ static const size_t n_usernames = C_ARRAY_SIZE(usernames);
_c_cleanup_(c_freep) uint32_t *uids = NULL;
size_t i, n_uids = 0;
uid_t uid;
int r;
- if (!C_ARRAY_SIZE(usernames)) {
+ if (!n_usernames) {
*uidsp = NULL;
*n_uidsp = 0;
return 0;
}
- uids = calloc(C_ARRAY_SIZE(usernames), sizeof(*uids));
+ uids = calloc(n_usernames, sizeof(*uids));
if (!uids)
return error_origin(-ENOMEM);
- for (i = 0; i < C_ARRAY_SIZE(usernames); ++i) {
+ for (i = 0; i < n_usernames; ++i) {
r = nss_cache_get_uid(nss_cache, &uid, NULL, usernames[i]);
if (r) {
if (r == NSS_CACHE_E_INVALID_NAME)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/src/launch/policy.c new/dbus-broker-29/src/launch/policy.c
--- old/dbus-broker-28/src/launch/policy.c 2021-03-17 12:22:32.768787000 +0100
+++ new/dbus-broker-29/src/launch/policy.c 2021-03-18 12:13:09.909788800 +0100
@@ -934,7 +934,8 @@
static int policy_export_console(Policy *policy, sd_bus_message *m, PolicyEntries *entries, uint32_t uid_start, uint32_t n_uid) {
int r;
- c_assert(((uint32_t)-1) - n_uid + 1 >= uid_start);
+ /* check for overflow */
+ c_assert(n_uid == 0 || uid_start + n_uid - 1 >= uid_start);
if (n_uid == 0)
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/src/util/audit.c new/dbus-broker-29/src/util/audit.c
--- old/dbus-broker-28/src/util/audit.c 2021-03-17 13:58:11.058914400 +0100
+++ new/dbus-broker-29/src/util/audit.c 2021-04-13 14:02:46.364546300 +0200
@@ -108,6 +108,12 @@
case UTIL_AUDIT_TYPE_AVC:
audit_type = AUDIT_USER_AVC;
break;
+ case UTIL_AUDIT_TYPE_POLICYLOAD:
+ audit_type = AUDIT_USER_MAC_POLICY_LOAD;
+ break;
+ case UTIL_AUDIT_TYPE_MAC_STATUS:
+ audit_type = AUDIT_USER_MAC_STATUS;
+ break;
case UTIL_AUDIT_TYPE_NOAUDIT:
default:
audit_type = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/src/util/audit.h new/dbus-broker-29/src/util/audit.h
--- old/dbus-broker-28/src/util/audit.h 2021-03-17 13:58:11.058914400 +0100
+++ new/dbus-broker-29/src/util/audit.h 2021-04-13 14:02:46.364546300 +0200
@@ -10,6 +10,8 @@
enum {
UTIL_AUDIT_TYPE_NOAUDIT,
UTIL_AUDIT_TYPE_AVC,
+ UTIL_AUDIT_TYPE_POLICYLOAD,
+ UTIL_AUDIT_TYPE_MAC_STATUS,
};
int util_audit_drop_permissions(uint32_t uid, uint32_t gid);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/src/util/selinux.c new/dbus-broker-29/src/util/selinux.c
--- old/dbus-broker-28/src/util/selinux.c 2021-03-17 13:58:11.058914400 +0100
+++ new/dbus-broker-29/src/util/selinux.c 2021-04-13 14:02:46.364546300 +0200
@@ -300,6 +300,12 @@
case SELINUX_AVC:
audit_type = UTIL_AUDIT_TYPE_AVC;
break;
+ case SELINUX_POLICYLOAD:
+ audit_type = UTIL_AUDIT_TYPE_POLICYLOAD;
+ break;
+ case SELINUX_SETENFORCE:
+ audit_type = UTIL_AUDIT_TYPE_MAC_STATUS;
+ break;
default:
/* not an auditable message. */
audit_type = UTIL_AUDIT_TYPE_NOAUDIT;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-dvar/AUTHORS new/dbus-broker-29/subprojects/c-dvar/AUTHORS
--- old/dbus-broker-28/subprojects/c-dvar/AUTHORS 2021-03-17 12:22:45.762383200 +0100
+++ new/dbus-broker-29/subprojects/c-dvar/AUTHORS 2021-04-13 14:01:42.414003100 +0200
@@ -30,8 +30,9 @@
along with this program; If not, see <http://www.gnu.org/licenses/>.
COPYRIGHT: (ordered alphabetically)
- Copyright (C) 2015-2019 Red Hat, Inc.
+ Copyright (C) 2015-2021 Red Hat, Inc.
AUTHORS: (ordered alphabetically)
+ Adrian Szyndela <adrian.s(a)samsung.com>
David Rheinsberg <david.rheinsberg(a)gmail.com>
Tom Gundersen <teg(a)jklm.no>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-dvar/src/c-dvar-reader.c new/dbus-broker-29/subprojects/c-dvar/src/c-dvar-reader.c
--- old/dbus-broker-28/subprojects/c-dvar/src/c-dvar-reader.c 2021-03-17 12:22:45.762383200 +0100
+++ new/dbus-broker-29/subprojects/c-dvar/src/c-dvar-reader.c 2021-04-13 14:01:42.414003100 +0200
@@ -426,17 +426,14 @@
}
static int c_dvar_ff(CDVar *var) {
- size_t depth = 0;
+ size_t t, depth = 0;
char c;
int r;
- if (!var->current->n_type)
- return -ENOTRECOVERABLE;
-
do {
if (var->current->n_type && (var->current->container != 'a' || c_dvar_more(var))) {
c = var->current->i_type->element;
- } else {
+ } else if (depth > 0) {
switch (var->current->container) {
case 'a':
c = ']';
@@ -453,6 +450,13 @@
default:
return -ENOTRECOVERABLE;
}
+ } else {
+ /*
+ * You cannot fast-forward if you are at the end of a
+ * compound type, or past the last element of an array.
+ * There is nothing to skip.
+ */
+ return -ENOTRECOVERABLE;
}
switch (c) {
@@ -480,6 +484,32 @@
assert(depth > 0);
--depth;
break;
+ case 'y':
+ case 'n':
+ case 'q':
+ case 'i':
+ case 'h':
+ case 'u':
+ case 'x':
+ case 't':
+ case 'd':
+ /*
+ * If we are skipping an entire array with a fixed size
+ * member, we can jump over all members in one go. Note
+ * that this only works if the member does not need any
+ * validation (this excludes 'b' and any non-basic
+ * type), because callers rely on this function to
+ * check for content validity.
+ */
+ if (depth > 0 && var->current->container == 'a') {
+ t = var->current->n_buffer % var->current->i_type->size;
+ var->current->i_buffer += var->current->n_buffer - t;
+ var->current->n_buffer = t;
+
+ c = ']';
+ --depth;
+ }
+ break;
}
r = c_dvar_read(var, (char [2]){ c, 0 }, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-dvar/src/test-basic.c new/dbus-broker-29/subprojects/c-dvar/src/test-basic.c
--- old/dbus-broker-28/subprojects/c-dvar/src/test-basic.c 2021-03-17 12:22:45.765716600 +0100
+++ new/dbus-broker-29/subprojects/c-dvar/src/test-basic.c 2021-04-13 14:01:42.414003100 +0200
@@ -196,10 +196,98 @@
free(data);
}
+static void test_skip(void) {
+ _c_cleanup_(c_dvar_type_freep) CDVarType *type = NULL;
+ _c_cleanup_(c_dvar_freep) CDVar *var = NULL;
+ size_t n_data;
+ void *data;
+ uint64_t t0, t1;
+ int r;
+
+ /*
+ * A very basic serialization and deserialization test that serves as
+ * base-line for reader/writer operation testing.
+ *
+ * We simply allocate and build a variant of a fixed type, then read it
+ * back and verify the data matches.
+ */
+
+ r = c_dvar_type_new_from_string(&type, "at");
+ c_assert(!r);
+
+ r = c_dvar_new(&var);
+ c_assert(!r);
+
+ /* write example data */
+
+ c_dvar_begin_write(var, (__BYTE_ORDER == __BIG_ENDIAN), type, 1);
+
+ c_dvar_write(var, "[tt]", UINT64_C(7), UINT64_C(127));
+
+ r = c_dvar_end_write(var, &data, &n_data);
+ c_assert(!r);
+
+ /* read back example data */
+
+ c_dvar_begin_read(var, c_dvar_is_big_endian(var), type, 1, data, n_data);
+
+ c_dvar_read(var, "[tt]", &t0, &t1);
+ c_assert(t0 == 7);
+ c_assert(t1 == 127);
+
+ r = c_dvar_end_read(var);
+ c_assert(!r);
+
+ /* skip example data */
+
+ c_dvar_begin_read(var, c_dvar_is_big_endian(var), type, 1, data, n_data);
+
+ c_dvar_skip(var, "*");
+
+ r = c_dvar_end_read(var);
+ c_assert(!r);
+
+ /* skip single array member */
+
+ c_dvar_begin_read(var, c_dvar_is_big_endian(var), type, 1, data, n_data);
+
+ c_dvar_skip(var, "[*t]");
+
+ r = c_dvar_end_read(var);
+ c_assert(!r);
+
+ /* skip both array members */
+
+ c_dvar_begin_read(var, c_dvar_is_big_endian(var), type, 1, data, n_data);
+
+ c_dvar_skip(var, "[**]");
+
+ r = c_dvar_end_read(var);
+ c_assert(!r);
+
+ /* skip past last member */
+
+ c_dvar_begin_read(var, c_dvar_is_big_endian(var), type, 1, data, n_data);
+
+ c_dvar_skip(var, "[tt*");
+ c_assert(c_dvar_get_poison(var) == -ENOTRECOVERABLE);
+
+ /* skip past array */
+
+ c_dvar_begin_read(var, c_dvar_is_big_endian(var), type, 1, data, n_data);
+
+ c_dvar_skip(var, "[tt]*");
+ c_assert(c_dvar_get_poison(var) == -ENOTRECOVERABLE);
+
+ c_dvar_end_read(var);
+ free(data);
+}
+
int main(int argc, char **argv) {
test_basic_serialization(true);
test_basic_serialization(false);
test_dbus_message();
test_dbus_body();
+ test_skip();
return 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-list/.github/workflows/ci.yml new/dbus-broker-29/subprojects/c-list/.github/workflows/ci.yml
--- old/dbus-broker-28/subprojects/c-list/.github/workflows/ci.yml 2021-03-17 12:22:45.859051700 +0100
+++ new/dbus-broker-29/subprojects/c-list/.github/workflows/ci.yml 2021-04-13 14:01:43.727347600 +0200
@@ -19,3 +19,30 @@
with:
m32: 1
valgrind: 1
+
+ ci-msvc:
+ name: CI with MSVC
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [windows-2016, windows-latest]
+
+ steps:
+ - name: Fetch Sources
+ uses: actions/checkout@v2
+ - name: Setup Python
+ uses: actions/setup-python@v2
+ with:
+ python-version: '3.x'
+ - name: Install Python Dependencies
+ run: pip install meson ninja
+ - name: Prepare MSVC
+ uses: bus1/cabuild/action/msdevshell@v1
+ with:
+ architecture: x64
+ - name: Prepare Build
+ run: meson setup build
+ - name: Run Build
+ run: meson compile -v -C build
+ - name: Run Test Suite
+ run: meson test -v -C build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-list/AUTHORS new/dbus-broker-29/subprojects/c-list/AUTHORS
--- old/dbus-broker-28/subprojects/c-list/AUTHORS 2021-03-17 12:22:45.859051700 +0100
+++ new/dbus-broker-29/subprojects/c-list/AUTHORS 2021-04-13 14:01:43.727347600 +0200
@@ -33,6 +33,8 @@
Copyright (C) 2015-2019 Red Hat, Inc.
AUTHORS: (ordered alphabetically)
+ Danilo Horta <danilo.horta(a)pm.me>
David Rheinsberg <david.rheinsberg(a)gmail.com>
+ Lucas De Marchi <lucas.de.marchi(a)gmail.com>
Thomas Haller <thaller(a)redhat.com>
Tom Gundersen <teg(a)jklm.no>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-list/meson.build new/dbus-broker-29/subprojects/c-list/meson.build
--- old/dbus-broker-28/subprojects/c-list/meson.build 2021-03-17 12:22:45.859051700 +0100
+++ new/dbus-broker-29/subprojects/c-list/meson.build 2021-04-13 14:01:43.727347600 +0200
@@ -4,7 +4,7 @@
version: '3',
license: 'Apache',
default_options: [
- 'c_std=c11',
+ 'c_std=c99',
],
)
project_description = 'Circular Intrusive Double Linked List Collection'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-list/src/c-list.h new/dbus-broker-29/subprojects/c-list/src/c-list.h
--- old/dbus-broker-28/subprojects/c-list/src/c-list.h 2021-03-17 12:22:45.859051700 +0100
+++ new/dbus-broker-29/subprojects/c-list/src/c-list.h 2021-04-13 14:01:43.727347600 +0200
@@ -22,6 +22,7 @@
#endif
#include <stddef.h>
+#include <stdint.h>
typedef struct CList CList;
@@ -50,9 +51,42 @@
/**
* c_list_init() - initialize list entry
* @what: list entry to initialize
+ *
+ * Return: @what is returned.
*/
-static inline void c_list_init(CList *what) {
+static inline CList *c_list_init(CList *what) {
*what = (CList)C_LIST_INIT(*what);
+ return what;
+}
+
+/**
+ * c_list_entry_offset() - get parent container of list entry
+ * @what: list entry, or NULL
+ * @offset: offset of the list member in its surrounding type
+ *
+ * If the list entry @what is embedded into a surrounding structure, this will
+ * turn the list entry pointer @what into a pointer to the parent container
+ * (sometimes called container_of(3)). Use the `c_list_entry()` macro for an
+ * easier API.
+ *
+ * If @what is NULL, this will also return NULL.
+ *
+ * Return: Pointer to parent container, or NULL.
+ */
+static inline void *c_list_entry_offset(const CList *what, size_t offset) {
+ if (what) {
+ /*
+ * We allow calling "c_list_entry()" on the list head, which is
+ * commonly a plain CList struct. The returned entry pointer is
+ * thus invalid. For instance, this is used by the
+ * c_list_for_each_entry*() macros. Gcc correctly warns about that
+ * with "-Warray-bounds". However, as long as the value is never
+ * dereferenced, this is fine. We explicitly use integer arithmetic
+ * to circumvent the Gcc warning.
+ */
+ return (void *)(((uintptr_t)(void *)what) - offset);
+ }
+ return NULL;
}
/**
@@ -70,8 +104,7 @@
* Return: Pointer to parent container, or NULL.
*/
#define c_list_entry(_what, _t, _m) \
- ((_t *)(void *)(((unsigned long)(void *)(_what) ?: \
- offsetof(_t, _m)) - offsetof(_t, _m)))
+ ((_t *)c_list_entry_offset((_what), offsetof(_t, _m)))
/**
* c_list_is_linked() - check whether an entry is linked
@@ -306,32 +339,47 @@
* state.
*/
+/* direct/raw iterators */
+
#define c_list_for_each(_iter, _list) \
for (_iter = (_list)->next; \
(_iter) != (_list); \
_iter = (_iter)->next)
-#define c_list_for_each_entry(_iter, _list, _m) \
- for (_iter = c_list_entry((_list)->next, __typeof__(*_iter), _m); \
- &(_iter)->_m != (_list); \
- _iter = c_list_entry((_iter)->_m.next, __typeof__(*_iter), _m))
-
#define c_list_for_each_safe(_iter, _safe, _list) \
for (_iter = (_list)->next, _safe = (_iter)->next; \
(_iter) != (_list); \
_iter = (_safe), _safe = (_safe)->next)
+#define c_list_for_each_continue(_iter, _list) \
+ for (_iter = (_iter) ? (_iter)->next : (_list)->next; \
+ (_iter) != (_list); \
+ _iter = (_iter)->next)
+
+#define c_list_for_each_safe_continue(_iter, _safe, _list) \
+ for (_iter = (_iter) ? (_iter)->next : (_list)->next, \
+ _safe = (_iter)->next; \
+ (_iter) != (_list); \
+ _iter = (_safe), _safe = (_safe)->next)
+
+#define c_list_for_each_safe_unlink(_iter, _safe, _list) \
+ for (_iter = (_list)->next, _safe = (_iter)->next; \
+ c_list_init(_iter) != (_list); \
+ _iter = (_safe), _safe = (_safe)->next)
+
+/* c_list_entry() based iterators */
+
+#define c_list_for_each_entry(_iter, _list, _m) \
+ for (_iter = c_list_entry((_list)->next, __typeof__(*_iter), _m); \
+ &(_iter)->_m != (_list); \
+ _iter = c_list_entry((_iter)->_m.next, __typeof__(*_iter), _m))
+
#define c_list_for_each_entry_safe(_iter, _safe, _list, _m) \
for (_iter = c_list_entry((_list)->next, __typeof__(*_iter), _m), \
_safe = c_list_entry((_iter)->_m.next, __typeof__(*_iter), _m); \
&(_iter)->_m != (_list); \
_iter = (_safe), \
- _safe = c_list_entry((_safe)->_m.next, __typeof__(*_iter), _m)) \
-
-#define c_list_for_each_continue(_iter, _list) \
- for (_iter = (_iter) ? (_iter)->next : (_list)->next; \
- (_iter) != (_list); \
- _iter = (_iter)->next)
+ _safe = c_list_entry((_safe)->_m.next, __typeof__(*_iter), _m))
#define c_list_for_each_entry_continue(_iter, _list, _m) \
for (_iter = c_list_entry((_iter) ? (_iter)->_m.next : (_list)->next, \
@@ -340,12 +388,6 @@
&(_iter)->_m != (_list); \
_iter = c_list_entry((_iter)->_m.next, __typeof__(*_iter), _m))
-#define c_list_for_each_safe_continue(_iter, _safe, _list) \
- for (_iter = (_iter) ? (_iter)->next : (_list)->next, \
- _safe = (_iter)->next; \
- (_iter) != (_list); \
- _iter = (_safe), _safe = (_safe)->next)
-
#define c_list_for_each_entry_safe_continue(_iter, _safe, _list, _m) \
for (_iter = c_list_entry((_iter) ? (_iter)->_m.next : (_list)->next, \
__typeof__(*_iter), \
@@ -353,20 +395,14 @@
_safe = c_list_entry((_iter)->_m.next, __typeof__(*_iter), _m); \
&(_iter)->_m != (_list); \
_iter = (_safe), \
- _safe = c_list_entry((_safe)->_m.next, __typeof__(*_iter), _m)) \
-
-#define c_list_for_each_safe_unlink(_iter, _safe, _list) \
- for (_iter = (_list)->next, _safe = (_iter)->next; \
- ((*_iter = (CList)C_LIST_INIT(*_iter)), (_iter) != (_list)); \
- _iter = (_safe), _safe = (_safe)->next)
+ _safe = c_list_entry((_safe)->_m.next, __typeof__(*_iter), _m))
#define c_list_for_each_entry_safe_unlink(_iter, _safe, _list, _m) \
for (_iter = c_list_entry((_list)->next, __typeof__(*_iter), _m), \
_safe = c_list_entry((_iter)->_m.next, __typeof__(*_iter), _m); \
- (((_iter)->_m = (CList)C_LIST_INIT((_iter)->_m)), \
- &(_iter)->_m != (_list)); \
+ c_list_init(&(_iter)->_m) != (_list); \
_iter = (_safe), \
- _safe = c_list_entry((_safe)->_m.next, __typeof__(*_iter), _m)) \
+ _safe = c_list_entry((_safe)->_m.next, __typeof__(*_iter), _m))
/**
* c_list_flush() - flush all entries from a list
@@ -402,8 +438,8 @@
*
* Return: Number of items in @list.
*/
-static inline unsigned long c_list_length(const CList *list) {
- unsigned long n = 0;
+static inline size_t c_list_length(const CList *list) {
+ size_t n = 0;
const CList *iter;
c_list_for_each(iter, list)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-list/src/test-api.c new/dbus-broker-29/subprojects/c-list/src/test-api.c
--- old/dbus-broker-28/subprojects/c-list/src/test-api.c 2021-03-17 12:22:45.862385300 +0100
+++ new/dbus-broker-29/subprojects/c-list/src/test-api.c 2021-04-13 14:01:43.727347600 +0200
@@ -18,8 +18,11 @@
static void test_api(void) {
CList *list_iter, *list_safe, list = C_LIST_INIT(list);
- Node *node_iter, *node_safe, node = { .id = 0, .link = C_LIST_INIT(node.link) };
+ Node node = { .id = 0, .link = C_LIST_INIT(node.link) };
+ assert(c_list_init(&list) == &list);
+ assert(!c_list_entry_offset(NULL, 0));
+ assert(!c_list_entry_offset(NULL, offsetof(Node, link)));
assert(!c_list_entry(NULL, Node, link));
assert(c_list_entry(&node.link, Node, link) == &node);
assert(!c_list_is_linked(&node.link));
@@ -73,28 +76,24 @@
c_list_splice(&list, &list);
assert(c_list_is_empty(&list));
- /* loop macros */
+ /* direct/raw iterators */
c_list_for_each(list_iter, &list)
assert(list_iter != &list);
- c_list_for_each_entry(node_iter, &list, link)
- assert(&node_iter->link != &list);
+
c_list_for_each_safe(list_iter, list_safe, &list)
assert(list_iter != &list);
- c_list_for_each_entry_safe(node_iter, node_safe, &list, link)
- assert(&node_iter->link != &list);
+
+ list_iter = NULL;
c_list_for_each_continue(list_iter, &list)
assert(list_iter != &list);
- c_list_for_each_entry_continue(node_iter, &list, link)
- assert(&node_iter->link != &list);
+
+ list_iter = NULL;
c_list_for_each_safe_continue(list_iter, list_safe, &list)
assert(list_iter != &list);
- c_list_for_each_entry_safe_continue(node_iter, node_safe, &list, link)
- assert(&node_iter->link != &list);
+
c_list_for_each_safe_unlink(list_iter, list_safe, &list)
assert(list_iter != &list);
- c_list_for_each_entry_safe_unlink(node_iter, node_safe, &list, link)
- assert(&node_iter->link != &list);
/* list accessors */
@@ -104,7 +103,37 @@
assert(!c_list_last_entry(&list, Node, link));
}
-int main(int argc, char **argv) {
+#if defined(__GNUC__) || defined(__clang__)
+static void test_api_gnu(void) {
+ CList list = C_LIST_INIT(list);
+ Node *node_iter, *node_safe;
+
+ /* c_list_entry() based iterators */
+
+ c_list_for_each_entry(node_iter, &list, link)
+ assert(&node_iter->link != &list);
+
+ c_list_for_each_entry_safe(node_iter, node_safe, &list, link)
+ assert(&node_iter->link != &list);
+
+ node_iter = NULL;
+ c_list_for_each_entry_continue(node_iter, &list, link)
+ assert(&node_iter->link != &list);
+
+ node_iter = NULL;
+ c_list_for_each_entry_safe_continue(node_iter, node_safe, &list, link)
+ assert(&node_iter->link != &list);
+
+ c_list_for_each_entry_safe_unlink(node_iter, node_safe, &list, link)
+ assert(&node_iter->link != &list);
+}
+#else
+static void test_api_gnu(void) {
+}
+#endif
+
+int main(void) {
test_api();
+ test_api_gnu();
return 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-list/src/test-basic.c new/dbus-broker-29/subprojects/c-list/src/test-basic.c
--- old/dbus-broker-28/subprojects/c-list/src/test-basic.c 2021-03-17 12:22:49.962468100 +0100
+++ new/dbus-broker-29/subprojects/c-list/src/test-basic.c 2021-04-13 14:01:43.727347600 +0200
@@ -160,17 +160,16 @@
static void test_flush(void) {
CList e1 = C_LIST_INIT(e1), e2 = C_LIST_INIT(e2);
+ CList list1 = C_LIST_INIT(list1), list2 = C_LIST_INIT(list2);
- {
- __attribute__((__cleanup__(c_list_flush))) CList list1 = C_LIST_INIT(list1);
- __attribute__((__cleanup__(c_list_flush))) CList list2 = C_LIST_INIT(list2);
+ c_list_link_tail(&list2, &e1);
+ c_list_link_tail(&list2, &e2);
- c_list_link_tail(&list2, &e1);
- c_list_link_tail(&list2, &e2);
+ assert(c_list_is_linked(&e1));
+ assert(c_list_is_linked(&e2));
- assert(c_list_is_linked(&e1));
- assert(c_list_is_linked(&e2));
- }
+ c_list_flush(&list1);
+ c_list_flush(&list2);
assert(!c_list_is_linked(&e1));
assert(!c_list_is_linked(&e2));
@@ -193,11 +192,36 @@
}
}
-int main(int argc, char **argv) {
+#if defined(__GNUC__) || defined(__clang__)
+static void test_gnu(void) {
+ CList e1 = C_LIST_INIT(e1), e2 = C_LIST_INIT(e2);
+
+ /* Test `c_list_flush()` in combination with cleanup attributes. */
+ {
+ __attribute((cleanup(c_list_flush))) CList list1 = C_LIST_INIT(list1);
+ __attribute((cleanup(c_list_flush))) CList list2 = C_LIST_INIT(list2);
+
+ c_list_link_tail(&list2, &e1);
+ c_list_link_tail(&list2, &e2);
+
+ assert(c_list_is_linked(&e1));
+ assert(c_list_is_linked(&e2));
+ }
+
+ assert(!c_list_is_linked(&e1));
+ assert(!c_list_is_linked(&e2));
+}
+#else
+static void test_gnu(void) {
+}
+#endif
+
+int main(void) {
test_iterators();
test_swap();
test_splice();
test_flush();
test_macros();
+ test_gnu();
return 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-list/src/test-embed.c new/dbus-broker-29/subprojects/c-list/src/test-embed.c
--- old/dbus-broker-28/subprojects/c-list/src/test-embed.c 2021-03-17 12:22:45.862385300 +0100
+++ new/dbus-broker-29/subprojects/c-list/src/test-embed.c 2021-04-13 14:01:43.727347600 +0200
@@ -23,7 +23,8 @@
Entry e2 = { .foo = 2 * 7, .bar = 2 * 11 };
Entry e3 = { .foo = 3 * 7, .bar = 3 * 11 };
Entry e4 = { .foo = 4 * 7, .bar = 4 * 11 };
- Entry *e, *safe;
+ Entry *e;
+ CList *iter, *safe;
size_t i;
/* verify c_list_entry() works as expected (even with NULL) */
@@ -47,7 +48,8 @@
assert(c_list_last_entry(&list, Entry, link)->bar == 2 * 11);
i = 0;
- c_list_for_each_entry(e, &list, link) {
+ c_list_for_each(iter, &list) {
+ e = c_list_entry(iter, Entry, link);
assert(i != 0 || e == &e1);
assert(i != 1 || e == &e2);
assert(i < 2);
@@ -66,6 +68,63 @@
assert(c_list_last_entry(&list, Entry, link)->bar == 4 * 11);
i = 0;
+ c_list_for_each(iter, &list) {
+ e = c_list_entry(iter, Entry, link);
+ assert(i != 0 || e == &e1);
+ assert(i != 1 || e == &e2);
+ assert(i != 2 || e == &e3);
+ assert(i != 3 || e == &e4);
+ assert(i < 4);
+ ++i;
+ }
+ assert(i == 4);
+
+ assert(!c_list_is_empty(&list));
+ assert(c_list_is_linked(&e1.link));
+ assert(c_list_is_linked(&e2.link));
+ assert(c_list_is_linked(&e3.link));
+ assert(c_list_is_linked(&e4.link));
+
+ /* remove via safe iterator */
+
+ i = 0;
+ c_list_for_each_safe(iter, safe, &list) {
+ e = c_list_entry(iter, Entry, link);
+ assert(i != 0 || e == &e1);
+ assert(i != 1 || e == &e2);
+ assert(i != 2 || e == &e3);
+ assert(i != 3 || e == &e4);
+ assert(i < 4);
+ ++i;
+ c_list_unlink(&e->link);
+ }
+ assert(i == 4);
+
+ assert(c_list_is_empty(&list));
+ assert(!c_list_is_linked(&e1.link));
+ assert(!c_list_is_linked(&e2.link));
+ assert(!c_list_is_linked(&e3.link));
+ assert(!c_list_is_linked(&e4.link));
+}
+
+#if defined(__GNUC__) || defined(__clang__)
+static void test_entry_gnu(void) {
+ CList list = C_LIST_INIT(list);
+ Entry e1 = { .foo = 1 * 7, .bar = 1 * 11 };
+ Entry e2 = { .foo = 2 * 7, .bar = 2 * 11 };
+ Entry e3 = { .foo = 3 * 7, .bar = 3 * 11 };
+ Entry e4 = { .foo = 4 * 7, .bar = 4 * 11 };
+ Entry *e, *safe;
+ size_t i;
+
+ /* link entries and verify list state */
+
+ c_list_link_tail(&list, &e1.link);
+ c_list_link_tail(&list, &e2.link);
+ c_list_link_tail(&list, &e3.link);
+ c_list_link_tail(&list, &e4.link);
+
+ i = 0;
c_list_for_each_entry(e, &list, link) {
assert(i != 0 || e == &e1);
assert(i != 1 || e == &e2);
@@ -102,8 +161,13 @@
assert(!c_list_is_linked(&e3.link));
assert(!c_list_is_linked(&e4.link));
}
+#else
+static void test_entry_gnu(void) {
+}
+#endif
-int main(int argc, char **argv) {
+int main(void) {
test_entry();
+ test_entry_gnu();
return 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-stdaux/src/test-api.c new/dbus-broker-29/subprojects/c-stdaux/src/test-api.c
--- old/dbus-broker-28/subprojects/c-stdaux/src/test-api.c 2021-03-17 12:22:51.732504000 +0100
+++ new/dbus-broker-29/subprojects/c-stdaux/src/test-api.c 2021-03-18 11:21:06.821794700 +0100
@@ -11,8 +11,10 @@
static _c_const_ int const_fn(void) { return 0; }
static _c_deprecated_ _c_unused_ int deprecated_fn(void) { return 0; }
+_c_hidden_ int c_internal_hidden_fn(void);
_c_hidden_ int c_internal_hidden_fn(void) { return 0; }
static _c_printf_(1, 2) int printf_fn(const _c_unused_ char *f, ...) { return 0; }
+_c_public_ int c_internal_public_fn(void);
_c_public_ int c_internal_public_fn(void) { return 0; }
static _c_pure_ int pure_fn(void) { return 0; }
static _c_sentinel_ int sentinel_fn(const _c_unused_ char *f, ...) { return 0; }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-utf8/src/bench-ascii.c new/dbus-broker-29/subprojects/c-utf8/src/bench-ascii.c
--- old/dbus-broker-28/subprojects/c-utf8/src/bench-ascii.c 2021-03-17 12:22:46.045722200 +0100
+++ new/dbus-broker-29/subprojects/c-utf8/src/bench-ascii.c 2021-03-18 11:21:07.515138100 +0100
@@ -13,7 +13,7 @@
#include "c-utf8.h"
#include "trivial-utf8.h"
-uint64_t test_get_time(void) {
+static uint64_t test_get_time(void) {
struct timespec ts;
int r;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dbus-broker-28/subprojects/c-utf8/src/bench-multibyte.c new/dbus-broker-29/subprojects/c-utf8/src/bench-multibyte.c
--- old/dbus-broker-28/subprojects/c-utf8/src/bench-multibyte.c 2021-03-17 12:22:46.045722200 +0100
+++ new/dbus-broker-29/subprojects/c-utf8/src/bench-multibyte.c 2021-03-18 11:21:07.515138100 +0100
@@ -13,7 +13,7 @@
#include "c-utf8.h"
#include "trivial-utf8.h"
-uint64_t test_get_time(void) {
+static uint64_t test_get_time(void) {
struct timespec ts;
int r;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nut for openSUSE:Factory checked in at 2021-06-28 15:33:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nut (Old)
and /work/SRC/openSUSE:Factory/.nut.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nut"
Mon Jun 28 15:33:47 2021 rev:69 rq:902791 version:2.7.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/nut/nut.changes 2021-01-18 11:33:40.168970394 +0100
+++ /work/SRC/openSUSE:Factory/.nut.new.2625/nut.changes 2021-06-28 15:34:21.307239386 +0200
@@ -1,0 +2,5 @@
+Sun Jun 27 11:43:12 UTC 2021 - Arjen de Korte <suse+build(a)de-korte.org>
+
+- Fix build with GCC11 (as default in GCC11 is now -std=gnu++17)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nut.spec ++++++
--- /var/tmp/diff_new_pack.koArQ4/_old 2021-06-28 15:34:21.859240063 +0200
+++ /var/tmp/diff_new_pack.koArQ4/_new 2021-06-28 15:34:21.863240068 +0200
@@ -183,6 +183,9 @@
%build
autoreconf -fvi
+%if 0%{?suse_version} > 1500
+export CXXFLAGS="%{optflags} -std=gnu++14"
+%endif
%configure \
--disable-static \
--sysconfdir=%{CONFPATH} \
1
0