openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- 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
June 2024
- 2 participants
- 1220 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gnome-settings-daemon for openSUSE:Factory checked in at 2024-06-04 12:51:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-settings-daemon (Old)
and /work/SRC/openSUSE:Factory/.gnome-settings-daemon.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-settings-daemon"
Tue Jun 4 12:51:01 2024 rev:193 rq:1178363 version:46.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-settings-daemon/gnome-settings-daemon.changes 2024-04-25 20:47:52.291192244 +0200
+++ /work/SRC/openSUSE:Factory/.gnome-settings-daemon.new.24587/gnome-settings-daemon.changes 2024-06-04 12:51:34.788803496 +0200
@@ -7,0 +8,7 @@
+Tue Apr 16 11:06:25 UTC 2024 - Joan Torres <joan.torres(a)suse.com>
+
+- Add gnome-settings-daemon-stop-service-when-no-network.patch
+ Fix to enable remote login.
+ Allows the g-r-d handover service to be started on wifi network.
+
+-------------------------------------------------------------------
New:
----
gnome-settings-daemon-stop-service-when-no-network.patch
BETA DEBUG BEGIN:
New:
- Add gnome-settings-daemon-stop-service-when-no-network.patch
Fix to enable remote login.
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-settings-daemon.spec ++++++
--- /var/tmp/diff_new_pack.lpxnk7/_old 2024-06-04 12:51:36.020848205 +0200
+++ /var/tmp/diff_new_pack.lpxnk7/_new 2024-06-04 12:51:36.024848350 +0200
@@ -44,6 +44,8 @@
Patch1: gnome-settings-daemon-switch-Japanese-default-input-to-mozc.patch
# PATCH-FIX-UPSTREAM gnome-settings-daemon-bgo793253.patch bgo#793253 dimstar(a)opensuse.org -- Fix no-return-in-nonvoid-function
Patch2: gnome-settings-daemon-bgo793253.patch
+# PATCH-FIX-UPSTREAM gnome-settings-daemon-stop-service-when-no-network.patch [merged] joan.torres(a)suse.com -- Stop assigned services only when no network connection
+Patch3: gnome-settings-daemon-stop-service-when-no-network.patch
## SLE/LEAP-only patches start at 1000
# PATCH-FEATURE-OPENSUSE gnome-settings-daemon-notify-idle-resumed.patch bnc#439018 bnc#708182 bgo#575467 hpj(a)suse.com -- notify user about auto suspend when returning from sleep
++++++ gnome-settings-daemon-stop-service-when-no-network.patch ++++++
From 9a1c14127fd135a6bf6abbf5d57ae1a2961bf4d0 Mon Sep 17 00:00:00 2001
From: Joan Torres <joan.torres(a)suse.com>
Date: Thu, 4 Apr 2024 13:40:02 +0200
Subject: [PATCH] sharing: Stop assigned services only when no network
connection
This allows grd handover service to be started even with network access
through a mobile device or when the network access is from Wi-Fi.
---
plugins/sharing/gsd-sharing-manager.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/plugins/sharing/gsd-sharing-manager.c b/plugins/sharing/gsd-sharing-manager.c
index 7713569f..2ab2cb05 100644
--- a/plugins/sharing/gsd-sharing-manager.c
+++ b/plugins/sharing/gsd-sharing-manager.c
@@ -297,7 +297,7 @@ start_assigned_service (GsdSharingManager *manager,
{
AssignedService *service;
- if (manager->sharing_status != GSD_SHARING_STATUS_AVAILABLE)
+ if (manager->sharing_status == GSD_SHARING_STATUS_OFFLINE)
return;
if (!info->system_service_running)
@@ -414,10 +414,10 @@ gsd_sharing_manager_sync_assigned_services (GsdSharingManager *manager)
for (l = services; l != NULL; l = l->next) {
AssignedServiceInfo *info = l->data;
- if (manager->sharing_status == GSD_SHARING_STATUS_AVAILABLE)
- start_assigned_service (manager, info);
- else
+ if (manager->sharing_status == GSD_SHARING_STATUS_OFFLINE)
stop_assigned_service (manager, info);
+ else
+ start_assigned_service (manager, info);
}
g_list_free (services);
}
--
2.44.0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package git for openSUSE:Factory checked in at 2024-06-04 12:50:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/git (Old)
and /work/SRC/openSUSE:Factory/.git.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "git"
Tue Jun 4 12:50:56 2024 rev:312 rq:1178128 version:2.45.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/git/git.changes 2024-05-16 17:13:55.485202753 +0200
+++ /work/SRC/openSUSE:Factory/.git.new.24587/git.changes 2024-06-04 12:51:29.944627712 +0200
@@ -1,0 +2,24 @@
+Fri May 31 22:57:33 UTC 2024 - Matej Cepl <mcepl(a)cepl.eu>
+
+- Compat stub for %python3_fix_shebang_path
+
+-------------------------------------------------------------------
+Fri May 31 22:42:57 UTC 2024 - Marcus Rueckert <mrueckert(a)suse.de>
+
+- only call the %python3_fix_shebang_path if it is actually
+ defined. This fixes the build on 15.x
+
+-------------------------------------------------------------------
+Fri May 31 21:04:34 UTC 2024 - Andreas Stieger <andreas.stieger(a)gmx.de>
+
+- update to 2.45.2:
+ * Revert "defense in depth" fixes from 2.45.1 broke 'git lfs' and
+ 'git annex'
+
+-------------------------------------------------------------------
+Mon May 27 10:12:52 UTC 2024 - Matej Cepl <mcepl(a)cepl.eu>
+
+- remove dependency on /usr/bin/python3 using
+ %python3_fix_shebang_path macro, [bsc#1212476]
+
+-------------------------------------------------------------------
Old:
----
git-2.45.1.tar.sign
git-2.45.1.tar.xz
New:
----
git-2.45.2.tar.sign
git-2.45.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ git.spec ++++++
--- /var/tmp/diff_new_pack.gZvXiR/_old 2024-06-04 12:51:31.140671114 +0200
+++ /var/tmp/diff_new_pack.gZvXiR/_new 2024-06-04 12:51:31.144671259 +0200
@@ -28,6 +28,13 @@
%if ! %{defined _fillupdir}
%define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif
+# Compat stub for python3_fix_shebang_path
+%{?!python3_fix_shebang_path:%define python3_fix_shebang_path(+abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-=) \\\
+ myargs="%{**}" \
+ for f in ${myargs}; do \
+ [ -f "$f" ] && sed -i -e "1s@#\\!.*python.*@#\\!$(realpath %__python3)@" $f \
+ done
+ }
%bcond_without git_libsecret
%bcond_without docs
%if 0%{?suse_version} >= 1500 && %{with docs}
@@ -36,7 +43,7 @@
%bcond_with asciidoctor
%endif
Name: git
-Version: 2.45.1
+Version: 2.45.2
Release: 0
Summary: Fast, scalable, distributed revision control system
License: GPL-2.0-only
@@ -70,6 +77,8 @@
BuildRequires: perl-Error
BuildRequires: perl-MailTools
BuildRequires: pkgconfig
+# for the %%python3_fix_shebang_path macro
+BuildRequires: python-rpm-macros
BuildRequires: python3-base
BuildRequires: systemd-rpm-macros
BuildRequires: tcsh
@@ -443,6 +452,12 @@
%find_lang %{name}
cat %{name}.lang >>bin-man-doc-files
+
+%if %{defined python3_fix_shebang_path}
+# fix shebang for git-p4 (and possibly others)
+%python3_fix_shebang_path %{buildroot}%{gitexecdir}/*
+%endif
+
# use symlinks instead of hardlinks in sub-commands
%fdupes -s %{buildroot}
++++++ git-2.45.1.tar.xz -> git-2.45.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/git/git-2.45.1.tar.xz /work/SRC/openSUSE:Factory/.git.new.24587/git-2.45.2.tar.xz differ: char 15, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-tblib for openSUSE:Factory checked in at 2024-06-04 12:50:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tblib (Old)
and /work/SRC/openSUSE:Factory/.python-tblib.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tblib"
Tue Jun 4 12:50:53 2024 rev:8 rq:1177999 version:3.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tblib/python-tblib.changes 2023-06-12 15:24:45.542451254 +0200
+++ /work/SRC/openSUSE:Factory/.python-tblib.new.24587/python-tblib.changes 2024-06-04 12:51:27.208528425 +0200
@@ -1,0 +2,18 @@
+Fri May 31 22:34:24 UTC 2024 - Matej Cepl <mcepl(a)cepl.eu>
+
+- Clean up SPEC file.
+
+-------------------------------------------------------------------
+Fri May 17 09:22:14 UTC 2024 - Markéta Machová <mmachova(a)suse.com>
+
+- Update to 3.0.0
+ * Removed support for legacy Pythons (2.7 up to 3.7) and added Pythons
+ 3.11 and 3.12 in the test grid.
+ * Added support for __context__, __suppress_context__ and __notes__.
+ * Added the get_locals argument to tblib.pickling_support.install(),
+ tblib.Traceback and tblib.Frame.
+- Add vendore-reraise-from-six.patch to get rid of six
+- Add more-aggressive-location-stripping.patch to fix test failure
+- Standardize multibuild
+
+-------------------------------------------------------------------
Old:
----
tblib-1.7.0.tar.gz
New:
----
more-aggressive-location-stripping.patch
tblib-3.0.0.tar.gz
vendore-reraise-from-six.patch
BETA DEBUG BEGIN:
New:- Add vendore-reraise-from-six.patch to get rid of six
- Add more-aggressive-location-stripping.patch to fix test failure
- Standardize multibuild
New: tblib.Traceback and tblib.Frame.
- Add vendore-reraise-from-six.patch to get rid of six
- Add more-aggressive-location-stripping.patch to fix test failure
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-tblib.spec ++++++
--- /var/tmp/diff_new_pack.8vRZIZ/_old 2024-06-04 12:51:27.924554408 +0200
+++ /var/tmp/diff_new_pack.8vRZIZ/_new 2024-06-04 12:51:27.928554554 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package python
+# spec file for package python-tblib
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,36 +18,36 @@
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
+%define psuffix -%{flavor}
%bcond_without test
-%bcond_without test_twisted
-%define psuffix -test
%else
-%bcond_without test
-%bcond_with test_twisted
+%define psuffix %{nil}
+%bcond_with test
%endif
%{?sle15_python_module_pythons}
Name: python-tblib%{?psuffix}
-Version: 1.7.0
+Version: 3.0.0
Release: 0
Summary: Traceback serialization library
License: BSD-2-Clause
Group: Development/Languages/Python
URL: https://github.com/ionelmc/python-tblib
Source: https://files.pythonhosted.org/packages/source/t/tblib/tblib-%{version}.tar…
+# PATCH-FIX-UPSTREAM https://github.com/ionelmc/python-tblib/pull/77 vendore reraise() from six
+Patch0: vendore-reraise-from-six.patch
+# PATCH-FIX-UPSTREAM https://github.com/ionelmc/python-tblib/issues/74 More aggressive location stripping. Ref #74.
+Patch1: more-aggressive-location-stripping.patch
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-%if %{with test_twisted}
-BuildRequires: %{python_module Twisted}
-BuildRequires: %{python_module tblib == %{version}}
-%endif
+BuildArch: noarch
%if %{with test}
+BuildRequires: %{python_module Twisted}
BuildRequires: %{python_module pytest}
-BuildRequires: %{python_module six}
+BuildRequires: %{python_module tblib == %{version}}
%endif
-Requires: python-six
-BuildArch: noarch
-
%python_subpackages
%description
@@ -70,14 +70,14 @@
the pickle support.
%prep
-%setup -q -n tblib-%{version}
+%autosetup -p1 -n tblib-%{version}
%build
-%python_build
+%pyproject_wheel
%install
-%if "%{flavor}" != "test"
-%python_install
+%if !%{with test}
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
@@ -86,10 +86,11 @@
%pytest
%endif
-%if "%{flavor}" != "test"
+%if !%{with test}
%files %{python_files}
%doc AUTHORS.rst CHANGELOG.rst README.rst
%license LICENSE
-%{python_sitelib}/*
+%{python_sitelib}/tblib
+%{python_sitelib}/tblib-%{version}*-info
%endif
++++++ more-aggressive-location-stripping.patch ++++++
From 66e14cdd101e4214cca6acca8f48b9abe4f75729 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ionel=20Cristian=20M=C4=83rie=C8=99?= <contact(a)ionelmc.ro>
Date: Fri, 15 Dec 2023 16:52:07 +0200
Subject: [PATCH] More aggressive location stripping. Ref #74.
---
tests/test_pickle_exception.py | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
Index: tblib-3.0.0/tests/test_pickle_exception.py
===================================================================
--- tblib-3.0.0.orig/tests/test_pickle_exception.py
+++ tblib-3.0.0/tests/test_pickle_exception.py
@@ -29,6 +29,10 @@ class CustomError(Exception):
pass
+def strip_locations(tb_text):
+ return tb_text.replace(' ~~^~~\n', '').replace(' ^^^^^^^^^^^^^^^^^\n', '')
+
+
@pytest.mark.parametrize('protocol', [None, *list(range(1, pickle.HIGHEST_PROTOCOL + 1))])
@pytest.mark.parametrize('how', ['global', 'instance', 'class'])
def test_install(clear_dispatch_table, how, protocol):
@@ -58,8 +62,8 @@ def test_install(clear_dispatch_table, h
else:
raise AssertionError
- expected_format_exception = ''.join(format_exception(type(exc), exc, exc.__traceback__))
- print(expected_format_exception)
+ expected_format_exception = strip_locations(''.join(format_exception(type(exc), exc, exc.__traceback__)))
+
# Populate Exception.__dict__, which is used in some cases
exc.x = 1
exc.__cause__.x = 2
@@ -88,7 +92,7 @@ def test_install(clear_dispatch_table, h
if has_python311:
assert exc.__notes__ == ['note 1', 'note 2']
- assert expected_format_exception == ''.join(format_exception(type(exc), exc, exc.__traceback__))
+ assert expected_format_exception == strip_locations(''.join(format_exception(type(exc), exc, exc.__traceback__)))
@tblib.pickling_support.install
++++++ tblib-1.7.0.tar.gz -> tblib-3.0.0.tar.gz ++++++
++++ 5796 lines of diff (skipped)
++++++ vendore-reraise-from-six.patch ++++++
From 9f6f864f7de6ce6640bab6d962f00b956da75361 Mon Sep 17 00:00:00 2001
From: Alexandre Detiste <alexandre.detiste(a)gmail.com>
Date: Wed, 1 May 2024 13:43:53 +0200
Subject: [PATCH] vendore reraise() from six
---
ci/requirements.txt | 1 -
setup.py | 2 +-
src/tblib/decorators.py | 14 ++++++++++++--
3 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/ci/requirements.txt b/ci/requirements.txt
index a1708f4..b4f1852 100644
--- a/ci/requirements.txt
+++ b/ci/requirements.txt
@@ -1,6 +1,5 @@
virtualenv>=16.6.0
pip>=19.1.1
setuptools>=18.0.1
-six>=1.14.0
tox
twine
diff --git a/setup.py b/setup.py
index c5364a1..c09d4c3 100755
--- a/setup.py
+++ b/setup.py
@@ -64,7 +64,7 @@ def read(*names, **kwargs):
],
python_requires='>=3.8',
install_requires=[
- # eg: "aspectlib==1.1.1", "six>=1.7",
+ # eg: "aspectlib==1.1.1",
],
extras_require={
# eg:
diff --git a/src/tblib/decorators.py b/src/tblib/decorators.py
index 38d0675..a1ace45 100644
--- a/src/tblib/decorators.py
+++ b/src/tblib/decorators.py
@@ -1,11 +1,21 @@
import sys
from functools import wraps
-from six import reraise
-
from . import Traceback
+def reraise(tp, value, tb=None):
+ try:
+ if value is None:
+ value = tp()
+ if value.__traceback__ is not tb:
+ raise value.with_traceback(tb)
+ raise value
+ finally:
+ value = None
+ tb = None
+
+
class Error:
def __init__(self, exc_type, exc_value, traceback):
self.exc_type = exc_type
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pytz for openSUSE:Factory checked in at 2024-06-04 12:50:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytz (Old)
and /work/SRC/openSUSE:Factory/.python-pytz.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytz"
Tue Jun 4 12:50:52 2024 rev:57 rq:1177996 version:2024.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytz/python-pytz.changes 2024-02-02 15:44:52.951506982 +0100
+++ /work/SRC/openSUSE:Factory/.python-pytz.new.24587/python-pytz.changes 2024-06-04 12:51:24.716437992 +0200
@@ -1,0 +2,11 @@
+Fri May 31 21:53:27 UTC 2024 - Matej Cepl <mcepl(a)cepl.eu>
+
+- Clean up SPEC file.
+
+-------------------------------------------------------------------
+Fri May 31 11:52:05 UTC 2024 - Antonio Larrosa <alarrosa(a)suse.com>
+
+- update to 2024.1:
+ * Update olson to 2024a
+
+-------------------------------------------------------------------
Old:
----
pytz-2023.4.tar.gz
New:
----
pytz-2024.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytz.spec ++++++
--- /var/tmp/diff_new_pack.jj9lFB/_old 2024-06-04 12:51:25.536467749 +0200
+++ /var/tmp/diff_new_pack.jj9lFB/_new 2024-06-04 12:51:25.536467749 +0200
@@ -18,19 +18,10 @@
# Ensure you update the tzdata_version for any minor version increase
# otherwise the update python library has the incorrect timezone data.
-%define tzdata_version 2023d
-%define oldpython python
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%{?!pyunittest:%define pyunittest(+abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-=) \\\
- %{lua: local args = rpm.expand("%**");
- local broot = rpm.expand("%buildroot");
- local intro = "%{python_expand PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}" .. broot .. "%{$python_sitelib} PYTHONDONTWRITEBYTECODE=1 $python -m unittest ";
- print(rpm.expand(intro .. args .. "}"))
- } }
-
+%define tzdata_version 2024a
%{?sle15_python_module_pythons}
Name: python-pytz
-Version: 2023.4
+Version: 2024.1
Release: 0
Summary: World timezone definitions, modern and historical
License: MIT
@@ -41,17 +32,15 @@
Patch0: fix-tests.patch
# PATCH-FIX-UPSTREAM 0001-Fix-tests-for-older-timezone-versions.patch -- https://code.launchpad.net/~toabctl/pytz/+git/pytz/+merge/326419
Patch2: 0001-Fix-tests-for-older-timezone-versions.patch
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: timezone >= %{tzdata_version}
Requires: python-base
Requires: timezone >= %{tzdata_version}
BuildArch: noarch
-%ifpython2
-Provides: %{oldpython}-tz = %{version}
-Obsoletes: %{oldpython}-tz < %{version}
-%endif
%python_subpackages
%description
@@ -75,10 +64,10 @@
touch pytz/tests/__init__.py
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
# Replace custom data with symlink to /usr/share/zoneinfo
%{python_expand rm -r %{buildroot}%{$python_sitelib}/pytz/zoneinfo
ln -s %{_datadir}/zoneinfo %{buildroot}%{$python_sitelib}/pytz/zoneinfo
@@ -97,5 +86,5 @@
%license LICENSE.txt
%doc README.rst
%{python_sitelib}/pytz
-%{python_sitelib}/pytz-%{version}-py*.egg-info
+%{python_sitelib}/pytz-%{version}*-info
++++++ pytz-2023.4.tar.gz -> pytz-2024.1.tar.gz ++++++
++++ 7303 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package vim for openSUSE:Factory checked in at 2024-06-04 12:50:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vim (Old)
and /work/SRC/openSUSE:Factory/.vim.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vim"
Tue Jun 4 12:50:46 2024 rev:368 rq:1177971 version:9.1.0448
Changes:
--------
--- /work/SRC/openSUSE:Factory/vim/vim.changes 2024-05-17 20:05:41.156516538 +0200
+++ /work/SRC/openSUSE:Factory/.vim.new.24587/vim.changes 2024-06-04 12:51:15.364098617 +0200
@@ -1,0 +2,74 @@
+Wed May 29 12:49:57 UTC 2024 - Martin Schreiner <martin.schreiner(a)suse.com>
+
+- Update to 9.1.0448:
+ * compiler warning in eval.c
+ * remove remaining css code
+ * Add ft_hare.txt to Reference Manual TOC
+ * re-generate vim syntax from generator
+ * fix syntax vim bug
+ * completion may be wrong when deleting all chars
+ * getregionpos() inconsistent for partly-selected multibyte char
+ * fix highlighting nested and escaped quotes in string props
+ * remove the indent plugin since it has too many issues
+ * update Debian runtime files
+ * Coverity warning after 9.1.0440
+ * Not enough tests for getregion() with multibyte chars
+ * Can't use blockwise selection with width for getregion()
+ * update outdated syntax files
+ * fix floating_modifier highlight
+ * hare runtime files outdated
+ * getregionpos() can't properly indicate positions beyond eol
+ * function get_lval() is too long
+ * Cannot filter the history
+ * Wrong Ex command executed when :g uses '?' as delimiter
+ * support floating_modifier none; revert broken highlighting
+ * Motif requires non-const char pointer for XPM data
+ * Crash when using '?' as separator for :s
+ * filetype: cygport files are not recognized
+ * make errors trying to access autoload/zig
+ * Wrong yanking with exclusive selection and ve=all
+ * add missing help tags file
+ * Ancient XPM preprocessor hack may cause build errors
+ * include basic rescript ftplugin file
+ * eval.c is too long
+ * getregionpos() doesn't handle one char selection
+ * check for gdb file/dir before using as buffer name
+ * refactor zig ftplugin, remove auto format
+ * Coverity complains about eval.c refactor
+ * Tag guessing leaves wrong search history with very short names
+ * some issues with termdebug mapping test
+ * update matchit plugin to v1.20
+ * too many strlen() calls in search.c
+ * set commentstring option
+ * update vb indent plugin as vim9script
+ * filetype: purescript files are not recognized
+ * filetype: slint files are not recognized
+ * basic nim ftplugin file for comments
+ * Add Arduino ftplugin and indent files
+ * include basic typst ftplugin file
+ * include basic prisma ftplugin file
+ * include basic v ftplugin for comment support
+ * getregionpos() wrong with blockwise mode and multibyte
+ * function echo_string_core() is too long
+ * hyprlang files are not recognized
+ * add basic dart ftplugin file
+ * basic ftplugin file for graphql
+ * mention comment plugin at :h 'commentstring'
+ * set commentstring for sql files in ftplugin
+ * :browse oldfiles prompts even with single entry
+ * eval.c not sufficiently tested
+ * clarify why E195 is returned
+ * clarify temporary file clean up
+ * fix :NoMatchParen not working
+ * Cannot move to previous/next rare word
+ * add basic ftplugin file for sshdconfig
+ * if_py: find_module has been removed in Python 3.12.0a7
+ * some screen dump tests can be improved
+ * Some functions are not tested
+ * clarify instal instructions for comment package
+ * Unable to leave long line with 'smoothscroll' and 'scrolloff'
+ * fix typo in vim9script help file
+ * Remove trailing spaces
+ * clarify {special} argument for shellescape()
+
+-------------------------------------------------------------------
Old:
----
vim-9.1.0413.tar.gz
New:
----
vim-9.1.0448.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vim.spec ++++++
--- /var/tmp/diff_new_pack.AyjaCp/_old 2024-06-04 12:51:16.420136937 +0200
+++ /var/tmp/diff_new_pack.AyjaCp/_new 2024-06-04 12:51:16.420136937 +0200
@@ -17,7 +17,7 @@
%define pkg_version 9.1
-%define patchlevel 0413
+%define patchlevel 0448
%define patchlevel_compact %{patchlevel}
%define VIM_SUBDIR vim91
%define site_runtimepath %{_datadir}/vim/site
@@ -121,7 +121,7 @@
Requires: alts
%else
Requires(post): update-alternatives
-Requires(postun):update-alternatives
+Requires(postun): update-alternatives
%endif
%if %{with python2}
BuildRequires: python2-devel
@@ -173,7 +173,7 @@
Requires: alts
%else
Requires(post): update-alternatives
-Requires(postun):update-alternatives
+Requires(postun): update-alternatives
%endif
%description -n gvim
@@ -192,7 +192,7 @@
Requires: alts
%else
Requires(post): update-alternatives
-Requires(postun):update-alternatives
+Requires(postun): update-alternatives
%endif
%description small
++++++ vim-9.1.0413.tar.gz -> vim-9.1.0448.tar.gz ++++++
/work/SRC/openSUSE:Factory/vim/vim-9.1.0413.tar.gz /work/SRC/openSUSE:Factory/.vim.new.24587/vim-9.1.0448.tar.gz differ: char 12, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package installation-images for openSUSE:Factory checked in at 2024-06-04 12:50:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/installation-images (Old)
and /work/SRC/openSUSE:Factory/.installation-images.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "installation-images"
Tue Jun 4 12:50:45 2024 rev:214 rq:1177921 version:17.130
Changes:
--------
--- /work/SRC/openSUSE:Factory/installation-images/installation-images.changes 2024-05-29 19:35:48.516394543 +0200
+++ /work/SRC/openSUSE:Factory/.installation-images.new.24587/installation-images.changes 2024-06-04 12:51:13.372026328 +0200
@@ -1,0 +2,13 @@
+Fri May 31 11:40:04 UTC 2024 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/installation-images#721
+- Check for root permissions at start
+- 17.130
+
+--------------------------------------------------------------------
+Fri May 31 11:37:40 UTC 2024 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/installation-images#720
+- Use dedicated path for Slowroll tftpboot files
+
+--------------------------------------------------------------------
Old:
----
installation-images-17.129.tar.xz
New:
----
installation-images-17.130.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ installation-images.spec ++++++
--- /var/tmp/diff_new_pack.yVG2Vf/_old 2024-06-04 12:51:14.040050570 +0200
+++ /var/tmp/diff_new_pack.yVG2Vf/_new 2024-06-04 12:51:14.040050570 +0200
@@ -687,7 +687,7 @@
Summary: Installation Image Files for %theme
License: GPL-2.0-or-later
Group: Metapackages
-Version: 17.129
+Version: 17.130
Release: 0
Provides: installation-images = %version-%release
Conflicts: otherproviders(installation-images)
@@ -768,6 +768,10 @@
%define __debuginfo_path ^/usr/share/debuginfodeps
%prep
+if [ "$UID" != 0 ] ; then
+ echo "ERROR: need to run this as root. e.g. with osc build --userootforbuild"
+ exit 1
+fi
%setup -n installation-images-%{version}
rm -f /usr/lib/build/checks/04-check-filelist
++++++ installation-images-17.129.tar.xz -> installation-images-17.130.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-17.129/VERSION new/installation-images-17.130/VERSION
--- old/installation-images-17.129/VERSION 2024-05-29 12:55:47.000000000 +0200
+++ new/installation-images-17.130/VERSION 2024-05-31 13:40:04.000000000 +0200
@@ -1 +1 @@
-17.129
+17.130
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-17.129/changelog new/installation-images-17.130/changelog
--- old/installation-images-17.129/changelog 2024-05-29 12:55:47.000000000 +0200
+++ new/installation-images-17.130/changelog 2024-05-31 13:40:04.000000000 +0200
@@ -1,3 +1,9 @@
+2024-05-31: 17.130
+ - merge gh#openSUSE/installation-images#720
+ - Use dedicated path for Slowroll tftpboot files
+ - merge gh#openSUSE/installation-images#721
+ - Check for root permissions at start
+
2024-05-29: 17.129
- merge gh#openSUSE/installation-images#719
- Build Slowroll-specific tftpboot-installation rpm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-17.129/etc/config new/installation-images-17.130/etc/config
--- old/installation-images-17.129/etc/config 2024-05-29 12:55:47.000000000 +0200
+++ new/installation-images-17.130/etc/config 2024-05-31 13:40:04.000000000 +0200
@@ -102,6 +102,7 @@
grub2 = openSUSE
plymouth = openSUSE
systemd = openSUSE
+product_name = openSUSE-Tumbleweed-Slowroll
[Theme LeapMicro]
image = 350
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-17.129/obs/installation-images.spec new/installation-images-17.130/obs/installation-images.spec
--- old/installation-images-17.129/obs/installation-images.spec 2024-05-29 12:55:47.000000000 +0200
+++ new/installation-images-17.130/obs/installation-images.spec 2024-05-31 13:40:04.000000000 +0200
@@ -768,6 +768,10 @@
%define __debuginfo_path ^/usr/share/debuginfodeps
%prep
+if [ "$UID" != 0 ] ; then
+ echo "ERROR: need to run this as root. e.g. with osc build --userootforbuild"
+ exit 1
+fi
%setup -n installation-images-%{version}
rm -f /usr/lib/build/checks/04-check-filelist
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package dracut-pcr-signature for openSUSE:Factory checked in at 2024-06-04 12:50:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dracut-pcr-signature (Old)
and /work/SRC/openSUSE:Factory/.dracut-pcr-signature.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dracut-pcr-signature"
Tue Jun 4 12:50:44 2024 rev:9 rq:1177875 version:0.4+0
Changes:
--------
--- /work/SRC/openSUSE:Factory/dracut-pcr-signature/dracut-pcr-signature.changes 2024-04-24 15:13:35.763488613 +0200
+++ /work/SRC/openSUSE:Factory/.dracut-pcr-signature.new.24587/dracut-pcr-signature.changes 2024-06-04 12:51:10.523922978 +0200
@@ -1,0 +2,12 @@
+Thu May 30 08:45:40 UTC 2024 - Alberto Planas Dominguez <aplanas(a)suse.com>
+
+- Update to version 0.4:
+ + No new features, tagged on 0.3+6
+- Remove GRUB2 conflict
+
+-------------------------------------------------------------------
+Mon May 13 20:42:01 UTC 2024 - Alberto Planas Dominguez <aplanas(a)suse.com>
+
+- Adapt regenerate initrd macro expansion
+
+-------------------------------------------------------------------
Old:
----
dracut-pcr-signature-0.3+6.tar.xz
New:
----
dracut-pcr-signature-0.4+0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dracut-pcr-signature.spec ++++++
--- /var/tmp/diff_new_pack.Z0D7mx/_old 2024-06-04 12:51:11.067942718 +0200
+++ /var/tmp/diff_new_pack.Z0D7mx/_new 2024-06-04 12:51:11.071942864 +0200
@@ -17,7 +17,7 @@
Name: dracut-pcr-signature
-Version: 0.3+6
+Version: 0.4+0
Release: 0
Summary: Dracut module to import PCR signatures
License: GPL-2.0-or-later
@@ -26,7 +26,6 @@
BuildRequires: rpm-config-SUSE
BuildRequires: pkgconfig(dracut)
BuildArch: noarch
-Conflicts: grub2
%description
Dracut module to import PCR signatures. This will make possible the
@@ -46,13 +45,13 @@
cp pcr-signature.conf %buildroot/usr/lib/dracut/modules.d/50pcr-signature
%post
-%regenerate_initrd_post
+%{?regenerate_initrd_post}
%posttrans
-%regenerate_initrd_posttrans
+%{?regenerate_initrd_posttrans}
%postun
-%regenerate_initrd_post
+%{?regenerate_initrd_post}
%files
%license LICENSE
++++++ dracut-pcr-signature-0.3+6.tar.xz -> dracut-pcr-signature-0.4+0.tar.xz ++++++
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nginx for openSUSE:Factory checked in at 2024-06-04 12:50:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nginx (Old)
and /work/SRC/openSUSE:Factory/.nginx.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nginx"
Tue Jun 4 12:50:42 2024 rev:90 rq:1177870 version:1.27.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nginx/nginx.changes 2024-05-13 01:19:21.563171865 +0200
+++ /work/SRC/openSUSE:Factory/.nginx.new.24587/nginx.changes 2024-06-04 12:51:08.967866511 +0200
@@ -1,0 +2,12 @@
+Fri May 31 08:48:36 UTC 2024 - Илья Индиго <ilya(a)ilya.top>
+
+- Updated to 1.27.0
+ * Changed nginx.keyring to Sergey Kandaurov’s PGP public key.
+ * https://nginx.org/en/CHANGES
+ * Added variables support in the "proxy_limit_rate", "fastcgi_limit_rate",
+ "scgi_limit_rate", and "uwsgi_limit_rate" directives.
+ * Fixed reduced memory consumption for long-lived requests if "gzip",
+ "gunzip", "ssi", "sub_filter", or "grpc_pass" directives are used.
+ * Fixed building with gcc 14 with --with-atomic option.
+
+-------------------------------------------------------------------
Old:
----
nginx-1.25.5.tar.gz
nginx-1.25.5.tar.gz.asc
New:
----
nginx-1.27.0.tar.gz
nginx-1.27.0.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nginx.spec ++++++
--- /var/tmp/diff_new_pack.yJ986f/_old 2024-06-04 12:51:10.031905123 +0200
+++ /var/tmp/diff_new_pack.yJ986f/_new 2024-06-04 12:51:10.031905123 +0200
@@ -23,7 +23,7 @@
%bcond_with ngx_google_perftools
#
Name: nginx
-Version: 1.25.5
+Version: 1.27.0
Release: 0
Summary: A HTTP server and IMAP/POP3 proxy server
License: BSD-2-Clause
@@ -31,7 +31,7 @@
URL: https://nginx.org
Source0: https://nginx.org/download/%{name}-%{version}.tar.gz
Source1: https://nginx.org/download/%{name}-%{version}.tar.gz.asc
-Source2: https://nginx.org/keys/arut.key#/%{name}.keyring
+Source2: https://nginx.org/keys/pluknet.key#/%{name}.keyring
Source3: %{name}.rpmlintrc
Source4: %{name}.logrotate
Source5: %{name}.service
++++++ nginx-1.25.5.tar.gz -> nginx-1.27.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/CHANGES new/nginx-1.27.0/CHANGES
--- old/nginx-1.25.5/CHANGES 2024-04-16 16:37:23.000000000 +0200
+++ new/nginx-1.27.0/CHANGES 2024-05-29 16:30:32.000000000 +0200
@@ -1,4 +1,27 @@
+Changes with nginx 1.27.0 29 May 2024
+
+ *) Security: when using HTTP/3, processing of a specially crafted QUIC
+ session might cause a worker process crash, worker process memory
+ disclosure on systems with MTU larger than 4096 bytes, or might have
+ potential other impact (CVE-2024-32760, CVE-2024-31079,
+ CVE-2024-35200, CVE-2024-34161).
+ Thanks to Nils Bars of CISPA.
+
+ *) Feature: variables support in the "proxy_limit_rate",
+ "fastcgi_limit_rate", "scgi_limit_rate", and "uwsgi_limit_rate"
+ directives.
+
+ *) Bugfix: reduced memory consumption for long-lived requests if "gzip",
+ "gunzip", "ssi", "sub_filter", or "grpc_pass" directives are used.
+
+ *) Bugfix: nginx could not be built by gcc 14 if the --with-atomic
+ option was used.
+ Thanks to Edgar Bonet.
+
+ *) Bugfixes in HTTP/3.
+
+
Changes with nginx 1.25.5 16 Apr 2024
*) Feature: virtual servers in the stream module.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/CHANGES.ru new/nginx-1.27.0/CHANGES.ru
--- old/nginx-1.25.5/CHANGES.ru 2024-04-16 16:37:23.000000000 +0200
+++ new/nginx-1.27.0/CHANGES.ru 2024-05-29 16:30:32.000000000 +0200
@@ -1,4 +1,27 @@
+Изменения в nginx 1.27.0 29.05.2024
+
+ *) Безопасность: при использовании HTTP/3 обработка специально созданной
+ QUIC-сессии могла приводить к падению рабочего процесса, отправке
+ клиенту содержимого памяти рабочего процесса на системах с MTU больше
+ 4096 байт, а также потенциально могла иметь другие последствия
+ (CVE-2024-32760, CVE-2024-31079, CVE-2024-35200, CVE-2024-34161).
+ Спасибо Nils Bars из CISPA.
+
+ *) Добавление: директивы proxy_limit_rate, fastcgi_limit_rate,
+ scgi_limit_rate и uwsgi_limit_rate поддерживают переменные.
+
+ *) Исправление: уменьшено потребление памяти для долгоживущих запросов,
+ если используются директивы gzip, gunzip, ssi, sub_filter или
+ grpc_pass.
+
+ *) Исправление: nginx не собирался gcc 14, если использовался параметр
+ --with-atomic.
+ Спасибо Edgar Bonet.
+
+ *) Исправления в HTTP/3.
+
+
Изменения в nginx 1.25.5 16.04.2024
*) Добавление: виртуальные сервера в модуле stream.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/auto/lib/libatomic/conf new/nginx-1.27.0/auto/lib/libatomic/conf
--- old/nginx-1.25.5/auto/lib/libatomic/conf 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/auto/lib/libatomic/conf 2024-05-28 15:22:30.000000000 +0200
@@ -19,7 +19,7 @@
#include <atomic_ops.h>"
ngx_feature_path=
ngx_feature_libs="-latomic_ops"
- ngx_feature_test="long n = 0;
+ ngx_feature_test="AO_t n = 0;
if (!AO_compare_and_swap(&n, 0, 1))
return 1;
if (AO_fetch_and_add(&n, 1) != 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/core/nginx.h new/nginx-1.27.0/src/core/nginx.h
--- old/nginx-1.25.5/src/core/nginx.h 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/core/nginx.h 2024-05-28 15:22:30.000000000 +0200
@@ -9,8 +9,8 @@
#define _NGINX_H_INCLUDED_
-#define nginx_version 1025005
-#define NGINX_VERSION "1.25.5"
+#define nginx_version 1027000
+#define NGINX_VERSION "1.27.0"
#define NGINX_VER "nginx/" NGINX_VERSION
#ifdef NGX_BUILD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/core/ngx_output_chain.c new/nginx-1.27.0/src/core/ngx_output_chain.c
--- old/nginx-1.25.5/src/core/ngx_output_chain.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/core/ngx_output_chain.c 2024-05-28 15:22:30.000000000 +0200
@@ -117,7 +117,10 @@
ngx_debug_point();
- ctx->in = ctx->in->next;
+ cl = ctx->in;
+ ctx->in = cl->next;
+
+ ngx_free_chain(ctx->pool, cl);
continue;
}
@@ -203,7 +206,10 @@
/* delete the completed buf from the ctx->in chain */
if (ngx_buf_size(ctx->in->buf) == 0) {
- ctx->in = ctx->in->next;
+ cl = ctx->in;
+ ctx->in = cl->next;
+
+ ngx_free_chain(ctx->pool, cl);
}
cl = ngx_alloc_chain_link(ctx->pool);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/event/ngx_event_openssl.c new/nginx-1.27.0/src/event/ngx_event_openssl.c
--- old/nginx-1.25.5/src/event/ngx_event_openssl.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/event/ngx_event_openssl.c 2024-05-28 15:22:30.000000000 +0200
@@ -764,13 +764,13 @@
engine = ENGINE_by_id((char *) p);
+ *last++ = ':';
+
if (engine == NULL) {
*err = "ENGINE_by_id() failed";
return NULL;
}
- *last++ = ':';
-
pkey = ENGINE_load_private_key(engine, (char *) last, 0, 0);
if (pkey == NULL) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/event/quic/ngx_event_quic_frames.c new/nginx-1.27.0/src/event/quic/ngx_event_quic_frames.c
--- old/nginx-1.25.5/src/event/quic/ngx_event_quic_frames.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/event/quic/ngx_event_quic_frames.c 2024-05-28 15:22:30.000000000 +0200
@@ -648,6 +648,7 @@
ngx_quic_free_chain(c, qb->chain);
qb->chain = NULL;
+ qb->last_chain = NULL;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/event/quic/ngx_event_quic_ssl.c new/nginx-1.27.0/src/event/quic/ngx_event_quic_ssl.c
--- old/nginx-1.25.5/src/event/quic/ngx_event_quic_ssl.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/event/quic/ngx_event_quic_ssl.c 2024-05-28 15:22:30.000000000 +0200
@@ -326,6 +326,11 @@
ngx_quic_crypto_frame_t *f;
qc = ngx_quic_get_connection(c);
+
+ if (!ngx_quic_keys_available(qc->keys, pkt->level, 0)) {
+ return NGX_OK;
+ }
+
ctx = ngx_quic_get_send_ctx(qc, pkt->level);
f = &frame->u.crypto;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/event/quic/ngx_event_quic_transport.c new/nginx-1.27.0/src/event/quic/ngx_event_quic_transport.c
--- old/nginx-1.25.5/src/event/quic/ngx_event_quic_transport.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/event/quic/ngx_event_quic_transport.c 2024-05-28 15:22:30.000000000 +0200
@@ -1750,6 +1750,14 @@
return NGX_ERROR;
}
+ if ((size_t) (end - p) < len) {
+ ngx_log_error(NGX_LOG_INFO, log, 0,
+ "quic failed to parse"
+ " transport param id:0x%xL, data length %uL too long",
+ id, len);
+ return NGX_ERROR;
+ }
+
rc = ngx_quic_parse_transport_param(p, p + len, id, tp);
if (rc == NGX_ERROR) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/modules/ngx_http_fastcgi_module.c new/nginx-1.27.0/src/http/modules/ngx_http_fastcgi_module.c
--- old/nginx-1.25.5/src/http/modules/ngx_http_fastcgi_module.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/modules/ngx_http_fastcgi_module.c 2024-05-28 15:22:30.000000000 +0200
@@ -375,7 +375,7 @@
{ ngx_string("fastcgi_limit_rate"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_http_set_complex_value_size_slot,
NGX_HTTP_LOC_CONF_OFFSET,
offsetof(ngx_http_fastcgi_loc_conf_t, upstream.limit_rate),
NULL },
@@ -2898,7 +2898,7 @@
conf->upstream.send_lowat = NGX_CONF_UNSET_SIZE;
conf->upstream.buffer_size = NGX_CONF_UNSET_SIZE;
- conf->upstream.limit_rate = NGX_CONF_UNSET_SIZE;
+ conf->upstream.limit_rate = NGX_CONF_UNSET_PTR;
conf->upstream.busy_buffers_size_conf = NGX_CONF_UNSET_SIZE;
conf->upstream.max_temp_file_size_conf = NGX_CONF_UNSET_SIZE;
@@ -3015,8 +3015,8 @@
prev->upstream.buffer_size,
(size_t) ngx_pagesize);
- ngx_conf_merge_size_value(conf->upstream.limit_rate,
- prev->upstream.limit_rate, 0);
+ ngx_conf_merge_ptr_value(conf->upstream.limit_rate,
+ prev->upstream.limit_rate, NULL);
ngx_conf_merge_bufs_value(conf->upstream.bufs, prev->upstream.bufs,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/modules/ngx_http_grpc_module.c new/nginx-1.27.0/src/http/modules/ngx_http_grpc_module.c
--- old/nginx-1.25.5/src/http/modules/ngx_http_grpc_module.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/modules/ngx_http_grpc_module.c 2024-05-28 15:22:30.000000000 +0200
@@ -1231,7 +1231,7 @@
ngx_buf_t *b;
ngx_int_t rc;
ngx_uint_t next, last;
- ngx_chain_t *cl, *out, **ll;
+ ngx_chain_t *cl, *out, *ln, **ll;
ngx_http_upstream_t *u;
ngx_http_grpc_ctx_t *ctx;
ngx_http_grpc_frame_t *f;
@@ -1459,7 +1459,10 @@
last = 1;
}
+ ln = in;
in = in->next;
+
+ ngx_free_chain(r->pool, ln);
}
ctx->in = in;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/modules/ngx_http_gunzip_filter_module.c new/nginx-1.27.0/src/http/modules/ngx_http_gunzip_filter_module.c
--- old/nginx-1.25.5/src/http/modules/ngx_http_gunzip_filter_module.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/modules/ngx_http_gunzip_filter_module.c 2024-05-28 15:22:30.000000000 +0200
@@ -333,6 +333,8 @@
ngx_http_gunzip_filter_add_data(ngx_http_request_t *r,
ngx_http_gunzip_ctx_t *ctx)
{
+ ngx_chain_t *cl;
+
if (ctx->zstream.avail_in || ctx->flush != Z_NO_FLUSH || ctx->redo) {
return NGX_OK;
}
@@ -344,8 +346,11 @@
return NGX_DECLINED;
}
- ctx->in_buf = ctx->in->buf;
- ctx->in = ctx->in->next;
+ cl = ctx->in;
+ ctx->in_buf = cl->buf;
+ ctx->in = cl->next;
+
+ ngx_free_chain(r->pool, cl);
ctx->zstream.next_in = ctx->in_buf->pos;
ctx->zstream.avail_in = ctx->in_buf->last - ctx->in_buf->pos;
@@ -374,6 +379,7 @@
ngx_http_gunzip_filter_get_buf(ngx_http_request_t *r,
ngx_http_gunzip_ctx_t *ctx)
{
+ ngx_chain_t *cl;
ngx_http_gunzip_conf_t *conf;
if (ctx->zstream.avail_out) {
@@ -383,8 +389,12 @@
conf = ngx_http_get_module_loc_conf(r, ngx_http_gunzip_filter_module);
if (ctx->free) {
- ctx->out_buf = ctx->free->buf;
- ctx->free = ctx->free->next;
+
+ cl = ctx->free;
+ ctx->out_buf = cl->buf;
+ ctx->free = cl->next;
+
+ ngx_free_chain(r->pool, cl);
ctx->out_buf->flush = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/modules/ngx_http_gzip_filter_module.c new/nginx-1.27.0/src/http/modules/ngx_http_gzip_filter_module.c
--- old/nginx-1.25.5/src/http/modules/ngx_http_gzip_filter_module.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/modules/ngx_http_gzip_filter_module.c 2024-05-28 15:22:30.000000000 +0200
@@ -985,10 +985,14 @@
ngx_http_gzip_filter_free_copy_buf(ngx_http_request_t *r,
ngx_http_gzip_ctx_t *ctx)
{
- ngx_chain_t *cl;
+ ngx_chain_t *cl, *ln;
- for (cl = ctx->copied; cl; cl = cl->next) {
- ngx_pfree(r->pool, cl->buf->start);
+ for (cl = ctx->copied; cl; /* void */) {
+ ln = cl;
+ cl = cl->next;
+
+ ngx_pfree(r->pool, ln->buf->start);
+ ngx_free_chain(r->pool, ln);
}
ctx->copied = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/modules/ngx_http_proxy_module.c new/nginx-1.27.0/src/http/modules/ngx_http_proxy_module.c
--- old/nginx-1.25.5/src/http/modules/ngx_http_proxy_module.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/modules/ngx_http_proxy_module.c 2024-05-28 15:22:30.000000000 +0200
@@ -494,7 +494,7 @@
{ ngx_string("proxy_limit_rate"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_http_set_complex_value_size_slot,
NGX_HTTP_LOC_CONF_OFFSET,
offsetof(ngx_http_proxy_loc_conf_t, upstream.limit_rate),
NULL },
@@ -3371,7 +3371,7 @@
conf->upstream.send_lowat = NGX_CONF_UNSET_SIZE;
conf->upstream.buffer_size = NGX_CONF_UNSET_SIZE;
- conf->upstream.limit_rate = NGX_CONF_UNSET_SIZE;
+ conf->upstream.limit_rate = NGX_CONF_UNSET_PTR;
conf->upstream.busy_buffers_size_conf = NGX_CONF_UNSET_SIZE;
conf->upstream.max_temp_file_size_conf = NGX_CONF_UNSET_SIZE;
@@ -3515,8 +3515,8 @@
prev->upstream.buffer_size,
(size_t) ngx_pagesize);
- ngx_conf_merge_size_value(conf->upstream.limit_rate,
- prev->upstream.limit_rate, 0);
+ ngx_conf_merge_ptr_value(conf->upstream.limit_rate,
+ prev->upstream.limit_rate, NULL);
ngx_conf_merge_bufs_value(conf->upstream.bufs, prev->upstream.bufs,
8, ngx_pagesize);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/modules/ngx_http_scgi_module.c new/nginx-1.27.0/src/http/modules/ngx_http_scgi_module.c
--- old/nginx-1.25.5/src/http/modules/ngx_http_scgi_module.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/modules/ngx_http_scgi_module.c 2024-05-28 15:22:30.000000000 +0200
@@ -223,7 +223,7 @@
{ ngx_string("scgi_limit_rate"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_http_set_complex_value_size_slot,
NGX_HTTP_LOC_CONF_OFFSET,
offsetof(ngx_http_scgi_loc_conf_t, upstream.limit_rate),
NULL },
@@ -1301,7 +1301,7 @@
conf->upstream.send_lowat = NGX_CONF_UNSET_SIZE;
conf->upstream.buffer_size = NGX_CONF_UNSET_SIZE;
- conf->upstream.limit_rate = NGX_CONF_UNSET_SIZE;
+ conf->upstream.limit_rate = NGX_CONF_UNSET_PTR;
conf->upstream.busy_buffers_size_conf = NGX_CONF_UNSET_SIZE;
conf->upstream.max_temp_file_size_conf = NGX_CONF_UNSET_SIZE;
@@ -1413,8 +1413,8 @@
prev->upstream.buffer_size,
(size_t) ngx_pagesize);
- ngx_conf_merge_size_value(conf->upstream.limit_rate,
- prev->upstream.limit_rate, 0);
+ ngx_conf_merge_ptr_value(conf->upstream.limit_rate,
+ prev->upstream.limit_rate, NULL);
ngx_conf_merge_bufs_value(conf->upstream.bufs, prev->upstream.bufs,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/modules/ngx_http_ssi_filter_module.c new/nginx-1.27.0/src/http/modules/ngx_http_ssi_filter_module.c
--- old/nginx-1.25.5/src/http/modules/ngx_http_ssi_filter_module.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/modules/ngx_http_ssi_filter_module.c 2024-05-28 15:22:30.000000000 +0200
@@ -482,9 +482,13 @@
while (ctx->in || ctx->buf) {
if (ctx->buf == NULL) {
- ctx->buf = ctx->in->buf;
- ctx->in = ctx->in->next;
+
+ cl = ctx->in;
+ ctx->buf = cl->buf;
+ ctx->in = cl->next;
ctx->pos = ctx->buf->pos;
+
+ ngx_free_chain(r->pool, cl);
}
if (ctx->state == ssi_start_state) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/modules/ngx_http_sub_filter_module.c new/nginx-1.27.0/src/http/modules/ngx_http_sub_filter_module.c
--- old/nginx-1.25.5/src/http/modules/ngx_http_sub_filter_module.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/modules/ngx_http_sub_filter_module.c 2024-05-28 15:22:30.000000000 +0200
@@ -335,9 +335,13 @@
while (ctx->in || ctx->buf) {
if (ctx->buf == NULL) {
- ctx->buf = ctx->in->buf;
- ctx->in = ctx->in->next;
+
+ cl = ctx->in;
+ ctx->buf = cl->buf;
+ ctx->in = cl->next;
ctx->pos = ctx->buf->pos;
+
+ ngx_free_chain(r->pool, cl);
}
if (ctx->buf->flush || ctx->buf->recycled) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/modules/ngx_http_uwsgi_module.c new/nginx-1.27.0/src/http/modules/ngx_http_uwsgi_module.c
--- old/nginx-1.25.5/src/http/modules/ngx_http_uwsgi_module.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/modules/ngx_http_uwsgi_module.c 2024-05-28 15:22:30.000000000 +0200
@@ -289,7 +289,7 @@
{ ngx_string("uwsgi_limit_rate"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_http_set_complex_value_size_slot,
NGX_HTTP_LOC_CONF_OFFSET,
offsetof(ngx_http_uwsgi_loc_conf_t, upstream.limit_rate),
NULL },
@@ -1532,7 +1532,7 @@
conf->upstream.send_lowat = NGX_CONF_UNSET_SIZE;
conf->upstream.buffer_size = NGX_CONF_UNSET_SIZE;
- conf->upstream.limit_rate = NGX_CONF_UNSET_SIZE;
+ conf->upstream.limit_rate = NGX_CONF_UNSET_PTR;
conf->upstream.busy_buffers_size_conf = NGX_CONF_UNSET_SIZE;
conf->upstream.max_temp_file_size_conf = NGX_CONF_UNSET_SIZE;
@@ -1656,8 +1656,8 @@
prev->upstream.buffer_size,
(size_t) ngx_pagesize);
- ngx_conf_merge_size_value(conf->upstream.limit_rate,
- prev->upstream.limit_rate, 0);
+ ngx_conf_merge_ptr_value(conf->upstream.limit_rate,
+ prev->upstream.limit_rate, NULL);
ngx_conf_merge_bufs_value(conf->upstream.bufs, prev->upstream.bufs,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/ngx_http_upstream.c new/nginx-1.27.0/src/http/ngx_http_upstream.c
--- old/nginx-1.25.5/src/http/ngx_http_upstream.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/ngx_http_upstream.c 2024-05-28 15:22:30.000000000 +0200
@@ -3236,7 +3236,7 @@
p->downstream = c;
p->pool = r->pool;
p->log = c->log;
- p->limit_rate = u->conf->limit_rate;
+ p->limit_rate = ngx_http_complex_value_size(r, u->conf->limit_rate, 0);
p->start_sec = ngx_time();
p->cacheable = u->cacheable || u->store;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/ngx_http_upstream.h new/nginx-1.27.0/src/http/ngx_http_upstream.h
--- old/nginx-1.25.5/src/http/ngx_http_upstream.h 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/ngx_http_upstream.h 2024-05-28 15:22:30.000000000 +0200
@@ -156,7 +156,7 @@
size_t send_lowat;
size_t buffer_size;
- size_t limit_rate;
+ ngx_http_complex_value_t *limit_rate;
size_t busy_buffers_size;
size_t max_temp_file_size;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/v3/ngx_http_v3_parse.c new/nginx-1.27.0/src/http/v3/ngx_http_v3_parse.c
--- old/nginx-1.25.5/src/http/v3/ngx_http_v3_parse.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/v3/ngx_http_v3_parse.c 2024-05-28 15:22:30.000000000 +0200
@@ -810,6 +810,7 @@
st->literal.length = st->pint.value;
if (st->literal.length == 0) {
+ st->value.data = (u_char *) "";
goto done;
}
@@ -932,6 +933,7 @@
st->literal.length = st->pint.value;
if (st->literal.length == 0) {
+ st->value.data = (u_char *) "";
goto done;
}
@@ -1072,6 +1074,7 @@
st->literal.length = st->pint.value;
if (st->literal.length == 0) {
+ st->value.data = (u_char *) "";
goto done;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/v3/ngx_http_v3_request.c new/nginx-1.27.0/src/http/v3/ngx_http_v3_request.c
--- old/nginx-1.25.5/src/http/v3/ngx_http_v3_request.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/v3/ngx_http_v3_request.c 2024-05-28 15:22:30.000000000 +0200
@@ -134,7 +134,17 @@
}
}
- return ngx_http_v3_send_settings(c);
+ if (ngx_http_v3_send_settings(c) != NGX_OK) {
+ return NGX_ERROR;
+ }
+
+ if (h3scf->max_table_capacity > 0) {
+ if (ngx_http_v3_get_uni_stream(c, NGX_HTTP_V3_STREAM_DECODER) == NULL) {
+ return NGX_ERROR;
+ }
+ }
+
+ return NGX_OK;
}
@@ -398,14 +408,12 @@
void
ngx_http_v3_reset_stream(ngx_connection_t *c)
{
- ngx_http_v3_session_t *h3c;
- ngx_http_v3_srv_conf_t *h3scf;
-
- h3scf = ngx_http_v3_get_module_srv_conf(c, ngx_http_v3_module);
+ ngx_http_v3_session_t *h3c;
h3c = ngx_http_v3_get_session(c);
- if (h3scf->max_table_capacity > 0 && !c->read->eof && !h3c->hq
+ if (!c->read->eof && !h3c->hq
+ && h3c->known_streams[NGX_HTTP_V3_STREAM_SERVER_DECODER]
&& (c->quic->id & NGX_QUIC_STREAM_UNIDIRECTIONAL) == 0)
{
(void) ngx_http_v3_send_cancel_stream(c, c->quic->id);
@@ -1575,6 +1583,15 @@
/* rc == NGX_OK */
if (max != -1 && (uint64_t) (max - rb->received) < st->length) {
+
+ if (r->headers_in.content_length_n != -1) {
+ ngx_log_error(NGX_LOG_INFO, r->connection->log, 0,
+ "client intended to send body data "
+ "larger than declared");
+
+ return NGX_HTTP_BAD_REQUEST;
+ }
+
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
"client intended to send too large "
"body: %O+%ui bytes",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/v3/ngx_http_v3_table.c new/nginx-1.27.0/src/http/v3/ngx_http_v3_table.c
--- old/nginx-1.25.5/src/http/v3/ngx_http_v3_table.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/v3/ngx_http_v3_table.c 2024-05-28 15:22:30.000000000 +0200
@@ -308,7 +308,7 @@
prev_max = dt->capacity / 32;
if (max > prev_max) {
- elts = ngx_alloc(max * sizeof(void *), c->log);
+ elts = ngx_alloc((max + 1) * sizeof(void *), c->log);
if (elts == NULL) {
return NGX_ERROR;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/v3/ngx_http_v3_uni.c new/nginx-1.27.0/src/http/v3/ngx_http_v3_uni.c
--- old/nginx-1.25.5/src/http/v3/ngx_http_v3_uni.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/v3/ngx_http_v3_uni.c 2024-05-28 15:22:30.000000000 +0200
@@ -20,8 +20,6 @@
static void ngx_http_v3_uni_read_handler(ngx_event_t *rev);
static void ngx_http_v3_uni_dummy_read_handler(ngx_event_t *wev);
static void ngx_http_v3_uni_dummy_write_handler(ngx_event_t *wev);
-static ngx_connection_t *ngx_http_v3_get_uni_stream(ngx_connection_t *c,
- ngx_uint_t type);
void
@@ -307,7 +305,7 @@
}
-static ngx_connection_t *
+ngx_connection_t *
ngx_http_v3_get_uni_stream(ngx_connection_t *c, ngx_uint_t type)
{
u_char buf[NGX_HTTP_V3_VARLEN_INT_LEN];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/http/v3/ngx_http_v3_uni.h new/nginx-1.27.0/src/http/v3/ngx_http_v3_uni.h
--- old/nginx-1.25.5/src/http/v3/ngx_http_v3_uni.h 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/http/v3/ngx_http_v3_uni.h 2024-05-28 15:22:30.000000000 +0200
@@ -19,6 +19,8 @@
ngx_int_t ngx_http_v3_cancel_stream(ngx_connection_t *c, ngx_uint_t stream_id);
+ngx_connection_t *ngx_http_v3_get_uni_stream(ngx_connection_t *c,
+ ngx_uint_t type);
ngx_int_t ngx_http_v3_send_settings(ngx_connection_t *c);
ngx_int_t ngx_http_v3_send_goaway(ngx_connection_t *c, uint64_t id);
ngx_int_t ngx_http_v3_send_ack_section(ngx_connection_t *c,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.25.5/src/stream/ngx_stream_pass_module.c new/nginx-1.27.0/src/stream/ngx_stream_pass_module.c
--- old/nginx-1.25.5/src/stream/ngx_stream_pass_module.c 2024-04-16 16:29:59.000000000 +0200
+++ new/nginx-1.27.0/src/stream/ngx_stream_pass_module.c 2024-05-28 15:22:30.000000000 +0200
@@ -83,6 +83,11 @@
c->log->action = "passing connection to port";
+ if (c->type == SOCK_DGRAM) {
+ ngx_log_error(NGX_LOG_ERR, c->log, 0, "cannot pass udp connection");
+ goto failed;
+ }
+
if (c->buffer && c->buffer->pos != c->buffer->last) {
ngx_log_error(NGX_LOG_ERR, c->log, 0,
"cannot pass connection with preread data");
@@ -217,6 +222,10 @@
static ngx_int_t
ngx_stream_pass_match(ngx_listening_t *ls, ngx_addr_t *addr)
{
+ if (ls->type == SOCK_DGRAM) {
+ return NGX_DECLINED;
+ }
+
if (!ls->wildcard) {
return ngx_cmp_sockaddr(ls->sockaddr, ls->socklen,
addr->sockaddr, addr->socklen, 1);
++++++ nginx.keyring ++++++
--- /var/tmp/diff_new_pack.yJ986f/_old 2024-06-04 12:51:10.355916880 +0200
+++ /var/tmp/diff_new_pack.yJ986f/_new 2024-06-04 12:51:10.359917026 +0200
@@ -1,115 +1,66 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBGYXyiQBEAC4jm1y+ODV4+YDGj9vp2BgHB4FJeQdgrBiVX+Mb2qCrEqJgeKV
-fVwKjkVYqnb76TTybdOKqCP5wdQrncKAKlXsMq6sdsiwPSrdRcjkeiE29WWrtbB4
-i+VObnoWklMblMxFQ1XQIkjs2wviidKjJw2VV3i4XnLSrHhWaWqviTLZCMQymoPs
-F+Tfu1WX9OUfOquekZ5KjkyBxB4ep6+NPeuIkPnW0SiTUhU8tbi8v0aBZEHSZLqE
-mq8KLROVuYSPvtU+NtaXAM09BHEVCfb409aDps9p6AFT+IN8yoOegGdEZjp6hJvS
-HxbhuwqNEtg4dTEV515YUCgKabqU1QaqI/Y0+Pdkpep1KRFc9YUYttDkCw7Ybu2u
-fwTGzwAbD+ThAIOdzmMDodzZaEMf+9fQG4bnO1PdNbXzyP7Kv9qzGa65+9oGCPOS
-qTpISR8pvzoI8w/Z/vG71ob/nQ6Xm0L986ksErdGhu16ZI7lW2eDYqy2IoFfbeSz
-HHxk484/pEibrlCRbP2Id+zULfxo1HGOGg+PAY9Q2uNzABsGDMnOhIvXHS+hP7oB
-sO9A4Prqu6K6cMp3QI219tmmOUegJpmGGPzoNgxR7H30wNcjZPv4PWr/c0fP70Ny
-ilgbdcEMDSHks30AmiuIvcUxo3A21p2nnpxsKAKYx42UJkyEK0HILMzcqwARAQAB
-tCZSb21hbiBBcnV0eXVueWFuIDxyLmFydXR5dW55YW5AZjUuY29tPokCTgQTAQgA
-OBYhBEM4eCXdsbuX7Da6XQB8jXwV2HNpBQJmF8pXAhsDBQsJCAcCBhUKCQgLAgQW
-AgMBAh4BAheAAAoJEAB8jXwV2HNppvQP/AjzdPKkGRzJkb1ioto/IEP1YhA/Eayk
-hvejJ0vyWVHXXH7FLW9fIZoApcsD1J8/7zIANm+62IfT3QNbL2R44IyhJB3AY22l
-t0ToLxodfugegF3NPYYyFOSRUoPD4g2T/dMCPOBX4MNEAnAlCmxAMaJNmQUO76IY
-GwELa3CH3Aqf7bthKy8P36G11hu7NgH6V9mVIRIpfnfpXFQIztj+vsWtswu4M5t7
-BNJwx4a2KTCVQpTdff5/0dO/5drQDxLbIg681WZk3Oe8Eu6nSc0Ud02NIkg1TQH/
-MryAp7o/ua3LRem+W/cktnT60p4uXPVZ3Rvg3zOmJSNJ+eIXY2+sDeZEPaROKldA
-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
-kZv2zEcTtzlAYNEumy8KrJzICmPLS7BEC8w=
-=ilJ3
+mQINBGKE4psBEADpHSM/IxFD1nXBmnODYXzcl2A+6b6m9m1m2Y4Dlr0ed+y5Lxne
+QidE9I74A2KSm6+eHW2yh4i1ZwZbmwpmQqM+j5BMt7axoXOdKSyN+fYtUakzNbBN
+EDRKT79q/zIzkgTJradHkCQkwF1W3go+qPXjR2ZEnLma9dZED9VNI6PmOpeYaASo
+IkEfbKbwa/vPrvnDSSYY6Y02RXSRk5U1NvQgVUTJP9WGK7NlPUcTBDELLQv6fFPU
+kjBOel6MecsQ+v8iq4RJF2cbVF0hNjbAiNldjLV74Xd7yWVRlCbdb2agyvQjMNrD
+jHSvbEMiNB3R8yBHVW2Zldv8q0XjcwoDfdiZYFJe3lRUYmv6I2p+/DptD4r/3ILI
+peGZtSeOdQEw+vvODL/Ehq03anTrzcpZ6sDLfLrYJhYcrltj0/LMUnLDAjciwRUq
+XI46EfxwqsdLeqoZFQeO3LOFsh0kJKR2xOrUHIVy84NJ4Gmro6WmUkb1NfdjyHzF
+z8Lfbo46NKoTcwFsFF0q74jVVIVNUyIS91DusiMqLCsP8jqDOz/kyP4bOJQ+aUXf
+BANn4Ll1TFWsJ417moxz+Pi5sTaI0na8z2XB1N9WPsSml3FS75hJPJshN2T3VIea
+zB7GFWqk33ynSDt+cAisG5nsK9fFdcH+t5wm59oobyFbFhKxwX6ROuxlZwARAQAB
+tCRTZXJnZXkgS2FuZGF1cm92IDxwbHVrbmV0QG5naW54LmNvbT6JAk4EEwEKADgW
+IQTWeGzjA9mpAimY3GzIRk1UmvdcCgUCYoTimwIbAwULCQgHAwUVCgkICwUWAwIB
+AAIeAQIXgAAKCRDIRk1UmvdcCqbOD/9Htgk3mWvUFmrApkWQTIDNmLACZ1Sw1PXj
+Uqte8StYB0bYY+nmAXs7O5eC2h1ViParl7En1joEEMQQmH0qSnw4X1CM/hA8TAYW
+mBPITTNWo/R52WoyWeWGFnFNIperQmuIZc+pXm0VEFVPiX/2DXbCIu+jaXySvlCN
+LekmOD4VC7dJS8/ohoaXOR2T8ufS+1CsyPXomEb+COhqRZ3EVBa+k7pnElkFft3Y
+a1fR0AgatZFQpy+ukePhK7s/M5RGhDJWHgSAZFkf+X2jVV4NRJ+XsY80gU5DD2ZX
+QT6Je6Knxqk7FnWNSxkhReH6Ss5flZSoGDCmJ2AsPtGeUhus2fGqeN+waGKTZC35
+die2V4/cro1SWswSI6Y5GFDZT1olIUztPmSXU/A3oyizJI7XZybwUbpk5kK83VXm
+el3U/7Qr/VErlDWFefZWeUvT1RILZ8IRoNj4dv158RnKHt9G508A5qz4hUPKoSeq
+SiXhYwfkc31WPzIJ4ev+X5Ka2sG/CKbEMJ7qwc0Kadiu+ePPfqqbXjpTWRyrbcRM
+hRNcLNUi1SLWMBClOQG+5GNG1dPPHkbj4dO1OZuaUMwQdu8R8NlsGoVWS40bmVv5
+pXstzYCl7k/UnC/Ytlq61GeAoq8ILa6jGj0EWqlhvi0ZNMN+fROhzrRlTzIr/+WE
+Xf8EiVNFSbQlU2VyZ2V5IEthbmRhdXJvdiA8cy5rYW5kYXVyb3ZAZjUuY29tPokC
+TgQTAQoAOBYhBNZ4bOMD2akCKZjcbMhGTVSa91wKBQJihO2zAhsDBQsJCAcDBRUK
+CQgLBRYDAgEAAh4BAheAAAoJEMhGTVSa91wKgLQQANaf4UMndkWoefDQPkJ5qR4K
+fuV0WRz59riZEApTkVpPXzl8Y1i8Rgt9pa1v1i12vPyIXKav1rJXQcuDEzqrhQ2G
+yvuAE2U/t2mYaMUmwxWO2d8JA3slvBSgOkiYpbLooDizAdKMT5UQWGyw31Wm51iz
+HjoztebsyXeXgq9VDjv3D8LUBr/OY3Hguj6HV+zRtC95qgXYadW2FiCtvBK6RTDb
+iShTuseLSheGh9dZIUSnzaOiJpDA61ZDYtFZxSpe67vEzhSfHVsF+ZdCjoWhhVv+
++2wR4E0VQQtOM9uX1PMlZ5Ymr02/gidsXCM0ZjYXx4cDDhnq+nKomN64VloXWY9t
+PIi86XmzcSWlGUd+Ac6LyW7/f64bUWs4Ih0Idl0PF0sAr/6axKUsIs1nbn5MEtXk
+ZPAjcDLqLb9IIQaXRurm/il8v+bLXVBOJq33YUuGRuz8pu4vPA5Q97zglqhlIgbu
+prHMJ9hl5q39JwS3As2rK0o6Q9VVKr29rqSEfk4wEttvk0QMMU5zEvVl8MtqPj42
+qURqpHOadFbYMTwhUmRBUszRZPa5/pWqq0gWOtpyCWFVAsHFWQGJM1Eo6gGEyHZM
+YgBp+d29p2p409r1+06U67GBnXvUy0RyIpkLQtU+lyOJ6vvrBmmsDs/gc69GnlSC
+tZmCt0pLesJ7ZJzGdDkduQINBGKE4psBEADQr/enuDeVT11v6ejuYrg7aaZaGFUe
+3i28bQ4pRUKNfxs7zVYDDHi2i2bhS5j2yQnbsQtGcgoenw6lapmdQRzr4vjQAz9o
+kT6l4qpqvFFQM0wZTnigVDmmO9vTHR8Uk3iCKTd2ax3oko/xPWWYJautJ6ex8cOA
+coHSDeOjuIWSxCKq0BDFp6LoxkM8nuyLAX2cbhI3LncaZhVveMeN+Fmcsv+WpkKs
+yhX92umZuGwlraSyFy23FiRWSZPu9qVIxMMHvVrQJIgfhyWaHFzoF4M4qDoSKx92
+uWfUWgFwPOxOJ6/YcPsX4T8qTl9htmwPN0BibPTlcWaIFXtiU5bE1MivUPeACrI/
+gwUfCR3Mg+GYc13C6jzepREUhI7PLi3+A203PlMZd/aaSZkP6j+h4cwdapH5P4uF
+7T1EQ0MSdx3neAvu5p0IM6JpriwxfT3HsG+Y952T6MIeXcjNRebsBrygJhJ0/vyr
+wV5t8jL0yQty4CiE/QFnBs42l+rngi7K7Y1AZRBGK7JA09XaoLrfLmS+PrbYPsaJ
+flkM8GzUB7BBCLozxDHPzmPkf/A1w3XHZnYuZmS+pvjWCIoKpLQHI99oSUGho/TR
+gMRO4v7EAzluqCiepMl0xwFfHB115ND/mATazc4Pt6FxUsqffzfZrN01e1UVPrp5
+4x6YLO80JnOY6QARAQABiQI2BBgBCgAgFiEE1nhs4wPZqQIpmNxsyEZNVJr3XAoF
+AmKE4psCGwwACgkQyEZNVJr3XAp9ghAAgCgErxQYn/Lh/mzsxYXPnisggcBpceks
+mGw7knj1EGkXqq9CHn3EjCw8dB5N857UFlUr++DHwpFL5O36PRQo33RIUFbmBypG
+8C/xX1jWGu3xcaqS3P1ncsSSl6ckdvy9pjMxThm/RkXO0eJCn7FcanwPJXEB3Pbb
+mm0wLI2OXl/m7l5QAr7kErnPvGNzcbX6G35Q/MY8mumBWQ9H53R5ZPpi+OS40Wfn
+pZNKdh/Acwa7+2RokPqoOcJfxVdBOUigXTzb45qZgqEsSR7bkZAy2E80A/sJKPqs
+OGjp9cog3rBYyNBn5dasfR9KeBtluKnjUbzutXsQoKUSECY00YGrtneSXMku5hoE
+Dguk68w/L63ZApYHO/JTgJAYvqPOErAVUegPIw2CT1/2qi5vpClBcKkNS7RXrssA
+X+lElE0zbzX3bNG+lQuXby7jNUFYltkEiz6vTtc4HuHy8u40DHMswzkoDr0T8IE0
+7ZRAWXwV1nlA/dI337cHCsWMJyqem5wZZO13iqe07qaCg1uvBPeqDo81hOCn1us7
+l5SYRUTlt7KSFEHZ+Sx4bmVneAuRi5okaQdmrepy/ss/vVpRwWuQxsPkvT8boS7s
+mqOVsZFcNOuUJPUyOz1dHUL6FMYpk1dw+9n41gO4fLBzJekFTB/fxL6SRbYFWWn7
+x0VGHDmuaYQ=
+=HmVo
-----END PGP PUBLIC KEY BLOCK-----
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package less for openSUSE:Factory checked in at 2024-06-04 12:50:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/less (Old)
and /work/SRC/openSUSE:Factory/.less.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "less"
Tue Jun 4 12:50:40 2024 rev:74 rq:1177861 version:656
Changes:
--------
--- /work/SRC/openSUSE:Factory/less/less.changes 2023-11-10 12:29:07.531205618 +0100
+++ /work/SRC/openSUSE:Factory/.less.new.24587/less.changes 2024-06-04 12:51:05.687747483 +0200
@@ -1,0 +2,48 @@
+Mon May 27 14:43:39 UTC 2024 - Danilo Spinella <danilo.spinella(a)suse.com>
+
+- Update to 656:
+ * Add ^O^N, ^O^P, ^O^L and ^O^O commands and mouse clicks (with --mouse) to find and open OSC8 hyperlinks (github #251).
+ * Add --match-shift option.
+ * Add --lesskey-content option (github #447).
+ * Add LESSKEY_CONTENT environment variable (github #447).
+ * Add --no-search-header-lines and --no-search-header-columns options (github #397).
+ * Add ctrl-L search modifier (github #367).
+ * A ctrl-P at the start of a shell command suppresses the "done" message (github #462).
+ * Add attribute characters ('*', '~', '_', '&') to --color parameter (github #471).
+ * Allow expansion of environment variables in lesskey files.
+ * Add LESSSECURE_ALLOW environment variable (github #449).
+ * Add LESS_UNSUPPORT environment variable.
+ * Add line number parameter to --header option (github #436).
+ * Mouse right-click jumps to position marked by left-click (github #390).
+ * Ensure that the target line is not obscured by a header line set by --header (github #444).
+ * Change default character set to "utf-8", except remains "dos" on MS-DOS.
+ * Add message when search with ^W wraps (github #459).
+ * UCRT builds on Windows 10 and later now support Unicode file names (github #438).
+ * Improve behavior of interrupt while reading non-terminated pipe (github #414).
+ * Improve parsing of -j, -x and -# options (github #393).
+ * Support files larger than 4GB on Windows (github #417).
+ * Support entry of Unicode chars larger than U+FFFF on Windows (github #391).
+ * Improve colors of bold, underline and standout text on Windows.
+ * Allow --rscroll to accept non-ASCII characters (github #483).
+ * Allow the parameter to certain options to be terminated with a space (--color, --quotes, --rscroll, --search-options and --intr) (github #495).
+ * Fix bug where # substitution failed after viewing help (github #420).
+ * Fix crash if files are deleted while less is viewing them (github #404).
+ * Workaround unreliable ReadConsoleInputW behavior on Windows with non-ASCII input.
+ * Fix -J display when searching for non-ASCII characters (github #422).
+ * Don't filter header lines via the & command (github #423).
+ * Fix bug when horizontally shifting long lines (github #425).
+ * Add -x and -D options to lesstest, to make it easier to diagnose a failed lesstest run.
+ * Fix bug searching long lines with --incsearch and -S (github #428).
+ * Fix bug that made ESC-} fail if top line on screen was empty (github #429).
+ * Fix bug with --mouse on Windows when used with pipes (github #440).
+ * Fix bug in --+OPTION command line syntax.
+ * Fix display bug when using -w with an empty line with a CR/LF line ending (github #474).
+ * When substituting '#' or '%' with a filename, quote the filename if it contains a space (github #480).
+ * Fix wrong sleep time when system has usleep but not nanosleep (github #489).
+ * Fix bug when file name contains a newline.
+ * Fix bug when file name contains nonprintable characters (github #503).
+ * Fix DJGPP build (github #497).
+ * Update Unicode tables.
+- Refresh less-429-shell.patch
+
+-------------------------------------------------------------------
Old:
----
less-643.sig
less-643.tar.gz
New:
----
less-656-beta.tar.gz
less-656.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ less.spec ++++++
--- /var/tmp/diff_new_pack.gTxil0/_old 2024-06-04 12:51:06.435774628 +0200
+++ /var/tmp/diff_new_pack.gTxil0/_new 2024-06-04 12:51:06.435774628 +0200
@@ -1,7 +1,7 @@
#
# spec file for package less
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -22,13 +22,13 @@
%define use_usretc 1
%endif
Name: less
-Version: 643
+Version: 656
Release: 0
Summary: Text File Browser and Pager Similar to more
License: BSD-2-Clause OR GPL-3.0-or-later
Group: Productivity/Text/Utilities
URL: https://www.greenwoodsoftware.com/less/
-Source: https://www.greenwoodsoftware.com/less/less-%{version}.tar.gz
+Source: https://www.greenwoodsoftware.com/less/less-%{version}-beta.tar.gz
Source1: README.SUSE
Source2: lessopen.sh
Source3: lessclose.sh
++++++ less-429-shell.patch ++++++
--- /var/tmp/diff_new_pack.gTxil0/_old 2024-06-04 12:51:06.479776224 +0200
+++ /var/tmp/diff_new_pack.gTxil0/_new 2024-06-04 12:51:06.483776370 +0200
@@ -1,21 +1,21 @@
-Index: less-643/filename.c
+Index: less-656/filename.c
===================================================================
---- less-643.orig/filename.c
-+++ less-643/filename.c
-@@ -550,7 +550,7 @@ static FILE * shellcmd(char *cmd)
+--- less-656.orig/filename.c
++++ less-656/filename.c
+@@ -553,7 +553,7 @@ static FILE * shellcmd(constant char *cm
#if HAVE_SHELL
- char *shell;
+ constant char *shell;
- shell = lgetenv("SHELL");
+ shell = lgetenv("LESSSHELL");
if (!isnullenv(shell))
{
char *scmd;
-Index: less-643/less.hlp
+Index: less-656/less.hlp
===================================================================
---- less-643.orig/less.hlp
-+++ less-643/less.hlp
-@@ -104,7 +104,7 @@
+--- less-656.orig/less.hlp
++++ less-656/less.hlp
+@@ -109,7 +109,7 @@
___<_n_a_m_e_> Display the setting of an option, by name.
+_c_m_d Execute the less cmd each time a new file is examined.
@@ -24,33 +24,33 @@
#_c_o_m_m_a_n_d Execute the shell command, expanded like a prompt.
|XX_c_o_m_m_a_n_d Pipe file between current pos & mark XX to shell command.
s _f_i_l_e Save input to a file.
-Index: less-643/less.nro
+Index: less-656/less.nro
===================================================================
---- less-643.orig/less.nro
-+++ less-643/less.nro
-@@ -459,7 +459,7 @@ current file.
- A pound sign (#) is replaced by the name of the previously examined file.
- "!!" repeats the last shell command.
+--- less-656.orig/less.nro
++++ less-656/less.nro
+@@ -468,7 +468,7 @@ A pound sign (#) is replaced by the name
"!" with no shell command simply invokes a shell.
+ If a \(haP (CONTROL-P) is entered immediately after the !,
+ no "done" message is printed after the shell command is executed.
-On Unix systems, the shell is taken from the environment variable SHELL,
+On Unix systems, the shell is taken from the environment variable LESSSHELL,
or defaults to "sh".
- On MS-DOS and OS/2 systems, the shell is the normal command processor.
+ On MS-DOS, Windows, and OS/2 systems, the shell is the normal command processor.
.IP "# shell-command"
-@@ -2281,7 +2281,7 @@ automatically when running in
+@@ -2493,7 +2493,7 @@ automatically when running in
.IP PATH
User's search path (used to find a lesskey file
- on MS-DOS and OS/2 systems).
+ on MS-DOS, Windows, and OS/2 systems).
-.IP SHELL
+.IP LESSSHELL
The shell used to execute the !\& command, as well as to expand filenames.
.IP TERM
The type of terminal on which
-Index: less-643/lsystem.c
+Index: less-656/lsystem.c
===================================================================
---- less-643.orig/lsystem.c
-+++ less-643/lsystem.c
-@@ -121,13 +121,13 @@ public void lsystem(char *cmd, char *don
+--- less-656.orig/lsystem.c
++++ less-656/lsystem.c
+@@ -120,13 +120,13 @@ public void lsystem(constant char *cmd,
/*
* Pass the command to the system to be executed.
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ethtool for openSUSE:Factory checked in at 2024-06-04 12:50:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ethtool (Old)
and /work/SRC/openSUSE:Factory/.ethtool.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ethtool"
Tue Jun 4 12:50:36 2024 rev:83 rq:1177781 version:6.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/ethtool/ethtool.changes 2024-02-06 16:32:42.447037657 +0100
+++ /work/SRC/openSUSE:Factory/.ethtool.new.24587/ethtool.changes 2024-06-04 12:50:53.939321160 +0200
@@ -1,0 +2,9 @@
+Thu May 23 15:25:40 UTC 2024 - Michal Kubecek <mkubecek(a)suse.cz>
+
+- update to upstream release 6.9
+ * Feature: support for rx-flow-hash gtp (-N)
+ * Feature: support for RSS input transformation (-X)
+ * Fix: typo in coalescing output (-c)
+ * Fix: document all debugging flags in man page
+
+-------------------------------------------------------------------
Old:
----
ethtool-6.7.tar.sign
ethtool-6.7.tar.xz
New:
----
ethtool-6.9.tar.sign
ethtool-6.9.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ethtool.spec ++++++
--- /var/tmp/diff_new_pack.mZ5oXF/_old 2024-06-04 12:50:54.731349900 +0200
+++ /var/tmp/diff_new_pack.mZ5oXF/_new 2024-06-04 12:50:54.731349900 +0200
@@ -17,7 +17,7 @@
Name: ethtool
-Version: 6.7
+Version: 6.9
Release: 0
Summary: Utility for examining and tuning Ethernet-based network interfaces
License: GPL-2.0-only
++++++ ethtool-6.7.tar.xz -> ethtool-6.9.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/NEWS new/ethtool-6.9/NEWS
--- old/ethtool-6.7/NEWS 2024-01-29 00:04:47.000000000 +0100
+++ new/ethtool-6.9/NEWS 2024-05-23 17:07:13.000000000 +0200
@@ -1,3 +1,9 @@
+Version 6.9 - May 23, 2024
+ * Feature: support for rx-flow-hash gtp (-N)
+ * Feature: support for RSS input transformation (-X)
+ * Fix: typo in coalescing output (-c)
+ * Fix: document all debugging flags in man page
+
Version 6.7 - January 29, 2024
* Feature: support for setting TCP data split
* Fix: fix new gcc14 warning
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/configure new/ethtool-6.9/configure
--- old/ethtool-6.7/configure 2024-01-29 00:05:47.000000000 +0100
+++ new/ethtool-6.9/configure 2024-05-23 17:14:17.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ethtool 6.7.
+# Generated by GNU Autoconf 2.69 for ethtool 6.9.
#
# Report bugs to <netdev(a)vger.kernel.org>.
#
@@ -580,8 +580,8 @@
# Identity of this package.
PACKAGE_NAME='ethtool'
PACKAGE_TARNAME='ethtool'
-PACKAGE_VERSION='6.7'
-PACKAGE_STRING='ethtool 6.7'
+PACKAGE_VERSION='6.9'
+PACKAGE_STRING='ethtool 6.9'
PACKAGE_BUGREPORT='netdev(a)vger.kernel.org'
PACKAGE_URL=''
@@ -1254,7 +1254,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ethtool 6.7 to adapt to many kinds of systems.
+\`configure' configures ethtool 6.9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1320,7 +1320,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ethtool 6.7:";;
+ short | recursive ) echo "Configuration of ethtool 6.9:";;
esac
cat <<\_ACEOF
@@ -1430,7 +1430,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ethtool configure 6.7
+ethtool configure 6.9
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1677,7 +1677,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ethtool $as_me 6.7, which was
+It was created by ethtool $as_me 6.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2543,7 +2543,7 @@
# Define the identity of the package.
PACKAGE='ethtool'
- VERSION='6.7'
+ VERSION='6.9'
cat >>confdefs.h <<_ACEOF
@@ -5233,7 +5233,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ethtool $as_me 6.7, which was
+This file was extended by ethtool $as_me 6.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5299,7 +5299,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-ethtool config.status 6.7
+ethtool config.status 6.9
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/configure.ac new/ethtool-6.9/configure.ac
--- old/ethtool-6.7/configure.ac 2024-01-28 23:50:24.000000000 +0100
+++ new/ethtool-6.9/configure.ac 2024-05-23 17:04:11.000000000 +0200
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(ethtool, 6.7, netdev(a)vger.kernel.org)
+AC_INIT(ethtool, 6.9, netdev(a)vger.kernel.org)
AC_PREREQ(2.52)
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([ethtool.c])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/ethtool.8 new/ethtool-6.9/ethtool.8
--- old/ethtool-6.7/ethtool.8 2024-01-29 00:05:49.000000000 +0100
+++ new/ethtool-6.9/ethtool.8 2024-05-23 17:14:19.000000000 +0200
@@ -117,7 +117,7 @@
. hy \\n(HY
..
.
-.TH ETHTOOL 8 "January 2024" "Ethtool version 6.7"
+.TH ETHTOOL 8 "May 2024" "Ethtool version 6.9"
.SH NAME
ethtool \- query or control network driver and hardware settings
.
@@ -351,6 +351,7 @@
.RB ...\ | \ default \ ]
.RB [ hfunc
.IR FUNC ]
+.B2 xfrm symmetric-xor none
.RB [ context
.I CTX
.RB |\ new ]
@@ -565,6 +566,10 @@
nokeep;
lB l.
0x01 Parser information
+0x02 Summary of netlink messages
+0x04 Hex dump of sent netlink messages
+0x08 Hex dump of received netlink messages
+0x10 Structure of netlink messages
.TE
.TP
.BI \-\-json
@@ -1201,6 +1206,19 @@
Sets RSS hash function of the specified network device.
List of RSS hash functions which kernel supports is shown as a part of the --show-rxfh command output.
.TP
+.BI xfrm
+Sets the RSS input transformation. Currently, only the
+.B symmetric-xor
+transformation is supported where the NIC XORs the L3 and/or L4 source and
+destination fields (as selected by
+.B --config-nfc rx-flow-hash
+) before passing them to the hash algorithm. The RSS hash function will
+then yield the same hash for the other flow direction where the source and
+destination fields are swapped (i.e. Symmetric RSS). Note that XORing the
+input parameters reduces the entropy of the input set and the hash algorithm
+could potentially be exploited. Switch off (default) by
+.B xfrm none.
+.TP
.BI start\ N
For the \fBequal\fR and \fBweight\fR options, sets the starting receive queue
for spreading flows to \fIN\fR.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/ethtool.8.in new/ethtool-6.9/ethtool.8.in
--- old/ethtool-6.7/ethtool.8.in 2024-01-28 23:50:40.000000000 +0100
+++ new/ethtool-6.9/ethtool.8.in 2024-05-23 17:04:29.000000000 +0200
@@ -117,7 +117,7 @@
. hy \\n(HY
..
.
-.TH ETHTOOL 8 "January 2024" "Ethtool version @VERSION@"
+.TH ETHTOOL 8 "May 2024" "Ethtool version @VERSION@"
.SH NAME
ethtool \- query or control network driver and hardware settings
.
@@ -351,6 +351,7 @@
.RB ...\ | \ default \ ]
.RB [ hfunc
.IR FUNC ]
+.B2 xfrm symmetric-xor none
.RB [ context
.I CTX
.RB |\ new ]
@@ -565,6 +566,10 @@
nokeep;
lB l.
0x01 Parser information
+0x02 Summary of netlink messages
+0x04 Hex dump of sent netlink messages
+0x08 Hex dump of received netlink messages
+0x10 Structure of netlink messages
.TE
.TP
.BI \-\-json
@@ -1201,6 +1206,19 @@
Sets RSS hash function of the specified network device.
List of RSS hash functions which kernel supports is shown as a part of the --show-rxfh command output.
.TP
+.BI xfrm
+Sets the RSS input transformation. Currently, only the
+.B symmetric-xor
+transformation is supported where the NIC XORs the L3 and/or L4 source and
+destination fields (as selected by
+.B --config-nfc rx-flow-hash
+) before passing them to the hash algorithm. The RSS hash function will
+then yield the same hash for the other flow direction where the source and
+destination fields are swapped (i.e. Symmetric RSS). Note that XORing the
+input parameters reduces the entropy of the input set and the hash algorithm
+could potentially be exploited. Switch off (default) by
+.B xfrm none.
+.TP
.BI start\ N
For the \fBequal\fR and \fBweight\fR options, sets the starting receive queue
for spreading flows to \fIN\fR.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/ethtool.c new/ethtool-6.9/ethtool.c
--- old/ethtool-6.7/ethtool.c 2024-01-28 19:44:03.000000000 +0100
+++ new/ethtool-6.9/ethtool.c 2024-05-21 09:43:11.000000000 +0200
@@ -360,6 +360,18 @@
flow_type = AH_ESP_V4_FLOW;
else if (!strcmp(str, "sctp4"))
flow_type = SCTP_V4_FLOW;
+ else if (!strcmp(str, "gtpc4"))
+ flow_type = GTPC_V4_FLOW;
+ else if (!strcmp(str, "gtpc4t"))
+ flow_type = GTPC_TEID_V4_FLOW;
+ else if (!strcmp(str, "gtpu4"))
+ flow_type = GTPU_V4_FLOW;
+ else if (!strcmp(str, "gtpu4e"))
+ flow_type = GTPU_EH_V4_FLOW;
+ else if (!strcmp(str, "gtpu4u"))
+ flow_type = GTPU_UL_V4_FLOW;
+ else if (!strcmp(str, "gtpu4d"))
+ flow_type = GTPU_DL_V4_FLOW;
else if (!strcmp(str, "tcp6"))
flow_type = TCP_V6_FLOW;
else if (!strcmp(str, "udp6"))
@@ -370,6 +382,18 @@
flow_type = SCTP_V6_FLOW;
else if (!strcmp(str, "ether"))
flow_type = ETHER_FLOW;
+ else if (!strcmp(str, "gtpc6"))
+ flow_type = GTPC_V6_FLOW;
+ else if (!strcmp(str, "gtpc6t"))
+ flow_type = GTPC_TEID_V6_FLOW;
+ else if (!strcmp(str, "gtpu6"))
+ flow_type = GTPU_V6_FLOW;
+ else if (!strcmp(str, "gtpu6e"))
+ flow_type = GTPU_EH_V6_FLOW;
+ else if (!strcmp(str, "gtpu6u"))
+ flow_type = GTPU_UL_V6_FLOW;
+ else if (!strcmp(str, "gtpu6d"))
+ flow_type = GTPU_DL_V6_FLOW;
return flow_type;
}
@@ -1010,6 +1034,9 @@
case 'n':
*data |= RXH_L4_B_2_3;
break;
+ case 'e':
+ *data |= RXH_GTP_TEID;
+ break;
case 'r':
*data |= RXH_DISCARD;
break;
@@ -1042,6 +1069,8 @@
strcat(buf, "L4 bytes 0 & 1 [TCP/UDP src port]\n");
if (opts & RXH_L4_B_2_3)
strcat(buf, "L4 bytes 2 & 3 [TCP/UDP dst port]\n");
+ if (opts & RXH_GTP_TEID)
+ strcat(buf, "GTP TEID\n");
} else {
sprintf(buf, "None");
}
@@ -1559,6 +1588,24 @@
case SCTP_V4_FLOW:
fprintf(stdout, "SCTP over IPV4 flows");
break;
+ case GTPC_V4_FLOW:
+ fprintf(stdout, "GTP-C over IPV4 flows");
+ break;
+ case GTPC_TEID_V4_FLOW:
+ fprintf(stdout, "GTP-C (include TEID) over IPV4 flows");
+ break;
+ case GTPU_V4_FLOW:
+ fprintf(stdout, "GTP-U over IPV4 flows");
+ break;
+ case GTPU_EH_V4_FLOW:
+ fprintf(stdout, "GTP-U and Extension Header over IPV4 flows");
+ break;
+ case GTPU_UL_V4_FLOW:
+ fprintf(stdout, "GTP-U PSC Uplink over IPV4 flows");
+ break;
+ case GTPU_DL_V4_FLOW:
+ fprintf(stdout, "GTP-U PSC Downlink over IPV4 flows");
+ break;
case AH_ESP_V4_FLOW:
case AH_V4_FLOW:
case ESP_V4_FLOW:
@@ -1573,6 +1620,24 @@
case SCTP_V6_FLOW:
fprintf(stdout, "SCTP over IPV6 flows");
break;
+ case GTPC_V6_FLOW:
+ fprintf(stdout, "GTP-C over IPV6 flows");
+ break;
+ case GTPC_TEID_V6_FLOW:
+ fprintf(stdout, "GTP-C (include TEID) over IPV6 flows");
+ break;
+ case GTPU_V6_FLOW:
+ fprintf(stdout, "GTP-U over IPV6 flows");
+ break;
+ case GTPU_EH_V6_FLOW:
+ fprintf(stdout, "GTP-U and Extension Header over IPV6 flows");
+ break;
+ case GTPU_UL_V6_FLOW:
+ fprintf(stdout, "GTP-U PSC Uplink over IPV6 flows");
+ break;
+ case GTPU_DL_V6_FLOW:
+ fprintf(stdout, "GTP-U PSC Downlink over IPV6 flows");
+ break;
case AH_ESP_V6_FLOW:
case AH_V6_FLOW:
case ESP_V6_FLOW:
@@ -4029,6 +4094,10 @@
(const char *)hfuncs->data + i * ETH_GSTRING_LEN,
(rss->hfunc & (1 << i)) ? "on" : "off");
+ printf("RSS input transformation:\n");
+ printf(" symmetric-xor: %s\n",
+ (rss->input_xfrm & RXH_XFRM_SYM_XOR) ? "on" : "off");
+
out:
free(hfuncs);
free(rss);
@@ -4146,6 +4215,7 @@
u32 arg_num = 0, indir_bytes = 0;
u32 req_hfunc = 0;
u32 entry_size = sizeof(rss_head.rss_config[0]);
+ u32 req_input_xfrm = 0xff;
u32 num_weights = 0;
u32 rss_context = 0;
int delete = 0;
@@ -4189,6 +4259,15 @@
if (!req_hfunc_name)
exit_bad_args();
++arg_num;
+ } else if (!strcmp(ctx->argp[arg_num], "xfrm")) {
+ ++arg_num;
+ if (!strcmp(ctx->argp[arg_num], "symmetric-xor"))
+ req_input_xfrm = RXH_XFRM_SYM_XOR;
+ else if (!strcmp(ctx->argp[arg_num], "none"))
+ req_input_xfrm = 0;
+ else
+ exit_bad_args();
+ ++arg_num;
} else if (!strcmp(ctx->argp[arg_num], "context")) {
++arg_num;
if(!strcmp(ctx->argp[arg_num], "new"))
@@ -4333,6 +4412,7 @@
rss->cmd = ETHTOOL_SRSSH;
rss->rss_context = rss_context;
rss->hfunc = req_hfunc;
+ rss->input_xfrm = req_input_xfrm;
if (delete) {
rss->indir_size = rss->key_size = 0;
} else {
@@ -5834,7 +5914,8 @@
.func = do_grxclass,
.help = "Show Rx network flow classification options or rules",
.xhelp = " [ rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|"
- "tcp6|udp6|ah6|esp6|sctp6 [context %d] |\n"
+ "gtpc4|gtpc4t|gtpu4|gtpu4e|gtpu4u|gtpu4d|tcp6|udp6|ah6|esp6|sctp6|"
+ "gtpc6|gtpc6t|gtpu6|gtpu6e|gtpu6u|gtpu6d [context %d] |\n"
" rule %d ]\n"
},
{
@@ -5842,7 +5923,8 @@
.func = do_srxclass,
.help = "Configure Rx network flow classification options or rules",
.xhelp = " rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|"
- "tcp6|udp6|ah6|esp6|sctp6 m|v|t|s|d|f|n|r... [context %d] |\n"
+ "gtpc4|gtpc4t|gtpu4|gtpu4e|gtpu4u|gtpu4d|tcp6|udp6|ah6|esp6|sctp6"
+ "|gtpc6|gtpc6t|gtpu6|gtpu6e|gtpu6u|gtpu6d m|v|t|s|d|f|n|r|e... [context %d] |\n"
" flow-type ether|ip4|tcp4|udp4|sctp4|ah4|esp4|"
"ip6|tcp6|udp6|ah6|esp6|sctp6\n"
" [ src %x:%x:%x:%x:%x:%x [m %x:%x:%x:%x:%x:%x] ]\n"
@@ -5887,6 +5969,7 @@
" [ equal N | weight W0 W1 ... | default ]\n"
" [ hkey %x:%x:%x:%x:%x:.... ]\n"
" [ hfunc FUNC ]\n"
+ " [ xfrm symmetric-xor|none ]\n"
" [ delete ]\n"
},
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/ethtool.spec new/ethtool-6.9/ethtool.spec
--- old/ethtool-6.7/ethtool.spec 2024-01-29 00:05:49.000000000 +0100
+++ new/ethtool-6.9/ethtool.spec 2024-05-23 17:14:19.000000000 +0200
@@ -1,5 +1,5 @@
Name : ethtool
-Version : 6.7
+Version : 6.9
Release : 1
Group : Utilities
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/netlink/coalesce.c new/ethtool-6.9/netlink/coalesce.c
--- old/ethtool-6.7/netlink/coalesce.c 2023-04-19 00:31:46.000000000 +0200
+++ new/ethtool-6.9/netlink/coalesce.c 2024-05-20 17:16:39.000000000 +0200
@@ -93,7 +93,7 @@
tb[ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES]);
show_u32("tx-aggr-max-frames", "tx-aggr-max-frames:\t",
tb[ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES]);
- show_u32("tx-aggr-time-usecs", "tx-aggr-time-usecs\t",
+ show_u32("tx-aggr-time-usecs", "tx-aggr-time-usecs:\t",
tb[ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS]);
show_cr();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/netlink/rss.c new/ethtool-6.9/netlink/rss.c
--- old/ethtool-6.7/netlink/rss.c 2023-02-01 22:05:17.000000000 +0100
+++ new/ethtool-6.9/netlink/rss.c 2024-05-21 09:43:11.000000000 +0200
@@ -21,7 +21,8 @@
void dump_json_rss_info(struct cmd_context *ctx, u32 *indir_table,
u32 indir_size, u8 *hkey, u32 hkey_size,
- const struct stringset *hash_funcs, u8 hfunc)
+ const struct stringset *hash_funcs, u8 hfunc,
+ u32 input_xfrm)
{
unsigned int i;
@@ -46,6 +47,12 @@
if (hfunc & (1 << i)) {
print_string(PRINT_JSON, "rss-hash-function",
NULL, get_string(hash_funcs, i));
+ open_json_object("rss-input-transformation");
+ print_bool(PRINT_JSON, "symmetric-xor", NULL,
+ (input_xfrm & RXH_XFRM_SYM_XOR) ?
+ true : false);
+
+ close_json_object();
break;
}
}
@@ -89,6 +96,7 @@
const struct stringset *hash_funcs;
u32 rss_hfunc = 0, indir_size;
u32 *indir_table = NULL;
+ u32 input_xfrm = 0;
u8 *hkey = NULL;
bool silent;
int err_ret;
@@ -118,6 +126,9 @@
hkey = mnl_attr_get_payload(tb[ETHTOOL_A_RSS_HKEY]);
}
+ if (tb[ETHTOOL_A_RSS_INPUT_XFRM])
+ input_xfrm = mnl_attr_get_u32(tb[ETHTOOL_A_RSS_INPUT_XFRM]);
+
/* Fetch RSS hash functions and their status and print */
if (!nlctx->is_monitor) {
ret = netlink_init_ethnl2_socket(nlctx);
@@ -153,7 +164,8 @@
indir_size = indir_bytes / sizeof(u32);
if (is_json_context()) {
dump_json_rss_info(nlctx->ctx, (u32 *)indir_table, indir_size,
- hkey, hkey_bytes, hash_funcs, rss_hfunc);
+ hkey, hkey_bytes, hash_funcs, rss_hfunc,
+ input_xfrm);
} else {
print_indir_table(nlctx->ctx, args->num_rings,
indir_size, (u32 *)indir_table);
@@ -167,6 +179,9 @@
printf(" %s: %s\n", get_string(hash_funcs, i),
(rss_hfunc & (1 << i)) ? "on" : "off");
}
+ printf("RSS input transformation:\n");
+ printf(" symmetric-xor: %s\n",
+ (input_xfrm & RXH_XFRM_SYM_XOR) ? "on" : "off");
}
return MNL_CB_OK;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/shell-completion/bash/ethtool new/ethtool-6.9/shell-completion/bash/ethtool
--- old/ethtool-6.7/shell-completion/bash/ethtool 2023-04-19 00:31:46.000000000 +0200
+++ new/ethtool-6.9/shell-completion/bash/ethtool 2024-05-21 09:43:11.000000000 +0200
@@ -79,6 +79,8 @@
local types='ah4 ah6 esp4 esp6 ether sctp4 sctp6 tcp4 tcp6 udp4 udp6'
if [ "${1-}" != --hash ]; then
types="$types ip4 ip6"
+ else
+ types="gtpc4 gtpc6 gtpc4t gtpc6t gtpu4 gtpu6 gtpu4e gtpu6e gtpu4u gtpu6u gtpu4d gtpu6d $types"
fi
COMPREPLY=( $( compgen -W "$types" -- "$cur" ) )
}
@@ -171,7 +173,7 @@
return ;;
wol)
# $cur is a set of wol type characters.
- _ethtool_compgen_letterset p u m b a g s f d
+ _ethtool_compgen_letterset p u m b a g s f d e
return ;;
xcvr)
COMPREPLY=( $( compgen -W 'internal external' -- "$cur" ) )
@@ -483,7 +485,7 @@
_ethtool_flow_type --hash
return ;;
5)
- _ethtool_compgen_letterset m v t s d f n r
+ _ethtool_compgen_letterset m v t s d f n r e
return ;;
6)
COMPREPLY=( $( compgen -W context -- "$cur" ) )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/uapi/linux/ethtool.h new/ethtool-6.9/uapi/linux/ethtool.h
--- old/ethtool-6.7/uapi/linux/ethtool.h 2024-01-28 23:49:26.000000000 +0100
+++ new/ethtool-6.9/uapi/linux/ethtool.h 2024-05-23 17:03:42.000000000 +0200
@@ -1264,6 +1264,8 @@
* hardware hash key.
* @hfunc: Defines the current RSS hash function used by HW (or to be set to).
* Valid values are one of the %ETH_RSS_HASH_*.
+ * @input_xfrm: Defines how the input data is transformed. Valid values are one
+ * of %RXH_XFRM_*.
* @rsvd8: Reserved for future use; see the note on reserved space.
* @rsvd32: Reserved for future use; see the note on reserved space.
* @rss_config: RX ring/queue index for each hash value i.e., indirection table
@@ -1283,7 +1285,8 @@
__u32 indir_size;
__u32 key_size;
__u8 hfunc;
- __u8 rsvd8[3];
+ __u8 input_xfrm;
+ __u8 rsvd8[2];
__u32 rsvd32;
__u32 rss_config[];
};
@@ -1990,6 +1993,15 @@
#define WOL_MODE_COUNT 8
+/* RSS hash function data
+ * XOR the corresponding source and destination fields of each specified
+ * protocol. Both copies of the XOR'ed fields are fed into the RSS and RXHASH
+ * calculation. Note that this XORing reduces the input set entropy and could
+ * be exploited to reduce the RSS queue spread.
+ */
+#define RXH_XFRM_SYM_XOR (1 << 0)
+#define RXH_XFRM_NO_CHANGE 0xff
+
/* L2-L4 network traffic flow types */
#define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */
#define UDP_V4_FLOW 0x02 /* hash or spec (udp_ip4_spec) */
@@ -2009,6 +2021,53 @@
#define IPV4_FLOW 0x10 /* hash only */
#define IPV6_FLOW 0x11 /* hash only */
#define ETHER_FLOW 0x12 /* spec only (ether_spec) */
+
+/* Used for GTP-U IPv4 and IPv6.
+ * The format of GTP packets only includes
+ * elements such as TEID and GTP version.
+ * It is primarily intended for data communication of the UE.
+ */
+#define GTPU_V4_FLOW 0x13 /* hash only */
+#define GTPU_V6_FLOW 0x14 /* hash only */
+
+/* Use for GTP-C IPv4 and v6.
+ * The format of these GTP packets does not include TEID.
+ * Primarily expected to be used for communication
+ * to create sessions for UE data communication,
+ * commonly referred to as CSR (Create Session Request).
+ */
+#define GTPC_V4_FLOW 0x15 /* hash only */
+#define GTPC_V6_FLOW 0x16 /* hash only */
+
+/* Use for GTP-C IPv4 and v6.
+ * Unlike GTPC_V4_FLOW, the format of these GTP packets includes TEID.
+ * After session creation, it becomes this packet.
+ * This is mainly used for requests to realize UE handover.
+ */
+#define GTPC_TEID_V4_FLOW 0x17 /* hash only */
+#define GTPC_TEID_V6_FLOW 0x18 /* hash only */
+
+/* Use for GTP-U and extended headers for the PSC (PDU Session Container).
+ * The format of these GTP packets includes TEID and QFI.
+ * In 5G communication using UPF (User Plane Function),
+ * data communication with this extended header is performed.
+ */
+#define GTPU_EH_V4_FLOW 0x19 /* hash only */
+#define GTPU_EH_V6_FLOW 0x1a /* hash only */
+
+/* Use for GTP-U IPv4 and v6 PSC (PDU Session Container) extended headers.
+ * This differs from GTPU_EH_V(4|6)_FLOW in that it is distinguished by
+ * UL/DL included in the PSC.
+ * There are differences in the data included based on Downlink/Uplink,
+ * and can be used to distinguish packets.
+ * The functions described so far are useful when you want to
+ * handle communication from the mobile network in UPF, PGW, etc.
+ */
+#define GTPU_UL_V4_FLOW 0x1b /* hash only */
+#define GTPU_UL_V6_FLOW 0x1c /* hash only */
+#define GTPU_DL_V4_FLOW 0x1d /* hash only */
+#define GTPU_DL_V6_FLOW 0x1e /* hash only */
+
/* Flag to enable additional fields in struct ethtool_rx_flow_spec */
#define FLOW_EXT 0x80000000
#define FLOW_MAC_EXT 0x40000000
@@ -2023,6 +2082,7 @@
#define RXH_IP_DST (1 << 5)
#define RXH_L4_B_0_1 (1 << 6) /* src port in case of TCP/UDP/SCTP */
#define RXH_L4_B_2_3 (1 << 7) /* dst port in case of TCP/UDP/SCTP */
+#define RXH_GTP_TEID (1 << 8) /* teid in case of GTP */
#define RXH_DISCARD (1 << 31)
#define RX_CLS_FLOW_DISC 0xffffffffffffffffULL
@@ -2126,18 +2186,6 @@
* refused. For drivers: ignore this field (use kernel's
* __ETHTOOL_LINK_MODE_MASK_NBITS instead), any change to it will
* be overwritten by kernel.
- * @supported: Bitmap with each bit meaning given by
- * %ethtool_link_mode_bit_indices for the link modes, physical
- * connectors and other link features for which the interface
- * supports autonegotiation or auto-detection. Read-only.
- * @advertising: Bitmap with each bit meaning given by
- * %ethtool_link_mode_bit_indices for the link modes, physical
- * connectors and other link features that are advertised through
- * autonegotiation or enabled for auto-detection.
- * @lp_advertising: Bitmap with each bit meaning given by
- * %ethtool_link_mode_bit_indices for the link modes, and other
- * link features that the link partner advertised through
- * autonegotiation; 0 if unknown or not applicable. Read-only.
* @transceiver: Used to distinguish different possible PHY types,
* reported consistently by PHYLIB. Read-only.
* @master_slave_cfg: Master/slave port mode.
@@ -2179,6 +2227,21 @@
* %set_link_ksettings() should validate all fields other than @cmd
* and @link_mode_masks_nwords that are not described as read-only or
* deprecated, and must ignore all fields described as read-only.
+ *
+ * @link_mode_masks is divided into three bitfields, each of length
+ * @link_mode_masks_nwords:
+ * - supported: Bitmap with each bit meaning given by
+ * %ethtool_link_mode_bit_indices for the link modes, physical
+ * connectors and other link features for which the interface
+ * supports autonegotiation or auto-detection. Read-only.
+ * - advertising: Bitmap with each bit meaning given by
+ * %ethtool_link_mode_bit_indices for the link modes, physical
+ * connectors and other link features that are advertised through
+ * autonegotiation or enabled for auto-detection.
+ * - lp_advertising: Bitmap with each bit meaning given by
+ * %ethtool_link_mode_bit_indices for the link modes, and other
+ * link features that the link partner advertised through
+ * autonegotiation; 0 if unknown or not applicable. Read-only.
*/
struct ethtool_link_settings {
__u32 cmd;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/uapi/linux/ethtool_netlink.h new/ethtool-6.9/uapi/linux/ethtool_netlink.h
--- old/ethtool-6.7/uapi/linux/ethtool_netlink.h 2024-01-28 23:49:26.000000000 +0100
+++ new/ethtool-6.9/uapi/linux/ethtool_netlink.h 2024-05-23 17:03:42.000000000 +0200
@@ -908,6 +908,7 @@
ETHTOOL_A_RSS_HFUNC, /* u32 */
ETHTOOL_A_RSS_INDIR, /* binary */
ETHTOOL_A_RSS_HKEY, /* binary */
+ ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
__ETHTOOL_A_RSS_CNT,
ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-6.7/uapi/linux/if_link.h new/ethtool-6.9/uapi/linux/if_link.h
--- old/ethtool-6.7/uapi/linux/if_link.h 2024-01-28 23:49:26.000000000 +0100
+++ new/ethtool-6.9/uapi/linux/if_link.h 2024-05-23 17:03:42.000000000 +0200
@@ -459,6 +459,286 @@
/* Bridge section */
+/**
+ * DOC: Bridge enum definition
+ *
+ * Please *note* that the timer values in the following section are expected
+ * in clock_t format, which is seconds multiplied by USER_HZ (generally
+ * defined as 100).
+ *
+ * @IFLA_BR_FORWARD_DELAY
+ * The bridge forwarding delay is the time spent in LISTENING state
+ * (before moving to LEARNING) and in LEARNING state (before moving
+ * to FORWARDING). Only relevant if STP is enabled.
+ *
+ * The valid values are between (2 * USER_HZ) and (30 * USER_HZ).
+ * The default value is (15 * USER_HZ).
+ *
+ * @IFLA_BR_HELLO_TIME
+ * The time between hello packets sent by the bridge, when it is a root
+ * bridge or a designated bridge. Only relevant if STP is enabled.
+ *
+ * The valid values are between (1 * USER_HZ) and (10 * USER_HZ).
+ * The default value is (2 * USER_HZ).
+ *
+ * @IFLA_BR_MAX_AGE
+ * The hello packet timeout is the time until another bridge in the
+ * spanning tree is assumed to be dead, after reception of its last hello
+ * message. Only relevant if STP is enabled.
+ *
+ * The valid values are between (6 * USER_HZ) and (40 * USER_HZ).
+ * The default value is (20 * USER_HZ).
+ *
+ * @IFLA_BR_AGEING_TIME
+ * Configure the bridge's FDB entries aging time. It is the time a MAC
+ * address will be kept in the FDB after a packet has been received from
+ * that address. After this time has passed, entries are cleaned up.
+ * Allow values outside the 802.1 standard specification for special cases:
+ *
+ * * 0 - entry never ages (all permanent)
+ * * 1 - entry disappears (no persistence)
+ *
+ * The default value is (300 * USER_HZ).
+ *
+ * @IFLA_BR_STP_STATE
+ * Turn spanning tree protocol on (*IFLA_BR_STP_STATE* > 0) or off
+ * (*IFLA_BR_STP_STATE* == 0) for this bridge.
+ *
+ * The default value is 0 (disabled).
+ *
+ * @IFLA_BR_PRIORITY
+ * Set this bridge's spanning tree priority, used during STP root bridge
+ * election.
+ *
+ * The valid values are between 0 and 65535.
+ *
+ * @IFLA_BR_VLAN_FILTERING
+ * Turn VLAN filtering on (*IFLA_BR_VLAN_FILTERING* > 0) or off
+ * (*IFLA_BR_VLAN_FILTERING* == 0). When disabled, the bridge will not
+ * consider the VLAN tag when handling packets.
+ *
+ * The default value is 0 (disabled).
+ *
+ * @IFLA_BR_VLAN_PROTOCOL
+ * Set the protocol used for VLAN filtering.
+ *
+ * The valid values are 0x8100(802.1Q) or 0x88A8(802.1AD). The default value
+ * is 0x8100(802.1Q).
+ *
+ * @IFLA_BR_GROUP_FWD_MASK
+ * The group forwarding mask. This is the bitmask that is applied to
+ * decide whether to forward incoming frames destined to link-local
+ * addresses (of the form 01:80:C2:00:00:0X).
+ *
+ * The default value is 0, which means the bridge does not forward any
+ * link-local frames coming on this port.
+ *
+ * @IFLA_BR_ROOT_ID
+ * The bridge root id, read only.
+ *
+ * @IFLA_BR_BRIDGE_ID
+ * The bridge id, read only.
+ *
+ * @IFLA_BR_ROOT_PORT
+ * The bridge root port, read only.
+ *
+ * @IFLA_BR_ROOT_PATH_COST
+ * The bridge root path cost, read only.
+ *
+ * @IFLA_BR_TOPOLOGY_CHANGE
+ * The bridge topology change, read only.
+ *
+ * @IFLA_BR_TOPOLOGY_CHANGE_DETECTED
+ * The bridge topology change detected, read only.
+ *
+ * @IFLA_BR_HELLO_TIMER
+ * The bridge hello timer, read only.
+ *
+ * @IFLA_BR_TCN_TIMER
+ * The bridge tcn timer, read only.
+ *
+ * @IFLA_BR_TOPOLOGY_CHANGE_TIMER
+ * The bridge topology change timer, read only.
+ *
+ * @IFLA_BR_GC_TIMER
+ * The bridge gc timer, read only.
+ *
+ * @IFLA_BR_GROUP_ADDR
+ * Set the MAC address of the multicast group this bridge uses for STP.
+ * The address must be a link-local address in standard Ethernet MAC address
+ * format. It is an address of the form 01:80:C2:00:00:0X, with X in [0, 4..f].
+ *
+ * The default value is 0.
+ *
+ * @IFLA_BR_FDB_FLUSH
+ * Flush bridge's fdb dynamic entries.
+ *
+ * @IFLA_BR_MCAST_ROUTER
+ * Set bridge's multicast router if IGMP snooping is enabled.
+ * The valid values are:
+ *
+ * * 0 - disabled.
+ * * 1 - automatic (queried).
+ * * 2 - permanently enabled.
+ *
+ * The default value is 1.
+ *
+ * @IFLA_BR_MCAST_SNOOPING
+ * Turn multicast snooping on (*IFLA_BR_MCAST_SNOOPING* > 0) or off
+ * (*IFLA_BR_MCAST_SNOOPING* == 0).
+ *
+ * The default value is 1.
+ *
+ * @IFLA_BR_MCAST_QUERY_USE_IFADDR
+ * If enabled use the bridge's own IP address as source address for IGMP
+ * queries (*IFLA_BR_MCAST_QUERY_USE_IFADDR* > 0) or the default of 0.0.0.0
+ * (*IFLA_BR_MCAST_QUERY_USE_IFADDR* == 0).
+ *
+ * The default value is 0 (disabled).
+ *
+ * @IFLA_BR_MCAST_QUERIER
+ * Enable (*IFLA_BR_MULTICAST_QUERIER* > 0) or disable
+ * (*IFLA_BR_MULTICAST_QUERIER* == 0) IGMP querier, ie sending of multicast
+ * queries by the bridge.
+ *
+ * The default value is 0 (disabled).
+ *
+ * @IFLA_BR_MCAST_HASH_ELASTICITY
+ * Set multicast database hash elasticity, It is the maximum chain length in
+ * the multicast hash table. This attribute is *deprecated* and the value
+ * is always 16.
+ *
+ * @IFLA_BR_MCAST_HASH_MAX
+ * Set maximum size of the multicast hash table
+ *
+ * The default value is 4096, the value must be a power of 2.
+ *
+ * @IFLA_BR_MCAST_LAST_MEMBER_CNT
+ * The Last Member Query Count is the number of Group-Specific Queries
+ * sent before the router assumes there are no local members. The Last
+ * Member Query Count is also the number of Group-and-Source-Specific
+ * Queries sent before the router assumes there are no listeners for a
+ * particular source.
+ *
+ * The default value is 2.
+ *
+ * @IFLA_BR_MCAST_STARTUP_QUERY_CNT
+ * The Startup Query Count is the number of Queries sent out on startup,
+ * separated by the Startup Query Interval.
+ *
+ * The default value is 2.
+ *
+ * @IFLA_BR_MCAST_LAST_MEMBER_INTVL
+ * The Last Member Query Interval is the Max Response Time inserted into
+ * Group-Specific Queries sent in response to Leave Group messages, and
+ * is also the amount of time between Group-Specific Query messages.
+ *
+ * The default value is (1 * USER_HZ).
+ *
+ * @IFLA_BR_MCAST_MEMBERSHIP_INTVL
+ * The interval after which the bridge will leave a group, if no membership
+ * reports for this group are received.
+ *
+ * The default value is (260 * USER_HZ).
+ *
+ * @IFLA_BR_MCAST_QUERIER_INTVL
+ * The interval between queries sent by other routers. if no queries are
+ * seen after this delay has passed, the bridge will start to send its own
+ * queries (as if *IFLA_BR_MCAST_QUERIER_INTVL* was enabled).
+ *
+ * The default value is (255 * USER_HZ).
+ *
+ * @IFLA_BR_MCAST_QUERY_INTVL
+ * The Query Interval is the interval between General Queries sent by
+ * the Querier.
+ *
+ * The default value is (125 * USER_HZ). The minimum value is (1 * USER_HZ).
+ *
+ * @IFLA_BR_MCAST_QUERY_RESPONSE_INTVL
+ * The Max Response Time used to calculate the Max Resp Code inserted
+ * into the periodic General Queries.
+ *
+ * The default value is (10 * USER_HZ).
+ *
+ * @IFLA_BR_MCAST_STARTUP_QUERY_INTVL
+ * The interval between queries in the startup phase.
+ *
+ * The default value is (125 * USER_HZ) / 4. The minimum value is (1 * USER_HZ).
+ *
+ * @IFLA_BR_NF_CALL_IPTABLES
+ * Enable (*NF_CALL_IPTABLES* > 0) or disable (*NF_CALL_IPTABLES* == 0)
+ * iptables hooks on the bridge.
+ *
+ * The default value is 0 (disabled).
+ *
+ * @IFLA_BR_NF_CALL_IP6TABLES
+ * Enable (*NF_CALL_IP6TABLES* > 0) or disable (*NF_CALL_IP6TABLES* == 0)
+ * ip6tables hooks on the bridge.
+ *
+ * The default value is 0 (disabled).
+ *
+ * @IFLA_BR_NF_CALL_ARPTABLES
+ * Enable (*NF_CALL_ARPTABLES* > 0) or disable (*NF_CALL_ARPTABLES* == 0)
+ * arptables hooks on the bridge.
+ *
+ * The default value is 0 (disabled).
+ *
+ * @IFLA_BR_VLAN_DEFAULT_PVID
+ * VLAN ID applied to untagged and priority-tagged incoming packets.
+ *
+ * The default value is 1. Setting to the special value 0 makes all ports of
+ * this bridge not have a PVID by default, which means that they will
+ * not accept VLAN-untagged traffic.
+ *
+ * @IFLA_BR_PAD
+ * Bridge attribute padding type for netlink message.
+ *
+ * @IFLA_BR_VLAN_STATS_ENABLED
+ * Enable (*IFLA_BR_VLAN_STATS_ENABLED* == 1) or disable
+ * (*IFLA_BR_VLAN_STATS_ENABLED* == 0) per-VLAN stats accounting.
+ *
+ * The default value is 0 (disabled).
+ *
+ * @IFLA_BR_MCAST_STATS_ENABLED
+ * Enable (*IFLA_BR_MCAST_STATS_ENABLED* > 0) or disable
+ * (*IFLA_BR_MCAST_STATS_ENABLED* == 0) multicast (IGMP/MLD) stats
+ * accounting.
+ *
+ * The default value is 0 (disabled).
+ *
+ * @IFLA_BR_MCAST_IGMP_VERSION
+ * Set the IGMP version.
+ *
+ * The valid values are 2 and 3. The default value is 2.
+ *
+ * @IFLA_BR_MCAST_MLD_VERSION
+ * Set the MLD version.
+ *
+ * The valid values are 1 and 2. The default value is 1.
+ *
+ * @IFLA_BR_VLAN_STATS_PER_PORT
+ * Enable (*IFLA_BR_VLAN_STATS_PER_PORT* == 1) or disable
+ * (*IFLA_BR_VLAN_STATS_PER_PORT* == 0) per-VLAN per-port stats accounting.
+ * Can be changed only when there are no port VLANs configured.
+ *
+ * The default value is 0 (disabled).
+ *
+ * @IFLA_BR_MULTI_BOOLOPT
+ * The multi_boolopt is used to control new boolean options to avoid adding
+ * new netlink attributes. You can look at ``enum br_boolopt_id`` for those
+ * options.
+ *
+ * @IFLA_BR_MCAST_QUERIER_STATE
+ * Bridge mcast querier states, read only.
+ *
+ * @IFLA_BR_FDB_N_LEARNED
+ * The number of dynamically learned FDB entries for the current bridge,
+ * read only.
+ *
+ * @IFLA_BR_FDB_MAX_LEARNED
+ * Set the number of max dynamically learned FDB entries for the current
+ * bridge.
+ */
enum {
IFLA_BR_UNSPEC,
IFLA_BR_FORWARD_DELAY,
@@ -520,11 +800,252 @@
__u8 addr[6]; /* ETH_ALEN */
};
+/**
+ * DOC: Bridge mode enum definition
+ *
+ * @BRIDGE_MODE_HAIRPIN
+ * Controls whether traffic may be sent back out of the port on which it
+ * was received. This option is also called reflective relay mode, and is
+ * used to support basic VEPA (Virtual Ethernet Port Aggregator)
+ * capabilities. By default, this flag is turned off and the bridge will
+ * not forward traffic back out of the receiving port.
+ */
enum {
BRIDGE_MODE_UNSPEC,
BRIDGE_MODE_HAIRPIN,
};
+/**
+ * DOC: Bridge port enum definition
+ *
+ * @IFLA_BRPORT_STATE
+ * The operation state of the port. Here are the valid values.
+ *
+ * * 0 - port is in STP *DISABLED* state. Make this port completely
+ * inactive for STP. This is also called BPDU filter and could be used
+ * to disable STP on an untrusted port, like a leaf virtual device.
+ * The traffic forwarding is also stopped on this port.
+ * * 1 - port is in STP *LISTENING* state. Only valid if STP is enabled
+ * on the bridge. In this state the port listens for STP BPDUs and
+ * drops all other traffic frames.
+ * * 2 - port is in STP *LEARNING* state. Only valid if STP is enabled on
+ * the bridge. In this state the port will accept traffic only for the
+ * purpose of updating MAC address tables.
+ * * 3 - port is in STP *FORWARDING* state. Port is fully active.
+ * * 4 - port is in STP *BLOCKING* state. Only valid if STP is enabled on
+ * the bridge. This state is used during the STP election process.
+ * In this state, port will only process STP BPDUs.
+ *
+ * @IFLA_BRPORT_PRIORITY
+ * The STP port priority. The valid values are between 0 and 255.
+ *
+ * @IFLA_BRPORT_COST
+ * The STP path cost of the port. The valid values are between 1 and 65535.
+ *
+ * @IFLA_BRPORT_MODE
+ * Set the bridge port mode. See *BRIDGE_MODE_HAIRPIN* for more details.
+ *
+ * @IFLA_BRPORT_GUARD
+ * Controls whether STP BPDUs will be processed by the bridge port. By
+ * default, the flag is turned off to allow BPDU processing. Turning this
+ * flag on will disable the bridge port if a STP BPDU packet is received.
+ *
+ * If the bridge has Spanning Tree enabled, hostile devices on the network
+ * may send BPDU on a port and cause network failure. Setting *guard on*
+ * will detect and stop this by disabling the port. The port will be
+ * restarted if the link is brought down, or removed and reattached.
+ *
+ * @IFLA_BRPORT_PROTECT
+ * Controls whether a given port is allowed to become a root port or not.
+ * Only used when STP is enabled on the bridge. By default the flag is off.
+ *
+ * This feature is also called root port guard. If BPDU is received from a
+ * leaf (edge) port, it should not be elected as root port. This could
+ * be used if using STP on a bridge and the downstream bridges are not fully
+ * trusted; this prevents a hostile guest from rerouting traffic.
+ *
+ * @IFLA_BRPORT_FAST_LEAVE
+ * This flag allows the bridge to immediately stop multicast traffic
+ * forwarding on a port that receives an IGMP Leave message. It is only used
+ * when IGMP snooping is enabled on the bridge. By default the flag is off.
+ *
+ * @IFLA_BRPORT_LEARNING
+ * Controls whether a given port will learn *source* MAC addresses from
+ * received traffic or not. Also controls whether dynamic FDB entries
+ * (which can also be added by software) will be refreshed by incoming
+ * traffic. By default this flag is on.
+ *
+ * @IFLA_BRPORT_UNICAST_FLOOD
+ * Controls whether unicast traffic for which there is no FDB entry will
+ * be flooded towards this port. By default this flag is on.
+ *
+ * @IFLA_BRPORT_PROXYARP
+ * Enable proxy ARP on this port.
+ *
+ * @IFLA_BRPORT_LEARNING_SYNC
+ * Controls whether a given port will sync MAC addresses learned on device
+ * port to bridge FDB.
+ *
+ * @IFLA_BRPORT_PROXYARP_WIFI
+ * Enable proxy ARP on this port which meets extended requirements by
+ * IEEE 802.11 and Hotspot 2.0 specifications.
+ *
+ * @IFLA_BRPORT_ROOT_ID
+ *
+ * @IFLA_BRPORT_BRIDGE_ID
+ *
+ * @IFLA_BRPORT_DESIGNATED_PORT
+ *
+ * @IFLA_BRPORT_DESIGNATED_COST
+ *
+ * @IFLA_BRPORT_ID
+ *
+ * @IFLA_BRPORT_NO
+ *
+ * @IFLA_BRPORT_TOPOLOGY_CHANGE_ACK
+ *
+ * @IFLA_BRPORT_CONFIG_PENDING
+ *
+ * @IFLA_BRPORT_MESSAGE_AGE_TIMER
+ *
+ * @IFLA_BRPORT_FORWARD_DELAY_TIMER
+ *
+ * @IFLA_BRPORT_HOLD_TIMER
+ *
+ * @IFLA_BRPORT_FLUSH
+ * Flush bridge ports' fdb dynamic entries.
+ *
+ * @IFLA_BRPORT_MULTICAST_ROUTER
+ * Configure the port's multicast router presence. A port with
+ * a multicast router will receive all multicast traffic.
+ * The valid values are:
+ *
+ * * 0 disable multicast routers on this port
+ * * 1 let the system detect the presence of routers (default)
+ * * 2 permanently enable multicast traffic forwarding on this port
+ * * 3 enable multicast routers temporarily on this port, not depending
+ * on incoming queries.
+ *
+ * @IFLA_BRPORT_PAD
+ *
+ * @IFLA_BRPORT_MCAST_FLOOD
+ * Controls whether a given port will flood multicast traffic for which
+ * there is no MDB entry. By default this flag is on.
+ *
+ * @IFLA_BRPORT_MCAST_TO_UCAST
+ * Controls whether a given port will replicate packets using unicast
+ * instead of multicast. By default this flag is off.
+ *
+ * This is done by copying the packet per host and changing the multicast
+ * destination MAC to a unicast one accordingly.
+ *
+ * *mcast_to_unicast* works on top of the multicast snooping feature of the
+ * bridge. Which means unicast copies are only delivered to hosts which
+ * are interested in unicast and signaled this via IGMP/MLD reports previously.
+ *
+ * This feature is intended for interface types which have a more reliable
+ * and/or efficient way to deliver unicast packets than broadcast ones
+ * (e.g. WiFi).
+ *
+ * However, it should only be enabled on interfaces where no IGMPv2/MLDv1
+ * report suppression takes place. IGMP/MLD report suppression issue is
+ * usually overcome by the network daemon (supplicant) enabling AP isolation
+ * and by that separating all STAs.
+ *
+ * Delivery of STA-to-STA IP multicast is made possible again by enabling
+ * and utilizing the bridge hairpin mode, which considers the incoming port
+ * as a potential outgoing port, too (see *BRIDGE_MODE_HAIRPIN* option).
+ * Hairpin mode is performed after multicast snooping, therefore leading
+ * to only deliver reports to STAs running a multicast router.
+ *
+ * @IFLA_BRPORT_VLAN_TUNNEL
+ * Controls whether vlan to tunnel mapping is enabled on the port.
+ * By default this flag is off.
+ *
+ * @IFLA_BRPORT_BCAST_FLOOD
+ * Controls flooding of broadcast traffic on the given port. By default
+ * this flag is on.
+ *
+ * @IFLA_BRPORT_GROUP_FWD_MASK
+ * Set the group forward mask. This is a bitmask that is applied to
+ * decide whether to forward incoming frames destined to link-local
+ * addresses. The addresses of the form are 01:80:C2:00:00:0X (defaults
+ * to 0, which means the bridge does not forward any link-local frames
+ * coming on this port).
+ *
+ * @IFLA_BRPORT_NEIGH_SUPPRESS
+ * Controls whether neighbor discovery (arp and nd) proxy and suppression
+ * is enabled on the port. By default this flag is off.
+ *
+ * @IFLA_BRPORT_ISOLATED
+ * Controls whether a given port will be isolated, which means it will be
+ * able to communicate with non-isolated ports only. By default this
+ * flag is off.
+ *
+ * @IFLA_BRPORT_BACKUP_PORT
+ * Set a backup port. If the port loses carrier all traffic will be
+ * redirected to the configured backup port. Set the value to 0 to disable
+ * it.
+ *
+ * @IFLA_BRPORT_MRP_RING_OPEN
+ *
+ * @IFLA_BRPORT_MRP_IN_OPEN
+ *
+ * @IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT
+ * The number of per-port EHT hosts limit. The default value is 512.
+ * Setting to 0 is not allowed.
+ *
+ * @IFLA_BRPORT_MCAST_EHT_HOSTS_CNT
+ * The current number of tracked hosts, read only.
+ *
+ * @IFLA_BRPORT_LOCKED
+ * Controls whether a port will be locked, meaning that hosts behind the
+ * port will not be able to communicate through the port unless an FDB
+ * entry with the unit's MAC address is in the FDB. The common use case is
+ * that hosts are allowed access through authentication with the IEEE 802.1X
+ * protocol or based on whitelists. By default this flag is off.
+ *
+ * Please note that secure 802.1X deployments should always use the
+ * *BR_BOOLOPT_NO_LL_LEARN* flag, to not permit the bridge to populate its
+ * FDB based on link-local (EAPOL) traffic received on the port.
+ *
+ * @IFLA_BRPORT_MAB
+ * Controls whether a port will use MAC Authentication Bypass (MAB), a
+ * technique through which select MAC addresses may be allowed on a locked
+ * port, without using 802.1X authentication. Packets with an unknown source
+ * MAC address generates a "locked" FDB entry on the incoming bridge port.
+ * The common use case is for user space to react to these bridge FDB
+ * notifications and optionally replace the locked FDB entry with a normal
+ * one, allowing traffic to pass for whitelisted MAC addresses.
+ *
+ * Setting this flag also requires *IFLA_BRPORT_LOCKED* and
+ * *IFLA_BRPORT_LEARNING*. *IFLA_BRPORT_LOCKED* ensures that unauthorized
+ * data packets are dropped, and *IFLA_BRPORT_LEARNING* allows the dynamic
+ * FDB entries installed by user space (as replacements for the locked FDB
+ * entries) to be refreshed and/or aged out.
+ *
+ * @IFLA_BRPORT_MCAST_N_GROUPS
+ *
+ * @IFLA_BRPORT_MCAST_MAX_GROUPS
+ * Sets the maximum number of MDB entries that can be registered for a
+ * given port. Attempts to register more MDB entries at the port than this
+ * limit allows will be rejected, whether they are done through netlink
+ * (e.g. the bridge tool), or IGMP or MLD membership reports. Setting a
+ * limit of 0 disables the limit. The default value is 0.
+ *
+ * @IFLA_BRPORT_NEIGH_VLAN_SUPPRESS
+ * Controls whether neighbor discovery (arp and nd) proxy and suppression is
+ * enabled for a given port. By default this flag is off.
+ *
+ * Note that this option only takes effect when *IFLA_BRPORT_NEIGH_SUPPRESS*
+ * is enabled for a given port.
+ *
+ * @IFLA_BRPORT_BACKUP_NHID
+ * The FDB nexthop object ID to attach to packets being redirected to a
+ * backup port that has VLAN tunnel mapping enabled (via the
+ * *IFLA_BRPORT_VLAN_TUNNEL* option). Setting a value of 0 (default) has
+ * the effect of not attaching any ID.
+ */
enum {
IFLA_BRPORT_UNSPEC,
IFLA_BRPORT_STATE, /* Spanning tree state */
@@ -854,6 +1375,7 @@
IFLA_VXLAN_DF,
IFLA_VXLAN_VNIFILTER, /* only applicable with COLLECT_METADATA mode */
IFLA_VXLAN_LOCALBYPASS,
+ IFLA_VXLAN_LABEL_POLICY, /* IPv6 flow label policy; ifla_vxlan_label_policy */
__IFLA_VXLAN_MAX
};
#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
@@ -871,6 +1393,13 @@
VXLAN_DF_MAX = __VXLAN_DF_END - 1,
};
+enum ifla_vxlan_label_policy {
+ VXLAN_LABEL_FIXED = 0,
+ VXLAN_LABEL_INHERIT = 1,
+ __VXLAN_LABEL_END,
+ VXLAN_LABEL_MAX = __VXLAN_LABEL_END - 1,
+};
+
/* GENEVE section */
enum {
IFLA_GENEVE_UNSPEC,
@@ -974,6 +1503,7 @@
IFLA_BOND_AD_LACP_ACTIVE,
IFLA_BOND_MISSED_MAX,
IFLA_BOND_NS_IP6_TARGET,
+ IFLA_BOND_COUPLED_CONTROL,
__IFLA_BOND_MAX,
};
1
0