openSUSE Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- 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
August 2024
- 2 participants
- 1399 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rrdtool for openSUSE:Factory checked in at 2024-08-13 13:22:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rrdtool (Old)
and /work/SRC/openSUSE:Factory/.rrdtool.new.7232 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rrdtool"
Tue Aug 13 13:22:11 2024 rev:79 rq:1193354 version:1.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/rrdtool/rrdtool.changes 2024-07-30 11:53:55.624222430 +0200
+++ /work/SRC/openSUSE:Factory/.rrdtool.new.7232/rrdtool.changes 2024-08-13 13:22:20.872006091 +0200
@@ -1,0 +2,11 @@
+Thu Aug 8 16:56:07 UTC 2024 - Antonio Teixeira <antonio.teixeira(a)suse.com>
+
+- Update to 1.9.0:
+ * For the list of changes, please have a look here:
+ https://github.com/oetiker/rrdtool-1.x/blob/v1.9.0/CHANGES
+- Removed upstreamed patches:
+ * e59f703bbcc0af949ee365206426b6394c340c6f.patch
+ * rrdtool-1.8.0-gcc14.patch
+ * rrdtool-fix_extra_reference.patch
+
+-------------------------------------------------------------------
Old:
----
e59f703bbcc0af949ee365206426b6394c340c6f.patch
rrdtool-1.8.0-gcc14.patch
rrdtool-1.8.0.tar.gz
rrdtool-fix_extra_reference.patch
New:
----
rrdtool-1.9.0.tar.gz
BETA DEBUG BEGIN:
Old:- Removed upstreamed patches:
* e59f703bbcc0af949ee365206426b6394c340c6f.patch
* rrdtool-1.8.0-gcc14.patch
Old: * e59f703bbcc0af949ee365206426b6394c340c6f.patch
* rrdtool-1.8.0-gcc14.patch
* rrdtool-fix_extra_reference.patch
Old: * rrdtool-1.8.0-gcc14.patch
* rrdtool-fix_extra_reference.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rrdtool.spec ++++++
--- /var/tmp/diff_new_pack.ERDNQF/_old 2024-08-13 13:22:21.476031258 +0200
+++ /var/tmp/diff_new_pack.ERDNQF/_new 2024-08-13 13:22:21.476031258 +0200
@@ -32,7 +32,7 @@
%bcond_without libwrap
%bcond_with rados
Name: rrdtool
-Version: 1.8.0
+Version: 1.9.0
Release: 0
Summary: Round Robin Database Tool to store and display time-series data
License: GPL-2.0-or-later AND LGPL-2.0-or-later
@@ -43,19 +43,13 @@
Source4: rrdcached-systemd-pre
Source5: rrdcached.service
Source99: %{name}.changes
-# PATCH-FIX-UPSTREAM -- Fix BUILD_DATE in rrdtool help output (fix segfault)
-# https://github.com/oetiker/rrdtool-1.x/commit/e59f703bbcc0af949ee365206426b…
-Patch1: e59f703bbcc0af949ee365206426b6394c340c6f.patch
-## PATCH-FIX-UPTREAM -- https://github.com/oetiker/rrdtool-1.x/pull/1242
-Patch2: rrdtool-1.8.0-gcc14.patch
# PATCH-FIX-UPTREAM -- Prevent possible segfault
## this patch against rrdtool-1.4.5 dates from 2011, seems unneccessary today,
## never appeared upstream, and it does no longer apply
##Patch3: rrdtool-tclsegfault.patch
# PATCH-FIX-UPSTREAM -- bnc#793636
-Patch12: rrdtool-zero_vs_nothing.patch
-Patch14: harden_rrdcached.service.patch
-Patch15: rrdtool-fix_extra_reference.patch
+Patch1: rrdtool-zero_vs_nothing.patch
+Patch2: harden_rrdcached.service.patch
# Needed for tests
BuildRequires: bc
BuildRequires: cairo-devel >= 1.2
++++++ rrdtool-1.8.0.tar.gz -> rrdtool-1.9.0.tar.gz ++++++
++++ 7555 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package memcached for openSUSE:Factory checked in at 2024-08-13 13:22:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/memcached (Old)
and /work/SRC/openSUSE:Factory/.memcached.new.7232 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "memcached"
Tue Aug 13 13:22:10 2024 rev:66 rq:1193352 version:1.6.29
Changes:
--------
--- /work/SRC/openSUSE:Factory/memcached/memcached.changes 2024-05-22 21:29:51.668243297 +0200
+++ /work/SRC/openSUSE:Factory/.memcached.new.7232/memcached.changes 2024-08-13 13:22:19.855963758 +0200
@@ -1,0 +2,47 @@
+Sat Aug 10 16:59:23 UTC 2024 - Andrea Manzini <andrea.manzini(a)suse.com>
+
+- update to 1.6.29:
+ * Speeds up displaying stats proxy when many user defined counters are used.
+ * If a user counter changes name, it will be reset to zero.
+ * Allows overriding commands either by key prefix or specific command.
+ * see details at https://github.com/memcached/memcached/wiki/ReleaseNotes1629
+- update to 1.6.28:
+ * Fixes unfortunate potentially critical use-after-free bug in the proxy mode
+ that was introduced in 1.6.27. The bug is difficult to trigger but if you
+ are on 1.6.27 upgrading is strongly recommended.
+ * Also adds experimental support for TLS to proxy backends. Please let us know
+ if you intend to use this feature as it has only received limited testing;
+ we will prioritize further work if folks are interested in using it.
+ * memcached-tool: add -u flag to unescape special chars in keys names
+ * proxy: add counters for VM memory and GC runs
+ * see details at https://github.com/memcached/memcached/wiki/ReleaseNotes1628
+- update to 1.6.27:
+ * Many proxy updates, including a critical stability fix for users of the newer
+ style request API.
+ * Adds new meta protocol extensions:
+ + Ecas: If specified and request succeeds, uses supplied number for the CAS
+ value of the item. This allows using external versioning for cache data
+ (ie; row versions, crc's, etc).
+ + x flag for md: This flag causes md to atomically replace the value with the
+ same meta data, but 0 byte value. Can be combined with I to make an empty
+ item that is marked stale.
+ * see details at https://github.com/memcached/memcached/wiki/ReleaseNotes1627
+- update to 1.6.26:
+ * Fixes a crash when lru_crawler metadump is used and the client connection
+ is closed early. Requires closing the client exactly before the last few
+ kilobytes of a dump are about to be flushed.
+ * Also improves the ergonomics of proxy configurations via start arguments.
+ * see details at https://github.com/memcached/memcached/wiki/ReleaseNotes1626
+
+- update to 1.6.25:
+ * Main focus of this release is an overhaul of extstore's space compaction system,
+ and addition of disk specialization and basic tiering support.
+ This optimization can greatly reduce write amplification and improve general performance.
+ * see details at https://github.com/memcached/memcached/wiki/ReleaseNotes1625
+
+- update to 1.6.24:
+ * Mostly fixes from the fix backlog and proxy updates.
+ * see details at https://github.com/memcached/memcached/wiki/ReleaseNotes1624
+
+
+-------------------------------------------------------------------
Old:
----
memcached-1.6.23.tar.gz
New:
----
memcached-1.6.29.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ memcached.spec ++++++
--- /var/tmp/diff_new_pack.dglLJ1/_old 2024-08-13 13:22:20.375985424 +0200
+++ /var/tmp/diff_new_pack.dglLJ1/_new 2024-08-13 13:22:20.375985424 +0200
@@ -33,7 +33,7 @@
%bcond_with tmpfiles
%endif
Name: memcached
-Version: 1.6.23
+Version: 1.6.29
Release: 0
Summary: A high-performance, distributed memory object caching system
License: BSD-3-Clause
++++++ memcached-1.6.23.tar.gz -> memcached-1.6.29.tar.gz ++++++
++++ 11534 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package curl for openSUSE:Factory checked in at 2024-08-13 13:22:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/curl (Old)
and /work/SRC/openSUSE:Factory/.curl.new.7232 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "curl"
Tue Aug 13 13:22:08 2024 rev:201 rq:1193338 version:8.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/curl/curl.changes 2024-07-30 11:53:12.322477102 +0200
+++ /work/SRC/openSUSE:Factory/.curl.new.7232/curl.changes 2024-08-13 13:22:17.399861424 +0200
@@ -1,0 +2,28 @@
+Mon Aug 12 08:41:26 UTC 2024 - Pedro Monreal <pmonreal(a)suse.com>
+
+- Fix regression introduced in version 8.9.1:
+ * sigpipe: init the struct so that first apply ignores
+ * Add curl-sigpipe.patch
+
+-------------------------------------------------------------------
+Wed Jul 31 08:20:44 UTC 2024 - Pedro Monreal <pmonreal(a)suse.com>
+
+- Update to 8.9.1:
+ * Security fixes:
+ - curl: ASN.1 date parser overread [bsc#1228535, CVE-2024-7264]
+ * Bugfixes:
+ - cmake: detect 'libssh' via 'pkg-config'
+ - cmake: detect 'nettle' when building with GnuTLS
+ - connect: fix connection shutdown for event based processing
+ - curl: more defensive socket code for --ip-tos
+ - CURLOPT_SSL_CTX_FUNCTION.md: mention CA caching
+ - CURLSHOPT_SHARE.md: mention sessions/cookies as not thread-safe
+ - ftpserver.pl: make POP3 LIST serve content from the test file
+ - lib: survive some NULL input args
+ - os400: build cli manual.
+ - os400: workaround an IBM ASCII run-time library bug
+ - transfer: speed limiting fix for 32bit systems
+ - vtls: avoid forward declaration in MultiSSL builds
+ - x509asn1: unittests and fixes for gtime2str
+
+-------------------------------------------------------------------
Old:
----
curl-8.9.0.tar.xz
curl-8.9.0.tar.xz.asc
New:
----
curl-8.9.1.tar.xz
curl-8.9.1.tar.xz.asc
curl-sigpipe.patch
BETA DEBUG BEGIN:
New: * sigpipe: init the struct so that first apply ignores
* Add curl-sigpipe.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ curl.spec ++++++
--- /var/tmp/diff_new_pack.vJwwLR/_old 2024-08-13 13:22:18.067889257 +0200
+++ /var/tmp/diff_new_pack.vJwwLR/_new 2024-08-13 13:22:18.067889257 +0200
@@ -29,7 +29,7 @@
%endif
Name: curl%{?psuffix}
-Version: 8.9.0
+Version: 8.9.1
Release: 0
Summary: A Tool for Transferring Data from URLs
License: curl
@@ -43,6 +43,8 @@
Patch2: curl-secure-getenv.patch
#PATCH-FIX-OPENSUSE bsc#1076446 protocol redirection not supported or disabled
Patch3: curl-disabled-redirect-protocol-message.patch
+#PATCH-FIX-UPSTREAM sigpipe: init the struct so that first apply ignores
+Patch4: curl-sigpipe.patch
BuildRequires: groff
BuildRequires: libtool
BuildRequires: pkgconfig
++++++ curl-8.9.0.tar.xz -> curl-8.9.1.tar.xz ++++++
++++ 16136 lines of diff (skipped)
++++++ curl-sigpipe.patch ++++++
From 3eec5afbd0b6377eca893c392569b2faf094d970 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel(a)haxx.se>
Date: Mon, 5 Aug 2024 00:17:17 +0200
Subject: [PATCH] sigpipe: init the struct so that first apply ignores
Initializes 'no_signal' to TRUE, so that a call to sigpipe_apply() after
init ignores the signal (unless CURLOPT_NOSIGNAL) is set.
I have read the existing code multiple times now and I think it gets the
initial state reversed this missing to ignore.
Regression from 17e6f06ea37136c36d27
Reported-by: Rasmus Thomsen
Fixes #14344
Closes #14390
---
lib/sigpipe.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/sigpipe.h b/lib/sigpipe.h
index b91a2f51333956..d78afd905d3414 100644
--- a/lib/sigpipe.h
+++ b/lib/sigpipe.h
@@ -39,6 +39,7 @@ struct sigpipe_ignore {
static void sigpipe_init(struct sigpipe_ignore *ig)
{
memset(ig, 0, sizeof(*ig));
+ ig->no_signal = TRUE;
}
/*
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package aardvark-dns for openSUSE:Factory checked in at 2024-08-13 13:22:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/aardvark-dns (Old)
and /work/SRC/openSUSE:Factory/.aardvark-dns.new.7232 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aardvark-dns"
Tue Aug 13 13:22:07 2024 rev:11 rq:1193336 version:1.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/aardvark-dns/aardvark-dns.changes 2024-07-28 17:18:59.982728728 +0200
+++ /work/SRC/openSUSE:Factory/.aardvark-dns.new.7232/aardvark-dns.changes 2024-08-13 13:22:13.503699090 +0200
@@ -1,0 +2,52 @@
+Wed Aug 07 06:36:52 UTC 2024 - danish.prakash(a)suse.com
+
+- Update to version 1.12.1:
+ * Release v1.12.1
+ * Updated release notes for 1.12.1
+ * Change av cargo categories
+ * Bump to 1.13.0-dev
+ * Release 1.12.0
+ * Release notes for 1.12
+ * config: ignore enoent errors while reading configs
+ * run cargo update
+ * update upsteam resolvers on each refresh
+ * fix(deps): update rust crate syslog to v7
+ * fix(deps): update rust crate tokio to 1.39.2
+ * add tcp support for forwarding
+ * add tcp listening support
+ * test: add new test to check for startup error
+ * return bind error to caller on first start
+ * add our own error type and use it over anyhow
+ * server: use anyhow to wrap parse_configs error
+ * server: split out main loop into new function
+ * main: remove aardvark-dns error prefix
+ * coredns: remove unnecessary try_join! call
+ * coredns: drop pointless name var
+ * serve: read nameservers once
+ * replace signal-hook with tokio::signal
+ * serve: fix broken error logging
+ * server: improve parent <-> child error handling
+ * add some basic perf check script
+ * fix(deps): update rust crate tokio to 1.39.0
+ * coredns: create reply_ip() function
+ * coredns: match dns type explicitly
+ * server: use only one tokio runtime
+ * coredns: improve indentation for process_message()
+ * coredns: move upstream resolvers detection later
+ * coredns: do not clone sender
+ * read AARDVARK_NO_PROXY once
+ * coredns: move main code out of select!
+ * coredns: fix "name" naming
+ * coredns: remove unused forward_addr/port
+ * coredns: fix handling of dns search domain
+ * coredns: rework PTR lookup flow
+ * fix(deps): update rust crate tokio to 1.38.1
+ * [skip-ci] TMT: Reorg upstream tests for downstream reusability
+ * [skip-ci] Packit: use `packages: [aardvark-dns-fedora]` for podman-next builds
+ * Be sure to have at least Epoch 2 to preserve upgrade path in c10s.
+ * fix(deps): update rust crate log to 0.4.22
+ * [CI:BUILD] rpm: Update Rust macro usage
+ * fix(deps): update rust crate tokio to 1.38.0
+ * Bump to 1.12.0-dev
+
+-------------------------------------------------------------------
Old:
----
aardvark-dns-1.11.0.tar.gz
New:
----
aardvark-dns-1.12.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ aardvark-dns.spec ++++++
--- /var/tmp/diff_new_pack.2d7bz5/_old 2024-08-13 13:22:16.419820592 +0200
+++ /var/tmp/diff_new_pack.2d7bz5/_new 2024-08-13 13:22:16.419820592 +0200
@@ -17,7 +17,7 @@
Name: aardvark-dns
-Version: 1.11.0
+Version: 1.12.1
Release: 0
Summary: Authoritative dns server for A/AAAA container records
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.2d7bz5/_old 2024-08-13 13:22:16.455822091 +0200
+++ /var/tmp/diff_new_pack.2d7bz5/_new 2024-08-13 13:22:16.459822258 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/containers/aardvark-dns</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="scm">git</param>
- <param name="revision">v1.11.0</param>
+ <param name="revision">v1.12.1</param>
<param name="match-tag">*</param>
<param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
<param name="versionrewrite-replacement">\1</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.2d7bz5/_old 2024-08-13 13:22:16.475822925 +0200
+++ /var/tmp/diff_new_pack.2d7bz5/_new 2024-08-13 13:22:16.479823092 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/containers/aardvark-dns</param>
- <param name="changesrevision">666d7b15b28ea913295b02b756c0a778a4f9b341</param></service></servicedata>
+ <param name="changesrevision">95aeb560bc7510f20761123c6c713d7376dd4477</param></service></servicedata>
(No newline at EOF)
++++++ aardvark-dns-1.11.0.tar.gz -> aardvark-dns-1.12.1.tar.gz ++++++
++++ 3274 lines of diff (skipped)
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/aardvark-dns/vendor.tar.gz /work/SRC/openSUSE:Factory/.aardvark-dns.new.7232/vendor.tar.gz differ: char 49578, line 200
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package netavark for openSUSE:Factory checked in at 2024-08-13 13:22:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/netavark (Old)
and /work/SRC/openSUSE:Factory/.netavark.new.7232 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "netavark"
Tue Aug 13 13:22:05 2024 rev:12 rq:1193335 version:1.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/netavark/netavark.changes 2024-06-04 12:50:16.061946674 +0200
+++ /work/SRC/openSUSE:Factory/.netavark.new.7232/netavark.changes 2024-08-13 13:22:10.859588923 +0200
@@ -1,0 +2,39 @@
+Wed Aug 07 06:36:53 UTC 2024 - danish.prakash(a)suse.com
+
+- Update to version 1.12.1:
+ * Release v1.12.1
+ * Update release notes for v1.12.1
+ * Change nv cargo categories
+ * Bump to 1.13.0-dev
+ * Release 1.12
+ * Release Notes for 1.12
+ * run cargo update
+ * rpm: use nftables as default for f41
+ * fix(deps): update rust crate serde_json to 1.0.121
+ * fix(deps): update rust crate tokio to 1.39.2
+ * aardvark-dns: trim whitespaces from error text
+ * fix(deps): update rust crate env_logger to 0.11.5
+ * [skip-ci] RPM: handle iptables/nftables dependencies
+ * fix aardvark-dns error handling
+ * fix(deps): update rust crate tokio to 1.39.1
+ * fix(deps): update rust crate env_logger to 0.11.4
+ * fix(deps): update rust crate tokio to 1.38.1
+ * update mozim to 0.2.4
+ * fix(deps): update rust crate serde_json to 1.0.120
+ * netavark: dhcp_proxy: use dns servers from dhcp lease
+ * fix(deps): update rust crate serde_json to 1.0.119
+ * fix(deps): update rust crate netlink-packet-route to 0.20.1
+ * fix(deps): update rust crate log to 0.4.22
+ * Fix Epoch so upgrade path is preserved from Fedora/RHEL.
+ * test: add macvlan metric test
+ * fix(deps): update rust crate serde_json to 1.0.118
+ * fix(deps): update rust crate url to 2.5.2
+ * fix(deps): update rust crate prost to 0.12.6
+ * fix(deps): update rust crate url to 2.5.1
+ * fix(deps): update rust crate iptables to 0.5.2
+ * [CI:BUILD] rpm: Update Rust macro usage
+ * fix(deps): update rust crate nftables to 0.4.1
+ * fix(deps): update rust crate tokio to 1.38.0
+ * Bump to 1.12.0-dev
+
+-------------------------------------------------------------------
Old:
----
netavark-1.11.0.tar.gz
New:
----
netavark-1.12.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ netavark.spec ++++++
--- /var/tmp/diff_new_pack.2t2NXw/_old 2024-08-13 13:22:12.539658923 +0200
+++ /var/tmp/diff_new_pack.2t2NXw/_new 2024-08-13 13:22:12.543659090 +0200
@@ -19,7 +19,7 @@
%define major_minor %((v=%{version}; echo ${v%.*}))
Name: netavark
-Version: 1.11.0
+Version: 1.12.1
Release: 0
Summary: Container network stack
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.2t2NXw/_old 2024-08-13 13:22:12.571660256 +0200
+++ /var/tmp/diff_new_pack.2t2NXw/_new 2024-08-13 13:22:12.575660423 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/containers/netavark.git</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="scm">git</param>
- <param name="revision">v1.11.0</param>
+ <param name="revision">v1.12.1</param>
<param name="match-tag">*</param>
<param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
<param name="versionrewrite-replacement">\1</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.2t2NXw/_old 2024-08-13 13:22:12.591661089 +0200
+++ /var/tmp/diff_new_pack.2t2NXw/_new 2024-08-13 13:22:12.595661256 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/containers/netavark.git</param>
- <param name="changesrevision">ab4f101a39b687c01e2df578162c2fa16a881c1b</param></service></servicedata>
+ <param name="changesrevision">a4e1359ee7fa036db2712f495d4afc95c63a32d8</param></service></servicedata>
(No newline at EOF)
++++++ netavark-1.11.0.tar.gz -> netavark-1.12.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netavark-1.11.0/Cargo.lock new/netavark-1.12.1/Cargo.lock
--- old/netavark-1.11.0/Cargo.lock 2024-05-30 16:20:33.000000000 +0200
+++ new/netavark-1.12.1/Cargo.lock 2024-08-01 22:45:40.000000000 +0200
@@ -43,9 +43,9 @@
[[package]]
name = "anstream"
-version = "0.6.14"
+version = "0.6.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
+checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -58,33 +58,33 @@
[[package]]
name = "anstyle"
-version = "1.0.7"
+version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
+checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
[[package]]
name = "anstyle-parse"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
+checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
-version = "1.0.3"
+version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5"
+checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
dependencies = [
"windows-sys 0.52.0",
]
[[package]]
name = "anstyle-wincon"
-version = "3.0.3"
+version = "3.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
+checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
dependencies = [
"anstyle",
"windows-sys 0.52.0",
@@ -119,16 +119,16 @@
checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a"
dependencies = [
"concurrent-queue",
- "event-listener-strategy 0.5.2",
+ "event-listener-strategy",
"futures-core",
"pin-project-lite",
]
[[package]]
name = "async-executor"
-version = "1.12.0"
+version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0"
+checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7"
dependencies = [
"async-task",
"concurrent-queue",
@@ -171,17 +171,17 @@
[[package]]
name = "async-io"
-version = "2.3.2"
+version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884"
+checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964"
dependencies = [
- "async-lock 3.3.0",
+ "async-lock 3.4.0",
"cfg-if",
"concurrent-queue",
"futures-io",
"futures-lite 2.3.0",
"parking",
- "polling 3.7.0",
+ "polling 3.7.2",
"rustix 0.38.34",
"slab",
"tracing",
@@ -199,12 +199,12 @@
[[package]]
name = "async-lock"
-version = "3.3.0"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
+checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18"
dependencies = [
- "event-listener 4.0.3",
- "event-listener-strategy 0.4.0",
+ "event-listener 5.3.1",
+ "event-listener-strategy",
"pin-project-lite",
]
@@ -233,17 +233,17 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
name = "async-signal"
-version = "0.2.6"
+version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afe66191c335039c7bb78f99dc7520b0cbb166b3a1cb33a03f53d8a1c6f2afda"
+checksum = "dfb3634b73397aa844481f814fad23bbf07fdb0eabec10f2eb95e58944b1ec32"
dependencies = [
- "async-io 2.3.2",
- "async-lock 3.3.0",
+ "async-io 2.3.3",
+ "async-lock 3.4.0",
"atomic-waker",
"cfg-if",
"futures-core",
@@ -273,7 +273,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
@@ -284,13 +284,13 @@
[[package]]
name = "async-trait"
-version = "0.1.80"
+version = "0.1.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
+checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
@@ -352,9 +352,9 @@
[[package]]
name = "backtrace"
-version = "0.3.72"
+version = "0.3.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11"
+checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a"
dependencies = [
"addr2line",
"cc",
@@ -379,9 +379,9 @@
[[package]]
name = "bitflags"
-version = "2.5.0"
+version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
[[package]]
name = "block-buffer"
@@ -419,15 +419,15 @@
[[package]]
name = "bytes"
-version = "1.6.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
+checksum = "fca2be1d5c43812bae364ee3f30b3afcb7877cf59f4aeb94c66f313a41d2fac9"
[[package]]
name = "cc"
-version = "1.0.98"
+version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f"
+checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc"
[[package]]
name = "cfg-if"
@@ -451,7 +451,7 @@
"iana-time-zone",
"num-traits",
"serde",
- "windows-targets 0.52.5",
+ "windows-targets 0.52.6",
]
[[package]]
@@ -485,7 +485,7 @@
"heck 0.4.1",
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
@@ -496,9 +496,9 @@
[[package]]
name = "colorchoice"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
+checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
[[package]]
name = "concurrent-queue"
@@ -590,9 +590,9 @@
[[package]]
name = "either"
-version = "1.12.0"
+version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
+checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
[[package]]
name = "enum-as-inner"
@@ -615,14 +615,14 @@
"heck 0.4.1",
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
name = "enumflags2"
-version = "0.7.9"
+version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d"
+checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d"
dependencies = [
"enumflags2_derive",
"serde",
@@ -630,20 +630,20 @@
[[package]]
name = "enumflags2_derive"
-version = "0.7.9"
+version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
+checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
name = "env_filter"
-version = "0.1.0"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
+checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab"
dependencies = [
"log",
"regex",
@@ -651,9 +651,9 @@
[[package]]
name = "env_logger"
-version = "0.11.3"
+version = "0.11.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
+checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d"
dependencies = [
"anstream",
"anstyle",
@@ -726,17 +726,6 @@
[[package]]
name = "event-listener"
-version = "4.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
-dependencies = [
- "concurrent-queue",
- "parking",
- "pin-project-lite",
-]
-
-[[package]]
-name = "event-listener"
version = "5.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba"
@@ -748,16 +737,6 @@
[[package]]
name = "event-listener-strategy"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
-dependencies = [
- "event-listener 4.0.3",
- "pin-project-lite",
-]
-
-[[package]]
-name = "event-listener-strategy"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
@@ -896,7 +875,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
@@ -1021,6 +1000,12 @@
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
[[package]]
+name = "hermit-abi"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc"
+
+[[package]]
name = "hex"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1050,9 +1035,9 @@
[[package]]
name = "httparse"
-version = "1.8.0"
+version = "1.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9"
[[package]]
name = "httpdate"
@@ -1068,9 +1053,9 @@
[[package]]
name = "hyper"
-version = "0.14.28"
+version = "0.14.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
+checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9"
dependencies = [
"bytes",
"futures-channel",
@@ -1181,7 +1166,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
dependencies = [
- "hermit-abi",
+ "hermit-abi 0.3.9",
"libc",
"windows-sys 0.48.0",
]
@@ -1197,20 +1182,20 @@
[[package]]
name = "iptables"
-version = "0.5.1"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d39f0d72d0feb83c9b7f4e1fbde2b4a629886f30841127b3f86383831dba2629"
+checksum = "43b627935a2f5d654613bea2bcd677cc760b03ecf224ced0f1970c0d174813b9"
dependencies = [
"lazy_static",
- "nix 0.27.1",
+ "nix 0.29.0",
"regex",
]
[[package]]
name = "is_terminal_polyfill"
-version = "1.70.0"
+version = "1.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
[[package]]
name = "itertools"
@@ -1238,9 +1223,9 @@
[[package]]
name = "lazy_static"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "libc"
@@ -1262,9 +1247,9 @@
[[package]]
name = "log"
-version = "0.4.21"
+version = "0.4.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
[[package]]
name = "matches"
@@ -1280,9 +1265,9 @@
[[package]]
name = "memchr"
-version = "2.7.2"
+version = "2.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
[[package]]
name = "memoffset"
@@ -1310,29 +1295,30 @@
[[package]]
name = "miniz_oxide"
-version = "0.7.3"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"
+checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
dependencies = [
"adler",
]
[[package]]
name = "mio"
-version = "0.8.11"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
+checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4"
dependencies = [
+ "hermit-abi 0.3.9",
"libc",
"wasi",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
]
[[package]]
name = "mozim"
-version = "0.2.3"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e45df57fccf2794fe629fd5aa9bfac597a7e2e66fa58c3afcedd20e97dd2f4ed"
+checksum = "60e650710a77d000a05361154218ae4a30bcb8cb7eb453b2e46666fe1e2b0cf8"
dependencies = [
"byteorder",
"dhcproto",
@@ -1373,7 +1359,7 @@
[[package]]
name = "netavark"
-version = "1.11.0"
+version = "1.12.1"
dependencies = [
"anyhow",
"chrono",
@@ -1389,7 +1375,7 @@
"log",
"mozim",
"netlink-packet-core",
- "netlink-packet-route 0.20.0",
+ "netlink-packet-route 0.20.1",
"netlink-packet-utils",
"netlink-sys",
"nftables",
@@ -1452,12 +1438,12 @@
[[package]]
name = "netlink-packet-route"
-version = "0.20.0"
+version = "0.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a37142a3d25dff78c49e99c27244827409717366287ff229b16e36cfeee17cf1"
+checksum = "55e5bda7ca0f9ac5e75b5debac3b75e29a8ac8e2171106a2c3bb466389a8dd83"
dependencies = [
"anyhow",
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"byteorder",
"libc",
"log",
@@ -1507,9 +1493,9 @@
[[package]]
name = "nftables"
-version = "0.4.0"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e689b44b33fc8c2894b6f609701f785a0c1816b7fcf43d05797bd25a513028d1"
+checksum = "3b5081f5cae4d24af558828494371be6672d02a693e9b4cbca4a0cbae5443e6f"
dependencies = [
"serde",
"serde_json",
@@ -1557,7 +1543,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
dependencies = [
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"cfg-if",
"libc",
]
@@ -1568,7 +1554,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
dependencies = [
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"cfg-if",
"cfg_aliases",
"libc",
@@ -1584,20 +1570,10 @@
]
[[package]]
-name = "num_cpus"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
-dependencies = [
- "hermit-abi",
- "libc",
-]
-
-[[package]]
name = "object"
-version = "0.35.0"
+version = "0.36.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e"
+checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e"
dependencies = [
"memchr",
]
@@ -1672,7 +1648,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
@@ -1689,9 +1665,9 @@
[[package]]
name = "piper"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "464db0c665917b13ebb5d453ccdec4add5658ee1adc7affc7677615356a8afaf"
+checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391"
dependencies = [
"atomic-waker",
"fastrand 2.1.0",
@@ -1716,13 +1692,13 @@
[[package]]
name = "polling"
-version = "3.7.0"
+version = "3.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3"
+checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b"
dependencies = [
"cfg-if",
"concurrent-queue",
- "hermit-abi",
+ "hermit-abi 0.4.0",
"pin-project-lite",
"rustix 0.38.34",
"tracing",
@@ -1731,9 +1707,12 @@
[[package]]
name = "ppv-lite86"
-version = "0.2.17"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+checksum = "dee4364d9f3b902ef14fab8a1ddffb783a1cb6b4bba3bfc1fa3922732c7de97f"
+dependencies = [
+ "zerocopy",
+]
[[package]]
name = "prettyplease"
@@ -1742,7 +1721,7 @@
checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e"
dependencies = [
"proc-macro2",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
@@ -1757,9 +1736,9 @@
[[package]]
name = "proc-macro2"
-version = "1.0.84"
+version = "1.0.86"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6"
+checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
dependencies = [
"unicode-ident",
]
@@ -1791,7 +1770,7 @@
"prost",
"prost-types",
"regex",
- "syn 2.0.66",
+ "syn 2.0.72",
"tempfile",
]
@@ -1805,7 +1784,7 @@
"itertools",
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
@@ -1858,9 +1837,9 @@
[[package]]
name = "regex"
-version = "1.10.4"
+version = "1.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
+checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f"
dependencies = [
"aho-corasick",
"memchr",
@@ -1870,9 +1849,9 @@
[[package]]
name = "regex-automata"
-version = "0.4.6"
+version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
+checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df"
dependencies = [
"aho-corasick",
"memchr",
@@ -1881,9 +1860,9 @@
[[package]]
name = "regex-syntax"
-version = "0.8.3"
+version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
+checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
[[package]]
name = "rtnetlink"
@@ -1929,7 +1908,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
dependencies = [
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"errno",
"libc",
"linux-raw-sys 0.4.14",
@@ -1959,9 +1938,9 @@
[[package]]
name = "serde"
-version = "1.0.203"
+version = "1.0.204"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
+checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12"
dependencies = [
"serde_derive",
]
@@ -1978,22 +1957,23 @@
[[package]]
name = "serde_derive"
-version = "1.0.203"
+version = "1.0.204"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
+checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
name = "serde_json"
-version = "1.0.117"
+version = "1.0.121"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
+checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609"
dependencies = [
"itoa",
+ "memchr",
"ryu",
"serde",
]
@@ -2016,7 +1996,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
@@ -2099,21 +2079,21 @@
[[package]]
name = "strum"
-version = "0.26.2"
+version = "0.26.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
+checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
[[package]]
name = "strum_macros"
-version = "0.26.2"
+version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
+checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
dependencies = [
- "heck 0.4.1",
+ "heck 0.5.0",
"proc-macro2",
"quote",
"rustversion",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
@@ -2129,9 +2109,9 @@
[[package]]
name = "syn"
-version = "2.0.66"
+version = "2.0.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
+checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af"
dependencies = [
"proc-macro2",
"quote",
@@ -2150,7 +2130,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea"
dependencies = [
- "bitflags 2.5.0",
+ "bitflags 2.6.0",
"byteorder",
"enum-as-inner 0.6.0",
"libc",
@@ -2172,29 +2152,29 @@
[[package]]
name = "thiserror"
-version = "1.0.61"
+version = "1.0.63"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
+checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.61"
+version = "1.0.63"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
+checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
name = "tinyvec"
-version = "1.6.0"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
dependencies = [
"tinyvec_macros",
]
@@ -2207,20 +2187,19 @@
[[package]]
name = "tokio"
-version = "1.37.0"
+version = "1.39.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
+checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1"
dependencies = [
"backtrace",
"bytes",
"libc",
"mio",
- "num_cpus",
"pin-project-lite",
"signal-hook-registry",
"socket2 0.5.7",
"tokio-macros",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -2235,13 +2214,13 @@
[[package]]
name = "tokio-macros"
-version = "2.2.0"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
+checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
@@ -2270,9 +2249,9 @@
[[package]]
name = "toml_datetime"
-version = "0.6.6"
+version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
+checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
[[package]]
name = "toml_edit"
@@ -2322,7 +2301,7 @@
"proc-macro2",
"prost-build",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
@@ -2377,7 +2356,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
]
[[package]]
@@ -2459,9 +2438,9 @@
[[package]]
name = "url"
-version = "2.5.0"
+version = "2.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
dependencies = [
"form_urlencoded",
"idna 0.5.0",
@@ -2471,15 +2450,15 @@
[[package]]
name = "utf8parse"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "version_check"
-version = "0.9.4"
+version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
[[package]]
name = "waker-fn"
@@ -2533,7 +2512,7 @@
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
"wasm-bindgen-shared",
]
@@ -2555,7 +2534,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.66",
+ "syn 2.0.72",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -2603,7 +2582,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
dependencies = [
- "windows-targets 0.52.5",
+ "windows-targets 0.52.6",
]
[[package]]
@@ -2621,7 +2600,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
- "windows-targets 0.52.5",
+ "windows-targets 0.52.6",
]
[[package]]
@@ -2641,18 +2620,18 @@
[[package]]
name = "windows-targets"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
- "windows_aarch64_gnullvm 0.52.5",
- "windows_aarch64_msvc 0.52.5",
- "windows_i686_gnu 0.52.5",
+ "windows_aarch64_gnullvm 0.52.6",
+ "windows_aarch64_msvc 0.52.6",
+ "windows_i686_gnu 0.52.6",
"windows_i686_gnullvm",
- "windows_i686_msvc 0.52.5",
- "windows_x86_64_gnu 0.52.5",
- "windows_x86_64_gnullvm 0.52.5",
- "windows_x86_64_msvc 0.52.5",
+ "windows_i686_msvc 0.52.6",
+ "windows_x86_64_gnu 0.52.6",
+ "windows_x86_64_gnullvm 0.52.6",
+ "windows_x86_64_msvc 0.52.6",
]
[[package]]
@@ -2663,9 +2642,9 @@
[[package]]
name = "windows_aarch64_gnullvm"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
[[package]]
name = "windows_aarch64_msvc"
@@ -2675,9 +2654,9 @@
[[package]]
name = "windows_aarch64_msvc"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
[[package]]
name = "windows_i686_gnu"
@@ -2687,15 +2666,15 @@
[[package]]
name = "windows_i686_gnu"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
[[package]]
name = "windows_i686_gnullvm"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
[[package]]
name = "windows_i686_msvc"
@@ -2705,9 +2684,9 @@
[[package]]
name = "windows_i686_msvc"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
[[package]]
name = "windows_x86_64_gnu"
@@ -2717,9 +2696,9 @@
[[package]]
name = "windows_x86_64_gnu"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
[[package]]
name = "windows_x86_64_gnullvm"
@@ -2729,9 +2708,9 @@
[[package]]
name = "windows_x86_64_gnullvm"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
[[package]]
name = "windows_x86_64_msvc"
@@ -2741,9 +2720,9 @@
[[package]]
name = "windows_x86_64_msvc"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winnow"
@@ -2756,12 +2735,12 @@
[[package]]
name = "xdg-home"
-version = "1.1.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
+checksum = "ca91dcf8f93db085f3a0a29358cd0b9d670915468f4290e8b85d118a34211ab8"
dependencies = [
"libc",
- "winapi",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -2831,6 +2810,27 @@
]
[[package]]
+name = "zerocopy"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "854e949ac82d619ee9a14c66a1b674ac730422372ccb759ce0c39cabcf2bf8e6"
+dependencies = [
+ "byteorder",
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
name = "zvariant"
version = "3.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netavark-1.11.0/Cargo.toml new/netavark-1.12.1/Cargo.toml
--- old/netavark-1.11.0/Cargo.toml 2024-05-30 16:20:33.000000000 +0200
+++ new/netavark-1.12.1/Cargo.toml 2024-08-01 22:45:40.000000000 +0200
@@ -1,6 +1,6 @@
[package]
name = "netavark"
-version = "1.11.0"
+version = "1.12.1"
edition = "2021"
authors = ["github.com/containers"]
license = "Apache-2.0"
@@ -8,7 +8,7 @@
description = "A container network stack"
homepage = "https://github.com/containers/netavark"
repository = "https://github.com/containers/netavark"
-categories = ["containers", "networking", "podman"]
+categories = ["virtualization"]
exclude = ["/.cirrus.yml", "/.github/*", "/hack/*"]
build = "build.rs"
@@ -32,31 +32,31 @@
[dependencies]
anyhow = "1.0.86"
clap = { version = "~4.4.12", features = ["derive", "env"] }
-env_logger = "0.11.3"
+env_logger = "0.11.5"
ipnet = { version = "2.9.0", features = ["serde"] }
-iptables = "0.5.1"
+iptables = "0.5.2"
libc = "0.2.154"
-log = "0.4.21"
+log = "0.4.22"
serde = { version = "1.0.199", features = ["derive"], optional = true }
serde-value = "0.7.0"
-serde_json = "1.0.117"
+serde_json = "1.0.121"
sysctl = "0.5.5"
-url = "2.5.0"
+url = "2.5.2"
zbus = { version = "3.15.2" }
nix = { version = "0.29.0", features = ["sched", "signal", "user"] }
rand = "0.8.5"
sha2 = "0.10.8"
netlink-packet-utils = "0.5.2"
-netlink-packet-route = "0.20.0"
+netlink-packet-route = "0.20.1"
netlink-packet-core = "0.7.0"
-nftables = "0.4"
+nftables = "0.4.1"
fs2 = "0.4.3"
netlink-sys = "0.8.6"
-tokio = { version = "1.37", features = ["rt", "rt-multi-thread", "signal", "fs"] }
+tokio = { version = "1.39.2", features = ["rt", "rt-multi-thread", "signal", "fs"] }
tokio-stream = { version = "0.1.15", features = ["net"] }
tonic = "0.11"
-mozim = "0.2.3"
-prost = "0.12.4"
+mozim = "0.2.4"
+prost = "0.12.6"
futures-channel = "0.3.30"
futures-core = "0.3.30"
futures-util = "0.3.30"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netavark-1.11.0/RELEASE_NOTES.md new/netavark-1.12.1/RELEASE_NOTES.md
--- old/netavark-1.11.0/RELEASE_NOTES.md 2024-05-30 16:20:33.000000000 +0200
+++ new/netavark-1.12.1/RELEASE_NOTES.md 2024-08-01 22:45:40.000000000 +0200
@@ -1,5 +1,16 @@
# Release Notes
+## v1.12.1
+
+* Fixed problem with categories in Cargo.toml that prevented us from publishing v1.12.0
+
+## v1.12.0
+
+* Dependency updates
+* Netavark-DHCP proxy: use dns servers from dhcp lease
+* Improved handling and visibility of errors from aardvark-dns
+* Use nftables as default driver for Fedora 41
+
## v1.11.0
* Do not perform namespace detection for aardvark-dns updates as it is not needed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netavark-1.11.0/rpm/netavark.spec new/netavark-1.12.1/rpm/netavark.spec
--- old/netavark-1.11.0/rpm/netavark.spec 2024-05-30 16:20:33.000000000 +0200
+++ new/netavark-1.12.1/rpm/netavark.spec 2024-08-01 22:45:40.000000000 +0200
@@ -14,10 +14,10 @@
# Minimum X.Y dep for aardvark-dns
%define major_minor %((v=%{version}; echo ${v%.*}))
-# Set default firewall to nftables on CentOS Stream 10+, RHEL 10+
+# Set default firewall to nftables on CentOS Stream 10+, RHEL 10+, Fedora 41+
# and default to iptables on all other environments
# The `rhel` macro is defined on CentOS Stream, RHEL as well as Fedora ELN.
-%if %{defined rhel} && 0%{?rhel} >= 10
+%if (%{defined rhel} && 0%{?rhel} >= 10) || (%{defined fedora} && 0%{?fedora} >= 41)
%define default_fw nftables
%else
%define default_fw iptables
@@ -28,7 +28,7 @@
%if %{defined copr_username}
Epoch: 102
%else
-Epoch: 0
+Epoch: 2
%endif
Version: 0
Release: %autorelease
@@ -49,6 +49,11 @@
# aardvark-dns and %%{name} are usually released in sync
Requires: aardvark-dns >= %{epoch}:%{major_minor}
Provides: container-network-stack = 2
+%if "%{default_fw}" == "nftables"
+Requires: nftables
+%else
+Requires: iptables
+%endif
BuildRequires: make
BuildRequires: protobuf-c
BuildRequires: protobuf-compiler
@@ -90,19 +95,20 @@
# dependencies directly from the network.
%if !%{defined copr_username}
tar fx %{SOURCE1}
-mkdir -p .cargo
-
-cat >.cargo/config << EOF
-[source.crates-io]
-replace-with = "vendored-sources"
-
-[source.vendored-sources]
-directory = "vendor"
-EOF
+%if 0%{?fedora} || 0%{?rhel} >= 10
+%cargo_prep -v vendor
+%else
+%cargo_prep -V 1
+%endif
%endif
%build
NETAVARK_DEFAULT_FW=%{default_fw} %{__make} CARGO="%{__cargo}" build
+%if (0%{?fedora} || 0%{?rhel} >= 10) && !%{defined copr_username}
+%cargo_license_summary
+%{cargo_license} > LICENSE.dependencies
+%cargo_vendor_manifest
+%endif
cd docs
%{__make}
@@ -120,6 +126,10 @@
%files
%license LICENSE
+%if (0%{?fedora} || 0%{?rhel} >= 10) && !%{defined copr_username}
+%license LICENSE.dependencies
+%license cargo-vendor.txt
+%endif
%dir %{_libexecdir}/podman
%{_libexecdir}/podman/%{name}*
%{_mandir}/man1/%{name}.1*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netavark-1.11.0/src/dns/aardvark.rs new/netavark-1.12.1/src/dns/aardvark.rs
--- old/netavark-1.11.0/src/dns/aardvark.rs 2024-05-30 16:20:33.000000000 +0200
+++ new/netavark-1.12.1/src/dns/aardvark.rs 2024-08-01 22:45:40.000000000 +0200
@@ -116,16 +116,35 @@
// After https://github.com/containers/aardvark-dns/pull/148 this command
// will block till aardvark-dns's parent process returns back and let
// aardvark inherit all the fds.
- Command::new(aardvark_args[0])
+ let out = Command::new(aardvark_args[0])
.args(&aardvark_args[1..])
- .stdin(Stdio::inherit())
- .stdout(Stdio::inherit())
- .stderr(Stdio::inherit())
+ .stdin(Stdio::null())
+ .stdout(Stdio::null())
// set RUST_LOG for aardvark
.env("RUST_LOG", log::max_level().as_str())
.output()?;
- Ok(())
+ if out.status.success() {
+ return Ok(());
+ }
+ if out.stderr.is_empty() {
+ return Err(std::io::Error::new(
+ std::io::ErrorKind::Other,
+ "aardvark-dns exited unexpectedly without error message",
+ ));
+ }
+ // aardvark-dns failed capture stderr
+ let msg = String::from_utf8(out.stderr).map_err(|e| {
+ std::io::Error::new(
+ std::io::ErrorKind::Other,
+ format!("failed to parse aardvark-dns stderr message: {e}"),
+ )
+ })?;
+
+ Err(std::io::Error::new(
+ std::io::ErrorKind::Other,
+ format!("aardvark-dns failed to start: {}", msg.trim()),
+ ))
}
fn check_netns(&self, pid: pid_t) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netavark-1.11.0/src/network/macvlan_dhcp.rs new/netavark-1.12.1/src/network/macvlan_dhcp.rs
--- old/netavark-1.11.0/src/network/macvlan_dhcp.rs 2024-05-30 16:20:33.000000000 +0200
+++ new/netavark-1.12.1/src/network/macvlan_dhcp.rs 2024-08-01 22:45:40.000000000 +0200
@@ -6,6 +6,9 @@
use crate::dhcp_proxy::lib::g_rpc::NetworkConfig;
use crate::dhcp_proxy::proxy_conf::DEFAULT_UDS_PATH;
+
+pub type DhcpLeaseInfo = (Vec<NetAddress>, Option<Vec<IpAddr>>, Option<Vec<String>>);
+
/// dhcp performs the connection to the nv-proxy over grpc where it
/// requests it to perform a lease via the host's network interface
/// but passes it the network interface from the container netns.:w
@@ -30,7 +33,7 @@
container_network_interface: &str,
ns_path: &str,
container_macvlan_mac: &str,
-) -> NetavarkResult<Vec<NetAddress>> {
+) -> NetavarkResult<DhcpLeaseInfo> {
let nvp_config = NetworkConfig {
host_iface: host_network_interface.to_string(),
// TODO add in domain name support
@@ -73,6 +76,25 @@
None
};
+ let dns_servers = if !lease.dns_servers.is_empty() {
+ let servers = lease
+ .dns_servers
+ .into_iter()
+ .map(|d| match IpAddr::from_str(&d) {
+ Ok(d) => Ok(d),
+ Err(e) => Err(NetavarkError::msg(format!("bad dns address: {e}"))),
+ })
+ .collect::<Result<Vec<IpAddr>, NetavarkError>>()?;
+ Some(servers)
+ } else {
+ None
+ };
+ let domain_name = if !lease.domain_name.is_empty() {
+ Some(vec![lease.domain_name])
+ } else {
+ None
+ };
+
let ip_addr = match IpAddr::from_str(&lease.yiaddr) {
Ok(i) => i,
Err(e) => return Err(NetavarkError::Message(e.to_string())),
@@ -92,7 +114,7 @@
ipnet: ip,
};
- Ok(vec![ns])
+ Ok((vec![ns], dns_servers, domain_name))
}
pub fn release_dhcp_lease(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netavark-1.11.0/src/network/vlan.rs new/netavark-1.12.1/src/network/vlan.rs
--- old/netavark-1.11.0/src/network/vlan.rs 2024-05-30 16:20:33.000000000 +0200
+++ new/netavark-1.12.1/src/network/vlan.rs 2024-08-01 22:45:40.000000000 +0200
@@ -183,12 +183,20 @@
// a dhcp lease. it will also perform the IP address assignment
// to the macvlan interface.
let subnets = if data.ipam.dhcp_enabled {
- get_dhcp_lease(
+ let (subnets, dns_servers, domain_name) = get_dhcp_lease(
&data.host_interface_name,
&data.container_interface_name,
self.info.netns_path,
&container_vlan_mac,
- )?
+ )?;
+ // do not overwrite dns servers set by dns podman flag
+ if !self.info.container_dns_servers.is_some() {
+ response.dns_server_ips = dns_servers;
+ }
+ if domain_name.is_some() {
+ response.dns_search_domains = domain_name;
+ }
+ subnets
} else {
data.ipam.net_addresses.clone()
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netavark-1.11.0/test/300-macvlan.bats new/netavark-1.12.1/test/300-macvlan.bats
--- old/netavark-1.11.0/test/300-macvlan.bats 2024-05-30 16:20:33.000000000 +0200
+++ new/netavark-1.12.1/test/300-macvlan.bats 2024-08-01 22:45:40.000000000 +0200
@@ -375,3 +375,17 @@
run_in_container_netns ip -o link show
assert "${#lines[@]}" == 2 "only two interfaces (lo, eth0) in the netns, the tmp macvlan interface should be gone"
}
+
+@test "macvlan route metric from config" {
+ run_netavark --file ${TESTSDIR}/testfiles/metric-macvlan.json setup $(get_container_netns_path)
+
+ run_in_container_netns ip -j route list match 0.0.0.0
+ default_route="$output"
+ assert_json "$default_route" '.[0].dst' == "default" "Default route was selected"
+ assert_json "$default_route" '.[0].metric' == "200" "Route metric set from config"
+
+ run_in_container_netns ip -j -6 route list match ::0
+ default_route_v6="$output"
+ assert_json "$default_route_v6" '.[0].dst' == "default" "Default route was selected"
+ assert_json "$default_route_v6" '.[0].metric' == "200" "v6 route metric matches v4"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netavark-1.11.0/test/testfiles/metric-macvlan.json new/netavark-1.12.1/test/testfiles/metric-macvlan.json
--- old/netavark-1.11.0/test/testfiles/metric-macvlan.json 1970-01-01 01:00:00.000000000 +0100
+++ new/netavark-1.12.1/test/testfiles/metric-macvlan.json 2024-08-01 22:45:40.000000000 +0200
@@ -0,0 +1,37 @@
+{
+ "container_id": "bc14fe7cd3633e7be338522002bb0c3ccb18150da7a6c733735ffdf8ff7e85d1",
+ "container_name": "metrictest",
+ "networks": {
+ "metric": {
+ "interface_name": "eth1",
+ "static_ips": [
+ "10.89.0.2",
+ "fde0::2"
+ ]
+ }
+ },
+ "network_info": {
+ "metric": {
+ "dns_enabled": false,
+ "driver": "macvlan",
+ "id": "7ba44a9a709f8093621eae1a1db2ccafc2471bae19cdf9dd2ea7cf3773b9211c",
+ "internal": false,
+ "ipv6_enabled": true,
+ "name": "metric",
+ "network_interface": "dummy0",
+ "subnets": [
+ {
+ "gateway": "10.89.0.1",
+ "subnet": "10.89.0.0/24"
+ },
+ {
+ "subnet": "fde0::/64",
+ "gateway": "fde0::1"
+ }
+ ],
+ "options": {
+ "metric": "200"
+ }
+ }
+ }
+}
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/netavark/vendor.tar.gz /work/SRC/openSUSE:Factory/.netavark.new.7232/vendor.tar.gz differ: char 200439, line 774
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package passt for openSUSE:Factory checked in at 2024-08-13 13:22:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/passt (Old)
and /work/SRC/openSUSE:Factory/.passt.new.7232 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "passt"
Tue Aug 13 13:22:03 2024 rev:12 rq:1193334 version:20240806.ee36266
Changes:
--------
--- /work/SRC/openSUSE:Factory/passt/passt.changes 2024-08-07 06:10:31.394618438 +0200
+++ /work/SRC/openSUSE:Factory/.passt.new.7232/passt.changes 2024-08-13 13:22:08.707499255 +0200
@@ -1,0 +2,15 @@
+Tue Aug 06 16:58:22 UTC 2024 - dcermak(a)suse.com
+
+- Update to version 20240806.ee36266:
+ * log, passt: Keep printing to stderr when passt is running in foreground
+ * tcp_splice: Fix side in OUT_WAIT flag setting
+ * util: Use unsigned (size_t) value for iov length
+ * udp_flow: move all udp_flow functions to udp_flow.c
+ * udp_flow: Remove udp_meta_t from the parameters of udp_flow_from_sock()
+ * log: Make logfile_write() private
+ * pasta: Save errno on signal handler entry, restore on return when needed
+ * pasta: modify hostname when detaching new namespace
+ * Fix typo in README file
+ * fedora/rpkg: List myself as author for changelog entries
+
+-------------------------------------------------------------------
Old:
----
passt-20240726.57a21d2.tar.zst
New:
----
passt-20240806.ee36266.tar.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ passt.spec ++++++
--- /var/tmp/diff_new_pack.0Cexw6/_old 2024-08-13 13:22:09.559534756 +0200
+++ /var/tmp/diff_new_pack.0Cexw6/_new 2024-08-13 13:22:09.563534923 +0200
@@ -44,7 +44,7 @@
%endif
Name: passt
-Version: 20240726.57a21d2
+Version: 20240806.ee36266
Release: 0
Summary: User-mode networking daemons for virtual machines and namespaces
License: GPL-2.0-or-later AND BSD-3-Clause
++++++ _service ++++++
--- /var/tmp/diff_new_pack.0Cexw6/_old 2024-08-13 13:22:09.595536256 +0200
+++ /var/tmp/diff_new_pack.0Cexw6/_new 2024-08-13 13:22:09.599536423 +0200
@@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
<param name="versionformat">%cs.%h</param>
- <param name="revision">2024_07_26.57a21d2</param>
+ <param name="revision">2024_08_06.ee36266</param>
</service>
<service mode="manual" name="recompress">
<param name="file">*.tar</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.0Cexw6/_old 2024-08-13 13:22:09.623537423 +0200
+++ /var/tmp/diff_new_pack.0Cexw6/_new 2024-08-13 13:22:09.627537589 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://passt.top/passt</param>
- <param name="changesrevision">57a21d2df1467302dee71ee9d5683a8b96e6ce7f</param></service></servicedata>
+ <param name="changesrevision">ee36266a55478672ad2c5f4efbd6ca0bef3d37cd</param></service></servicedata>
(No newline at EOF)
++++++ passt-20240726.57a21d2.tar.zst -> passt-20240806.ee36266.tar.zst ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/Makefile new/passt-20240806.ee36266/Makefile
--- old/passt-20240726.57a21d2/Makefile 2024-07-26 14:07:42.000000000 +0200
+++ new/passt-20240806.ee36266/Makefile 2024-08-06 15:03:48.000000000 +0200
@@ -47,7 +47,7 @@
PASST_SRCS = arch.c arp.c checksum.c conf.c dhcp.c dhcpv6.c flow.c fwd.c \
icmp.c igmp.c inany.c iov.c ip.c isolation.c lineread.c log.c mld.c \
ndp.c netlink.c packet.c passt.c pasta.c pcap.c pif.c tap.c tcp.c \
- tcp_buf.c tcp_splice.c udp.c util.c
+ tcp_buf.c tcp_splice.c udp.c udp_flow.c util.c
QRAP_SRCS = qrap.c
SRCS = $(PASST_SRCS) $(QRAP_SRCS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/README.md new/passt-20240806.ee36266/README.md
--- old/passt-20240726.57a21d2/README.md 2024-07-26 14:07:42.000000000 +0200
+++ new/passt-20240806.ee36266/README.md 2024-08-06 15:03:48.000000000 +0200
@@ -398,7 +398,7 @@
and nameserver using SLAAC
* [DHCPv6 server](/passt/tree/dhcpv6.c): a simple
implementation handing out one single IPv6 address to the guest or namespace,
- namely, the the same address as the first one configured for the upstream host
+ namely, the same address as the first one configured for the upstream host
interface, and passing the nameservers configured on the host
## Addresses
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/contrib/fedora/rpkg.macros new/passt-20240806.ee36266/contrib/fedora/rpkg.macros
--- old/passt-20240726.57a21d2/contrib/fedora/rpkg.macros 2024-07-26 14:07:42.000000000 +0200
+++ new/passt-20240806.ee36266/contrib/fedora/rpkg.macros 2024-08-06 15:03:48.000000000 +0200
@@ -29,7 +29,11 @@
[ -z "${__from}" ] && __from="$(git rev-list --max-parents=0 HEAD)"
__date="$(git log --pretty="format:%cI" "${__to}" -1)"
- __author="$(git log -1 --pretty="format:%an <%ae>" ${__to} -- contrib/fedora)"
+ __author="Stefano Brivio <sbrivio(a)redhat.com>"
+ # Use:
+ # __author="$(git log -1 --pretty="format:%an <%ae>" ${__to} -- contrib/fedora)"
+ # if you want the author of changelog entries to match the latest
+ # author for contrib/fedora
printf "* %s %s - %s\n" "$(date "+%a %b %e %Y" -d "${__date}")" "${__author}" "$(git_version "${__to}")-1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/log.c new/passt-20240806.ee36266/log.c
--- old/passt-20240726.57a21d2/log.c 2024-07-26 14:07:42.000000000 +0200
+++ new/passt-20240806.ee36266/log.c 2024-08-06 15:03:48.000000000 +0200
@@ -44,7 +44,7 @@
int log_trace; /* --trace mode enabled */
bool log_conf_parsed; /* Logging options already parsed */
-bool log_runtime; /* Daemonised, or ready in foreground */
+bool log_stderr = true; /* Not daemonised, no shell spawned */
/**
* logtime_fmt_and_arg() - Build format and arguments to print relative log time
@@ -55,6 +55,177 @@
(timespec_diff_us((x), &log_start) / 1000000LL), \
(timespec_diff_us((x), &log_start) / 100LL)
+/* Prefixes for log file messages, indexed by priority */
+const char *logfile_prefix[] = {
+ NULL, NULL, NULL, /* Unused: LOG_EMERG, LOG_ALERT, LOG_CRIT */
+ "ERROR: ",
+ "WARNING: ",
+ NULL, /* Unused: LOG_NOTICE */
+ "info: ",
+ " ", /* LOG_DEBUG */
+};
+
+#ifdef FALLOC_FL_COLLAPSE_RANGE
+/**
+ * logfile_rotate_fallocate() - Write header, set log_written after fallocate()
+ * @fd: Log file descriptor
+ * @now: Current timestamp
+ *
+ * #syscalls lseek ppc64le:_llseek ppc64:_llseek arm:_llseek
+ */
+static void logfile_rotate_fallocate(int fd, const struct timespec *now)
+{
+ char buf[BUFSIZ];
+ const char *nl;
+ int n;
+
+ if (lseek(fd, 0, SEEK_SET) == -1)
+ return;
+ if (read(fd, buf, BUFSIZ) == -1)
+ return;
+
+ n = snprintf(buf, BUFSIZ, "%s - log truncated at ", log_header);
+ n += snprintf(buf + n, BUFSIZ - n, logtime_fmt_and_arg(now));
+
+ /* Avoid partial lines by padding the header with spaces */
+ nl = memchr(buf + n + 1, '\n', BUFSIZ - n - 1);
+ if (nl)
+ memset(buf + n, ' ', nl - (buf + n));
+
+ if (lseek(fd, 0, SEEK_SET) == -1)
+ return;
+ if (write(fd, buf, BUFSIZ) == -1)
+ return;
+
+ log_written -= log_cut_size;
+}
+#endif /* FALLOC_FL_COLLAPSE_RANGE */
+
+/**
+ * logfile_rotate_move() - Fallback: move recent entries toward start, then cut
+ * @fd: Log file descriptor
+ * @now: Current timestamp
+ *
+ * #syscalls lseek ppc64le:_llseek ppc64:_llseek arm:_llseek
+ * #syscalls ftruncate
+ */
+static void logfile_rotate_move(int fd, const struct timespec *now)
+{
+ int header_len, write_offset, end, discard, n;
+ char buf[BUFSIZ];
+ const char *nl;
+
+ header_len = snprintf(buf, BUFSIZ, "%s - log truncated at ",
+ log_header);
+ header_len += snprintf(buf + header_len, BUFSIZ - header_len,
+ logtime_fmt_and_arg(now));
+
+ if (lseek(fd, 0, SEEK_SET) == -1)
+ return;
+ if (write(fd, buf, header_len) == -1)
+ return;
+
+ end = write_offset = header_len;
+ discard = log_cut_size + header_len;
+
+ /* Try to cut cleanly at newline */
+ if (lseek(fd, discard, SEEK_SET) == -1)
+ goto out;
+ if ((n = read(fd, buf, BUFSIZ)) <= 0)
+ goto out;
+ if ((nl = memchr(buf, '\n', n)))
+ discard += (nl - buf) + 1;
+
+ /* Go to first block to be moved */
+ if (lseek(fd, discard, SEEK_SET) == -1)
+ goto out;
+
+ while ((n = read(fd, buf, BUFSIZ)) > 0) {
+ end = header_len;
+
+ if (lseek(fd, write_offset, SEEK_SET) == -1)
+ goto out;
+ if ((n = write(fd, buf, n)) == -1)
+ goto out;
+ write_offset += n;
+
+ if ((n = lseek(fd, 0, SEEK_CUR)) == -1)
+ goto out;
+
+ if (lseek(fd, discard - header_len, SEEK_CUR) == -1)
+ goto out;
+
+ end = n;
+ }
+
+out:
+ if (ftruncate(fd, end))
+ return;
+
+ log_written = end;
+}
+
+/**
+ * logfile_rotate() - "Rotate" log file once it's full
+ * @fd: Log file descriptor
+ * @now: Current timestamp
+ *
+ * Return: 0 on success, negative error code on failure
+ *
+ * #syscalls fcntl
+ *
+ * fallocate() passed as EXTRA_SYSCALL only if FALLOC_FL_COLLAPSE_RANGE is there
+ */
+static int logfile_rotate(int fd, const struct timespec *now)
+{
+ if (fcntl(fd, F_SETFL, O_RDWR /* Drop O_APPEND: explicit lseek() */))
+ return -errno;
+
+#ifdef FALLOC_FL_COLLAPSE_RANGE
+ /* Only for Linux >= 3.15, extent-based ext4 or XFS, glibc >= 2.18 */
+ if (!fallocate(fd, FALLOC_FL_COLLAPSE_RANGE, 0, log_cut_size))
+ logfile_rotate_fallocate(fd, now);
+ else
+#endif
+ logfile_rotate_move(fd, now);
+
+ if (fcntl(fd, F_SETFL, O_RDWR | O_APPEND))
+ return -errno;
+
+ return 0;
+}
+
+/**
+ * logfile_write() - Write entry to log file, trigger rotation if full
+ * @newline: Append newline at the end of the message, if missing
+ * @pri: Facility and level map, same as priority for vsyslog()
+ * @format: Same as vsyslog() format
+ * @ap: Same as vsyslog() ap
+ */
+static void logfile_write(bool newline, int pri, const char *format, va_list ap)
+{
+ struct timespec now;
+ char buf[BUFSIZ];
+ int n;
+
+ if (clock_gettime(CLOCK_MONOTONIC, &now))
+ return;
+
+ n = snprintf(buf, BUFSIZ, logtime_fmt_and_arg(&now));
+ n += snprintf(buf + n, BUFSIZ - n, ": %s", logfile_prefix[pri]);
+
+ n += vsnprintf(buf + n, BUFSIZ - n, format, ap);
+
+ if (newline && format[strlen(format)] != '\n')
+ n += snprintf(buf + n, BUFSIZ - n, "\n");
+
+ if ((log_written + n >= log_size) && logfile_rotate(log_file, &now))
+ return;
+
+ if ((n = write(log_file, buf, n)) >= 0)
+ log_written += n;
+}
+
/**
* vlogmsg() - Print or send messages to log or output files as configured
* @newline: Append newline at the end of the message, if missing
@@ -86,7 +257,7 @@
}
if (debug_print || !log_conf_parsed ||
- (!log_runtime && (log_mask & LOG_MASK(LOG_PRI(pri))))) {
+ (log_stderr && (log_mask & LOG_MASK(LOG_PRI(pri))))) {
(void)vfprintf(stderr, format, ap);
if (newline && format[strlen(format)] != '\n')
fprintf(stderr, "\n");
@@ -125,16 +296,6 @@
logmsg(true, pri, ": %s", strerror(errno_copy));
}
-/* Prefixes for log file messages, indexed by priority */
-const char *logfile_prefix[] = {
- NULL, NULL, NULL, /* Unused: LOG_EMERG, LOG_ALERT, LOG_CRIT */
- "ERROR: ",
- "WARNING: ",
- NULL, /* Unused: LOG_NOTICE */
- "info: ",
- " ", /* LOG_DEBUG */
-};
-
/**
* trace_init() - Set log_trace depending on trace (debug) mode
* @enable: Tracing debug mode enabled if non-zero
@@ -203,7 +364,7 @@
if (newline && format[strlen(format)] != '\n')
n += snprintf(buf + n, BUFSIZ - n, "\n");
- if (log_sock >= 0 && send(log_sock, buf, n, 0) != n && !log_runtime)
+ if (log_sock >= 0 && send(log_sock, buf, n, 0) != n && log_stderr)
fprintf(stderr, "Failed to send %i bytes to syslog\n", n);
}
@@ -239,163 +400,3 @@
log_cut_size = ROUND_UP(log_size * LOGFILE_CUT_RATIO / 100, PAGE_SIZE);
}
-#ifdef FALLOC_FL_COLLAPSE_RANGE
-/**
- * logfile_rotate_fallocate() - Write header, set log_written after fallocate()
- * @fd: Log file descriptor
- * @now: Current timestamp
- *
- * #syscalls lseek ppc64le:_llseek ppc64:_llseek arm:_llseek
- */
-static void logfile_rotate_fallocate(int fd, const struct timespec *now)
-{
- char buf[BUFSIZ];
- const char *nl;
- int n;
-
- if (lseek(fd, 0, SEEK_SET) == -1)
- return;
- if (read(fd, buf, BUFSIZ) == -1)
- return;
-
- n = snprintf(buf, BUFSIZ, "%s - log truncated at ", log_header);
- n += snprintf(buf + n, BUFSIZ - n, logtime_fmt_and_arg(now));
-
- /* Avoid partial lines by padding the header with spaces */
- nl = memchr(buf + n + 1, '\n', BUFSIZ - n - 1);
- if (nl)
- memset(buf + n, ' ', nl - (buf + n));
-
- if (lseek(fd, 0, SEEK_SET) == -1)
- return;
- if (write(fd, buf, BUFSIZ) == -1)
- return;
-
- log_written -= log_cut_size;
-}
-#endif /* FALLOC_FL_COLLAPSE_RANGE */
-
-/**
- * logfile_rotate_move() - Fallback: move recent entries toward start, then cut
- * @fd: Log file descriptor
- * @now: Current timestamp
- *
- * #syscalls lseek ppc64le:_llseek ppc64:_llseek arm:_llseek
- * #syscalls ftruncate
- */
-static void logfile_rotate_move(int fd, const struct timespec *now)
-{
- int header_len, write_offset, end, discard, n;
- char buf[BUFSIZ];
- const char *nl;
-
- header_len = snprintf(buf, BUFSIZ, "%s - log truncated at ",
- log_header);
- header_len += snprintf(buf + header_len, BUFSIZ - header_len,
- logtime_fmt_and_arg(now));
-
- if (lseek(fd, 0, SEEK_SET) == -1)
- return;
- if (write(fd, buf, header_len) == -1)
- return;
-
- end = write_offset = header_len;
- discard = log_cut_size + header_len;
-
- /* Try to cut cleanly at newline */
- if (lseek(fd, discard, SEEK_SET) == -1)
- goto out;
- if ((n = read(fd, buf, BUFSIZ)) <= 0)
- goto out;
- if ((nl = memchr(buf, '\n', n)))
- discard += (nl - buf) + 1;
-
- /* Go to first block to be moved */
- if (lseek(fd, discard, SEEK_SET) == -1)
- goto out;
-
- while ((n = read(fd, buf, BUFSIZ)) > 0) {
- end = header_len;
-
- if (lseek(fd, write_offset, SEEK_SET) == -1)
- goto out;
- if ((n = write(fd, buf, n)) == -1)
- goto out;
- write_offset += n;
-
- if ((n = lseek(fd, 0, SEEK_CUR)) == -1)
- goto out;
-
- if (lseek(fd, discard - header_len, SEEK_CUR) == -1)
- goto out;
-
- end = n;
- }
-
-out:
- if (ftruncate(fd, end))
- return;
-
- log_written = end;
-}
-
-/**
- * logfile_rotate() - "Rotate" log file once it's full
- * @fd: Log file descriptor
- * @now: Current timestamp
- *
- * Return: 0 on success, negative error code on failure
- *
- * #syscalls fcntl
- *
- * fallocate() passed as EXTRA_SYSCALL only if FALLOC_FL_COLLAPSE_RANGE is there
- */
-static int logfile_rotate(int fd, const struct timespec *now)
-{
- if (fcntl(fd, F_SETFL, O_RDWR /* Drop O_APPEND: explicit lseek() */))
- return -errno;
-
-#ifdef FALLOC_FL_COLLAPSE_RANGE
- /* Only for Linux >= 3.15, extent-based ext4 or XFS, glibc >= 2.18 */
- if (!fallocate(fd, FALLOC_FL_COLLAPSE_RANGE, 0, log_cut_size))
- logfile_rotate_fallocate(fd, now);
- else
-#endif
- logfile_rotate_move(fd, now);
-
- if (fcntl(fd, F_SETFL, O_RDWR | O_APPEND))
- return -errno;
-
- return 0;
-}
-
-/**
- * logfile_write() - Write entry to log file, trigger rotation if full
- * @newline: Append newline at the end of the message, if missing
- * @pri: Facility and level map, same as priority for vsyslog()
- * @format: Same as vsyslog() format
- * @ap: Same as vsyslog() ap
- */
-void logfile_write(bool newline, int pri, const char *format, va_list ap)
-{
- struct timespec now;
- char buf[BUFSIZ];
- int n;
-
- if (clock_gettime(CLOCK_MONOTONIC, &now))
- return;
-
- n = snprintf(buf, BUFSIZ, logtime_fmt_and_arg(&now));
- n += snprintf(buf + n, BUFSIZ - n, ": %s", logfile_prefix[pri]);
-
- n += vsnprintf(buf + n, BUFSIZ - n, format, ap);
-
- if (newline && format[strlen(format)] != '\n')
- n += snprintf(buf + n, BUFSIZ - n, "\n");
-
- if ((log_written + n >= log_size) && logfile_rotate(log_file, &now))
- return;
-
- if ((n = write(log_file, buf, n)) >= 0)
- log_written += n;
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/log.h new/passt-20240806.ee36266/log.h
--- old/passt-20240726.57a21d2/log.h 2024-07-26 14:07:42.000000000 +0200
+++ new/passt-20240806.ee36266/log.h 2024-08-06 15:03:48.000000000 +0200
@@ -43,7 +43,7 @@
extern int log_trace;
extern bool log_conf_parsed;
-extern bool log_runtime;
+extern bool log_stderr;
extern struct timespec log_start;
void trace_init(int enable);
@@ -56,7 +56,6 @@
void __openlog(const char *ident, int option, int facility);
void logfile_init(const char *name, const char *path, size_t size);
void passt_vsyslog(bool newline, int pri, const char *format, va_list ap);
-void logfile_write(bool newline, int pri, const char *format, va_list ap);
void __setlogmask(int mask);
#endif /* LOG_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/passt.c new/passt-20240806.ee36266/passt.c
--- old/passt-20240726.57a21d2/passt.c 2024-07-26 14:07:42.000000000 +0200
+++ new/passt-20240806.ee36266/passt.c 2024-08-06 15:03:48.000000000 +0200
@@ -290,15 +290,17 @@
if (isolate_prefork(&c))
die("Failed to sandbox process, exiting");
- if (!c.foreground)
+ if (!c.foreground) {
__daemon(c.pidfile_fd, devnull_fd);
- else
+ log_stderr = false;
+ } else {
pidfile_write(c.pidfile_fd, getpid());
+ }
- log_runtime = true;
-
- if (pasta_child_pid)
+ if (pasta_child_pid) {
kill(pasta_child_pid, SIGUSR1);
+ log_stderr = false;
+ }
isolate_postfork(&c);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/pasta.c new/passt-20240806.ee36266/pasta.c
--- old/passt-20240726.57a21d2/pasta.c 2024-07-26 14:07:42.000000000 +0200
+++ new/passt-20240806.ee36266/pasta.c 2024-08-06 15:03:48.000000000 +0200
@@ -50,6 +50,8 @@
#include "netlink.h"
#include "log.h"
+#define HOSTNAME_PREFIX "pasta-"
+
/* PID of child, in case we created a namespace */
int pasta_child_pid;
@@ -59,6 +61,7 @@
*/
void pasta_child_handler(int signal)
{
+ int errno_save = errno;
siginfo_t infop;
(void)signal;
@@ -83,6 +86,8 @@
waitid(P_ALL, 0, NULL, WEXITED | WNOHANG);
waitid(P_ALL, 0, NULL, WEXITED | WNOHANG);
+
+ errno = errno_save;
}
/**
@@ -177,6 +182,7 @@
/* cppcheck-suppress [constParameterCallback, unmatchedSuppression] */
static int pasta_spawn_cmd(void *arg)
{
+ char hostname[HOST_NAME_MAX + 1] = HOSTNAME_PREFIX;
const struct pasta_spawn_cmd_arg *a;
sigset_t set;
@@ -187,6 +193,14 @@
if (write_file("/proc/sys/net/ipv4/ping_group_range", "0 0"))
warn("Cannot set ping_group_range, ICMP requests might fail");
+ if (!gethostname(hostname + sizeof(HOSTNAME_PREFIX) - 1,
+ HOST_NAME_MAX + 1 - sizeof(HOSTNAME_PREFIX)) ||
+ errno == ENAMETOOLONG) {
+ hostname[HOST_NAME_MAX] = '\0';
+ if (sethostname(hostname, strlen(hostname)))
+ warn("Unable to set pasta-prefixed hostname");
+ }
+
/* Wait for the parent to be ready: see main() */
sigemptyset(&set);
sigaddset(&set, SIGUSR1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/tcp_splice.c new/passt-20240806.ee36266/tcp_splice.c
--- old/passt-20240726.57a21d2/tcp_splice.c 2024-07-26 14:07:42.000000000 +0200
+++ new/passt-20240806.ee36266/tcp_splice.c 2024-08-06 15:03:48.000000000 +0200
@@ -577,7 +577,7 @@
if (conn->read[fromsidei] == conn->written[fromsidei])
break;
- conn_event(c, conn, OUT_WAIT(fromsidei));
+ conn_event(c, conn, OUT_WAIT(!fromsidei));
break;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/udp.c new/passt-20240806.ee36266/udp.c
--- old/passt-20240726.57a21d2/udp.c 2024-07-26 14:07:42.000000000 +0200
+++ new/passt-20240806.ee36266/udp.c 2024-08-06 15:03:48.000000000 +0200
@@ -95,7 +95,6 @@
#include <sys/socket.h>
#include <sys/uio.h>
#include <time.h>
-#include <fcntl.h>
#include <arpa/inet.h>
#include <linux/errqueue.h>
@@ -111,7 +110,6 @@
#include "log.h"
#include "flow_table.h"
-#define UDP_CONN_TIMEOUT 180 /* s, timeout for ephemeral or local bind */
#define UDP_MAX_FRAMES 32 /* max # of frames to receive at once */
/* "Spliced" sockets indexed by bound port (host order) */
@@ -277,199 +275,6 @@
}
/**
- * udp_at_sidx() - Get UDP specific flow at given sidx
- * @sidx: Flow and side to retrieve
- *
- * Return: UDP specific flow at @sidx, or NULL of @sidx is invalid. Asserts if
- * the flow at @sidx is not FLOW_UDP.
- */
-struct udp_flow *udp_at_sidx(flow_sidx_t sidx)
-{
- union flow *flow = flow_at_sidx(sidx);
-
- if (!flow)
- return NULL;
-
- ASSERT(flow->f.type == FLOW_UDP);
- return &flow->udp;
-}
-
-/*
- * udp_flow_close() - Close and clean up UDP flow
- * @c: Execution context
- * @uflow: UDP flow
- */
-static void udp_flow_close(const struct ctx *c, struct udp_flow *uflow)
-{
- if (uflow->s[INISIDE] >= 0) {
- /* The listening socket needs to stay in epoll */
- close(uflow->s[INISIDE]);
- uflow->s[INISIDE] = -1;
- }
-
- if (uflow->s[TGTSIDE] >= 0) {
- /* But the flow specific one needs to be removed */
- epoll_ctl(c->epollfd, EPOLL_CTL_DEL, uflow->s[TGTSIDE], NULL);
- close(uflow->s[TGTSIDE]);
- uflow->s[TGTSIDE] = -1;
- }
- flow_hash_remove(c, FLOW_SIDX(uflow, INISIDE));
- if (!pif_is_socket(uflow->f.pif[TGTSIDE]))
- flow_hash_remove(c, FLOW_SIDX(uflow, TGTSIDE));
-}
-
-/**
- * udp_flow_new() - Common setup for a new UDP flow
- * @c: Execution context
- * @flow: Initiated flow
- * @s_ini: Initiating socket (or -1)
- * @now: Timestamp
- *
- * Return: UDP specific flow, if successful, NULL on failure
- */
-static flow_sidx_t udp_flow_new(const struct ctx *c, union flow *flow,
- int s_ini, const struct timespec *now)
-{
- const struct flowside *ini = &flow->f.side[INISIDE];
- struct udp_flow *uflow = NULL;
- const struct flowside *tgt;
- uint8_t tgtpif;
-
- if (!inany_is_unicast(&ini->eaddr) || ini->eport == 0) {
- flow_trace(flow, "Invalid endpoint to initiate UDP flow");
- goto cancel;
- }
-
- if (!(tgt = flow_target(c, flow, IPPROTO_UDP)))
- goto cancel;
- tgtpif = flow->f.pif[TGTSIDE];
-
- uflow = FLOW_SET_TYPE(flow, FLOW_UDP, udp);
- uflow->ts = now->tv_sec;
- uflow->s[INISIDE] = uflow->s[TGTSIDE] = -1;
-
- if (s_ini >= 0) {
- /* When using auto port-scanning the listening port could go
- * away, so we need to duplicate the socket
- */
- uflow->s[INISIDE] = fcntl(s_ini, F_DUPFD_CLOEXEC, 0);
- if (uflow->s[INISIDE] < 0) {
- flow_err(uflow,
- "Couldn't duplicate listening socket: %s",
- strerror(errno));
- goto cancel;
- }
- }
-
- if (pif_is_socket(tgtpif)) {
- struct mmsghdr discard[UIO_MAXIOV] = { 0 };
- union {
- flow_sidx_t sidx;
- uint32_t data;
- } fref = {
- .sidx = FLOW_SIDX(flow, TGTSIDE),
- };
- int rc;
-
- uflow->s[TGTSIDE] = flowside_sock_l4(c, EPOLL_TYPE_UDP_REPLY,
- tgtpif, tgt, fref.data);
- if (uflow->s[TGTSIDE] < 0) {
- flow_dbg(uflow,
- "Couldn't open socket for spliced flow: %s",
- strerror(errno));
- goto cancel;
- }
-
- if (flowside_connect(c, uflow->s[TGTSIDE], tgtpif, tgt) < 0) {
- flow_dbg(uflow,
- "Couldn't connect flow socket: %s",
- strerror(errno));
- goto cancel;
- }
-
- /* It's possible, if unlikely, that we could receive some
- * unrelated packets in between the bind() and connect() of this
- * socket. For now we just discard these. We could consider
- * trying to redirect these to an appropriate handler, if we
- * need to.
- */
- rc = recvmmsg(uflow->s[TGTSIDE], discard, ARRAY_SIZE(discard),
- MSG_DONTWAIT, NULL);
- if (rc >= ARRAY_SIZE(discard)) {
- flow_dbg(uflow,
- "Too many (%d) spurious reply datagrams", rc);
- goto cancel;
- } else if (rc > 0) {
- flow_trace(uflow,
- "Discarded %d spurious reply datagrams", rc);
- } else if (errno != EAGAIN) {
- flow_err(uflow,
- "Unexpected error discarding datagrams: %s",
- strerror(errno));
- }
- }
-
- flow_hash_insert(c, FLOW_SIDX(uflow, INISIDE));
-
- /* If the target side is a socket, it will be a reply socket that knows
- * its own flowside. But if it's tap, then we need to look it up by
- * hash.
- */
- if (!pif_is_socket(tgtpif))
- flow_hash_insert(c, FLOW_SIDX(uflow, TGTSIDE));
- FLOW_ACTIVATE(uflow);
-
- return FLOW_SIDX(uflow, TGTSIDE);
-
-cancel:
- if (uflow)
- udp_flow_close(c, uflow);
- flow_alloc_cancel(flow);
- return FLOW_SIDX_NONE;
-}
-
-/**
- * udp_flow_from_sock() - Find or create UDP flow for "listening" socket
- * @c: Execution context
- * @ref: epoll reference of the receiving socket
- * @meta: Metadata buffer for the datagram
- * @now: Timestamp
- *
- * #syscalls fcntl
- *
- * Return: sidx for the destination side of the flow for this packet, or
- * FLOW_SIDX_NONE if we couldn't find or create a flow.
- */
-static flow_sidx_t udp_flow_from_sock(const struct ctx *c, union epoll_ref ref,
- struct udp_meta_t *meta,
- const struct timespec *now)
-{
- struct udp_flow *uflow;
- union flow *flow;
- flow_sidx_t sidx;
-
- ASSERT(ref.type == EPOLL_TYPE_UDP_LISTEN);
-
- sidx = flow_lookup_sa(c, IPPROTO_UDP, ref.udp.pif, &meta->s_in, ref.udp.port);
- if ((uflow = udp_at_sidx(sidx))) {
- uflow->ts = now->tv_sec;
- return flow_sidx_opposite(sidx);
- }
-
- if (!(flow = flow_alloc())) {
- char sastr[SOCKADDR_STRLEN];
-
- debug("Couldn't allocate flow for UDP datagram from %s %s",
- pif_name(ref.udp.pif),
- sockaddr_ntop(&meta->s_in, sastr, sizeof(sastr)));
- return FLOW_SIDX_NONE;
- }
-
- flow_initiate_sa(flow, ref.udp.pif, &meta->s_in, ref.udp.port);
- return udp_flow_new(c, flow, ref.fd, now);
-}
-
-/**
* udp_splice_prepare() - Prepare one datagram for splicing
* @mmh: Receiving mmsghdr array
* @idx: Index of the datagram to prepare
@@ -712,7 +517,7 @@
* the array, or recalculating tosidx for a single entry, we have to
* populate it one entry *ahead* of the loop counter.
*/
- udp_meta[0].tosidx = udp_flow_from_sock(c, ref, &udp_meta[0], now);
+ udp_meta[0].tosidx = udp_flow_from_sock(c, ref, &udp_meta[0].s_in, now);
for (i = 0; i < n; ) {
flow_sidx_t batchsidx = udp_meta[i].tosidx;
uint8_t batchpif = pif_at_sidx(batchsidx);
@@ -730,7 +535,7 @@
break;
udp_meta[i].tosidx = udp_flow_from_sock(c, ref,
- &udp_meta[i],
+ &udp_meta[i].s_in,
now);
} while (flow_sidx_eq(udp_meta[i].tosidx, batchsidx));
@@ -805,53 +610,6 @@
}
/**
- * udp_flow_from_tap() - Find or create UDP flow for tap packets
- * @c: Execution context
- * @pif: pif on which the packet is arriving
- * @af: Address family, AF_INET or AF_INET6
- * @saddr: Source address on guest side
- * @daddr: Destination address guest side
- * @srcport: Source port on guest side
- * @dstport: Destination port on guest side
- *
- * Return: sidx for the destination side of the flow for this packet, or
- * FLOW_SIDX_NONE if we couldn't find or create a flow.
- */
-static flow_sidx_t udp_flow_from_tap(const struct ctx *c,
- uint8_t pif, sa_family_t af,
- const void *saddr, const void *daddr,
- in_port_t srcport, in_port_t dstport,
- const struct timespec *now)
-{
- struct udp_flow *uflow;
- union flow *flow;
- flow_sidx_t sidx;
-
- ASSERT(pif == PIF_TAP);
-
- sidx = flow_lookup_af(c, IPPROTO_UDP, pif, af, saddr, daddr,
- srcport, dstport);
- if ((uflow = udp_at_sidx(sidx))) {
- uflow->ts = now->tv_sec;
- return flow_sidx_opposite(sidx);
- }
-
- if (!(flow = flow_alloc())) {
- char sstr[INET6_ADDRSTRLEN], dstr[INET6_ADDRSTRLEN];
-
- debug("Couldn't allocate flow for UDP datagram from %s %s:%hu -> %s:%hu",
- pif_name(pif),
- inet_ntop(af, saddr, sstr, sizeof(sstr)), srcport,
- inet_ntop(af, daddr, dstr, sizeof(dstr)), dstport);
- return FLOW_SIDX_NONE;
- }
-
- flow_initiate_af(flow, PIF_TAP, af, saddr, srcport, daddr, dstport);
-
- return udp_flow_new(c, flow, -1, now);
-}
-
-/**
* udp_tap_handler() - Handle packets from tap
* @c: Execution context
* @pif: pif on which the packet is arriving
@@ -1099,24 +857,6 @@
}
/**
- * udp_flow_timer() - Handler for timed events related to a given flow
- * @c: Execution context
- * @uflow: UDP flow
- * @now: Current timestamp
- *
- * Return: true if the flow is ready to free, false otherwise
- */
-bool udp_flow_timer(const struct ctx *c, struct udp_flow *uflow,
- const struct timespec *now)
-{
- if (now->tv_sec - uflow->ts <= UDP_CONN_TIMEOUT)
- return false;
-
- udp_flow_close(c, uflow);
- return true;
-}
-
-/**
* udp_timer() - Scan activity bitmaps for ports with associated timed events
* @c: Execution context
* @now: Current timestamp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/udp_flow.c new/passt-20240806.ee36266/udp_flow.c
--- old/passt-20240726.57a21d2/udp_flow.c 1970-01-01 01:00:00.000000000 +0100
+++ new/passt-20240806.ee36266/udp_flow.c 2024-08-06 15:03:48.000000000 +0200
@@ -0,0 +1,274 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later
+ * Copyright Red Hat
+ * Author: David Gibson <david(a)gibson.dropbear.id.au>
+ *
+ * UDP flow tracking functions
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/uio.h>
+
+#include "util.h"
+#include "passt.h"
+#include "flow_table.h"
+
+#define UDP_CONN_TIMEOUT 180 /* s, timeout for ephemeral or local bind */
+
+/**
+ * udp_at_sidx() - Get UDP specific flow at given sidx
+ * @sidx: Flow and side to retrieve
+ *
+ * Return: UDP specific flow at @sidx, or NULL of @sidx is invalid. Asserts if
+ * the flow at @sidx is not FLOW_UDP.
+ */
+struct udp_flow *udp_at_sidx(flow_sidx_t sidx)
+{
+ union flow *flow = flow_at_sidx(sidx);
+
+ if (!flow)
+ return NULL;
+
+ ASSERT(flow->f.type == FLOW_UDP);
+ return &flow->udp;
+}
+
+/*
+ * udp_flow_close() - Close and clean up UDP flow
+ * @c: Execution context
+ * @uflow: UDP flow
+ */
+static void udp_flow_close(const struct ctx *c, struct udp_flow *uflow)
+{
+ if (uflow->s[INISIDE] >= 0) {
+ /* The listening socket needs to stay in epoll */
+ close(uflow->s[INISIDE]);
+ uflow->s[INISIDE] = -1;
+ }
+
+ if (uflow->s[TGTSIDE] >= 0) {
+ /* But the flow specific one needs to be removed */
+ epoll_ctl(c->epollfd, EPOLL_CTL_DEL, uflow->s[TGTSIDE], NULL);
+ close(uflow->s[TGTSIDE]);
+ uflow->s[TGTSIDE] = -1;
+ }
+ flow_hash_remove(c, FLOW_SIDX(uflow, INISIDE));
+ if (!pif_is_socket(uflow->f.pif[TGTSIDE]))
+ flow_hash_remove(c, FLOW_SIDX(uflow, TGTSIDE));
+}
+
+/**
+ * udp_flow_new() - Common setup for a new UDP flow
+ * @c: Execution context
+ * @flow: Initiated flow
+ * @s_ini: Initiating socket (or -1)
+ * @now: Timestamp
+ *
+ * Return: UDP specific flow, if successful, NULL on failure
+ */
+static flow_sidx_t udp_flow_new(const struct ctx *c, union flow *flow,
+ int s_ini, const struct timespec *now)
+{
+ const struct flowside *ini = &flow->f.side[INISIDE];
+ struct udp_flow *uflow = NULL;
+ const struct flowside *tgt;
+ uint8_t tgtpif;
+
+ if (!inany_is_unicast(&ini->eaddr) || ini->eport == 0) {
+ flow_trace(flow, "Invalid endpoint to initiate UDP flow");
+ goto cancel;
+ }
+
+ if (!(tgt = flow_target(c, flow, IPPROTO_UDP)))
+ goto cancel;
+ tgtpif = flow->f.pif[TGTSIDE];
+
+ uflow = FLOW_SET_TYPE(flow, FLOW_UDP, udp);
+ uflow->ts = now->tv_sec;
+ uflow->s[INISIDE] = uflow->s[TGTSIDE] = -1;
+
+ if (s_ini >= 0) {
+ /* When using auto port-scanning the listening port could go
+ * away, so we need to duplicate the socket
+ */
+ uflow->s[INISIDE] = fcntl(s_ini, F_DUPFD_CLOEXEC, 0);
+ if (uflow->s[INISIDE] < 0) {
+ flow_err(uflow,
+ "Couldn't duplicate listening socket: %s",
+ strerror(errno));
+ goto cancel;
+ }
+ }
+
+ if (pif_is_socket(tgtpif)) {
+ struct mmsghdr discard[UIO_MAXIOV] = { 0 };
+ union {
+ flow_sidx_t sidx;
+ uint32_t data;
+ } fref = {
+ .sidx = FLOW_SIDX(flow, TGTSIDE),
+ };
+ int rc;
+
+ uflow->s[TGTSIDE] = flowside_sock_l4(c, EPOLL_TYPE_UDP_REPLY,
+ tgtpif, tgt, fref.data);
+ if (uflow->s[TGTSIDE] < 0) {
+ flow_dbg(uflow,
+ "Couldn't open socket for spliced flow: %s",
+ strerror(errno));
+ goto cancel;
+ }
+
+ if (flowside_connect(c, uflow->s[TGTSIDE], tgtpif, tgt) < 0) {
+ flow_dbg(uflow,
+ "Couldn't connect flow socket: %s",
+ strerror(errno));
+ goto cancel;
+ }
+
+ /* It's possible, if unlikely, that we could receive some
+ * unrelated packets in between the bind() and connect() of this
+ * socket. For now we just discard these. We could consider
+ * trying to redirect these to an appropriate handler, if we
+ * need to.
+ */
+ rc = recvmmsg(uflow->s[TGTSIDE], discard, ARRAY_SIZE(discard),
+ MSG_DONTWAIT, NULL);
+ if (rc >= ARRAY_SIZE(discard)) {
+ flow_dbg(uflow,
+ "Too many (%d) spurious reply datagrams", rc);
+ goto cancel;
+ } else if (rc > 0) {
+ flow_trace(uflow,
+ "Discarded %d spurious reply datagrams", rc);
+ } else if (errno != EAGAIN) {
+ flow_err(uflow,
+ "Unexpected error discarding datagrams: %s",
+ strerror(errno));
+ }
+ }
+
+ flow_hash_insert(c, FLOW_SIDX(uflow, INISIDE));
+
+ /* If the target side is a socket, it will be a reply socket that knows
+ * its own flowside. But if it's tap, then we need to look it up by
+ * hash.
+ */
+ if (!pif_is_socket(tgtpif))
+ flow_hash_insert(c, FLOW_SIDX(uflow, TGTSIDE));
+ FLOW_ACTIVATE(uflow);
+
+ return FLOW_SIDX(uflow, TGTSIDE);
+
+cancel:
+ if (uflow)
+ udp_flow_close(c, uflow);
+ flow_alloc_cancel(flow);
+ return FLOW_SIDX_NONE;
+}
+
+/**
+ * udp_flow_from_sock() - Find or create UDP flow for "listening" socket
+ * @c: Execution context
+ * @ref: epoll reference of the receiving socket
+ * @s_in: Source socket address, filled in by recvmmsg()
+ * @now: Timestamp
+ *
+ * #syscalls fcntl
+ *
+ * Return: sidx for the destination side of the flow for this packet, or
+ * FLOW_SIDX_NONE if we couldn't find or create a flow.
+ */
+flow_sidx_t udp_flow_from_sock(const struct ctx *c, union epoll_ref ref,
+ const union sockaddr_inany *s_in,
+ const struct timespec *now)
+{
+ struct udp_flow *uflow;
+ union flow *flow;
+ flow_sidx_t sidx;
+
+ ASSERT(ref.type == EPOLL_TYPE_UDP_LISTEN);
+
+ sidx = flow_lookup_sa(c, IPPROTO_UDP, ref.udp.pif, s_in, ref.udp.port);
+ if ((uflow = udp_at_sidx(sidx))) {
+ uflow->ts = now->tv_sec;
+ return flow_sidx_opposite(sidx);
+ }
+
+ if (!(flow = flow_alloc())) {
+ char sastr[SOCKADDR_STRLEN];
+
+ debug("Couldn't allocate flow for UDP datagram from %s %s",
+ pif_name(ref.udp.pif),
+ sockaddr_ntop(s_in, sastr, sizeof(sastr)));
+ return FLOW_SIDX_NONE;
+ }
+
+ flow_initiate_sa(flow, ref.udp.pif, s_in, ref.udp.port);
+ return udp_flow_new(c, flow, ref.fd, now);
+}
+
+/**
+ * udp_flow_from_tap() - Find or create UDP flow for tap packets
+ * @c: Execution context
+ * @pif: pif on which the packet is arriving
+ * @af: Address family, AF_INET or AF_INET6
+ * @saddr: Source address on guest side
+ * @daddr: Destination address guest side
+ * @srcport: Source port on guest side
+ * @dstport: Destination port on guest side
+ *
+ * Return: sidx for the destination side of the flow for this packet, or
+ * FLOW_SIDX_NONE if we couldn't find or create a flow.
+ */
+flow_sidx_t udp_flow_from_tap(const struct ctx *c,
+ uint8_t pif, sa_family_t af,
+ const void *saddr, const void *daddr,
+ in_port_t srcport, in_port_t dstport,
+ const struct timespec *now)
+{
+ struct udp_flow *uflow;
+ union flow *flow;
+ flow_sidx_t sidx;
+
+ ASSERT(pif == PIF_TAP);
+
+ sidx = flow_lookup_af(c, IPPROTO_UDP, pif, af, saddr, daddr,
+ srcport, dstport);
+ if ((uflow = udp_at_sidx(sidx))) {
+ uflow->ts = now->tv_sec;
+ return flow_sidx_opposite(sidx);
+ }
+
+ if (!(flow = flow_alloc())) {
+ char sstr[INET6_ADDRSTRLEN], dstr[INET6_ADDRSTRLEN];
+
+ debug("Couldn't allocate flow for UDP datagram from %s %s:%hu -> %s:%hu",
+ pif_name(pif),
+ inet_ntop(af, saddr, sstr, sizeof(sstr)), srcport,
+ inet_ntop(af, daddr, dstr, sizeof(dstr)), dstport);
+ return FLOW_SIDX_NONE;
+ }
+
+ flow_initiate_af(flow, PIF_TAP, af, saddr, srcport, daddr, dstport);
+
+ return udp_flow_new(c, flow, -1, now);
+}
+
+/**
+ * udp_flow_timer() - Handler for timed events related to a given flow
+ * @c: Execution context
+ * @uflow: UDP flow
+ * @now: Current timestamp
+ *
+ * Return: true if the flow is ready to free, false otherwise
+ */
+bool udp_flow_timer(const struct ctx *c, struct udp_flow *uflow,
+ const struct timespec *now)
+{
+ if (now->tv_sec - uflow->ts <= UDP_CONN_TIMEOUT)
+ return false;
+
+ udp_flow_close(c, uflow);
+ return true;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/udp_flow.h new/passt-20240806.ee36266/udp_flow.h
--- old/passt-20240726.57a21d2/udp_flow.h 2024-07-26 14:07:42.000000000 +0200
+++ new/passt-20240806.ee36266/udp_flow.h 2024-08-06 15:03:48.000000000 +0200
@@ -21,6 +21,15 @@
int s[SIDES];
};
+struct udp_flow *udp_at_sidx(flow_sidx_t sidx);
+flow_sidx_t udp_flow_from_sock(const struct ctx *c, union epoll_ref ref,
+ const union sockaddr_inany *s_in,
+ const struct timespec *now);
+flow_sidx_t udp_flow_from_tap(const struct ctx *c,
+ uint8_t pif, sa_family_t af,
+ const void *saddr, const void *daddr,
+ in_port_t srcport, in_port_t dstport,
+ const struct timespec *now);
bool udp_flow_timer(const struct ctx *c, struct udp_flow *uflow,
const struct timespec *now);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/util.c new/passt-20240806.ee36266/util.c
--- old/passt-20240726.57a21d2/util.c 2024-07-26 14:07:42.000000000 +0200
+++ new/passt-20240806.ee36266/util.c 2024-08-06 15:03:48.000000000 +0200
@@ -592,10 +592,9 @@
*
* #syscalls write writev
*/
-int write_remainder(int fd, const struct iovec *iov, int iovcnt, size_t skip)
+int write_remainder(int fd, const struct iovec *iov, size_t iovcnt, size_t skip)
{
- int i;
- size_t offset;
+ size_t offset, i;
while ((i = iov_skip_bytes(iov, iovcnt, skip, &offset)) < iovcnt) {
ssize_t rc;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/passt-20240726.57a21d2/util.h new/passt-20240806.ee36266/util.h
--- old/passt-20240726.57a21d2/util.h 2024-07-26 14:07:42.000000000 +0200
+++ new/passt-20240806.ee36266/util.h 2024-08-06 15:03:48.000000000 +0200
@@ -182,7 +182,7 @@
int __daemon(int pidfile_fd, int devnull_fd);
int fls(unsigned long x);
int write_file(const char *path, const char *buf);
-int write_remainder(int fd, const struct iovec *iov, int iovcnt, size_t skip);
+int write_remainder(int fd, const struct iovec *iov, size_t iovcnt, size_t skip);
/**
* af_name() - Return name of an address family
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ovmf for openSUSE:Factory checked in at 2024-08-13 13:22:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ovmf (Old)
and /work/SRC/openSUSE:Factory/.ovmf.new.7232 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ovmf"
Tue Aug 13 13:22:01 2024 rev:104 rq:1193325 version:202402
Changes:
--------
--- /work/SRC/openSUSE:Factory/ovmf/ovmf.changes 2024-07-17 15:14:10.567937207 +0200
+++ /work/SRC/openSUSE:Factory/.ovmf.new.7232/ovmf.changes 2024-08-13 13:22:06.979427257 +0200
@@ -1,0 +2,19 @@
+Mon Aug 12 05:46:00 UTC 2024 - Joey Lee <jlee(a)suse.com>
+
+- Add ovmf-x86_64-sev flavor to X64 against AMD SEV.
+ - Moved "-D SECURE_BOOT_ENABLE" from OVMF_FLAGS to EXTRA_FLAGS_X64,
+ , BUILD_OPTIONS_X86, BUILD_OPTIONS_AA64 and BUILD_OPTIONS_RV64
+ because SEV can NOT work with secure boot.
+- Removed ovmf-Revert-OvmfPkg-PlatformPei-Update-ReserveEmuVariable.patch
+ because the SEV ovmf be separated from X64 ovmf as an independent flavor.
+ - The original patch reverts "58eb8517ad OvmfPkg/PlatformPei: Update
+ ReserveEmuVariableNvStore" which affects all ovmf flavor.
+ - The secure boot be disabled in SEV flavor, so we do not need revert
+ 58eb8517ad anymore. (bsc#1209266)
+- Add 50-ovmf-x86_64-sev.json to descriptors.tar.xz for SEV flavor
+ - Removed features tag:
+ "acpi-s3", "requires-smm", "secure-boot", "enrolled-keys"
+ - Add features tag:
+ "amd-sev", "amd-sev-es", "amd-sev-snp"
+
+-------------------------------------------------------------------
Old:
----
ovmf-Revert-OvmfPkg-PlatformPei-Update-ReserveEmuVariable.patch
BETA DEBUG BEGIN:
Old: because SEV can NOT work with secure boot.
- Removed ovmf-Revert-OvmfPkg-PlatformPei-Update-ReserveEmuVariable.patch
because the SEV ovmf be separated from X64 ovmf as an independent flavor.
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ovmf.spec ++++++
--- /var/tmp/diff_new_pack.iwX0ys/_old 2024-08-13 13:22:08.087473422 +0200
+++ /var/tmp/diff_new_pack.iwX0ys/_new 2024-08-13 13:22:08.091473589 +0200
@@ -63,8 +63,6 @@
Patch8: %{name}-Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch
# Bug 1205613 - L3: win 2k22 UEFI xen VMs cannot boot in xen after upgrade
Patch9: %{name}-Revert-OvmfPkg-OvmfXen-Set-PcdFSBClock.patch
-# Bug 1209266 - OVMF firmware hangs when booting SEV or SEV-ES guest
-Patch10: %{name}-Revert-OvmfPkg-PlatformPei-Update-ReserveEmuVariable.patch
# Bug 1219024 - SVVP test Check SMBIOS Table Specific Requirements fails
Patch11: %{name}-OvmfPkg-SmbiosPlatformDxe-tweak-fallback-release-dat.patch
# Bug 1217704 - ovmf: reproducible builds problem in ovmf-riscv64-code.bin
@@ -231,7 +229,6 @@
# For some reason ARM still uses TPM2_CONFIG_ENABLE
OVMF_FLAGS=" \
- -D SECURE_BOOT_ENABLE \
-D TPM2_ENABLE \
-D TPM2_CONFIG_ENABLE \
-D NETWORK_IP6_ENABLE \
@@ -250,6 +247,7 @@
BUILD_OPTIONS_X86=" \
$OVMF_FLAGS \
-D FD_SIZE_2MB \
+ -D SECURE_BOOT_ENABLE \
-D BUILD_SHELL=FALSE \
-a IA32 \
-p OvmfPkg/OvmfPkgIa32.dsc \
@@ -257,8 +255,10 @@
-t $TOOL_CHAIN \
"
-# Flavors for x86_64: 2MB, 4MB, and 4MB+SMM
-FLAVORS_X64=("ovmf-x86_64" "ovmf-x86_64-4m" "ovmf-x86_64-smm")
+# Flavors for x86_64: 2MB, 4MB, 4MB+SMM and AMD SEV
+FLAVORS_X64=("ovmf-x86_64" "ovmf-x86_64-4m" "ovmf-x86_64-smm" "ovmf-x86_64-sev")
+# Flavors will NOT enroll default kek/db keys
+FLAVORS_X64_SKIP_SB_KEY=("ovmf-x86_64-sev")
BUILD_OPTIONS_X64=" \
$OVMF_FLAGS \
-D BUILD_SHELL=FALSE \
@@ -271,6 +271,7 @@
FLAVORS_AA64=("aavmf-aarch64")
BUILD_OPTIONS_AA64=" \
$OVMF_FLAGS \
+ -D SECURE_BOOT_ENABLE \
-D NETWORK_TLS_ENABLE \
-a AARCH64 \
-p ArmVirtPkg/ArmVirtQemu.dsc \
@@ -291,6 +292,7 @@
FLAVORS_RV64=("riscv")
BUILD_OPTIONS_RV64=" \
$OVMF_FLAGS \
+ -D SECURE_BOOT_ENABLE \
-a RISCV64 \
-p OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc \
-b DEBUG \
@@ -352,15 +354,17 @@
declare -A EXTRA_FLAGS_X64
EXTRA_FLAGS_X64=(
- [ovmf-x86_64]="-p OvmfPkg/OvmfPkgX64.dsc -D FD_SIZE_2MB"
- [ovmf-x86_64-4m]="-p OvmfPkg/OvmfPkgX64.dsc -D FD_SIZE_4MB -D NETWORK_TLS_ENABLE"
- [ovmf-x86_64-smm]="-a IA32 -p OvmfPkg/OvmfPkgIa32X64.dsc -D FD_SIZE_4MB -D NETWORK_TLS_ENABLE -D SMM_REQUIRE"
+ [ovmf-x86_64]="-p OvmfPkg/OvmfPkgX64.dsc -D FD_SIZE_2MB -D SECURE_BOOT_ENABLE"
+ [ovmf-x86_64-4m]="-p OvmfPkg/OvmfPkgX64.dsc -D FD_SIZE_4MB -D NETWORK_TLS_ENABLE -D SECURE_BOOT_ENABLE"
+ [ovmf-x86_64-smm]="-a IA32 -p OvmfPkg/OvmfPkgIa32X64.dsc -D FD_SIZE_4MB -D NETWORK_TLS_ENABLE -D SMM_REQUIRE -D SECURE_BOOT_ENABLE"
+ [ovmf-x86_64-sev]="-p OvmfPkg/OvmfPkgX64.dsc -D FD_SIZE_4MB -D NETWORK_TLS_ENABLE"
)
declare -A OUTDIR_X64
OUTDIR_X64=(
[ovmf-x86_64]="OvmfX64"
[ovmf-x86_64-4m]="OvmfX64"
[ovmf-x86_64-smm]="Ovmf3264"
+ [ovmf-x86_64-sev]="OvmfX64"
)
%ifnarch x86_64
@@ -491,6 +495,10 @@
# We only build the variable templates for X64 and AARCH64
if [ "$ARCH" == "X64" ]; then
FLAVORS=${FLAVORS_X64[@]}
+ # some flavors should NOT enroll default keys
+ for skip in ${FLAVORS_X64_SKIP_SB_KEY[@]}; do
+ FLAVORS=("${FLAVORS[@]/$skip}")
+ done
elif [ "$ARCH" == "AARCH64" ]; then
FLAVORS=${FLAVORS_AA64[@]}
fi
++++++ descriptors.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/descriptors/50-ovmf-x86_64-sev.json new/descriptors/50-ovmf-x86_64-sev.json
--- old/descriptors/50-ovmf-x86_64-sev.json 1970-01-01 01:00:00.000000000 +0100
+++ new/descriptors/50-ovmf-x86_64-sev.json 2024-08-07 10:20:00.571607784 +0200
@@ -0,0 +1,35 @@
+{
+ "description": "UEFI firmware for x86_64, with AMD SEV",
+ "interface-types": [
+ "uefi"
+ ],
+ "mapping": {
+ "device": "flash",
+ "executable": {
+ "filename": "@DATADIR@/ovmf-x86_64-sev-code.bin",
+ "format": "raw"
+ },
+ "nvram-template": {
+ "filename": "@DATADIR@/ovmf-x86_64-sev-vars.bin",
+ "format": "raw"
+ }
+ },
+ "targets": [
+ {
+ "architecture": "x86_64",
+ "machines": [
+ "pc-q35-*"
+ ]
+ }
+ ],
+ "features": [
+ "acpi-s4",
+ "amd-sev",
+ "amd-sev-es",
+ "amd-sev-snp",
+ "verbose-dynamic"
+ ],
+ "tags": [
+
+ ]
+}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2024-08-13 13:21:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old)
and /work/SRC/openSUSE:Factory/.MozillaFirefox.new.7232 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox"
Tue Aug 13 13:21:48 2024 rev:434 rq:1193124 version:129.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2024-07-31 13:28:44.214430980 +0200
+++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new.7232/MozillaFirefox.changes 2024-08-13 13:21:49.282689918 +0200
@@ -0,0 +1,45 @@
+-------------------------------------------------------------------
+Thu Aug 8 06:06:13 UTC 2024 - Wolfgang Rosenauer <wr(a)rosenauer.org>
+
+- Mozilla Firefox 129.0
+ https://www.mozilla.org/en-US/firefox/129.0/releasenotes
+ MFSA 2024-33 (bsc#1228648))
+ * CVE-2024-7518 (bmo#1875354)
+ Fullscreen notification dialog can be obscured by document content
+ * CVE-2024-7519 (bmo#1902307)
+ Out of bounds memory access in graphics shared memory handling
+ * CVE-2024-7520 (bmo#1903041)
+ Type confusion in WebAssembly
+ * CVE-2024-7521 (bmo#1904644)
+ Incomplete WebAssembly exception handing
+ * CVE-2024-7522 (bmo#1906727)
+ Out of bounds read in editor component
+ * CVE-2024-7523 (bmo#1908344)
+ Document content could partially obscure security prompts
+ * CVE-2024-7524 (bmo#1909241)
+ CSP strict-dynamic bypass using web-compatibility shims
+ * CVE-2024-7525 (bmo#1909298)
+ Missing permission check when creating a StreamFilter
+ * CVE-2024-7526 (bmo#1910306)
+ Uninitialized memory used by WebGL
+ * CVE-2024-7527 (bmo#1871303)
+ Use-after-free in JavaScript garbage collection
+ * CVE-2024-7528 (bmo#1895951)
+ Use-after-free in IndexedDB
+ * CVE-2024-7529 (bmo#1903187)
+ Document content could partially obscure security prompts
+ * CVE-2024-7530 (bmo#1904011)
+ Use-after-free in JavaScript code coverage collection
+ * CVE-2024-7531 (bmo#1905691)
+ PK11_Encrypt using CKM_CHACHA20 can reveal plaintext on Intel
+ Sandy Bridge machines
+- removed obsolete patches
+ mozilla-bmo1905018.patch
+ mozilla-bmo1504834-part3.patch
+ mozilla-bmo1512162.patch
+ mozilla-bmo1822730.patch
+ mozilla-fix-aarch64-libopus.patch
+ mozilla-partial-revert-1768632.patch
+- requires NSS 3.102.1
+- extended mozilla-silence-no-return-type.patch
+
Old:
----
firefox-128.0.3.source.tar.xz
firefox-128.0.3.source.tar.xz.asc
l10n-128.0.3.tar.xz
mozilla-bmo1504834-part3.patch
mozilla-bmo1512162.patch
mozilla-bmo1822730.patch
mozilla-bmo1905018.patch
mozilla-fix-aarch64-libopus.patch
mozilla-partial-revert-1768632.patch
New:
----
firefox-129.0.source.tar.xz
firefox-129.0.source.tar.xz.asc
l10n-129.0.tar.xz
BETA DEBUG BEGIN:
Old: mozilla-bmo1905018.patch
mozilla-bmo1504834-part3.patch
mozilla-bmo1512162.patch
Old: mozilla-bmo1504834-part3.patch
mozilla-bmo1512162.patch
mozilla-bmo1822730.patch
Old: mozilla-bmo1512162.patch
mozilla-bmo1822730.patch
mozilla-fix-aarch64-libopus.patch
Old:- removed obsolete patches
mozilla-bmo1905018.patch
mozilla-bmo1504834-part3.patch
Old: mozilla-bmo1822730.patch
mozilla-fix-aarch64-libopus.patch
mozilla-partial-revert-1768632.patch
Old: mozilla-fix-aarch64-libopus.patch
mozilla-partial-revert-1768632.patch
- requires NSS 3.102.1
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaFirefox.spec ++++++
--- /var/tmp/diff_new_pack.xBEImT/_old 2024-08-13 13:22:05.787377589 +0200
+++ /var/tmp/diff_new_pack.xBEImT/_new 2024-08-13 13:22:05.791377756 +0200
@@ -28,9 +28,9 @@
# orig_suffix b3
# major 69
# mainver %%major.99
-%define major 128
-%define mainver %major.0.3
-%define orig_version 128.0.3
+%define major 129
+%define mainver %major.0
+%define orig_version 129.0
%define orig_suffix %{nil}
%define update_channel release
%define branding 1
@@ -114,7 +114,7 @@
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.35
-BuildRequires: mozilla-nss-devel >= 3.101.1
+BuildRequires: mozilla-nss-devel >= 3.102.1
BuildRequires: nasm >= 2.14
BuildRequires: nodejs >= 12.22.12
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
@@ -211,13 +211,10 @@
Patch2: mozilla-kde.patch
Patch3: mozilla-ntlm-full-path.patch
Patch4: mozilla-aarch64-startup-crash.patch
-Patch5: mozilla-fix-aarch64-libopus.patch
Patch6: mozilla-s390-context.patch
Patch7: mozilla-pgo.patch
Patch8: mozilla-reduce-rust-debuginfo.patch
Patch10: mozilla-bmo1504834-part1.patch
-Patch11: mozilla-bmo1504834-part3.patch
-Patch12: mozilla-bmo1512162.patch
Patch14: mozilla-bmo849632.patch
Patch15: mozilla-bmo998749.patch
Patch17: mozilla-libavcodec58_91.patch
@@ -225,12 +222,9 @@
Patch19: mozilla-bmo531915.patch
Patch20: one_swizzle_to_rule_them_all.patch
Patch21: svg-rendering.patch
-Patch22: mozilla-partial-revert-1768632.patch
Patch23: mozilla-rust-disable-future-incompat.patch
-Patch24: mozilla-bmo1822730.patch
Patch25: mozilla-bmo1898476.patch
Patch26: mozilla-bmo1907511.patch
-Patch27: mozilla-bmo1905018.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch
++++++ firefox-128.0.3.source.tar.xz -> firefox-129.0.source.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/firefox-128.0.3.source.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.7232/firefox-129.0.source.tar.xz differ: char 15, line 1
++++++ firefox-branded-icons.patch ++++++
--- /var/tmp/diff_new_pack.xBEImT/_old 2024-08-13 13:22:05.967385089 +0200
+++ /var/tmp/diff_new_pack.xBEImT/_new 2024-08-13 13:22:05.967385089 +0200
@@ -1,6 +1,6 @@
# HG changeset patch
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
-# Parent ebf6598a9309200fcea0cedb08e39161b82a73f9
+# Parent ad547c5985d362e88a47ccbba0cc5fa07bd24e8b
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
--- a/browser/branding/branding-common.mozbuild
@@ -24,11 +24,11 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -216,20 +216,23 @@
+@@ -208,20 +208,23 @@
+ ; [Browser Chrome Files]
+ @RESPATH@/browser/chrome.manifest
@RESPATH@/browser/chrome/browser@JAREXT@
@RESPATH@/browser/chrome/browser.manifest
- @RESPATH@/chrome/pdfjs.manifest
- @RESPATH@/chrome/pdfjs/*
@RESPATH@/chrome/toolkit@JAREXT@
@RESPATH@/chrome/toolkit.manifest
#ifdef MOZ_GTK
++++++ l10n-128.0.3.tar.xz -> l10n-129.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/l10n-128.0.3.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.7232/l10n-129.0.tar.xz differ: char 13, line 1
++++++ mozilla-kde.patch ++++++
--- /var/tmp/diff_new_pack.xBEImT/_old 2024-08-13 13:22:06.115391255 +0200
+++ /var/tmp/diff_new_pack.xBEImT/_new 2024-08-13 13:22:06.119391422 +0200
@@ -71,7 +71,7 @@
diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
--- a/modules/libpref/moz.build
+++ b/modules/libpref/moz.build
-@@ -121,16 +121,20 @@ EXPORTS.mozilla += [
+@@ -122,16 +122,20 @@ EXPORTS.mozilla += [
]
EXPORTS.mozilla += sorted(["!" + g for g in gen_h])
@@ -1303,7 +1303,7 @@
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
const gchar* accept_button;
-@@ -707,16 +734,215 @@ void nsFilePicker::Done(void* file_choos
+@@ -697,16 +724,215 @@ void nsFilePicker::Done(void* file_choos
mCallback->Done(result);
mCallback = nullptr;
} else {
@@ -1522,7 +1522,7 @@
diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
--- a/widget/gtk/nsFilePicker.h
+++ b/widget/gtk/nsFilePicker.h
-@@ -71,16 +71,22 @@ class nsFilePicker : public nsBaseFilePi
+@@ -70,16 +70,22 @@ class nsFilePicker : public nsBaseFilePi
nsString mDefaultExtension;
nsTArray<nsCString> mFilters;
@@ -1699,7 +1699,7 @@
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
--- a/xpcom/io/nsLocalFileUnix.cpp
+++ b/xpcom/io/nsLocalFileUnix.cpp
-@@ -46,16 +46,17 @@
+@@ -47,16 +47,17 @@
#include "nsString.h"
#include "nsIDirectoryEnumerator.h"
#include "nsSimpleEnumerator.h"
@@ -1709,15 +1709,15 @@
#ifdef MOZ_WIDGET_GTK
# include "nsIGIOService.h"
+# include "nsKDEUtils.h"
+ # ifdef MOZ_ENABLE_DBUS
+ # include "mozilla/widget/AsyncDBus.h"
+ # include "mozilla/WidgetUtilsGtk.h"
+ # include <map>
+ # endif
#endif
#ifdef MOZ_WIDGET_COCOA
- # include <Carbon/Carbon.h>
- # include "CocoaFileUtils.h"
- # include "prmem.h"
- # include "plbase64.h"
-
-@@ -2205,20 +2206,28 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -2366,20 +2367,28 @@ nsLocalFile::SetPersistentDescriptor(con
NS_IMETHODIMP
nsLocalFile::Reveal() {
@@ -1748,7 +1748,7 @@
::CFRelease(url);
return rv;
}
-@@ -2230,16 +2239,23 @@ nsLocalFile::Reveal() {
+@@ -2391,16 +2400,23 @@ nsLocalFile::Reveal() {
NS_IMETHODIMP
nsLocalFile::Launch() {
++++++ mozilla-silence-no-return-type.patch ++++++
++++ 1154 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/MozillaFirefox/mozilla-silence-no-return-type.patch
++++ and /work/SRC/openSUSE:Factory/.MozillaFirefox.new.7232/mozilla-silence-no-return-type.patch
++++++ tar_stamps ++++++
--- /var/tmp/diff_new_pack.xBEImT/_old 2024-08-13 13:22:06.231396089 +0200
+++ /var/tmp/diff_new_pack.xBEImT/_new 2024-08-13 13:22:06.235396255 +0200
@@ -1,11 +1,11 @@
PRODUCT="firefox"
CHANNEL="release"
-VERSION="128.0.3"
+VERSION="129.0"
VERSION_SUFFIX=""
-PREV_VERSION="128.0"
+PREV_VERSION="128.0.3"
PREV_VERSION_SUFFIX=""
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
-RELEASE_TAG="38b9888273f81488e7b45457790717820815e1d2"
-RELEASE_TIMESTAMP="20240725162350"
+RELEASE_TAG="2d113ed75bf04980277ea9af4cd1da31e1d31a01"
+RELEASE_TIMESTAMP="20240801122119"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package shadow for openSUSE:Factory checked in at 2024-08-13 13:21:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shadow (Old)
and /work/SRC/openSUSE:Factory/.shadow.new.7232 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shadow"
Tue Aug 13 13:21:47 2024 rev:70 rq:1193090 version:4.16.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/shadow/shadow.changes 2024-06-25 23:06:28.556102301 +0200
+++ /work/SRC/openSUSE:Factory/.shadow.new.7232/shadow.changes 2024-08-13 13:21:47.882631585 +0200
@@ -1,0 +2,6 @@
+Mon Jul 8 11:13:17 UTC 2024 - Samuel Cabrero <scabrero(a)suse.de>
+
+- Disable flushing sssd caches. The sssd's files provider is no
+ longer available.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ shadow.spec ++++++
--- /var/tmp/diff_new_pack.9QWOaW/_old 2024-08-13 13:21:48.706665919 +0200
+++ /var/tmp/diff_new_pack.9QWOaW/_new 2024-08-13 13:21:48.706665919 +0200
@@ -125,6 +125,7 @@
export LDFLAGS="-pie"
autoreconf -fvi
+# SSSD files provider is deprecated since 2.9.0, but still enabled in openSUSE Leap 15.6 and SLE 15 SP6
%configure \
--enable-shadowgrp \
--enable-account-tools-setuid \
@@ -137,6 +138,9 @@
--with-selinux \
--without-libcrack \
--without-libbsd \
+%if 0%{?suse_version} >= 1600
+ --without-sssd \
+%endif
--with-group-name-max-length=32 \
--enable-vendordir=%{_distconfdir}
%make_build
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package opera for openSUSE:Factory:NonFree checked in at 2024-08-13 13:21:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory:NonFree/opera (Old)
and /work/SRC/openSUSE:Factory:NonFree/.opera.new.7232 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opera"
Tue Aug 13 13:21:08 2024 rev:229 rq:1193309 version:112.0.5197.53
Changes:
--------
--- /work/SRC/openSUSE:Factory:NonFree/opera/opera.changes 2024-07-25 16:05:37.322946221 +0200
+++ /work/SRC/openSUSE:Factory:NonFree/.opera.new.7232/opera.changes 2024-08-13 13:21:10.341065457 +0200
@@ -1,0 +2,19 @@
+Tue Aug 6 15:26:59 UTC 2024 - Carsten Ziepke <kieltux(a)gmail.com>
+
+- Update to 112.0.5197.53
+ * CHR-9814 Update Chromium on desktop-stable-126-5197 to
+ 126.0.6478.226
+ * DNA-116974 Site settings popup size not expanding causing
+ display issues
+ * DNA-117115 Tab islands are extending partially after Workspace
+ change
+ * DNA-117708 H.264 SW decoding only possible if HW decoding
+ is possible
+ * DNA-117792 Crash at content::RenderWidgetHostImpl::
+ ForwardMouseEventWithLatencyInfo(blink::
+ WebMouseEvent const&, ui::LatencyInfo const&)
+- The update to chromium >= 126.0.6478.182 fixes following issues:
+ CVE-2024-6772, CVE-2024-6773, CVE-2024-6774, CVE-2024-6775,
+ CVE-2024-6776, CVE-2024-6777, CVE-2024-6778, CVE-2024-6779
+
+-------------------------------------------------------------------
Old:
----
opera-stable_112.0.5197.30_amd64.rpm
New:
----
opera-stable_112.0.5197.53_amd64.rpm
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ opera.spec ++++++
--- /var/tmp/diff_new_pack.QVubhK/_old 2024-08-13 13:21:12.113139414 +0200
+++ /var/tmp/diff_new_pack.QVubhK/_new 2024-08-13 13:21:12.117139581 +0200
@@ -20,7 +20,7 @@
# libffmpeg.so*, libfreetype.so* and libGLESv2.so* are currently bundled.
%global __requires_exclude ^lib(ffmpeg|freetype|GLESv2)\\.so.*$
Name: opera
-Version: 112.0.5197.30
+Version: 112.0.5197.53
Release: 0
Summary: Proprietary web browser
License: NonFree
++++++ opera-stable_112.0.5197.30_amd64.rpm -> opera-stable_112.0.5197.53_amd64.rpm ++++++
/work/SRC/openSUSE:Factory:NonFree/opera/opera-stable_112.0.5197.30_amd64.rpm /work/SRC/openSUSE:Factory:NonFree/.opera.new.7232/opera-stable_112.0.5197.53_amd64.rpm differ: char 35, line 1
1
0