summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislas FAYE <sfaye@redhat.com>2024-02-26 15:38:16 +0100
committerStanislas FAYE <sfaye@redhat.com>2024-02-26 15:38:17 +0100
commit9920a4b576574202ac4c142599c83091984c2011 (patch)
tree38399203deb845bd96e4ab4b06f906585557c87b
parente39f48a30a2ef7b445276a859bbd5255e4c5071d (diff)
parent11c59f8bcc1919cafeb3fb78e44f0f8e070d21a0 (diff)
release: bump version to 1.47.1 (development)1.47.1-dev
-rw-r--r--.gitignore1
-rw-r--r--.gitlab-ci.yml4
-rw-r--r--Makefile.am17
-rw-r--r--NEWS10
-rw-r--r--configure.ac11
-rwxr-xr-xcontrib/fedora/REQUIRED_PACKAGES1
-rwxr-xr-xcontrib/fedora/rpm/build_clean.sh123
-rwxr-xr-xcontrib/fedora/utils/makerepo.sh15
-rw-r--r--man/NetworkManager.conf.xml13
-rw-r--r--meson.build2
-rw-r--r--po/de.po11293
-rw-r--r--po/ru.po6519
-rw-r--r--po/sv.po1819
-rw-r--r--src/core/dhcp/nm-dhcp-systemd.c52
-rw-r--r--src/core/nm-audit-manager.c17
-rw-r--r--src/core/tests/config/test-config.c2
-rw-r--r--src/core/vpn/nm-vpn-connection.c116
-rw-r--r--src/libnm-core-impl/nm-setting-connection.c7
-rw-r--r--src/libnm-core-impl/nm-setting-wireless.c183
-rw-r--r--src/libnm-core-impl/nm-setting.c27
-rw-r--r--src/libnm-core-intern/nm-core-internal.h8
-rw-r--r--src/libnm-core-public/nm-version-macros.h.in1
-rw-r--r--src/libnm-core-public/nm-version.h14
-rw-r--r--src/libnm-lldp/nm-lldp-neighbor.c3
-rw-r--r--src/libnm-systemd-core/meson.build4
-rw-r--r--src/libnm-systemd-core/sd-adapt-core/netif-util.c219
-rw-r--r--src/libnm-systemd-core/sd-adapt-core/netif-util.h22
-rw-r--r--src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.c9
-rw-r--r--src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.h1
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/dhcp-duid-internal.h83
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/dhcp-identifier.c252
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/dhcp-identifier.h75
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/dhcp6-client-internal.h10
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/dhcp6-internal.h12
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/dhcp6-lease-internal.h21
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.c62
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.h1
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/network-common.c111
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/network-common.h19
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c290
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-client.c215
-rw-r--r--src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-lease.c355
-rw-r--r--src/libnm-systemd-core/src/libsystemd/sd-device/device-util.h74
-rw-r--r--src/libnm-systemd-core/src/libsystemd/sd-event/event-util.c32
-rw-r--r--src/libnm-systemd-core/src/libsystemd/sd-event/event-util.h6
-rw-r--r--src/libnm-systemd-core/src/libsystemd/sd-event/sd-event.c16
-rw-r--r--src/libnm-systemd-core/src/libsystemd/sd-id128/id128-util.c67
-rw-r--r--src/libnm-systemd-core/src/libsystemd/sd-id128/id128-util.h16
-rw-r--r--src/libnm-systemd-core/src/libsystemd/sd-id128/sd-id128.c22
-rw-r--r--src/libnm-systemd-core/src/systemd/_sd-common.h2
-rw-r--r--src/libnm-systemd-core/src/systemd/sd-device.h1
-rw-r--r--src/libnm-systemd-core/src/systemd/sd-dhcp-duid.h71
-rw-r--r--src/libnm-systemd-core/src/systemd/sd-dhcp6-client.h168
-rw-r--r--src/libnm-systemd-core/src/systemd/sd-dhcp6-lease.h52
-rw-r--r--src/libnm-systemd-core/src/systemd/sd-dhcp6-option.h2
-rw-r--r--src/libnm-systemd-core/src/systemd/sd-dhcp6-protocol.h174
-rw-r--r--src/libnm-systemd-core/src/systemd/sd-id128.h1
-rw-r--r--src/libnm-systemd-core/src/systemd/sd-ndisc.h48
-rw-r--r--src/libnm-systemd-shared/meson.build2
-rw-r--r--src/libnm-systemd-shared/sd-adapt-shared/sd-messages.h (renamed from src/libnm-systemd-shared/sd-adapt-shared/netif-util.h)0
-rw-r--r--src/libnm-systemd-shared/src/basic/alloc-util.c27
-rw-r--r--src/libnm-systemd-shared/src/basic/alloc-util.h53
-rw-r--r--src/libnm-systemd-shared/src/basic/arphrd-util.h10
-rw-r--r--src/libnm-systemd-shared/src/basic/async.h13
-rw-r--r--src/libnm-systemd-shared/src/basic/btrfs.c100
-rw-r--r--src/libnm-systemd-shared/src/basic/btrfs.h9
-rw-r--r--src/libnm-systemd-shared/src/basic/cgroup-util.h101
-rw-r--r--src/libnm-systemd-shared/src/basic/constants.h23
-rw-r--r--src/libnm-systemd-shared/src/basic/env-file.c39
-rw-r--r--src/libnm-systemd-shared/src/basic/env-file.h7
-rw-r--r--src/libnm-systemd-shared/src/basic/env-util.c367
-rw-r--r--src/libnm-systemd-shared/src/basic/env-util.h26
-rw-r--r--src/libnm-systemd-shared/src/basic/errno-util.h142
-rw-r--r--src/libnm-systemd-shared/src/basic/escape.c31
-rw-r--r--src/libnm-systemd-shared/src/basic/escape.h1
-rw-r--r--src/libnm-systemd-shared/src/basic/ether-addr-util.c14
-rw-r--r--src/libnm-systemd-shared/src/basic/ether-addr-util.h2
-rw-r--r--src/libnm-systemd-shared/src/basic/extract-word.c6
-rw-r--r--src/libnm-systemd-shared/src/basic/fd-util.c183
-rw-r--r--src/libnm-systemd-shared/src/basic/fd-util.h31
-rw-r--r--src/libnm-systemd-shared/src/basic/fileio.c272
-rw-r--r--src/libnm-systemd-shared/src/basic/fileio.h15
-rw-r--r--src/libnm-systemd-shared/src/basic/fs-util.c37
-rw-r--r--src/libnm-systemd-shared/src/basic/fs-util.h3
-rw-r--r--src/libnm-systemd-shared/src/basic/glyph-util.c14
-rw-r--r--src/libnm-systemd-shared/src/basic/glyph-util.h22
-rw-r--r--src/libnm-systemd-shared/src/basic/hash-funcs.c8
-rw-r--r--src/libnm-systemd-shared/src/basic/hash-funcs.h6
-rw-r--r--src/libnm-systemd-shared/src/basic/hashmap.c58
-rw-r--r--src/libnm-systemd-shared/src/basic/hashmap.h21
-rw-r--r--src/libnm-systemd-shared/src/basic/hexdecoct.c16
-rw-r--r--src/libnm-systemd-shared/src/basic/hexdecoct.h12
-rw-r--r--src/libnm-systemd-shared/src/basic/in-addr-util.c38
-rw-r--r--src/libnm-systemd-shared/src/basic/in-addr-util.h26
-rw-r--r--src/libnm-systemd-shared/src/basic/inotify-util.c37
-rw-r--r--src/libnm-systemd-shared/src/basic/inotify-util.h26
-rw-r--r--src/libnm-systemd-shared/src/basic/io-util.c158
-rw-r--r--src/libnm-systemd-shared/src/basic/io-util.h76
-rw-r--r--src/libnm-systemd-shared/src/basic/iovec-util.h99
-rw-r--r--src/libnm-systemd-shared/src/basic/list.h12
-rw-r--r--src/libnm-systemd-shared/src/basic/locale-util.c20
-rw-r--r--src/libnm-systemd-shared/src/basic/locale-util.h3
-rw-r--r--src/libnm-systemd-shared/src/basic/lock-util.h3
-rw-r--r--src/libnm-systemd-shared/src/basic/log.h3
-rw-r--r--src/libnm-systemd-shared/src/basic/macro.h56
-rw-r--r--src/libnm-systemd-shared/src/basic/memory-util.c16
-rw-r--r--src/libnm-systemd-shared/src/basic/memory-util.h51
-rw-r--r--src/libnm-systemd-shared/src/basic/missing_socket.h25
-rw-r--r--src/libnm-systemd-shared/src/basic/missing_stat.h2
-rw-r--r--src/libnm-systemd-shared/src/basic/missing_syscall.h33
-rw-r--r--src/libnm-systemd-shared/src/basic/namespace-util.h55
-rw-r--r--src/libnm-systemd-shared/src/basic/ordered-set.c5
-rw-r--r--src/libnm-systemd-shared/src/basic/parse-util.c74
-rw-r--r--src/libnm-systemd-shared/src/basic/parse-util.h11
-rw-r--r--src/libnm-systemd-shared/src/basic/path-util.c94
-rw-r--r--src/libnm-systemd-shared/src/basic/path-util.h55
-rw-r--r--src/libnm-systemd-shared/src/basic/pidref.h78
-rw-r--r--src/libnm-systemd-shared/src/basic/prioq.c2
-rw-r--r--src/libnm-systemd-shared/src/basic/process-util.c674
-rw-r--r--src/libnm-systemd-shared/src/basic/process-util.h91
-rw-r--r--src/libnm-systemd-shared/src/basic/random-util.c6
-rw-r--r--src/libnm-systemd-shared/src/basic/ratelimit.h2
-rw-r--r--src/libnm-systemd-shared/src/basic/signal-util.c58
-rw-r--r--src/libnm-systemd-shared/src/basic/siphash24.h9
-rw-r--r--src/libnm-systemd-shared/src/basic/socket-util.c255
-rw-r--r--src/libnm-systemd-shared/src/basic/socket-util.h43
-rw-r--r--src/libnm-systemd-shared/src/basic/sort-util.h7
-rw-r--r--src/libnm-systemd-shared/src/basic/stat-util.c68
-rw-r--r--src/libnm-systemd-shared/src/basic/stat-util.h9
-rw-r--r--src/libnm-systemd-shared/src/basic/string-util.c321
-rw-r--r--src/libnm-systemd-shared/src/basic/string-util.h55
-rw-r--r--src/libnm-systemd-shared/src/basic/strv.c137
-rw-r--r--src/libnm-systemd-shared/src/basic/strv.h30
-rw-r--r--src/libnm-systemd-shared/src/basic/time-util.c120
-rw-r--r--src/libnm-systemd-shared/src/basic/time-util.h21
-rw-r--r--src/libnm-systemd-shared/src/basic/tmpfile-util.h1
-rw-r--r--src/libnm-systemd-shared/src/basic/umask-util.h4
-rw-r--r--src/libnm-systemd-shared/src/basic/user-util.h23
-rw-r--r--src/libnm-systemd-shared/src/basic/utf8.c33
-rw-r--r--src/libnm-systemd-shared/src/basic/utf8.h2
-rw-r--r--src/libnm-systemd-shared/src/fundamental/macro-fundamental.h126
-rw-r--r--src/libnm-systemd-shared/src/fundamental/memory-util-fundamental.h42
-rw-r--r--src/libnm-systemd-shared/src/fundamental/sha256.c11
-rw-r--r--src/libnm-systemd-shared/src/fundamental/string-util-fundamental.c16
-rw-r--r--src/libnm-systemd-shared/src/fundamental/string-util-fundamental.h8
-rw-r--r--src/libnm-systemd-shared/src/shared/dns-domain.c43
-rw-r--r--src/libnmc-setting/settings-docs.h.in2
-rw-r--r--src/meson.build9
-rw-r--r--src/nmcli/common.h1
-rw-r--r--src/nmcli/gen-metadata-nm-settings-nmcli.xml.in2
-rw-r--r--src/nmcli/general.c11
-rw-r--r--src/nmcli/utils.h1
152 files changed, 16083 insertions, 11658 deletions
diff --git a/.gitignore b/.gitignore
index 42e24fe416..eff0e18cb9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -183,6 +183,7 @@ test-*.trs
/src/nm-online/nm-online
+/m4/build-to-host.m4
/m4/codeset.m4
/m4/gettext.m4
/m4/glibc2.m4
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e13995b3b1..029284bfb5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -58,9 +58,9 @@ variables:
# This is done by running `ci-fairy generate-template` and possibly bumping
# ".default_tag".
ALPINE_TAG: 'tag-7da44bbacc09'
- CENTOS_TAG: 'tag-c8090b8a9a6b'
+ CENTOS_TAG: 'tag-df11907da86a'
DEBIAN_TAG: 'tag-86a16c2d74d8'
- FEDORA_TAG: 'tag-c8090b8a9a6b'
+ FEDORA_TAG: 'tag-df11907da86a'
UBUNTU_TAG: 'tag-86a16c2d74d8'
ALPINE_EXEC: 'bash .gitlab-ci/alpine-install.sh'
diff --git a/Makefile.am b/Makefile.am
index 1948fcc157..d91e983e9c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2353,7 +2353,6 @@ src_libnm_systemd_shared_libnm_systemd_shared_la_SOURCES = \
src/libnm-systemd-shared/sd-adapt-shared/mkdir.h \
src/libnm-systemd-shared/sd-adapt-shared/mountpoint-util.h \
src/libnm-systemd-shared/sd-adapt-shared/namespace-util.h \
- src/libnm-systemd-shared/sd-adapt-shared/netif-util.h \
src/libnm-systemd-shared/sd-adapt-shared/nm-sd-adapt-shared.h \
src/libnm-systemd-shared/sd-adapt-shared/nulstr-util.h \
src/libnm-systemd-shared/sd-adapt-shared/os-util.h \
@@ -2368,7 +2367,9 @@ src_libnm_systemd_shared_libnm_systemd_shared_la_SOURCES = \
src/libnm-systemd-shared/sd-adapt-shared/virt.h \
src/libnm-systemd-shared/src/basic/alloc-util.c \
src/libnm-systemd-shared/src/basic/alloc-util.h \
- src/libnm-systemd-shared/src/basic/async.h \
+ src/libnm-systemd-shared/src/basic/arphrd-util.h \
+ src/libnm-systemd-shared/src/basic/btrfs.c \
+ src/libnm-systemd-shared/src/basic/btrfs.h \
src/libnm-systemd-shared/src/basic/cgroup-util.h \
src/libnm-systemd-shared/src/basic/constants.h \
src/libnm-systemd-shared/src/basic/dns-def.h \
@@ -2407,6 +2408,7 @@ src_libnm_systemd_shared_libnm_systemd_shared_la_SOURCES = \
src/libnm-systemd-shared/src/basic/inotify-util.h \
src/libnm-systemd-shared/src/basic/io-util.c \
src/libnm-systemd-shared/src/basic/io-util.h \
+ src/libnm-systemd-shared/src/basic/iovec-util.h \
src/libnm-systemd-shared/src/basic/label.c \
src/libnm-systemd-shared/src/basic/label.h \
src/libnm-systemd-shared/src/basic/list.h \
@@ -2426,6 +2428,7 @@ src_libnm_systemd_shared_libnm_systemd_shared_la_SOURCES = \
src/libnm-systemd-shared/src/basic/missing_syscall.h \
src/libnm-systemd-shared/src/basic/missing_threads.h \
src/libnm-systemd-shared/src/basic/missing_type.h \
+ src/libnm-systemd-shared/src/basic/namespace-util.h \
src/libnm-systemd-shared/src/basic/ordered-set.c \
src/libnm-systemd-shared/src/basic/ordered-set.h \
src/libnm-systemd-shared/src/basic/origin-id.h \
@@ -2433,6 +2436,7 @@ src_libnm_systemd_shared_libnm_systemd_shared_la_SOURCES = \
src/libnm-systemd-shared/src/basic/parse-util.h \
src/libnm-systemd-shared/src/basic/path-util.c \
src/libnm-systemd-shared/src/basic/path-util.h \
+ src/libnm-systemd-shared/src/basic/pidref.h \
src/libnm-systemd-shared/src/basic/prioq.c \
src/libnm-systemd-shared/src/basic/prioq.h \
src/libnm-systemd-shared/src/basic/process-util.c \
@@ -2512,14 +2516,17 @@ src_libnm_systemd_core_libnm_systemd_core_la_SOURCES = \
src/libnm-systemd-core/sd-adapt-core/condition.h \
src/libnm-systemd-core/sd-adapt-core/conf-parser.h \
src/libnm-systemd-core/sd-adapt-core/khash.h \
+ src/libnm-systemd-core/sd-adapt-core/netif-util.c \
+ src/libnm-systemd-core/sd-adapt-core/netif-util.h \
src/libnm-systemd-core/sd-adapt-core/network-util.h \
src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.c \
src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.h \
src/libnm-systemd-core/sd-adapt-core/sd-daemon.h \
src/libnm-systemd-core/sd-adapt-core/sd-messages.h \
src/libnm-systemd-core/sd-adapt-core/udev-util.h \
- src/libnm-systemd-core/src/libsystemd-network/dhcp-identifier.c \
- src/libnm-systemd-core/src/libsystemd-network/dhcp-identifier.h \
+ src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c \
+ src/libnm-systemd-core/src/libsystemd-network/dhcp-duid-internal.h \
+ src/libnm-systemd-core/src/libsystemd-network/dhcp6-client-internal.h \
src/libnm-systemd-core/src/libsystemd-network/dhcp6-internal.h \
src/libnm-systemd-core/src/libsystemd-network/dhcp6-lease-internal.h \
src/libnm-systemd-core/src/libsystemd-network/dhcp6-network.c \
@@ -2541,9 +2548,11 @@ src_libnm_systemd_core_libnm_systemd_core_la_SOURCES = \
src/libnm-systemd-core/src/libsystemd/sd-id128/sd-id128.c \
src/libnm-systemd-core/src/systemd/_sd-common.h \
src/libnm-systemd-core/src/systemd/sd-device.h \
+ src/libnm-systemd-core/src/systemd/sd-dhcp-duid.h \
src/libnm-systemd-core/src/systemd/sd-dhcp6-client.h \
src/libnm-systemd-core/src/systemd/sd-dhcp6-lease.h \
src/libnm-systemd-core/src/systemd/sd-dhcp6-option.h \
+ src/libnm-systemd-core/src/systemd/sd-dhcp6-protocol.h \
src/libnm-systemd-core/src/systemd/sd-event.h \
src/libnm-systemd-core/src/systemd/sd-id128.h \
src/libnm-systemd-core/src/systemd/sd-ndisc.h \
diff --git a/NEWS b/NEWS
index 6ac3118db9..bb2bb29a68 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,14 @@
=============================================
+NetworkManager-1.48
+Overview of changes since NetworkManager-1.46
+=============================================
+
+This is a snapshot of NetworkManager development. The API is
+subject to change and not guaranteed to be compatible with
+the later release.
+USE AT YOUR OWN RISK. NOT RECOMMENDED FOR PRODUCTION USE!
+
+=============================================
NetworkManager-1.46
Overview of changes since NetworkManager-1.44
=============================================
diff --git a/configure.ac b/configure.ac
index 9bc5dc5157..7ee3b73738 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,8 +7,8 @@ dnl - add corresponding NM_VERSION_x_y_z macros in
dnl "shared/nm-version-macros.h.in"
dnl - update number in meson.build
m4_define([nm_major_version], [1])
-m4_define([nm_minor_version], [46])
-m4_define([nm_micro_version], [0])
+m4_define([nm_minor_version], [47])
+m4_define([nm_micro_version], [1])
m4_define([nm_version],
[nm_major_version.nm_minor_version.nm_micro_version])
@@ -1157,7 +1157,12 @@ fi
NM_COMPILER_WARNINGS(AM_CFLAGS, ${more_warnings_default})
-NM_COMPILER_WARNING_FLAG(LIBSYSTEMD_NM_CFLAGS, "-Wno-gnu-variable-sized-type-not-at-end")
+for w in \
+ -Wno-nonnull-compare \
+ -Wno-calloc-transposed-args \
+ ; do
+ NM_COMPILER_WARNING_FLAG(LIBSYSTEMD_NM_CFLAGS, "$w")
+done
AC_SUBST(LIBSYSTEMD_NM_CFLAGS)
CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
diff --git a/contrib/fedora/REQUIRED_PACKAGES b/contrib/fedora/REQUIRED_PACKAGES
index 7084f780b8..38ca90267f 100755
--- a/contrib/fedora/REQUIRED_PACKAGES
+++ b/contrib/fedora/REQUIRED_PACKAGES
@@ -63,6 +63,7 @@ install \
gtk-doc \
iptables \
jansson-devel \
+ jq \
libcurl-devel \
libndp-devel \
libselinux-devel \
diff --git a/contrib/fedora/rpm/build_clean.sh b/contrib/fedora/rpm/build_clean.sh
index 3f07a9b198..dfc8e96e39 100755
--- a/contrib/fedora/rpm/build_clean.sh
+++ b/contrib/fedora/rpm/build_clean.sh
@@ -19,8 +19,9 @@ usage() {
echo " -c|--clean: run \`git-clean -fdx :/\` before build"
echo " -S|--srpm: only build the SRPM"
echo " -g|--git: create tarball from current git HEAD (skips make dist)"
- echo " -Q|--quick: only run \`make dist\` instead of \`make distcheck\`"
+ echo " -Q|--quick: only create the distribution tarball, without running checks"
echo " -N|--no-dist: skip creating the source tarball if you already did \`make dist\`"
+ echo " -m|--meson: use meson to create the source tarball"
echo " -w|--with \$OPTION: pass --with \$OPTION to rpmbuild. For example --with debug"
echo " -W|--without \$OPTION: pass --without \$OPTION to rpmbuild. For example --without debug"
echo " -s|--snapshot TEXT: use TEXT as the snapshot version for the new package (overwrites \$NM_BUILD_SNAPSHOT environment)"
@@ -97,6 +98,10 @@ while [[ $# -gt 0 ]]; do
IGNORE_DIRTY=1
SOURCE_FROM_GIT=1
;;
+ -m|--meson)
+ USE_MESON=1
+ WITH_LIST=("${WITH_LIST[@]}" "--with" "meson")
+ ;;
-Q|--quick)
QUICK=1
;;
@@ -188,45 +193,87 @@ if [[ $IGNORE_DIRTY != 1 ]]; then
fi
fi
+get_version_meson() {
+ meson introspect "$GITDIR/build" --projectinfo | jq -r .version
+}
+
if [[ $NO_DIST != 1 ]]; then
- ./autogen.sh \
- --with-runstatedir=/run \
- --program-prefix= \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --sysconfdir=/etc \
- --datadir=/usr/share \
- --includedir=/usr/include \
- --libdir=/usr/lib \
- --libexecdir=/usr/libexec \
- --localstatedir=/var \
- --sharedstatedir=/var/lib \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- \
- --disable-dependency-tracking \
- --enable-gtk-doc \
- --enable-introspection \
- --enable-ifcfg-rh \
- --enable-ifupdown \
- --with-config-logging-backend-default=syslog \
- --with-config-wifi-backend-default=wpa_supplicant \
- --with-libaudit=yes-disabled-by-default \
- --enable-polkit=yes \
- --with-nm-cloud-setup=yes \
- --with-config-dhcp-default=internal \
- --with-config-dns-rc-manager-default=auto \
- \
- --with-iptables=/usr/sbin/iptables \
- --with-nft=/usr/sbin/nft \
- \
- || die "Error autogen.sh"
- if [[ $QUICK == 1 ]]; then
- make dist -j 7 || die "Error make dist"
+ if [[ $USE_MESON = 1 ]]; then
+ meson setup "$GITDIR/build" \
+ --prefix=/usr \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --sysconfdir=/etc \
+ --datadir=/usr/share \
+ --includedir=/usr/include \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/libexec \
+ --localstatedir=/var \
+ --sharedstatedir=/var/lib \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ -Ddocs=true \
+ -Dintrospection=true \
+ -Difcfg_rh=true \
+ -Difupdown=true \
+ -Dconfig_logging_backend_default=syslog \
+ -Dconfig_wifi_backend_default=wpa_supplicant \
+ -Dlibaudit=yes-disabled-by-default \
+ -Dpolkit=true \
+ -Dnm_cloud_setup=true \
+ -Dconfig_dhcp_default=internal \
+ -Dconfig_dns_rc_manager_default=auto \
+ -Diptables=/usr/sbin/iptables \
+ -Dnft=/usr/bin/nft \
+ || die "Error meson setup"
+
+ VERSION="${VERSION:-$(get_version_meson || die "Could not read $VERSION")}"
+ if [[ $QUICK == 1 ]]; then
+ meson dist --allow-dirty -C "$GITDIR/build/" --no-tests || die "Error meson dist"
+ else
+ meson dist --allow-dirty -C "$GITDIR/build/" || die "Error meson dist with tests"
+ fi
+ export SOURCE="$(ls -1 "$GITDIR/build/meson-dist/NetworkManager-${VERSION}.tar.xz" 2>/dev/null | head -n1)"
else
- make distcheck -j 7 || die "Error make distcheck"
+ ./autogen.sh \
+ --with-runstatedir=/run \
+ --program-prefix= \
+ --prefix=/usr \
+ --exec-prefix=/usr \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --sysconfdir=/etc \
+ --datadir=/usr/share \
+ --includedir=/usr/include \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/libexec \
+ --localstatedir=/var \
+ --sharedstatedir=/var/lib \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ \
+ --disable-dependency-tracking \
+ --enable-gtk-doc \
+ --enable-introspection \
+ --enable-ifcfg-rh \
+ --enable-ifupdown \
+ --with-config-logging-backend-default=syslog \
+ --with-config-wifi-backend-default=wpa_supplicant \
+ --with-libaudit=yes-disabled-by-default \
+ --enable-polkit=yes \
+ --with-nm-cloud-setup=yes \
+ --with-config-dhcp-default=internal \
+ --with-config-dns-rc-manager-default=auto \
+ \
+ --with-iptables=/usr/sbin/iptables \
+ --with-nft=/usr/sbin/nft \
+ \
+ || die "Error autogen.sh"
+ if [[ $QUICK == 1 ]]; then
+ make dist -j 7 || die "Error make dist"
+ else
+ make distcheck -j 7 || die "Error make distcheck"
+ fi
fi
fi
diff --git a/contrib/fedora/utils/makerepo.sh b/contrib/fedora/utils/makerepo.sh
index 6dfd781065..266aac8fe2 100755
--- a/contrib/fedora/utils/makerepo.sh
+++ b/contrib/fedora/utils/makerepo.sh
@@ -408,6 +408,10 @@ pushd "$DIRNAME"
git remote add origin "https://github.com/firewalld/firewalld.git"
elif [[ "$BUILD_TYPE" == "nftables" ]]; then
git remote add origin "git://git.netfilter.org/nftables"
+ elif [[ "$BUILD_TYPE" == "ulogd" ]]; then
+ git remote add origin "https://git.netfilter.org/ulogd2"
+ elif [[ "$BUILD_TYPE" == "libnetfilter_log" ]]; then
+ git remote add origin "https://git.netfilter.org/$BUILD_TYPE"
fi
LOCAL_MIRROR_URL="$(LANG=C git remote -v | sed -n 's/^origin\t*\([^\t].*\) (fetch)/\1/p')"
LOCAL_MIRROR="$(get_local_mirror "$LOCAL_MIRROR_URL")"
@@ -526,6 +530,13 @@ cc304f05edab6c408a0f061eb1a104f9f06b8587 86ef789876b65c61751ce854835b91d4 init
# systemd
903dd65b5eb63257393955cb79777beb8c71afc1 SHA512 (systemd-253-rc1.tar.gz) = aaf0a6bf21bbc50a42015c9cb17f69d1aaf6cab6cabfba5140a94212fb864e38d638dace9a70447f62b4d2a817a0d3bd6f4ae8d9b3c2e741cdeb1cb332f70b65
+
+# libnetfilter_log
+97866a0a7482ca518bad39536c7c667bfb9604b2 2a4bb0654ae675a52d2e8d1c06090b94 libnetfilter_log-1.0.1.tar.bz2
+b0e4be94c0b8f68d4e912402b93a130063c34e17 SHA512 (libnetfilter_log-1.0.2.tar.bz2) = 6b33718b1dd7f4504bceae14001da3a652cec46a6725a5dee83a7b55028cfa8e768cba917f968a5d5b60fd9ff04edf6040ef271a68e5fb65858bf73f4f9ccf23
+
+# ulogd
+79aa980f2df9dda0c097e8f883a62f414b9e5138 SHA512 (ulogd-2.0.8.tar.bz2) = 9f99f6f35bad5da4559d788dc3ba3dae17d4ae972737cae3313ecf68f08eaf5f55514fce6f30503437e4158fd30a06438b9249d5d20f6343964cbf690f87309d
EOF
)"
OLDIFS="$IFS"
@@ -583,7 +594,7 @@ EOF
if [[ "$REVERT_COUNT" == "" || $REVERT_COUNT -gt 0 ]]; then
# parse the list of patches
- IFS=$'\n' read -rd '' -a PATCH_LIST <<<"$(sed -n 's/^Patch\([0-9]\+\): \+\(.*\)$/\1 \2/p' ../"$SPEC" | sort -n)"
+ IFS=$'\n' read -rd '' -a PATCH_LIST <<<"$(sed -n 's/^Patch\([0-9]\+\):[ ]\+\(.*\)$/\1 \2/p' ../"$SPEC" | sort -n)"
if [[ "$BUILD_TYPE" == "NetworkManager" ]]; then
if containsElement idx "123 rh1085015-applet-translations.patch" "${PATCH_LIST[@]}"; then
@@ -674,7 +685,7 @@ popd
if [[ $LOCAL != 0 ]]; then
rm -rf ./.makerepo.git/
mv "$DIRNAME/.git" ./.makerepo.git/
- $FEDPKG $DIST local
+ $FEDPKG $DIST local -- --noclean
mv ./.makerepo.git/ "$DIRNAME/.git"
pushd "$DIRNAME"
git checkout -- .gitignore
diff --git a/man/NetworkManager.conf.xml b/man/NetworkManager.conf.xml
index 69cfdb0713..94e3d6b6b2 100644
--- a/man/NetworkManager.conf.xml
+++ b/man/NetworkManager.conf.xml
@@ -824,6 +824,11 @@ domains=ALL
to use the default from <literal>NetworkManager.conf</literal>.
</para>
<para>
+ Note that while nmcli supports various aliases and convenience features for configuring
+ properties, the settings in this section do not. For example, enum values usually only
+ can be configured via their numeric magic number.
+ </para>
+ <para>
Example:
<programlisting>
[connection]
@@ -868,7 +873,13 @@ ipv6.ip6-privacy=0
</varlistentry>
<varlistentry>
<term><varname>connection.mdns</varname></term>
- <listitem><para>If unspecified, the ultimate default values depends on the DNS plugin. With systemd-resolved the default currently is "no" (0) and for all other plugins also "no" (0).</para></listitem>
+ <listitem><para>
+ Currently only the systemd-resolve DNS plugin supports this setting.
+ If the setting is unspecified both in the profile and in the global
+ default here, then the default is determined by systemd-resolved.
+ See <literal>MulticastDNS=</literal> in
+ <citerefentry><refentrytitle>resolved.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para></listitem>
</varlistentry>
<varlistentry>
<term><varname>connection.mptcp-flags</varname></term>
diff --git a/meson.build b/meson.build
index 1cc11d0dfd..bb1e19e6a0 100644
--- a/meson.build
+++ b/meson.build
@@ -6,7 +6,7 @@ project(
# - add corresponding NM_VERSION_x_y_z macros in
# "src/libnm-core-public/nm-version-macros.h.in"
# - update number in configure.ac
- version: '1.46.0',
+ version: '1.47.1',
license: 'GPL2+',
default_options: [
'buildtype=debugoptimized',
diff --git a/po/de.po b/po/de.po
index f869c7b712..53b82b8d26 100644
--- a/po/de.po
+++ b/po/de.po
@@ -18,22 +18,22 @@
# lrintel <lrintel@redhat.com>, 2017. #zanata
# tchuang <tchuang@redhat.com>, 2017. #zanata
# lrintel <lrintel@redhat.com>, 2018. #zanata
-# maxbachmann <kontakt@maxbachmann.de>, 2019
+# Tim Sabsch <tim@sabsch.com>, 2024.
msgid ""
msgstr ""
-"Project-Id-Version: NetworkManager\n"
+"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
"NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-15 18:14-0300\n"
-"PO-Revision-Date: 2018-07-15 17:31+0200\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"POT-Creation-Date: 2024-01-24 15:26+0000\n"
+"PO-Revision-Date: 2024-01-26 23:04+0100\n"
+"Last-Translator: Tim Sabsch <tim@sabsch.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.0.8\n"
+"X-Generator: Poedit 3.4.2\n"
#: data/org.freedesktop.NetworkManager.policy.in.in:13
msgid "Enable or disable system networking"
@@ -42,8 +42,8 @@ msgstr "System-Netzwerke aktivieren oder deaktivieren"
#: data/org.freedesktop.NetworkManager.policy.in.in:14
msgid "System policy prevents enabling or disabling system networking"
msgstr ""
-"Die Systemrichtlinien verhindern die Aktivierung oder Deaktivierung von "
-"System-Netzwerken"
+"Die Systemrichtlinien verhindern die Aktivierung oder Deaktivierung von System-"
+"Netzwerken"
#: data/org.freedesktop.NetworkManager.policy.in.in:22
msgid "Reload NetworkManager configuration"
@@ -55,8 +55,8 @@ msgstr "Die Systemrichtlinien verhindern das Neuladen von NetworkManager"
#: data/org.freedesktop.NetworkManager.policy.in.in:32
msgid ""
-"Put NetworkManager to sleep or wake it up (should only be used by system "
-"power management)"
+"Put NetworkManager to sleep or wake it up (should only be used by system power "
+"management)"
msgstr ""
"NetworkManager in den Schlafzustand versetzen oder daraus aufwecken (Sollte "
"nur von der System-Energieverwaltung verwendet werden)"
@@ -104,28 +104,22 @@ msgstr "Die Kontrolle von Netzwerkverbindungen erlauben"
#: data/org.freedesktop.NetworkManager.policy.in.in:69
msgid "System policy prevents control of network connections"
-msgstr ""
-"Die Systemrichtlinien verhindern die Kontrolle von Netzwerkverbindungen"
+msgstr "Die Systemrichtlinien verhindern die Kontrolle von Netzwerkverbindungen"
#: data/org.freedesktop.NetworkManager.policy.in.in:78
-#, fuzzy
msgid "Allow control of Wi-Fi scans"
-msgstr "Die Kontrolle von Netzwerkverbindungen erlauben"
+msgstr "Die Steuerung von WLAN-Suchen erlauben"
#: data/org.freedesktop.NetworkManager.policy.in.in:79
-#, fuzzy
msgid "System policy prevents Wi-Fi scans"
-msgstr ""
-"Die Systemrichtlinien verhindern die Aktivierung oder Deaktivierung von WLAN-"
-"Geräten"
+msgstr "Die Systemrichtlinien verhindern die Suche nach WLANs"
#: data/org.freedesktop.NetworkManager.policy.in.in:88
msgid "Connection sharing via a protected Wi-Fi network"
msgstr "Verbindungsfreigabe über ein geschütztes WLAN-Netzwerk"
#: data/org.freedesktop.NetworkManager.policy.in.in:89
-msgid ""
-"System policy prevents sharing connections via a protected Wi-Fi network"
+msgid "System policy prevents sharing connections via a protected Wi-Fi network"
msgstr ""
"Die Systemrichtlinien verhindern Verbindungsfreigaben über ein geschütztes "
"WLAN-Netzwerk"
@@ -157,8 +151,8 @@ msgstr "Netzwerkverbindungen für alle Benutzer bearbeiten"
#: data/org.freedesktop.NetworkManager.policy.in.in:117
msgid "System policy prevents modification of network settings for all users"
msgstr ""
-"Die Systemrichtlinien verhindern das Bearbeiten von Netzwerkeinstellungen "
-"für alle Benutzer"
+"Die Systemrichtlinien verhindern das Bearbeiten von Netzwerkeinstellungen für "
+"alle Benutzer"
#: data/org.freedesktop.NetworkManager.policy.in.in:126
msgid "Modify persistent system hostname"
@@ -176,8 +170,7 @@ msgstr "Die dauerhafte globale DNS-Konfiguration bearbeiten"
#: data/org.freedesktop.NetworkManager.policy.in.in:137
msgid ""
-"System policy prevents modification of the persistent global DNS "
-"configuration"
+"System policy prevents modification of the persistent global DNS configuration"
msgstr ""
"Die Systemrichtlinien verhindern das Ändern der ständigen globalen DNS-"
"Konfiguration"
@@ -218,83 +211,79 @@ msgstr ""
#. * as "Wired Connection" or "VPN Connection". The %d is a number
#. * that is combined with the first argument to create a unique
#. * connection id.
-#: src/core/NetworkManagerUtils.c:119
+#: src/core/NetworkManagerUtils.c:121
#, c-format
msgctxt "connection id fallback"
msgid "%s %u"
msgstr "%s %u"
-#: src/core/devices/adsl/nm-device-adsl.c:115
-#: src/libnmc-setting/nm-meta-setting-desc.c:8265
+#: src/core/devices/adsl/nm-device-adsl.c:118
+#: src/libnmc-setting/nm-meta-setting-desc.c:8647
msgid "ADSL connection"
msgstr "ADSL-Verbindung"
-#: src/core/devices/bluetooth/nm-bluez-manager.c:1315
+#: src/core/devices/bluetooth/nm-bluez-manager.c:1316
#, c-format
msgid "%s Network"
msgstr "%s-Netzwerk"
-#: src/core/devices/bluetooth/nm-device-bt.c:300
-#, fuzzy
-#| msgid "PAN requested, but Bluetooth device does not support NAP"
+#: src/core/devices/bluetooth/nm-device-bt.c:303
msgid "NAP requested, but Bluetooth device does not support NAP"
-msgstr "PAN wurde angefordert, aber das Bluetooth-Gerät unterstützt kein NAP"
+msgstr "NAP wurde angefordert, aber das Bluetooth-Gerät unterstützt kein NAP"
-#: src/core/devices/bluetooth/nm-device-bt.c:313
-#, fuzzy
-#| msgid "PAN connection"
+#: src/core/devices/bluetooth/nm-device-bt.c:316
msgid "NAP connection"
-msgstr "PAN-Verbindung"
+msgstr "NAP-Verbindung"
-#: src/core/devices/bluetooth/nm-device-bt.c:320
+#: src/core/devices/bluetooth/nm-device-bt.c:323
msgid "PAN requested, but Bluetooth device does not support NAP"
msgstr "PAN wurde angefordert, aber das Bluetooth-Gerät unterstützt kein NAP"
-#: src/core/devices/bluetooth/nm-device-bt.c:333
+#: src/core/devices/bluetooth/nm-device-bt.c:336
msgid "PAN connections cannot specify GSM, CDMA, or serial settings"
msgstr ""
"Für PAN-Verbindungen können keine GSM-, CDMA- oder seriellen Einstellungen "
"angegeben werden"
-#: src/core/devices/bluetooth/nm-device-bt.c:348
+#: src/core/devices/bluetooth/nm-device-bt.c:351
msgid "PAN connection"
msgstr "PAN-Verbindung"
-#: src/core/devices/bluetooth/nm-device-bt.c:355
+#: src/core/devices/bluetooth/nm-device-bt.c:358
msgid "DUN requested, but Bluetooth device does not support DUN"
msgstr "DUN wurde angefordert, aber das Bluetooth-Gerät unterstützt kein DUN"
-#: src/core/devices/bluetooth/nm-device-bt.c:368
+#: src/core/devices/bluetooth/nm-device-bt.c:371
msgid "DUN connection must include a GSM or CDMA setting"
msgstr "Die DUN-Verbindung muss eine GSM- oder CDMA-Einstellung enthalten"
-#: src/core/devices/bluetooth/nm-device-bt.c:379
-#: src/core/devices/wwan/nm-modem-broadband.c:814
+#: src/core/devices/bluetooth/nm-device-bt.c:382
+#: src/core/devices/wwan/nm-modem-broadband.c:897
msgid "GSM connection"
msgstr "GSM-Verbindung"
-#: src/core/devices/bluetooth/nm-device-bt.c:381
-#: src/core/devices/wwan/nm-modem-broadband.c:835
+#: src/core/devices/bluetooth/nm-device-bt.c:384
+#: src/core/devices/wwan/nm-modem-broadband.c:918
msgid "CDMA connection"
msgstr "CDMA-Verbindung"
-#: src/core/devices/bluetooth/nm-device-bt.c:389
+#: src/core/devices/bluetooth/nm-device-bt.c:392
msgid "Unknown/unhandled Bluetooth connection type"
msgstr "Unbekannter Bluetooth-Verbindungstyp"
-#: src/core/devices/bluetooth/nm-device-bt.c:414
+#: src/core/devices/bluetooth/nm-device-bt.c:417
msgid "connection does not match device"
msgstr "Die Verbindung passt nicht zum Gerät"
-#: src/core/devices/nm-device-6lowpan.c:191
+#: src/core/devices/nm-device-6lowpan.c:162
msgid "6LOWPAN connection"
msgstr "6LOWPAN-Verbindung"
-#: src/core/devices/nm-device-bond.c:91
+#: src/core/devices/nm-device-bond.c:95
msgid "Bond connection"
msgstr "Bündel-Verbindung"
-#: src/core/devices/nm-device-bridge.c:161
+#: src/core/devices/nm-device-bridge.c:164
msgid "Bridge connection"
msgstr "Brückenverbindung"
@@ -307,30 +296,33 @@ msgstr "Platzhalter-Verbindung"
msgid "Wired connection %d"
msgstr "Kabelgebundene Verbindung %d"
-#: src/core/devices/nm-device-ethernet.c:1628
-#: src/libnmc-setting/nm-meta-setting-desc.c:8303
-#, fuzzy
+#: src/core/devices/nm-device-ethernet.c:1641
+#: src/libnmc-setting/nm-meta-setting-desc.c:8689
msgid "Veth connection"
-msgstr "VPN-Verbindung"
+msgstr "Veth-Verbindung"
-#: src/core/devices/nm-device-ethernet.c:1686
+#: src/core/devices/nm-device-ethernet.c:1699
msgid "PPPoE connection"
msgstr "PPPoE-Verbindung"
-#: src/core/devices/nm-device-ethernet.c:1686
+#: src/core/devices/nm-device-ethernet.c:1699
msgid "Wired connection"
msgstr "Kabelgebundene Verbindung"
-#: src/core/devices/nm-device-infiniband.c:157
-#: src/libnmc-setting/nm-meta-setting-desc.c:8279
+#: src/core/devices/nm-device-infiniband.c:160
+#: src/libnmc-setting/nm-meta-setting-desc.c:8662
msgid "InfiniBand connection"
msgstr "InfiniBand-Verbindung"
-#: src/core/devices/nm-device-ip-tunnel.c:399
+#: src/core/devices/nm-device-ip-tunnel.c:403
msgid "IP tunnel connection"
msgstr "IP-Tunnel-Verbindung"
-#: src/core/devices/nm-device-macvlan.c:389
+#: src/core/devices/nm-device-loopback.c:67
+msgid "Loopback connection"
+msgstr "Loopback-Verbindung"
+
+#: src/core/devices/nm-device-macvlan.c:366
msgid "MACVLAN connection"
msgstr "MACVLAN-Verbindung"
@@ -338,19 +330,18 @@ msgstr "MACVLAN-Verbindung"
msgid "TUN connection"
msgstr "TUN-Verbindung"
-#: src/core/devices/nm-device-vlan.c:398
-#: src/libnmc-setting/nm-meta-setting-desc.c:8304
+#: src/core/devices/nm-device-vlan.c:380
+#: src/libnmc-setting/nm-meta-setting-desc.c:8690
msgid "VLAN connection"
msgstr "VLAN-Verbindung"
-#: src/core/devices/nm-device-vrf.c:182
-#: src/libnmc-setting/nm-meta-setting-desc.c:8306
-#, fuzzy
+#: src/core/devices/nm-device-vrf.c:185
+#: src/libnmc-setting/nm-meta-setting-desc.c:8692
msgid "VRF connection"
-msgstr "VPN-Verbindung"
+msgstr "VRF-Verbindung"
-#: src/core/devices/nm-device-vxlan.c:382
-#: src/libnmc-setting/nm-meta-setting-desc.c:8307
+#: src/core/devices/nm-device-vxlan.c:385
+#: src/libnmc-setting/nm-meta-setting-desc.c:8693
msgid "VXLAN connection"
msgstr "VXLAN-Verbindung"
@@ -358,167 +349,163 @@ msgstr "VXLAN-Verbindung"
msgid "WPAN connection"
msgstr "WPAN-Verbindung"
-#: src/core/devices/team/nm-device-team.c:130
+#: src/core/devices/team/nm-device-team.c:131
msgid "Team connection"
msgstr "Netzwerk-Team"
-#: src/core/devices/wifi/nm-device-olpc-mesh.c:112 src/nmcli/devices.c:1397
+#: src/core/devices/wifi/nm-device-olpc-mesh.c:112 src/nmcli/devices.c:1415
msgid "Mesh"
msgstr "Maschennetz"
-#: src/core/devices/wifi/nm-wifi-utils.c:33
+#: src/core/devices/wifi/nm-wifi-utils.c:34
#, c-format
msgid "%s is incompatible with static WEP keys"
msgstr "%s ist nicht kompatibel mit statischen WEP-Schlüsseln"
-#: src/core/devices/wifi/nm-wifi-utils.c:68
+#: src/core/devices/wifi/nm-wifi-utils.c:69
msgid "LEAP authentication requires a LEAP username"
msgstr "Eine LEAP-Legitimierung erfordert einen LEAP-Benutzernamen"
-#: src/core/devices/wifi/nm-wifi-utils.c:80
+#: src/core/devices/wifi/nm-wifi-utils.c:81
msgid "LEAP username requires 'leap' authentication"
msgstr "Ein LEAP-Benutzername erfordert »leap«-Legitimierung"
-#: src/core/devices/wifi/nm-wifi-utils.c:95
+#: src/core/devices/wifi/nm-wifi-utils.c:96
msgid "LEAP authentication requires IEEE 802.1x key management"
msgstr "Eine LEAP-Legitmierung erfordert Schlüsselverwaltung nach IEEE 802.1x"
-#: src/core/devices/wifi/nm-wifi-utils.c:117
+#: src/core/devices/wifi/nm-wifi-utils.c:118
msgid "LEAP authentication is incompatible with Ad-Hoc mode"
msgstr "Eine LEAP-Legitimierung ist nicht kompatibel mit Ad-Hoc-Modus"
-#: src/core/devices/wifi/nm-wifi-utils.c:129
+#: src/core/devices/wifi/nm-wifi-utils.c:130
msgid "LEAP authentication is incompatible with 802.1x setting"
-msgstr ""
-"Eine LEAP-Legitimierung ist nicht kompatibel mit der 802.1x-Einstellung"
+msgstr "Eine LEAP-Legitimierung ist nicht kompatibel mit der 802.1x-Einstellung"
-#: src/core/devices/wifi/nm-wifi-utils.c:149
+#: src/core/devices/wifi/nm-wifi-utils.c:150
#, c-format
msgid "a connection using '%s' authentication cannot use WPA key management"
msgstr ""
"eine Verbindung mit »%s«-Legitimierung darf keine WPA-Schlüsselverwaltung "
"nutzen"
-#: src/core/devices/wifi/nm-wifi-utils.c:162
+#: src/core/devices/wifi/nm-wifi-utils.c:163
#, c-format
msgid "a connection using '%s' authentication cannot specify WPA protocols"
msgstr ""
"eine Verbindung mit »%s«-Legitimierung darf nicht das WPA-Protokoll angeben"
-#: src/core/devices/wifi/nm-wifi-utils.c:180
-#: src/core/devices/wifi/nm-wifi-utils.c:199
+#: src/core/devices/wifi/nm-wifi-utils.c:181
+#: src/core/devices/wifi/nm-wifi-utils.c:200
#, c-format
msgid "a connection using '%s' authentication cannot specify WPA ciphers"
msgstr "eine Verbindung mit »%s«-Legitimierung darf keine WPA-Chiffre angeben"
-#: src/core/devices/wifi/nm-wifi-utils.c:213
+#: src/core/devices/wifi/nm-wifi-utils.c:214
#, c-format
msgid "a connection using '%s' authentication cannot specify a WPA password"
msgstr "eine Verbindung mit »%s«-Legitimierung darf kein WPA-Passwort angeben"
-#: src/core/devices/wifi/nm-wifi-utils.c:246
+#: src/core/devices/wifi/nm-wifi-utils.c:247
msgid "Dynamic WEP requires an 802.1x setting"
msgstr "Dynamisches WEP erfordert eine 802.1x-Einstellung"
-#: src/core/devices/wifi/nm-wifi-utils.c:256
-#: src/core/devices/wifi/nm-wifi-utils.c:288
+#: src/core/devices/wifi/nm-wifi-utils.c:257
+#: src/core/devices/wifi/nm-wifi-utils.c:289
msgid "Dynamic WEP requires 'open' authentication"
msgstr "Dynamisches WEP erfordert »offene« Legitimierung"
-#: src/core/devices/wifi/nm-wifi-utils.c:273
+#: src/core/devices/wifi/nm-wifi-utils.c:274
msgid "Dynamic WEP requires 'ieee8021x' key management"
msgstr "Dynamisches WEP erfordert »ieee8021x«-Schlüsselverwaltung"
-#: src/core/devices/wifi/nm-wifi-utils.c:324
+#: src/core/devices/wifi/nm-wifi-utils.c:325
msgid "WPA-PSK authentication is incompatible with 802.1x"
msgstr "WPA-PSK-Legitimierung ist nicht kompatibel mit der 802.1x-Einstellung"
-#: src/core/devices/wifi/nm-wifi-utils.c:334
+#: src/core/devices/wifi/nm-wifi-utils.c:335
msgid "WPA-PSK requires 'open' authentication"
msgstr "WPA-PSK erfordert die »open«-Legitimierung"
-#: src/core/devices/wifi/nm-wifi-utils.c:348
+#: src/core/devices/wifi/nm-wifi-utils.c:349
msgid "Access point does not support PSK but setting requires it"
msgstr ""
"Der Zugriffspunkt unterstützt kein PSK, aber die Einstellung erfordert es"
-#: src/core/devices/wifi/nm-wifi-utils.c:363
-#, fuzzy
+#: src/core/devices/wifi/nm-wifi-utils.c:364
msgid "WPA Ad-Hoc authentication requires 'rsn' protocol"
-msgstr "Ad-Hoc WPA-Legitimierung erfordert das WPA-Protokoll"
+msgstr "Die ad-hoc WPA-Legitimierung erfordert das RSN-Protokoll"
-#: src/core/devices/wifi/nm-wifi-utils.c:376
-#, fuzzy
+#: src/core/devices/wifi/nm-wifi-utils.c:377
msgid "WPA Ad-Hoc authentication requires 'ccmp' pairwise cipher"
msgstr ""
-"Die WPA Ad-Hoc-Legitimierung erfordert den paarweisen Chiffrierschlüssel "
-"»none« (keinen)"
+"Die WPA Ad-Hoc-Legitimierung erfordert den paarweisen Chiffrierschlüssel »ccmp«"
-#: src/core/devices/wifi/nm-wifi-utils.c:389
-#, fuzzy
+#: src/core/devices/wifi/nm-wifi-utils.c:390
msgid "WPA Ad-Hoc requires 'ccmp' group cipher"
-msgstr "WPA Ad-Hoc-Modus erfordert den Chiffrierschlüssel »tkip«"
+msgstr "WPA Ad-Hoc-Modus erfordert den Gruppenschlüssel »ccmp«"
-#: src/core/devices/wifi/nm-wifi-utils.c:420
+#: src/core/devices/wifi/nm-wifi-utils.c:421
msgid "WPA-EAP authentication requires an 802.1x setting"
msgstr "WPA-EAP-Legitimierung erfordert Einstellungen für 802.1x"
-#: src/core/devices/wifi/nm-wifi-utils.c:430
+#: src/core/devices/wifi/nm-wifi-utils.c:431
msgid "WPA-EAP requires 'open' authentication"
msgstr "WPA-EAP erfordert die »open«-Legitimierung"
-#: src/core/devices/wifi/nm-wifi-utils.c:443
+#: src/core/devices/wifi/nm-wifi-utils.c:444
msgid "802.1x setting requires 'wpa-eap' key management"
msgstr "Die Einstellung 802.1x setzt die Schlüsselverwaltung »wpa-eap« voraus"
-#: src/core/devices/wifi/nm-wifi-utils.c:457
+#: src/core/devices/wifi/nm-wifi-utils.c:458
msgid "Access point does not support 802.1x but setting requires it"
msgstr ""
"Der Zugriffspunkt unterstützt nicht 802.1x, aber die Einstellung setzt es "
"voraus"
-#: src/core/devices/wifi/nm-wifi-utils.c:487
-#, fuzzy
+#: src/core/devices/wifi/nm-wifi-utils.c:488
msgid "Ad-Hoc mode requires 'none' or 'wpa-psk' key management"
-msgstr "Die Einstellung 802.1x setzt die Schlüsselverwaltung »wpa-eap« voraus"
+msgstr ""
+"Der Ad-Hoc-Modus erfordert die Schlüsselverwaltung »none« (keine) oder »wpa-"
+"psk«"
-#: src/core/devices/wifi/nm-wifi-utils.c:499
+#: src/core/devices/wifi/nm-wifi-utils.c:500
msgid "Ad-Hoc mode is incompatible with 802.1x security"
msgstr "Ad-hoc-Modus ist nicht kompatibel mit 802.1x-Sicherheit"
-#: src/core/devices/wifi/nm-wifi-utils.c:508
+#: src/core/devices/wifi/nm-wifi-utils.c:509
msgid "Ad-Hoc mode is incompatible with LEAP security"
msgstr "Ad-hoc-Modus ist nicht kompatibel mit LEAP-Sicherheit"
-#: src/core/devices/wifi/nm-wifi-utils.c:520
+#: src/core/devices/wifi/nm-wifi-utils.c:521
msgid "Ad-Hoc mode requires 'open' authentication"
msgstr "Ad-hoc-Modus erfordert »offene« Legitimierung"
-#: src/core/devices/wifi/nm-wifi-utils.c:564
-#: src/core/devices/wifi/nm-wifi-utils.c:599
+#: src/core/devices/wifi/nm-wifi-utils.c:565
+#: src/core/devices/wifi/nm-wifi-utils.c:600
msgid "connection does not match access point"
msgstr "Die Verbindung passt nicht zum Zugriffspunkt"
-#: src/core/devices/wifi/nm-wifi-utils.c:653
+#: src/core/devices/wifi/nm-wifi-utils.c:654
#, fuzzy
+#| msgid "connection does not match access point"
msgid "connection does not match mesh point"
msgstr "Die Verbindung passt nicht zum Zugriffspunkt"
-#: src/core/devices/wifi/nm-wifi-utils.c:672
+#: src/core/devices/wifi/nm-wifi-utils.c:673
msgid "Access point is unencrypted but setting specifies security"
msgstr ""
"Der Zugriffspunkt ist unverschlüsselt, aber die Einstellung legt eine "
"Sicherheit fest"
-#: src/core/devices/wifi/nm-wifi-utils.c:760
+#: src/core/devices/wifi/nm-wifi-utils.c:761
msgid ""
-"WPA authentication is incompatible with non-EAP (original) LEAP or Dynamic "
-"WEP"
+"WPA authentication is incompatible with non-EAP (original) LEAP or Dynamic WEP"
msgstr ""
"WPA-Legitimierung ist inkompatibel mit nicht-EAP (original) LEAP oder "
"dynamischem WEP"
-#: src/core/devices/wifi/nm-wifi-utils.c:773
+#: src/core/devices/wifi/nm-wifi-utils.c:774
msgid "WPA authentication is incompatible with Shared Key authentication"
msgstr ""
"WPA-Legitimierung ist nicht kompatibel mit der Einstellung »Gemeinsamer "
@@ -528,11 +515,11 @@ msgstr ""
msgid "Failed to determine AP security information"
msgstr "Das Ermitteln der AP-Sicherheitsinformationen scheiterte"
-#: src/core/dhcp/nm-dhcp-dhclient-utils.c:319
+#: src/core/dhcp/nm-dhcp-dhclient-utils.c:323
msgid "# Created by NetworkManager\n"
msgstr "# Erstellt von NetworkManager\n"
-#: src/core/dhcp/nm-dhcp-dhclient-utils.c:332
+#: src/core/dhcp/nm-dhcp-dhclient-utils.c:336
#, c-format
msgid ""
"# Merged from %s\n"
@@ -541,39 +528,30 @@ msgstr ""
"# Zusammengeführt aus %s\n"
"\n"
-#: src/core/main-utils.c:86
-#, c-format
-msgid "Opening %s failed: %s\n"
-msgstr "Öffnen von %s fehlgeschlagen: %s\n"
-
-#: src/core/main-utils.c:93
+#: src/core/main-utils.c:85
#, c-format
msgid "Writing to %s failed: %s\n"
msgstr "Schreiben nach %s gescheitert: %s\n"
-#: src/core/main-utils.c:99
-#, c-format
-msgid "Closing %s failed: %s\n"
-msgstr "Schließen von %s fehlgeschlagen: %s\n"
-
-#: src/core/main-utils.c:139 src/core/main-utils.c:151
+#: src/core/main-utils.c:126 src/core/main-utils.c:138
#, c-format
msgid "Cannot create '%s': %s"
msgstr "»%s« kann nicht erstellt werden: %s"
-#: src/core/main-utils.c:206
-#, c-format
-msgid "%s is already running (pid %ld)\n"
-msgstr "%s läuft bereits (pid %ld)\n"
+#: src/core/main-utils.c:195
+#, fuzzy, c-format
+#| msgid "%s is already running (pid %"
+msgid "%s is already running (pid %lld)\n"
+msgstr "%s läuft bereits (pid %"
-#: src/core/main-utils.c:274 src/core/main.c:367
+#: src/core/main-utils.c:263 src/core/main.c:368
#, c-format
msgid "%s. Please use --help to see a list of valid options.\n"
msgstr ""
"%s. Verwenden Sie --help, um eine Liste der verfügbaren Optionen zu "
"erhalten.\n"
-#: src/core/main.c:164 src/core/main.c:378
+#: src/core/main.c:164 src/core/main.c:379
#, c-format
msgid "Failed to read configuration: %s\n"
msgstr "Lesen der Konfiguration ist fehlgeschlagen: %s\n"
@@ -595,8 +573,7 @@ msgstr "Protokollierungsstufe: Eine von [%s]"
#, c-format
msgid "Log domains separated by ',': any combination of [%s]"
msgstr ""
-"Protokoll-Domänen, durch Kommata getrennt. Eine beliebige Kombination von "
-"[%s]"
+"Protokoll-Domänen, durch Kommata getrennt. Eine beliebige Kombination von [%s]"
#: src/core/main.c:219
msgid "Make all warnings fatal"
@@ -618,27 +595,26 @@ msgid ""
"should associate with."
msgstr ""
"Die Netzwerkverwaltung überwacht alle Netzwerkverbindungen und wählt\n"
-"automatisch die beste Verbindung zur Verwendung aus. Außerdem ermöglicht "
-"sie\n"
+"automatisch die beste Verbindung zur Verwendung aus. Außerdem ermöglicht sie\n"
"dem Anwender diejenigen Drahtlos-Zugangspunkte anzugeben, mit welchen sich\n"
"die Drahtlos-Netzwerkkarten des Rechners verbinden sollen."
-#: src/core/main.c:401
+#: src/core/main.c:402
#, c-format
msgid "Could not daemonize: %s [error %u]\n"
msgstr "Hintergrunddienst nicht möglich: %s [error %u]\n"
#: src/core/nm-config.c:544 src/libnm-core-impl/nm-setting-ovs-bridge.c:187
-#: src/libnmc-setting/nm-meta-setting-desc.c:2204
-#: src/libnmc-setting/nm-meta-setting-desc.c:4265
+#: src/libnmc-setting/nm-meta-setting-desc.c:2188
+#: src/libnmc-setting/nm-meta-setting-desc.c:4334
#, c-format
msgid "'%s' is not valid"
msgstr "»%s» ist ungültig"
#: src/core/nm-config.c:566
-#, fuzzy, c-format
+#, c-format
msgid "Bad '%s' option: "
-msgstr "Option »%s« ist leer"
+msgstr "Option »%s« ist unzulässig: "
#: src/core/nm-config.c:583
msgid "Config file location"
@@ -690,83 +666,84 @@ msgid "The expected start of the response"
msgstr "Der erwartete Start einer Antwort"
#: src/core/nm-config.c:671
-#, fuzzy
msgid "NetworkManager options"
-msgstr "Befugnisse von NetworkManager"
+msgstr "Einstellungen von NetworkManager"
#: src/core/nm-config.c:672
-#, fuzzy
msgid "Show NetworkManager options"
-msgstr "Befugnisse von NetworkManager"
+msgstr "Die Einstellungen von NetworkManager anzeigen"
-#: src/core/nm-manager.c:6162 src/libnmc-setting/nm-meta-setting-desc.c:8305
+#: src/core/nm-manager.c:6886 src/libnmc-setting/nm-meta-setting-desc.c:8691
msgid "VPN connection"
msgstr "VPN-Verbindung"
-#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:5612
-#: src/libnm-client-impl/nm-device.c:1779
-#: src/libnm-core-impl/nm-connection.c:3172 src/nmtui/nm-editor-utils.c:196
+#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:5650
+#: src/libnm-client-impl/nm-device.c:1781
+#: src/libnm-core-impl/nm-connection.c:3237 src/nmtui/nm-editor-utils.c:196
msgid "Bond"
msgstr "Gebündelt"
-#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:5683
-#: src/libnm-client-impl/nm-device.c:1781
-#: src/libnm-core-impl/nm-connection.c:3174 src/nmtui/nm-editor-utils.c:214
+#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:5721
+#: src/libnm-client-impl/nm-device.c:1783
+#: src/libnm-core-impl/nm-connection.c:3239 src/nmtui/nm-editor-utils.c:214
msgid "Team"
msgstr "Bündelung"
-#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:6020
-#: src/libnm-client-impl/nm-device.c:1783
-#: src/libnm-core-impl/nm-connection.c:3176 src/nmtui/nm-editor-utils.c:205
+#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:6058
+#: src/libnm-client-impl/nm-device.c:1785
+#: src/libnm-core-impl/nm-connection.c:3241 src/nmtui/nm-editor-utils.c:205
msgid "Bridge"
msgstr "Brücke"
-#: src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c:8755
+#: src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c:9024
#: src/libnm-core-impl/nm-team-utils.c:2391
-#, fuzzy
msgid "invalid json"
-msgstr "Ungültige Aktion: "
+msgstr "Ungültiges json"
-#: src/libnm-client-impl/nm-client.c:3801
+#: src/libnm-client-impl/nm-client.c:3816
#, c-format
msgid "request succeeded with %s but object is in an unsuitable state"
msgstr ""
+"Anfrage war erfolgreich mit %s, aber das Objekt ist in einem ungeeigneten "
+"Zustand"
-#: src/libnm-client-impl/nm-client.c:3893
+#: src/libnm-client-impl/nm-client.c:3908
#, c-format
msgid "operation succeeded but object %s does not exist"
-msgstr ""
+msgstr "Der Vorgang war erfolgreich, aber das Objekt %s ist nicht vorhanden"
-#: src/libnm-client-impl/nm-conn-utils.c:33
-#, fuzzy, c-format
+#: src/libnm-client-impl/nm-conn-utils.c:40
+#, c-format
msgid "Invalid peer starting at %s:%zu: %s"
-msgstr "Ungültiger Einstellungsname »%s«"
+msgstr ""
-#: src/libnm-client-impl/nm-conn-utils.c:164
+#: src/libnm-client-impl/nm-conn-utils.c:171
msgid ""
-"The name of the WireGuard config must be a valid interface name followed by "
-"\".conf\""
+"The name of the WireGuard config must be a valid interface name followed by \"."
+"conf\""
msgstr ""
+"Der Name der WireGuard-Konfiguration muss ein gültiger Schnittstellenname "
+"sein, gefolgt von ».conf«"
-#: src/libnm-client-impl/nm-conn-utils.c:448
+#: src/libnm-client-impl/nm-conn-utils.c:454
#, c-format
msgid "unrecognized line at %s:%zu"
-msgstr ""
+msgstr "Nicht erkannte Zeile bei %s:%zu"
-#: src/libnm-client-impl/nm-conn-utils.c:455
-#, fuzzy, c-format
+#: src/libnm-client-impl/nm-conn-utils.c:461
+#, c-format
msgid "invalid value for '%s' at %s:%zu"
-msgstr "Ungültiger Wert für »%s«: %s"
+msgstr "Ungültiger Wert für »%s« bei %s:%zu"
-#: src/libnm-client-impl/nm-conn-utils.c:463
-#, fuzzy, c-format
+#: src/libnm-client-impl/nm-conn-utils.c:469
+#, c-format
msgid "invalid secret '%s' at %s:%zu"
-msgstr "Ungültige Route: %s. %s"
+msgstr "Ungültiges Geheimnis »%s« bei %s:%zu"
-#: src/libnm-client-impl/nm-conn-utils.c:587
-#, fuzzy, c-format
+#: src/libnm-client-impl/nm-conn-utils.c:593
+#, c-format
msgid "Failed to create WireGuard connection: %s"
-msgstr "Fehler: Neue Verbindung konnte nicht hinzugefügt/aktiviert werden: %s"
+msgstr ""
#: src/libnm-client-impl/nm-device-adsl.c:66
msgid "The connection was not an ADSL connection."
@@ -798,18 +775,17 @@ msgstr ""
"Die Bluetooth-Adressen des Geräts und der Verbindung stimmen nicht überein."
#: src/libnm-client-impl/nm-device-bt.c:173
-msgid ""
-"The device is lacking Bluetooth capabilities required by the connection."
+msgid "The device is lacking Bluetooth capabilities required by the connection."
msgstr ""
-"Dem Gerät fehlen Bluetooth-Fähigkeiten, die für die Verbindung notwendig "
-"sind."
+"Dem Gerät fehlen Bluetooth-Fähigkeiten, die für die Verbindung notwendig sind."
-#: src/libnm-client-impl/nm-device-dummy.c:65
+#: src/libnm-client-impl/nm-device-dummy.c:62
msgid "The connection was not a dummy connection."
msgstr "Die Verbindung war keine Platzhalter-Verbindung."
-#: src/libnm-client-impl/nm-device-dummy.c:74
+#: src/libnm-client-impl/nm-device-dummy.c:71
#: src/libnm-client-impl/nm-device-generic.c:89
+#: src/libnm-client-impl/nm-device-loopback.c:50
#: src/libnm-client-impl/nm-device-ovs-bridge.c:83
#: src/libnm-client-impl/nm-device-ovs-interface.c:57
#: src/libnm-client-impl/nm-device-ovs-port.c:83
@@ -861,23 +837,27 @@ msgstr "Ungültige MAC-Adresse des Geräts."
msgid "The MACs of the device and the connection didn't match."
msgstr "Die MAC-Adressen des Geräts und der Verbindung stimmen nicht überein."
-#: src/libnm-client-impl/nm-device-ip-tunnel.c:266
+#: src/libnm-client-impl/nm-device-ip-tunnel.c:285
msgid "The connection was not an IP tunnel connection."
msgstr "Die Verbindung war keine IP-Tunnel-Verbindung."
+#: src/libnm-client-impl/nm-device-loopback.c:41
+msgid "The connection was not a loopback connection."
+msgstr "Die Verbindung war keine Loopback-Verbindung."
+
#: src/libnm-client-impl/nm-device-macvlan.c:151
msgid "The connection was not a MAC-VLAN connection."
msgstr "Die Verbindung war keine MAC-VLAN-Verbindung."
-#: src/libnm-client-impl/nm-device-modem.c:179
+#: src/libnm-client-impl/nm-device-modem.c:181
msgid "The connection was not a modem connection."
msgstr "Die Verbindung war keine Modem-Verbindung."
-#: src/libnm-client-impl/nm-device-modem.c:189
+#: src/libnm-client-impl/nm-device-modem.c:191
msgid "The connection was not a valid modem connection."
msgstr "Die Verbindung war keine gültige Modem-Verbindung."
-#: src/libnm-client-impl/nm-device-modem.c:198
+#: src/libnm-client-impl/nm-device-modem.c:200
msgid "The device is lacking capabilities required by the connection."
msgstr "Dem Gerät fehlen Fähigkeiten, die für die Verbindung notwendig sind."
@@ -915,8 +895,7 @@ msgstr "Die Verbindung war keine VLAN-Verbindung."
#: src/libnm-client-impl/nm-device-vlan.c:131
msgid "The VLAN identifiers of the device and the connection didn't match."
-msgstr ""
-"Die VLAN-Bezeichner des Geräts und der Verbindung stimmen nicht überein."
+msgstr "Die VLAN-Bezeichner des Geräts und der Verbindung stimmen nicht überein."
#: src/libnm-client-impl/nm-device-vlan.c:148
msgid "The hardware address of the device and the connection didn't match."
@@ -924,14 +903,12 @@ msgstr ""
"Die Hardware-Adresse des Geräts und die Verbindung stimmen nicht überein."
#: src/libnm-client-impl/nm-device-vrf.c:65
-#, fuzzy
msgid "The connection was not a VRF connection."
-msgstr "Die Verbindung war keine VLAN-Verbindung."
+msgstr "Die Verbindung war keine VRF-Verbindung."
#: src/libnm-client-impl/nm-device-vrf.c:74
-#, fuzzy
msgid "The VRF table of the device and the connection didn't match."
-msgstr "Der Gerätemodus und die Verbindung passen nicht zusammen"
+msgstr "Der VRF-Tabelle des Gerätes und die Verbindung passten nicht zusammen."
#: src/libnm-client-impl/nm-device-vxlan.c:383
msgid "The connection was not a VXLAN connection."
@@ -943,9 +920,8 @@ msgstr ""
"Die VXLAN-Bezeichner des Geräts und der Verbindung stimmen nicht überein."
#: src/libnm-client-impl/nm-device-wifi-p2p.c:266
-#, fuzzy
msgid "The connection was not a Wi-Fi P2P connection."
-msgstr "Die Verbindung war keine WLAN-Verbindung."
+msgstr "Die Verbindung war keine WLAN P2P-Verbindung."
#: src/libnm-client-impl/nm-device-wifi.c:470
msgid "The connection was not a Wi-Fi connection."
@@ -953,147 +929,152 @@ msgstr "Die Verbindung war keine WLAN-Verbindung."
#: src/libnm-client-impl/nm-device-wifi.c:511
msgid "The device is lacking WPA capabilities required by the connection."
-msgstr ""
-"Dem Gerät fehlen WPA-Fähigkeiten, die für die Verbindung notwendig sind."
+msgstr "Dem Gerät fehlen WPA-Fähigkeiten, die für die Verbindung notwendig sind."
#: src/libnm-client-impl/nm-device-wifi.c:521
msgid "The device is lacking WPA2/RSN capabilities required by the connection."
msgstr ""
"Dem Gerät fehlen WPA2/RSN-Fähigkeiten, die für die Verbindung notwendig sind."
-#: src/libnm-client-impl/nm-device-wpan.c:57
+#: src/libnm-client-impl/nm-device-wpan.c:38
msgid "The connection was not a wpan connection."
msgstr "Die Verbindung war keine wpan-Verbindung."
-#: src/libnm-client-impl/nm-device.c:1759 src/nmtui/nm-editor-utils.c:144
+#: src/libnm-client-impl/nm-device.c:1761 src/nmtui/nm-editor-utils.c:144
msgid "Ethernet"
msgstr "Ethernet"
-#: src/libnm-client-impl/nm-device.c:1761 src/nmtui/nm-editor-utils.c:160
+#: src/libnm-client-impl/nm-device.c:1763 src/nmtui/nm-editor-utils.c:160
+#: src/nmtui/nmtui-radio.c:58
msgid "Wi-Fi"
msgstr "WLAN"
-#: src/libnm-client-impl/nm-device.c:1763
+#: src/libnm-client-impl/nm-device.c:1765
msgid "Bluetooth"
msgstr "Bluetooth"
-#: src/libnm-client-impl/nm-device.c:1765
+#: src/libnm-client-impl/nm-device.c:1767
msgid "OLPC Mesh"
msgstr "OLPC-Mesh"
# "öffnen" oder "offen" ?
-#: src/libnm-client-impl/nm-device.c:1767
-#, fuzzy
+#: src/libnm-client-impl/nm-device.c:1769
msgid "Open vSwitch Interface"
-msgstr "OpenVSwitch-Schnittstelle"
+msgstr "VSwitch-Schnittstelle öffnen"
-#: src/libnm-client-impl/nm-device.c:1769
-#, fuzzy
+#: src/libnm-client-impl/nm-device.c:1771
msgid "Open vSwitch Port"
-msgstr "OpenVSwitch-Port"
+msgstr "vSwitch-Port öffnen"
-#: src/libnm-client-impl/nm-device.c:1771
-#, fuzzy
+#: src/libnm-client-impl/nm-device.c:1773
msgid "Open vSwitch Bridge"
-msgstr "OpenVSwitch-Brücke"
+msgstr "vSwitch-Brücke öffnen"
-#: src/libnm-client-impl/nm-device.c:1773
+#: src/libnm-client-impl/nm-device.c:1775
msgid "WiMAX"
msgstr "WiMAX"
-#: src/libnm-client-impl/nm-device.c:1775 src/nmtui/nm-editor-utils.c:178
+#: src/libnm-client-impl/nm-device.c:1777 src/nmtui/nm-editor-utils.c:178
msgid "Mobile Broadband"
msgstr "Mobiles Breitband"
-#: src/libnm-client-impl/nm-device.c:1777
-#: src/libnm-core-impl/nm-connection.c:3180 src/nmtui/nm-editor-utils.c:169
+#: src/libnm-client-impl/nm-device.c:1779
+#: src/libnm-core-impl/nm-connection.c:3245 src/nmtui/nm-editor-utils.c:169
msgid "InfiniBand"
msgstr "InfiniBand"
-#: src/libnm-client-impl/nm-device.c:1785
-#: src/libnm-core-impl/nm-connection.c:3178 src/nmtui/nm-editor-utils.c:223
+#: src/libnm-client-impl/nm-device.c:1787
+#: src/libnm-core-impl/nm-connection.c:3243 src/nmtui/nm-editor-utils.c:223
#: src/nmtui/nmt-page-vlan.c:57
msgid "VLAN"
msgstr "VLAN"
-#: src/libnm-client-impl/nm-device.c:1787
+#: src/libnm-client-impl/nm-device.c:1789
msgid "ADSL"
msgstr "ADSL"
-#: src/libnm-client-impl/nm-device.c:1789
+#: src/libnm-client-impl/nm-device.c:1791
msgid "MACVLAN"
msgstr "MACVLAN"
# virtuelles LAN, z.B. in virtualisierten Umgebungen
-#: src/libnm-client-impl/nm-device.c:1791
+#: src/libnm-client-impl/nm-device.c:1793
msgid "VXLAN"
msgstr "VXLAN"
-#: src/libnm-client-impl/nm-device.c:1793
+#: src/libnm-client-impl/nm-device.c:1795
msgid "IPTunnel"
msgstr "IP-Tunnel"
-#: src/libnm-client-impl/nm-device.c:1795
+#: src/libnm-client-impl/nm-device.c:1797
msgid "Tun"
msgstr "Tun"
# Hier stimmt was nicht.
# Steht das evtl für "virtuelles Ethernet"? k.a.
-#: src/libnm-client-impl/nm-device.c:1797 src/nmtui/nm-editor-utils.c:152
+#: src/libnm-client-impl/nm-device.c:1799 src/nmtui/nm-editor-utils.c:152
msgid "Veth"
msgstr "Veth"
-#: src/libnm-client-impl/nm-device.c:1799
+#: src/libnm-client-impl/nm-device.c:1801 src/nmtui/nm-editor-utils.c:239
+#: src/nmtui/nmt-page-macsec.c:99
msgid "MACsec"
msgstr "MACsec"
-#: src/libnm-client-impl/nm-device.c:1801
+#: src/libnm-client-impl/nm-device.c:1803
msgid "Dummy"
msgstr "Platzhalter"
-#: src/libnm-client-impl/nm-device.c:1803
+#: src/libnm-client-impl/nm-device.c:1805
msgid "PPP"
msgstr "PPP"
-#: src/libnm-client-impl/nm-device.c:1805
+#: src/libnm-client-impl/nm-device.c:1807
msgid "IEEE 802.15.4"
msgstr "IEEE 802.15.4"
-#: src/libnm-client-impl/nm-device.c:1807
+#: src/libnm-client-impl/nm-device.c:1809
msgid "6LoWPAN"
msgstr "6LoWPAN"
-#: src/libnm-client-impl/nm-device.c:1809
-#: src/libnm-core-impl/nm-connection.c:3186 src/nmtui/nm-editor-utils.c:263
+#: src/libnm-client-impl/nm-device.c:1811
+#: src/libnm-core-impl/nm-connection.c:3251 src/nmtui/nm-editor-utils.c:271
#: src/nmtui/nmt-page-wireguard.c:57
msgid "WireGuard"
msgstr "WireGuard"
-#: src/libnm-client-impl/nm-device.c:1811
-#, fuzzy
+#: src/libnm-client-impl/nm-device.c:1813
msgid "Wi-Fi P2P"
-msgstr "WLAN"
+msgstr "WLAN P2P"
-#: src/libnm-client-impl/nm-device.c:1813
+#: src/libnm-client-impl/nm-device.c:1815
msgid "VRF"
+msgstr "VRF"
+
+#: src/libnm-client-impl/nm-device.c:1817
+msgid "Loopback"
+msgstr "Loopback"
+
+#: src/libnm-client-impl/nm-device.c:1819
+msgid "HSR"
msgstr ""
#. TRANSLATORS: Unknown reason for a device state change (NMDeviceStateReason)
#. TRANSLATORS: Unknown reason for a connection state change (NMActiveConnectionStateReason)
-#: src/libnm-client-impl/nm-device.c:1820 src/libnmc-base/nm-client-utils.c:352
-#: src/libnmc-base/nm-client-utils.c:473
+#: src/libnm-client-impl/nm-device.c:1826 src/libnmc-base/nm-client-utils.c:352
+#: src/libnmc-base/nm-client-utils.c:473 src/nmcli/utils.c:1841
msgid "Unknown"
msgstr "Unbekannt"
-#: src/libnm-client-impl/nm-device.c:1845
+#: src/libnm-client-impl/nm-device.c:1851
msgid "Wired"
msgstr "Kabelgebunden"
-#: src/libnm-client-impl/nm-device.c:1877
+#: src/libnm-client-impl/nm-device.c:1883
msgid "PCI"
msgstr "PCI"
-#: src/libnm-client-impl/nm-device.c:1879
+#: src/libnm-client-impl/nm-device.c:1885
msgid "USB"
msgstr "USB"
@@ -1103,977 +1084,1042 @@ msgstr "USB"
#. * "%2$s (%1$s)" if there's no grammatical way to combine
#. * the strings otherwise.
#.
-#: src/libnm-client-impl/nm-device.c:2178
-#: src/libnm-client-impl/nm-device.c:2197
+#: src/libnm-client-impl/nm-device.c:2184 src/libnm-client-impl/nm-device.c:2203
#, c-format
msgctxt "long device name"
msgid "%s %s"
msgstr "%s %s"
-#: src/libnm-client-impl/nm-device.c:2857
+#: src/libnm-client-impl/nm-device.c:2863
#, c-format
msgid "The connection was not valid: %s"
msgstr "Die Verbindung war ungültig: %s"
-#: src/libnm-client-impl/nm-device.c:2869
+#: src/libnm-client-impl/nm-device.c:2875
+#, fuzzy
+#| msgid "The interface names of the device and the connection didn't match."
msgid "The interface names of the device and the connection didn't match"
msgstr ""
"Die Schnittstellennamen des Geräts und der Verbindung stimmen nicht überein."
#: src/libnm-client-impl/nm-secret-agent-old.c:1384
-#, fuzzy
msgid "registration failed"
-msgstr "Netzwerkanmeldung abgelehnt"
+msgstr "Registrierung fehlgeschlagen"
-#: src/libnm-client-impl/nm-vpn-plugin-old.c:817
-#: src/libnm-client-impl/nm-vpn-service-plugin.c:1025
+#: src/libnm-client-impl/nm-vpn-plugin-old.c:807
+#: src/libnm-client-impl/nm-vpn-service-plugin.c:1055
msgid "No service name specified"
msgstr "Es wurde kein Dienstname angegeben"
#: src/libnm-core-aux-extern/nm-libnm-core-aux.c:287
-#, fuzzy, c-format
+#, c-format
msgid "'%s' is not valid: properties should be specified as 'key=value'"
-msgstr "»%s« ist ungültig. 2 oder 3 Zeichenketten müssen angegeben werden"
+msgstr ""
+"»%s« ist ungültig. Eigenschaften müssen als »Schlüssel=Wert« angegeben werden"
#: src/libnm-core-aux-extern/nm-libnm-core-aux.c:301
-#, fuzzy, c-format
+#, c-format
msgid "'%s' is not a valid key"
-msgstr "»%s« ist kein gültiges Band"
+msgstr "»%s« ist kein gültiger Schlüssel"
#: src/libnm-core-aux-extern/nm-libnm-core-aux.c:306
-#, fuzzy, c-format
+#, c-format
msgid "duplicate key '%s'"
-msgstr "doppelte VF-Index %u"
+msgstr "doppelte Schlüssel »%s«"
#: src/libnm-core-aux-extern/nm-libnm-core-aux.c:320
-#, fuzzy, c-format
+#, c-format
msgid "number for '%s' is out of range"
-msgstr "»%s« ist außerhalb des Bereichs [0, %u]"
+msgstr "»%s« ist außerhalb des Bereichs"
#: src/libnm-core-aux-extern/nm-libnm-core-aux.c:325
-#, fuzzy, c-format
+#, c-format
msgid "value for '%s' must be a number"
-msgstr "»%s« ist keine Zahl"
+msgstr "Der Wert »%s« muss eine Zahl sein"
#: src/libnm-core-aux-extern/nm-libnm-core-aux.c:338
#, c-format
msgid "value for '%s' must be a boolean"
-msgstr ""
+msgstr "Der Wert für »%s« muss ein Boolean sein"
#: src/libnm-core-aux-extern/nm-libnm-core-aux.c:347
-#, fuzzy
msgid "missing 'name' attribute"
-msgstr "fehlende Einstellung"
+msgstr "Das Attribut »name« fehlt"
#: src/libnm-core-aux-extern/nm-libnm-core-aux.c:356
-#, fuzzy, c-format
+#, c-format
msgid "invalid 'name' \"%s\""
-msgstr "ungültiger Runner »%s«"
+msgstr "ungültiger »Name« »%s«"
#: src/libnm-core-aux-extern/nm-libnm-core-aux.c:369
-#, fuzzy, c-format
+#, c-format
msgid "attribute '%s' is invalid for \"%s\""
-msgstr "Parameter ist für eine IPv4-Route ungültig"
+msgstr "Attribut »%s« ist ungültig für »%s«"
-#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:410
-#, fuzzy
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:425
msgid "property cannot be an empty string"
-msgstr "Diese Eigenschaft darf nicht für »%s=%s« leer sein"
+msgstr "Die Eigenschaft darf keine leere Zeichenkette sein"
-#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:427
-#, fuzzy
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:442
msgid "property cannot be longer than 255 bytes"
-msgstr "Die Einstellung konnte nicht geändert werden"
+msgstr "Die Eigenschaft darf nicht länger als 255 Byte sein"
-#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:438
-#, fuzzy
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:453
msgid "property cannot contain any nul bytes"
-msgstr "die Eigenschaft darf nur Ziffern enthalten"
+msgstr "Die Eigenschaft darf keine nul-Byte enthalten"
+
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:674
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:82
+#: src/libnm-core-impl/nm-setting-user.c:93
+msgid "missing key"
+msgstr "Schlüssel fehlt"
-#: src/libnm-core-impl/nm-connection.c:455
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:682
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:90
+#: src/libnm-core-impl/nm-setting-user.c:101
+msgid "key is too long"
+msgstr "Der Schlüssel ist zu lang"
+
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:689
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:97
+#: src/libnm-core-impl/nm-setting-user.c:108
+msgid "key must be UTF8"
+msgstr "Schlüssel muss in UTF-8 vorliegen"
+
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:698
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:106
+#: src/libnm-core-impl/nm-setting-user.c:155
+msgid "key contains invalid characters"
+msgstr "Schlüssel enthält ungültige Zeichen"
+
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:726
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:195
+#: src/libnm-core-impl/nm-setting-user.c:182
+msgid "value is missing"
+msgstr "Wert fehlt"
+
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:735
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:204
+#: src/libnm-core-impl/nm-setting-user.c:191
+msgid "value is too large"
+msgstr "Wert ist zu groß"
+
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:743
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:212
+#: src/libnm-core-impl/nm-setting-user.c:199
+msgid "value is not valid UTF8"
+msgstr "Wert ist kein gültiges UTF-8"
+
+#: src/libnm-core-impl/nm-connection.c:424
msgid "wrong type; should be a list of strings."
msgstr "falscher Typ. Sollte eine Liste von Zeichenketten sein."
-#: src/libnm-core-impl/nm-connection.c:544
+#: src/libnm-core-impl/nm-connection.c:513
msgid "unknown setting name"
msgstr "Unbekannter Einstellungsname"
-#: src/libnm-core-impl/nm-connection.c:556
+#: src/libnm-core-impl/nm-connection.c:525
msgid "duplicate setting name"
msgstr "Doppelter Einstellungsname"
-#: src/libnm-core-impl/nm-connection.c:957
-#, fuzzy
+#: src/libnm-core-impl/nm-connection.c:941
msgid "has an invalid UUID"
-msgstr "Ungültige DUID"
+msgstr "hat eine ungültige UUID"
-#: src/libnm-core-impl/nm-connection.c:962
+#: src/libnm-core-impl/nm-connection.c:946
msgid "has a UUID that requires normalization"
msgstr ""
-#: src/libnm-core-impl/nm-connection.c:967
-#, fuzzy
+#: src/libnm-core-impl/nm-connection.c:951
msgid "has duplicate UUIDs"
-msgstr "Doppelte Eigenschaft"
+msgstr "hat mehrfache UUIDs"
-#: src/libnm-core-impl/nm-connection.c:1805
+#: src/libnm-core-impl/nm-connection.c:1839
msgid "setting not found"
msgstr "Einstellung nicht gefunden"
-#: src/libnm-core-impl/nm-connection.c:1859
-#: src/libnm-core-impl/nm-connection.c:1884
-#: src/libnm-core-impl/nm-connection.c:1909
+#: src/libnm-core-impl/nm-connection.c:1893
+#: src/libnm-core-impl/nm-connection.c:1918
+#: src/libnm-core-impl/nm-connection.c:1943
msgid "setting is required for non-slave connections"
msgstr "Einstellung ist für Nicht-Slave-Verbindungen notwendig"
-#: src/libnm-core-impl/nm-connection.c:1872
-#: src/libnm-core-impl/nm-connection.c:1897
-#: src/libnm-core-impl/nm-connection.c:1922
+#: src/libnm-core-impl/nm-connection.c:1906
+#: src/libnm-core-impl/nm-connection.c:1931
+#: src/libnm-core-impl/nm-connection.c:1956
msgid "setting not allowed in slave connection"
msgstr "Die Einstellung ist nicht erlaubt für eine Slave-Verbindung"
-#: src/libnm-core-impl/nm-connection.c:2032
+#: src/libnm-core-impl/nm-connection.c:2068
msgid "Unexpected failure to normalize the connection"
msgstr "Unerwarteter Fehler beim Normalisieren der Verbindung"
-#: src/libnm-core-impl/nm-connection.c:2093
+#: src/libnm-core-impl/nm-connection.c:2129
msgid "Unexpected failure to verify the connection"
msgstr "Unerwarteter Fehler beim Überprüfen der Verbindung"
-#: src/libnm-core-impl/nm-connection.c:2130
+#: src/libnm-core-impl/nm-connection.c:2166
#, c-format
msgid "unexpected uuid %s instead of %s"
msgstr ""
-#: src/libnm-core-impl/nm-connection.c:3031
-#: src/libnm-core-impl/nm-setting-8021x.c:2607
-#: src/libnm-core-impl/nm-setting-8021x.c:2644
-#: src/libnm-core-impl/nm-setting-8021x.c:2662
-#: src/libnm-core-impl/nm-setting-8021x.c:2797
-#: src/libnm-core-impl/nm-setting-adsl.c:173
-#: src/libnm-core-impl/nm-setting-bluetooth.c:128
-#: src/libnm-core-impl/nm-setting-bluetooth.c:192
-#: src/libnm-core-impl/nm-setting-bluetooth.c:209
-#: src/libnm-core-impl/nm-setting-cdma.c:144
-#: src/libnm-core-impl/nm-setting-connection.c:1149
-#: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1530
-#: src/libnm-core-impl/nm-setting-ip-config.c:5423
-#: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
-#: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
+#: src/libnm-core-impl/nm-connection.c:3095
+#: src/libnm-core-impl/nm-setting-8021x.c:2621
+#: src/libnm-core-impl/nm-setting-8021x.c:2658
+#: src/libnm-core-impl/nm-setting-8021x.c:2676
+#: src/libnm-core-impl/nm-setting-8021x.c:2814
+#: src/libnm-core-impl/nm-setting-adsl.c:171
+#: src/libnm-core-impl/nm-setting-bluetooth.c:126
+#: src/libnm-core-impl/nm-setting-bluetooth.c:190
+#: src/libnm-core-impl/nm-setting-bluetooth.c:207
+#: src/libnm-core-impl/nm-setting-cdma.c:142
+#: src/libnm-core-impl/nm-setting-connection.c:1210
+#: src/libnm-core-impl/nm-setting-connection.c:1248
+#: src/libnm-core-impl/nm-setting-connection.c:1577
+#: src/libnm-core-impl/nm-setting-ip-config.c:5480
+#: src/libnm-core-impl/nm-setting-ip-tunnel.c:405
+#: src/libnm-core-impl/nm-setting-olpc-mesh.c:97
#: src/libnm-core-impl/nm-setting-ovs-patch.c:75
-#: src/libnm-core-impl/nm-setting-pppoe.c:146
-#: src/libnm-core-impl/nm-setting-vpn.c:546
+#: src/libnm-core-impl/nm-setting-pppoe.c:144
+#: src/libnm-core-impl/nm-setting-vpn.c:545
#: src/libnm-core-impl/nm-setting-wifi-p2p.c:119
-#: src/libnm-core-impl/nm-setting-wimax.c:108
-#: src/libnm-core-impl/nm-setting-wireless-security.c:916
-#: src/libnm-core-impl/nm-setting-wireless.c:841
+#: src/libnm-core-impl/nm-setting-wimax.c:106
+#: src/libnm-core-impl/nm-setting-wireless-security.c:912
+#: src/libnm-core-impl/nm-setting-wireless.c:895
msgid "property is missing"
msgstr "Eigenschaft fehlt"
-#: src/libnm-core-impl/nm-connection.c:3184
+#: src/libnm-core-impl/nm-connection.c:3249
msgid "IP Tunnel"
msgstr "IP-Tunnel"
-#: src/libnm-core-impl/nm-connection.c:3188
+#: src/libnm-core-impl/nm-connection.c:3253
msgid "TUN/TAP"
-msgstr ""
-
-#: src/libnm-core-impl/nm-dbus-utils.c:181
-#, c-format
-msgid "Method returned type '%s', but expected '%s'"
-msgstr "Methode gab den Typ »%s« zurück, aber »%s« wurde erwartet"
+msgstr "TUN/TAP"
#: src/libnm-core-impl/nm-keyfile-utils.c:174
msgid "Value cannot be interpreted as a list of numbers."
-msgstr ""
+msgstr "Der Wert kann nicht als eine Liste mit Zahlen interpretiert werden."
#: src/libnm-core-impl/nm-keyfile-utils.c:303
-#, fuzzy, c-format
+#, c-format
msgid "value is not an integer in range [%lld, %lld]"
-msgstr "»%s« ist außerhalb des Bereichs [%lli, %lli]"
+msgstr "der Wert ist keine Ganzzahl innerhalb des Bereichs [%lld, %lld]"
-#: src/libnm-core-impl/nm-keyfile.c:331
+#: src/libnm-core-impl/nm-keyfile.c:333
msgid "ignoring missing number"
msgstr "fehlende Zahl wird ignoriert"
-#: src/libnm-core-impl/nm-keyfile.c:343
+#: src/libnm-core-impl/nm-keyfile.c:345
#, c-format
msgid "ignoring invalid number '%s'"
msgstr "Ungültige Zahl »%s« wird ignoriert"
-#: src/libnm-core-impl/nm-keyfile.c:372
+#: src/libnm-core-impl/nm-keyfile.c:374
#, c-format
msgid "ignoring invalid %s address: %s"
msgstr "Ungültige %s-Adresse wird ignoriert: %s"
-#: src/libnm-core-impl/nm-keyfile.c:418
+#: src/libnm-core-impl/nm-keyfile.c:420
#, c-format
msgid "ignoring invalid gateway '%s' for %s route"
msgstr "Ungültiges Gateway »%s« für Route %s wird ignoriert"
-#: src/libnm-core-impl/nm-keyfile.c:440
+#: src/libnm-core-impl/nm-keyfile.c:442
#, c-format
msgid "ignoring invalid %s route: %s"
msgstr "Ungültige %s-Route wird ignoriert: %s"
-#: src/libnm-core-impl/nm-keyfile.c:618
+#: src/libnm-core-impl/nm-keyfile.c:620
#, c-format
msgid "unexpected character '%c' for address %s: '%s' (position %td)"
msgstr "unerwartetes Zeichen »%c« für Adresse %s: »%s« (Position %td)"
-#: src/libnm-core-impl/nm-keyfile.c:634
+#: src/libnm-core-impl/nm-keyfile.c:636
#, c-format
msgid "unexpected character '%c' for %s: '%s' (position %td)"
msgstr "unerwartetes Zeichen »%c« für %s: »%s« (Position %td)"
-#: src/libnm-core-impl/nm-keyfile.c:650
+#: src/libnm-core-impl/nm-keyfile.c:652
#, c-format
msgid "unexpected character '%c' in prefix length for %s: '%s' (position %td)"
msgstr "unerwartetes Zeichen »%c« in Präfixlänge für %s: »%s« (Position %td)"
-#: src/libnm-core-impl/nm-keyfile.c:667
+#: src/libnm-core-impl/nm-keyfile.c:669
#, c-format
msgid "garbage at the end of value %s: '%s'"
msgstr "Unsinn am Ende von Wert %s: »%s«"
-#: src/libnm-core-impl/nm-keyfile.c:677
+#: src/libnm-core-impl/nm-keyfile.c:679
#, c-format
msgid "deprecated semicolon at the end of value %s: '%s'"
msgstr "veraltetes Semikolon am Ende von Wert %s: »%s«"
-#: src/libnm-core-impl/nm-keyfile.c:696
+#: src/libnm-core-impl/nm-keyfile.c:698
#, c-format
msgid "invalid prefix length for %s '%s', defaulting to %d"
msgstr "ungültige Präfixlänge für %s »%s«. Vorgabe %d wird verwendet"
-#: src/libnm-core-impl/nm-keyfile.c:708
+#: src/libnm-core-impl/nm-keyfile.c:710
#, c-format
msgid "missing prefix length for %s '%s', defaulting to %d"
msgstr "fehlende Präfixlänge für %s »%s«. Vorgabe %d wird verwendet"
-#: src/libnm-core-impl/nm-keyfile.c:1051
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:320
-#: src/libnm-core-impl/nm-setting-user.c:364
+#: src/libnm-core-impl/nm-keyfile.c:1053
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:370
+#: src/libnm-core-impl/nm-setting-ovs-other-config.c:208
+#: src/libnm-core-impl/nm-setting-user.c:368
#, c-format
msgid "invalid value for \"%s\": %s"
msgstr "Ungültiger Wert für »%s«: %s"
-#: src/libnm-core-impl/nm-keyfile.c:1129
+#: src/libnm-core-impl/nm-keyfile.c:1140
#, c-format
msgid "ignoring invalid DNS server IPv%c address '%s'"
msgstr "Ungültige DNS-Server IPv%c-Adresse »%s« wird ignoriert"
-#: src/libnm-core-impl/nm-keyfile.c:1166
-#: src/libnmc-setting/nm-meta-setting-desc.c:1669
+#: src/libnm-core-impl/nm-keyfile.c:1177
+#: src/libnmc-setting/nm-meta-setting-desc.c:1678
#, c-format
msgid "invalid option '%s', use one of [%s]"
msgstr "ungültige Option »%s«. Verwenden Sie eine aus [%s]"
-#: src/libnm-core-impl/nm-keyfile.c:1241
+#: src/libnm-core-impl/nm-keyfile.c:1257
msgid "ignoring invalid MAC address"
msgstr "Ungültige MAC-Adresse wird ignoriert"
-#: src/libnm-core-impl/nm-keyfile.c:1317
+#: src/libnm-core-impl/nm-keyfile.c:1333
#, fuzzy, c-format
+#| msgid "ignoring invalid %s address: %s"
msgid "ignoring invalid bond option %s%s%s = %s%s%s: %s"
msgstr "Ungültige %s-Adresse wird ignoriert: %s"
-#: src/libnm-core-impl/nm-keyfile.c:1507
+#: src/libnm-core-impl/nm-keyfile.c:1523
msgid "ignoring invalid SSID"
msgstr "ungültige SSID wird ignoriert"
-#: src/libnm-core-impl/nm-keyfile.c:1525
+#: src/libnm-core-impl/nm-keyfile.c:1541
msgid "ignoring invalid raw password"
msgstr "ungültiges Rohpasswort wird ignoriert"
-#: src/libnm-core-impl/nm-keyfile.c:1670
+#: src/libnm-core-impl/nm-keyfile.c:1686
msgid "invalid key/cert value"
msgstr "ungültiger Wert für Schlüssel/Zertifikat"
-#: src/libnm-core-impl/nm-keyfile.c:1685
+#: src/libnm-core-impl/nm-keyfile.c:1701
#, c-format
msgid "invalid key/cert value path \"%s\""
msgstr "ungültiges Schlüssel/Zertifikat-Wertepaar »%s«"
-#: src/libnm-core-impl/nm-keyfile.c:1710 src/libnm-core-impl/nm-keyfile.c:1807
+#: src/libnm-core-impl/nm-keyfile.c:1726 src/libnm-core-impl/nm-keyfile.c:1823
#, c-format
msgid "certificate or key file '%s' does not exist"
msgstr "Zertifikat oder Schlüsseldatei »%s« ist nicht vorhanden"
-#: src/libnm-core-impl/nm-keyfile.c:1723
+#: src/libnm-core-impl/nm-keyfile.c:1739
#, c-format
msgid "invalid PKCS#11 URI \"%s\""
msgstr "ungültige PKCS#11-Adresse »%s«"
-#: src/libnm-core-impl/nm-keyfile.c:1769
+#: src/libnm-core-impl/nm-keyfile.c:1785
msgid "invalid key/cert value data:;base64, is not base64"
-msgstr "ungültige Schlüssel- / cert-Wertdaten:; base64, ist nicht base64"
+msgstr ""
-#: src/libnm-core-impl/nm-keyfile.c:1782
+#: src/libnm-core-impl/nm-keyfile.c:1798
msgid "invalid key/cert value data:;base64,file://"
-msgstr "ungültige Schlüssel- / cert-Wertdaten:; base64, file: //"
+msgstr ""
-#: src/libnm-core-impl/nm-keyfile.c:1823
+#: src/libnm-core-impl/nm-keyfile.c:1839
msgid "invalid key/cert value is not a valid blob"
msgstr "ungültiger Wert für Schlüssel/Zertifikat ist kein gültiger blob"
-#: src/libnm-core-impl/nm-keyfile.c:1925
+#: src/libnm-core-impl/nm-keyfile.c:1941
#, c-format
msgid "invalid parity value '%s'"
msgstr "ungültiger Paritätswert »%s«"
-#: src/libnm-core-impl/nm-keyfile.c:1947 src/libnm-core-impl/nm-keyfile.c:3441
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-keyfile.c:1963 src/libnm-core-impl/nm-keyfile.c:3545
+#, c-format
msgid "invalid setting: %s"
-msgstr "Ungültiger Einstellungsname »%s«"
+msgstr "Ungültige Einstellung: %s"
-#: src/libnm-core-impl/nm-keyfile.c:1967
+#: src/libnm-core-impl/nm-keyfile.c:1983
#, c-format
msgid "ignoring invalid team configuration: %s"
msgstr "Ungültige Team-Konfiguration wird ignoriert: %s"
-#: src/libnm-core-impl/nm-keyfile.c:2050
+#: src/libnm-core-impl/nm-keyfile.c:2104
#, c-format
msgid "invalid qdisc: %s"
msgstr "ungültiges qdisc: %s"
-#: src/libnm-core-impl/nm-keyfile.c:2100
+#: src/libnm-core-impl/nm-keyfile.c:2154
#, c-format
msgid "invalid tfilter: %s"
msgstr "ungültiger tfilter: %s"
-#: src/libnm-core-impl/nm-keyfile.c:3266
+#: src/libnm-core-impl/nm-keyfile.c:3370
#, c-format
msgid "error loading setting value: %s"
msgstr "Fehler beim Laden des Einstellungswerts: %s"
-#: src/libnm-core-impl/nm-keyfile.c:3297 src/libnm-core-impl/nm-keyfile.c:3309
-#: src/libnm-core-impl/nm-keyfile.c:3328 src/libnm-core-impl/nm-keyfile.c:3340
-#: src/libnm-core-impl/nm-keyfile.c:3352 src/libnm-core-impl/nm-keyfile.c:3414
-#: src/libnm-core-impl/nm-keyfile.c:3426
+#: src/libnm-core-impl/nm-keyfile.c:3401 src/libnm-core-impl/nm-keyfile.c:3413
+#: src/libnm-core-impl/nm-keyfile.c:3432 src/libnm-core-impl/nm-keyfile.c:3444
+#: src/libnm-core-impl/nm-keyfile.c:3456 src/libnm-core-impl/nm-keyfile.c:3518
+#: src/libnm-core-impl/nm-keyfile.c:3530
msgid "value cannot be interpreted as integer"
-msgstr ""
+msgstr "Der Wert kann nicht als Ganzzahl interpretiert werden."
-#: src/libnm-core-impl/nm-keyfile.c:3382
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-keyfile.c:3486
+#, c-format
msgid "ignoring invalid byte element '%u' (not between 0 and 255 inclusive)"
msgstr ""
-"Ungültiges Byte-Element »%d« wird ignoriert (nicht zwischen 0 und "
+"Ungültiges Byte-Element »%u« wird ignoriert (nicht zwischen 0 und "
"einschließlich 255)"
-#: src/libnm-core-impl/nm-keyfile.c:3466
+#: src/libnm-core-impl/nm-keyfile.c:3570
#, c-format
msgid "invalid setting name '%s'"
msgstr "Ungültiger Einstellungsname »%s«"
-#: src/libnm-core-impl/nm-keyfile.c:3513
+#: src/libnm-core-impl/nm-keyfile.c:3617
#, c-format
msgid "invalid key '%s.%s'"
-msgstr "ungültiger Schlüssel '%s.%s'"
+msgstr "Ungültiger Schlüssel »%s.%s«"
-#: src/libnm-core-impl/nm-keyfile.c:3529
+#: src/libnm-core-impl/nm-keyfile.c:3633
#, c-format
msgid "key '%s.%s' is not boolean"
-msgstr "Schlüssel '%s.%s' ist nicht boolean"
+msgstr "Der Schlüssel »%s.%s« ist kein Boolean"
-#: src/libnm-core-impl/nm-keyfile.c:3546
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-keyfile.c:3650
+#, c-format
msgid "key '%s.%s' is not a uint32"
-msgstr "Schlüssel '%s.%s' ist nicht boolean"
+msgstr "Schlüssel »%s.%s« ist keine uint32"
-#: src/libnm-core-impl/nm-keyfile.c:3603
+#: src/libnm-core-impl/nm-keyfile.c:3707
#, fuzzy, c-format
msgid "invalid peer public key in section '%s'"
-msgstr "Ungültige Option »%s«"
+msgstr "Ungültiger Peer öffentlicher Schlüssel in Abschnitt »%s«"
-#: src/libnm-core-impl/nm-keyfile.c:3618
+#: src/libnm-core-impl/nm-keyfile.c:3722
#, c-format
msgid "key '%s.%s' is not a valid 256 bit key in base64 encoding"
msgstr ""
+"Der Schlüssel »%s.%s« ist kein gültiger 256-Bit-Schlüssel mit base64-Kodierung"
-#: src/libnm-core-impl/nm-keyfile.c:3641
+#: src/libnm-core-impl/nm-keyfile.c:3745
#, fuzzy, c-format
msgid "key '%s.%s' is not a valid secret flag"
-msgstr "»%s« ist kein gültiges DCB-Flag"
+msgstr "Schlüssel »%s.%s« ist kein gültiges DCB-Flag"
-#: src/libnm-core-impl/nm-keyfile.c:3664
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-keyfile.c:3768
+#, c-format
msgid "key '%s.%s' is not a integer in range 0 to 2^32"
-msgstr "»%s« ist außerhalb des Bereichs [%lli, %lli]"
+msgstr "Der Schlüssel »%s.%s« ist keine Ganzzahl im Bereich 0 bis 2^32"
-#: src/libnm-core-impl/nm-keyfile.c:3680
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-keyfile.c:3784
+#, c-format
msgid "key '%s.%s' is not a valid endpoint"
-msgstr "»%s« ist kein gültiges Band"
+msgstr "Schlüssel »%s.%s« ist kein gültiger Endpunkt"
-#: src/libnm-core-impl/nm-keyfile.c:3706
-#, c-format
+#: src/libnm-core-impl/nm-keyfile.c:3810
+#, fuzzy, c-format
msgid "key '%s.%s' has invalid allowed-ips"
-msgstr ""
+msgstr "Der Schlüssel »%s.%s« enthält ungültige erlaubte IP-Adressen"
-#: src/libnm-core-impl/nm-keyfile.c:3721
+#: src/libnm-core-impl/nm-keyfile.c:3825
#, fuzzy, c-format
+#| msgid "'%s' is not valid"
msgid "peer '%s' is invalid: %s"
msgstr "»%s» ist ungültig"
-#: src/libnm-core-impl/nm-keyfile.c:4249
+#: src/libnm-core-impl/nm-keyfile.c:4353
#, fuzzy, c-format
+#| msgid "unsupported attribute '%s' of type '%s'"
msgid "unsupported option \"%s.%s\" of variant type %s"
msgstr "Nicht unterstützter Parameter »%s« des Typs »%s«"
-#: src/libnm-core-impl/nm-setting-6lowpan.c:78
+#: src/libnm-core-impl/nm-setting-6lowpan.c:81
+#: src/libnm-core-impl/nm-setting-hsr.c:131
+#: src/libnm-core-impl/nm-setting-hsr.c:149
#: src/libnm-core-impl/nm-setting-veth.c:81
msgid "property is not specified"
msgstr "Eigenschaft ist nicht angegeben"
-#: src/libnm-core-impl/nm-setting-6lowpan.c:101
-#: src/libnm-core-impl/nm-setting-macsec.c:306
-#: src/libnm-core-impl/nm-setting-vlan.c:609
+#: src/libnm-core-impl/nm-setting-6lowpan.c:104
+#: src/libnm-core-impl/nm-setting-macsec.c:315
+#: src/libnm-core-impl/nm-setting-vlan.c:625
#, c-format
msgid "'%s' value doesn't match '%s=%s'"
msgstr "Wert »%s« entspricht nicht »%s=%s«"
-#: src/libnm-core-impl/nm-setting-6lowpan.c:117
-#: src/libnm-core-impl/nm-setting-ip-tunnel.c:360
-#: src/libnm-core-impl/nm-setting-macsec.c:322
-#: src/libnm-core-impl/nm-setting-macvlan.c:140
-#: src/libnm-core-impl/nm-setting-vlan.c:625
-#: src/libnm-core-impl/nm-setting-vxlan.c:379
+#: src/libnm-core-impl/nm-setting-6lowpan.c:120
+#: src/libnm-core-impl/nm-setting-ip-tunnel.c:378
+#: src/libnm-core-impl/nm-setting-macsec.c:331
+#: src/libnm-core-impl/nm-setting-macvlan.c:138
+#: src/libnm-core-impl/nm-setting-vlan.c:641
+#: src/libnm-core-impl/nm-setting-vxlan.c:377
#, c-format
msgid "'%s' is neither an UUID nor an interface name"
msgstr "»%s« ist weder eine UUID noch ein Schnittstellenname"
-#: src/libnm-core-impl/nm-setting-8021x.c:234
+#: src/libnm-core-impl/nm-setting-8021x.c:235
msgid "binary data missing"
msgstr "Binärdaten fehlen"
-#: src/libnm-core-impl/nm-setting-8021x.c:266
+#: src/libnm-core-impl/nm-setting-8021x.c:267
msgid "URI not NUL terminated"
msgstr "Adresse ist nicht mit NUL terminiert"
-#: src/libnm-core-impl/nm-setting-8021x.c:275
+#: src/libnm-core-impl/nm-setting-8021x.c:276
msgid "URI is empty"
msgstr "Adresse ist leer"
-#: src/libnm-core-impl/nm-setting-8021x.c:283
+#: src/libnm-core-impl/nm-setting-8021x.c:284
msgid "URI is not valid UTF-8"
msgstr "Die Adresse ist kein gültiges UTF-8"
-#: src/libnm-core-impl/nm-setting-8021x.c:301
+#: src/libnm-core-impl/nm-setting-8021x.c:302
msgid "data missing"
msgstr "Daten fehlen"
-#: src/libnm-core-impl/nm-setting-8021x.c:322
-#: src/libnm-core-impl/nm-setting-8021x.c:690
+#: src/libnm-core-impl/nm-setting-8021x.c:323
+#: src/libnm-core-impl/nm-setting-8021x.c:691
#, c-format
msgid "certificate is invalid: %s"
msgstr "Zertifikat ist ungültig: %s"
-#: src/libnm-core-impl/nm-setting-8021x.c:331
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-8021x.c:332
msgid "certificate detected as invalid scheme"
-msgstr "Zertifikat ist ungültig: %s"
+msgstr "Zertifikat erkannt als ungültiges Schema"
-#: src/libnm-core-impl/nm-setting-8021x.c:557
+#: src/libnm-core-impl/nm-setting-8021x.c:558
msgid "CA certificate must be in X.509 format"
msgstr "CA-Zertifikat muss im X.509-Format vorliegen"
-#: src/libnm-core-impl/nm-setting-8021x.c:569
+#: src/libnm-core-impl/nm-setting-8021x.c:570
msgid "invalid certificate format"
msgstr "Ungültiges Zertifikatsformat"
-#: src/libnm-core-impl/nm-setting-8021x.c:701
+#: src/libnm-core-impl/nm-setting-8021x.c:702
msgid "password is not supported when certificate is not on a PKCS#11 token"
msgstr ""
-"Das Kennwort wird nicht unterstützt, wenn sich das Zertifikat nicht auf "
-"einem PKCS # 11-Token befindet"
-
-#: src/libnm-core-impl/nm-setting-8021x.c:2612
-#: src/libnm-core-impl/nm-setting-8021x.c:2652
-#: src/libnm-core-impl/nm-setting-8021x.c:2671
-#: src/libnm-core-impl/nm-setting-8021x.c:2838
-#: src/libnm-core-impl/nm-setting-8021x.c:2858
-#: src/libnm-core-impl/nm-setting-8021x.c:2878
-#: src/libnm-core-impl/nm-setting-8021x.c:2919
-#: src/libnm-core-impl/nm-setting-8021x.c:2939
-#: src/libnm-core-impl/nm-setting-8021x.c:2993
-#: src/libnm-core-impl/nm-setting-adsl.c:181
-#: src/libnm-core-impl/nm-setting-cdma.c:149
-#: src/libnm-core-impl/nm-setting-cdma.c:159
-#: src/libnm-core-impl/nm-setting-connection.c:1159
-#: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1468
-#: src/libnm-core-impl/nm-setting-gsm.c:298
-#: src/libnm-core-impl/nm-setting-gsm.c:353
+
+#: src/libnm-core-impl/nm-setting-8021x.c:2626
+#: src/libnm-core-impl/nm-setting-8021x.c:2666
+#: src/libnm-core-impl/nm-setting-8021x.c:2685
+#: src/libnm-core-impl/nm-setting-8021x.c:2855
+#: src/libnm-core-impl/nm-setting-8021x.c:2875
+#: src/libnm-core-impl/nm-setting-8021x.c:2895
+#: src/libnm-core-impl/nm-setting-8021x.c:2961
+#: src/libnm-core-impl/nm-setting-8021x.c:2981
+#: src/libnm-core-impl/nm-setting-8021x.c:3035
+#: src/libnm-core-impl/nm-setting-adsl.c:179
+#: src/libnm-core-impl/nm-setting-cdma.c:147
+#: src/libnm-core-impl/nm-setting-cdma.c:157
+#: src/libnm-core-impl/nm-setting-connection.c:1220
+#: src/libnm-core-impl/nm-setting-connection.c:1263
+#: src/libnm-core-impl/nm-setting-connection.c:1515
#: src/libnm-core-impl/nm-setting-gsm.c:396
-#: src/libnm-core-impl/nm-setting-gsm.c:405
-#: src/libnm-core-impl/nm-setting-ip-config.c:5432
-#: src/libnm-core-impl/nm-setting-ip4-config.c:286
-#: src/libnm-core-impl/nm-setting-ip4-config.c:298
-#: src/libnm-core-impl/nm-setting-pppoe.c:151
-#: src/libnm-core-impl/nm-setting-pppoe.c:161
-#: src/libnm-core-impl/nm-setting-vpn.c:554
-#: src/libnm-core-impl/nm-setting-vpn.c:564
-#: src/libnm-core-impl/nm-setting-wimax.c:109
-#: src/libnm-core-impl/nm-setting-wireless-security.c:972
-#: src/libnm-core-impl/nm-setting-wireless-security.c:1000
-#: src/libnm-core-impl/nm-setting.c:2396
+#: src/libnm-core-impl/nm-setting-gsm.c:411
+#: src/libnm-core-impl/nm-setting-gsm.c:454
+#: src/libnm-core-impl/nm-setting-gsm.c:463
+#: src/libnm-core-impl/nm-setting-ip-config.c:5489
+#: src/libnm-core-impl/nm-setting-ip4-config.c:284
+#: src/libnm-core-impl/nm-setting-ip4-config.c:296
+#: src/libnm-core-impl/nm-setting-pppoe.c:149
+#: src/libnm-core-impl/nm-setting-pppoe.c:159
+#: src/libnm-core-impl/nm-setting-vpn.c:553
+#: src/libnm-core-impl/nm-setting-vpn.c:563
+#: src/libnm-core-impl/nm-setting-wimax.c:107
+#: src/libnm-core-impl/nm-setting-wireless-security.c:968
+#: src/libnm-core-impl/nm-setting-wireless-security.c:996
+#: src/libnm-core-impl/nm-setting.c:2531
msgid "property is empty"
msgstr "Eigenschaft ist leer"
-#: src/libnm-core-impl/nm-setting-8021x.c:2685
+#: src/libnm-core-impl/nm-setting-8021x.c:2699
#, c-format
msgid "has to match '%s' property for PKCS#12"
msgstr "muss mit der Eigenschaft »%s« für PKCS#12 übereinstimmen"
-#: src/libnm-core-impl/nm-setting-8021x.c:2708
+#: src/libnm-core-impl/nm-setting-8021x.c:2722
msgid "exactly one property must be set"
-msgstr ""
+msgstr "genau eine Eigenschaft muss festgelegt sein"
-#: src/libnm-core-impl/nm-setting-8021x.c:2785
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-8021x.c:2802
msgid "can be enabled only on Ethernet connections"
-msgstr "Verbindung kann nicht gelöscht werden: %s"
-
-#: src/libnm-core-impl/nm-setting-8021x.c:2806
-#: src/libnm-core-impl/nm-setting-bluetooth.c:110
-#: src/libnm-core-impl/nm-setting-infiniband.c:191
-#: src/libnm-core-impl/nm-setting-infiniband.c:203
-#: src/libnm-core-impl/nm-setting-ip4-config.c:234
-#: src/libnm-core-impl/nm-setting-ip4-config.c:250
-#: src/libnm-core-impl/nm-setting-ip6-config.c:281
-#: src/libnm-core-impl/nm-setting-ip6-config.c:297
-#: src/libnm-core-impl/nm-setting-olpc-mesh.c:137
+msgstr "darf nur für Ethernet-Verbindungen aktiviert werden"
+
+#: src/libnm-core-impl/nm-setting-8021x.c:2823
+#: src/libnm-core-impl/nm-setting-bluetooth.c:108
+#: src/libnm-core-impl/nm-setting-infiniband.c:175
+#: src/libnm-core-impl/nm-setting-infiniband.c:187
+#: src/libnm-core-impl/nm-setting-ip4-config.c:232
+#: src/libnm-core-impl/nm-setting-ip4-config.c:248
+#: src/libnm-core-impl/nm-setting-ip6-config.c:301
+#: src/libnm-core-impl/nm-setting-ip6-config.c:317
+#: src/libnm-core-impl/nm-setting-olpc-mesh.c:135
#: src/libnm-core-impl/nm-setting-wifi-p2p.c:131
-#: src/libnm-core-impl/nm-setting-wimax.c:121
-#: src/libnm-core-impl/nm-setting-wired.c:836
-#: src/libnm-core-impl/nm-setting-wired.c:849
-#: src/libnm-core-impl/nm-setting-wireless-security.c:1012
-#: src/libnm-core-impl/nm-setting-wireless-security.c:1024
-#: src/libnm-core-impl/nm-setting-wireless-security.c:1036
-#: src/libnm-core-impl/nm-setting-wireless-security.c:1049
-#: src/libnm-core-impl/nm-setting-wireless-security.c:1062
-#: src/libnm-core-impl/nm-setting-wireless-security.c:1093
-#: src/libnm-core-impl/nm-setting-wireless-security.c:1160
-#: src/libnm-core-impl/nm-setting-wireless-security.c:1209
-#: src/libnm-core-impl/nm-setting-wireless.c:937
-#: src/libnm-core-impl/nm-setting-wireless.c:949
-#: src/libnm-core-impl/nm-setting-wireless.c:962
-#: src/libnm-core-impl/nm-setting-wpan.c:161
-#: src/libnm-core-impl/nm-utils.c:4155
+#: src/libnm-core-impl/nm-setting-wimax.c:119
+#: src/libnm-core-impl/nm-setting-wired.c:842
+#: src/libnm-core-impl/nm-setting-wired.c:855
+#: src/libnm-core-impl/nm-setting-wireless-security.c:1008
+#: src/libnm-core-impl/nm-setting-wireless-security.c:1020
+#: src/libnm-core-impl/nm-setting-wireless-security.c:1032
+#: src/libnm-core-impl/nm-setting-wireless-security.c:1045
+#: src/libnm-core-impl/nm-setting-wireless-security.c:1058
+#: src/libnm-core-impl/nm-setting-wireless-security.c:1089
+#: src/libnm-core-impl/nm-setting-wireless-security.c:1156
+#: src/libnm-core-impl/nm-setting-wireless-security.c:1205
+#: src/libnm-core-impl/nm-setting-wireless.c:991
+#: src/libnm-core-impl/nm-setting-wireless.c:1003
+#: src/libnm-core-impl/nm-setting-wireless.c:1016
+#: src/libnm-core-impl/nm-setting-wpan.c:164 src/libnm-core-impl/nm-utils.c:4557
msgid "property is invalid"
msgstr "Eigenschaft ist ungültig"
-#: src/libnm-core-impl/nm-setting-8021x.c:2832
-#: src/libnm-core-impl/nm-setting-8021x.c:2852
-#: src/libnm-core-impl/nm-setting-8021x.c:2872
-#: src/libnm-core-impl/nm-setting-8021x.c:2913
-#: src/libnm-core-impl/nm-setting-8021x.c:2933
-#: src/libnm-core-impl/nm-setting-adsl.c:193
-#: src/libnm-core-impl/nm-setting-adsl.c:206
-#: src/libnm-core-impl/nm-setting-bluetooth.c:145
-#: src/libnm-core-impl/nm-setting-wireless-security.c:928
+#: src/libnm-core-impl/nm-setting-8021x.c:2849
+#: src/libnm-core-impl/nm-setting-8021x.c:2869
+#: src/libnm-core-impl/nm-setting-8021x.c:2889
+#: src/libnm-core-impl/nm-setting-8021x.c:2955
+#: src/libnm-core-impl/nm-setting-8021x.c:2975
+#: src/libnm-core-impl/nm-setting-adsl.c:191
+#: src/libnm-core-impl/nm-setting-adsl.c:204
+#: src/libnm-core-impl/nm-setting-bluetooth.c:143
+#: src/libnm-core-impl/nm-setting-wireless-security.c:924
#, c-format
msgid "'%s' is not a valid value for the property"
msgstr "Fehler: »%s« ist kein gültiger Wert für die Eigenschaft"
-#: src/libnm-core-impl/nm-setting-8021x.c:2891
-msgid "invalid auth flags"
-msgstr "Ungültige »auth«-Flags"
+#: src/libnm-core-impl/nm-setting-8021x.c:2908
+#, c-format
+msgid "invalid auth flags: '%d' contains unknown flags"
+msgstr ""
-#: src/libnm-core-impl/nm-setting-bluetooth.c:169
+#: src/libnm-core-impl/nm-setting-8021x.c:2933
+msgid ""
+"invalid auth flags: both enable and disable are set for the same TLS version"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-bluetooth.c:167
#, c-format
msgid "'%s' connection requires '%s' or '%s' setting"
msgstr "Die Verbindung »%s« erfordert die Einstellung »%s« oder »%s«"
-#: src/libnm-core-impl/nm-setting-bluetooth.c:221
+#: src/libnm-core-impl/nm-setting-bluetooth.c:219
#, c-format
msgid "'%s' connection requires '%s' setting"
msgstr "Die Verbindung »%s« erfordert die Einstellung »%s«"
-#: src/libnm-core-impl/nm-setting-bond-port.c:82
-#: src/libnm-core-impl/nm-setting-bridge-port.c:328
+#: src/libnm-core-impl/nm-setting-bond-port.c:99
+#: src/libnm-core-impl/nm-setting-bridge-port.c:326
#: src/libnm-core-impl/nm-setting-ovs-bridge.c:151
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:289
-#: src/libnm-core-impl/nm-setting-ovs-port.c:170
-#: src/libnm-core-impl/nm-setting-team-port.c:323
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:306
+#: src/libnm-core-impl/nm-setting-ovs-port.c:411
+#: src/libnm-core-impl/nm-setting-team-port.c:321
msgid "missing setting"
msgstr "fehlende Einstellung"
-#: src/libnm-core-impl/nm-setting-bond-port.c:92
-#, fuzzy, c-format
-msgid "A connection with a '%s' setting must have the slave-type set to '%s'"
+#: src/libnm-core-impl/nm-setting-bond-port.c:109
+#: src/libnm-core-impl/nm-setting-bridge-port.c:336
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:329
+#: src/libnm-core-impl/nm-setting-team-port.c:331
+#, c-format
+msgid ""
+"A connection with a '%s' setting must have the slave-type set to '%s'. Instead "
+"it is '%s'"
msgstr ""
"Für Verbindungen mit einer »%s«-Einstellung muss der Slave-Typ auf »%s« "
"gesetzt sein, hier ist es jedoch »%s«."
-#: src/libnm-core-impl/nm-setting-bond.c:504
+#: src/libnm-core-impl/nm-setting-bond.c:524
#, c-format
msgid "'%s' option is empty"
msgstr "Option »%s« ist leer"
-#: src/libnm-core-impl/nm-setting-bond.c:513
+#: src/libnm-core-impl/nm-setting-bond.c:537
#, c-format
-msgid "'%s' is not a valid IPv4 address for '%s' option"
-msgstr "»%s« ist keine gültige IPv4-Adresse für die Option »%s«"
+msgid "'%s' is not a valid %s address for '%s' option"
+msgstr "»%s« ist keine gültige %s-Adresse für die Option »%s«"
-#: src/libnm-core-impl/nm-setting-bond.c:540
+#: src/libnm-core-impl/nm-setting-bond.c:565
#, fuzzy
+#| msgid "missing option"
msgid "missing option name"
msgstr "fehlende Option"
-#: src/libnm-core-impl/nm-setting-bond.c:545
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-bond.c:570
+#, c-format
msgid "invalid option '%s'"
-msgstr "Ungültige Aktion: "
+msgstr "Ungültige Option »%s«"
-#: src/libnm-core-impl/nm-setting-bond.c:581
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-bond.c:609
+#, c-format
msgid "invalid value '%s' for option '%s'"
-msgstr "Ungültiger uint8-Wert »%s« für Attribut »%s«"
+msgstr "Ungültiger Wert »%s« für die Option »%s«"
-#: src/libnm-core-impl/nm-setting-bond.c:861
+#: src/libnm-core-impl/nm-setting-bond.c:923
#, c-format
msgid "mandatory option '%s' is missing"
msgstr "zwingende Option »%s« fehlt"
-#: src/libnm-core-impl/nm-setting-bond.c:871
+#: src/libnm-core-impl/nm-setting-bond.c:933
#, c-format
msgid "'%s' is not a valid value for '%s'"
msgstr "Fehler: »%s« ist kein gültiger Wert für »%s«."
-#: src/libnm-core-impl/nm-setting-bond.c:884
+#: src/libnm-core-impl/nm-setting-bond.c:946
+#: src/libnm-core-impl/nm-setting-bond.c:957
#, c-format
msgid "'%s=%s' is incompatible with '%s > 0'"
msgstr "»%s=%s« ist nicht kompatibel mit »%s > 0«"
-#: src/libnm-core-impl/nm-setting-bond.c:901
+#: src/libnm-core-impl/nm-setting-bond.c:974
#, c-format
msgid "'%s' is not valid for the '%s' option: %s"
msgstr "»%s« ist für die Option »%s« ungültig: %s"
-#: src/libnm-core-impl/nm-setting-bond.c:913
+#: src/libnm-core-impl/nm-setting-bond.c:986
#, c-format
msgid "'%s' option is only valid for '%s=%s'"
msgstr "Option »%s« ist nur gültig für »%s=%s«."
-#: src/libnm-core-impl/nm-setting-bond.c:926
+#: src/libnm-core-impl/nm-setting-bond.c:999
#, c-format
msgid "'%s=%s' is not a valid configuration for '%s'"
msgstr "»%s=%s« ist keine gültige Konfiguration für »%s«."
-#: src/libnm-core-impl/nm-setting-bond.c:941
-#: src/libnm-core-impl/nm-setting-bond.c:952
-#: src/libnm-core-impl/nm-setting-bond.c:965
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-bond.c:1014
+#: src/libnm-core-impl/nm-setting-bond.c:1025
+#: src/libnm-core-impl/nm-setting-bond.c:1038
+#, c-format
msgid "'%s' option requires '%s' option to be enabled"
-msgstr "Option »%s« erfordert, dass die Einstellung »%s« aktiv ist"
+msgstr "Option »%s« erfordert, dass die Einstellung »%s« aktiviert ist"
-#: src/libnm-core-impl/nm-setting-bond.c:982
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-bond.c:1055
+#, c-format
msgid "'%s' option needs to be a value multiple of '%s' value"
-msgstr "Option »%s« ist leer"
+msgstr "die Option »%s« muss ein vielfacher Wert von »%s« sein"
-#: src/libnm-core-impl/nm-setting-bond.c:999
-#: src/libnm-core-impl/nm-setting-bond.c:1010
+#: src/libnm-core-impl/nm-setting-bond.c:1073
+#, c-format
+msgid "'%s' option requires '%s' or '%s'option to be set"
+msgstr ""
+"Die Option »%s« erfordert, dass eine der Optionen »%s« oder »%s« festgelegt ist"
+
+#: src/libnm-core-impl/nm-setting-bond.c:1085
+#: src/libnm-core-impl/nm-setting-bond.c:1095
#, c-format
msgid "'%s' option requires '%s' option to be set"
msgstr "Option »%s« erfordert, dass die Einstellung »%s« aktiv ist"
-#: src/libnm-core-impl/nm-setting-bond.c:1023
+#: src/libnm-core-impl/nm-setting-bond.c:1108
+#: src/libnm-core-impl/nm-setting-bond.c:1120
#, c-format
msgid "'%s' option is only valid with mode '%s'"
msgstr "Die Option »%s« ist nur gültig im Modus »%s«"
-#: src/libnm-core-impl/nm-setting-bond.c:1036
+#: src/libnm-core-impl/nm-setting-bond.c:1133
#, c-format
msgid "'%s' and '%s' cannot have different values"
msgstr "»%s« und »%s« dürfen nicht unterschiedliche Werte haben"
-#: src/libnm-core-impl/nm-setting-bond.c:1059
+#: src/libnm-core-impl/nm-setting-bond.c:1146
+#, c-format
+msgid "%s requires bond mode \"%s\""
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-bond.c:1159
+#, c-format
+msgid "%s requires xmit_hash_policy \"vlan+srcmac\""
+msgstr "%s erfordert xmit_hash_policy »vlan+srcmac«"
+
+#: src/libnm-core-impl/nm-setting-bond.c:1182
#, c-format
msgid "'%s' option should be string"
msgstr "Option »%s« sollte eine Zeichenkette sein"
-#: src/libnm-core-impl/nm-setting-bond.c:1072
+#: src/libnm-core-impl/nm-setting-bond.c:1195
#, c-format
msgid "'%s' option is not valid with mode '%s'"
msgstr "Die Option »%s« ist im Modus »%s« ungültig"
-#: src/libnm-core-impl/nm-setting-bridge-port.c:338
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:312
-#: src/libnm-core-impl/nm-setting-ovs-port.c:193
-#: src/libnm-core-impl/nm-setting-team-port.c:333
-#, c-format
-msgid ""
-"A connection with a '%s' setting must have the slave-type set to '%s'. "
-"Instead it is '%s'"
-msgstr ""
-"Für Verbindungen mit einer »%s«-Einstellung muss der Slave-Typ auf »%s« "
-"gesetzt sein, hier ist es jedoch »%s«."
-
-#: src/libnm-core-impl/nm-setting-bridge.c:1175
+#: src/libnm-core-impl/nm-setting-bridge.c:1182
#, c-format
msgid "value '%d' is out of range <%d-%d>"
msgstr "Wert »%d« ist außerhalb des Bereichs <%d-%d>"
-#: src/libnm-core-impl/nm-setting-bridge.c:1194
+#: src/libnm-core-impl/nm-setting-bridge.c:1201
msgid "is not a valid MAC address"
msgstr "ist keine gültige MAC-Adresse"
-#: src/libnm-core-impl/nm-setting-bridge.c:1238
+#: src/libnm-core-impl/nm-setting-bridge.c:1245
msgid "the mask can't contain bits 0 (STP), 1 (MAC) or 2 (LACP)"
-msgstr "die Maske darf keine Bits 0 (STP), 1 (MAC) oder 2 (LACP) enthalten"
+msgstr "die Maske darf nicht die Bits 0 (STP), 1 (MAC) oder 2 (LACP) enthalten"
-#: src/libnm-core-impl/nm-setting-bridge.c:1260
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-bridge.c:1267
msgid "is not a valid link local MAC address"
-msgstr "ist keine gültige MAC-Adresse"
+msgstr "ist keine gültige Link-Local-MAC-Adresse"
-#: src/libnm-core-impl/nm-setting-bridge.c:1272
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-bridge.c:1279
msgid "is not a valid VLAN filtering protocol"
-msgstr "»%s« ist kein gültiger Wert für einen Ethernet-Port"
+msgstr "ist kein gültiges VLAN-Filter-Protokoll"
-#: src/libnm-core-impl/nm-setting-bridge.c:1284
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-bridge.c:1291
msgid "is not a valid option"
-msgstr "Der Wert ist keine gültiges Token"
+msgstr "ist keine gültige Option"
-#: src/libnm-core-impl/nm-setting-bridge.c:1296
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-bridge.c:1303
+#, c-format
msgid "'%s' option must be a power of 2"
-msgstr "Option »%s« ist leer"
+msgstr "Die Option »%s« muss eine mathematische Potenz von 2 sein"
-#: src/libnm-core-impl/nm-setting-bridge.c:1318
-#, fuzzy
-#| msgid "vlan setting should have a ethernet setting as well"
+#: src/libnm-core-impl/nm-setting-bridge.c:1325
msgid "bridge connection should have a ethernet setting as well"
-msgstr "Eine vlan-Einstellung sollte ebenfalls eine Ethernet-Einstellung haben"
+msgstr "Eine Brücken-Verbindung sollte ebenfalls eine Ethernet-Einstellung haben"
-#: src/libnm-core-impl/nm-setting-connection.c:1042
+#: src/libnm-core-impl/nm-setting-connection.c:1103
#, c-format
msgid "setting required for connection of type '%s'"
msgstr "Einstellung ist für den Verbindungstyp »%s« notwendig"
-#: src/libnm-core-impl/nm-setting-connection.c:1073
+#: src/libnm-core-impl/nm-setting-connection.c:1134
#, c-format
msgid "Unknown slave type '%s'"
msgstr "Unbekannter Slave-Typ »%s«"
-#: src/libnm-core-impl/nm-setting-connection.c:1088
+#: src/libnm-core-impl/nm-setting-connection.c:1149
#, c-format
msgid "Slave connections need a valid '%s' property"
msgstr "Für Slave-Verbindungen ist eine gültige »%s«-Eigenschaft nötig"
-#: src/libnm-core-impl/nm-setting-connection.c:1112
+#: src/libnm-core-impl/nm-setting-connection.c:1173
#, c-format
msgid "Cannot set '%s' without '%s'"
msgstr "»%s« kann nicht ohne »%s« gesetzt werden"
-#: src/libnm-core-impl/nm-setting-connection.c:1171
+#: src/libnm-core-impl/nm-setting-connection.c:1232
#, c-format
msgid "'%s' is not a valid UUID"
msgstr "»%s» ist keine gültige UUID"
-#: src/libnm-core-impl/nm-setting-connection.c:1216
+#: src/libnm-core-impl/nm-setting-connection.c:1277
#, c-format
msgid "connection type '%s' is not valid"
msgstr "Verbindungstyp »%s« ist ungültig"
-#: src/libnm-core-impl/nm-setting-connection.c:1322
+#: src/libnm-core-impl/nm-setting-connection.c:1383
#, c-format
msgid "'%s' connections must be enslaved to '%s', not '%s'"
-msgstr "'%s' Verbindungen müssen versklavt werden mit '%s', nicht '%s'"
+msgstr ""
-#: src/libnm-core-impl/nm-setting-connection.c:1337
+#: src/libnm-core-impl/nm-setting-connection.c:1398
#, c-format
msgid "metered value %d is not valid"
msgstr "Der gemessene Wert %d ist ungültig"
-#: src/libnm-core-impl/nm-setting-connection.c:1351
-#: src/libnm-core-impl/nm-setting-connection.c:1365
-#: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1454
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-connection.c:1412
+#: src/libnm-core-impl/nm-setting-connection.c:1426
+#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1501
+#, c-format
msgid "value %d is not valid"
-msgstr "Der mdns-Wert %d ist ungültig"
+msgstr "Der Wert %d ist ungültig"
-#: src/libnm-core-impl/nm-setting-connection.c:1395
+#: src/libnm-core-impl/nm-setting-connection.c:1456
msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
msgstr ""
-#: src/libnm-core-impl/nm-setting-connection.c:1411
-msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
-msgstr ""
-
-#: src/libnm-core-impl/nm-setting-connection.c:1422
+#: src/libnm-core-impl/nm-setting-connection.c:1470
msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
msgstr ""
-#: src/libnm-core-impl/nm-setting-connection.c:1435
+#: src/libnm-core-impl/nm-setting-connection.c:1482
#, fuzzy, c-format
#| msgid "'%u' flags are not valid; use combination of %s"
msgid "value %u is not a valid combination of MPTCP flags"
msgstr "Flags »%u« sind ungültig. Verwenden Sie eine Kombination von %s"
-#: src/libnm-core-impl/nm-setting-connection.c:1482
+#: src/libnm-core-impl/nm-setting-connection.c:1529
#, fuzzy
+#| msgid "interface name is longer than 15 characters"
msgid "DHCP option cannot be longer than 255 characters"
msgstr "Schnittstellenname ist länger als 15 Zeichen"
-#: src/libnm-core-impl/nm-setting-connection.c:1493
+#: src/libnm-core-impl/nm-setting-connection.c:1540
#, fuzzy
+#| msgid "URI is not valid UTF-8"
msgid "MUD URL is not a valid URL"
msgstr "Die Adresse ist kein gültiges UTF-8"
-#: src/libnm-core-impl/nm-setting-connection.c:1513
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-connection.c:1560
msgid "invalid permissions not in format \"user:$UNAME[:]\""
-msgstr "ungültiger Runner »%s«"
+msgstr ""
-#: src/libnm-core-impl/nm-setting-connection.c:1542
+#: src/libnm-core-impl/nm-setting-connection.c:1589
#, c-format
msgid "property type should be set to '%s'"
msgstr "Der Eigenschaftentyp sollte auf »%s« eingestellt sein"
-#: src/libnm-core-impl/nm-setting-connection.c:1560
-#, c-format
-msgid "slave-type '%s' requires a '%s' setting in the connection"
+#: src/libnm-core-impl/nm-setting-connection.c:1607
+#, fuzzy, c-format
+#| msgid "slave-type '%s' requires a '%s' setting in the connection"
+msgid "port-type '%s' requires a '%s' setting in the connection"
msgstr ""
"Der Slave-Typ »%s« erfordert das Vorhandensein der Einstellung »%s« in der "
"Verbindung"
-#: src/libnm-core-impl/nm-setting-connection.c:1571
+#: src/libnm-core-impl/nm-setting-connection.c:1618
#, c-format
msgid ""
"Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
"set to '%s'"
msgstr ""
-"Eine Slave-Verbindung mit gesetztem »%s« und dem Port-Typ »%s« erkennen. "
-"»%s« sollte auf »%s« gesetzt werden."
+"Eine Slave-Verbindung mit gesetztem »%s« und dem Port-Typ »%s« erkennen. »%s« "
+"sollte auf »%s« gesetzt werden."
-#: src/libnm-core-impl/nm-setting-connection.c:1597
+#: src/libnm-core-impl/nm-setting-connection.c:1644
#, c-format
msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
msgstr ""
"Eine Slave-Verbindung mit gesetztem »%s« für »%s« darf nicht die Einstellung "
"»%s« haben"
-#: src/libnm-core-impl/nm-setting-connection.c:1614
+#: src/libnm-core-impl/nm-setting-connection.c:1661
msgid "UUID needs normalization"
+msgstr "UUID erfordert Normalisierung"
+
+#: src/libnm-core-impl/nm-setting-connection.c:1676
+msgid "read-only is deprecated and not settable for the user"
msgstr ""
-#: src/libnm-core-impl/nm-setting-dcb.c:499
+#: src/libnm-core-impl/nm-setting-dcb.c:496
msgid "flags invalid"
msgstr "Ungültige Flags"
-#: src/libnm-core-impl/nm-setting-dcb.c:508
+#: src/libnm-core-impl/nm-setting-dcb.c:505
msgid "flags invalid - disabled"
msgstr "Ungültige Flags - deaktiviert"
-#: src/libnm-core-impl/nm-setting-dcb.c:534
-#: src/libnm-core-impl/nm-setting-dcb.c:580
+#: src/libnm-core-impl/nm-setting-dcb.c:531
+#: src/libnm-core-impl/nm-setting-dcb.c:577
msgid "property invalid (not enabled)"
msgstr "Eigenschaft ist ungültig (nicht aktiviert)"
-#: src/libnm-core-impl/nm-setting-dcb.c:543
+#: src/libnm-core-impl/nm-setting-dcb.c:540
msgid "element invalid"
msgstr "ungültiges Element"
-#: src/libnm-core-impl/nm-setting-dcb.c:558
+#: src/libnm-core-impl/nm-setting-dcb.c:555
msgid "sum not 100%"
msgstr "Summe nicht 100%"
-#: src/libnm-core-impl/nm-setting-dcb.c:589
-#: src/libnm-core-impl/nm-setting-dcb.c:617
+#: src/libnm-core-impl/nm-setting-dcb.c:586
+#: src/libnm-core-impl/nm-setting-dcb.c:614
msgid "property invalid"
msgstr "Ungültige Eigenschaft"
-#: src/libnm-core-impl/nm-setting-ethtool.c:311
+#: src/libnm-core-impl/nm-setting-ethtool.c:328
#, fuzzy
+#| msgid "Ethtool settings"
msgid "unsupported ethtool setting"
-msgstr "Ethtool Einstellungen"
+msgstr "Ethtool-Einstellungen"
-#: src/libnm-core-impl/nm-setting-ethtool.c:320
+#: src/libnm-core-impl/nm-setting-ethtool.c:337
#, fuzzy
+#| msgid "'%s' is not a valid interface type"
msgid "setting has invalid variant type"
-msgstr "Offload-Feature hat einen ungültigen Variantentyp"
+msgstr "»%s« ist kein gültiger Schnittstellentyp"
-#: src/libnm-core-impl/nm-setting-ethtool.c:332
+#: src/libnm-core-impl/nm-setting-ethtool.c:349
msgid "coalesce option must be either 0 or 1"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ethtool.c:349
+#: src/libnm-core-impl/nm-setting-ethtool.c:366
msgid "pause-autoneg cannot be enabled when setting rx/tx options"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ethtool.c:374
+#: src/libnm-core-impl/nm-setting-ethtool.c:391
#, c-format
msgid "unknown ethtool option '%s'"
-msgstr "unbekannte Ethtool-Option '%s'"
+msgstr "Unbekannte Ethtool-Option »%s«"
-#: src/libnm-core-impl/nm-setting-gsm.c:311
-#, c-format
-msgid "property value '%s' is empty or too long (>64)"
+#: src/libnm-core-impl/nm-setting-gsm.c:337
+#, fuzzy
+#| msgid "property is empty"
+msgid "property value is empty"
+msgstr "Eigenschaft ist leer"
+
+#: src/libnm-core-impl/nm-setting-gsm.c:346
+#, fuzzy
+#| msgid "property value '%s' is empty or too long (>64)"
+msgid "property value is too long (>64)"
msgstr "Eigenschaftswert »%s« ist leer oder zu lang (>64)"
-#: src/libnm-core-impl/nm-setting-gsm.c:341
+#: src/libnm-core-impl/nm-setting-gsm.c:378
#, c-format
msgid "'%s' contains invalid char(s) (use [A-Za-z._-])"
msgstr "»%s« enthält ungültige Zeichen (Verwenden Sie [A-Za-z._-])"
-#: src/libnm-core-impl/nm-setting-gsm.c:367
+#: src/libnm-core-impl/nm-setting-gsm.c:425
#, c-format
msgid "'%s' length is invalid (should be 5 or 6 digits)"
msgstr "»%s« Länge ist ungültig (muss 5 oder 6 Ziffern sein)"
-#: src/libnm-core-impl/nm-setting-gsm.c:381
+#: src/libnm-core-impl/nm-setting-gsm.c:439
#, c-format
msgid "'%s' is not a number"
msgstr "»%s« ist keine Zahl"
-#: src/libnm-core-impl/nm-setting-gsm.c:418
+#: src/libnm-core-impl/nm-setting-gsm.c:476
msgid "property is empty or wrong size"
msgstr "Eigenschaft ist leer oder hat eine falsche Größe"
-#: src/libnm-core-impl/nm-setting-gsm.c:431
+#: src/libnm-core-impl/nm-setting-gsm.c:489
msgid "property must contain only digits"
msgstr "die Eigenschaft darf nur Ziffern enthalten"
-#: src/libnm-core-impl/nm-setting-gsm.c:445
+#: src/libnm-core-impl/nm-setting-gsm.c:503
msgid "can't be enabled when manual configuration is present"
msgstr ""
-#: src/libnm-core-impl/nm-setting-infiniband.c:229
+#: src/libnm-core-impl/nm-setting-hsr.c:139
+#: src/libnm-core-impl/nm-setting-hsr.c:157
+#: src/libnm-core-impl/nm-setting-veth.c:90
+#, c-format
+msgid "'%s' is not a valid interface name"
+msgstr "»%s« ist kein gültiger Schnittstellenname"
+
+#: src/libnm-core-impl/nm-setting-infiniband.c:213
msgid "Must specify a P_Key if specifying parent"
msgstr "Wenn »parent« angegeben ist, muss auch ein »P_Key« angegeben werden"
-#: src/libnm-core-impl/nm-setting-infiniband.c:240
+#: src/libnm-core-impl/nm-setting-infiniband.c:224
msgid "InfiniBand P_Key connection did not specify parent interface name"
msgstr ""
"InfiniBand »P_Key«-Verbindung definierte keinen übergeordneten (parent) "
"Schnittstellennamen"
-#: src/libnm-core-impl/nm-setting-infiniband.c:248
+#: src/libnm-core-impl/nm-setting-infiniband.c:232
msgid "the values 0 and 0x8000 are not allowed"
-msgstr ""
+msgstr "die Werte 0 und 0x8000 sind nicht erlaubt"
-#: src/libnm-core-impl/nm-setting-infiniband.c:274
+#: src/libnm-core-impl/nm-setting-infiniband.c:260
#, c-format
msgid ""
-"interface name of software infiniband device must be '%s' or unset (instead "
-"it is '%s')"
+"interface name of software infiniband device must be '%s' or unset (instead it "
+"is '%s')"
msgstr ""
"Schnittstellenname des Software Infiniband-Geräts muss »%s« oder nicht "
"festgelegt sein (es ist statt dessen »%s«)"
-#: src/libnm-core-impl/nm-setting-infiniband.c:282
+#: src/libnm-core-impl/nm-setting-infiniband.c:268
#, fuzzy, c-format
#| msgid ""
-#| "interface name of software infiniband device must be '%s' or unset "
-#| "(instead it is '%s')"
+#| "interface name of software infiniband device must be '%s' or unset (instead "
+#| "it is '%s')"
msgid ""
"interface name of software infiniband device with MAC address must be unset "
"(instead it is '%s')"
@@ -2081,501 +2127,551 @@ msgstr ""
"Schnittstellenname des Software Infiniband-Geräts muss »%s« oder nicht "
"festgelegt sein (es ist statt dessen »%s«)"
-#: src/libnm-core-impl/nm-setting-infiniband.c:310
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-infiniband.c:294
+#, c-format
msgid "mtu can be at most %u but it is %u"
-msgstr "mtu für Transportmodus »%s« darf höchstens %d sein, ist aber %d"
+msgstr "mtu darf höchstens %u sein, ist aber %u"
-#: src/libnm-core-impl/nm-setting-ip-config.c:80
+#: src/libnm-core-impl/nm-setting-ip-config.c:83
msgid "Missing IPv4 address"
msgstr "Fehlende IPv4-Adresse"
-#: src/libnm-core-impl/nm-setting-ip-config.c:80
+#: src/libnm-core-impl/nm-setting-ip-config.c:83
msgid "Missing IPv6 address"
msgstr "Fehlende IPv6-Adresse"
-#: src/libnm-core-impl/nm-setting-ip-config.c:87
+#: src/libnm-core-impl/nm-setting-ip-config.c:90
#, c-format
msgid "Invalid IPv4 address '%s'"
msgstr "Ungültige IPv4-Adresse »%s«"
-#: src/libnm-core-impl/nm-setting-ip-config.c:88
+#: src/libnm-core-impl/nm-setting-ip-config.c:91
#, c-format
msgid "Invalid IPv6 address '%s'"
msgstr "Ungültige IPv6-Adresse »%s«"
-#: src/libnm-core-impl/nm-setting-ip-config.c:105
+#: src/libnm-core-impl/nm-setting-ip-config.c:108
#, c-format
msgid "Invalid IPv4 address prefix '%u'"
msgstr "Ungültiges IPv4-Adressenpräfix »%u«"
-#: src/libnm-core-impl/nm-setting-ip-config.c:106
+#: src/libnm-core-impl/nm-setting-ip-config.c:109
#, c-format
msgid "Invalid IPv6 address prefix '%u'"
msgstr "Ungültiges IPv6-Adressenpräfix »%u«"
-#: src/libnm-core-impl/nm-setting-ip-config.c:123
+#: src/libnm-core-impl/nm-setting-ip-config.c:126
#, c-format
msgid "Invalid routing metric '%s'"
msgstr "Ungültige Routing-Metrik »%s«"
-#: src/libnm-core-impl/nm-setting-ip-config.c:1328
+#: src/libnm-core-impl/nm-setting-ip-config.c:1339
#: src/libnm-core-impl/nm-setting-sriov.c:400
msgid "unknown attribute"
msgstr "Unbekanntes Attribut"
-#: src/libnm-core-impl/nm-setting-ip-config.c:1338
+#: src/libnm-core-impl/nm-setting-ip-config.c:1349
#: src/libnm-core-impl/nm-setting-sriov.c:410
#, c-format
msgid "invalid attribute type '%s'"
msgstr "Ungültiger Attributtyp »%s«"
-#: src/libnm-core-impl/nm-setting-ip-config.c:1347
+#: src/libnm-core-impl/nm-setting-ip-config.c:1358
msgid "attribute is not valid for a IPv4 route"
msgstr "Parameter ist für eine IPv4-Route ungültig"
-#: src/libnm-core-impl/nm-setting-ip-config.c:1348
+#: src/libnm-core-impl/nm-setting-ip-config.c:1359
msgid "attribute is not valid for a IPv6 route"
msgstr "Parameter ist für eine IPv6-Route ungültig"
-#: src/libnm-core-impl/nm-setting-ip-config.c:1359
-#: src/libnm-core-impl/nm-setting-ip-config.c:1391
+#: src/libnm-core-impl/nm-setting-ip-config.c:1370
+#: src/libnm-core-impl/nm-setting-ip-config.c:1402
#, c-format
msgid "'%s' is not a valid IPv4 address"
msgstr "»%s« ist keine gültige IPv4-Adresse"
-#: src/libnm-core-impl/nm-setting-ip-config.c:1360
-#: src/libnm-core-impl/nm-setting-ip-config.c:1392
+#: src/libnm-core-impl/nm-setting-ip-config.c:1371
+#: src/libnm-core-impl/nm-setting-ip-config.c:1403
#, c-format
msgid "'%s' is not a valid IPv6 address"
msgstr "»%s« ist keine gültige IPv6-Adresse"
-#: src/libnm-core-impl/nm-setting-ip-config.c:1382
+#: src/libnm-core-impl/nm-setting-ip-config.c:1393
#, c-format
msgid "invalid prefix %s"
msgstr "ungültiger Präfix %s"
-#: src/libnm-core-impl/nm-setting-ip-config.c:1414
+#: src/libnm-core-impl/nm-setting-ip-config.c:1425
#, fuzzy, c-format
+#| msgid "'%s' is not a valid interface type"
msgid "%s is not a valid route type"
msgstr "»%s« ist kein gültiger Schnittstellentyp"
-#: src/libnm-core-impl/nm-setting-ip-config.c:1507
+#: src/libnm-core-impl/nm-setting-ip-config.c:1444
+msgid "route weight cannot be larger than 256"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-ip-config.c:1531
#, fuzzy
+#| msgid "attribute is not valid for a IPv4 route"
msgid "route scope is invalid for local route"
-msgstr "%d. Zielwegwahl ist ungültig"
+msgstr "Parameter ist für eine IPv4-Route ungültig"
-#: src/libnm-core-impl/nm-setting-ip-config.c:1519
+#: src/libnm-core-impl/nm-setting-ip-config.c:1543
#, fuzzy, c-format
+#| msgid "%d. route cannot be a default route"
msgid "a %s route cannot have a next-hop"
msgstr "%d. Route darf nicht die Vorgabe-Route sein"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2705
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-ip-config.c:1555
+#, c-format
+msgid "a %s route cannot have a ECMP multi-hop \"weight\""
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-ip-config.c:2743
msgid "missing priority"
-msgstr "ungültige Prioritätsabbildung »%s«"
+msgstr "Priorität fehlt"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2718
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-ip-config.c:2756
msgid "missing table"
-msgstr "Schlüssel fehlt"
+msgstr "Tabelle fehlt"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2728
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-ip-config.c:2766
msgid "invalid action type"
-msgstr "Ungültige Aktion: "
+msgstr "Ungültige Aktionstyp"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2737
+#: src/libnm-core-impl/nm-setting-ip-config.c:2775
msgid "has from/src but the prefix-length is zero"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip-config.c:2745
+#: src/libnm-core-impl/nm-setting-ip-config.c:2783
msgid "missing from/src for a non zero prefix-length"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip-config.c:2752
+#: src/libnm-core-impl/nm-setting-ip-config.c:2790
#, fuzzy
+#| msgid "invalid port %d"
msgid "invalid from/src"
msgstr "Ungültiger Port %d"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2759
+#: src/libnm-core-impl/nm-setting-ip-config.c:2797
#, fuzzy
+#| msgid "invalid prefix length for %s '%s', defaulting to %d"
msgid "invalid prefix length for from/src"
msgstr "ungültige Präfixlänge für %s »%s«. Vorgabe %d wird verwendet"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2768
+#: src/libnm-core-impl/nm-setting-ip-config.c:2806
msgid "has to/dst but the prefix-length is zero"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip-config.c:2776
+#: src/libnm-core-impl/nm-setting-ip-config.c:2814
msgid "missing to/dst for a non zero prefix-length"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip-config.c:2783
+#: src/libnm-core-impl/nm-setting-ip-config.c:2821
#, fuzzy
+#| msgid "invalid port %d"
msgid "invalid to/dst"
msgstr "Ungültiger Port %d"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2790
+#: src/libnm-core-impl/nm-setting-ip-config.c:2828
#, fuzzy
+#| msgid "invalid prefix length for %s '%s', defaulting to %d"
msgid "invalid prefix length for to/dst"
msgstr "ungültige Präfixlänge für %s »%s«. Vorgabe %d wird verwendet"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2800
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-ip-config.c:2838
msgid "invalid iifname"
-msgstr "Ungültiger Wert"
+msgstr "Ungültiger iifname"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2810
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-ip-config.c:2848
msgid "invalid oifname"
-msgstr "Ungültiger Wert"
+msgstr "Ungültiger oifname"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2818
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-ip-config.c:2856
msgid "invalid source port range"
-msgstr "Kleinster Quellport [0]"
+msgstr "Ungültiger Quellport-Bereich"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2826
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-ip-config.c:2864
msgid "invalid destination port range"
-msgstr "Ungültige Aktion: "
+msgstr "Ungültiger Zielport-Bereich"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2836
+#: src/libnm-core-impl/nm-setting-ip-config.c:2874
msgid "suppress_prefixlength out of range"
-msgstr ""
+msgstr "suppress_prefixlength ist außerhalb des Gültigkeitsbereichs"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2844
+#: src/libnm-core-impl/nm-setting-ip-config.c:2882
msgid "suppress_prefixlength is only allowed with the to-table action"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip-config.c:2987
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-ip-config.c:3025
+#, c-format
msgid "invalid key \"%s\""
-msgstr "Ungültiger Schlüsselname »%s«: %s"
+msgstr "Ungültiger Schlüssel »%s«"
-#: src/libnm-core-impl/nm-setting-ip-config.c:2999
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-ip-config.c:3037
+#, c-format
msgid "duplicate key %s"
-msgstr "Doppelte Eigenschaft"
+msgstr "Mehrfacher Schlüssel »%s«"
-#: src/libnm-core-impl/nm-setting-ip-config.c:3015
+#: src/libnm-core-impl/nm-setting-ip-config.c:3053
#, fuzzy, c-format
+#| msgid "invalid attribute type '%s'"
msgid "invalid variant type '%s' for \"%s\""
msgstr "Ungültiger Attributtyp »%s«"
-#: src/libnm-core-impl/nm-setting-ip-config.c:3026
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-ip-config.c:3064
msgid "missing \"family\""
-msgstr "Schlüssel fehlt"
+msgstr "»family« fehlt"
-#: src/libnm-core-impl/nm-setting-ip-config.c:3034
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-ip-config.c:3072
msgid "invalid \"family\""
-msgstr "Ungültige IP-Adresse: %s"
+msgstr "»family« ungültig"
-#: src/libnm-core-impl/nm-setting-ip-config.c:3091
+#: src/libnm-core-impl/nm-setting-ip-config.c:3129
msgid "\"uid-range-start\" is greater than \"uid-range-end\""
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip-config.c:3285
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-ip-config.c:3323
msgid "Unsupported to-string-flags argument"
-msgstr "nicht unterstützte Offload-Funktion"
+msgstr ""
-#: src/libnm-core-impl/nm-setting-ip-config.c:3293
+#: src/libnm-core-impl/nm-setting-ip-config.c:3331
msgid "Unsupported extra-argument"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip-config.c:3595
+#: src/libnm-core-impl/nm-setting-ip-config.c:3633
#, fuzzy, c-format
+#| msgid "unsupported tfilter option: '%s'."
msgid "unsupported key \"%s\""
msgstr "Nicht unterstützte tfilter-Option »%s«."
-#: src/libnm-core-impl/nm-setting-ip-config.c:3602
+#: src/libnm-core-impl/nm-setting-ip-config.c:3640
#, fuzzy, c-format
+#| msgid "duplicate property"
msgid "duplicate key \"%s\""
-msgstr "doppelte VF-Index %u"
+msgstr "Doppelte Eigenschaft"
-#: src/libnm-core-impl/nm-setting-ip-config.c:3609
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-ip-config.c:3647
+#, c-format
msgid "invalid value for \"%s\""
-msgstr "Ungültiger Wert für »%s«: %s"
+msgstr "Ungültiger Wert für »%s«"
-#: src/libnm-core-impl/nm-setting-ip-config.c:3621
+#: src/libnm-core-impl/nm-setting-ip-config.c:3659
msgid "empty text does not describe a rule"
-msgstr ""
+msgstr "leerer Text beschreibt keine Regel"
-#: src/libnm-core-impl/nm-setting-ip-config.c:3629
+#: src/libnm-core-impl/nm-setting-ip-config.c:3667
#, fuzzy, c-format
+#| msgid "missing target host"
msgid "missing argument for \"%s\""
msgstr "Zielrechner fehlt"
-#: src/libnm-core-impl/nm-setting-ip-config.c:3643
+#: src/libnm-core-impl/nm-setting-ip-config.c:3681
#, fuzzy
+#| msgid "invalid port %d"
msgid "invalid \"from\" part"
msgstr "Ungültiger Port %d"
-#: src/libnm-core-impl/nm-setting-ip-config.c:3659
+#: src/libnm-core-impl/nm-setting-ip-config.c:3697
#, fuzzy
+#| msgid "invalid port %d"
msgid "invalid \"to\" part"
msgstr "Ungültiger Port %d"
-#: src/libnm-core-impl/nm-setting-ip-config.c:3670
+#: src/libnm-core-impl/nm-setting-ip-config.c:3708
msgid "cannot detect address family for rule"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip-config.c:3737
-#: src/libnm-core-impl/nm-setting-ip-config.c:3827
+#: src/libnm-core-impl/nm-setting-ip-config.c:3775
+#: src/libnm-core-impl/nm-setting-ip-config.c:3865
#, fuzzy, c-format
+#| msgid "certificate is invalid: %s"
msgid "rule is invalid: %s"
msgstr "Zertifikat ist ungültig: %s"
-#: src/libnm-core-impl/nm-setting-ip-config.c:3808
-#, fuzzy
+#: src/libnm-core-impl/nm-setting-ip-config.c:3846
msgid "invalid address family"
-msgstr "Ungültige IP-Adresse: %s"
+msgstr "Ungültige Adressfamilie"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5080
+#: src/libnm-core-impl/nm-setting-ip-config.c:5108
#, fuzzy, c-format
+#| msgid "certificate is invalid: %s"
msgid "rule #%u is invalid: %s"
msgstr "Zertifikat ist ungültig: %s"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5448
-#, c-format
-msgid "%d. DNS server address is invalid"
+#: src/libnm-core-impl/nm-setting-ip-config.c:5510
+#, fuzzy, c-format
+#| msgid "%d. DNS server address is invalid"
+msgid "%u. DNS server address is invalid"
msgstr "%d. DNS-Server-Adresse ist ungültig"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5467
+#: src/libnm-core-impl/nm-setting-ip-config.c:5530
#, c-format
msgid "%d. IP address is invalid"
msgstr "%d. IP-Adresse ist ungültig"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5482
+#: src/libnm-core-impl/nm-setting-ip-config.c:5545
#, c-format
msgid "%d. IP address has 'label' property with invalid type"
msgstr "%d. IP-Adresse hat die Eigenschaft »label« mit einem ungültigen Typ"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5494
+#: src/libnm-core-impl/nm-setting-ip-config.c:5557
#, c-format
msgid "%d. IP address has invalid label '%s'"
msgstr "%d. IP-Adresse hat den ungültigen Typ »%s«"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5512
+#: src/libnm-core-impl/nm-setting-ip-config.c:5575
msgid "gateway cannot be set if there are no addresses configured"
msgstr ""
-"»gateway« kann nicht festgelegt werden, wenn keine Adressen eingerichtet sind"
+"Gateway kann nicht festgelegt werden, wenn keine Adressen eingerichtet sind"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5524
+#: src/libnm-core-impl/nm-setting-ip-config.c:5587
msgid "gateway is invalid"
msgstr "Gateway ist ungültig"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5542
+#: src/libnm-core-impl/nm-setting-ip-config.c:5605
#, c-format
msgid "%d. route is invalid"
-msgstr "%d. Zielwegwahl ist ungültig"
+msgstr "%d. Route ist ungültig"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5555
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-ip-config.c:5618
+#, c-format
msgid "invalid attribute: %s"
-msgstr "Ungültiger Attributtyp »%s«"
+msgstr "Ungültiges Attribut: %s"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5575
+#: src/libnm-core-impl/nm-setting-ip-config.c:5638
#, c-format
msgid "%u. rule has wrong address-family"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip-config.c:5587
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-ip-config.c:5650
+#, c-format
msgid "%u. rule is invalid: %s"
-msgstr "%d. Zielwegwahl ist ungültig"
+msgstr "%u. Route ist ungültig: %s"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5603
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-ip-config.c:5666
+#, c-format
msgid "'%s' is not a valid IAID"
-msgstr "»%s» ist keine gültige UUID"
+msgstr "»%s» ist keine gültige IAID"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5617
+#: src/libnm-core-impl/nm-setting-ip-config.c:5680
#, fuzzy, c-format
+#| msgid "property cannot be set when dhcp-hostname is also set"
msgid "the property cannot be set when '%s' is disabled"
-msgstr ""
-"Eigenschaft darf nicht gesetzt sein, wenn dhcp-hostname auch gesetzt ist"
+msgstr "Eigenschaft darf nicht gesetzt sein, wenn dhcp-hostname auch gesetzt ist"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5643
+#: src/libnm-core-impl/nm-setting-ip-config.c:5706
msgid "the property is currently supported only for DHCPv4"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip-config.c:5660
+#: src/libnm-core-impl/nm-setting-ip-config.c:5723
#, fuzzy, c-format
+#| msgid "'%s' is not a valid IP address"
msgid "'%s' is not a valid IP or subnet"
msgstr "»%s« ist keine gültige IP-Adresse"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5676
+#: src/libnm-core-impl/nm-setting-ip-config.c:5739
#, c-format
msgid "a gateway is incompatible with '%s'"
msgstr "ein Gateway ist nicht kompatibel mit »%s«"
-#: src/libnm-core-impl/nm-setting-ip-tunnel.c:346
+#: src/libnm-core-impl/nm-setting-ip-tunnel.c:364
#, c-format
msgid "'%d' is not a valid tunnel mode"
msgstr "»%d« ist kein gültiger Tunnel-Modus"
-#: src/libnm-core-impl/nm-setting-ip-tunnel.c:373
-#: src/libnm-core-impl/nm-setting-ip-tunnel.c:399
+#: src/libnm-core-impl/nm-setting-ip-tunnel.c:391
+#: src/libnm-core-impl/nm-setting-ip-tunnel.c:417
#, c-format
msgid "'%s' is not a valid IPv%c address"
msgstr "»%s« ist keine gültige IPv%c-Adresse"
-#: src/libnm-core-impl/nm-setting-ip-tunnel.c:418
-msgid "tunnel keys can only be specified for GRE tunnels"
+#: src/libnm-core-impl/nm-setting-ip-tunnel.c:438
+#, fuzzy
+#| msgid "tunnel keys can only be specified for GRE tunnels"
+msgid "tunnel keys can only be specified for GRE and VTI tunnels"
msgstr "Tunnel-Schlüssel können nur für GRE-Tunnel angegeben werden"
-#: src/libnm-core-impl/nm-setting-ip-tunnel.c:431
-#: src/libnm-core-impl/nm-setting-ip-tunnel.c:449
+#: src/libnm-core-impl/nm-setting-ip-tunnel.c:451
+#: src/libnm-core-impl/nm-setting-ip-tunnel.c:469
#, c-format
msgid "'%s' is not a valid tunnel key"
msgstr "»%s« ist kein gültiger Tunnel-Schlüssel"
-#: src/libnm-core-impl/nm-setting-ip-tunnel.c:463
+#: src/libnm-core-impl/nm-setting-ip-tunnel.c:483
msgid "a fixed TTL is allowed only when path MTU discovery is enabled"
msgstr ""
-"ein fester TTL-wert ist nur erlaubt, sofern »path MTU discovery« "
-"eingeschaltet ist"
+"ein fester TTL-wert ist nur erlaubt, sofern »path MTU discovery« eingeschaltet "
+"ist"
-#: src/libnm-core-impl/nm-setting-ip-tunnel.c:478
+#: src/libnm-core-impl/nm-setting-ip-tunnel.c:502
#, c-format
msgid "some flags are invalid for the select mode: %s"
-msgstr "Einige Flags sind für den Auswahlmodus ungültig: %s"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-ip-tunnel.c:515
+msgid "can be set only on VTI tunnels"
+msgstr "darf nur für VTI-Tunnel festgelegt werden"
-#: src/libnm-core-impl/nm-setting-ip-tunnel.c:491
+#: src/libnm-core-impl/nm-setting-ip-tunnel.c:527
#, c-format
msgid "wired setting not allowed for mode %s"
-msgstr "verdrahtete Einstellung für Modus nicht erlaubt %s"
+msgstr ""
-#: src/libnm-core-impl/nm-setting-ip4-config.c:172
-#: src/libnm-core-impl/nm-setting-ip6-config.c:215
+#: src/libnm-core-impl/nm-setting-ip4-config.c:171
+#: src/libnm-core-impl/nm-setting-ip6-config.c:236
#, c-format
-msgid "this property cannot be empty for '%s=%s'"
-msgstr "Diese Eigenschaft darf nicht für »%s=%s« leer sein"
+msgid "method '%s' requires at least an address or a route"
+msgstr ""
-#: src/libnm-core-impl/nm-setting-ip4-config.c:188
-#: src/libnm-core-impl/nm-setting-ip4-config.c:202
-#: src/libnm-core-impl/nm-setting-ip4-config.c:218
-#: src/libnm-core-impl/nm-setting-ip6-config.c:235
-#: src/libnm-core-impl/nm-setting-ip6-config.c:249
-#: src/libnm-core-impl/nm-setting-ip6-config.c:263
+#: src/libnm-core-impl/nm-setting-ip4-config.c:186
+#: src/libnm-core-impl/nm-setting-ip4-config.c:200
+#: src/libnm-core-impl/nm-setting-ip4-config.c:216
+#: src/libnm-core-impl/nm-setting-ip6-config.c:255
+#: src/libnm-core-impl/nm-setting-ip6-config.c:269
+#: src/libnm-core-impl/nm-setting-ip6-config.c:283
#, c-format
msgid "this property is not allowed for '%s=%s'"
msgstr "Diese Eigenschaft ist nicht erlaubt für »%s=%s«"
-#: src/libnm-core-impl/nm-setting-ip4-config.c:262
+#: src/libnm-core-impl/nm-setting-ip4-config.c:260
msgid "cannot enable ipv4.link-local with ipv4.method=disabled"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip4-config.c:274
+#: src/libnm-core-impl/nm-setting-ip4-config.c:272
msgid "cannot disable ipv4.link-local with ipv4.method=link-local"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip4-config.c:310
+#: src/libnm-core-impl/nm-setting-ip4-config.c:308
#, c-format
msgid "'%s' is not a valid FQDN"
msgstr "»%s« ist keine gültiger FQDN"
-#: src/libnm-core-impl/nm-setting-ip4-config.c:323
+#: src/libnm-core-impl/nm-setting-ip4-config.c:321
msgid "property cannot be set when dhcp-hostname is also set"
-msgstr ""
-"Eigenschaft darf nicht gesetzt sein, wenn dhcp-hostname auch gesetzt ist"
+msgstr "Eigenschaft darf nicht gesetzt sein, wenn dhcp-hostname auch gesetzt ist"
-#: src/libnm-core-impl/nm-setting-ip4-config.c:338
+#: src/libnm-core-impl/nm-setting-ip4-config.c:336
msgid "FQDN flags requires a FQDN set"
msgstr ""
-#: src/libnm-core-impl/nm-setting-ip4-config.c:357
+#: src/libnm-core-impl/nm-setting-ip4-config.c:355
#, c-format
msgid "multiple addresses are not allowed for '%s=%s'"
msgstr "mehrfache Adressen sind nicht erlaubt für »%s=%s«"
-#: src/libnm-core-impl/nm-setting-ip4-config.c:374
+#: src/libnm-core-impl/nm-setting-ip4-config.c:372
msgid "property should be TRUE when method is set to disabled"
msgstr ""
"Der Eigenschaft sollte auf »TRUE« eingestellt sein, wenn die Methode "
"deaktiviert ist"
-#: src/libnm-core-impl/nm-setting-ip6-config.c:315
+#: src/libnm-core-impl/nm-setting-ip6-config.c:335
msgid "value is not a valid token"
msgstr "Der Wert ist keine gültiges Token"
-#: src/libnm-core-impl/nm-setting-ip6-config.c:329
+#: src/libnm-core-impl/nm-setting-ip6-config.c:349
msgid "only makes sense with EUI64 address generation mode"
msgstr "ergibt nur einen Sinn im Modus EUI64-Addressenerstellung"
-#: src/libnm-core-impl/nm-setting-ip6-config.c:343
+#: src/libnm-core-impl/nm-setting-ip6-config.c:363
msgid "invalid DUID"
msgstr "Ungültige DUID"
-#: src/libnm-core-impl/nm-setting-ip6-config.c:358
+#: src/libnm-core-impl/nm-setting-ip6-config.c:380
+#, fuzzy
+#| msgid "Invalid IPv6 address prefix '%u'"
+msgid "must be a valid IPv6 address with prefix"
+msgstr "Ungültiges IPv6-Adressenpräfix »%u«"
+
+#: src/libnm-core-impl/nm-setting-ip6-config.c:395
msgid "token is not in canonical form"
msgstr "Token ist nicht in kanonischer Form"
-#: src/libnm-core-impl/nm-setting-ip6-config.c:375
+#: src/libnm-core-impl/nm-setting-ip6-config.c:412
#, fuzzy
+#| msgid "property should be TRUE when method is set to disabled"
msgid "property should be TRUE when method is set to ignore or disabled"
msgstr ""
"Der Eigenschaft sollte auf »TRUE« eingestellt sein, wenn die Methode "
"deaktiviert ist"
-#: src/libnm-core-impl/nm-setting-macsec.c:251
+#: src/libnm-core-impl/nm-setting-loopback.c:86
+#, c-format
+msgid "ipv4 method \"%s\" is not supported for loopback"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-loopback.c:101
+msgid "ipv4.link-local cannot be enabled for loopback"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-loopback.c:117
+#, c-format
+msgid "ipv6 method \"%s\" is not supported for loopback"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-loopback.c:133
+msgid "a loopback profile cannot be a port"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-macsec.c:249
msgid "the key is empty"
msgstr "Schlüssel ist leer"
-#: src/libnm-core-impl/nm-setting-macsec.c:260
+#: src/libnm-core-impl/nm-setting-macsec.c:259
#, c-format
msgid "the key must be %d characters"
msgstr "Schlüssel muss %d Zeichen lang sein"
#: src/libnm-core-impl/nm-setting-macsec.c:269
+#, fuzzy
+#| msgid "IV must be an even number of bytes in length."
+msgid "the key must have an even number of characters between 2 and 64"
+msgstr "IV muss eine gerade Anzahl an Byte lang sein."
+
+#: src/libnm-core-impl/nm-setting-macsec.c:278
msgid "the key contains non-hexadecimal characters"
msgstr "Schlüssel enthält nicht-hexadezimale Zeichen"
-#: src/libnm-core-impl/nm-setting-macsec.c:338
-#: src/libnm-core-impl/nm-setting-macvlan.c:156
-#: src/libnm-core-impl/nm-setting-vlan.c:638
+#: src/libnm-core-impl/nm-setting-macsec.c:347
+#: src/libnm-core-impl/nm-setting-macvlan.c:154
+#: src/libnm-core-impl/nm-setting-vlan.c:654
#, c-format
msgid "property is not specified and neither is '%s:%s'"
msgstr "Eigenschaft ist nicht festgelegt und ebensowenig ist »%s:%s«"
-#: src/libnm-core-impl/nm-setting-macsec.c:369
+#: src/libnm-core-impl/nm-setting-macsec.c:378
#, c-format
msgid "EAP key management requires '%s' setting presence"
msgstr "EAP-Schlüsselverwaltung erfordert Vorhandensein der Einstellung »%s«"
-#: src/libnm-core-impl/nm-setting-macsec.c:378
+#: src/libnm-core-impl/nm-setting-macsec.c:387
msgid "must be either psk (0) or eap (1)"
-msgstr ""
+msgstr "muss entweder psk (0) oder eap (1) sein"
-#: src/libnm-core-impl/nm-setting-macsec.c:389
+#: src/libnm-core-impl/nm-setting-macsec.c:398
msgid "only valid for psk mode"
-msgstr ""
+msgstr "nur gültig für psk-Modus"
-#: src/libnm-core-impl/nm-setting-macvlan.c:171
+#: src/libnm-core-impl/nm-setting-macvlan.c:169
msgid "non promiscuous operation is allowed only in passthru mode"
-msgstr "Nicht promiskuitive Operation ist nur im Durchgangsmodus erlaubt"
+msgstr ""
+#: src/libnm-core-impl/nm-setting-match.c:644
#: src/libnm-core-impl/nm-setting-match.c:660
#: src/libnm-core-impl/nm-setting-match.c:676
#: src/libnm-core-impl/nm-setting-match.c:692
-#: src/libnm-core-impl/nm-setting-match.c:708
-#, fuzzy
msgid "is empty"
-msgstr "Adresse ist leer"
+msgstr "ist leer"
-#: src/libnm-core-impl/nm-setting-olpc-mesh.c:112
-#: src/libnm-core-impl/nm-setting-wireless.c:854
+#: src/libnm-core-impl/nm-setting-olpc-mesh.c:110
+#: src/libnm-core-impl/nm-setting-wireless.c:908
msgid "SSID length is out of range <1-32> bytes"
msgstr "Länge der SSID ist außerhalb des Bereichs <1-32> Byte"
-#: src/libnm-core-impl/nm-setting-olpc-mesh.c:124
-#: src/libnm-core-impl/nm-setting-wireless.c:907
+#: src/libnm-core-impl/nm-setting-olpc-mesh.c:122
+#: src/libnm-core-impl/nm-setting-wireless.c:961
#, c-format
msgid "'%d' is not a valid channel"
msgstr "»%d« ist kein gültiger Kanal"
@@ -2583,106 +2679,80 @@ msgstr "»%d« ist kein gültiger Kanal"
#: src/libnm-core-impl/nm-setting-ovs-bridge.c:160
#, c-format
msgid "A connection with a '%s' setting must not have a master."
-msgstr "Eine Verbindung mit einem '%s' Einstellung darf keinen Master haben."
+msgstr ""
#: src/libnm-core-impl/nm-setting-ovs-bridge.c:174
#, c-format
msgid "'%s' is not allowed in fail_mode"
msgstr "»%s« ist nicht mit »fail_mode« erlaubt"
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:90
-#: src/libnm-core-impl/nm-setting-user.c:91
-msgid "missing key"
-msgstr "Schlüssel fehlt"
+#: src/libnm-core-impl/nm-setting-ovs-dpdk.c:124
+#: src/libnm-core-impl/nm-setting-ovs-dpdk.c:136
+msgid "must be a power of two"
+msgstr "muss eine Zweierpotenz sein"
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:98
-#: src/libnm-core-impl/nm-setting-user.c:99
-msgid "key is too long"
-msgstr "Der Schlüssel ist zu lang"
-
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:105
-#: src/libnm-core-impl/nm-setting-user.c:106
-msgid "key must be UTF8"
-msgstr "Schlüssel muss in UTF-8 vorliegen"
-
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:114
-#: src/libnm-core-impl/nm-setting-user.c:153
-msgid "key contains invalid characters"
-msgstr "Schlüssel enthält ungültige Zeichen"
-
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:123
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:115
#, fuzzy
+#| msgid "key cannot contain \"..\""
msgid "key cannot start with \"NM.\""
msgstr "Schlüssel darf kein »..« enthalten"
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:153
-#: src/libnm-core-impl/nm-setting-user.c:180
-msgid "value is missing"
-msgstr "Wert fehlt"
-
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:162
-#: src/libnm-core-impl/nm-setting-user.c:189
-msgid "value is too large"
-msgstr "Wert ist zu groß"
-
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:170
-#: src/libnm-core-impl/nm-setting-user.c:197
-msgid "value is not valid UTF8"
-msgstr "Wert ist kein gültiges UTF-8"
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:166
+#, c-format
+msgid ""
+"OVS %s can only be added to a profile of type OVS bridge/port/interface or to "
+"OVS system interface"
+msgstr ""
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:313
-#: src/libnm-core-impl/nm-setting-user.c:357
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:363
+#: src/libnm-core-impl/nm-setting-ovs-other-config.c:201
+#: src/libnm-core-impl/nm-setting-user.c:361
#, c-format
msgid "invalid key \"%s\": %s"
msgstr "Ungültiger Schlüsselname »%s«: %s"
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:337
-#: src/libnm-core-impl/nm-setting-user.c:381
-#, c-format
-msgid "maximum number of user data entries reached (%u instead of %u)"
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:387
+#: src/libnm-core-impl/nm-setting-ovs-other-config.c:225
+#, fuzzy, c-format
+#| msgid "maximum number of user data entries reached (%u instead of %u)"
+msgid "maximum number of entries reached (%u instead of %u)"
msgstr ""
"Die Höchstzahl an Benutzerdateneinträgen ist erreicht (%u anstelle von %u)"
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:380
-msgid ""
-"OVS external IDs can only be added to a profile of type OVS bridge/port/"
-"interface or to OVS system interface"
-msgstr ""
-
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:93
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:110
#, c-format
msgid "'%s' is not a valid interface type"
msgstr "»%s« ist kein gültiger Schnittstellentyp"
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:120
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:137
#, c-format
msgid "A connection with a '%s' setting needs connection.type explicitly set"
msgstr ""
"Für eine Verbindung mit der Einstellung »%s« muss »connection.type« explizit "
"festgelegt werden"
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:134
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:151
#, c-format
msgid "A connection of type '%s' cannot have ovs-interface.type \"system\""
msgstr ""
"Für eine Verbindung des Typs »%s« darf nicht ovs-interface.type auf »system« "
"gesetzt sein"
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:148
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:165
#, c-format
msgid "A connection of type '%s' cannot have an ovs-interface.type \"%s\""
msgstr ""
"Für eine Verbindung des Typs »%s« darf nicht ovs-interface.type auf »%s« "
"gesetzt sein"
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:170
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:187
#, fuzzy, c-format
msgid "A connection can not have both '%s' and '%s' settings at the same time"
msgstr ""
"Für eine Verbindung des Typs »%s« muss connection.type auf »ovs-interface« "
"gesetzt sein, es ist aber »%s« gesetzt"
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:184
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:201
#, c-format
msgid ""
"A connection with '%s' setting must be of connection.type \"ovs-interface\" "
@@ -2691,8 +2761,11 @@ msgstr ""
"Für eine Verbindung des Typs »%s« muss connection.type auf »ovs-interface« "
"gesetzt sein, es ist aber »%s« gesetzt"
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:200
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:217
#, fuzzy, c-format
+#| msgid ""
+#| "A connection with '%s' setting needs to be of 'patch' interface type, not "
+#| "'%s'"
msgid ""
"A connection with '%s' setting needs to be of '%s' interface type, not '%s'"
msgstr ""
@@ -2700,90 +2773,122 @@ msgstr ""
"haben und nicht »%s«"
# Das Original ist kein vollständiger, sinnvoller Satz
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:222
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:239
#, fuzzy, c-format
msgid "A connection with ovs-interface.type '%s' setting a 'ovs-patch' setting"
msgstr ""
"Für eine Verbindung des Typs »%s« muss connection.type auf »ovs-interface« "
"gesetzt sein, es ist aber »%s« gesetzt"
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:250
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:267
msgid "Missing ovs interface setting"
msgstr "Einstellung für ovs-Schnittstelle fehlt"
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:256
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:273
msgid "Missing ovs interface type"
msgstr "Typ der ovs-Schnittstelle fehlt"
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:298
-#: src/libnm-core-impl/nm-setting-ovs-port.c:179
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:315
+#, fuzzy, c-format
+msgid "A connection with a '%s' setting must have a controller."
+msgstr ""
+"Für eine Verbindung des Typs »%s« muss connection.type auf »ovs-interface« "
+"gesetzt sein, es ist aber »%s« gesetzt"
+
+#: src/libnm-core-impl/nm-setting-ovs-port.c:347
+msgid "VLANs must be between 0 and 4095"
+msgstr "VLAN muss zwischen 0 und 4095 liegen"
+
+#: src/libnm-core-impl/nm-setting-ovs-port.c:356
+#, c-format
+msgid "duplicate VLAN %u"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-ovs-port.c:384
+#, c-format
+msgid "VLANs %u and %u are not sorted in ascending order"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-ovs-port.c:420
#, fuzzy, c-format
msgid "A connection with a '%s' setting must have a master."
msgstr ""
"Für eine Verbindung des Typs »%s« muss connection.type auf »ovs-interface« "
"gesetzt sein, es ist aber »%s« gesetzt"
-#: src/libnm-core-impl/nm-setting-ovs-port.c:215
+#: src/libnm-core-impl/nm-setting-ovs-port.c:434
+#, fuzzy, c-format
+#| msgid ""
+#| "A connection with a '%s' setting must have the slave-type set to '%s'. "
+#| "Instead it is '%s'"
+msgid ""
+"A connection with a '%s' setting must have the port-type set to '%s'. Instead "
+"it is '%s'"
+msgstr ""
+"Für Verbindungen mit einer »%s«-Einstellung muss der Slave-Typ auf »%s« "
+"gesetzt sein, hier ist es jedoch »%s«."
+
+#: src/libnm-core-impl/nm-setting-ovs-port.c:457
#, c-format
msgid "'%s' is not allowed in vlan_mode"
msgstr "»%s« ist nicht mit »vlan_mode« erlaubt"
-#: src/libnm-core-impl/nm-setting-ovs-port.c:228
+#: src/libnm-core-impl/nm-setting-ovs-port.c:470
#, c-format
msgid "the tag id must be in range 0-4094 but is %u"
-msgstr "Die Tag-ID muss im Bereich 0-4094 liegen, ist aber %u"
+msgstr ""
-#: src/libnm-core-impl/nm-setting-ovs-port.c:238
+#: src/libnm-core-impl/nm-setting-ovs-port.c:480
#, c-format
msgid "'%s' is not allowed in lacp"
msgstr "»%s« ist nicht mit »lacp« erlaubt"
-#: src/libnm-core-impl/nm-setting-ovs-port.c:251
+#: src/libnm-core-impl/nm-setting-ovs-port.c:493
#, c-format
msgid "'%s' is not allowed in bond_mode"
msgstr "»%s« ist nicht mit »bond_mode« erlaubt"
-#: src/libnm-core-impl/nm-setting-ppp.c:353
+#: src/libnm-core-impl/nm-setting-ppp.c:350
#, c-format
msgid "'%d' is out of valid range <128-16384>"
msgstr "»%d« ist außerhalb des Bereichs <128-16384>"
-#: src/libnm-core-impl/nm-setting-ppp.c:366
+#: src/libnm-core-impl/nm-setting-ppp.c:363
#, c-format
msgid "setting this property requires non-zero '%s' property"
msgstr ""
-"Festlegen dieser Eigenschaft erfordert eine von Null verschiedene "
-"Eigenschaft »%s«"
+"Festlegen dieser Eigenschaft erfordert eine von Null verschiedene Eigenschaft "
+"»%s«"
-#: src/libnm-core-impl/nm-setting-proxy.c:138
+#: src/libnm-core-impl/nm-setting-proxy.c:137
msgid "invalid proxy method"
msgstr "ungültige Proxy-Methode"
-#: src/libnm-core-impl/nm-setting-proxy.c:148
-#: src/libnm-core-impl/nm-setting-proxy.c:160
+#: src/libnm-core-impl/nm-setting-proxy.c:147
+#: src/libnm-core-impl/nm-setting-proxy.c:159
msgid "this property is not allowed for method none"
msgstr "Diese Eigenschaft ist nicht erlaubt für die Methode »none«"
-#: src/libnm-core-impl/nm-setting-proxy.c:174
+#: src/libnm-core-impl/nm-setting-proxy.c:173
msgid "the script is too large"
msgstr "Das Skript ist zu groß"
-#: src/libnm-core-impl/nm-setting-proxy.c:185
+#: src/libnm-core-impl/nm-setting-proxy.c:184
msgid "the script is not valid utf8"
msgstr "Das Skript ist kein gültiges UTF8"
-#: src/libnm-core-impl/nm-setting-proxy.c:196
+#: src/libnm-core-impl/nm-setting-proxy.c:195
msgid "the script lacks FindProxyForURL function"
msgstr "dem Skript fehlt die Funktion FindProxyForURL"
#: src/libnm-core-impl/nm-setting-sriov.c:422
-#: src/libnm-core-impl/nm-setting-wired.c:803
-#: src/libnm-core-impl/nm-setting-wired.c:819
-#: src/libnm-core-impl/nm-setting-wired.c:893
-#: src/libnm-core-impl/nm-setting-wired.c:952
-#: src/libnm-core-impl/nm-setting-wireless.c:997
-#: src/libnm-core-impl/nm-setting-wireless.c:1016
-#: src/libnmc-setting/nm-meta-setting-desc.c:4213
+#: src/libnm-core-impl/nm-setting-wired.c:809
+#: src/libnm-core-impl/nm-setting-wired.c:825
+#: src/libnm-core-impl/nm-setting-wired.c:899
+#: src/libnm-core-impl/nm-setting-wired.c:958
+#: src/libnm-core-impl/nm-setting-wireless.c:1051
+#: src/libnm-core-impl/nm-setting-wireless.c:1070
+#: src/libnmc-setting/nm-meta-setting-desc.c:4283
#, c-format
msgid "'%s' is not a valid MAC address"
msgstr "»%s« ist keine gültige MAC-Adresse"
@@ -2801,7 +2906,7 @@ msgstr "ungültige VF %u: %s"
#: src/libnm-core-impl/nm-setting-sriov.c:1073
#, c-format
msgid "duplicate VF index %u"
-msgstr "doppelte VF-Index %u"
+msgstr ""
#: src/libnm-core-impl/nm-setting-sriov.c:1097
#, c-format
@@ -2812,6 +2917,7 @@ msgstr "VFs %d und %d sind nicht nach aufsteigendem Index sortiert"
#: src/libnm-core-impl/nm-setting-tc-config.c:420
#: src/libnm-core-impl/nm-setting-tc-config.c:697
#, fuzzy
+#| msgid "value is missing"
msgid "kind is missing"
msgstr "Wert fehlt"
@@ -2830,11 +2936,11 @@ msgstr "Daten fehlen"
#: src/libnm-core-impl/nm-setting-tc-config.c:1284
msgid "there are duplicate TC qdiscs"
-msgstr "Es gibt doppelte TC qdiscs"
+msgstr ""
#: src/libnm-core-impl/nm-setting-tc-config.c:1303
msgid "there are duplicate TC filters"
-msgstr "Es gibt doppelte TC-Filter"
+msgstr ""
#: src/libnm-core-impl/nm-setting-team.c:119
#: src/libnm-core-impl/nm-setting-team.c:193
@@ -2845,18 +2951,18 @@ msgstr "»%s« ist außerhalb des Bereichs [0, %d]"
#: src/libnm-core-impl/nm-setting-team.c:170
msgid "Missing target-host in nsna_ping link watcher"
-msgstr "Fehlender Ziel-Host in nsna_ping Link Watcher"
+msgstr "Fehlender Zielhost in der nsna_ping Verbindungsüberwachung"
#: src/libnm-core-impl/nm-setting-team.c:178
#: src/libnm-core-impl/nm-setting-team.c:301
#, c-format
msgid "target-host '%s' contains invalid characters"
-msgstr "Zielrechner »%s« enthält ungültige Zeichen"
+msgstr "Zielhost »%s« enthält ungültige Zeichen"
#: src/libnm-core-impl/nm-setting-team.c:292
#, c-format
msgid "Missing %s in arp_ping link watcher"
-msgstr "Vermisst %s in arp_ping Linkbeobachter"
+msgstr "Fehlender %s in der arp_ping Verbindungsüberwachung"
#: src/libnm-core-impl/nm-setting-team.c:310
#, c-format
@@ -2865,136 +2971,145 @@ msgstr "Quellrechner »%s« enthält ungültige Zeichen"
#: src/libnm-core-impl/nm-setting-team.c:335
#, fuzzy
+#| msgid "%s is out of range [0, %d]"
msgid "vlanid is out of range [-1, 4094]"
msgstr "»%s« ist außerhalb des Bereichs [0, %d]"
-#: src/libnm-core-impl/nm-setting-tun.c:165
+#: src/libnm-core-impl/nm-setting-tun.c:162
#, c-format
msgid "'%u': invalid mode"
msgstr "»%u«: ungültiger Modus"
-#: src/libnm-core-impl/nm-setting-tun.c:176
+#: src/libnm-core-impl/nm-setting-tun.c:173
#, c-format
msgid "'%s': invalid user ID"
msgstr "»%s«: ungültige Benutzerkennung"
-#: src/libnm-core-impl/nm-setting-tun.c:188
+#: src/libnm-core-impl/nm-setting-tun.c:185
#, c-format
msgid "'%s': invalid group ID"
msgstr "»%s«: ungültige Gruppenkennung"
-#: src/libnm-core-impl/nm-setting-user.c:131
+#: src/libnm-core-impl/nm-setting-user.c:133
msgid "key requires a '.' for a namespace"
msgstr "Schlüssel erfordert ein ».« für einen Namensraum"
-#: src/libnm-core-impl/nm-setting-user.c:146
+#: src/libnm-core-impl/nm-setting-user.c:148
msgid "key cannot contain \"..\""
msgstr "Schlüssel darf kein »..« enthalten"
-#: src/libnm-core-impl/nm-setting-user.c:314
+#: src/libnm-core-impl/nm-setting-user.c:318
msgid "maximum number of user data entries reached"
msgstr "Die Höchstzahl an Benutzerdateneinträgen ist erreicht"
-#: src/libnm-core-impl/nm-setting-veth.c:90
-#, fuzzy, c-format
-msgid "'%s' is not a valid interface name"
-msgstr "»%s« ist kein gültiger Schnittstellentyp"
+#: src/libnm-core-impl/nm-setting-user.c:385
+#, c-format
+msgid "maximum number of user data entries reached (%u instead of %u)"
+msgstr ""
+"Die Höchstzahl an Benutzerdateneinträgen ist erreicht (%u anstelle von %u)"
-#: src/libnm-core-impl/nm-setting-vlan.c:650
+#: src/libnm-core-impl/nm-setting-vlan.c:666
#, c-format
msgid "the vlan id must be in range 0-4094 but is %u"
msgstr "Die vlan-ID muss im Bereich 0-4094 sein, ist aber %u"
-#: src/libnm-core-impl/nm-setting-vlan.c:660
+#: src/libnm-core-impl/nm-setting-vlan.c:676
msgid "flags are invalid"
msgstr "Flags sind ungültig"
-#: src/libnm-core-impl/nm-setting-vlan.c:672
+#: src/libnm-core-impl/nm-setting-vlan.c:685
+#, c-format
+msgid "invalid VLAN protocol %s: must be '802.1Q' or '802.1ad'"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-vlan.c:698
msgid "vlan setting should have a ethernet setting as well"
msgstr "Eine vlan-Einstellung sollte ebenfalls eine Ethernet-Einstellung haben"
-#: src/libnm-core-impl/nm-setting-vpn.c:574
+#: src/libnm-core-impl/nm-setting-vpn.c:573
msgid "cannot set connection.multi-connect for VPN setting"
-msgstr "kann connection.multi-connect für die VPN-Einstellung nicht festlegen"
+msgstr ""
-#: src/libnm-core-impl/nm-setting-vpn.c:613
+#: src/libnm-core-impl/nm-setting-vpn.c:612
msgid "setting contained a secret with an empty name"
msgstr "Die Einstellung enthält ein Geheimnis mit einem leeren Namen"
-#: src/libnm-core-impl/nm-setting-vpn.c:652
-#: src/libnm-core-impl/nm-setting.c:3325
+#: src/libnm-core-impl/nm-setting-vpn.c:651 src/libnm-core-impl/nm-setting.c:3481
msgid "not a secret property"
msgstr "Keine Eigenschaft von »Geheimnis«"
-#: src/libnm-core-impl/nm-setting-vpn.c:660
+#: src/libnm-core-impl/nm-setting-vpn.c:659
msgid "secret is not of correct type"
msgstr "»Geheimnis« ist nicht vom richtigen Typ"
-#: src/libnm-core-impl/nm-setting-vpn.c:742
-#: src/libnm-core-impl/nm-setting-vpn.c:792
+#: src/libnm-core-impl/nm-setting-vpn.c:741
+#: src/libnm-core-impl/nm-setting-vpn.c:791
#, fuzzy
+#| msgid "'%s' cannot be empty"
msgid "secret name cannot be empty"
msgstr "»%s« darf nicht leer sein"
-#: src/libnm-core-impl/nm-setting-vpn.c:758
+#: src/libnm-core-impl/nm-setting-vpn.c:757
#, fuzzy
+#| msgid "secret not found"
msgid "secret flags property not found"
msgstr "Passwort nicht gefunden"
#: src/libnm-core-impl/nm-setting-vrf.c:73
#, fuzzy
+#| msgid "'%s' cannot be empty"
msgid "table cannot be zero"
msgstr "»%s« darf nicht leer sein"
-#: src/libnm-core-impl/nm-setting-vxlan.c:356
-#: src/libnm-core-impl/nm-setting-vxlan.c:367
+#: src/libnm-core-impl/nm-setting-vxlan.c:354
+#: src/libnm-core-impl/nm-setting-vxlan.c:365
#, fuzzy, c-format
+#| msgid "'%s' is not a valid IP%c address"
msgid "'%s' is not a valid IP%s address"
msgstr "»%s« ist keine gültige IP%c-Adresse"
-#: src/libnm-core-impl/nm-setting-vxlan.c:390
+#: src/libnm-core-impl/nm-setting-vxlan.c:388
#, c-format
msgid "%d is greater than local port max %d"
msgstr "%d ist größer als das Maximum %d des lokalen Ports"
-#: src/libnm-core-impl/nm-setting-wired.c:783
+#: src/libnm-core-impl/nm-setting-wired.c:789
#, c-format
msgid "'%s' is not a valid Ethernet port value"
msgstr "»%s« ist kein gültiger Wert für einen Ethernet-Port"
-#: src/libnm-core-impl/nm-setting-wired.c:793
+#: src/libnm-core-impl/nm-setting-wired.c:799
#, c-format
msgid "'%s' is not a valid duplex value"
msgstr "»%s« ist kein gültiger Duplex-Wert"
-#: src/libnm-core-impl/nm-setting-wired.c:866
+#: src/libnm-core-impl/nm-setting-wired.c:872
#, fuzzy, c-format
+#| msgid "invalid key \"%s\": %s"
msgid "invalid key '%s'"
-msgstr "ungültiger Schlüssel '%s.%s'"
+msgstr "Ungültiger Schlüsselname »%s«: %s"
-#: src/libnm-core-impl/nm-setting-wired.c:878
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-wired.c:884
+#, c-format
msgid "invalid value for key '%s'"
-msgstr "Ungültiger Wert für »%s«: %s"
+msgstr "Ungültiger Wert für Schlüssel »%s«"
-#: src/libnm-core-impl/nm-setting-wired.c:927
+#: src/libnm-core-impl/nm-setting-wired.c:933
msgid "Wake-on-LAN mode 'default' and 'ignore' are exclusive flags"
msgstr ""
"Modi »default« und »ignore« für Wake-on-LAN schließen sich gegenseitig aus"
-#: src/libnm-core-impl/nm-setting-wired.c:940
+#: src/libnm-core-impl/nm-setting-wired.c:946
msgid "Wake-on-LAN password can only be used with magic packet mode"
msgstr ""
"Passwort für Wake-on-LAN kann nur zusammen mit dem magischen Paketmodus "
"verwendet werden"
-#: src/libnm-core-impl/nm-setting-wired.c:971
+#: src/libnm-core-impl/nm-setting-wired.c:977
msgid "both speed and duplex should have a valid value or both should be unset"
msgstr ""
-"Sowohl Geschwindigkeit als auch Duplex sollten einen gültigen Wert haben "
-"oder beide sollten nicht gesetzt sein"
-#: src/libnm-core-impl/nm-setting-wired.c:972
+#: src/libnm-core-impl/nm-setting-wired.c:978
msgid "both speed and duplex are required for static link configuration"
msgstr ""
"sowohl Geschwindigkeit als auch Duplexmodus sind für eine statische Link-"
@@ -3010,16 +3125,19 @@ msgstr ""
#: src/libnm-core-impl/nm-setting-wireguard.c:764
#, fuzzy
+#| msgid "invalid private key"
msgid "invalid preshared-key for peer"
msgstr "Ungültiger privater Schlüssel"
#: src/libnm-core-impl/nm-setting-wireguard.c:783
#, fuzzy
+#| msgid "Local endpoint [none]"
msgid "invalid endpoint for peer"
msgstr "Lokaler Endpunkt [keiner]"
#: src/libnm-core-impl/nm-setting-wireguard.c:795
#, fuzzy, c-format
+#| msgid "invalid IP address: %s"
msgid "invalid IP address \"%s\" for allowed-ip of peer"
msgstr "Ungültige IP-Adresse: %s"
@@ -3049,6 +3167,7 @@ msgstr ""
#: src/libnm-core-impl/nm-setting-wireguard.c:1663
#, fuzzy, c-format
+#| msgid "certificate is invalid: %s"
msgid "peer #%u is invalid: %s"
msgstr "Zertifikat ist ungültig: %s"
@@ -3062,160 +3181,179 @@ msgstr ""
msgid "key must be 32 bytes base64 encoded"
msgstr ""
-#: src/libnm-core-impl/nm-setting-wireguard.c:1911
+#: src/libnm-core-impl/nm-setting-wireguard.c:1909
#, fuzzy
+#| msgid "Invalid secrets"
msgid "invalid peer secrets"
msgstr "Ungültige Passwörter"
-#: src/libnm-core-impl/nm-setting-wireguard.c:1937
+#: src/libnm-core-impl/nm-setting-wireguard.c:1935
#, c-format
msgid "peer #%u lacks public-key"
msgstr ""
-#: src/libnm-core-impl/nm-setting-wireguard.c:1954
+#: src/libnm-core-impl/nm-setting-wireguard.c:1952
#, c-format
msgid "non-existing peer '%s'"
msgstr ""
-#: src/libnm-core-impl/nm-setting-wireless-security.c:942
+#: src/libnm-core-impl/nm-setting-wireless-security.c:938
#, fuzzy, c-format
+#| msgid "'%s' is not a valid value for '%s'"
msgid "'%s' is not a valid value for '%s' mode connections"
msgstr "Fehler: »%s« ist kein gültiger Wert für »%s«."
-#: src/libnm-core-impl/nm-setting-wireless-security.c:958
+#: src/libnm-core-impl/nm-setting-wireless-security.c:954
#, c-format
msgid "'%s' security requires '%s=%s'"
msgstr "Sicherheit »%s« erfordert »%s=%s«"
-#: src/libnm-core-impl/nm-setting-wireless-security.c:987
+#: src/libnm-core-impl/nm-setting-wireless-security.c:983
#, c-format
msgid "'%s' security requires '%s' setting presence"
msgstr "Sicherheit »%s« erfordert Vorhandensein der Einstellung »%s«"
-#: src/libnm-core-impl/nm-setting-wireless-security.c:1076
+#: src/libnm-core-impl/nm-setting-wireless-security.c:1072
#, c-format
msgid "'%s' can only be used with '%s=%s' (WEP)"
msgstr "»%s« kann nur zusammen mit »%s=%s« verwendet werden (WEP)"
-#: src/libnm-core-impl/nm-setting-wireless-security.c:1113
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-setting-wireless-security.c:1109
+#, c-format
msgid ""
"'%s' can only be used with 'owe', 'wpa-psk', 'sae', 'wpa-eap' or 'wpa-eap-"
"suite-b-192' key management"
-msgstr "»%s« kann nur zusammen mit »%s=%s« oder »%s=%s« verwendet werden"
+msgstr ""
-#: src/libnm-core-impl/nm-setting-wireless-security.c:1131
+#: src/libnm-core-impl/nm-setting-wireless-security.c:1127
msgid ""
"pmf can only be 'default' or 'required' when using 'owe', 'sae' or 'wpa-eap-"
"suite-b-192' key management"
msgstr ""
-#: src/libnm-core-impl/nm-setting-wireless.c:866
+#: src/libnm-core-impl/nm-setting-wireless.c:920
#, c-format
msgid "'%s' is not a valid Wi-Fi mode"
msgstr "»%s« ist kein gültiger WLAN-Modus"
-#: src/libnm-core-impl/nm-setting-wireless.c:879
+#: src/libnm-core-impl/nm-setting-wireless.c:933
#, c-format
msgid "'%s' is not a valid band"
msgstr "»%s« ist kein gültiges Band"
-#: src/libnm-core-impl/nm-setting-wireless.c:892
+#: src/libnm-core-impl/nm-setting-wireless.c:946
#, c-format
msgid "'%s' requires setting '%s' property"
msgstr "»%s« erfordert eine Festlegung der Eigenschaft »%s«"
-#: src/libnm-core-impl/nm-setting-wireless.c:922
+#: src/libnm-core-impl/nm-setting-wireless.c:976
#, fuzzy, c-format
+#| msgid "'%s' requires setting '%s' property"
msgid "'%s' requires '%s' and '%s' property"
msgstr "»%s« erfordert eine Festlegung der Eigenschaft »%s«"
-#: src/libnm-core-impl/nm-setting-wireless.c:1034
+#: src/libnm-core-impl/nm-setting-wireless.c:1088
#: src/libnm-core-impl/nm-team-utils.c:2251
msgid "invalid value"
msgstr "Ungültiger Wert"
-#: src/libnm-core-impl/nm-setting-wireless.c:1047
+#: src/libnm-core-impl/nm-setting-wireless.c:1101
msgid "Wake-on-WLAN mode 'default' and 'ignore' are exclusive flags"
-msgstr "Wake-on-WLAN Modus 'default' und 'ignore' sind exklusive Flags"
+msgstr ""
-#: src/libnm-core-impl/nm-setting-wireless.c:1058
+#: src/libnm-core-impl/nm-setting-wireless.c:1112
msgid "Wake-on-WLAN trying to set unknown flag"
-msgstr "Wake-on-WLAN versucht, eine unbekannte Flagge zu setzen"
+msgstr ""
-#: src/libnm-core-impl/nm-setting-wireless.c:1071
+#: src/libnm-core-impl/nm-setting-wireless.c:1125
msgid "AP isolation can be set only in AP mode"
msgstr ""
-#: src/libnm-core-impl/nm-setting-wireless.c:1095
+#: src/libnm-core-impl/nm-setting-wireless.c:1143
msgid "conflicting value of mac-address-randomization and cloned-mac-address"
msgstr ""
"Im Konflikt stehende Werte für »mac-address-randomization« und »cloned-mac-"
"address«"
-#: src/libnm-core-impl/nm-setting-wpan.c:171
+#: src/libnm-core-impl/nm-setting-wireless.c:1155
+msgid "property is deprecated and not implemented"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-wpan.c:174
msgid "page must be defined along with a channel"
msgstr ""
-#: src/libnm-core-impl/nm-setting-wpan.c:180
+#: src/libnm-core-impl/nm-setting-wpan.c:183
#, c-format
msgid "page must be between %d and %d"
msgstr ""
-#: src/libnm-core-impl/nm-setting-wpan.c:191
+#: src/libnm-core-impl/nm-setting-wpan.c:194
#, c-format
msgid "channel must not be between %d and %d"
msgstr ""
-#: src/libnm-core-impl/nm-setting.c:1649 src/libnm-core-impl/nm-setting.c:1689
-#: src/libnm-core-impl/nm-setting.c:1995
+#: src/libnm-core-impl/nm-setting.c:1709 src/libnm-core-impl/nm-setting.c:1749
+#: src/libnm-core-impl/nm-setting.c:2060
#, c-format
msgid "can't set property of type '%s' from value of type '%s'"
msgstr ""
"Eigenschaft des Typs »%s« von Wert des Typs »%s« kann nicht gesetzt werden"
-#: src/libnm-core-impl/nm-setting.c:1665
+#: src/libnm-core-impl/nm-setting.c:1725
#, fuzzy, c-format
+#| msgid ""
+#| "value \"%s\" of type '%s' is invalid or out of range for property '%s' of "
+#| "type '%s'"
msgid "value of type '%s' is invalid or out of range for property '%s'"
msgstr ""
"Wert »%s« des Typs »%s« ist ungültig oder nicht im Wertebereich für "
"Eigenschaft »%s« des Typs »%s«"
-#: src/libnm-core-impl/nm-setting.c:1710
+#: src/libnm-core-impl/nm-setting.c:1770
#, c-format
msgid "can not set property: %s"
msgstr "Die Eigenschaft kann nicht festgelegt werden: %s"
-#: src/libnm-core-impl/nm-setting.c:1934
+#: src/libnm-core-impl/nm-setting.c:1999
msgid "duplicate property"
msgstr "Doppelte Eigenschaft"
-#: src/libnm-core-impl/nm-setting.c:1954
+#: src/libnm-core-impl/nm-setting.c:2019
msgid "unknown property"
msgstr "Unbekannte Eigenschaft"
-#: src/libnm-core-impl/nm-setting.c:2028 src/libnm-core-impl/nm-setting.c:2110
+#: src/libnm-core-impl/nm-setting.c:2093 src/libnm-core-impl/nm-setting.c:2175
#, c-format
msgid "failed to set property: %s"
msgstr "Eigenschaft konnte nicht festgelegt werden: %s"
-#: src/libnm-core-impl/nm-setting.c:3222
+#: src/libnm-core-impl/nm-setting.c:2444
+#, fuzzy
+#| msgid "'%s' cannot be empty"
+msgid "cannot be empty"
+msgstr "»%s« darf nicht leer sein"
+
+#: src/libnm-core-impl/nm-setting.c:3378
msgid "secret not found"
msgstr "Passwort nicht gefunden"
#: src/libnm-core-impl/nm-team-utils.c:1530
#: src/libnm-core-impl/nm-team-utils.c:1547
#, fuzzy, c-format
+#| msgid "invalid runner \"%s\""
msgid "invalid D-Bus property \"%s\""
msgstr "ungültiger Runner »%s«"
#: src/libnm-core-impl/nm-team-utils.c:1559
#, fuzzy, c-format
+#| msgid "duplicate property"
msgid "duplicate D-Bus property \"%s\""
msgstr "Doppelte Eigenschaft"
#: src/libnm-core-impl/nm-team-utils.c:1579
#, fuzzy, c-format
+#| msgid "invalid file owner %d for %s"
msgid "invalid D-Bus property \"%s\" for \"%s\""
msgstr "Ungültiger Dateibesitzer %d für %s"
@@ -3225,22 +3363,24 @@ msgid "unknown link-watcher name \"%s\""
msgstr "Unbekannte VPN-Erweiterung »%s«"
#: src/libnm-core-impl/nm-team-utils.c:2238
-#, fuzzy
msgid "value out or range"
-msgstr "Kleinster Quellport [0]"
+msgstr "Wert ist außerhalb des Wertebereiches"
#: src/libnm-core-impl/nm-team-utils.c:2270
#, fuzzy
+#| msgid "invalid runner \"%s\""
msgid "invalid runner-tx-hash"
msgstr "ungültiger Runner »%s«"
#: src/libnm-core-impl/nm-team-utils.c:2298
#, fuzzy, c-format
+#| msgid "'%s' is not allowed in lacp"
msgid "%s is only allowed for runner %s"
msgstr "»%s« ist nicht mit »lacp« erlaubt"
#: src/libnm-core-impl/nm-team-utils.c:2308
#, fuzzy, c-format
+#| msgid "'%s' option is only valid for '%s=%s'"
msgid "%s is only allowed for runners %s"
msgstr "Option »%s« ist nur gültig für »%s=%s«."
@@ -3249,9 +3389,8 @@ msgid "cannot set parameters for lacp and activebackup runners together"
msgstr ""
#: src/libnm-core-impl/nm-team-utils.c:2343
-#, fuzzy
msgid "missing link watcher"
-msgstr "Dateiname fehlt"
+msgstr "Fehlende Verbindungsüberwachung"
#: src/libnm-core-impl/nm-team-utils.c:2369
msgid "team config exceeds size limit"
@@ -3259,243 +3398,352 @@ msgstr "Die Team-Konfiguration übersteigt die Größenbeschränkung"
#: src/libnm-core-impl/nm-team-utils.c:2380
#, fuzzy
+#| msgid "URI is not valid UTF-8"
msgid "team config is not valid UTF-8"
msgstr "Die Adresse ist kein gültiges UTF-8"
#: src/libnm-core-impl/nm-team-utils.c:2555
#, fuzzy, c-format
+#| msgid "invalid runner \"%s\""
msgid "invalid D-Bus type \"%s\""
msgstr "ungültiger Runner »%s«"
#: src/libnm-core-impl/nm-team-utils.c:2594
#, fuzzy, c-format
+#| msgid "invalid tfilter: %s"
msgid "invalid link-watchers: %s"
msgstr "ungültiger tfilter: %s"
-#: src/libnm-core-impl/nm-utils.c:2259
+#: src/libnm-core-impl/nm-utils.c:1365
+#, fuzzy
+#| msgid "Expected a value for '%s'\n"
+msgid "Expected value of type \"au\""
+msgstr "Ein Wert wurde für »%s« erwartet\n"
+
+#: src/libnm-core-impl/nm-utils.c:1508 src/libnm-core-impl/nm-utils.c:1673
+#, fuzzy
+#| msgid "Expected a value for '%s'\n"
+msgid "Expected value of type \"aau\""
+msgstr "Ein Wert wurde für »%s« erwartet\n"
+
+#: src/libnm-core-impl/nm-utils.c:1519
+msgid "Expected \"address-labels\" of type \"as\""
+msgstr ""
+
+#: src/libnm-core-impl/nm-utils.c:1541
+#, fuzzy, c-format
+#| msgid "Invalid IPv4 address prefix '%u'"
+msgid "Incomplete IPv4 address (idx=%u)"
+msgstr "Ungültiges IPv4-Adressenpräfix »%u«"
+
+#: src/libnm-core-impl/nm-utils.c:1554 src/libnm-core-impl/nm-utils.c:1710
+#: src/libnm-core-impl/nm-utils.c:2019 src/libnm-core-impl/nm-utils.c:2216
+#: src/libnm-core-impl/nm-utils.c:2372 src/libnm-core-impl/nm-utils.c:2557
+#, fuzzy, c-format
+#| msgid "%s (%s)"
+msgid "%s (idx=%u)"
+msgstr "%s (%s)"
+
+#: src/libnm-core-impl/nm-utils.c:1691
+#, c-format
+msgid "Incomplete IPv4 route (idx=%u)"
+msgstr ""
+
+#: src/libnm-core-impl/nm-utils.c:1819
+#, fuzzy
+#| msgid "Expected a value for '%s'\n"
+msgid "Expected value of type \"aay\""
+msgstr "Ein Wert wurde für »%s« erwartet\n"
+
+#: src/libnm-core-impl/nm-utils.c:1844
+#, fuzzy, c-format
+#| msgid "Invalid IPv6 address prefix '%u'"
+msgid "Invalid IPv6 DNS address length (idx=%u)"
+msgstr "Ungültiges IPv6-Adressenpräfix »%u«"
+
+#: src/libnm-core-impl/nm-utils.c:1971
+msgid "Expected value of type \"a(ayuay)\""
+msgstr ""
+
+#: src/libnm-core-impl/nm-utils.c:1993
+#, c-format
+msgid "Expected value of type \"(ayuay)\" (idx=%u)"
+msgstr ""
+
+#: src/libnm-core-impl/nm-utils.c:2006
+#, fuzzy, c-format
+#| msgid "%d. IPv6 address has invalid prefix"
+msgid "IPv6 address with invalid length (idx=%u)"
+msgstr "%d. IPv6-Adresse hat ein ungültiges Präfix"
+
+#: src/libnm-core-impl/nm-utils.c:2036
+#, c-format
+msgid "IPv6 gateway with invalid length (idx=%u)"
+msgstr ""
+
+#: src/libnm-core-impl/nm-utils.c:2148
+msgid "Expected value of type \"a(ayuayu)\""
+msgstr ""
+
+#: src/libnm-core-impl/nm-utils.c:2172
+#, c-format
+msgid "Expected value of type \"(ayuayu)\" (idx=%u)"
+msgstr ""
+
+#: src/libnm-core-impl/nm-utils.c:2185
+#, fuzzy, c-format
+#| msgid "%d. IPv6 address has invalid prefix"
+msgid "IPv6 dest address with invalid length (idx=%u)"
+msgstr "%d. IPv6-Adresse hat ein ungültiges Präfix"
+
+#: src/libnm-core-impl/nm-utils.c:2198
+#, fuzzy, c-format
+#| msgid "%d. IPv6 address has invalid prefix"
+msgid "IPv6 next-hop address with invalid length (idx=%u)"
+msgstr "%d. IPv6-Adresse hat ein ungültiges Präfix"
+
+#: src/libnm-core-impl/nm-utils.c:2341 src/libnm-core-impl/nm-utils.c:2520
+#, fuzzy
+#| msgid "Expected a value for '%s'\n"
+msgid "Expected value of type \"aa{sv}\""
+msgstr "Ein Wert wurde für »%s« erwartet\n"
+
+#: src/libnm-core-impl/nm-utils.c:2359
+#, c-format
+msgid "IP address requires fields \"dest\" and \"prefix\" (idx=%u)"
+msgstr ""
+
+#: src/libnm-core-impl/nm-utils.c:2538
+#, c-format
+msgid "Route requires fields \"dest\" and \"prefix\" (idx=%u)"
+msgstr ""
+
+#: src/libnm-core-impl/nm-utils.c:2660
#, c-format
msgid "'%s' is not a valid handle."
msgstr "»%s« ist kein gültiges Handle."
-#: src/libnm-core-impl/nm-utils.c:2407
+#: src/libnm-core-impl/nm-utils.c:2808
#, c-format
msgid "'%s' unexpected: parent already specified."
-msgstr "'%s' unerwartet: Elternteil bereits angegeben"
+msgstr ""
-#: src/libnm-core-impl/nm-utils.c:2425
+#: src/libnm-core-impl/nm-utils.c:2826
#, fuzzy, c-format
msgid "invalid handle: '%s'"
msgstr "Ungültige Option »%s«"
-#: src/libnm-core-impl/nm-utils.c:2447
+#: src/libnm-core-impl/nm-utils.c:2848
msgid "parent not specified."
msgstr "Es wurde kein übergeordnetes Element angegeben."
-#: src/libnm-core-impl/nm-utils.c:2511
+#: src/libnm-core-impl/nm-utils.c:2912
#, c-format
msgid "unsupported qdisc option: '%s'."
msgstr "Nicht unterstützte qdisc-Option »%s«."
-#: src/libnm-core-impl/nm-utils.c:2641
+#: src/libnm-core-impl/nm-utils.c:3042
msgid "action name missing."
msgstr "Es fehlt ein Name für die Aktion."
-#: src/libnm-core-impl/nm-utils.c:2666
+#: src/libnm-core-impl/nm-utils.c:3067
#, c-format
msgid "unsupported action option: '%s'."
msgstr "Nicht unterstützte Option »%s« für die Aktion."
-#: src/libnm-core-impl/nm-utils.c:2803
+#: src/libnm-core-impl/nm-utils.c:3204
msgid "invalid action: "
msgstr "Ungültige Aktion: "
-#: src/libnm-core-impl/nm-utils.c:2807
+#: src/libnm-core-impl/nm-utils.c:3208
#, c-format
msgid "unsupported tfilter option: '%s'."
msgstr "Nicht unterstützte tfilter-Option »%s«."
-#: src/libnm-core-impl/nm-utils.c:3107
+#: src/libnm-core-impl/nm-utils.c:3508
#, c-format
msgid "failed stat file %s: %s"
msgstr "Abfragen der Datei %s schlug fehl: %s"
-#: src/libnm-core-impl/nm-utils.c:3118
+#: src/libnm-core-impl/nm-utils.c:3519
#, c-format
msgid "not a file (%s)"
msgstr "Keine Datei (%s)"
-#: src/libnm-core-impl/nm-utils.c:3129
+#: src/libnm-core-impl/nm-utils.c:3530
#, c-format
msgid "invalid file owner %d for %s"
msgstr "Ungültiger Dateibesitzer %d für %s"
-#: src/libnm-core-impl/nm-utils.c:3141
+#: src/libnm-core-impl/nm-utils.c:3542
#, c-format
msgid "file permissions for %s"
msgstr "Dateiberechtigungen für %s"
-#: src/libnm-core-impl/nm-utils.c:3151
+#: src/libnm-core-impl/nm-utils.c:3552
#, c-format
msgid "reject %s"
msgstr "%s zurückweisen"
-#: src/libnm-core-impl/nm-utils.c:3171
+#: src/libnm-core-impl/nm-utils.c:3572
#, c-format
msgid "path is not absolute (%s)"
msgstr "Der Pfad ist nicht absolut (%s)"
-#: src/libnm-core-impl/nm-utils.c:3186
+#: src/libnm-core-impl/nm-utils.c:3587
#, c-format
msgid "Plugin file does not exist (%s)"
msgstr "Erweiterungs-Datei ist nicht vorhanden (%s)"
-#: src/libnm-core-impl/nm-utils.c:3195
+#: src/libnm-core-impl/nm-utils.c:3596
#, c-format
msgid "Plugin is not a valid file (%s)"
msgstr "Erweiterung ist keine gültige Datei (%s)"
-#: src/libnm-core-impl/nm-utils.c:3206
+#: src/libnm-core-impl/nm-utils.c:3607
#, c-format
msgid "libtool archives are not supported (%s)"
msgstr "libtool-Archive werden nicht unterstützt (%s)"
-#: src/libnm-core-impl/nm-utils.c:3283
+#: src/libnm-core-impl/nm-utils.c:3684
#, c-format
msgid "Could not find \"%s\" binary"
msgstr "Binärdatei »%s« konnte nicht gefunden werden"
-#: src/libnm-core-impl/nm-utils.c:4106
+#: src/libnm-core-impl/nm-utils.c:4508
#, fuzzy
+#| msgid "unknown setting name"
msgid "unknown secret flags"
msgstr "Unbekannter Einstellungsname"
-#: src/libnm-core-impl/nm-utils.c:4116
+#: src/libnm-core-impl/nm-utils.c:4518
msgid "conflicting secret flags"
msgstr ""
-#: src/libnm-core-impl/nm-utils.c:4127
-#, fuzzy
+#: src/libnm-core-impl/nm-utils.c:4529
msgid "secret flags must not be \"not-required\""
-msgstr "Passwort nicht gefunden"
+msgstr ""
-#: src/libnm-core-impl/nm-utils.c:4135
+#: src/libnm-core-impl/nm-utils.c:4537
#, fuzzy
+#| msgid "unsupported qdisc option: '%s'."
msgid "unsupported secret flags"
msgstr "Nicht unterstützte qdisc-Option »%s«."
-#: src/libnm-core-impl/nm-utils.c:4165
+#: src/libnm-core-impl/nm-utils.c:4567
msgid "can't be simultaneously disabled and enabled"
msgstr "darf nicht gleichzeitig ein- und ausgeschaltet sein"
-#: src/libnm-core-impl/nm-utils.c:4173
-#, fuzzy
+#: src/libnm-core-impl/nm-utils.c:4575
msgid "WPS is required"
-msgstr "PIN-Code ist erforderlich"
+msgstr "WPS ist erforderlich"
-#: src/libnm-core-impl/nm-utils.c:4241
+#: src/libnm-core-impl/nm-utils.c:4643
#, c-format
msgid "not a valid ethernet MAC address for mask at position %lld"
msgstr "keine gültige Ethernet MAC-Adresse für die Maske an Position %lld"
-#: src/libnm-core-impl/nm-utils.c:4260
+#: src/libnm-core-impl/nm-utils.c:4662
#, c-format
msgid "not a valid ethernet MAC address #%u at position %lld"
msgstr "Keine gültige Ethernet MAC-Adresse #%u an Position %lld"
-#: src/libnm-core-impl/nm-utils.c:4892
+#: src/libnm-core-impl/nm-utils.c:5319
msgid "not valid utf-8"
msgstr "kein gültiges UTF-8"
-#: src/libnm-core-impl/nm-utils.c:4913 src/libnm-core-impl/nm-utils.c:4966
+#: src/libnm-core-impl/nm-utils.c:5340 src/libnm-core-impl/nm-utils.c:5393
msgid "is not a JSON object"
msgstr "kein JSON-Objekt"
-#: src/libnm-core-impl/nm-utils.c:4942
+#: src/libnm-core-impl/nm-utils.c:5369
msgid "value is NULL"
msgstr "Wert ist NULL"
-#: src/libnm-core-impl/nm-utils.c:4942
+#: src/libnm-core-impl/nm-utils.c:5369
msgid "value is empty"
msgstr "Wert ist leer"
-#: src/libnm-core-impl/nm-utils.c:4954
+#: src/libnm-core-impl/nm-utils.c:5381
#, c-format
msgid "invalid JSON at position %d (%s)"
msgstr "Ungültiges JSON an Position %d (%s)"
-#: src/libnm-core-impl/nm-utils.c:5082 src/libnm-core-impl/nm-utils.c:5102
+#: src/libnm-core-impl/nm-utils.c:5506 src/libnm-core-impl/nm-utils.c:5526
msgid "unterminated escape sequence"
msgstr "Nicht abgeschlossene Escape-Sequenz"
-#: src/libnm-core-impl/nm-utils.c:5128
+#: src/libnm-core-impl/nm-utils.c:5552
#, c-format
msgid "unknown attribute '%s'"
msgstr "Unbekanntes Attribut »%s«"
-#: src/libnm-core-impl/nm-utils.c:5146
+#: src/libnm-core-impl/nm-utils.c:5570
#, c-format
msgid "missing key-value separator '%c' after '%s'"
-msgstr "fehlendes Schlüsselwert-Trennzeichen '%c' nach dem '%s'"
+msgstr ""
-#: src/libnm-core-impl/nm-utils.c:5166
+#: src/libnm-core-impl/nm-utils.c:5590
#, c-format
msgid "invalid uint32 value '%s' for attribute '%s'"
msgstr "Ungültiger uint32-Wert »%s« für Attribut »%s«"
-#: src/libnm-core-impl/nm-utils.c:5180
+#: src/libnm-core-impl/nm-utils.c:5604
#, fuzzy, c-format
+#| msgid "invalid uint32 value '%s' for attribute '%s'"
msgid "invalid int32 value '%s' for attribute '%s'"
msgstr "Ungültiger uint32-Wert »%s« für Attribut »%s«"
-#: src/libnm-core-impl/nm-utils.c:5193
+#: src/libnm-core-impl/nm-utils.c:5617
#, fuzzy, c-format
+#| msgid "invalid uint8 value '%s' for attribute '%s'"
msgid "invalid uint64 value '%s' for attribute '%s'"
msgstr "Ungültiger uint8-Wert »%s« für Attribut »%s«"
-#: src/libnm-core-impl/nm-utils.c:5206
+#: src/libnm-core-impl/nm-utils.c:5630
#, c-format
msgid "invalid uint8 value '%s' for attribute '%s'"
msgstr "Ungültiger uint8-Wert »%s« für Attribut »%s«"
-#: src/libnm-core-impl/nm-utils.c:5220
+#: src/libnm-core-impl/nm-utils.c:5644
#, c-format
msgid "invalid boolean value '%s' for attribute '%s'"
msgstr "Ungültiger boolescher Wert »%s« für Attribut »%s«"
-#: src/libnm-core-impl/nm-utils.c:5234
+#: src/libnm-core-impl/nm-utils.c:5658
#, c-format
msgid "unsupported attribute '%s' of type '%s'"
msgstr "Nicht unterstützter Parameter »%s« des Typs »%s«"
-#: src/libnm-core-impl/nm-utils.c:5535
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-utils.c:5959
+#, c-format
msgid "Bridge VLANs %d and %d are not sorted by ascending vid"
-msgstr "VFs %d und %d sind nicht nach aufsteigendem Index sortiert"
+msgstr ""
-#: src/libnm-core-impl/nm-utils.c:5559
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-utils.c:5983
+#, c-format
msgid "duplicate bridge VLAN vid %u"
-msgstr "doppelte VF-Index %u"
+msgstr ""
-#: src/libnm-core-impl/nm-utils.c:5571
+#: src/libnm-core-impl/nm-utils.c:5995
msgid "only one VLAN can be the PVID"
msgstr ""
-#: src/libnm-core-impl/nm-utils.c:5616
-#, fuzzy, c-format
+#: src/libnm-core-impl/nm-utils.c:6138
+#, c-format
msgid "unknown flags 0x%x"
-msgstr "Unbekannter Einstellungsname"
+msgstr ""
-#: src/libnm-core-impl/nm-utils.c:5628
+#: src/libnm-core-impl/nm-utils.c:6150
msgid ""
"'fqdn-no-update' and 'fqdn-serv-update' flags cannot be set at the same time"
msgstr ""
-#: src/libnm-core-impl/nm-utils.c:5639
+#: src/libnm-core-impl/nm-utils.c:6161
msgid "'fqdn-clear-flags' flag is incompatible with other FQDN flags"
msgstr ""
-#: src/libnm-core-impl/nm-utils.c:5647
+#: src/libnm-core-impl/nm-utils.c:6169
msgid "DHCPv6 does not support the E (encoded) FQDN flag"
msgstr ""
@@ -3507,8 +3755,7 @@ msgstr "Erweiterung »%s« kann nicht geladen werden: %s"
#: src/libnm-core-impl/nm-vpn-editor-plugin.c:295
#, c-format
msgid "failed to load nm_vpn_editor_plugin_factory() from %s (%s)"
-msgstr ""
-"Laden von nm_vpn_editor_plugin_factory() von %s (%s) ist fehlgeschlagen"
+msgstr "Laden von nm_vpn_editor_plugin_factory() von %s (%s) ist fehlgeschlagen"
#: src/libnm-core-impl/nm-vpn-editor-plugin.c:321
#, c-format
@@ -3524,14 +3771,13 @@ msgstr ""
#: src/libnm-core-impl/nm-vpn-editor-plugin.c:349
#, c-format
msgid "cannot load VPN plugin in '%s': invalid service name"
-msgstr ""
-"VPN-Erweiterung in »%s« kann nicht geladen werden: Ungültiger Dienstname"
+msgstr "VPN-Erweiterung in »%s« kann nicht geladen werden: Ungültiger Dienstname"
-#: src/libnm-core-impl/nm-vpn-editor-plugin.c:481
+#: src/libnm-core-impl/nm-vpn-editor-plugin.c:493
msgid "the plugin does not support import capability"
msgstr "Das Plugin unterstützt nicht die Import-Fähigkeit"
-#: src/libnm-core-impl/nm-vpn-editor-plugin.c:505
+#: src/libnm-core-impl/nm-vpn-editor-plugin.c:517
msgid "the plugin does not support export capability"
msgstr "Das Plugin unterstützt nicht die Export-Fähigkeit"
@@ -3553,8 +3799,8 @@ msgstr "Dateiname hat ein ungültiges Format (%s)"
#, c-format
msgid "there exists a conflicting plugin (%s) that has the same %s.%s value"
msgstr ""
-"es ist ein im Konflikt stehendes Plugin (%s) vorhanden, das den gleichen "
-"Wert %s.%s hat"
+"es ist ein im Konflikt stehendes Plugin (%s) vorhanden, das den gleichen Wert "
+"%s.%s hat"
#: src/libnm-core-impl/nm-vpn-plugin-info.c:458
#, c-format
@@ -3570,8 +3816,7 @@ msgstr "Einstellung »Erweiterung« fehlt"
#: src/libnm-core-impl/nm-vpn-plugin-info.c:1060
#, c-format
msgid "%s: don't retry loading plugin which already failed previously"
-msgstr ""
-"%s: Erneutes Laden des Plugins nicht versuchen, welches zuvor fehlschlug"
+msgstr "%s: Erneutes Laden des Plugins nicht versuchen, welches zuvor fehlschlug"
#: src/libnm-core-impl/nm-vpn-plugin-info.c:1134
msgid "missing filename to load VPN plugin info"
@@ -3682,8 +3927,7 @@ msgstr "Die Initialisierung des Entschlüsselungsstrom-Slots scheiterte."
#: src/libnm-crypto/nm-crypto-nss.c:150
msgid "Failed to set symmetric key for decryption."
-msgstr ""
-"Das Anlegen des symmetrischen Schlüssels zur Entschlüsselung scheiterte."
+msgstr "Das Anlegen des symmetrischen Schlüssels zur Entschlüsselung scheiterte."
#: src/libnm-crypto/nm-crypto-nss.c:161
msgid "Failed to set IV for decryption."
@@ -3716,8 +3960,7 @@ msgstr "Die Initialisierung des Verschlüsselungsstromslots scheiterte."
#: src/libnm-crypto/nm-crypto-nss.c:309
msgid "Failed to set symmetric key for encryption."
-msgstr ""
-"Das Anlegen des symmetrischen Schlüssels zur Verschlüsselung scheiterte."
+msgstr "Das Anlegen des symmetrischen Schlüssels zur Verschlüsselung scheiterte."
#: src/libnm-crypto/nm-crypto-nss.c:318
msgid "Failed to set IV for encryption."
@@ -3745,27 +3988,27 @@ msgstr "Das Zertifikat konnte nicht entschlüsselt werden: %d"
msgid "Password must be UTF-8"
msgstr "Passwort muss in UTF-8 vorliegen"
-#: src/libnm-crypto/nm-crypto-nss.c:467
+#: src/libnm-crypto/nm-crypto-nss.c:474
#, fuzzy
msgid "Couldn't initialize slot"
msgstr "PKCS#8-Decoder konnte nicht initialisiert werden: %s"
-#: src/libnm-crypto/nm-crypto-nss.c:476
+#: src/libnm-crypto/nm-crypto-nss.c:483
#, c-format
msgid "Couldn't initialize PKCS#12 decoder: %d"
msgstr "PKCS#12-Decoder konnte nicht initialisiert werden: %d"
-#: src/libnm-crypto/nm-crypto-nss.c:486
+#: src/libnm-crypto/nm-crypto-nss.c:493
#, c-format
msgid "Couldn't decode PKCS#12 file: %d"
msgstr "PKCS#12-Datei konnte nicht verschlüsselt werden: %d"
-#: src/libnm-crypto/nm-crypto-nss.c:496
+#: src/libnm-crypto/nm-crypto-nss.c:503
#, c-format
msgid "Couldn't verify PKCS#12 file: %d"
msgstr "PKCS#12-Datei konnte nicht überprüft werden: %d"
-#: src/libnm-crypto/nm-crypto-nss.c:548
+#: src/libnm-crypto/nm-crypto-nss.c:555
msgid "Could not generate random data."
msgstr "Es konnten keine Zufallsdaten generiert werden."
@@ -3777,9 +4020,8 @@ msgid "Compiled without crypto support."
msgstr ""
#: src/libnm-crypto/nm-crypto.c:215
-#, fuzzy
msgid "PEM key file had no start tag"
-msgstr "PEM-Schlüsseldatei hat kein abschließendes Tag »%s«."
+msgstr "PEM-Schlüsseldatei hat kein Start-Tag"
#: src/libnm-crypto/nm-crypto.c:224
#, c-format
@@ -3831,11 +4073,13 @@ msgstr "Die Entschlüsselung des privaten PKCS#8-Schlüssels scheiterte."
#: src/libnm-crypto/nm-crypto.c:424
#, fuzzy
+#| msgid "Failed to find expected PKCS#8 start tag."
msgid "Failed to find expected TSS start tag."
msgstr "Auffinden der erwarteten PKCS#8-Startmarkierung scheiterte."
#: src/libnm-crypto/nm-crypto.c:433
#, fuzzy, c-format
+#| msgid "Failed to find expected PKCS#8 end tag '%s'."
msgid "Failed to find expected TSS end tag '%s'."
msgstr "Auffinden der erwarteten PKCS#8-Endmarkierung »%s« scheiterte."
@@ -3848,9 +4092,8 @@ msgid "IV contains non-hexadecimal digits."
msgstr "IV enthält nicht-hexadezimale Zeichen."
#: src/libnm-crypto/nm-crypto.c:552
-#, fuzzy
msgid "IV must contain at least 8 characters"
-msgstr "Schlüssel enthält ungültige Zeichen"
+msgstr "IV muss mindestens 8 Zeichen enthalten"
#: src/libnm-crypto/nm-crypto.c:602
msgid "Unable to determine private key type."
@@ -3875,115 +4118,113 @@ msgid "Failed to decode certificate."
msgstr "Die Entschlüsselung des Zertifikats scheiterte."
#: src/libnm-crypto/nm-crypto.c:723 src/libnm-crypto/nm-crypto.c:774
-#, fuzzy
msgid "Certificate file is empty"
-msgstr "Schlüssel ist leer"
+msgstr "Zertifikatsdatei ist leer"
#: src/libnm-crypto/nm-crypto.c:756
-#, fuzzy
msgid "Failed to recognize certificate"
-msgstr "Die Entschlüsselung des Zertifikats scheiterte."
+msgstr "Zertifikats konnte nicht erkannt werden"
#: src/libnm-crypto/nm-crypto.c:861
-#, fuzzy
msgid "not a valid private key"
msgstr "Ungültiger privater Schlüssel"
-#: src/libnm-glib-aux/nm-shared-utils.c:2716
+#: src/libnm-glib-aux/nm-dbus-aux.c:682
+#, c-format
+msgid "Method returned type '%s', but expected '%s'"
+msgstr "Methode gab den Typ »%s« zurück, aber »%s« wurde erwartet"
+
+#: src/libnm-glib-aux/nm-shared-utils.c:2439
#, c-format
msgid "object class '%s' has no property named '%s'"
msgstr "Objektklasse »%s« hat keine Eigenschaft namens »%s«"
-#: src/libnm-glib-aux/nm-shared-utils.c:2725
+#: src/libnm-glib-aux/nm-shared-utils.c:2448
#, c-format
msgid "property '%s' of object class '%s' is not writable"
msgstr " Eigenschaft »%s« von Objektklasse »%s« ist nicht schreibbar"
-#: src/libnm-glib-aux/nm-shared-utils.c:2734
+#: src/libnm-glib-aux/nm-shared-utils.c:2457
#, c-format
-msgid ""
-"construct property \"%s\" for object '%s' can't be set after construction"
+msgid "construct property \"%s\" for object '%s' can't be set after construction"
msgstr ""
-"Konstruktor-Eigenschaft »%s« für Objekt »%s« kann nicht nach der "
-"Konstruktion gesetzt werden"
+"Konstruktor-Eigenschaft »%s« für Objekt »%s« kann nicht nach der Konstruktion "
+"gesetzt werden"
-#: src/libnm-glib-aux/nm-shared-utils.c:2745
+#: src/libnm-glib-aux/nm-shared-utils.c:2468
#, c-format
msgid "'%s::%s' is not a valid property name; '%s' is not a GObject subtype"
msgstr ""
"»%s::%s« ist ein ungültiger Eigenschaftsname. »%s« ist kein GObject-Untertyp"
-#: src/libnm-glib-aux/nm-shared-utils.c:2758
+#: src/libnm-glib-aux/nm-shared-utils.c:2481
#, c-format
msgid "unable to set property '%s' of type '%s' from value of type '%s'"
msgstr ""
-"Eigenschaft »%s« des Typs »%s« von Wert des Typs »%s« kann nicht gesetzt "
-"werden"
+"Eigenschaft »%s« des Typs »%s« von Wert des Typs »%s« kann nicht gesetzt werden"
-#: src/libnm-glib-aux/nm-shared-utils.c:2770
+#: src/libnm-glib-aux/nm-shared-utils.c:2493
#, c-format
msgid ""
-"value \"%s\" of type '%s' is invalid or out of range for property '%s' of "
-"type '%s'"
+"value \"%s\" of type '%s' is invalid or out of range for property '%s' of type "
+"'%s'"
msgstr ""
"Wert »%s« des Typs »%s« ist ungültig oder nicht im Wertebereich für "
"Eigenschaft »%s« des Typs »%s«"
-#: src/libnm-glib-aux/nm-shared-utils.c:5745
-#, fuzzy
+#: src/libnm-glib-aux/nm-shared-utils.c:5516
msgid "interface name is missing"
-msgstr "Schnittstellenname ist reserviert"
+msgstr "Schnittstellenname fehlt"
-#: src/libnm-glib-aux/nm-shared-utils.c:5753
+#: src/libnm-glib-aux/nm-shared-utils.c:5524
msgid "interface name is too short"
msgstr "Schnittstellenname ist zu kurz"
-#: src/libnm-glib-aux/nm-shared-utils.c:5761
+#: src/libnm-glib-aux/nm-shared-utils.c:5532
msgid "interface name is reserved"
msgstr "Schnittstellenname ist reserviert"
-#: src/libnm-glib-aux/nm-shared-utils.c:5774
+#: src/libnm-glib-aux/nm-shared-utils.c:5545
msgid "interface name contains an invalid character"
msgstr "Schnittstellenname enthält ein ungültiges Zeichen"
-#: src/libnm-glib-aux/nm-shared-utils.c:5782
+#: src/libnm-glib-aux/nm-shared-utils.c:5553
msgid "interface name is longer than 15 characters"
msgstr "Schnittstellenname ist länger als 15 Zeichen"
-#: src/libnm-glib-aux/nm-shared-utils.c:5807
-#, fuzzy, c-format
+#: src/libnm-glib-aux/nm-shared-utils.c:5578
+#, c-format
msgid "'%%' is not allowed in interface names"
-msgstr "»%s« ist kein gültiger Schnittstellenname"
+msgstr "»%%« ist nicht in einem Schnittstellennamen erlaubt"
-#: src/libnm-glib-aux/nm-shared-utils.c:5819
-#, fuzzy, c-format
+#: src/libnm-glib-aux/nm-shared-utils.c:5590
+#, c-format
msgid "'%s' is not allowed as interface name"
-msgstr "»%s« ist kein gültiger Schnittstellenname"
+msgstr "»%s« ist nicht als Schnittstellenname erlaubt"
-#: src/libnm-glib-aux/nm-shared-utils.c:5841
-msgid ""
-"interface name must be alphanumerical with no forward or backward slashes"
+#: src/libnm-glib-aux/nm-shared-utils.c:5612
+msgid "interface name must be alphanumerical with no forward or backward slashes"
msgstr ""
+"Der Schnittstellenname muss alphanumerisch sein und darf weder »/« noch »\\« "
+"enthalten."
-#: src/libnm-glib-aux/nm-shared-utils.c:5858
-#, fuzzy
+#: src/libnm-glib-aux/nm-shared-utils.c:5629
msgid "interface name must not be empty"
-msgstr "Schnittstellenname ist zu kurz"
+msgstr "Schnittstellenname darf nicht leer sein"
-#: src/libnm-glib-aux/nm-shared-utils.c:5866
-#, fuzzy
+#: src/libnm-glib-aux/nm-shared-utils.c:5637
msgid "interface name must be UTF-8 encoded"
-msgstr "Schnittstellenname ist reserviert"
+msgstr "Schnittstellenname muss in UTF-8 kodiert sein"
#: src/libnm-log-core/nm-logging.c:252
-#, c-format
+#, fuzzy, c-format
msgid "Unknown log level '%s'"
-msgstr "Unbekannte Protokollstufe »%s«"
+msgstr "Unbekanntes Gerät »%s«."
#: src/libnm-log-core/nm-logging.c:360
-#, c-format
+#, fuzzy, c-format
msgid "Unknown log domain '%s'"
-msgstr "Unbekannte Protokolldomäne »%s«"
+msgstr "Unbekannter Befehl: »%s«\n"
#. TRANSLATORS: the first %s is the partial value entered by
#. * the user, the second %s a list of compatible values.
@@ -4013,20 +4254,20 @@ msgstr "»%s« ist mehrdeutig: %s"
msgid "missing name, try one of [%s]"
msgstr "Fehlender Name, versuchen Sie einen von [%s]"
-#: src/libnmc-base/nm-client-utils.c:248 src/nmcli/connections.c:3735
-#: src/nmcli/connections.c:3793
+#: src/libnmc-base/nm-client-utils.c:248 src/nmcli/connections.c:3771
+#: src/nmcli/connections.c:3829
#, c-format
msgid "'%s' not among [%s]"
msgstr "»%s« ist nicht unter [%s]"
#: src/libnmc-base/nm-client-utils.c:291 src/libnmc-base/nm-client-utils.c:305
#: src/libnmc-base/nm-client-utils.c:341 src/libnmc-base/nm-client-utils.c:346
-#: src/libnmc-setting/nm-meta-setting-desc.c:1860
-#: src/libnmc-setting/nm-meta-setting-desc.c:1891
-#: src/libnmc-setting/nm-meta-setting-desc.c:2855
-#: src/libnmc-setting/nm-meta-setting-desc.c:2913 src/nmcli/common.c:1626
-#: src/nmcli/connections.c:79 src/nmcli/connections.c:89
-#: src/nmcli/devices.c:484 src/nmcli/devices.c:591 src/nmcli/devices.c:597
+#: src/libnmc-setting/nm-meta-setting-desc.c:1842
+#: src/libnmc-setting/nm-meta-setting-desc.c:1873
+#: src/libnmc-setting/nm-meta-setting-desc.c:2882
+#: src/libnmc-setting/nm-meta-setting-desc.c:2940 src/nmcli/common.c:1611
+#: src/nmcli/connections.c:79 src/nmcli/connections.c:89 src/nmcli/devices.c:485
+#: src/nmcli/devices.c:592 src/nmcli/devices.c:598 src/nmcli/devices.c:604
#: src/nmcli/general.c:30 src/nmcli/general.c:85 src/nmcli/general.c:91
msgid "unknown"
msgstr "unbekannt"
@@ -4082,35 +4323,34 @@ msgstr "Verbindung fehlgeschlagen"
#: src/libnmc-base/nm-client-utils.c:311 src/libnmc-base/nm-client-utils.c:312
#: src/libnmc-base/nm-client-utils.c:313 src/libnmc-base/nm-client-utils.c:314
#: src/libnmc-base/nm-client-utils.c:315 src/libnmc-base/nm-client-utils.c:316
-#, fuzzy
msgid "connecting (externally)"
-msgstr "wird verbunden (wird vorbereitet)"
+msgstr "wird verbunden (extern)"
#: src/libnmc-base/nm-client-utils.c:317
-#, fuzzy
msgid "connected (externally)"
-msgstr "verbunden (nur Gelände)"
+msgstr "verbunden (extern)"
#: src/libnmc-base/nm-client-utils.c:318 src/libnmc-base/nm-client-utils.c:319
#, fuzzy
+#| msgid "deactivating"
msgid "deactivating (externally)"
msgstr "wird deaktiviert"
#: src/libnmc-base/nm-client-utils.c:342
-#: src/libnmc-setting/nm-meta-setting-desc.c:885
-#: src/libnmc-setting/nm-meta-setting-desc.c:2847 src/nmcli/connections.c:5533
-#: src/nmcli/connections.c:7507 src/nmcli/connections.c:7508
-#: src/nmcli/devices.c:590 src/nmcli/devices.c:596 src/nmcli/devices.c:1408
-#: src/nmcli/general.c:92 src/nmcli/utils.h:313
+#: src/libnmc-setting/nm-meta-setting-desc.c:875
+#: src/libnmc-setting/nm-meta-setting-desc.c:2874 src/nmcli/connections.c:5576
+#: src/nmcli/connections.c:7554 src/nmcli/connections.c:7555
+#: src/nmcli/devices.c:591 src/nmcli/devices.c:597 src/nmcli/devices.c:603
+#: src/nmcli/devices.c:1427 src/nmcli/general.c:92 src/nmcli/utils.h:316
msgid "yes"
msgstr "ja"
#: src/libnmc-base/nm-client-utils.c:343
-#: src/libnmc-setting/nm-meta-setting-desc.c:885
-#: src/libnmc-setting/nm-meta-setting-desc.c:2850 src/nmcli/connections.c:5532
-#: src/nmcli/connections.c:7507 src/nmcli/connections.c:7508
-#: src/nmcli/devices.c:590 src/nmcli/devices.c:596 src/nmcli/devices.c:1408
-#: src/nmcli/general.c:93 src/nmcli/utils.h:313
+#: src/libnmc-setting/nm-meta-setting-desc.c:875
+#: src/libnmc-setting/nm-meta-setting-desc.c:2877 src/nmcli/connections.c:5575
+#: src/nmcli/connections.c:7554 src/nmcli/connections.c:7555
+#: src/nmcli/devices.c:591 src/nmcli/devices.c:597 src/nmcli/devices.c:603
+#: src/nmcli/devices.c:1427 src/nmcli/general.c:93 src/nmcli/utils.h:316
msgid "no"
msgstr "nein"
@@ -4127,8 +4367,8 @@ msgid "No reason given"
msgstr "Kein Grund angegeben"
#. We should not really come here
-#: src/libnmc-base/nm-client-utils.c:354 src/nmcli/connections.c:3755
-#: src/nmcli/connections.c:3814
+#: src/libnmc-base/nm-client-utils.c:354 src/nmcli/connections.c:3791
+#: src/nmcli/connections.c:3850
msgid "Unknown error"
msgstr "Unbekannter Fehler"
@@ -4201,8 +4441,7 @@ msgstr "DHCP-Client fehlgeschlagen"
#: src/libnmc-base/nm-client-utils.c:382
msgid "Shared connection service failed to start"
-msgstr ""
-"Dienst für gemeinsam verwendete Verbindung konnte nicht gestartet werden"
+msgstr "Dienst für gemeinsam verwendete Verbindung konnte nicht gestartet werden"
#: src/libnmc-base/nm-client-utils.c:384
msgid "Shared connection service failed"
@@ -4306,8 +4545,7 @@ msgstr "Das Modem wurde nicht gefunden"
#: src/libnmc-base/nm-client-utils.c:426
msgid "The Bluetooth connection failed or timed out"
-msgstr ""
-"Die Bluetooth-Verbindung ist fehlgeschlagen oder benötigte zu viel Zeit"
+msgstr "Die Bluetooth-Verbindung ist fehlgeschlagen oder benötigte zu viel Zeit"
#: src/libnmc-base/nm-client-utils.c:428
msgid "GSM Modem's SIM card not inserted"
@@ -4385,6 +4623,7 @@ msgstr "Die Verwaltung des übergeordneten Geräts wurde geändert"
#: src/libnmc-base/nm-client-utils.c:459
#, fuzzy
+#| msgid "OpenVSwitch database connection failed"
msgid "Open vSwitch database connection failed"
msgstr "Datenbankverbindung zu OpenVSwitch ist fehlgeschlagen"
@@ -4398,10 +4637,11 @@ msgstr "Die gewählte IP-Methode wird nicht unterstützt"
#: src/libnmc-base/nm-client-utils.c:465
msgid "Failed to configure SR-IOV parameters"
-msgstr "Fehler beim Konfigurieren der SR-IOV-Parameter"
+msgstr "Das Einrichten der SR-IOV-Parameter schlug fehl."
#: src/libnmc-base/nm-client-utils.c:467
#, fuzzy
+#| msgid "The Wi-Fi network could not be found"
msgid "The Wi-Fi P2P peer could not be found"
msgstr "Das WLAN konnte nicht gefunden werden"
@@ -4465,39 +4705,43 @@ msgstr "Software-Link konnte nicht erstellt werden"
msgid "The device disappeared"
msgstr "Das Gerät verschwand"
-#: src/libnmc-base/nm-client-utils.c:823
+#: src/libnmc-base/nm-client-utils.c:826
msgid "missing colon for \"<setting>.<property>:<secret>\" format"
msgstr ""
-#: src/libnmc-base/nm-client-utils.c:840
+#: src/libnmc-base/nm-client-utils.c:843
msgid "missing dot for \"<setting>.<property>:<secret>\" format"
msgstr ""
-#: src/libnmc-base/nm-client-utils.c:846
+#: src/libnmc-base/nm-client-utils.c:849
#, fuzzy
+#| msgid "use 'goto <setting>' first, or 'set <setting>.<property>'\n"
msgid "missing setting for \"<setting>.<property>:<secret>\" format"
msgstr ""
"Verwenden Sie zuerst »goto <Einstellung>«, oder »set <Einstellung>."
"<Eigenschaft>«\n"
-#: src/libnmc-base/nm-client-utils.c:857
+#: src/libnmc-base/nm-client-utils.c:860
msgid "missing property for \"<setting>.<property>:<secret>\" format"
msgstr ""
-#: src/libnmc-base/nm-client-utils.c:867
+#: src/libnmc-base/nm-client-utils.c:870
#, fuzzy
+#| msgid "invalid setting name '%s'"
msgid "invalid setting name"
msgstr "Ungültiger Einstellungsname »%s«"
-#: src/libnmc-base/nm-client-utils.c:881
+#: src/libnmc-base/nm-client-utils.c:884
#, fuzzy
+#| msgid "Property name? "
msgid "property name is not UTF-8"
msgstr "Eigenschaftenname? "
-#: src/libnmc-base/nm-client-utils.c:898 src/libnmc-base/nm-client-utils.c:904
+#: src/libnmc-base/nm-client-utils.c:901 src/libnmc-base/nm-client-utils.c:907
#, fuzzy
+#| msgid "secret is not set"
msgid "secret is not UTF-8"
-msgstr "Die Adresse ist kein gültiges UTF-8"
+msgstr "»Geheimnis« ist nicht festgelegt"
#: src/libnmc-base/nm-polkit-listener.c:327
#, c-format
@@ -4506,6 +4750,7 @@ msgstr ""
#: src/libnmc-base/nm-polkit-listener.c:329
#, fuzzy, c-format
+#| msgid "Could not activate connection: %s"
msgid "Could not retrieve session id: %s"
msgstr "Verbindungen konnte nicht aktiviert werden: %s"
@@ -4516,8 +4761,10 @@ msgstr ""
#: src/libnmc-base/nm-secret-agent-simple.c:270
#: src/libnmc-base/nm-secret-agent-simple.c:357
-#: src/libnmc-setting/nm-meta-setting-desc.c:5054 src/nmtui/nmt-page-dsl.c:51
-#: src/nmtui/nmt-page-wifi.c:331
+#: src/libnmc-setting/nm-meta-setting-desc.c:5200
+#: src/nmtui/nmt-8021x-fields.c:182 src/nmtui/nmt-8021x-fields.c:353
+#: src/nmtui/nmt-8021x-fields.c:457 src/nmtui/nmt-page-dsl.c:51
+#: src/nmtui/nmt-page-wifi.c:345
msgid "Username"
msgstr "Benutzername"
@@ -4528,15 +4775,16 @@ msgstr "Benutzername"
#: src/libnmc-base/nm-secret-agent-simple.c:917
#: src/libnmc-base/nm-secret-agent-simple.c:952
#: src/libnmc-base/nm-secret-agent-simple.c:979
-#: src/libnmc-base/nm-vpn-helpers.c:143 src/libnmc-base/nm-vpn-helpers.c:147
-#: src/libnmc-base/nm-vpn-helpers.c:153 src/libnmc-base/nm-vpn-helpers.c:158
-#: src/nmcli/devices.c:4689 src/nmtui/nmt-page-dsl.c:64
-#: src/nmtui/nmt-page-wifi.c:271 src/nmtui/nmt-page-wifi.c:305
-#: src/nmtui/nmt-page-wifi.c:344
+#: src/libnmc-base/nm-vpn-helpers.c:144 src/libnmc-base/nm-vpn-helpers.c:148
+#: src/libnmc-base/nm-vpn-helpers.c:154 src/libnmc-base/nm-vpn-helpers.c:159
+#: src/nmcli/devices.c:4736 src/nmtui/nmt-8021x-fields.c:195
+#: src/nmtui/nmt-8021x-fields.c:373 src/nmtui/nmt-8021x-fields.c:477
+#: src/nmtui/nmt-page-dsl.c:64 src/nmtui/nmt-page-wifi.c:287
+#: src/nmtui/nmt-page-wifi.c:319 src/nmtui/nmt-page-wifi.c:358
msgid "Password"
msgstr "Passwort"
-#: src/libnmc-base/nm-secret-agent-simple.c:284
+#: src/libnmc-base/nm-secret-agent-simple.c:284 src/nmtui/nmt-8021x-fields.c:204
msgid "Identity"
msgstr "Identität"
@@ -4544,7 +4792,7 @@ msgstr "Identität"
msgid "Private key password"
msgstr "Passwort für geheimen Schlüssel"
-#: src/libnmc-base/nm-secret-agent-simple.c:325 src/nmtui/nmt-page-wifi.c:284
+#: src/libnmc-base/nm-secret-agent-simple.c:325 src/nmtui/nmt-page-wifi.c:298
msgid "Key"
msgstr "Schlüssel"
@@ -4554,11 +4802,13 @@ msgstr "Dienst"
#: src/libnmc-base/nm-secret-agent-simple.c:473
#, fuzzy
+#| msgid "invalid private key"
msgid "WireGuard private-key"
msgstr "Ungültiger privater Schlüssel"
#: src/libnmc-base/nm-secret-agent-simple.c:512
#, fuzzy, c-format
+#| msgid "Secrets are required to access the wired network '%s'"
msgid "Secrets are required to connect WireGuard VPN '%s'"
msgstr ""
"Passwörter oder Schlüssel sind erforderlich, um auf das Kabelnetzwerk »%s« "
@@ -4580,8 +4830,7 @@ msgstr "Legitimierung für Funknetzwerk wird benötigt"
#: src/libnmc-base/nm-secret-agent-simple.c:880
#, c-format
msgid ""
-"Passwords or encryption keys are required to access the wireless network "
-"'%s'."
+"Passwords or encryption keys are required to access the wireless network '%s'."
msgstr ""
"Passwörter oder Schlüssel sind erforderlich, um auf das Funknetzwerk »%s« "
"zuzugreifen."
@@ -4636,7 +4885,7 @@ msgid "MACsec PSK authentication"
msgstr "MACsec-PSK-Legitimierung"
#: src/libnmc-base/nm-secret-agent-simple.c:931
-#: src/libnmc-setting/nm-meta-setting-desc.c:6564
+#: src/libnmc-setting/nm-meta-setting-desc.c:6896
msgid "MKA CAK"
msgstr "MKA CAK"
@@ -4645,63 +4894,87 @@ msgid "MACsec EAP authentication"
msgstr "MACsec-EAP-Legitimierung"
#: src/libnmc-base/nm-secret-agent-simple.c:941
-#, fuzzy
msgid "WireGuard VPN secret"
-msgstr "WireGuard"
+msgstr ""
#: src/libnmc-base/nm-secret-agent-simple.c:984
msgid "VPN password required"
msgstr "VPN-Passwort ist erforderlich"
-#: src/libnmc-base/nm-vpn-helpers.c:41
+#: src/libnmc-base/nm-vpn-helpers.c:42
#, c-format
msgid "unknown VPN plugin \"%s\""
msgstr "Unbekannte VPN-Erweiterung »%s«"
-#: src/libnmc-base/nm-vpn-helpers.c:57
+#: src/libnmc-base/nm-vpn-helpers.c:58
#, c-format
msgid "cannot load legacy-only VPN plugin \"%s\" for \"%s\""
msgstr "Erweiterung »%s« kann nicht geladen werden: %s"
-#: src/libnmc-base/nm-vpn-helpers.c:65
+#: src/libnmc-base/nm-vpn-helpers.c:66
#, c-format
msgid ""
"cannot load VPN plugin \"%s\" due to missing \"%s\". Missing client plugin?"
msgstr ""
-"VPN-Erweiterung »%s« kann wegen fehlendem »%s« nicht geladen werden. Fehlt "
-"die Client-Erweiterung?"
+"VPN-Erweiterung »%s« kann wegen fehlendem »%s« nicht geladen werden. Fehlt die "
+"Client-Erweiterung?"
-#: src/libnmc-base/nm-vpn-helpers.c:72
+#: src/libnmc-base/nm-vpn-helpers.c:73
#, c-format
msgid "failed to load VPN plugin \"%s\": %s"
msgstr "Laden der VPN-Erweiterung »%s« ist gescheitert: %s."
-#: src/libnmc-base/nm-vpn-helpers.c:148
+#: src/libnmc-base/nm-vpn-helpers.c:149
msgid "Certificate password"
msgstr "Passwort für Zertifikat"
-#: src/libnmc-base/nm-vpn-helpers.c:149
+#: src/libnmc-base/nm-vpn-helpers.c:150
msgid "HTTP proxy password"
msgstr "Passwort für HTTP-Proxy"
-#: src/libnmc-base/nm-vpn-helpers.c:154 src/libnmc-base/nm-vpn-helpers.c:159
+#: src/libnmc-base/nm-vpn-helpers.c:155 src/libnmc-base/nm-vpn-helpers.c:160
msgid "Group password"
msgstr "Gruppenpasswort"
-#: src/libnmc-base/nm-vpn-helpers.c:163 src/nmtui/nmt-page-ip4.c:132
-#: src/nmtui/nmt-page-ip6.c:133
-msgid "Gateway"
-msgstr "Gateway"
+#: src/libnmc-base/nm-vpn-helpers.c:164
+msgid "Gateway URL"
+msgstr "Gateway-Adresse"
# https://de.wikipedia.org/wiki/Cookie
-#: src/libnmc-base/nm-vpn-helpers.c:164
+#: src/libnmc-base/nm-vpn-helpers.c:165
msgid "Cookie"
msgstr "Cookie"
-#: src/libnmc-base/nm-vpn-helpers.c:165
+#: src/libnmc-base/nm-vpn-helpers.c:166
msgid "Gateway certificate hash"
msgstr "Prüfsumme des Gateway-Zertifikats"
+#: src/libnmc-base/nm-vpn-helpers.c:167
+msgid "Gateway DNS resolution ('host:IP')"
+msgstr ""
+
+#: src/libnmc-base/nm-vpn-helpers.c:308
+#, fuzzy
+#| msgid "IPv4 gateway [none]"
+msgid "no gateway configured"
+msgstr "IPv4-Gateway [keines]"
+
+#: src/libnmc-base/nm-vpn-helpers.c:392
+#, fuzzy, c-format
+#| msgid "Editor failed with status %d"
+msgid "exited with status %d"
+msgstr "Editor fehlgeschlagen mit Status %d"
+
+#: src/libnmc-base/nm-vpn-helpers.c:399
+#, fuzzy, c-format
+#| msgid "Editor failed with signal %d"
+msgid "exited on signal %d"
+msgstr "Editor fehlgeschlagen mit Signal %d"
+
+#: src/libnmc-base/nm-vpn-helpers.c:430
+msgid "insufficent secrets returned"
+msgstr ""
+
#: src/libnmc-setting/nm-meta-setting-access.c:501
#, c-format
msgid "field '%s' has to be alone"
@@ -4712,204 +4985,207 @@ msgstr "Feld »%s« muss allein stehen"
msgid "invalid field '%s%s%s%s%s'; %s%s%s"
msgstr "Ungültiges Feld »%s%s%s%s%s«; %s%s%s"
-#: src/libnmc-setting/nm-meta-setting-desc.c:268
-#: src/libnmc-setting/nm-meta-setting-desc.c:334
+#: src/libnmc-setting/nm-meta-setting-desc.c:258
+#: src/libnmc-setting/nm-meta-setting-desc.c:326
#, fuzzy, c-format
#| msgid "invalid prefix '%s'; <1-%d> allowed"
msgid "invalid prefix '%s'; <0-%d> allowed"
msgstr "ungültiger Präfix »%s«. <1-%d> ist erlaubt"
-#: src/libnmc-setting/nm-meta-setting-desc.c:280
+#: src/libnmc-setting/nm-meta-setting-desc.c:269
#, c-format
msgid "invalid IP address: %s"
msgstr "Ungültige IP-Adresse: %s"
-#: src/libnmc-setting/nm-meta-setting-desc.c:305
+#: src/libnmc-setting/nm-meta-setting-desc.c:294
msgid ""
-"The valid syntax is: 'ip[/prefix] [next-hop] [metric] [attribute=val]... [,"
-"ip[/prefix] ...]'"
+"The valid syntax is: 'ip[/prefix] [next-hop] [metric] [attribute=val]... [,ip[/"
+"prefix] ...]'"
msgstr ""
-"Die gültige Syntax lautet: 'IP[/Präfix] [next-hop] [Metrik] "
-"[Attribut=Wert]... [,IP[/Präfix] ...]'"
+"Die gültige Syntax lautet: 'IP[/Präfix] [next-hop] [Metrik] [Attribut=Wert]... "
+"[,IP[/Präfix] ...]'"
-#: src/libnmc-setting/nm-meta-setting-desc.c:346
+#: src/libnmc-setting/nm-meta-setting-desc.c:340
#, c-format
msgid "the next hop ('%s') must be first"
msgstr "»next hop« (%s) muss der erste sein"
-#: src/libnmc-setting/nm-meta-setting-desc.c:356
+#: src/libnmc-setting/nm-meta-setting-desc.c:350
#, c-format
msgid "the metric ('%s') must be before attributes"
msgstr "die Metrik (»%s«) muss vor den Attributen stehen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:407
+#: src/libnmc-setting/nm-meta-setting-desc.c:403
#, c-format
msgid "invalid route: %s. %s"
msgstr "Ungültige Route: %s. %s"
-#: src/libnmc-setting/nm-meta-setting-desc.c:475
+#: src/libnmc-setting/nm-meta-setting-desc.c:472
#, c-format
msgid "cannot read pac-script from file '%s'"
msgstr "PAC-Skript kann nicht aus Datei »%s« gelesen werden"
-#: src/libnmc-setting/nm-meta-setting-desc.c:484
+#: src/libnmc-setting/nm-meta-setting-desc.c:480
#, c-format
msgid "file '%s' contains non-valid utf-8"
msgstr "Datei »%s« enthält kein gültiges utf-8"
-#: src/libnmc-setting/nm-meta-setting-desc.c:498
+#: src/libnmc-setting/nm-meta-setting-desc.c:493
#, c-format
msgid "'%s' does not contain a valid PAC Script"
msgstr "»%s« enthält kein kein gültiges PAC-Skript"
-#: src/libnmc-setting/nm-meta-setting-desc.c:504
+#: src/libnmc-setting/nm-meta-setting-desc.c:496
msgid "Not a valid PAC Script"
msgstr "Kein gültiges PAC-Skript"
-#: src/libnmc-setting/nm-meta-setting-desc.c:557
+#: src/libnmc-setting/nm-meta-setting-desc.c:548
#, c-format
msgid "cannot read team config from file '%s'"
msgstr "Team-Konfiguration kann nicht aus Datei »%s« gelesen werden"
-#: src/libnmc-setting/nm-meta-setting-desc.c:566
+#: src/libnmc-setting/nm-meta-setting-desc.c:556
#, c-format
msgid "team config file '%s' contains non-valid utf-8"
msgstr "Team-Konfigurationsdatei »%s« enthält ungültiges UTF-8"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1060
+#: src/libnmc-setting/nm-meta-setting-desc.c:1050
msgid "auto"
msgstr "auto"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1225
+#: src/libnmc-setting/nm-meta-setting-desc.c:1193
#, c-format
msgid "%s (%s)"
msgstr "%s (%s)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1418
-#: src/libnmc-setting/nm-meta-setting-desc.c:1426
-#: src/libnmc-setting/nm-meta-setting-desc.c:4393
-#, fuzzy
+#: src/libnmc-setting/nm-meta-setting-desc.c:1447
+#: src/libnmc-setting/nm-meta-setting-desc.c:1455
+#: src/libnmc-setting/nm-meta-setting-desc.c:4513
msgid "'%s' is out of range [%"
-msgstr "»%s« ist außerhalb des Bereichs [0, %u]"
+msgstr "»%s« ist außerhalb des Bereichs [%"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1435
+#: src/libnmc-setting/nm-meta-setting-desc.c:1463
#, c-format
msgid "'%s' is not a valid number"
msgstr "»%s« ist keine gültige Zahl"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1492
+#: src/libnmc-setting/nm-meta-setting-desc.c:1519
#, c-format
msgid "'%s' is out of range [0, %u]"
msgstr "»%s« ist außerhalb des Bereichs [0, %u]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1537
+#: src/libnmc-setting/nm-meta-setting-desc.c:1570
#, c-format
msgid "'%s' is not a valid Ethernet MAC"
msgstr "»%s« ist keine gültige Ethernet MAC-Adresse"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1662
+#: src/libnmc-setting/nm-meta-setting-desc.c:1672
#, c-format
msgid "invalid option '%s', use a combination of [%s]"
msgstr "ungültige Option »%s«. Verwenden Sie eine Kombination aus [%s]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1827
+#: src/libnmc-setting/nm-meta-setting-desc.c:1809
#, c-format
msgid "%d (key)"
msgstr "%d (Schlüssel)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1829
+#: src/libnmc-setting/nm-meta-setting-desc.c:1811
#, c-format
msgid "%d (passphrase)"
msgstr "%d (Passphrase)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1832
+#: src/libnmc-setting/nm-meta-setting-desc.c:1814
#, c-format
msgid "%d (unknown)"
msgstr "%d (unbekannt)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1845
+#: src/libnmc-setting/nm-meta-setting-desc.c:1827
msgid "0 (NONE)"
msgstr "0 (KEINES)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1851
+#: src/libnmc-setting/nm-meta-setting-desc.c:1833
msgid "REORDER_HEADERS, "
msgstr "REORDER_HEADERS, "
-#: src/libnmc-setting/nm-meta-setting-desc.c:1853
+#: src/libnmc-setting/nm-meta-setting-desc.c:1835
msgid "GVRP, "
msgstr "GVRP, "
-#: src/libnmc-setting/nm-meta-setting-desc.c:1855
+#: src/libnmc-setting/nm-meta-setting-desc.c:1837
msgid "LOOSE_BINDING, "
msgstr "LOOSE_BINDING, "
-#: src/libnmc-setting/nm-meta-setting-desc.c:1857
+#: src/libnmc-setting/nm-meta-setting-desc.c:1839
msgid "MVRP, "
msgstr "MVRP, "
-#: src/libnmc-setting/nm-meta-setting-desc.c:1878
+#: src/libnmc-setting/nm-meta-setting-desc.c:1860
msgid "0 (none)"
msgstr "0 (keine)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:1884
+#: src/libnmc-setting/nm-meta-setting-desc.c:1866
msgid "agent-owned, "
msgstr "Agent-Besitz, "
-#: src/libnmc-setting/nm-meta-setting-desc.c:1886
+#: src/libnmc-setting/nm-meta-setting-desc.c:1868
msgid "not saved, "
msgstr "nicht gespeichert, "
-#: src/libnmc-setting/nm-meta-setting-desc.c:1888
+#: src/libnmc-setting/nm-meta-setting-desc.c:1870
msgid "not required, "
msgstr "nicht notwendig, "
-#: src/libnmc-setting/nm-meta-setting-desc.c:2093
+#: src/libnmc-setting/nm-meta-setting-desc.c:2075
#, c-format
msgid "'%s' is not valid; use <option>=<value>"
msgstr "»%s« ist ungültig. Verwenden Sie <Option>=<Wert>"
-#: src/libnmc-setting/nm-meta-setting-desc.c:2103
+#: src/libnmc-setting/nm-meta-setting-desc.c:2085
#, fuzzy, c-format
+#| msgid "can not set property: %s"
msgid "cannot set empty \"%s\" option"
msgstr "Die Eigenschaft kann nicht festgelegt werden: %s"
-#: src/libnmc-setting/nm-meta-setting-desc.c:2165
+#: src/libnmc-setting/nm-meta-setting-desc.c:2146
#, c-format
msgid "'%u' flags are not valid; use combination of %s"
msgstr "Flags »%u« sind ungültig. Verwenden Sie eine Kombination von %s"
-#: src/libnmc-setting/nm-meta-setting-desc.c:2183
+#: src/libnmc-setting/nm-meta-setting-desc.c:2166
#, c-format
msgid "'%s' is not a valid number (or out of range)"
msgstr "»%s« ist keine gültige Zahl (oder außerhalb des Bereichs)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:2282
+#: src/libnmc-setting/nm-meta-setting-desc.c:2266
#, fuzzy, c-format
+#| msgid "invalid runner \"%s\""
msgid "invalid IPv4 or subnet \"%s\""
msgstr "ungültiger Runner »%s«"
-#: src/libnmc-setting/nm-meta-setting-desc.c:2313
+#: src/libnmc-setting/nm-meta-setting-desc.c:2297
#, fuzzy
+#| msgid "not a valid interface name"
msgid "not a valid hex-string"
msgstr "kein gültiger Schnittstellenname"
-#: src/libnmc-setting/nm-meta-setting-desc.c:2329
+#: src/libnmc-setting/nm-meta-setting-desc.c:2315
#, c-format
msgid "'%s' is not a valid hex character"
msgstr "»%s« ist kein gültiger hexadezimaler Wert"
-#: src/libnmc-setting/nm-meta-setting-desc.c:2416
+#: src/libnmc-setting/nm-meta-setting-desc.c:2403
msgid ""
"too many arguments. Please only specify a private key file and optionally a "
"password"
msgstr ""
-#: src/libnmc-setting/nm-meta-setting-desc.c:2530
+#: src/libnmc-setting/nm-meta-setting-desc.c:2520
#, fuzzy, c-format
+#| msgid "failed to set property: %s"
msgid "failed to set bond option \"%s\""
msgstr "Eigenschaft konnte nicht festgelegt werden: %s"
-#: src/libnmc-setting/nm-meta-setting-desc.c:2578
+#: src/libnmc-setting/nm-meta-setting-desc.c:2568
#, c-format
msgid ""
"Enter a list of bonding options formatted as:\n"
@@ -4940,132 +5216,124 @@ msgstr ""
"\n"
"Beispiel: mode=2,miimon=120\n"
-#. Don't allow setting type unless the connection is brand new.
-#. * Just because it's a bad idea and the user wouldn't probably want that.
-#. * No technical reason, really.
-#. * Also, using uuid to see if the connection is brand new is a bit
-#. * hacky: we can not see if the type is already set, because
-#. * nmc_setting_set_property() is called only after the property
-#. * we're setting (type) has been removed.
-#: src/libnmc-setting/nm-meta-setting-desc.c:2646
+#: src/libnmc-setting/nm-meta-setting-desc.c:2675
msgid "Can not change the connection type"
msgstr "Der Verbindungstyp kann nicht geändert werden"
-#: src/libnmc-setting/nm-meta-setting-desc.c:2729
+#: src/libnmc-setting/nm-meta-setting-desc.c:2756
#, fuzzy, c-format
+#| msgid "invalid runner \"%s\""
msgid "invalid permission \"%s\""
msgstr "ungültiger Runner »%s«"
-#: src/libnmc-setting/nm-meta-setting-desc.c:2829
+#: src/libnmc-setting/nm-meta-setting-desc.c:2856
#, c-format
msgid "the value '%s' is not a valid UUID"
msgstr "Der Wert »%s» ist keine gültige UUID"
-#: src/libnmc-setting/nm-meta-setting-desc.c:2900
+#: src/libnmc-setting/nm-meta-setting-desc.c:2927
msgid "0 (disabled)"
msgstr "0 (deaktiviert)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:2906
+#: src/libnmc-setting/nm-meta-setting-desc.c:2933
msgid "enabled, "
msgstr "aktiviert, "
-#: src/libnmc-setting/nm-meta-setting-desc.c:2908
+#: src/libnmc-setting/nm-meta-setting-desc.c:2935
msgid "advertise, "
msgstr "sichtbar, "
-#: src/libnmc-setting/nm-meta-setting-desc.c:2910
+#: src/libnmc-setting/nm-meta-setting-desc.c:2937
msgid "willing, "
msgstr "willig, "
-#: src/libnmc-setting/nm-meta-setting-desc.c:2997
+#: src/libnmc-setting/nm-meta-setting-desc.c:3026
#, c-format
msgid "'%s' is not a valid DCB flag"
msgstr "»%s« ist kein gültiges DCB-Flag"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3024
+#: src/libnmc-setting/nm-meta-setting-desc.c:3054
msgid "must contain 8 comma-separated numbers"
msgstr "muss 8 mit Kommata getrennte Zahlen enthalten"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3040
+#: src/libnmc-setting/nm-meta-setting-desc.c:3069
#, c-format
msgid "'%s' not a number between 0 and %u (inclusive) or %u"
msgstr "»%s« ist keine Zahl zwischen 0 und %u (einschließlich) oder %u"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3048
+#: src/libnmc-setting/nm-meta-setting-desc.c:3076
#, c-format
msgid "'%s' not a number between 0 and %u (inclusive)"
msgstr "»%s« ist keine Zahl zwischen 0 und %u (einschließlich)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3074
+#: src/libnmc-setting/nm-meta-setting-desc.c:3102
#, c-format
msgid "changes will have no effect until '%s' includes 1 (enabled)"
msgstr "Die Änderungen wirken sich erst aus wenn »%s« 1 enthält (aktiviert)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3106
+#: src/libnmc-setting/nm-meta-setting-desc.c:3134
#, c-format
msgid "bandwidth percentages must total 100%%"
msgstr "Die Prozentzahlen der Bandbreiten müssen in Summe 100%% ergeben"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3206
-#: src/libnmc-setting/nm-meta-setting-desc.c:3215
+#: src/libnmc-setting/nm-meta-setting-desc.c:3234
+#: src/libnmc-setting/nm-meta-setting-desc.c:3243
msgid "SIM operator ID must be a 5 or 6 number MCCMNC code"
msgstr ""
"Die Kennung des SIM-Operators muss ein fünf- oder sechsstelliger MCCMNC-Code "
"sein"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3236
+#: src/libnmc-setting/nm-meta-setting-desc.c:3266
#, c-format
msgid "'%s' is not a valid IBoIP P_Key"
msgstr "»%s« ist kein gültiger IBoIP P_Key"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3259
+#: src/libnmc-setting/nm-meta-setting-desc.c:3290
msgid "default"
msgstr "Vorgabe"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3420
-#, fuzzy, c-format
-msgid "invalid IPv%c address '%s'"
-msgstr "Ungültige IPv4-Adresse »%s«"
-
-#: src/libnmc-setting/nm-meta-setting-desc.c:3548
+#: src/libnmc-setting/nm-meta-setting-desc.c:3561
#, c-format
msgid "invalid gateway address '%s'"
msgstr "Ungültige Gateway-Adresse »%s«"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3698
+#: src/libnmc-setting/nm-meta-setting-desc.c:3713
#, c-format
msgid "'%s' is not a valid channel; use <1-13>"
msgstr "»%s« ist kein gültiger Kanal. Verwenden Sie <1-13>"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3777
+#: src/libnmc-setting/nm-meta-setting-desc.c:3807
msgid "The valid syntax is: vf [attribute=value]... [,vf [attribute=value]...]"
msgstr ""
-"Die gültige Syntax lautet: vf [Attribut = Wert] ... [, vf [Attribut = "
-"Wert] ...]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3803
-#: src/libnmc-setting/nm-meta-setting-desc.c:3885
+#: src/libnmc-setting/nm-meta-setting-desc.c:3833
+#: src/libnmc-setting/nm-meta-setting-desc.c:3946
#, fuzzy
-msgid ""
-"The valid syntax is: '[root | parent <handle>] [handle <handle>] <kind>'"
+#| msgid ""
+#| "The valid syntax is: '[root | parent <handle>] [handle <handle>] <qdisc>'"
+msgid "The valid syntax is: '[root | parent <handle>] [handle <handle>] <kind>'"
msgstr ""
"Die gültige Syntax ist: [root | parent <Handle>] [handle <Handle>] <qdisc>'"
-#: src/libnmc-setting/nm-meta-setting-desc.c:3829
+#: src/libnmc-setting/nm-meta-setting-desc.c:3860
+msgid "The valid syntax is: '<value>' or '<start>-<end>"
+msgstr "Die gültige Syntax ist: »<Wert>« oder »<Start>-<Ende>«"
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:3890
msgid "The valid syntax is: '<vid>[-<vid>] [pvid] [untagged]'"
msgstr ""
-#: src/libnmc-setting/nm-meta-setting-desc.c:4029
+#: src/libnmc-setting/nm-meta-setting-desc.c:4092
#, c-format
msgid "invalid priority map '%s'"
msgstr "ungültige Prioritätsabbildung »%s«"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4119
+#: src/libnmc-setting/nm-meta-setting-desc.c:4185
#, c-format
msgid "'%s' is not valid; 2 or 3 strings should be provided"
msgstr "»%s« ist ungültig. 2 oder 3 Zeichenketten müssen angegeben werden"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4157
+#: src/libnmc-setting/nm-meta-setting-desc.c:4224
#, c-format
msgid ""
"Enter a list of S/390 options formatted as:\n"
@@ -5076,17 +5344,17 @@ msgstr ""
" Option = <Wert>, Option = <Wert>,… \n"
"Mögliche Optionen sind: %s\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4191
+#: src/libnmc-setting/nm-meta-setting-desc.c:4258
#, c-format
msgid "'%s' is not a valid channel"
msgstr "»%s« ist kein gültiger Kanal"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4197
+#: src/libnmc-setting/nm-meta-setting-desc.c:4266
#, c-format
msgid "'%ld' is not a valid channel"
msgstr "»%ld« ist kein gültiger Kanal"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4276
+#: src/libnmc-setting/nm-meta-setting-desc.c:4347
#, c-format
msgid ""
"'%s' not compatible with %s '%s', please change the key or set the right %s "
@@ -5095,86 +5363,73 @@ msgstr ""
"»%s« ist nicht kompatibel mit %s »%s«. Bitte ändern Sie den Schlüssel oder "
"legen Sie zuerst das richtige %s fest."
-#: src/libnmc-setting/nm-meta-setting-desc.c:4291
-#, c-format
-msgid "WEP key is guessed to be of '%s'"
+#: src/libnmc-setting/nm-meta-setting-desc.c:4363
+#, fuzzy, c-format
+#| msgid "WEP key is guessed to be of '%s'"
+msgid "WEP key is guessed to be of %s"
msgstr "Der WEP-Schlüssel ist vermutlich »%s«"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4297
+#: src/libnmc-setting/nm-meta-setting-desc.c:4370
#, c-format
msgid "WEP key index set to '%d'"
msgstr "Der WEP-Schlüsselindex wurde auf »%d« gesetzt"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4336
+#: src/libnmc-setting/nm-meta-setting-desc.c:4446
#, c-format
msgid "'%s' is not compatible with '%s' type, please change or delete the key."
msgstr ""
-"»%s« ist nicht kompatibel mit dem Typ »%s«. Bitte ändern oder löschen Sie "
-"den Schlüssel."
+"»%s« ist nicht kompatibel mit dem Typ »%s«. Bitte ändern oder löschen Sie den "
+"Schlüssel."
-#: src/libnmc-setting/nm-meta-setting-desc.c:4371 src/nmcli/utils.h:319
+#: src/libnmc-setting/nm-meta-setting-desc.c:4483 src/nmcli/utils.h:322
msgid "on"
msgstr "an"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4371 src/nmcli/utils.h:319
+#: src/libnmc-setting/nm-meta-setting-desc.c:4483 src/nmcli/utils.h:322
msgid "off"
msgstr "aus"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4413
+#: src/libnmc-setting/nm-meta-setting-desc.c:4531
#, c-format
msgid "'%s' is not valid; use 'on', 'off', or 'ignore'"
-msgstr "'%s' ist ungültig; Verwenden Sie 'ein', 'aus' oder 'ignorieren'"
+msgstr ""
-#: src/libnmc-setting/nm-meta-setting-desc.c:4482
-#, fuzzy
-#| msgid "Bonding primary interface [none]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:4604
msgid "Bonding primary interface"
-msgstr "Primäre Schnittstelle der Bündelung [keine]"
+msgstr "Primäre Schnittstelle der Bündelung"
#. this is a virtual property, only needed during "ask" mode.
-#: src/libnmc-setting/nm-meta-setting-desc.c:4490
+#: src/libnmc-setting/nm-meta-setting-desc.c:4612
msgid "Bonding monitoring mode"
msgstr "Überwachungsmodus der Bündelung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4499
-#, fuzzy
-#| msgid "Bonding miimon [100]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:4621
msgid "Bonding miimon"
-msgstr "Bündelung »miimon« [100]"
+msgstr "Bündelung »miimon«"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4508
-#, fuzzy
-#| msgid "Bonding downdelay [0]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:4630
msgid "Bonding downdelay"
-msgstr "Bündelung »downdelay« [0]"
+msgstr "Bündelung »downdelay«"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4517
-#, fuzzy
-#| msgid "Bonding updelay [0]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:4639
msgid "Bonding updelay"
-msgstr "Bündelung »updelay« [0]"
+msgstr "Bündelung »updelay«"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4526
-#, fuzzy
-#| msgid "Bonding arp-interval [0]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:4648
msgid "Bonding arp-interval"
-msgstr "Bündelung »arp-interval« [0]"
+msgstr "Bündelung »arp-interval«"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4535
-#, fuzzy
-#| msgid "Bonding arp-ip-target [none]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:4657
msgid "Bonding arp-ip-target"
-msgstr "Bündelung »arp-ip-target« [keines]"
+msgstr "Bündelung »arp-ip-target«"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4544
-#, fuzzy
-#| msgid "LACP rate ('slow' or 'fast') [slow]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:4666
msgid "LACP rate (slow/fast)"
-msgstr "LACP-Rate (»slow« oder »fast«) [slow]"
+msgstr "LACP-Rate (»slow« oder »fast«)"
#. macro that returns @func as const (guint32(*)(NMSetting*)) type, but checks
#. * that the actual type is (guint32(*)(type *)).
-#: src/libnmc-setting/nm-meta-setting-desc.c:4718
+#: src/libnmc-setting/nm-meta-setting-desc.c:4857
msgid ""
"nmcli can accepts both direct JSON configuration data and a file name "
"containing the configuration. In the latter case the file is read and the "
@@ -5192,7 +5447,7 @@ msgstr ""
"\"roundrobin\"}, \"ports\": {\"eth1\": {}, \"eth2\": {}} }\n"
" set team.config /etc/my-team.conf\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4726
+#: src/libnmc-setting/nm-meta-setting-desc.c:4865
msgid ""
"Enter a list of link watchers formatted as dictionaries where the keys are "
"teamd properties. Dictionary pairs are in the form: key=value and pairs are "
@@ -5214,29 +5469,15 @@ msgid ""
"Properties flagged with a '*' are mandatory.\n"
"\n"
"Example:\n"
-" name=arp_ping source-host=172.16.1.1 target-host=172.16.1.254, "
-"name=ethtool delay-up=3\n"
-msgstr ""
-"Geben Sie eine Liste der Linkwächter ein, die als Wörterbücher formatiert "
-"sind, wobei die Schlüssel teamd-Eigenschaften sind. Dictionary-Paare haben "
-"die Form: Schlüssel = Wert und Paare sind durch '' getrennt. Wörterbücher "
-"werden durch ',' getrennt. Die im Wörterbuch erlaubten / benötigten "
-"Schlüssel ändern sich auf der Basis des Linkwatchtyps, während die einzige "
-"für alle Linkwächter gemeinsame Eigenschaft \"Name\" * ist, die den zu "
-"spezifizierenden Linkwatcher definiert. Eigenschaften, die für den 'ethtool' "
-"Link Watcher verfügbar sind: 'delay-up', 'delay-down' Eigenschaften, die für "
-"den 'nsna_ping' Link Watcher verfügbar sind: 'init-wait', 'interval', "
-"'missed-max', 'target- host '* Die für' arp_ping 'verfügbaren Eigenschaften "
-"umfassen alle für' nsna_ping 'und:' source-host '*,' validate-active ',' "
-"validate-inactive ',' send-always '. Eigenschaften, die mit einem '*' "
-"markiert sind, sind Pflichtfelder. Beispiel: name = arp_ping source-host = "
-"172.16.1.1 zielhost = 172.16.1.254, name = ethtool delay-up = 3\n"
-
-#: src/libnmc-setting/nm-meta-setting-desc.c:4775
+" name=arp_ping source-host=172.16.1.1 target-host=172.16.1.254, name=ethtool "
+"delay-up=3\n"
+msgstr ""
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:4914
msgid "IEEE 802.15.4 (WPAN) parent device or connection UUID"
msgstr "IEEE 802.15.4 (WPAN) übergeordnetes Gerät oder Verbindungs-UUID"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4811
+#: src/libnmc-setting/nm-meta-setting-desc.c:4951
msgid ""
"Enter file path to CA certificate (optionally prefixed with file://).\n"
" [file://]<file path>\n"
@@ -5250,7 +5491,7 @@ msgstr ""
"unterstützt.\n"
"Beispiel: /home/cimrman/cacert.crt\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4853
+#: src/libnmc-setting/nm-meta-setting-desc.c:4994
msgid ""
"Enter file path to client certificate (optionally prefixed with file://).\n"
" [file://]<file path>\n"
@@ -5264,7 +5505,7 @@ msgstr ""
"unterstützt.\n"
"Beispiel: /home/cimrman/jara.crt\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4910
+#: src/libnmc-setting/nm-meta-setting-desc.c:5051
msgid ""
"Enter file path to CA certificate for inner authentication (optionally "
"prefixed\n"
@@ -5280,7 +5521,7 @@ msgstr ""
"unterstützt.\n"
"Beispiel: /home/cimrman/ca-zweite-phase.crt\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4953
+#: src/libnmc-setting/nm-meta-setting-desc.c:5099
msgid ""
"Enter file path to client certificate for inner authentication (optionally "
"prefixed\n"
@@ -5296,14 +5537,13 @@ msgstr ""
"unterstützt.\n"
"Beispiel: /home/cimrman/jara-zweite-phase.crt\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4980
+#: src/libnmc-setting/nm-meta-setting-desc.c:5126
msgid ""
"Enter bytes as a list of hexadecimal values.\n"
"Two formats are accepted:\n"
-"(a) a string of hexadecimal digits, where each two digits represent one "
-"byte\n"
-"(b) space-separated list of bytes written as hexadecimal digits (with "
-"optional 0x/0X prefix, and optional leading 0).\n"
+"(a) a string of hexadecimal digits, where each two digits represent one byte\n"
+"(b) space-separated list of bytes written as hexadecimal digits (with optional "
+"0x/0X prefix, and optional leading 0).\n"
"\n"
"Examples: ab0455a6ea3a74C2\n"
" ab 4 55 0xa6 ea 3a 74 C2\n"
@@ -5312,14 +5552,14 @@ msgstr ""
"Zwei Formate sind möglich:\n"
"(a) Eine Zeichenkette mit hexadezimalen Zeichen, wobei jeweils zwei Zeichen "
"einem Byte entsprechen\n"
-"(b) Eine Leerzeichen-getrennte Liste von Bytes, in hexadezimalen Zeichen "
-"(ein führender »0x« / »0X« Präfix bzw. eine führende Null sind optional).\n"
+"(b) Eine Leerzeichen-getrennte Liste von Bytes, in hexadezimalen Zeichen (ein "
+"führender »0x« / »0X« Präfix bzw. eine führende Null sind optional).\n"
"\n"
"Beispiele: ab0455a6ea3a74C2\n"
" ab 4 55 0xa6 ea 3a 74 C2\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4997
-#: src/libnmc-setting/nm-meta-setting-desc.c:5015
+#: src/libnmc-setting/nm-meta-setting-desc.c:5143
+#: src/libnmc-setting/nm-meta-setting-desc.c:5161
msgid ""
"Enter path to a private key and the key password (if not set yet):\n"
" [file://]<file path> [<password>]\n"
@@ -5331,102 +5571,88 @@ msgstr ""
" [file://]<Dateipfad> [<Passwort>]\n"
"Beispiel: /home/MaxMustermann/jara-priv-key StrengGeheim\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5060
-#: src/libnmc-setting/nm-meta-setting-desc.c:5356
-#: src/libnmc-setting/nm-meta-setting-desc.c:5843
-#: src/libnmc-setting/nm-meta-setting-desc.c:6899
+#: src/libnmc-setting/nm-meta-setting-desc.c:5206
+#: src/libnmc-setting/nm-meta-setting-desc.c:5509
+#: src/libnmc-setting/nm-meta-setting-desc.c:6033
+#: src/libnmc-setting/nm-meta-setting-desc.c:7257
msgid "Password [none]"
msgstr "Passwort [keines]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5106
+#: src/libnmc-setting/nm-meta-setting-desc.c:5252
msgid "Bluetooth device address"
msgstr "Bluetooth Geräteadresse"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5154
+#: src/libnmc-setting/nm-meta-setting-desc.c:5301
#: src/nmtui/nmt-page-bond-port.c:51
msgid "Queue ID"
-msgstr ""
-
-#: src/libnmc-setting/nm-meta-setting-desc.c:5166
-#: src/libnmc-setting/nm-meta-setting-desc.c:5917
-#: src/libnmc-setting/nm-meta-setting-desc.c:7619
-#: src/libnmc-setting/nm-meta-setting-desc.c:7657
-#: src/libnmc-setting/nm-meta-setting-desc.c:7842
-#: src/libnmc-setting/nm-meta-setting-desc.c:8075
+msgstr "Warteschlangen-Kennung"
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:5307
+msgid "Port Priority"
+msgstr "Port-Priorität"
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:5319
+#: src/libnmc-setting/nm-meta-setting-desc.c:6144
+#: src/libnmc-setting/nm-meta-setting-desc.c:7990
+#: src/libnmc-setting/nm-meta-setting-desc.c:8028
+#: src/libnmc-setting/nm-meta-setting-desc.c:8210
+#: src/libnmc-setting/nm-meta-setting-desc.c:8457
msgid "MAC [none]"
msgstr "MAC [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5172
-#, fuzzy
-#| msgid "Enable STP [no]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:5325
msgid "Enable STP"
-msgstr "STP aktivieren [nein]"
+msgstr "STP aktivieren"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5178
-#, fuzzy
-#| msgid "Priority"
+#: src/libnmc-setting/nm-meta-setting-desc.c:5331
msgid "STP priority"
-msgstr "Priorität"
+msgstr "STP-Priorität"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5184
-#: src/nmtui/nmt-page-bridge.c:120
+#: src/libnmc-setting/nm-meta-setting-desc.c:5337 src/nmtui/nmt-page-bridge.c:120
msgid "Forward delay"
msgstr "Verzögerung beim Weiterleiten"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5190
-#: src/nmtui/nmt-page-bridge.c:134
+#: src/libnmc-setting/nm-meta-setting-desc.c:5343 src/nmtui/nmt-page-bridge.c:134
msgid "Hello time"
msgstr "Hello-Zeitintervall"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5196
-#: src/nmtui/nmt-page-bridge.c:148
+#: src/libnmc-setting/nm-meta-setting-desc.c:5349 src/nmtui/nmt-page-bridge.c:148
msgid "Max age"
msgstr "Höchstzulässiges Alter"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5202
-#, fuzzy
-#| msgid "MAC address ageing time [300]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:5355
msgid "MAC address ageing time"
-msgstr "Verfallszeit für MAC-Adressen [300]"
+msgstr "Verfallszeit für MAC-Adressen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5212
-#: src/nmtui/nmt-page-bridge.c:156
+#: src/libnmc-setting/nm-meta-setting-desc.c:5365 src/nmtui/nmt-page-bridge.c:156
msgid "Group forward mask"
-msgstr "Gruppe vorwärts Maske"
+msgstr ""
-#: src/libnmc-setting/nm-meta-setting-desc.c:5254
-#: src/nmtui/nmt-page-bridge.c:79
+#: src/libnmc-setting/nm-meta-setting-desc.c:5407 src/nmtui/nmt-page-bridge.c:79
msgid "Enable IGMP snooping"
msgstr "IGMP Snooping aktivieren"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5312
-#, fuzzy
-#| msgid "Bridge port priority [32]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:5465
msgid "Bridge port priority"
-msgstr "Bridge-Port-Priorität [32]"
+msgstr "Bridge-Port-Priorität"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5318
-#, fuzzy
-#| msgid "Bridge port STP path cost [100]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:5471
msgid "Bridge port STP path cost"
-msgstr "Bridge-Port-STP-Pfadkosten [100]"
+msgstr "Bridge-Port-STP-Pfadkosten"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5324
-#, fuzzy
-#| msgid "Hairpin [no]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:5477
msgid "Hairpin"
-msgstr "Hairpin-Modus [nein]"
+msgstr "Hairpin-Modus"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5350
-#: src/libnmc-setting/nm-meta-setting-desc.c:5837
-#: src/libnmc-setting/nm-meta-setting-desc.c:7466
+#: src/libnmc-setting/nm-meta-setting-desc.c:5503
+#: src/libnmc-setting/nm-meta-setting-desc.c:6027
+#: src/libnmc-setting/nm-meta-setting-desc.c:7835
msgid "Username [none]"
msgstr "Benutzername [keiner]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5452
+#: src/libnmc-setting/nm-meta-setting-desc.c:5608
msgid ""
-"Enter a list of user permissions. This is a list of user names formatted "
-"as:\n"
+"Enter a list of user permissions. This is a list of user names formatted as:\n"
" [user:]<user name 1>, [user:]<user name 2>,...\n"
"The items can be separated by commas or spaces.\n"
"\n"
@@ -5439,10 +5665,13 @@ msgstr ""
"\n"
"Beispiel: alice bob charlie\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5505
+#: src/libnmc-setting/nm-meta-setting-desc.c:5637
+msgid "Controller"
+msgstr ""
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:5690
msgid ""
-"Enter secondary connections that should be activated when this connection "
-"is\n"
+"Enter secondary connections that should be activated when this connection is\n"
"activated. Connections can be specified either by UUID or ID (name). nmcli\n"
"transparently translates names to UUIDs. Note that NetworkManager only "
"supports\n"
@@ -5455,15 +5684,14 @@ msgstr ""
"Verbindung\n"
"aktiviert wird. Verbindungen können entweder über ein UUID oder eine Kennung "
"(einen\n"
-"Namen) angegeben werden. nmcli übersetzt transparent Namen in UUIDs. "
-"Bedenken\n"
-"Sie, dass NetworkManager derzeit nur VPNs als gleichzeitige "
-"Zweitverbindungen unterstützt.\n"
+"Namen) angegeben werden. nmcli übersetzt transparent Namen in UUIDs. Bedenken\n"
+"Sie, dass NetworkManager derzeit nur VPNs als gleichzeitige Zweitverbindungen "
+"unterstützt.\n"
"Die Objekte dürfen durch Kommata oder Leerzeichen getrennt sein.\n"
"\n"
"Beispiel: private-openvpn, fe6ba5d8-c2fc-4aae-b2e3-97efddd8d9a7\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5528
+#: src/libnmc-setting/nm-meta-setting-desc.c:5714
msgid ""
"Enter a value which indicates whether the connection is subject to a data\n"
"quota, usage costs or other limitations. Accepted options are:\n"
@@ -5479,28 +5707,45 @@ msgstr ""
"»unknown« (unbekannt), damit NetworkManager einen Wert mittels heuristischer "
"Analysen ermittelt\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5853
+#: src/libnmc-setting/nm-meta-setting-desc.c:6043
msgid "APN"
msgstr "APN"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5926
-#: src/libnmc-setting/nm-meta-setting-desc.c:7688
-#: src/libnmc-setting/nm-meta-setting-desc.c:7882
-#: src/nmtui/nmt-page-ethernet.c:72 src/nmtui/nmt-page-infiniband.c:81
+#: src/libnmc-setting/nm-meta-setting-desc.c:6097
+#, fuzzy
+#| msgid "port"
+msgid "hsr port1"
+msgstr "Port"
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:6104
+#, fuzzy
+#| msgid "port"
+msgid "hsr port2"
+msgstr "Port"
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:6110
+msgid "hsr multicast spec"
+msgstr ""
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:6153
+#: src/libnmc-setting/nm-meta-setting-desc.c:6803
+#: src/libnmc-setting/nm-meta-setting-desc.c:8060
+#: src/libnmc-setting/nm-meta-setting-desc.c:8257
+#: src/nmtui/nmt-page-ethernet.c:124 src/nmtui/nmt-page-infiniband.c:81
#: src/nmtui/nmt-page-ip-tunnel.c:178 src/nmtui/nmt-page-vlan.c:100
-#: src/nmtui/nmt-page-wifi.c:380 src/nmtui/nmt-page-wireguard.c:85
+#: src/nmtui/nmt-page-wifi.c:395 src/nmtui/nmt-page-wireguard.c:85
msgid "MTU"
msgstr "MTU"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5945
+#: src/libnmc-setting/nm-meta-setting-desc.c:6172
msgid "P_KEY [none]"
msgstr "P_KEY [keiner]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5954
+#: src/libnmc-setting/nm-meta-setting-desc.c:6190
msgid "Parent interface [none]"
msgstr "Übergeordnete Schnittstelle [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5981
+#: src/libnmc-setting/nm-meta-setting-desc.c:6219
msgid ""
"Enter a list of IPv4 addresses of DNS servers.\n"
"\n"
@@ -5510,11 +5755,11 @@ msgstr ""
"\n"
"Beispiel: 8.8.8.8, 8.8.4.4\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6029
+#: src/libnmc-setting/nm-meta-setting-desc.c:6269
msgid "IPv4 address (IP[/plen]) [none]"
msgstr "IPv4-Adresse (IP[/plen]) [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6031
+#: src/libnmc-setting/nm-meta-setting-desc.c:6271
msgid ""
"Enter a list of IPv4 addresses formatted as:\n"
" ip[/prefix], ip[/prefix],...\n"
@@ -5528,11 +5773,11 @@ msgstr ""
"\n"
"Beispiel: 192.168.1.5/24, 10.0.0.11/24\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6050
+#: src/libnmc-setting/nm-meta-setting-desc.c:6290
msgid "IPv4 gateway [none]"
msgstr "IPv4-Gateway [keines]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6058
+#: src/libnmc-setting/nm-meta-setting-desc.c:6299
msgid ""
"Enter a list of IPv4 routes formatted as:\n"
" ip[/prefix] [next-hop] [metric],...\n"
@@ -5555,18 +5800,18 @@ msgstr ""
"Beispiele: 192.168.2.0/24 192.168.2.1 3, 10.1.0.0/16 10.0.0.254\n"
" 10.1.2.0/24\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6098
+#: src/libnmc-setting/nm-meta-setting-desc.c:6339
msgid ""
"Enter a list of IPv4 routing rules formatted as:\n"
" priority [prio] [from [src]] [to [dst]], ,...\n"
"\n"
msgstr ""
-#: src/libnmc-setting/nm-meta-setting-desc.c:6228
+#: src/libnmc-setting/nm-meta-setting-desc.c:6477
msgid ""
"Enter a list of IPv6 addresses of DNS servers. If the IPv6 configuration "
-"method is 'auto' these DNS servers are appended to those (if any) returned "
-"by automatic configuration. DNS servers cannot be used with the 'shared' or "
+"method is 'auto' these DNS servers are appended to those (if any) returned by "
+"automatic configuration. DNS servers cannot be used with the 'shared' or "
"'link-local' IPv6 configuration methods, as there is no upstream network. In "
"all other IPv6 configuration methods, these DNS servers are used as the only "
"DNS servers for this connection.\n"
@@ -5574,19 +5819,19 @@ msgid ""
"Example: 2607:f0d0:1002:51::4, 2607:f0d0:1002:51::1\n"
msgstr ""
"Geben Sie eine Liste von DNS-Servern im IPv6-Format ein. Wenn die IPv6-"
-"Konfigurationsmethode auf »automatisch« gestellt ist, werden diese DNS-"
-"Server an jene der automatischen Konfiguration angefügt. DNS-Server können "
-"in »gemeinsamen« oder »Link-Lokal« IPv6 Konfigurationen nicht verwendet "
-"werden. In allen anderen IPv6 Konfigurationen werden nur diese DNS-Server "
-"für diese Verbindung verwendet.\n"
+"Konfigurationsmethode auf »automatisch« gestellt ist, werden diese DNS-Server "
+"an jene der automatischen Konfiguration angefügt. DNS-Server können in "
+"»gemeinsamen« oder »Link-Lokal« IPv6 Konfigurationen nicht verwendet werden. "
+"In allen anderen IPv6 Konfigurationen werden nur diese DNS-Server für diese "
+"Verbindung verwendet.\n"
"\n"
"Beispiel: 2607:f0d0:1002:51::4, 2607:f0d0:1002:51::1\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6282
+#: src/libnmc-setting/nm-meta-setting-desc.c:6533
msgid "IPv6 address (IP[/plen]) [none]"
msgstr "IPv6-Adresse (IP[/plen]) [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6284
+#: src/libnmc-setting/nm-meta-setting-desc.c:6535
msgid ""
"Enter a list of IPv6 addresses formatted as:\n"
" ip[/prefix], ip[/prefix],...\n"
@@ -5600,11 +5845,11 @@ msgstr ""
"\n"
"Beispiel: 2607:f0d0:1002:51::4/64, 1050:0:0:0:5:600:300c:326b\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6303
+#: src/libnmc-setting/nm-meta-setting-desc.c:6554
msgid "IPv6 gateway [none]"
msgstr "IPv6-Gateway [keines]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6311
+#: src/libnmc-setting/nm-meta-setting-desc.c:6563
msgid ""
"Enter a list of IPv6 routes formatted as:\n"
" ip[/prefix] [next-hop] [metric],...\n"
@@ -5613,8 +5858,8 @@ msgid ""
"Missing next-hop is regarded as \"::\".\n"
"Missing metric means default (NM/kernel will set a default value).\n"
"\n"
-"Examples: 2001:db8:beef:2::/64 2001:db8:beef::2, 2001:db8:beef:3::/64 2001:"
-"db8:beef::3 2\n"
+"Examples: 2001:db8:beef:2::/64 2001:db8:beef::2, 2001:db8:beef:3::/64 2001:db8:"
+"beef::3 2\n"
" abbe::/64 55\n"
msgstr ""
"Geben Sie eine Liste von IPv6-Routen nach folgendem Format ein:\n"
@@ -5629,197 +5874,180 @@ msgstr ""
"db8:beef::3 2\n"
" abbe::/64 55\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6351
+#: src/libnmc-setting/nm-meta-setting-desc.c:6603
msgid ""
"Enter a list of IPv6 routing rules formatted as:\n"
" priority [prio] [from [src]] [to [dst]], ,...\n"
"\n"
msgstr ""
-#: src/libnmc-setting/nm-meta-setting-desc.c:6479
-#: src/libnmc-setting/nm-meta-setting-desc.c:7519
+#: src/libnmc-setting/nm-meta-setting-desc.c:6740
+#: src/libnmc-setting/nm-meta-setting-desc.c:7890
msgid "Parent device [none]"
msgstr "Übergeordnetes Gerät [keines]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6485
+#: src/libnmc-setting/nm-meta-setting-desc.c:6746
msgid "Local endpoint [none]"
msgstr "Lokaler Endpunkt [keiner]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6492
-#: src/libnmc-setting/nm-meta-setting-desc.c:7538
+#: src/libnmc-setting/nm-meta-setting-desc.c:6753
+#: src/libnmc-setting/nm-meta-setting-desc.c:7909
msgid "Remote"
msgstr "Entfernt"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6537
+#: src/libnmc-setting/nm-meta-setting-desc.c:6869
msgid "MACsec parent device or connection UUID"
msgstr "Übergeordnetes MACsec-Gerät oder UUID der Verbindung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6558
-#, fuzzy
-#| msgid "Enable encryption [yes]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:6890
msgid "Enable encryption"
-msgstr "Verschlüsselung aktivieren [ja]"
+msgstr "Verschlüsselung aktivieren"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6574
+#: src/libnmc-setting/nm-meta-setting-desc.c:6906
msgid "MKA_CKN"
msgstr "MKA_CKN"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6580
-#, fuzzy
-#| msgid "SCI port [1]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:6912 src/nmtui/nmt-page-macsec.c:170
msgid "SCI port"
-msgstr "SCI-Port [1]"
+msgstr "SCI-Port"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6606
+#: src/libnmc-setting/nm-meta-setting-desc.c:6938
msgid "MACVLAN parent device or connection UUID"
msgstr "Übergeordnetes MACVLAN-Gerät oder UUID der Verbindung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6627
+#: src/libnmc-setting/nm-meta-setting-desc.c:6959
msgid "Tap"
msgstr ""
-#: src/libnmc-setting/nm-meta-setting-desc.c:6694
-#: src/libnmc-setting/nm-meta-setting-desc.c:7796 src/nmtui/nmt-page-wifi.c:200
+#: src/libnmc-setting/nm-meta-setting-desc.c:7030
+#: src/libnmc-setting/nm-meta-setting-desc.c:8170 src/nmtui/nmt-page-wifi.c:216
msgid "SSID"
msgstr "SSID"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6703
+#: src/libnmc-setting/nm-meta-setting-desc.c:7040
#, fuzzy
#| msgid "OLPC Mesh channel [1]"
msgid "OLPC Mesh channel"
msgstr "»OLPC Mesh« Kanal [1]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6712
+#: src/libnmc-setting/nm-meta-setting-desc.c:7050
msgid "DHCP anycast MAC address [none]"
msgstr "DHCP anycast MAC-Adresse [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6880
+#: src/libnmc-setting/nm-meta-setting-desc.c:7238
msgid "PPPoE parent device"
msgstr "Übergeordnetes PPPoE-Gerät"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6886
+#: src/libnmc-setting/nm-meta-setting-desc.c:7244
msgid "Service [none]"
msgstr "Dienst [keiner]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6893
+#: src/libnmc-setting/nm-meta-setting-desc.c:7251
msgid "PPPoE username"
msgstr "PPPoE Benutzername"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6929
+#: src/libnmc-setting/nm-meta-setting-desc.c:7287
#, fuzzy
#| msgid "Browser only [no]"
msgid "Browser only"
msgstr "Nur Browser [nein]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6935
+#: src/libnmc-setting/nm-meta-setting-desc.c:7293
msgid "PAC URL"
msgstr "PAC-Adresse"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6941
+#: src/libnmc-setting/nm-meta-setting-desc.c:7299
msgid "PAC script"
msgstr "PAC-Skript"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7065
-#: src/libnmc-setting/nm-meta-setting-desc.c:7253
+#: src/libnmc-setting/nm-meta-setting-desc.c:7423
+#: src/libnmc-setting/nm-meta-setting-desc.c:7612
msgid "Team JSON configuration [none]"
msgstr "JSON-Konfiguration der Bündelung [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7356
+#: src/libnmc-setting/nm-meta-setting-desc.c:7715
msgid "User ID [none]"
msgstr "Benutzerkennung [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7362
+#: src/libnmc-setting/nm-meta-setting-desc.c:7721
msgid "Group ID [none]"
msgstr "Gruppenkennung [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7368
-#, fuzzy
-#| msgid "Enable PI [no]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:7727
msgid "Enable PI"
-msgstr "PI aktivieren [nein]"
+msgstr "PI aktivieren"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7374
-#, fuzzy
-#| msgid "Enable VNET header [no]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:7733
msgid "Enable VNET header"
-msgstr "VNET-Kopfbereich aktivieren [nein]"
+msgstr "VNET-Kopfbereich aktivieren"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7380
-#, fuzzy
-#| msgid "Enable multi queue [no]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:7739
msgid "Enable multi queue"
-msgstr "»multi queue« aktivieren [nein]"
+msgstr "»multi queue« aktivieren"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7393
+#: src/libnmc-setting/nm-meta-setting-desc.c:7752
msgid "veth peer"
msgstr ""
-#: src/libnmc-setting/nm-meta-setting-desc.c:7406
+#: src/libnmc-setting/nm-meta-setting-desc.c:7765
msgid "VLAN parent device or connection UUID"
msgstr "Übergeordnetes VLAN-Gerät oder UUID der Verbindung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7413
+#: src/libnmc-setting/nm-meta-setting-desc.c:7772
msgid "VLAN ID (<0-4094>)"
msgstr "VLAN-Kennung <0-4094>"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7419
+#: src/libnmc-setting/nm-meta-setting-desc.c:7778
msgid "VLAN flags (<0-7>) [none]"
msgstr "VLAN-Flags (<0-7>) [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7428
+#: src/libnmc-setting/nm-meta-setting-desc.c:7794
msgid "Ingress priority maps [none]"
msgstr "Eingehende Prioritätsumschlüsselungen [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7438
+#: src/libnmc-setting/nm-meta-setting-desc.c:7805
msgid "Egress priority maps [none]"
msgstr "Ausgehende Prioritätsumschlüsselungen [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7506
-#, fuzzy
+#: src/libnmc-setting/nm-meta-setting-desc.c:7877
msgid "Table"
-msgstr "PI aktivieren [nein]"
+msgstr "Tabelle"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7526
+#: src/libnmc-setting/nm-meta-setting-desc.c:7897
msgid "VXLAN ID"
msgstr "VXLAN-Kennung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7532
+#: src/libnmc-setting/nm-meta-setting-desc.c:7903
msgid "Local address [none]"
msgstr "Lokale Adresse [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7544
-#, fuzzy
-#| msgid "Minimum source port [0]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:7915
msgid "Minimum source port"
-msgstr "Kleinster Quellport [0]"
+msgstr "Kleinster Quellport"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7550
-#, fuzzy
-#| msgid "Maximum source port [0]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:7921
msgid "Maximum source port"
-msgstr "Größter Quellport [0]"
+msgstr "Größter Quellport"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7556
-#, fuzzy
-#| msgid "Destination port [8472]"
+#: src/libnmc-setting/nm-meta-setting-desc.c:7927
msgid "Destination port"
-msgstr "Zielport [8472]"
+msgstr "Zielport"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7596
+#: src/libnmc-setting/nm-meta-setting-desc.c:7967
#: src/nmtui/nmt-wireguard-peer-editor.c:78
msgid "Peer"
msgstr ""
-#: src/libnmc-setting/nm-meta-setting-desc.c:7626
+#: src/libnmc-setting/nm-meta-setting-desc.c:7997
msgid "WiMAX NSP name"
msgstr "WiMAX NSP-Name"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7663
-#: src/libnmc-setting/nm-meta-setting-desc.c:7847
+#: src/libnmc-setting/nm-meta-setting-desc.c:8034
+#: src/libnmc-setting/nm-meta-setting-desc.c:8215
msgid "Cloned MAC [none]"
msgstr "Geklonte MAC [keine]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7696
+#: src/libnmc-setting/nm-meta-setting-desc.c:8068
msgid ""
"Enter a list of subchannels (comma or space separated).\n"
"\n"
@@ -5830,7 +6058,7 @@ msgstr ""
"\n"
"Beispiel: 0.0.0e20 0.0.0e21 0.0.0e22\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8024
+#: src/libnmc-setting/nm-meta-setting-desc.c:8406
msgid ""
"Enter the type of WEP keys. The accepted values are: 0 or unknown, 1 or key, "
"and 2 or passphrase.\n"
@@ -5839,225 +6067,239 @@ msgstr ""
"»unknown« (unbekannt), 1 oder »key« (Schlüssel) und 2 oder "
"»passphrase« (Passwort).\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8083
+#: src/libnmc-setting/nm-meta-setting-desc.c:8465
msgid "Short address (<0x0000-0xffff>)"
msgstr "Kurze Adresse (<0x0000-0xffff>)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8099
+#: src/libnmc-setting/nm-meta-setting-desc.c:8481
msgid "PAN Identifier (<0x0000-0xffff>)"
-msgstr "PAN-Kennung (<0x0000-0xffff>)"
+msgstr "PAN-Bezeichner (<0x0000-0xffff>)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8114
+#: src/libnmc-setting/nm-meta-setting-desc.c:8496
#, fuzzy
msgid "Page (<default|0-31>)"
msgstr "(Vorgabe)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8128
+#: src/libnmc-setting/nm-meta-setting-desc.c:8510
msgid "Channel (<default|0-26>)"
-msgstr ""
+msgstr "Kanal (<Vorgabe|0-26>)"
#. ***************************************************************************
-#: src/libnmc-setting/nm-meta-setting-desc.c:8263
+#: src/libnmc-setting/nm-meta-setting-desc.c:8645
msgid "6LOWPAN settings"
msgstr "6LOWPAN-Einstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8264
+#: src/libnmc-setting/nm-meta-setting-desc.c:8646
msgid "802-1x settings"
msgstr "Einstellungen für 802-1x"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8266
+#: src/libnmc-setting/nm-meta-setting-desc.c:8648
msgid "bluetooth connection"
msgstr "Bluetooth-Verbindung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8267
+#: src/libnmc-setting/nm-meta-setting-desc.c:8649
msgid "Bond device"
msgstr "Bündel-Gerät"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8268
+#: src/libnmc-setting/nm-meta-setting-desc.c:8650
#, fuzzy
+#| msgid "Bridge port"
msgid "Bond port"
msgstr "Bridge-Port"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8269
+#: src/libnmc-setting/nm-meta-setting-desc.c:8651
msgid "Bridge device"
msgstr "Brückengerät"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8270
+#: src/libnmc-setting/nm-meta-setting-desc.c:8652
msgid "Bridge port"
msgstr "Bridge-Port"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8271
+#: src/libnmc-setting/nm-meta-setting-desc.c:8653
msgid "CDMA mobile broadband connection"
msgstr "Mobile CDMA-Breitband-Verbindung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8272
+#: src/libnmc-setting/nm-meta-setting-desc.c:8654
msgid "General settings"
msgstr "Allgemeine Einstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8273
+#: src/libnmc-setting/nm-meta-setting-desc.c:8655
msgid "DCB settings"
msgstr "DCB-Einstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8274
+#: src/libnmc-setting/nm-meta-setting-desc.c:8656
msgid "Dummy settings"
msgstr "Ersatzweise Einstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8275
+#: src/libnmc-setting/nm-meta-setting-desc.c:8657
msgid "Ethtool settings"
-msgstr "Ethtool Einstellungen"
+msgstr "Ethtool-Einstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8276
+#: src/libnmc-setting/nm-meta-setting-desc.c:8658
msgid "Generic settings"
msgstr "Allgemeine Einstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8277
+#: src/libnmc-setting/nm-meta-setting-desc.c:8659
msgid "GSM mobile broadband connection"
msgstr "Mobile GSM-Breitband-Verbindung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8278
-#, fuzzy
+#: src/libnmc-setting/nm-meta-setting-desc.c:8660
msgid "Hostname settings"
-msgstr "Rechnernamen auf »%s« festgelegt\n"
+msgstr "Einstellungen des Rechnernamen"
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:8661
+msgid "HSR settings"
+msgstr "HSR-Einstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8280
+#: src/libnmc-setting/nm-meta-setting-desc.c:8663
msgid "IPv4 protocol"
msgstr "IPv4-Protokoll"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8281
+#: src/libnmc-setting/nm-meta-setting-desc.c:8664
msgid "IPv6 protocol"
msgstr "IPv6-Protokoll"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8282
+#: src/libnmc-setting/nm-meta-setting-desc.c:8665
msgid "IP-tunnel settings"
msgstr "IP-Tunnel-Einstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8283
+#: src/libnmc-setting/nm-meta-setting-desc.c:8666
+msgid "Link settings"
+msgstr "Verbindungs-Einstellungen"
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:8667
+msgid "Loopback settings"
+msgstr "Loopback-Einstellungen"
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:8668
msgid "MACsec connection"
msgstr "MACsec-Verbindung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8284
+#: src/libnmc-setting/nm-meta-setting-desc.c:8669
msgid "macvlan connection"
msgstr "MACVLAN-Verbindung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8285
+#: src/libnmc-setting/nm-meta-setting-desc.c:8670
msgid "Match"
msgstr "Übereinstimmung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8286
+#: src/libnmc-setting/nm-meta-setting-desc.c:8671
msgid "OLPC Mesh connection"
msgstr "»OLPC Mesh«-Verbindung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8287
-#, fuzzy
+#: src/libnmc-setting/nm-meta-setting-desc.c:8672
msgid "Open vSwitch bridge settings"
-msgstr "OpenVSwitch Brücken-Einstellungen"
+msgstr "Einstellungen für VSwitch-Brücke öffnen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8288
-#, fuzzy
+#: src/libnmc-setting/nm-meta-setting-desc.c:8673
msgid "Open vSwitch DPDK interface settings"
-msgstr "OpenVSwitch Schnittstellen-Einstellungen"
+msgstr "Einstellungen für VSwitch DPDK-Schnittstelle öffnen"
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:8674
+msgid "OVS Other Config"
+msgstr ""
-#: src/libnmc-setting/nm-meta-setting-desc.c:8289
+#: src/libnmc-setting/nm-meta-setting-desc.c:8675
msgid "OVS External IDs"
msgstr ""
-#: src/libnmc-setting/nm-meta-setting-desc.c:8290
-#, fuzzy
+#: src/libnmc-setting/nm-meta-setting-desc.c:8676
msgid "Open vSwitch interface settings"
-msgstr "OpenVSwitch Schnittstellen-Einstellungen"
+msgstr "Einstellungen für VSwitch-Schnittstelle öffnen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8291
-#, fuzzy
+#: src/libnmc-setting/nm-meta-setting-desc.c:8677
msgid "Open vSwitch patch interface settings"
-msgstr "OpenVSwitch Patch-Schnittstelleneinstellungen"
+msgstr "Einstellungen für VSwitch Patch-Schnittstelle öffnen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8292
-#, fuzzy
+#: src/libnmc-setting/nm-meta-setting-desc.c:8678
msgid "Open vSwitch port settings"
-msgstr "OpenVSwitch Port-Einstellungen"
+msgstr "Einstellungen für VSwitch-Port öffnen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8293
+#: src/libnmc-setting/nm-meta-setting-desc.c:8679
msgid "PPP settings"
msgstr "PPP-Einstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8294
+#: src/libnmc-setting/nm-meta-setting-desc.c:8680
msgid "PPPoE"
msgstr "PPPoE"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8295
+#: src/libnmc-setting/nm-meta-setting-desc.c:8681
msgid "Proxy"
msgstr "Proxy"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8296
+#: src/libnmc-setting/nm-meta-setting-desc.c:8682
msgid "Serial settings"
msgstr "Serielle Einstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8297
+#: src/libnmc-setting/nm-meta-setting-desc.c:8683
msgid "SR-IOV settings"
msgstr "Einstellungen für SR-IOV"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8298
+#: src/libnmc-setting/nm-meta-setting-desc.c:8684
msgid "Traffic controls"
msgstr "Verkehrssteuerung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8299
+#: src/libnmc-setting/nm-meta-setting-desc.c:8685
msgid "Team device"
msgstr "Team-Gerät"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8300
+#: src/libnmc-setting/nm-meta-setting-desc.c:8686
msgid "Team port"
msgstr "Team-Port"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8301
+#: src/libnmc-setting/nm-meta-setting-desc.c:8687
msgid "Tun device"
msgstr "TUN-Gerät"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8302
+#: src/libnmc-setting/nm-meta-setting-desc.c:8688
msgid "User settings"
msgstr "Benutzereinstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8308
-#, fuzzy
+#: src/libnmc-setting/nm-meta-setting-desc.c:8694
msgid "Wi-Fi P2P connection"
-msgstr "WLAN-Verbindung"
+msgstr "WLAN P2P-Verbindung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8309
+#: src/libnmc-setting/nm-meta-setting-desc.c:8695
msgid "WiMAX connection"
msgstr "WiMAX-Verbindung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8310
+#: src/libnmc-setting/nm-meta-setting-desc.c:8696
msgid "Wired Ethernet"
msgstr "Kabelgebundenes Ethernet"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8311
-#, fuzzy
+#: src/libnmc-setting/nm-meta-setting-desc.c:8697
msgid "WireGuard VPN settings"
-msgstr "WPAN-Einstellungen"
+msgstr "VPN-Einstellungen für WireGuard"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8312
+#: src/libnmc-setting/nm-meta-setting-desc.c:8698
msgid "Wi-Fi connection"
msgstr "WLAN-Verbindung"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8313
+#: src/libnmc-setting/nm-meta-setting-desc.c:8699
msgid "Wi-Fi security settings"
msgstr "WLAN-Sicherheitseinstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8314
+#: src/libnmc-setting/nm-meta-setting-desc.c:8700
msgid "WPAN settings"
msgstr "WPAN-Einstellungen"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8720
+#: src/libnmc-setting/nm-meta-setting-desc.c:9129
msgid "name"
msgstr "Name"
#. Generated file. Do not edit.
#: src/libnmc-setting/settings-docs.h.in:3
#, fuzzy
+#| msgid ""
+#| "The number of retries for the authentication. Zero means to try "
+#| "indefinitely; -1 means to use a global default. If the global default is "
+#| "not set, the authentication retries for 3 times before failing the "
+#| "connection. Currently this only applies to 802-1x authentication."
msgid ""
-"The number of retries for the authentication. Zero means to try "
-"indefinitely; -1 means to use a global default. If the global default is not "
-"set, the authentication retries for 3 times before failing the connection. "
-"Currently, this only applies to 802-1x authentication."
+"The number of retries for the authentication. Zero means to try indefinitely; "
+"-1 means to use a global default. If the global default is not set, the "
+"authentication retries for 3 times before failing the connection. Currently, "
+"this only applies to 802-1x authentication."
msgstr ""
"Die Anzahl Wiederholungsversuche zur Legitimierung. Null bedeutet unendlich "
"viele. -1 bedeutet die allgemeine Vorgabe zu verwenden. Wenn die globale "
@@ -6069,18 +6311,18 @@ msgstr ""
msgid ""
"Whether or not the connection should be automatically connected by "
"NetworkManager when the resources for the connection are available. TRUE to "
-"automatically activate the connection, FALSE to require manual intervention "
-"to activate the connection. Autoconnect happens when the circumstances are "
-"suitable. That means for example that the device is currently managed and "
-"not active. Autoconnect thus never replaces or competes with an already "
-"active profile. Note that autoconnect is not implemented for VPN profiles. "
-"See \"secondaries\" as an alternative to automatically connect VPN profiles. "
-"If multiple profiles are ready to autoconnect on the same device, the one "
-"with the better \"connection.autoconnect-priority\" is chosen. If the "
-"priorities are equal, then the most recently connected profile is activated. "
-"If the profiles were not connected earlier or their \"connection.timestamp\" "
-"is identical, the choice is undefined. Depending on \"connection.multi-"
-"connect\", a profile can (auto)connect only once at a time or multiple times."
+"automatically activate the connection, FALSE to require manual intervention to "
+"activate the connection. Autoconnect happens when the circumstances are "
+"suitable. That means for example that the device is currently managed and not "
+"active. Autoconnect thus never replaces or competes with an already active "
+"profile. Note that autoconnect is not implemented for VPN profiles. See "
+"\"secondaries\" as an alternative to automatically connect VPN profiles. If "
+"multiple profiles are ready to autoconnect on the same device, the one with "
+"the better \"connection.autoconnect-priority\" is chosen. If the priorities "
+"are equal, then the most recently connected profile is activated. If the "
+"profiles were not connected earlier or their \"connection.timestamp\" is "
+"identical, the choice is undefined. Depending on \"connection.multi-connect\", "
+"a profile can (auto)connect only once at a time or multiple times."
msgstr ""
#: src/libnmc-setting/settings-docs.h.in:5
@@ -6101,99 +6343,84 @@ msgid ""
"blocking autoconnect. Note that after a timeout, NetworkManager will try to "
"autoconnect again."
msgstr ""
-"Die Häufigkeit, mit der eine Verbindung versucht werden soll, wenn sie vor "
-"dem Aufgeben automatisch aktiviert wird. Null bedeutet für immer, -1 "
-"bedeutet den globalen Standard (4 mal wenn nicht überschrieben). Setzen Sie "
-"dies auf 1, um die Aktivierung nur einmal zu versuchen, bevor Sie "
-"Autoconnect blockieren. Beachten Sie, dass NetworkManager nach einer "
-"Zeitüberschreitung versucht, die Verbindung erneut herzustellen."
#: src/libnmc-setting/settings-docs.h.in:7
msgid ""
"Whether or not slaves of this connection should be automatically brought up "
-"when NetworkManager activates this connection. This only has a real effect "
-"for master connections. The properties \"autoconnect\", \"autoconnect-"
-"priority\" and \"autoconnect-retries\" are unrelated to this setting. The "
-"permitted values are: 0: leave slave connections untouched, 1: activate all "
-"the slave connections with this connection, -1: default. If -1 (default) is "
-"set, global connection.autoconnect-slaves is read to determine the real "
-"value. If it is default as well, this fallbacks to 0."
-msgstr ""
-"Ob Slaves dieser Verbindung automatisch aktiviert werden sollen, wenn "
-"NetworkManager diese Verbindung aktiviert. Dies wirkt sich nur auf Master-"
-"Verbindungen aus. Die Eigenschaften \"autoconnect\", \"autoconnect-"
-"priority\" und \"autoconnect-retries\" stehen nicht im Zusammenhang mit "
-"dieser Einstellung. Die zulässigen Werte sind: 0: Lassen Sie die Slave-"
-"Verbindungen unberührt, 1: aktivieren Sie alle Slave-Verbindungen mit dieser "
-"Verbindung, -1: Standard. Wenn -1 (Standard) festgelegt ist, wird global "
-"connection.autoconnect-slaves gelesen, um den tatsächlichen Wert zu "
-"ermitteln. Wenn es ebenfalls Standard ist, wird auf 0 zurückgesetzt."
+"when NetworkManager activates this connection. This only has a real effect for "
+"master connections. The properties \"autoconnect\", \"autoconnect-priority\" "
+"and \"autoconnect-retries\" are unrelated to this setting. The permitted "
+"values are: 0: leave slave connections untouched, 1: activate all the slave "
+"connections with this connection, -1: default. If -1 (default) is set, global "
+"connection.autoconnect-slaves is read to determine the real value. If it is "
+"default as well, this fallbacks to 0."
+msgstr ""
#: src/libnmc-setting/settings-docs.h.in:8
#, fuzzy
+#| msgid "Interface name of the master device or UUID of the master connection."
msgid ""
-"Whether DNSOverTls (dns-over-tls) is enabled for the connection. DNSOverTls "
-"is a technology which uses TLS to encrypt dns traffic. The permitted values "
-"are: \"yes\" (2) use DNSOverTls and disabled fallback, \"opportunistic\" (1) "
-"use DNSOverTls but allow fallback to unencrypted resolution, \"no\" (0) "
-"don't ever use DNSOverTls. If unspecified \"default\" depends on the plugin "
-"used. Systemd-resolved uses global setting. This feature requires a plugin "
-"which supports DNSOverTls. Otherwise, the setting has no effect. One such "
-"plugin is dns-systemd-resolved."
-msgstr ""
-"Ob mDNS für die Verbindung aktiviert ist. Die erlaubten Werte sind: yes: "
-"register hostname und resolving für die Verbindung, no: disable mDNS für die "
-"Schnittstelle, resolve: hostname nicht registrieren, aber Auflösung von mDNS "
-"Hostnamen erlauben. Diese Funktion benötigt ein Plugin, das mDNS "
-"unterstützt. Ein solches Plugin ist DNS-Systemd-aufgelöst."
+"Interface name of the controller device or UUID of the controller connection."
+msgstr ""
+"Der Schnittstellenname des Hauptgeräts oder die UUID der Hauptverbindung."
#: src/libnmc-setting/settings-docs.h.in:9
msgid ""
-"If greater than zero, delay success of IP addressing until either the "
-"timeout is reached, or an IP gateway replies to a ping."
+"Whether DNSOverTls (dns-over-tls) is enabled for the connection. DNSOverTls is "
+"a technology which uses TLS to encrypt dns traffic. The permitted values are: "
+"\"yes\" (2) use DNSOverTls and disabled fallback, \"opportunistic\" (1) use "
+"DNSOverTls but allow fallback to unencrypted resolution, \"no\" (0) don't ever "
+"use DNSOverTls. If unspecified \"default\" depends on the plugin used. Systemd-"
+"resolved uses global setting. This feature requires a plugin which supports "
+"DNSOverTls. Otherwise, the setting has no effect. One such plugin is dns-"
+"systemd-resolved."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:10
+msgid ""
+"If greater than zero, delay success of IP addressing until either the timeout "
+"is reached, or an IP gateway replies to a ping."
msgstr ""
-"Wenn größer als Null, verzögern Sie den Erfolg der IP-Adressierung, bis "
+"Wenn größer als Null, wird der Erfolg der IP-Adressierung verzögert, bis "
"entweder die Zeitüberschreitung erreicht ist oder ein IP-Gateway auf einen "
"Ping antwortet."
-#: src/libnmc-setting/settings-docs.h.in:10
+#: src/libnmc-setting/settings-docs.h.in:11
msgid ""
-"A human readable unique identifier for the connection, like \"Work Wi-Fi\" "
-"or \"T-Mobile 3G\"."
+"A human readable unique identifier for the connection, like \"Work Wi-Fi\" or "
+"\"T-Mobile 3G\"."
msgstr ""
"Eine einfach lesbare, eindeutige Identifizierung der Verbindung, wie "
"beispielsweise »WLAN Arbeit« oder »Mobilfunk LTE«."
-#: src/libnmc-setting/settings-docs.h.in:11
+#: src/libnmc-setting/settings-docs.h.in:12
msgid ""
"The name of the network interface this connection is bound to. If not set, "
"then the connection can be attached to any interface of the appropriate type "
-"(subject to restrictions imposed by other settings). For software devices "
-"this specifies the name of the created device. For connection types where "
-"interface names cannot easily be made persistent (e.g. mobile broadband or "
-"USB Ethernet), this property should not be used. Setting this property "
-"restricts the interfaces a connection can be used with, and if interface "
-"names change or are reordered the connection may be applied to the wrong "
-"interface."
-msgstr ""
-"Der Name der Netzwerkschnittstelle, an die diese Verbindung gebunden ist. "
-"Ist dies nicht der Fall, kann die Verbindung an jede Schnittstelle des "
-"entsprechenden Typs angeschlossen werden (vorbehaltlich der Einschränkungen "
-"anderer Einstellungen). Bei Software-Geräten gibt dies den Namen des "
-"erstellten Geräts an. Bei Verbindungstypen, bei denen Schnittstellennamen "
-"nicht ohne weiteres dauerhaft gemacht werden können (z. B. mobiles Breitband "
-"oder USB-Ethernet), sollte diese Eigenschaft nicht verwendet werden. Das "
-"Festlegen dieser Eigenschaft beschränkt die Schnittstellen, mit denen eine "
-"Verbindung verwendet werden kann. Wenn sich die Schnittstellennamen ändern "
-"oder neu angeordnet werden, kann die Verbindung auf die falsche "
-"Schnittstelle angewendet werden."
+"(subject to restrictions imposed by other settings). For software devices this "
+"specifies the name of the created device. For connection types where interface "
+"names cannot easily be made persistent (e.g. mobile broadband or USB "
+"Ethernet), this property should not be used. Setting this property restricts "
+"the interfaces a connection can be used with, and if interface names change or "
+"are reordered the connection may be applied to the wrong interface."
+msgstr ""
+"Der Name der Netzwerkschnittstelle, an die diese Verbindung gebunden ist. Wenn "
+"nicht gesetzt, kann die Verbindung an eine beliebige Schnittstelle des "
+"entsprechenden Typs gebunden werden (vorbehaltlich der durch andere "
+"Einstellungen auferlegten Einschränkungen). Bei Software-Geräten wird hier der "
+"Name des erstellten Geräts angegeben. Für Verbindungstypen, bei denen "
+"Schnittstellennamen nicht einfach dauerhaft gemacht werden können (z.B. "
+"mobiles Breitband oder USB-Ethernet), sollte diese Eigenschaft nicht verwendet "
+"werden. Die Einstellung dieser Eigenschaft schränkt die Schnittstellen ein, "
+"mit denen eine Verbindung verwendet werden kann, und wenn sich "
+"Schnittstellennamen ändern oder neu geordnet werden, kann die Verbindung auf "
+"die falsche Schnittstelle angewendet werden."
-#: src/libnmc-setting/settings-docs.h.in:12
+#: src/libnmc-setting/settings-docs.h.in:13
msgid "Whether LLDP is enabled for the connection."
msgstr "Legt fest, ob LLDP für die Verbindung eingeschaltet ist."
-#: src/libnmc-setting/settings-docs.h.in:13
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:14
msgid ""
"Whether Link-Local Multicast Name Resolution (LLMNR) is enabled for the "
"connection. LLMNR is a protocol based on the Domain Name System (DNS) packet "
@@ -6203,142 +6430,154 @@ msgid ""
"interface, \"resolve\" (1) do not register hostname but allow resolving of "
"LLMNR host names If unspecified, \"default\" ultimately depends on the DNS "
"plugin (which for systemd-resolved currently means \"yes\"). This feature "
-"requires a plugin which supports LLMNR. Otherwise, the setting has no "
-"effect. One such plugin is dns-systemd-resolved."
+"requires a plugin which supports LLMNR. Otherwise, the setting has no effect. "
+"One such plugin is dns-systemd-resolved."
msgstr ""
"Gibt an, ob Link-Local Multicast Name Resolution (LLMNR) für die Verbindung "
-"aktiviert ist. LLMNR ist ein Protokoll, das auf dem DNS-Paketformat (Domain "
-"Name System) basiert und sowohl IPv4- als auch IPv6-Hosts die "
-"Namensauflösung für Hosts auf derselben lokalen Verbindung ermöglicht. Die "
-"erlaubten Werte sind: yes: register hostname und resolving für die "
-"Verbindung, no: disable LLMNR für die Schnittstelle, resolve: hostname nicht "
-"registrieren, aber das Auflösen von LLMNR-Hostnamen erlauben. Diese Funktion "
-"erfordert ein Plugin, das LLMNR unterstützt. Ein solches Plugin ist DNS-"
-"Systemd-aufgelöst."
+"aktiviert ist. LLMNR ist ein auf dem DNS-Paketformat (Domain Name System) "
+"basierendes Protokoll, das es sowohl IPv4- als auch IPv6-Hosts ermöglicht, die "
+"Namensauflösung für Hosts auf derselben lokalen Verbindung durchzuführen. Die "
+"zulässigen Werte sind: »yes« (2) Registrierung von Hostnamen und Auflösung für "
+"die Verbindung, »no« (0) Deaktivierung von LLMNR für die Schnittstelle, "
+"»resolve« (1) keine Registrierung von Hostnamen, aber Erlaubnis zur Auflösung "
+"von LLMNR-Hostnamen. Wenn nicht angegeben, hängt »default« letztlich vom DNS-"
+"Plugin ab (was für systemd-resolved derzeit »yes« bedeutet). Diese Funktion "
+"erfordert ein Plugin, das LLMNR unterstützt. Andernfalls hat die Einstellung "
+"keine Auswirkung. Ein solches Plugin ist dns-systemd-resolved."
-#: src/libnmc-setting/settings-docs.h.in:14
-msgid "Interface name of the master device or UUID of the master connection."
+#: src/libnmc-setting/settings-docs.h.in:15
+#, fuzzy
+#| msgid "Interface name of the master device or UUID of the master connection."
+msgid ""
+"Interface name of the master device or UUID of the master connection. "
+"Deprecated 1.46. Use \"controller\" instead, this is just an alias."
msgstr ""
"Der Schnittstellenname des Hauptgeräts oder die UUID der Hauptverbindung."
-#: src/libnmc-setting/settings-docs.h.in:15
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:16
msgid ""
"Whether mDNS is enabled for the connection. The permitted values are: "
"\"yes\" (2) register hostname and resolving for the connection, \"no\" (0) "
"disable mDNS for the interface, \"resolve\" (1) do not register hostname but "
"allow resolving of mDNS host names and \"default\" (-1) to allow lookup of a "
-"global default in NetworkManager.conf. If unspecified, \"default\" "
-"ultimately depends on the DNS plugin (which for systemd-resolved currently "
-"means \"no\"). This feature requires a plugin which supports mDNS. "
-"Otherwise, the setting has no effect. One such plugin is dns-systemd-"
-"resolved."
-msgstr ""
-"Ob mDNS für die Verbindung aktiviert ist. Die erlaubten Werte sind: yes: "
-"register hostname und resolving für die Verbindung, no: disable mDNS für die "
-"Schnittstelle, resolve: hostname nicht registrieren, aber Auflösung von mDNS "
-"Hostnamen erlauben. Diese Funktion benötigt ein Plugin, das mDNS "
-"unterstützt. Ein solches Plugin ist DNS-Systemd-aufgelöst."
+"global default in NetworkManager.conf. If unspecified, \"default\" ultimately "
+"depends on the DNS plugin (which for systemd-resolved currently means \"no\"). "
+"This feature requires a plugin which supports mDNS. Otherwise, the setting has "
+"no effect. One such plugin is dns-systemd-resolved."
+msgstr ""
+"Legt fest, ob mDNS für die Verbindung aktiviert ist. Die zulässigen Werte "
+"sind: »yes« (2) Hostname und Auflösung für die Verbindung registrieren, "
+"»no« (0) mDNS für die Schnittstelle deaktivieren, »resolve« (1) Hostnamen "
+"nicht registrieren, aber die Auflösung von mDNS-Hostnamen zulassen und "
+"»default« (-1) die Suche nach einem globalen Standard in NetworkManager.conf "
+"zulassen. Wenn nichts angegeben ist, hängt »default« letztendlich vom DNS-"
+"Plugin ab (was für systemd-resolved derzeit »no« bedeutet). Diese Funktion "
+"erfordert eine Erweiterung, die mDNS unterstützt. Andernfalls hat die "
+"Einstellung keine Auswirkung. Eine solche Erweiterung ist dns-systemd-resolved."
-#: src/libnmc-setting/settings-docs.h.in:16
+#: src/libnmc-setting/settings-docs.h.in:17
msgid ""
-"Whether the connection is metered. When updating this property on a "
-"currently activated connection, the change takes effect immediately."
+"Whether the connection is metered. When updating this property on a currently "
+"activated connection, the change takes effect immediately."
msgstr ""
-"Ob die Verbindung gemessen wird. Wenn Sie diese Eigenschaft für eine derzeit "
-"aktivierte Verbindung aktualisieren, wird die Änderung sofort wirksam."
+"Legt fest, ob die Verbindung getaktet ist. Wenn Sie diese Eigenschaft bei "
+"einer derzeit aktivierten Verbindung aktualisieren, wird die Änderung sofort "
+"wirksam."
-#: src/libnmc-setting/settings-docs.h.in:17
+#: src/libnmc-setting/settings-docs.h.in:18
msgid ""
"Whether to configure MPTCP endpoints and the address flags. If MPTCP is "
-"enabled in NetworkManager, it will configure the addresses of the interface "
-"as MPTCP endpoints. Note that IPv4 loopback addresses (127.0.0.0/8), IPv4 "
-"link local addresses (169.254.0.0/16), the IPv6 loopback address (::1), IPv6 "
-"link local addresses (fe80::/10), IPv6 unique local addresses (ULA, "
-"fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
-"will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
-"MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
-"handling is enabled if the interface configures a default route in the main "
-"routing table. This choice is per-address family, for example if there is an "
-"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
-"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
-"flag can also be implied from the presence of other flags. If MPTCP handling "
-"is enabled, then endpoints will be configured with the specified address "
-"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
-"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
-"the flags. If the flags are zero, the global connection default from "
-"NetworkManager.conf is honored. If still unspecified, the fallback is either "
-"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
-"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
-"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
-"configuration which the admin can change via sysctl and ip-mptcp. Strict "
-"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
-"MPTCP handling for IPv4 addresses on the interface is enabled, "
-"NetworkManager would loosen the strict reverse path filtering (1) to the "
-"loose setting (2)."
+"enabled in NetworkManager, it will configure the addresses of the interface as "
+"MPTCP endpoints. Note that IPv4 loopback addresses (127.0.0.0/8), IPv4 link "
+"local addresses (169.254.0.0/16), the IPv6 loopback address (::1), IPv6 link "
+"local addresses (fe80::/10), IPv6 unique local addresses (ULA, fc00::/7) and "
+"IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) will be excluded "
+"from being configured as endpoints. If \"disabled\" (0x1), MPTCP handling for "
+"the interface is disabled and no endpoints are registered. The "
+"\"enabled\" (0x2) flag means that MPTCP handling is enabled. This flag can "
+"also be implied from the presence of other flags. Even when enabled, MPTCP "
+"handling will by default still be disabled unless \"/proc/sys/net/mptcp/"
+"enabled\" sysctl is on. NetworkManager does not change the sysctl and this is "
+"up to the administrator or distribution. To configure endpoints even if the "
+"sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be used. In that "
+"case, NetworkManager doesn't look at the sysctl and configures endpoints "
+"regardless. Even when enabled, NetworkManager will only configure MPTCP "
+"endpoints for a certain address family, if there is a unicast default route "
+"(0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-default-"
+"route\" (0x8) can override that. When MPTCP handling is enabled then endpoints "
+"are configured with the specified address flags \"signal\" (0x10), "
+"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
+"manual for additional information about the flags. If the flags are zero "
+"(0x0), the global connection default from NetworkManager.conf is honored. If "
+"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
+"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/enabled\" "
+"sysctl. NetworkManager does not change the MPTCP limits nor enable MPTCP via "
+"\"/proc/sys/net/mptcp/enabled\". That is a host configuration which the admin "
+"can change via sysctl and ip-mptcp. Strict reverse path filtering (rp_filter) "
+"breaks many MPTCP use cases, so when MPTCP handling for IPv4 addresses on the "
+"interface is enabled, NetworkManager would loosen the strict reverse path "
+"filtering (1) to the loose setting (2)."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:18
+#: src/libnmc-setting/settings-docs.h.in:19
msgid ""
"If configured, set to a Manufacturer Usage Description (MUD) URL that points "
"to manufacturer-recommended network policies for IoT devices. It is "
"transmitted as a DHCPv4 or DHCPv6 option. The value must be a valid URL "
-"starting with \"https://\". The special value \"none\" is allowed to "
-"indicate that no MUD URL is used. If the per-profile value is unspecified "
-"(the default), a global connection default gets consulted. If still "
-"unspecified, the ultimate default is \"none\"."
+"starting with \"https://\". The special value \"none\" is allowed to indicate "
+"that no MUD URL is used. If the per-profile value is unspecified (the "
+"default), a global connection default gets consulted. If still unspecified, "
+"the ultimate default is \"none\"."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:19
+#: src/libnmc-setting/settings-docs.h.in:20
msgid ""
"Specifies whether the profile can be active multiple times at a particular "
"moment. The value is of type NMConnectionMultiConnect."
msgstr ""
-"Gibt an, ob das Profil zu einem bestimmten Zeitpunkt mehrmals aktiv sein "
+"Gibt an, ob das Profil zu einem bestimmten Zeitpunkt mehrere Male aktiv sein "
"kann. Der Wert ist vom Typ NMConnectionMultiConnect."
-#: src/libnmc-setting/settings-docs.h.in:20
+#: src/libnmc-setting/settings-docs.h.in:21
msgid ""
-"An array of strings defining what access a given user has to this "
-"connection. If this is NULL or empty, all users are allowed to access this "
-"connection; otherwise users are allowed if and only if they are in this "
-"list. When this is not empty, the connection can be active only when one of "
-"the specified users is logged into an active session. Each entry is of the "
-"form \"[type]:[id]:[reserved]\"; for example, \"user:dcbw:blah\". At this "
-"time only the \"user\" [type] is allowed. Any other values are ignored and "
-"reserved for future use. [id] is the username that this permission refers "
-"to, which may not contain the \":\" character. Any [reserved] information "
-"present must be ignored and is reserved for future use. All of [type], "
-"[id], and [reserved] must be valid UTF-8."
-msgstr ""
-"Eine Reihe von Zeichenfolgen, die definieren, welchen Zugriff ein bestimmter "
-"Benutzer auf diese Verbindung hat. Wenn dies NULL oder leer ist, können alle "
-"Benutzer auf diese Verbindung zugreifen. Andernfalls sind Benutzer nur dann "
-"erlaubt, wenn sie in dieser Liste sind. Wenn dies nicht leer ist, kann die "
-"Verbindung nur aktiv sein, wenn einer der angegebenen Benutzer in einer "
-"aktiven Sitzung angemeldet ist. Jeder Eintrag hat die Form \"[type]: [id]: "
-"[reserved]\"; zum Beispiel \"user: dcbw: blah\". Zu diesem Zeitpunkt ist nur "
-"der \"Benutzer\" [Typ] erlaubt. Alle anderen Werte werden ignoriert und für "
-"die zukünftige Verwendung reserviert. [id] ist der Benutzername, auf den "
-"sich diese Berechtigung bezieht und der möglicherweise nicht das Zeichen \":"
-"\" enthält. Alle vorhandenen [reservierten] Informationen müssen ignoriert "
-"werden und sind für die zukünftige Verwendung reserviert. Alle [type], [id] "
-"und [reserved] müssen gültige UTF-8 sein."
+"An array of strings defining what access a given user has to this connection. "
+"If this is NULL or empty, all users are allowed to access this connection; "
+"otherwise users are allowed if and only if they are in this list. When this "
+"is not empty, the connection can be active only when one of the specified "
+"users is logged into an active session. Each entry is of the form \"[type]:"
+"[id]:[reserved]\"; for example, \"user:dcbw:blah\". At this time only the "
+"\"user\" [type] is allowed. Any other values are ignored and reserved for "
+"future use. [id] is the username that this permission refers to, which may "
+"not contain the \":\" character. Any [reserved] information present must be "
+"ignored and is reserved for future use. All of [type], [id], and [reserved] "
+"must be valid UTF-8."
+msgstr ""
+"Ein Liste von Zeichenketten, die festlegen, welchen Zugang ein bestimmter "
+"Benutzer zu dieser Verbindung hat. Ist dieser Wert NULL oder leer, dürfen "
+"alle Benutzer auf diese Verbindung zugreifen; andernfalls dürfen Benutzer nur "
+"dann auf diese Verbindung zugreifen, wenn sie in der Liste aufgeführt sind. "
+"Wenn die Liste nicht leer ist, kann die Verbindung nur aktiv sein, wenn einer "
+"der angegebenen Benutzer in einer aktiven Sitzung angemeldet ist. Jeder "
+"Eintrag hat die Form »[Typ]:[Kennung]:[Reserviert]«; zum Beispiel »user:dcbw:"
+"blah«. Zu diesem Zeitpunkt ist nur der »user« [Typ] erlaubt. Alle anderen "
+"Werte werden ignoriert und für die zukünftige Verwendung reserviert. "
+"[Kennung] ist der Benutzername, auf den sich diese Berechtigung bezieht und "
+"der nicht das Zeichen »:« enthalten darf. Alle [Reserviert]-Informationen "
+"müssen ignoriert werden und sind für die zukünftige Verwendung reserviert. "
+"Alle Werte von [Typ], [Kennung] und [Reserviert] müssen gültige UTF-8-Werte "
+"sein."
-#: src/libnmc-setting/settings-docs.h.in:21
+#: src/libnmc-setting/settings-docs.h.in:22
msgid ""
-"FALSE if the connection can be modified using the provided settings "
-"service's D-Bus interface with the right privileges, or TRUE if the "
-"connection is read-only and cannot be modified."
+"Setting name of the device type of this port's controller connection (eg, "
+"\"bond\"), or NULL if this connection is not a port."
msgstr ""
-"FALSE, wenn die Verbindung über die D-Bus-Schnittstelle des bereitgestellten "
-"Einstellungsdiensts mit den entsprechenden Rechten geändert werden kann, "
-"oder TRUE, wenn die Verbindung schreibgeschützt ist und nicht geändert "
-"werden kann."
-#: src/libnmc-setting/settings-docs.h.in:22
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:23
+msgid "This property is deprecated and has no meaning."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:24
msgid ""
"List of connection UUIDs that should be activated when the base connection "
"itself is activated. Currently, only VPN connections are supported."
@@ -6347,298 +6586,275 @@ msgstr ""
"Basisverbindung selbst aktiviert wird. Derzeit werden nur VPN-Verbindungen "
"unterstützt."
-#: src/libnmc-setting/settings-docs.h.in:23
+#: src/libnmc-setting/settings-docs.h.in:25
+#, fuzzy
+#| msgid "Interface name of the master device or UUID of the master connection."
msgid ""
"Setting name of the device type of this slave's master connection (eg, "
-"\"bond\"), or NULL if this connection is not a slave."
+"\"bond\"), or NULL if this connection is not a slave. Deprecated 1.46. Use "
+"\"port-type\" instead, this is just an alias."
msgstr ""
-"Name des Gerätetyps der Masterverbindung dieses Slaves (z. B. \"bond\") oder "
-"NULL, wenn diese Verbindung kein Slave ist."
+"Der Schnittstellenname des Hauptgeräts oder die UUID der Hauptverbindung."
-#: src/libnmc-setting/settings-docs.h.in:24
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:26
msgid ""
"This represents the identity of the connection used for various purposes. It "
-"allows to configure multiple profiles to share the identity. Also, the "
-"stable-id can contain placeholders that are substituted dynamically and "
+"allows to configure multiple profiles to share the identity. Also, the stable-"
+"id can contain placeholders that are substituted dynamically and "
"deterministically depending on the context. The stable-id is used for "
"generating IPv6 stable private addresses with ipv6.addr-gen-mode=stable-"
-"privacy. It is also used to seed the generated cloned MAC address for "
-"ethernet.cloned-mac-address=stable and wifi.cloned-mac-address=stable. It is "
-"also used as DHCP client identifier with ipv4.dhcp-client-id=stable and to "
-"derive the DHCP DUID with ipv6.dhcp-duid=stable-[llt,ll,uuid]. Note that "
-"depending on the context where it is used, other parameters are also seeded "
-"into the generation algorithm. For example, a per-host key is commonly also "
-"included, so that different systems end up generating different IDs. Or with "
-"ipv6.addr-gen-mode=stable-privacy, also the device's name is included, so "
-"that different interfaces yield different addresses. The per-host key is the "
-"identity of your machine and stored in /var/lib/NetworkManager/secret_key. "
-"See NetworkManager(8) manual about the secret-key and the host identity. The "
-"'$' character is treated special to perform dynamic substitutions at "
-"runtime. Currently, supported are \"${CONNECTION}\", \"${DEVICE}\", "
-"\"${MAC}\", \"${BOOT}\", \"${RANDOM}\". These effectively create unique IDs "
-"per-connection, per-device, per-boot, or every time. Note that \"${DEVICE}\" "
-"corresponds to the interface name of the device and \"${MAC}\" is the "
-"permanent MAC address of the device. Any unrecognized patterns following '$' "
-"are treated verbatim, however are reserved for future use. You are thus "
-"advised to avoid '$' or escape it as \"$$\". For example, set it to "
-"\"${CONNECTION}-${BOOT}-${DEVICE}\" to create a unique id for this "
-"connection that changes with every reboot and differs depending on the "
-"interface where the profile activates. If the value is unset, a global "
-"connection default is consulted. If the value is still unset, the default is "
-"similar to \"${CONNECTION}\" and uses a unique, fixed ID for the connection."
+"privacy. It is also used to seed the generated cloned MAC address for ethernet."
+"cloned-mac-address=stable and wifi.cloned-mac-address=stable. It is also used "
+"to derive the DHCP client identifier with ipv4.dhcp-client-id=stable, the "
+"DHCPv6 DUID with ipv6.dhcp-duid=stable-[llt,ll,uuid] and the DHCP IAID with "
+"ipv4.iaid=stable and ipv6.iaid=stable. Note that depending on the context "
+"where it is used, other parameters are also seeded into the generation "
+"algorithm. For example, a per-host key is commonly also included, so that "
+"different systems end up generating different IDs. Or with ipv6.addr-gen-"
+"mode=stable-privacy, also the device's name is included, so that different "
+"interfaces yield different addresses. The per-host key is the identity of your "
+"machine and stored in /var/lib/NetworkManager/secret_key. See "
+"NetworkManager(8) manual about the secret-key and the host identity. The '$' "
+"character is treated special to perform dynamic substitutions at activation "
+"time. Currently, supported are \"${CONNECTION}\", \"${DEVICE}\", \"${MAC}\", "
+"\"${NETWORK_SSID}\", \"${BOOT}\", \"${RANDOM}\". These effectively create "
+"unique IDs per-connection, per-device, per-SSID, per-boot, or every time. The "
+"\"${CONNECTION}\" uses the profile's connection.uuid, the \"${DEVICE}\" uses "
+"the interface name of the device and \"${MAC}\" the permanent MAC address of "
+"the device. \"${NETWORK_SSID}\" uses the SSID for Wi-Fi networks and falls "
+"back to \"${CONNECTION}\" on other networks. Any unrecognized patterns "
+"following '$' are treated verbatim, however are reserved for future use. You "
+"are thus advised to avoid '$' or escape it as \"$$\". For example, set it to "
+"\"${CONNECTION}-${BOOT}-${DEVICE}\" to create a unique id for this connection "
+"that changes with every reboot and differs depending on the interface where "
+"the profile activates. If the value is unset, a global connection default is "
+"consulted. If the value is still unset, the default is "
+"\"default${CONNECTION}\" go generate an ID unique per connection profile."
msgstr ""
"Dies stellt die Identität der Verbindung dar, die für verschiedene Zwecke "
-"verwendet wird. Es ermöglicht die Konfiguration mehrerer Profile für die "
-"gemeinsame Nutzung der Identität. Außerdem kann die stable-id Platzhalter "
+"verwendet wird. Sie ermöglicht die Konfiguration mehrerer Profile zur "
+"gemeinsamen Nutzung der Identität. Außerdem kann die stable-id Platzhalter "
"enthalten, die je nach Kontext dynamisch und deterministisch ersetzt werden. "
-"Die Stable-ID wird verwendet, um IPv6-stabile private Adressen mit ipv6.addr-"
-"gen-mode = stable-privacy zu generieren. Es wird auch verwendet, um die "
-"generierte geklonte MAC-Adresse für ethernet.cloned-mac-address = stable und "
-"wifi.cloned-mac-address = stable zu setzen. Es wird auch als DHCP-Client-ID "
-"mit ipv4.dhcp-client-id = stable verwendet und leitet die DHCP-DUID mit ipv6."
-"dhcp-duid = stable- [llt, ll, uuid] ab. Beachten Sie, dass abhängig vom "
-"Kontext, in dem es verwendet wird, auch andere Parameter in den "
-"Generierungsalgorithmus eingefügt werden. Zum Beispiel ist ein per-Host-"
-"Schlüssel üblicherweise ebenfalls enthalten, so dass unterschiedliche "
-"Systeme unterschiedliche IDs generieren. Oder mit ipv6.addr-gen-mode = "
-"stable-privacy ist auch der Gerätename enthalten, so dass unterschiedliche "
-"Schnittstellen unterschiedliche Adressen ergeben. Das Zeichen '$' wird "
-"speziell behandelt, um dynamische Ersetzungen zur Laufzeit durchzuführen. "
-"Derzeit werden \"$ {CONNECTION}\", \"$ {DEVICE}\", \"$ {BOOT}\", \"$ "
-"{RANDOM}\" unterstützt. Diese erstellen effektiv eindeutige IDs pro "
-"Verbindung, pro Gerät, pro Boot oder jedes Mal. Beachten Sie, dass \"$ "
-"{DEVICE}\" dem Namen der Schnittstelle des Geräts entspricht. Alle nicht "
-"erkannten Muster, die auf $ folgen, werden wörtlich behandelt, sind jedoch "
-"für die zukünftige Verwendung reserviert. Es wird daher empfohlen, \"$\" zu "
-"vermeiden oder als \"$$\" zu entkommen. Setzen Sie es beispielsweise auf \"$ "
-"{CONNECTION} - $ {BOOT} - $ {DEVICE}\", um eine eindeutige ID für diese "
-"Verbindung zu erstellen, die sich bei jedem Neustart ändert und abhängig von "
-"der Schnittstelle, auf der das Profil aktiviert wird. Wenn der Wert nicht "
-"festgelegt ist, wird ein globaler Verbindungsstandard herangezogen. Wenn der "
-"Wert immer noch nicht festgelegt ist, ähnelt der Standardwert \"$ "
-"{CONNECTION}\" und verwendet eine eindeutige feste ID für die Verbindung."
+"Die stable-id wird für die Erzeugung stabiler privater IPv6-Adressen mit ipv6."
+"addr-gen-mode=stable-privacy verwendet. Sie wird auch zum Festlegen der "
+"generierten geklonten MAC-Adresse für ethernet.cloned-mac-address=stable und "
+"wifi.cloned-mac-address=stable verwendet. Sie wird auch verwendet, um die DHCP-"
+"Client-Kennung mit ipv4.dhcp-client-id=stable, die DHCPv6 DUID mit ipv6.dhcp-"
+"duid=stable-[llt,ll,uuid] und die DHCP IAID mit ipv4.iaid=stable und ipv6."
+"iaid=stable abzuleiten. Beachten Sie, dass je nach dem Kontext, in dem er "
+"verwendet wird, auch andere Parameter in den Generierungsalgorithmus "
+"einfließen. Zum Beispiel wird üblicherweise auch ein Schlüssel pro Host "
+"einbezogen, so dass verschiedene Systeme unterschiedliche IDs erzeugen. Oder "
+"bei ipv6.addr-gen-mode=stable-privacy wird auch der Name des Geräts "
+"einbezogen, so dass verschiedene Schnittstellen verschiedene Adressen ergeben. "
+"Der Schlüssel pro Host ist die Identität Ihres Rechners und wird in /var/lib/"
+"NetworkManager/secret_key gespeichert. Siehe NetworkManager(8) Handbuch über "
+"den geheimen Schlüssel und die Host-Identität. Das »$«-Zeichen wird besonders "
+"behandelt, um dynamische Ersetzungen zur Aktivierungszeit durchzuführen. "
+"Derzeit werden »${CONNECTION}«, »${DEVICE}«, »${MAC}«, »${NETWORK_SSID}«, "
+"»${BOOT}«, »${RANDOM}« unterstützt. Damit werden eindeutige IDs pro "
+"Verbindung, pro Gerät, pro SSID, pro Systemstart oder jedes Mal erstellt. Für "
+"»${CONNECTION}« wird die connection.uuid des Profils verwendet, für "
+"»${DEVICE}« der Schnittstellenname des Geräts und für »${MAC}« die permanente "
+"MAC-Adresse des Geräts. »${NETWORK_SSID}« verwendet die SSID für WLAN-"
+"Netzwerke und fällt bei anderen Netzwerken auf »${CONNECTION}« zurück. Alle "
+"nicht erkannten Muster, die auf »$« folgen, werden wortwörtlich behandelt, "
+"sind jedoch für die zukünftige Verwendung reserviert. Es wird daher empfohlen, "
+"»$« zu vermeiden oder es als »$$« zu maskieren. Setzen Sie den Wert "
+"beispielsweise auf »${CONNECTION}-${BOOT}-${DEVICE}«, um eine eindeutige "
+"Kennung für diese Verbindung zu erstellen, die sich bei jedem Neustart ändert "
+"und sich je nach Schnittstelle, an der das Profil aktiviert wird, "
+"unterscheidet. Wenn der Wert nicht gesetzt ist, wird eine globale "
+"Verbindungsvorgabe herangezogen. Ist der Wert immer noch nicht festgelegt, ist "
+"die Vorgabe »default${CONNECTION}«, um eine eindeutige ID pro "
+"Verbindungsprofil zu erzeugen."
-#: src/libnmc-setting/settings-docs.h.in:25
+#: src/libnmc-setting/settings-docs.h.in:27
msgid ""
"The time, in seconds since the Unix Epoch, that the connection was last "
"_successfully_ fully activated. NetworkManager updates the connection "
-"timestamp periodically when the connection is active to ensure that an "
-"active connection has the latest timestamp. The property is only meant for "
-"reading (changes to this property will not be preserved)."
+"timestamp periodically when the connection is active to ensure that an active "
+"connection has the latest timestamp. The property is only meant for reading "
+"(changes to this property will not be preserved)."
msgstr ""
-"Die Zeit in Sekunden seit der Unix-Epoche, dass die Verbindung zuletzt "
-"_successfully_ voll aktiviert wurde. NetworkManager aktualisiert den "
-"Verbindungszeitstempel regelmäßig, wenn die Verbindung aktiv ist, um "
-"sicherzustellen, dass eine aktive Verbindung den neuesten Zeitstempel hat. "
-"Die Eigenschaft dient nur zum Lesen (Änderungen an dieser Eigenschaft werden "
-"nicht beibehalten)."
+"Die Zeit, in Sekunden seit der Unix-Epoche, zu der die Verbindung zuletzt "
+"_erfolgreich_ vollständig aktiviert wurde. NetworkManager aktualisiert den "
+"Zeitstempel der Verbindung in regelmäßigen Abständen, wenn die Verbindung "
+"aktiv ist, um sicherzustellen, dass eine aktive Verbindung den neuesten "
+"Zeitstempel hat. Die Eigenschaft ist nur zum Lesen gedacht (Änderungen an "
+"dieser Eigenschaft werden nicht beibehalten)."
-#: src/libnmc-setting/settings-docs.h.in:26
+#: src/libnmc-setting/settings-docs.h.in:28
msgid ""
"Base type of the connection. For hardware-dependent connections, should "
"contain the setting name of the hardware-type specific setting (ie, \"802-3-"
-"ethernet\" or \"802-11-wireless\" or \"bluetooth\", etc), and for non-"
-"hardware dependent connections like VPN or otherwise, should contain the "
-"setting name of that setting type (ie, \"vpn\" or \"bridge\", etc)."
+"ethernet\" or \"802-11-wireless\" or \"bluetooth\", etc), and for non-hardware "
+"dependent connections like VPN or otherwise, should contain the setting name "
+"of that setting type (ie, \"vpn\" or \"bridge\", etc)."
msgstr ""
-"Basistyp der Verbindung Bei hardwareabhängigen Verbindungen sollte der "
-"Einstellungsname der hardwaretypspezifischen Einstellung (z. B. \"802-3-"
-"Ethernet\" oder \"802-11-wireless\" oder \"Bluetooth\" usw.) und nicht "
-"hardwareabhängig sein Verbindungen wie VPN oder andere sollten den "
-"Einstellungsnamen dieses Einstellungstyps enthalten (z. B. \"vpn\" oder "
-"\"bridge\" usw.)."
+"Basistyp der Verbindung. Bei hardwareabhängigen Verbindungen sollte der "
+"Einstellungsname der hardwaretypspezifischen Einstellung enthalten sein (z. B. "
+"»802-3-ethernet«, »802-11-wireless«, »bluetooth« usw.), und bei nicht "
+"hardwareabhängigen Verbindungen wie VPN sollte der Einstellungsname des "
+"Einstellungstyps enthalten sein (z. B. »vpn«, »bridge« usw.)."
-#: src/libnmc-setting/settings-docs.h.in:27
+#: src/libnmc-setting/settings-docs.h.in:29
msgid ""
-"A universally unique identifier for the connection, for example generated "
-"with libuuid. It should be assigned when the connection is created, and "
-"never changed as long as the connection still applies to the same network. "
-"For example, it should not be changed when the \"id\" property or "
-"NMSettingIP4Config changes, but might need to be re-created when the Wi-Fi "
-"SSID, mobile broadband network provider, or \"type\" property changes. The "
-"UUID must be in the format \"2815492f-7e56-435e-b2e9-246bd7cdc664\" (ie, "
-"contains only hexadecimal characters and \"-\")."
-msgstr ""
-"Ein universell eindeutiger Bezeichner für die Verbindung, zum Beispiel "
-"generiert mit libuuid. Es sollte zugewiesen werden, wenn die Verbindung "
-"erstellt wird, und nie geändert werden, solange die Verbindung für das "
-"gleiche Netzwerk gilt. Zum Beispiel sollte es nicht geändert werden, wenn "
-"sich die Eigenschaft \"id\" oder NMSettingIP4Config ändert, aber "
-"möglicherweise neu erstellt werden muss, wenn sich die WLAN-SSID, der mobile "
-"Breitbandnetzwerkanbieter oder die Eigenschaft \"type\" ändert. Die UUID "
-"muss das Format \"2815492f-7e56-435e-b2e9-246bd7cdc664\" haben (dh, enthält "
-"nur hexadezimale Zeichen und \"-\")."
+"The connection.uuid is the real identifier of a profile. It cannot change and "
+"it must be unique. It is therefore often best to refer to a profile by UUID, "
+"for example with `nmcli connection up uuid $UUID`. The UUID cannot be changed, "
+"except in offline mode. In that case, the special values \"new\", \"generate\" "
+"and \"\" are allowed to generate a new random UUID."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:28
+#: src/libnmc-setting/settings-docs.h.in:30
msgid ""
"Time in milliseconds to wait for connection to be considered activated. The "
"wait will start after the pre-up dispatcher event. The value 0 means no wait "
-"time. The default value is -1, which currently has the same meaning as no "
-"wait time."
+"time. The default value is -1, which currently has the same meaning as no wait "
+"time."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:29
+#: src/libnmc-setting/settings-docs.h.in:31
msgid ""
"Timeout in milliseconds to wait for device at startup. During boot, devices "
"may take a while to be detected by the driver. This property will cause to "
"delay NetworkManager-wait-online.service and nm-online to give the device a "
"chance to appear. This works by waiting for the given timeout until a "
-"compatible device for the profile is available and managed. The value 0 "
-"means no wait time. The default value is -1, which currently has the same "
-"meaning as no wait time."
+"compatible device for the profile is available and managed. The value 0 means "
+"no wait time. The default value is -1, which currently has the same meaning as "
+"no wait time."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:30
+#: src/libnmc-setting/settings-docs.h.in:32
msgid ""
"The trust level of a the connection. Free form case-insensitive string (for "
"example \"Home\", \"Work\", \"Public\"). NULL or unspecified zone means the "
-"connection will be placed in the default zone as defined by the firewall. "
-"When updating this property on a currently activated connection, the change "
-"takes effect immediately."
+"connection will be placed in the default zone as defined by the firewall. When "
+"updating this property on a currently activated connection, the change takes "
+"effect immediately."
msgstr ""
-"Das Vertrauensniveau einer Verbindung. Freiform Groß-und Kleinschreibung "
-"String (zum Beispiel \"Home\", \"Arbeit\", \"Public\"). NULL oder "
-"unspezifizierte Zone bedeutet, dass die Verbindung in der Standardzone "
-"platziert wird, wie von der Firewall definiert. Wenn Sie diese Eigenschaft "
-"für eine derzeit aktivierte Verbindung aktualisieren, wird die Änderung "
-"sofort wirksam."
+"Die Vertrauensstufe einer Verbindung. Eine Zeichenkette in freier Form ohne "
+"Berücksichtigung der Groß- und Kleinschreibung (z. B. »Zuhause«, »Arbeit«, "
+"»Öffentlich«). NULL oder nicht spezifizierte Zone bedeutet, dass die "
+"Verbindung in die von der Firewall definierte Standardzone gesetzt wird. Wenn "
+"Sie diese Eigenschaft bei einer derzeit aktivierten Verbindung aktualisieren, "
+"wird die Änderung sofort wirksam."
-#: src/libnmc-setting/settings-docs.h.in:31
+#: src/libnmc-setting/settings-docs.h.in:33
msgid ""
"If given, specifies the parent interface name or parent connection UUID from "
"which this 6LowPAN interface should be created."
msgstr ""
-"Gibt den übergeordneten Schnittstellennamen oder die übergeordnete "
-"Verbindungs-UUID an, aus der diese 6LowPAN-Schnittstelle erstellt werden "
-"soll."
+"Falls angegeben, wird der Name der übergeordneten Schnittstelle oder die UUID "
+"der übergeordneten Verbindung angegeben, von der diese 6LowPAN-Schnittstelle "
+"erstellt werden soll."
-#: src/libnmc-setting/settings-docs.h.in:32
+#: src/libnmc-setting/settings-docs.h.in:34
msgid ""
"List of strings to be matched against the altSubjectName of the certificate "
-"presented by the authentication server. If the list is empty, no "
-"verification of the server certificate's altSubjectName is performed."
+"presented by the authentication server. If the list is empty, no verification "
+"of the server certificate's altSubjectName is performed."
msgstr ""
-"Liste der Zeichenfolgen, die mit dem Attribut altSubjectName des vom "
-"Authentifizierungsserver angegebenen Zertifikats abgeglichen werden sollen. "
-"Wenn die Liste leer ist, wird keine Überprüfung des altSubjectName des "
-"Serverzertifikats durchgeführt."
+"Liste der Zeichenfolgen, die mit dem altSubjectName des vom "
+"Authentifizierungsserver vorgelegten Zertifikats abgeglichen werden. Ist die "
+"Liste leer, wird keine Überprüfung des altSubjectName des Serverzertifikats "
+"durchgeführt."
-#: src/libnmc-setting/settings-docs.h.in:33
+#: src/libnmc-setting/settings-docs.h.in:35
msgid ""
"Anonymous identity string for EAP authentication methods. Used as the "
"unencrypted identity with EAP types that support different tunneled identity "
"like EAP-TTLS."
msgstr ""
-"Anonyme Identitätszeichenfolge für EAP-Authentifizierungsmethoden. Wird als "
-"unverschlüsselte Identität mit EAP-Typen verwendet, die unterschiedliche "
+"Anonyme Identitätszeichenfolge für EAP-Authentifizierungsmethoden. Wird als "
+"unverschlüsselte Identität bei EAP-Typen verwendet, die verschiedene "
"getunnelte Identitäten wie EAP-TTLS unterstützen."
-#: src/libnmc-setting/settings-docs.h.in:34
+#: src/libnmc-setting/settings-docs.h.in:36
msgid ""
-"A timeout for the authentication. Zero means the global default; if the "
-"global default is not set, the authentication timeout is 25 seconds."
+"A timeout for the authentication. Zero means the global default; if the global "
+"default is not set, the authentication timeout is 25 seconds."
msgstr ""
"Die Zeitbegrenzung für die Legitimierung. Null bedeutet Verwendung der "
-"globalen Vorgabe. Sofern die globale Vorgabe nicht festgelegt ist, so "
-"beträgt der Zeitablauf 25 Sekunden."
+"globalen Vorgabe. Sofern die globale Vorgabe nicht festgelegt ist, so beträgt "
+"der Zeitablauf 25 Sekunden."
-#: src/libnmc-setting/settings-docs.h.in:35
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:37
msgid ""
-"Contains the CA certificate if used by the EAP method specified in the "
-"\"eap\" property. Certificate data is specified using a \"scheme\"; three "
-"are currently supported: blob, path and pkcs#11 URL. When using the blob "
-"scheme this property should be set to the certificate's DER encoded data. "
-"When using the path scheme, this property should be set to the full UTF-8 "
-"encoded path of the certificate, prefixed with the string \"file://\" and "
-"ending with a terminating NUL byte. This property can be unset even if the "
-"EAP method supports CA certificates, but this allows man-in-the-middle "
-"attacks and is NOT recommended. Note that enabling NMSetting8021x:system-ca-"
-"certs will override this setting to use the built-in path, if the built-in "
-"path is not a directory."
-msgstr ""
-"Enthält das CA-Zertifikat, wenn es von der in der Eigenschaft \"eap\" "
-"angegebenen EAP-Methode verwendet wird. Zertifikatsdaten werden unter "
-"Verwendung eines \"Schemas\" spezifiziert; Zwei werden derzeit unterstützt: "
-"Blob und Pfad. Bei Verwendung des Blob-Schemas (das abwärtskompatibel zu NM "
-"0.7.x ist) sollte diese Eigenschaft auf die DER-codierten Daten des "
-"Zertifikats gesetzt werden. Bei Verwendung des Pfadschemas sollte diese "
-"Eigenschaft auf den vollständigen UTF-8-codierten Pfad des Zertifikats "
-"gesetzt werden, dem die Zeichenfolge \"file: //\" vorangestellt ist und der "
-"mit einem abschließenden NUL-Byte endet. Diese Eigenschaft kann auch dann "
-"inaktiviert werden, wenn die EAP-Methode CA-Zertifikate unterstützt, dies "
-"jedoch Man-in-the-Middle-Angriffe erlaubt und NICHT empfohlen wird."
+"Contains the CA certificate if used by the EAP method specified in the \"eap\" "
+"property. Certificate data is specified using a \"scheme\"; three are "
+"currently supported: blob, path and pkcs#11 URL. When using the blob scheme "
+"this property should be set to the certificate's DER encoded data. When using "
+"the path scheme, this property should be set to the full UTF-8 encoded path of "
+"the certificate, prefixed with the string \"file://\" and ending with a "
+"terminating NUL byte. This property can be unset even if the EAP method "
+"supports CA certificates, but this allows man-in-the-middle attacks and is NOT "
+"recommended. Note that enabling NMSetting8021x:system-ca-certs will override "
+"this setting to use the built-in path, if the built-in path is not a directory."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:36
+#: src/libnmc-setting/settings-docs.h.in:38
msgid ""
-"The password used to access the CA certificate stored in \"ca-cert\" "
-"property. Only makes sense if the certificate is stored on a PKCS#11 token "
-"that requires a login."
+"The password used to access the CA certificate stored in \"ca-cert\" property. "
+"Only makes sense if the certificate is stored on a PKCS#11 token that requires "
+"a login."
msgstr ""
-"Das Passwort für den Zugriff auf das CA-Zertifikat, welches in der "
-"Eigenschaft »ca-cert« hinterlegt ist. Ergibt nur einen Sinn, wenn das "
-"Zertifikat auf einem PKCS#11-Token gespeichert ist, der eine Anmeldung "
-"verlangt."
+"Das Passwort für den Zugriff auf das CA-Zertifikat, welches in der Eigenschaft "
+"»ca-cert« hinterlegt ist. Ergibt nur einen Sinn, wenn das Zertifikat auf einem "
+"PKCS#11-Token gespeichert ist, der eine Anmeldung verlangt."
-#: src/libnmc-setting/settings-docs.h.in:37
+#: src/libnmc-setting/settings-docs.h.in:39
msgid "Flags indicating how to handle the \"ca-cert-password\" property."
msgstr ""
"Flags, die festlegen, wie mit der Eigenschaft »ca-cert-password« umgegangen "
"werden soll."
-#: src/libnmc-setting/settings-docs.h.in:38
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:40
msgid ""
-"UTF-8 encoded path to a directory containing PEM or DER formatted "
-"certificates to be added to the verification chain in addition to the "
-"certificate specified in the \"ca-cert\" property. If NMSetting8021x:system-"
-"ca-certs is enabled and the built-in CA path is an existing directory, then "
-"this setting is ignored."
+"UTF-8 encoded path to a directory containing PEM or DER formatted certificates "
+"to be added to the verification chain in addition to the certificate specified "
+"in the \"ca-cert\" property. If NMSetting8021x:system-ca-certs is enabled and "
+"the built-in CA path is an existing directory, then this setting is ignored."
msgstr ""
-"UTF-8-codierter Pfad zu einem Verzeichnis mit PEM- oder DER-formatierten "
-"Zertifikaten, die zusätzlich zu dem in der Eigenschaft \"ca-cert\" "
-"angegebenen Zertifikat zur Verifizierungskette hinzugefügt werden."
-#: src/libnmc-setting/settings-docs.h.in:39
+#: src/libnmc-setting/settings-docs.h.in:41
msgid ""
"Contains the client certificate if used by the EAP method specified in the "
"\"eap\" property. Certificate data is specified using a \"scheme\"; two are "
"currently supported: blob and path. When using the blob scheme (which is "
"backwards compatible with NM 0.7.x) this property should be set to the "
"certificate's DER encoded data. When using the path scheme, this property "
-"should be set to the full UTF-8 encoded path of the certificate, prefixed "
-"with the string \"file://\" and ending with a terminating NUL byte."
-msgstr ""
-"Enthält das Clientzertifikat, wenn es von der in der Eigenschaft \"eap\" "
-"angegebenen EAP-Methode verwendet wird. Zertifikatsdaten werden unter "
-"Verwendung eines \"Schemas\" spezifiziert; Zwei werden derzeit unterstützt: "
-"Blob und Pfad. Bei Verwendung des Blob-Schemas (das abwärtskompatibel zu NM "
-"0.7.x ist) sollte diese Eigenschaft auf die DER-codierten Daten des "
-"Zertifikats gesetzt werden. Bei Verwendung des Pfadschemas sollte diese "
-"Eigenschaft auf den vollständigen UTF-8-codierten Pfad des Zertifikats "
-"gesetzt werden, dem die Zeichenfolge \"file: //\" vorangestellt ist und der "
-"mit einem abschließenden NUL-Byte endet."
+"should be set to the full UTF-8 encoded path of the certificate, prefixed with "
+"the string \"file://\" and ending with a terminating NUL byte."
+msgstr ""
+"Enthält das Client-Zertifikat, wenn es von der in der Eigenschaft »eap« "
+"angegebenen EAP-Methode verwendet wird. Die Zertifikatsdaten werden unter "
+"Verwendung eines »Schemas« angegeben; derzeit werden zwei unterstützt: »blob« "
+"und »path«. Bei Verwendung des »blob«-Schemas (das mit NM 0.7.x "
+"abwärtskompatibel ist) sollte diese Eigenschaft auf die DER-kodierten Daten "
+"des Zertifikats gesetzt werden. Bei Verwendung des »path«-Schemas sollte diese "
+"Eigenschaft auf den vollständigen UTF-8-kodierten Pfad des Zertifikats gesetzt "
+"werden, der mit »file://« beginnt und mit einem abschließenden NUL-Byte endet."
-#: src/libnmc-setting/settings-docs.h.in:40
+#: src/libnmc-setting/settings-docs.h.in:42
msgid ""
"The password used to access the client certificate stored in \"client-cert\" "
"property. Only makes sense if the certificate is stored on a PKCS#11 token "
"that requires a login."
msgstr ""
-"Das Kennwort für den Zugriff auf das Clientzertifikat, das in der "
-"Eigenschaft \"client-cert\" gespeichert ist. Dies ist nur sinnvoll, wenn das "
-"Zertifikat auf einem PKCS # 11-Token gespeichert ist, für das eine Anmeldung "
-"erforderlich ist."
+"Das Passwort, das für den Zugriff auf das in der Eigenschaft »client-cert« "
+"gespeicherte Client-Zertifikat verwendet wird. Ergibt nur Sinn, wenn das "
+"Zertifikat auf einem PKCS#11-Token gespeichert ist, das eine Anmeldung "
+"erfordert."
-#: src/libnmc-setting/settings-docs.h.in:41
+#: src/libnmc-setting/settings-docs.h.in:43
msgid "Flags indicating how to handle the \"client-cert-password\" property."
msgstr ""
"Flags, die festlegen, wie mit der Eigenschaft »client-cert-password« "
"umgegangen werden soll."
-#: src/libnmc-setting/settings-docs.h.in:42
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:44
msgid ""
"Constraint for server domain name. If set, this list of FQDNs is used as a "
"match requirement for dNSName element(s) of the certificate presented by the "
@@ -6647,322 +6863,263 @@ msgid ""
"SubjectName CN using the same comparison. Multiple valid FQDNs can be passed "
"as a \";\" delimited list."
msgstr ""
-"Einschränkung für den Server-Domänennamen Wenn dieser FQDN festgelegt ist, "
-"wird er als Suffix-Übereinstimmungsanforderung für dNSName-Elemente des "
-"Zertifikats verwendet, das vom Authentifizierungsserver bereitgestellt wird. "
-"Wenn ein passender dNSName gefunden wird, ist diese Einschränkung erfüllt. "
-"Wenn keine dNSName-Werte vorhanden sind, wird diese Einschränkung mit "
-"SubjectName CN verglichen, wobei der Suffix-Übereinstimmungsvergleich "
-"verwendet wird."
-#: src/libnmc-setting/settings-docs.h.in:43
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:45
msgid ""
-"Constraint for server domain name. If set, this FQDN is used as a suffix "
-"match requirement for dNSName element(s) of the certificate presented by the "
+"Constraint for server domain name. If set, this FQDN is used as a suffix match "
+"requirement for dNSName element(s) of the certificate presented by the "
"authentication server. If a matching dNSName is found, this constraint is "
"met. If no dNSName values are present, this constraint is matched against "
"SubjectName CN using same suffix match comparison. Since version 1.24, "
"multiple valid FQDNs can be passed as a \";\" delimited list."
msgstr ""
-"Einschränkung für den Server-Domänennamen Wenn dieser FQDN festgelegt ist, "
-"wird er als Suffix-Übereinstimmungsanforderung für dNSName-Elemente des "
-"Zertifikats verwendet, das vom Authentifizierungsserver bereitgestellt wird. "
-"Wenn ein passender dNSName gefunden wird, ist diese Einschränkung erfüllt. "
-"Wenn keine dNSName-Werte vorhanden sind, wird diese Einschränkung mit "
-"SubjectName CN verglichen, wobei der Suffix-Übereinstimmungsvergleich "
-"verwendet wird."
-#: src/libnmc-setting/settings-docs.h.in:44
+#: src/libnmc-setting/settings-docs.h.in:46
msgid ""
"The allowed EAP method to be used when authenticating to the network with "
"802.1x. Valid methods are: \"leap\", \"md5\", \"tls\", \"peap\", \"ttls\", "
-"\"pwd\", and \"fast\". Each method requires different configuration using "
-"the properties of this setting; refer to wpa_supplicant documentation for "
-"the allowed combinations."
+"\"pwd\", and \"fast\". Each method requires different configuration using the "
+"properties of this setting; refer to wpa_supplicant documentation for the "
+"allowed combinations."
msgstr ""
-"Die zulässige EAP-Methode, die bei der Authentifizierung mit 802.1x im "
-"Netzwerk verwendet wird. Gültige Methoden sind: \"leap\", \"md5\", \"tls\", "
-"\"peap\", \"ttls\", \"pwd\" und \"fast\". Jede Methode erfordert eine andere "
-"Konfiguration mit den Eigenschaften dieser Einstellung. Informationen zu den "
-"zulässigen Kombinationen finden Sie in der Dokumentation zu wpa_supplicant."
+"Die zulässige EAP-Methode, die bei der Authentifizierung im Netz mit 802.1x "
+"verwendet werden soll. Gültige Methoden sind: »leap«, »md5«, »tls«, »peap«, "
+"»ttls«, »pwd« und »fast«. Jede Methode erfordert eine andere Konfiguration "
+"unter Verwendung der Eigenschaften dieser Einstellung; die zulässigen "
+"Kombinationen finden Sie in der wpa_supplicant-Dokumentation."
-#: src/libnmc-setting/settings-docs.h.in:45
+#: src/libnmc-setting/settings-docs.h.in:47
msgid ""
"Identity string for EAP authentication methods. Often the user's user or "
"login name."
msgstr ""
-"Identitätszeichenfolge für EAP-Authentifizierungsmethoden Häufig der "
+"Identitätszeichenfolge für EAP-Authentifizierungsmethoden. Häufig der "
"Benutzer- oder Anmeldename des Benutzers."
-#: src/libnmc-setting/settings-docs.h.in:46
+#: src/libnmc-setting/settings-docs.h.in:48
msgid ""
"Whether the 802.1X authentication is optional. If TRUE, the activation will "
"continue even after a timeout or an authentication failure. Setting the "
-"property to TRUE is currently allowed only for Ethernet connections. If set "
-"to FALSE, the activation can continue only after a successful authentication."
+"property to TRUE is currently allowed only for Ethernet connections. If set to "
+"FALSE, the activation can continue only after a successful authentication."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:47
+#: src/libnmc-setting/settings-docs.h.in:49
msgid "UTF-8 encoded file path containing PAC for EAP-FAST."
-msgstr "UTF-8-codierter Dateipfad, der PAC für EAP-FAST enthält."
+msgstr "UTF-8-kodierter Dateipfad, der PAC für EAP-FAST enthält."
-#: src/libnmc-setting/settings-docs.h.in:48
+#: src/libnmc-setting/settings-docs.h.in:50
msgid ""
"UTF-8 encoded password used for EAP authentication methods. If both the "
"\"password\" property and the \"password-raw\" property are specified, "
"\"password\" is preferred."
msgstr ""
-"UTF-8-codiertes Passwort für EAP-Authentifizierungsmethoden. Wenn sowohl die "
-"Eigenschaft \"password\" als auch die Eigenschaft \"password-row\" angegeben "
-"sind, wird \"password\" bevorzugt."
+"UTF-8-kodiertes Passwort, das für EAP-Authentifizierungsmethoden verwendet "
+"wird. Wenn sowohl die Eigenschaft »password« als auch die Eigenschaft "
+"»password-raw« angegeben sind, wird »password« bevorzugt."
-#: src/libnmc-setting/settings-docs.h.in:49
-#: src/libnmc-setting/settings-docs.h.in:81
-#: src/libnmc-setting/settings-docs.h.in:123
-#: src/libnmc-setting/settings-docs.h.in:148
-#: src/libnmc-setting/settings-docs.h.in:283
+#: src/libnmc-setting/settings-docs.h.in:51
+#: src/libnmc-setting/settings-docs.h.in:83
+#: src/libnmc-setting/settings-docs.h.in:125
+#: src/libnmc-setting/settings-docs.h.in:152
+#: src/libnmc-setting/settings-docs.h.in:297
msgid "Flags indicating how to handle the \"password\" property."
msgstr ""
"Flags, die festlegen, wie mit der Eigenschaft »password« umgegangen werden "
"soll."
-#: src/libnmc-setting/settings-docs.h.in:50
+#: src/libnmc-setting/settings-docs.h.in:52
msgid ""
"Password used for EAP authentication methods, given as a byte array to allow "
"passwords in other encodings than UTF-8 to be used. If both the \"password\" "
"property and the \"password-raw\" property are specified, \"password\" is "
"preferred."
msgstr ""
-"Kennwort für EAP-Authentifizierungsmethoden, angegeben als Byte-Array, um "
-"Kennwörter in anderen Kodierungen als UTF-8 zu verwenden. Wenn sowohl die "
-"Eigenschaft \"password\" als auch die Eigenschaft \"password-row\" angegeben "
-"sind, wird \"password\" bevorzugt."
+"Für EAP-Authentifizierungsmethoden verwendetes Passwort, das als Byte-Array "
+"angegeben wird, damit Passwörter in anderen Kodierungen als UTF-8 verwendet "
+"werden können. Wenn sowohl die Eigenschaft »password« als auch die Eigenschaft "
+"»password-raw« angegeben sind, wird »password« bevorzugt."
-#: src/libnmc-setting/settings-docs.h.in:51
+#: src/libnmc-setting/settings-docs.h.in:53
msgid "Flags indicating how to handle the \"password-raw\" property."
msgstr ""
-"Flags, die festlegen, wie mit der Eigenschaft »password-raw« umgegangen "
-"werden soll."
+"Flags, die festlegen, wie mit der Eigenschaft »password-raw« umgegangen werden "
+"soll."
-#: src/libnmc-setting/settings-docs.h.in:52
+#: src/libnmc-setting/settings-docs.h.in:54
msgid ""
"Specifies authentication flags to use in \"phase 1\" outer authentication "
"using NMSetting8021xAuthFlags options. The individual TLS versions can be "
-"explicitly disabled. If a certain TLS disable flag is not set, it is up to "
-"the supplicant to allow or forbid it. The TLS options map to "
-"tls_disable_tlsv1_x settings. See the wpa_supplicant documentation for more "
-"details."
+"explicitly disabled. TLS time checks can be also disabled. If a certain TLS "
+"disable flag is not set, it is up to the supplicant to allow or forbid it. The "
+"TLS options map to tls_disable_tlsv1_x and tls_disable_time_checks settings. "
+"See the wpa_supplicant documentation for more details."
msgstr ""
-"Gibt Authentifizierungskennzeichen an, die in der äußeren "
-"Authentifizierungsphase \"Phase 1\" mit den Optionen NMSetting8021xAuthFlags "
-"verwendet werden sollen. Die einzelnen TLS-Versionen können explizit "
-"deaktiviert werden. Wenn ein bestimmtes TLS-Deaktivierungsflag nicht gesetzt "
-"ist, muss der Supplikant dies zulassen oder verbieten. Die TLS-Optionen "
-"werden den Einstellungen für tls_disable_tlsv1_x zugeordnet. Weitere "
-"Informationen finden Sie in der Dokumentation zu wpa_supplicant."
-#: src/libnmc-setting/settings-docs.h.in:53
+#: src/libnmc-setting/settings-docs.h.in:55
msgid ""
-"Enables or disables in-line provisioning of EAP-FAST credentials when FAST "
-"is specified as the EAP method in the \"eap\" property. Recognized values "
-"are \"0\" (disabled), \"1\" (allow unauthenticated provisioning), "
-"\"2\" (allow authenticated provisioning), and \"3\" (allow both "
-"authenticated and unauthenticated provisioning). See the wpa_supplicant "
-"documentation for more details."
+"Enables or disables in-line provisioning of EAP-FAST credentials when FAST is "
+"specified as the EAP method in the \"eap\" property. Recognized values are "
+"\"0\" (disabled), \"1\" (allow unauthenticated provisioning), \"2\" (allow "
+"authenticated provisioning), and \"3\" (allow both authenticated and "
+"unauthenticated provisioning). See the wpa_supplicant documentation for more "
+"details."
msgstr ""
-"Aktiviert oder deaktiviert die Inline-Bereitstellung von EAP-FAST-"
-"Anmeldeinformationen, wenn in der Eigenschaft \"eap\" FAST als EAP-Methode "
-"angegeben ist. Erkannte Werte sind \"0\" (deaktiviert), \"1\" (nicht "
-"authentifiziertes Provisioning zulassen), \"2\" (authentifiziertes "
-"Provisioning zulassen) und \"3\" (sowohl authentifiziertes als auch nicht "
-"authentifiziertes Provisioning zulassen). Weitere Informationen finden Sie "
-"in der Dokumentation zu wpa_supplicant."
+"Aktiviert oder deaktiviert die Inline-Provisionierung von EAP-FAST-"
+"Anmeldeinformationen, wenn FAST als EAP-Methode in der Eigenschaft »eap« "
+"angegeben ist. Erkannte Werte sind »0« (deaktiviert), »1« (erlaubt "
+"unauthentifizierte Provisionierung), »2« (erlaubt authentifizierte "
+"Provisionierung) und »3« (erlaubt sowohl authentifizierte als auch "
+"unauthentifizierte Provisionierung). Weitere Einzelheiten finden Sie in der "
+"wpa_supplicant-Dokumentation."
-#: src/libnmc-setting/settings-docs.h.in:54
+#: src/libnmc-setting/settings-docs.h.in:56
msgid ""
"Forces use of the new PEAP label during key derivation. Some RADIUS servers "
"may require forcing the new PEAP label to interoperate with PEAPv1. Set to "
"\"1\" to force use of the new PEAP label. See the wpa_supplicant "
"documentation for more details."
msgstr ""
-"Erzwingt die Verwendung des neuen PEAP-Labels während der "
-"Schlüsselableitung. Bei einigen RADIUS-Servern muss das neue PEAP-Label "
-"möglicherweise gezwungen werden, mit PEAPv1 zu interagieren. Auf \"1\" "
-"setzen, um die Verwendung des neuen PEAP-Labels zu erzwingen. Weitere "
-"Informationen finden Sie in der Dokumentation zu wpa_supplicant."
+"Erzwingt die Verwendung der neuen PEAP-Beschriftung während der "
+"Schlüsselableitung. Bei einigen RADIUS-Servern kann es erforderlich sein, die "
+"neue PEAP-Beschriftung zu erzwingen, um PEAPv1 zu unterstützen. Setzen Sie den "
+"Wert auf »1«, um die Verwendung der neuen PEAP-Beschriftung zu erzwingen. "
+"Weitere Einzelheiten finden Sie in der wpa_supplicant-Dokumentation."
-#: src/libnmc-setting/settings-docs.h.in:55
+#: src/libnmc-setting/settings-docs.h.in:57
msgid ""
"Forces which PEAP version is used when PEAP is set as the EAP method in the "
"\"eap\" property. When unset, the version reported by the server will be "
-"used. Sometimes when using older RADIUS servers, it is necessary to force "
-"the client to use a particular PEAP version. To do so, this property may be "
-"set to \"0\" or \"1\" to force that specific PEAP version."
+"used. Sometimes when using older RADIUS servers, it is necessary to force the "
+"client to use a particular PEAP version. To do so, this property may be set "
+"to \"0\" or \"1\" to force that specific PEAP version."
msgstr ""
-"Legt fest, welche PEAP-Version verwendet wird, wenn PEAP als EAP-Methode in "
-"der Eigenschaft \"eap\" festgelegt ist. Wenn nicht festgelegt, wird die vom "
-"Server gemeldete Version verwendet. Manchmal ist es bei Verwendung älterer "
-"RADIUS-Server erforderlich, den Client zur Verwendung einer bestimmten PEAP-"
-"Version zu zwingen. Um dies zu tun, kann diese Eigenschaft auf \"0\" oder "
-"\"1\" gesetzt werden, um diese spezifische PEAP-Version zu erzwingen."
+"Erzwingt, welche PEAP-Version verwendet wird, wenn PEAP als EAP-Methode in der "
+"Eigenschaft »eap« festgelegt ist. Ist sie nicht gesetzt, wird die vom Server "
+"gemeldete Version verwendet. Bei der Verwendung älterer RADIUS-Server ist es "
+"manchmal notwendig, den Client zu zwingen, eine bestimmte PEAP-Version zu "
+"verwenden. Zu diesem Zweck kann diese Eigenschaft auf »0« oder »1« gesetzt "
+"werden, um diese spezielle PEAP-Version zu erzwingen."
-#: src/libnmc-setting/settings-docs.h.in:56
+#: src/libnmc-setting/settings-docs.h.in:58
msgid ""
"List of strings to be matched against the altSubjectName of the certificate "
"presented by the authentication server during the inner \"phase 2\" "
"authentication. If the list is empty, no verification of the server "
"certificate's altSubjectName is performed."
msgstr ""
-"Liste der Zeichenfolgen, die mit dem altSubjectName des Zertifikats "
-"abgeglichen werden sollen, das vom Authentifizierungsserver während der "
-"internen \"Phase 2\" -Authentifizierung angezeigt wird. Wenn die Liste leer "
-"ist, wird keine Überprüfung des altSubjectName des Serverzertifikats "
-"durchgeführt."
+"Liste der Zeichenfolgen, die mit dem altSubjectName des vom "
+"Authentifizierungsserver während der inneren »Phase 2«-Authentifizierung "
+"vorgelegten Zertifikats abgeglichen werden. Ist die Liste leer, wird keine "
+"Überprüfung des altSubjectName des Serverzertifikats durchgeführt."
-#: src/libnmc-setting/settings-docs.h.in:57
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:59
msgid ""
"Specifies the allowed \"phase 2\" inner authentication method when an EAP "
"method that uses an inner TLS tunnel is specified in the \"eap\" property. "
"For TTLS this property selects one of the supported non-EAP inner methods: "
"\"pap\", \"chap\", \"mschap\", \"mschapv2\" while \"phase2-autheap\" selects "
"an EAP inner method. For PEAP this selects an inner EAP method, one of: "
-"\"gtc\", \"otp\", \"md5\" and \"tls\". Each \"phase 2\" inner method "
-"requires specific parameters for successful authentication; see the "
-"wpa_supplicant documentation for more details. Both \"phase2-auth\" and "
-"\"phase2-autheap\" cannot be specified."
-msgstr ""
-"Gibt die zulässigen internen Nicht-EAP-Authentifizierungsmethoden der Phase "
-"2 an, wenn in der Eigenschaft \"eap\" eine EAP-Methode angegeben wird, die "
-"einen inneren TLS-Tunnel verwendet. Anerkannte Nicht-EAP- \"Phase 2\" -"
-"Methoden sind \"pap\", \"chap\", \"mschap\", \"mschapv2\", \"gtc\", \"otp\", "
-"\"md5\" und \"tls\". Jede innere \"Phase 2\" -Methode erfordert spezifische "
-"Parameter für eine erfolgreiche Authentifizierung; Weitere Informationen "
-"finden Sie in der Dokumentation zu wpa_supplicant."
+"\"gtc\", \"otp\", \"md5\" and \"tls\". Each \"phase 2\" inner method requires "
+"specific parameters for successful authentication; see the wpa_supplicant "
+"documentation for more details. Both \"phase2-auth\" and \"phase2-autheap\" "
+"cannot be specified."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:58
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:60
msgid ""
"Specifies the allowed \"phase 2\" inner EAP-based authentication method when "
"TTLS is specified in the \"eap\" property. Recognized EAP-based \"phase 2\" "
-"methods are \"md5\", \"mschapv2\", \"otp\", \"gtc\", and \"tls\". Each "
-"\"phase 2\" inner method requires specific parameters for successful "
-"authentication; see the wpa_supplicant documentation for more details."
-msgstr ""
-"Gibt die zulässigen EAP-basierten Authentifizierungsmethoden für \"Phase 2\" "
-"an, wenn eine EAP-Methode, die einen inneren TLS-Tunnel verwendet, in der "
-"Eigenschaft \"eap\" angegeben ist. Anerkannte EAP-basierte \"Phase 2\" -"
-"Methoden sind \"md5\", \"mschapv2\", \"otp\", \"gtc\" und \"tls\". Jede "
-"innere \"Phase 2\" -Methode erfordert spezifische Parameter für eine "
-"erfolgreiche Authentifizierung; Weitere Informationen finden Sie in der "
-"Dokumentation zu wpa_supplicant."
+"methods are \"md5\", \"mschapv2\", \"otp\", \"gtc\", and \"tls\". Each \"phase "
+"2\" inner method requires specific parameters for successful authentication; "
+"see the wpa_supplicant documentation for more details."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:59
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:61
msgid ""
-"Contains the \"phase 2\" CA certificate if used by the EAP method specified "
-"in the \"phase2-auth\" or \"phase2-autheap\" properties. Certificate data is "
+"Contains the \"phase 2\" CA certificate if used by the EAP method specified in "
+"the \"phase2-auth\" or \"phase2-autheap\" properties. Certificate data is "
"specified using a \"scheme\"; three are currently supported: blob, path and "
"pkcs#11 URL. When using the blob scheme this property should be set to the "
"certificate's DER encoded data. When using the path scheme, this property "
-"should be set to the full UTF-8 encoded path of the certificate, prefixed "
-"with the string \"file://\" and ending with a terminating NUL byte. This "
-"property can be unset even if the EAP method supports CA certificates, but "
-"this allows man-in-the-middle attacks and is NOT recommended. Note that "
-"enabling NMSetting8021x:system-ca-certs will override this setting to use "
-"the built-in path, if the built-in path is not a directory."
-msgstr ""
-"Enthält das CA-Zertifikat \"Phase 2\", wenn es von der in den Eigenschaften "
-"\"phase2-auth\" oder \"phase2-autheap\" angegebenen EAP-Methode verwendet "
-"wird. Zertifikatsdaten werden unter Verwendung eines \"Schemas\" "
-"spezifiziert; Zwei werden derzeit unterstützt: Blob und Pfad. Bei Verwendung "
-"des Blob-Schemas (das abwärtskompatibel zu NM 0.7.x ist) sollte diese "
-"Eigenschaft auf die DER-codierten Daten des Zertifikats gesetzt werden. Bei "
-"Verwendung des Pfadschemas sollte diese Eigenschaft auf den vollständigen "
-"UTF-8-codierten Pfad des Zertifikats gesetzt werden, dem die Zeichenfolge "
-"\"file: //\" vorangestellt ist und der mit einem abschließenden NUL-Byte "
-"endet. Diese Eigenschaft kann auch dann inaktiviert werden, wenn die EAP-"
-"Methode CA-Zertifikate unterstützt, dies jedoch Man-in-the-Middle-Angriffe "
-"erlaubt und NICHT empfohlen wird."
+"should be set to the full UTF-8 encoded path of the certificate, prefixed with "
+"the string \"file://\" and ending with a terminating NUL byte. This property "
+"can be unset even if the EAP method supports CA certificates, but this allows "
+"man-in-the-middle attacks and is NOT recommended. Note that enabling "
+"NMSetting8021x:system-ca-certs will override this setting to use the built-in "
+"path, if the built-in path is not a directory."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:60
+#: src/libnmc-setting/settings-docs.h.in:62
msgid ""
"The password used to access the \"phase2\" CA certificate stored in \"phase2-"
-"ca-cert\" property. Only makes sense if the certificate is stored on a "
-"PKCS#11 token that requires a login."
+"ca-cert\" property. Only makes sense if the certificate is stored on a PKCS#11 "
+"token that requires a login."
msgstr ""
-"Das Kennwort für den Zugriff auf das CA-Zertifikat \"phase2\", das in der "
-"Eigenschaft \"phase2-ca-cert\" gespeichert ist. Dies ist nur sinnvoll, wenn "
-"das Zertifikat auf einem PKCS # 11-Token gespeichert ist, für das eine "
-"Anmeldung erforderlich ist."
+"Das Passwort, das für den Zugriff auf das in der Eigenschaft »phase2-ca-cert« "
+"gespeicherte CA-Zertifikat »phase2« verwendet wird. Ergibt nur Sinn, wenn das "
+"Zertifikat auf einem PKCS#11-Token gespeichert ist, der eine Anmeldung "
+"erfordert."
-#: src/libnmc-setting/settings-docs.h.in:61
-msgid ""
-"Flags indicating how to handle the \"phase2-ca-cert-password\" property."
+#: src/libnmc-setting/settings-docs.h.in:63
+msgid "Flags indicating how to handle the \"phase2-ca-cert-password\" property."
msgstr ""
"Flags, die festlegen, wie mit der Eigenschaft »phase2-ca-cert-password« "
"umgegangen werden soll."
-#: src/libnmc-setting/settings-docs.h.in:62
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:64
msgid ""
-"UTF-8 encoded path to a directory containing PEM or DER formatted "
-"certificates to be added to the verification chain in addition to the "
-"certificate specified in the \"phase2-ca-cert\" property. If NMSetting8021x:"
-"system-ca-certs is enabled and the built-in CA path is an existing "
-"directory, then this setting is ignored."
+"UTF-8 encoded path to a directory containing PEM or DER formatted certificates "
+"to be added to the verification chain in addition to the certificate specified "
+"in the \"phase2-ca-cert\" property. If NMSetting8021x:system-ca-certs is "
+"enabled and the built-in CA path is an existing directory, then this setting "
+"is ignored."
msgstr ""
-"UTF-8-codierter Pfad zu einem Verzeichnis, das PEM- oder DER-formatierte "
-"Zertifikate enthält, die zusätzlich zu dem in der Eigenschaft \"phase2-ca-"
-"cert\" angegebenen Zertifikat zur Verifizierungskette hinzugefügt werden."
-#: src/libnmc-setting/settings-docs.h.in:63
+#: src/libnmc-setting/settings-docs.h.in:65
msgid ""
"Contains the \"phase 2\" client certificate if used by the EAP method "
-"specified in the \"phase2-auth\" or \"phase2-autheap\" properties. "
-"Certificate data is specified using a \"scheme\"; two are currently "
-"supported: blob and path. When using the blob scheme (which is backwards "
-"compatible with NM 0.7.x) this property should be set to the certificate's "
-"DER encoded data. When using the path scheme, this property should be set to "
-"the full UTF-8 encoded path of the certificate, prefixed with the string "
-"\"file://\" and ending with a terminating NUL byte. This property can be "
-"unset even if the EAP method supports CA certificates, but this allows man-"
-"in-the-middle attacks and is NOT recommended."
-msgstr ""
-"Enthält das Clientzertifikat \"Phase 2\", wenn es von der in den "
-"Eigenschaften \"phase2-auth\" oder \"phase2-autheap\" angegebenen EAP-"
-"Methode verwendet wird. Zertifikatsdaten werden unter Verwendung eines "
-"\"Schemas\" spezifiziert; Zwei werden derzeit unterstützt: Blob und Pfad. "
-"Bei Verwendung des Blob-Schemas (das abwärtskompatibel zu NM 0.7.x ist) "
-"sollte diese Eigenschaft auf die DER-codierten Daten des Zertifikats gesetzt "
-"werden. Bei Verwendung des Pfadschemas sollte diese Eigenschaft auf den "
-"vollständigen UTF-8-codierten Pfad des Zertifikats gesetzt werden, dem die "
-"Zeichenfolge \"file: //\" vorangestellt ist und der mit einem abschließenden "
-"NUL-Byte endet. Diese Eigenschaft kann auch dann inaktiviert werden, wenn "
-"die EAP-Methode CA-Zertifikate unterstützt, dies jedoch Man-in-the-Middle-"
-"Angriffe erlaubt und NICHT empfohlen wird."
+"specified in the \"phase2-auth\" or \"phase2-autheap\" properties. Certificate "
+"data is specified using a \"scheme\"; two are currently supported: blob and "
+"path. When using the blob scheme (which is backwards compatible with NM 0.7.x) "
+"this property should be set to the certificate's DER encoded data. When using "
+"the path scheme, this property should be set to the full UTF-8 encoded path of "
+"the certificate, prefixed with the string \"file://\" and ending with a "
+"terminating NUL byte. This property can be unset even if the EAP method "
+"supports CA certificates, but this allows man-in-the-middle attacks and is NOT "
+"recommended."
+msgstr ""
+"Enthält das »phase 2«-Client-Zertifikat, wenn es von der in den Eigenschaften "
+"»phase2-auth« oder »phase2-autheap« angegebenen EAP-Methode verwendet wird. "
+"Die Zertifikatsdaten werden unter Verwendung eines »Schemas« angegeben; "
+"derzeit werden zwei unterstützt: »blob« und »path«. Bei Verwendung des »blob«-"
+"Schemas (das mit NM 0.7.x abwärtskompatibel ist) sollte diese Eigenschaft auf "
+"die DER-kodierten Daten des Zertifikats gesetzt werden. Bei Verwendung des "
+"»path«-Schemas sollte diese Eigenschaft auf den vollständigen UTF-8-kodierten "
+"Pfad des Zertifikats gesetzt werden, der mit »file://« beginnt und einem "
+"abschließenden NUL-Byte endet. Diese Eigenschaft kann auch nicht gesetzt "
+"werden, wenn die EAP-Methode CA-Zertifikate unterstützt; dies ermöglicht "
+"jedoch Man-in-the-Middle-Angriffe und wird NICHT empfohlen."
-#: src/libnmc-setting/settings-docs.h.in:64
+#: src/libnmc-setting/settings-docs.h.in:66
msgid ""
"The password used to access the \"phase2\" client certificate stored in "
-"\"phase2-client-cert\" property. Only makes sense if the certificate is "
-"stored on a PKCS#11 token that requires a login."
+"\"phase2-client-cert\" property. Only makes sense if the certificate is stored "
+"on a PKCS#11 token that requires a login."
msgstr ""
-"Das Kennwort für den Zugriff auf das Clientzertifikat \"phase2\", das in der "
-"Eigenschaft \"phase2-client-cert\" gespeichert ist. Dies ist nur sinnvoll, "
-"wenn das Zertifikat auf einem PKCS # 11-Token gespeichert ist, für das eine "
-"Anmeldung erforderlich ist."
+"Das Passwort, das für den Zugriff auf das in der Eigenschaft »phase2-client-"
+"cert« gespeicherte »phase2«-Client-Zertifikat verwendet wird. Ergibt nur Sinn, "
+"wenn das Zertifikat auf einem PKCS#11-Token gespeichert ist, das eine "
+"Anmeldung erfordert."
-#: src/libnmc-setting/settings-docs.h.in:65
+#: src/libnmc-setting/settings-docs.h.in:67
msgid ""
"Flags indicating how to handle the \"phase2-client-cert-password\" property."
msgstr ""
"Flags, die festlegen, wie mit der Eigenschaft »phase2-client-cert-password« "
"umgegangen werden soll."
-#: src/libnmc-setting/settings-docs.h.in:66
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:68
msgid ""
"Constraint for server domain name. If set, this list of FQDNs is used as a "
"match requirement for dNSName element(s) of the certificate presented by the "
@@ -6971,375 +7128,307 @@ msgid ""
"present, this constraint is matched against SubjectName CN using the same "
"comparison. Multiple valid FQDNs can be passed as a \";\" delimited list."
msgstr ""
-"Einschränkung für den Server-Domänennamen Wenn dieser FQDN festgelegt ist, "
-"wird er als Suffixübereinstimmungsanforderung für dNSName-Elemente des "
-"Zertifikats verwendet, das vom Authentifizierungsserver während der internen "
-"\"Phase 2\" -Authentifizierung angezeigt wird. Wenn ein passender dNSName "
-"gefunden wird, ist diese Einschränkung erfüllt. Wenn keine dNSName-Werte "
-"vorhanden sind, wird diese Einschränkung mit SubjectName CN verglichen, "
-"wobei der Suffix-Übereinstimmungsvergleich verwendet wird."
-#: src/libnmc-setting/settings-docs.h.in:67
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:69
msgid ""
-"Constraint for server domain name. If set, this FQDN is used as a suffix "
-"match requirement for dNSName element(s) of the certificate presented by the "
+"Constraint for server domain name. If set, this FQDN is used as a suffix match "
+"requirement for dNSName element(s) of the certificate presented by the "
"authentication server during the inner \"phase 2\" authentication. If a "
"matching dNSName is found, this constraint is met. If no dNSName values are "
"present, this constraint is matched against SubjectName CN using same suffix "
-"match comparison. Since version 1.24, multiple valid FQDNs can be passed as "
-"a \";\" delimited list."
+"match comparison. Since version 1.24, multiple valid FQDNs can be passed as a "
+"\";\" delimited list."
msgstr ""
-"Einschränkung für den Server-Domänennamen Wenn dieser FQDN festgelegt ist, "
-"wird er als Suffixübereinstimmungsanforderung für dNSName-Elemente des "
-"Zertifikats verwendet, das vom Authentifizierungsserver während der internen "
-"\"Phase 2\" -Authentifizierung angezeigt wird. Wenn ein passender dNSName "
-"gefunden wird, ist diese Einschränkung erfüllt. Wenn keine dNSName-Werte "
-"vorhanden sind, wird diese Einschränkung mit SubjectName CN verglichen, "
-"wobei der Suffix-Übereinstimmungsvergleich verwendet wird."
-#: src/libnmc-setting/settings-docs.h.in:68
+#: src/libnmc-setting/settings-docs.h.in:70
msgid ""
"Contains the \"phase 2\" inner private key when the \"phase2-auth\" or "
"\"phase2-autheap\" property is set to \"tls\". Key data is specified using a "
"\"scheme\"; two are currently supported: blob and path. When using the blob "
"scheme and private keys, this property should be set to the key's encrypted "
-"PEM encoded data. When using private keys with the path scheme, this "
-"property should be set to the full UTF-8 encoded path of the key, prefixed "
-"with the string \"file://\" and ending with a terminating NUL byte. When "
-"using PKCS#12 format private keys and the blob scheme, this property should "
-"be set to the PKCS#12 data and the \"phase2-private-key-password\" property "
-"must be set to password used to decrypt the PKCS#12 certificate and key. "
-"When using PKCS#12 files and the path scheme, this property should be set to "
-"the full UTF-8 encoded path of the key, prefixed with the string \"file://\" "
-"and ending with a terminating NUL byte, and as with the blob scheme the "
-"\"phase2-private-key-password\" property must be set to the password used to "
-"decode the PKCS#12 private key and certificate."
-msgstr ""
-"Enthält den privaten Schlüssel \"Phase 2\", wenn die Eigenschaft \"phase2-"
-"auth\" oder \"phase2-autheap\" auf \"tls\" gesetzt ist. Schlüsseldaten "
-"werden unter Verwendung eines \"Schemas\" spezifiziert; Zwei werden derzeit "
-"unterstützt: Blob und Pfad. Bei Verwendung des Blob-Schemas und der privaten "
-"Schlüssel sollte diese Eigenschaft auf die verschlüsselten PEM-codierten "
-"Daten des Schlüssels eingestellt werden. Wenn Sie private Schlüssel mit dem "
-"Pfadschema verwenden, sollte diese Eigenschaft auf den vollständigen UTF-8-"
-"codierten Pfad des Schlüssels festgelegt werden, dem die Zeichenfolge "
-"\"file: //\" vorangestellt ist und der mit einem abschließenden NUL-Byte "
-"endet. Bei Verwendung privater PKCS # 12-Schlüssel und des Blobschemas "
-"sollte diese Eigenschaft auf die PKCS # 12-Daten und die Eigenschaft "
-"\"phase2-private-key-password\" auf das Kennwort festgelegt werden, das zum "
-"Entschlüsseln des PKCS # 12-Zertifikats verwendet wird Schlüssel. Wenn Sie "
-"PKCS # 12-Dateien und das Pfadschema verwenden, sollte diese Eigenschaft auf "
-"den vollständigen UTF-8-codierten Pfad des Schlüssels festgelegt werden, dem "
-"die Zeichenfolge \"file: //\" vorangestellt ist und der mit einem "
-"abschließenden NUL-Byte endet BLOB-Schema Die Eigenschaft \"phase2-private-"
-"key-password\" muss auf das Kennwort festgelegt werden, das zum Dekodieren "
-"des privaten PKCS # 12-Schlüssels und -Zertifikats verwendet wird."
+"PEM encoded data. When using private keys with the path scheme, this property "
+"should be set to the full UTF-8 encoded path of the key, prefixed with the "
+"string \"file://\" and ending with a terminating NUL byte. When using PKCS#12 "
+"format private keys and the blob scheme, this property should be set to the "
+"PKCS#12 data and the \"phase2-private-key-password\" property must be set to "
+"password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 "
+"files and the path scheme, this property should be set to the full UTF-8 "
+"encoded path of the key, prefixed with the string \"file://\" and ending with "
+"a terminating NUL byte, and as with the blob scheme the \"phase2-private-key-"
+"password\" property must be set to the password used to decode the PKCS#12 "
+"private key and certificate."
+msgstr ""
+"Enthält den inneren privaten Schlüssel der »phase 2«, wenn die Eigenschaft "
+"»phase2-auth« oder »phase2-autheap« auf »tls« gesetzt ist. Die Schlüsseldaten "
+"werden mit einem »Schema« angegeben; derzeit werden zwei unterstützt: »blob« "
+"und »path«. Bei Verwendung des »blob«-Schemas und privater Schlüssel sollte "
+"diese Eigenschaft auf die verschlüsselten PEM-kodierten Daten des Schlüssels "
+"gesetzt werden. Bei der Verwendung privater Schlüssel mit dem »path«-Schema "
+"sollte diese Eigenschaft auf den vollständigen UTF-8-kodierten Pfad des "
+"Schlüssels gesetzt werden, der mit »file://« beginnt und mit einem "
+"abschließenden NUL-Byte endet. Bei der Verwendung von privaten Schlüsseln im "
+"PKCS#12-Format und dem »blob«-Schema sollte diese Eigenschaft auf die PKCS#12-"
+"Daten, und die Eigenschaft »phase2-private-key-password« auf das zur "
+"Entschlüsselung des PKCS#12-Zertifikats und -Schlüssels verwendete Kennwort "
+"gesetzt werden. Bei Verwendung von PKCS#12-Dateien und dem »path«-Schema "
+"sollte diese Eigenschaft auf den vollständigen UTF-8-kodierten Pfad des "
+"Schlüssels gesetzt werden, der mit »file://« beginnt und mit einem "
+"abschließenden NUL-Byte endet, und wie beim »blob«-Schema muss die Eigenschaft "
+"»phase2-private-key-password« auf das Kennwort gesetzt werden, das zur "
+"Entschlüsselung des privaten PKCS#12-Schlüssels und des Zertifikats verwendet "
+"wird."
-#: src/libnmc-setting/settings-docs.h.in:69
+#: src/libnmc-setting/settings-docs.h.in:71
msgid ""
"The password used to decrypt the \"phase 2\" private key specified in the "
"\"phase2-private-key\" property when the private key either uses the path "
"scheme, or is a PKCS#12 format key."
msgstr ""
-"Das Kennwort, das zum Entschlüsseln des privaten Schlüssels \"Phase 2\" "
-"verwendet wird, der in der Eigenschaft \"phase2-private-key\" angegeben ist, "
-"wenn der private Schlüssel entweder das Pfadschema verwendet oder ein PKCS # "
-"12-Formatschlüssel ist."
+"Das Passwort, das zur Entschlüsselung des in der Eigenschaft »phase2-private-"
+"key« angegebenen privaten Schlüssels der »phase 2« verwendet wird, wenn der "
+"private Schlüssel entweder das »path«-Schema verwendet oder ein Schlüssel im "
+"PKCS#12-Format ist."
-#: src/libnmc-setting/settings-docs.h.in:70
+#: src/libnmc-setting/settings-docs.h.in:72
msgid ""
"Flags indicating how to handle the \"phase2-private-key-password\" property."
msgstr ""
"Flags, die festlegen, wie mit der Eigenschaft »phase2-private-cert-password« "
"umgegangen werden soll."
-#: src/libnmc-setting/settings-docs.h.in:71
+#: src/libnmc-setting/settings-docs.h.in:73
msgid ""
"Substring to be matched against the subject of the certificate presented by "
"the authentication server during the inner \"phase 2\" authentication. When "
"unset, no verification of the authentication server certificate's subject is "
-"performed. This property provides little security, if any, and its use is "
-"deprecated in favor of NMSetting8021x:phase2-domain-suffix-match."
+"performed. This property provides little security, if any, and should not be "
+"used."
msgstr ""
-"Teilzeichenfolge, die mit dem Thema des Zertifikats abgeglichen werden soll, "
-"das vom Authentifizierungsserver während der inneren \"Phase 2\" -"
-"Authentifizierung angezeigt wird. Wenn nicht festgelegt, wird keine "
-"Überprüfung des Betreffs des Authentifizierungsserverzertifikats "
-"durchgeführt. Diese Eigenschaft bietet, wenn überhaupt, wenig Sicherheit, "
-"und ihre Verwendung wird zugunsten von NMSetting8021x: phase2-domain-suffix-"
-"match abgelehnt."
-#: src/libnmc-setting/settings-docs.h.in:72
+#: src/libnmc-setting/settings-docs.h.in:74
msgid "PIN used for EAP authentication methods."
msgstr "Die für die EAP-Legitimierungsmethode verwendete PIN."
-#: src/libnmc-setting/settings-docs.h.in:73
-#: src/libnmc-setting/settings-docs.h.in:150
+#: src/libnmc-setting/settings-docs.h.in:75
+#: src/libnmc-setting/settings-docs.h.in:154
msgid "Flags indicating how to handle the \"pin\" property."
msgstr ""
"Flags, die festlegen, wie mit der Eigenschaft »pin« umgegangen werden soll."
-#: src/libnmc-setting/settings-docs.h.in:74
+#: src/libnmc-setting/settings-docs.h.in:76
msgid ""
-"Contains the private key when the \"eap\" property is set to \"tls\". Key "
-"data is specified using a \"scheme\"; two are currently supported: blob and "
-"path. When using the blob scheme and private keys, this property should be "
-"set to the key's encrypted PEM encoded data. When using private keys with "
-"the path scheme, this property should be set to the full UTF-8 encoded path "
-"of the key, prefixed with the string \"file://\" and ending with a "
-"terminating NUL byte. When using PKCS#12 format private keys and the blob "
-"scheme, this property should be set to the PKCS#12 data and the \"private-"
-"key-password\" property must be set to password used to decrypt the PKCS#12 "
-"certificate and key. When using PKCS#12 files and the path scheme, this "
-"property should be set to the full UTF-8 encoded path of the key, prefixed "
-"with the string \"file://\" and ending with a terminating NUL byte, and as "
-"with the blob scheme the \"private-key-password\" property must be set to "
-"the password used to decode the PKCS#12 private key and certificate. "
-"WARNING: \"private-key\" is not a \"secret\" property, and thus unencrypted "
-"private key data using the BLOB scheme may be readable by unprivileged "
-"users. Private keys should always be encrypted with a private key password "
-"to prevent unauthorized access to unencrypted private key data."
-msgstr ""
-"Enthält den privaten Schlüssel, wenn die Eigenschaft \"eap\" auf \"tls\" "
-"gesetzt ist. Schlüsseldaten werden unter Verwendung eines \"Schemas\" "
-"spezifiziert; Zwei werden derzeit unterstützt: Blob und Pfad. Bei Verwendung "
-"des Blob-Schemas und der privaten Schlüssel sollte diese Eigenschaft auf die "
-"verschlüsselten PEM-codierten Daten des Schlüssels eingestellt werden. Wenn "
-"Sie private Schlüssel mit dem Pfadschema verwenden, sollte diese Eigenschaft "
-"auf den vollständigen UTF-8-codierten Pfad des Schlüssels festgelegt werden, "
-"dem die Zeichenfolge \"file: //\" vorangestellt ist und der mit einem "
-"abschließenden NUL-Byte endet. Bei Verwendung privater PKCS # 12-Schlüssel "
-"und des Blobschemas sollte diese Eigenschaft auf die PKCS # 12-Daten und die "
-"Eigenschaft \"private-key-password\" auf das Kennwort festgelegt werden, das "
-"zum Entschlüsseln des PKCS # 12-Zertifikats und -Schlüssels verwendet wird. "
-"Wenn Sie PKCS # 12-Dateien und das Pfadschema verwenden, sollte diese "
-"Eigenschaft auf den vollständigen UTF-8-codierten Pfad des Schlüssels "
-"festgelegt werden, dem die Zeichenfolge \"file: //\" vorangestellt ist und "
-"der mit einem abschließenden NUL-Byte endet BLOB-Schema Die Eigenschaft "
-"\"private-key-password\" muss auf das Kennwort festgelegt werden, das zum "
-"Dekodieren des privaten PKCS # 12-Schlüssels und -Zertifikats verwendet "
-"wird. WARNUNG: \"Privatschlüssel\" ist keine \"geheime\" Eigenschaft, und "
-"daher können unverschlüsselte private Schlüsseldaten, die das BLOB-Schema "
-"verwenden, für nicht privilegierte Benutzer lesbar sein. Private Schlüssel "
-"sollten immer mit einem privaten Schlüsselkennwort verschlüsselt werden, um "
-"den nicht autorisierten Zugriff auf unverschlüsselte private Schlüsseldaten "
-"zu verhindern."
+"Contains the private key when the \"eap\" property is set to \"tls\". Key data "
+"is specified using a \"scheme\"; two are currently supported: blob and path. "
+"When using the blob scheme and private keys, this property should be set to "
+"the key's encrypted PEM encoded data. When using private keys with the path "
+"scheme, this property should be set to the full UTF-8 encoded path of the key, "
+"prefixed with the string \"file://\" and ending with a terminating NUL byte. "
+"When using PKCS#12 format private keys and the blob scheme, this property "
+"should be set to the PKCS#12 data and the \"private-key-password\" property "
+"must be set to password used to decrypt the PKCS#12 certificate and key. When "
+"using PKCS#12 files and the path scheme, this property should be set to the "
+"full UTF-8 encoded path of the key, prefixed with the string \"file://\" and "
+"ending with a terminating NUL byte, and as with the blob scheme the \"private-"
+"key-password\" property must be set to the password used to decode the PKCS#12 "
+"private key and certificate. WARNING: \"private-key\" is not a \"secret\" "
+"property, and thus unencrypted private key data using the BLOB scheme may be "
+"readable by unprivileged users. Private keys should always be encrypted with "
+"a private key password to prevent unauthorized access to unencrypted private "
+"key data."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:75
+#: src/libnmc-setting/settings-docs.h.in:77
msgid ""
-"The password used to decrypt the private key specified in the \"private-"
-"key\" property when the private key either uses the path scheme, or if the "
-"private key is a PKCS#12 format key."
+"The password used to decrypt the private key specified in the \"private-key\" "
+"property when the private key either uses the path scheme, or if the private "
+"key is a PKCS#12 format key."
msgstr ""
-"Das Kennwort, das zum Entschlüsseln des in der Eigenschaft \"private-key\" "
-"angegebenen privaten Schlüssels verwendet wird, wenn der private Schlüssel "
-"das Pfadschema verwendet oder wenn der private Schlüssel ein PKCS # 12-"
-"Formatschlüssel ist."
-#: src/libnmc-setting/settings-docs.h.in:76
+#: src/libnmc-setting/settings-docs.h.in:78
msgid "Flags indicating how to handle the \"private-key-password\" property."
msgstr ""
"Flags, die festlegen, wie mit der Eigenschaft »private-key-password« "
"umgegangen werden soll."
-#: src/libnmc-setting/settings-docs.h.in:77
+#: src/libnmc-setting/settings-docs.h.in:79
msgid ""
"Substring to be matched against the subject of the certificate presented by "
"the authentication server. When unset, no verification of the authentication "
-"server certificate's subject is performed. This property provides little "
-"security, if any, and its use is deprecated in favor of NMSetting8021x:"
-"domain-suffix-match."
+"server certificate's subject is performed. This property provides little "
+"security, if any, and should not be used."
msgstr ""
-"Unterzeichenfolge, die mit dem vom Authentifizierungsserver angegebenen "
-"Zertifikat verglichen werden soll. Wenn nicht festgelegt, wird keine "
-"Überprüfung des Betreffs des Authentifizierungsserverzertifikats "
-"durchgeführt. Diese Eigenschaft bietet, wenn überhaupt, wenig Sicherheit, "
-"und ihre Verwendung wird zugunsten von NMSetting8021x: domain-suffix-match "
-"abgelehnt."
-#: src/libnmc-setting/settings-docs.h.in:78
+#: src/libnmc-setting/settings-docs.h.in:80
msgid ""
"When TRUE, overrides the \"ca-path\" and \"phase2-ca-path\" properties using "
-"the system CA directory specified at configure time with the --system-ca-"
-"path switch. The certificates in this directory are added to the "
-"verification chain in addition to any certificates specified by the \"ca-"
-"cert\" and \"phase2-ca-cert\" properties. If the path provided with --system-"
-"ca-path is rather a file name (bundle of trusted CA certificates), it "
-"overrides \"ca-cert\" and \"phase2-ca-cert\" properties instead (sets "
-"ca_cert/ca_cert2 options for wpa_supplicant)."
-msgstr ""
-"Wenn TRUE, werden die Eigenschaften \"ca-path\" und \"phase2-ca-path\" "
-"überschrieben, indem das zum Konfigurationszeitpunkt mit dem Schalter --"
-"system-ca-path angegebene CA-Verzeichnis des Systems verwendet wird. Die "
-"Zertifikate in diesem Verzeichnis werden zusätzlich zu den Zertifikaten, die "
-"in den Eigenschaften \"ca-cert\" und \"phase2-ca-cert\" angegeben sind, der "
-"Verifizierungskette hinzugefügt. Wenn der mit --system-ca-pfad versehene "
-"Pfad eher ein Dateiname (ein Paket vertrauenswürdiger CA-Zertifikate) ist, "
-"setzt er stattdessen die Eigenschaften \"ca-cert\" und \"phase2-ca-cert\" "
-"außer Kraft (legt ca_cert / ca_cert2-Optionen für wpa_supplicant fest )."
+"the system CA directory specified at configure time with the --system-ca-path "
+"switch. The certificates in this directory are added to the verification "
+"chain in addition to any certificates specified by the \"ca-cert\" and "
+"\"phase2-ca-cert\" properties. If the path provided with --system-ca-path is "
+"rather a file name (bundle of trusted CA certificates), it overrides \"ca-"
+"cert\" and \"phase2-ca-cert\" properties instead (sets ca_cert/ca_cert2 "
+"options for wpa_supplicant)."
+msgstr ""
+"Wenn TRUE, werden die Eigenschaften »ca-path« und »phase2-ca-path« durch das "
+"System-CA-Verzeichnis überschrieben, das bei der Konfiguration mit der Option "
+"--system-ca-path angegeben wurde. Die Zertifikate in diesem Verzeichnis "
+"werden der Verifizierungskette zusätzlich zu allen Zertifikaten hinzugefügt, "
+"die durch die Eigenschaften »ca-cert« und »phase2-ca-cert« angegeben wurden. "
+"Wenn der mit --system-ca-path angegebene Pfad eher ein Dateiname ist (Gruppe "
+"von vertrauenswürdigen CA-Zertifikaten), überschreibt er stattdessen die "
+"Eigenschaften »ca-cert« und »phase2-ca-cert« (setzt ca_cert/ca_cert2-Optionen "
+"für wpa_supplicant)."
-#: src/libnmc-setting/settings-docs.h.in:79
+#: src/libnmc-setting/settings-docs.h.in:81
msgid "Encapsulation of ADSL connection. Can be \"vcmux\" or \"llc\"."
msgstr ""
"Verkapselungsmethode der ADSL-Verbindung. Der Wert darf »vcmux« oder »llc« "
"sein."
-#: src/libnmc-setting/settings-docs.h.in:80
+#: src/libnmc-setting/settings-docs.h.in:82
msgid "Password used to authenticate with the ADSL service."
msgstr "Passwort für die Legitimierung mit dem ADSL-Dienst."
-#: src/libnmc-setting/settings-docs.h.in:82
+#: src/libnmc-setting/settings-docs.h.in:84
msgid "ADSL connection protocol. Can be \"pppoa\", \"pppoe\" or \"ipoatm\"."
msgstr "ADSL-Verbindungsprotokoll. Darf »pppoa«, »pppoe« oder »ipoatm« sein."
-#: src/libnmc-setting/settings-docs.h.in:83
+#: src/libnmc-setting/settings-docs.h.in:85
msgid "Username used to authenticate with the ADSL service."
msgstr "Benutzername für die Legitimierung mit dem ADSL-Dienst."
-#: src/libnmc-setting/settings-docs.h.in:84
+#: src/libnmc-setting/settings-docs.h.in:86
msgid "VCI of ADSL connection"
msgstr "VCI einer ADSL-Verbindung"
-#: src/libnmc-setting/settings-docs.h.in:85
+#: src/libnmc-setting/settings-docs.h.in:87
msgid "VPI of ADSL connection"
msgstr "VPI einer ADSL-Verbindung"
-#: src/libnmc-setting/settings-docs.h.in:86
+#: src/libnmc-setting/settings-docs.h.in:88
msgid "The Bluetooth address of the device."
msgstr "Die Bluetooth-Adressen des Geräts."
-#: src/libnmc-setting/settings-docs.h.in:87
+#: src/libnmc-setting/settings-docs.h.in:89
msgid ""
"Either \"dun\" for Dial-Up Networking connections or \"panu\" for Personal "
"Area Networking connections to devices supporting the NAP profile."
msgstr ""
-"Entweder \"dun\" für DFÜ-Netzwerkverbindungen oder \"panu\" für Personal "
-"Area Networking-Verbindungen zu Geräten, die das NAP-Profil unterstützen."
+"Entweder »dun« für DFÜ-Netzwerkverbindungen oder »panu« für Personal Area "
+"Networking-Verbindungen zu Geräten, die das NAP-Profil unterstützen."
-#: src/libnmc-setting/settings-docs.h.in:88
+#: src/libnmc-setting/settings-docs.h.in:90
msgid ""
"Dictionary of key/value pairs of bonding options. Both keys and values must "
-"be strings. Option names must contain only alphanumeric characters (ie, [a-"
-"zA-Z0-9])."
+"be strings. Option names must contain only alphanumeric characters (ie, [a-zA-"
+"Z0-9])."
msgstr ""
-"Wörterbuch der Schlüssel / Wert-Paare von Bindungsoptionen. Beide Schlüssel "
-"und Werte müssen Zeichenfolgen sein. Optionsnamen dürfen nur alphanumerische "
-"Zeichen enthalten (z. B. [a-zA-Z0-9])."
-#: src/libnmc-setting/settings-docs.h.in:89
+#: src/libnmc-setting/settings-docs.h.in:91
msgid "The Ethernet MAC address aging time, in seconds."
msgstr "Die Lebensdauer der Ethernet MAC-Adresse, in Sekunden."
-#: src/libnmc-setting/settings-docs.h.in:90
+#: src/libnmc-setting/settings-docs.h.in:92
msgid "The Spanning Tree Protocol (STP) forwarding delay, in seconds."
msgstr ""
"Die Weiterleitungsverzögerung des Spanning Tree Protocol (STP), in Sekunden."
-#: src/libnmc-setting/settings-docs.h.in:91
+#: src/libnmc-setting/settings-docs.h.in:93
msgid ""
-"If specified, 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, ie an address of the form 01:80:C2:00:00:0X, with X in [0, "
-"4..F]. If not specified the default value is 01:80:C2:00:00:00."
+"If specified, 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, ie an address of the form 01:80:C2:00:00:0X, with X in [0, 4..F]. If "
+"not specified the default value is 01:80:C2:00:00:00."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:92
+#: src/libnmc-setting/settings-docs.h.in:94
msgid ""
"A mask of group addresses to forward. Usually, group addresses in the range "
"from 01:80:C2:00:00:00 to 01:80:C2:00:00:0F are not forwarded according to "
"standards. This property is a mask of 16 bits, each corresponding to a group "
-"address in that range that must be forwarded. The mask can't have bits 0, 1 "
-"or 2 set because they are used for STP, MAC pause frames and LACP."
-msgstr ""
-"Eine Maske von Gruppenadressen zum Weiterleiten. In der Regel werden "
-"Gruppenadressen im Bereich von 01: 80: C2: 00: 00: 00 bis 01: 80: C2: 00: "
-"00: 0F nicht normgerecht weitergeleitet. Diese Eigenschaft ist eine Maske "
-"von 16 Bits, die jeweils einer Gruppenadresse in diesem Bereich entsprechen, "
-"die weitergeleitet werden muss. In der Maske können die Bits 0, 1 oder 2 "
-"nicht gesetzt sein, da sie für STP, MAC-Pausenrahmen und LACP verwendet "
+"address in that range that must be forwarded. The mask can't have bits 0, 1 or "
+"2 set because they are used for STP, MAC pause frames and LACP."
+msgstr ""
+"Eine Maske von Gruppenadressen, die weitergeleitet werden sollen. "
+"Normalerweise werden Gruppenadressen im Bereich von 01:80:C2:00:00:00 bis "
+"01:80:C2:00:00:0F standardmäßig nicht weitergeleitet. Diese Eigenschaft ist "
+"eine Maske aus 16 Bits, die jeweils einer Gruppenadresse in diesem Bereich "
+"entsprechen, die weitergeleitet werden muss. In der Maske dürfen die Bits 0, 1 "
+"oder 2 nicht gesetzt sein, da sie für STP, MAC-Pausenframes und LACP verwendet "
"werden."
-#: src/libnmc-setting/settings-docs.h.in:93
+#: src/libnmc-setting/settings-docs.h.in:95
msgid "The Spanning Tree Protocol (STP) hello time, in seconds."
msgstr "Die Hello-Zeit des Spanning Tree Protocol (STP), in Sekunden."
-#: src/libnmc-setting/settings-docs.h.in:94
+#: src/libnmc-setting/settings-docs.h.in:96
msgid ""
-"If specified, the MAC address of bridge. When creating a new bridge, this "
-"MAC address will be set. If this field is left unspecified, the \"ethernet."
-"cloned-mac-address\" is referred instead to generate the initial MAC "
-"address. Note that setting \"ethernet.cloned-mac-address\" anyway overwrites "
-"the MAC address of the bridge later while activating the bridge. Hence, this "
-"property is deprecated. Deprecated: 1"
-msgstr ""
-"Wenn angegeben, die MAC-Adresse der Bridge. Wenn Sie eine neue Bridge "
-"erstellen, wird diese MAC-Adresse festgelegt. Wenn dieses Feld nicht "
-"angegeben ist, wird stattdessen die \"ethernet.cloned-mac-Adresse\" "
-"verwendet, um die anfängliche MAC-Adresse zu erzeugen. Beachten Sie, dass "
-"die Einstellung \"ethernet.cloned-mac-address\" die MAC-Adresse der Bridge "
-"später beim Aktivieren der Bridge überschreibt. Daher ist diese Eigenschaft "
-"veraltet. Veraltet: 1"
+"If specified, the MAC address of bridge. When creating a new bridge, this MAC "
+"address will be set. If this field is left unspecified, the \"ethernet.cloned-"
+"mac-address\" is referred instead to generate the initial MAC address. Note "
+"that setting \"ethernet.cloned-mac-address\" anyway overwrites the MAC address "
+"of the bridge later while activating the bridge."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:95
+#: src/libnmc-setting/settings-docs.h.in:97
#, fuzzy
msgid "The Spanning Tree Protocol (STP) maximum message age, in seconds."
msgstr ""
"Die Weiterleitungsverzögerung des Spanning Tree Protocol (STP), in Sekunden."
-#: src/libnmc-setting/settings-docs.h.in:96
+#: src/libnmc-setting/settings-docs.h.in:98
msgid "Set maximum size of multicast hash table (value must be a power of 2)."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:97
+#: src/libnmc-setting/settings-docs.h.in:99
msgid ""
"Set the number of queries the bridge will send before stopping forwarding a "
"multicast group after a \"leave\" message has been received."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:98
+#: src/libnmc-setting/settings-docs.h.in:100
msgid ""
"Set interval (in deciseconds) between queries to find remaining members of a "
"group, after a \"leave\" message is received."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:99
+#: src/libnmc-setting/settings-docs.h.in:101
msgid ""
"Set delay (in deciseconds) after which the bridge will leave a group, if no "
"membership reports for this group are received."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:100
+#: src/libnmc-setting/settings-docs.h.in:102
msgid ""
-"Enable or disable sending of multicast queries by the bridge. If not "
-"specified the option is disabled."
+"Enable or disable sending of multicast queries by the bridge. If not specified "
+"the option is disabled."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:101
+#: src/libnmc-setting/settings-docs.h.in:103
msgid ""
"If no queries are seen after this delay (in deciseconds) has passed, the "
"bridge will start to send its own queries."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:102
+#: src/libnmc-setting/settings-docs.h.in:104
msgid ""
-"Interval (in deciseconds) between queries sent by the bridge after the end "
-"of the startup phase."
+"Interval (in deciseconds) between queries sent by the bridge after the end of "
+"the startup phase."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:103
+#: src/libnmc-setting/settings-docs.h.in:105
msgid ""
"Set the Max Response Time/Max Response Delay (in deciseconds) for IGMP/MLD "
"queries sent by the bridge."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:104
+#: src/libnmc-setting/settings-docs.h.in:106
msgid ""
-"If enabled the bridge's own IP address is used as the source address for "
-"IGMP queries otherwise the default of 0.0.0.0 is used."
+"If enabled the bridge's own IP address is used as the source address for IGMP "
+"queries otherwise the default of 0.0.0.0 is used."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:105
+#: src/libnmc-setting/settings-docs.h.in:107
msgid ""
"Sets bridge's multicast router. Multicast-snooping must be enabled for this "
"option to work. Supported values are: 'auto', 'disabled', 'enabled' to which "
@@ -7347,7 +7436,7 @@ msgid ""
"default value is 'auto' (1)."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:106
+#: src/libnmc-setting/settings-docs.h.in:108
#, fuzzy
msgid ""
"Controls whether IGMP snooping is enabled for this bridge. Note that if "
@@ -7355,63 +7444,60 @@ msgid ""
"refuse to enable the feature until the collisions are resolved."
msgstr ""
"Legt fest, ob »IGMP snooping« für diese Brücke aktiviert wird. Beachten Sie, "
-"dass das System diese Funktion automatisch verweigern kann, solange eine "
-"Hash-Kollision erkannt wird."
+"dass das System diese Funktion automatisch verweigern kann, solange eine Hash-"
+"Kollision erkannt wird."
-#: src/libnmc-setting/settings-docs.h.in:107
+#: src/libnmc-setting/settings-docs.h.in:109
msgid "Set the number of IGMP queries to send during startup phase."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:108
+#: src/libnmc-setting/settings-docs.h.in:110
msgid ""
"Sets the time (in deciseconds) between queries sent out at startup to "
"determine membership information."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:109
+#: src/libnmc-setting/settings-docs.h.in:111
msgid ""
-"Sets the Spanning Tree Protocol (STP) priority for this bridge. Lower "
-"values are \"better\"; the lowest priority bridge will be elected the root "
-"bridge."
+"Sets the Spanning Tree Protocol (STP) priority for this bridge. Lower values "
+"are \"better\"; the lowest priority bridge will be elected the root bridge."
msgstr ""
-"Legt die STP-Priorität (Spanning Tree Protocol) für diese Bridge fest. "
-"Niedrigere Werte sind \"besser\"; Die Brücke mit der niedrigsten Priorität "
-"wird zur Stammbrücke gewählt."
+"Legt die STP-Priorität (Spanning Tree Protocol) für diese Brücke fest. "
+"Niedrigere Werte sind »besser«; die Brücke mit der niedrigsten Priorität wird "
+"zur Stammbrücke gewählt."
-#: src/libnmc-setting/settings-docs.h.in:110
-msgid ""
-"Controls whether Spanning Tree Protocol (STP) is enabled for this bridge."
+#: src/libnmc-setting/settings-docs.h.in:112
+msgid "Controls whether Spanning Tree Protocol (STP) is enabled for this bridge."
msgstr ""
"Legt fest, ob für diese Brücke Spanning Tree Protocol (STP) aktiviert sein "
"soll."
-#: src/libnmc-setting/settings-docs.h.in:111
+#: src/libnmc-setting/settings-docs.h.in:113
msgid ""
-"The default PVID for the ports of the bridge, that is the VLAN id assigned "
-"to incoming untagged frames."
+"The default PVID for the ports of the bridge, that is the VLAN id assigned to "
+"incoming untagged frames."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:112
+#: src/libnmc-setting/settings-docs.h.in:114
#, fuzzy
+#| msgid ""
+#| "Controls whether Spanning Tree Protocol (STP) is enabled for this bridge."
msgid "Control whether VLAN filtering is enabled on the bridge."
msgstr ""
"Legt fest, ob für diese Brücke Spanning Tree Protocol (STP) aktiviert sein "
"soll."
-#: src/libnmc-setting/settings-docs.h.in:113
+#: src/libnmc-setting/settings-docs.h.in:115
msgid ""
"If specified, the protocol used for VLAN filtering. Supported values are: "
"'802.1Q', '802.1ad'. If not specified the default value is '802.1Q'."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:114
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:116
msgid "Controls whether per-VLAN stats accounting is enabled."
msgstr ""
-"Legt fest, ob für diese Brücke Spanning Tree Protocol (STP) aktiviert sein "
-"soll."
-#: src/libnmc-setting/settings-docs.h.in:115
+#: src/libnmc-setting/settings-docs.h.in:117
msgid ""
"Array of bridge VLAN objects. In addition to the VLANs specified here, the "
"bridge will also have the default-pvid VLAN configured by the bridge.vlan-"
@@ -7421,47 +7507,46 @@ msgid ""
"couple of ids separated by a dash."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:116
+#: src/libnmc-setting/settings-docs.h.in:118
msgid ""
"Enables or disables \"hairpin mode\" for the port, which allows frames to be "
"sent back out through the port the frame was received on."
msgstr ""
-"Aktiviert oder deaktiviert den \"Haarnadelmodus\" für den Port, mit dem "
-"Frames über den Port, an dem der Frame empfangen wurde, zurückgesendet "
-"werden können."
+"Aktiviert oder deaktiviert den »Hairpin-Modus« für den Port, der es "
+"ermöglicht, Frames über den Port zurückzusenden, über den der Frame empfangen "
+"wurde."
-#: src/libnmc-setting/settings-docs.h.in:117
+#: src/libnmc-setting/settings-docs.h.in:119
msgid ""
"The Spanning Tree Protocol (STP) port cost for destinations via this port."
msgstr ""
"Die Port-Kosten des Spanning Tree Protocol (STP) für Ziele über diesen Port."
-#: src/libnmc-setting/settings-docs.h.in:118
+#: src/libnmc-setting/settings-docs.h.in:120
msgid "The Spanning Tree Protocol (STP) priority of this bridge port."
-msgstr ""
-"Die Priorität für das Spanning Tree Protocol (STP) dieses Brücken-Port."
+msgstr "Die Priorität für das Spanning Tree Protocol (STP) dieses Brücken-Port."
-#: src/libnmc-setting/settings-docs.h.in:119
+#: src/libnmc-setting/settings-docs.h.in:121
msgid ""
"Array of bridge VLAN objects. In addition to the VLANs specified here, the "
"port will also have the default-pvid VLAN configured on the bridge by the "
"bridge.vlan-default-pvid property. In nmcli the VLAN list can be specified "
"with the following syntax: $vid [pvid] [untagged] [, $vid [pvid] "
-"[untagged]]... where $vid is either a single id between 1 and 4094 or a "
-"range, represented as a couple of ids separated by a dash."
+"[untagged]]... where $vid is either a single id between 1 and 4094 or a range, "
+"represented as a couple of ids separated by a dash."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:120
-#: src/libnmc-setting/settings-docs.h.in:144
-#: src/libnmc-setting/settings-docs.h.in:155
+#: src/libnmc-setting/settings-docs.h.in:122
+#: src/libnmc-setting/settings-docs.h.in:148
+#: src/libnmc-setting/settings-docs.h.in:159
msgid ""
-"If non-zero, only transmit packets of the specified size or smaller, "
-"breaking larger packets up into multiple frames."
+"If non-zero, only transmit packets of the specified size or smaller, breaking "
+"larger packets up into multiple frames."
msgstr ""
"Wenn ungleich null, so werden Pakete mit der angegebenen Länge oder kleiner "
"gesendet. Größere Pakete werden in mehrere Ethernet-Rahmen aufgeteilt."
-#: src/libnmc-setting/settings-docs.h.in:121
+#: src/libnmc-setting/settings-docs.h.in:123
msgid ""
"The number to dial to establish the connection to the CDMA-based mobile "
"broadband network, if any. If not specified, the default number (#777) is "
@@ -7471,19 +7556,19 @@ msgstr ""
"Breitbandnetz aufzubauen, sofern vorhanden. Falls die Nummer nicht angegeben "
"ist, so wird die Vorgabenummer (#777) bei Bedarf verwendet."
-#: src/libnmc-setting/settings-docs.h.in:122
-#: src/libnmc-setting/settings-docs.h.in:147
+#: src/libnmc-setting/settings-docs.h.in:124
+#: src/libnmc-setting/settings-docs.h.in:151
msgid ""
"The password used to authenticate with the network, if required. Many "
"providers do not require a password, or accept any password. But if a "
"password is required, it is specified here."
msgstr ""
-"Das Passwort zur Legitimierung mit dem Netz, sofern notwendig. Viele "
-"Anbieter erfordern kein Passwort oder akzeptieren jedes beliebige. Wenn aber "
-"ein Passwort erforderlich ist, so geben Sie es hier an."
+"Das Passwort zur Legitimierung mit dem Netz, sofern notwendig. Viele Anbieter "
+"erfordern kein Passwort oder akzeptieren jedes beliebige. Wenn aber ein "
+"Passwort erforderlich ist, so geben Sie es hier an."
-#: src/libnmc-setting/settings-docs.h.in:124
-#: src/libnmc-setting/settings-docs.h.in:153
+#: src/libnmc-setting/settings-docs.h.in:126
+#: src/libnmc-setting/settings-docs.h.in:157
msgid ""
"The username used to authenticate with the network, if required. Many "
"providers do not require a username, or accept any username. But if a "
@@ -7493,77 +7578,55 @@ msgstr ""
"Anbieter erfordern keinen Benutzernamen oder akzeptieren jeden beliebigen. "
"Wenn aber ein Benutzername erforderlich ist, so geben Sie diesen hier an."
-#: src/libnmc-setting/settings-docs.h.in:125
+#: src/libnmc-setting/settings-docs.h.in:127
msgid ""
"Specifies the NMSettingDcbFlags for the DCB FCoE application. Flags may be "
-"any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), "
-"NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)."
+"any combination of \"enable\" (0x1), \"advertise\" (0x2), and "
+"\"willing\" (0x4)."
msgstr ""
-"Gibt die NMSettingDcbFlags für die DCB-FCoE-Anwendung an. Flags können eine "
-"beliebige Kombination von NM_SETTING_DCB_FLAG_ENABLE (0x1), "
-"NM_SETTING_DCB_FLAG_ADVERTISE (0x2) und NM_SETTING_DCB_FLAG_WILLING (0x4) "
-"sein."
-#: src/libnmc-setting/settings-docs.h.in:126
+#: src/libnmc-setting/settings-docs.h.in:128
msgid ""
-"The FCoE controller mode; either \"fabric\" or \"vn2vn\". Since 1.34, NULL "
-"is the default and means \"fabric\". Before 1.34, NULL was rejected as "
-"invalid and the default was \"fabric\"."
+"The FCoE controller mode; either \"fabric\" or \"vn2vn\". Since 1.34, NULL is "
+"the default and means \"fabric\". Before 1.34, NULL was rejected as invalid "
+"and the default was \"fabric\"."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:127
+#: src/libnmc-setting/settings-docs.h.in:129
msgid ""
"The highest User Priority (0 - 7) which FCoE frames should use, or -1 for "
-"default priority. Only used when the \"app-fcoe-flags\" property includes "
-"the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag."
+"default priority. Only used when the \"app-fcoe-flags\" property includes the "
+"\"enable\" (0x1) flag."
msgstr ""
-"Die höchste Benutzerpriorität (0 - 7), die FCoE-Rahmen verwenden sollten, "
-"oder -1 für die Standardpriorität. Wird nur verwendet, wenn die Eigenschaft "
-"\"app-fcoe-flags\" das Flag NM_SETTING_DCB_FLAG_ENABLE (0x1) enthält."
-#: src/libnmc-setting/settings-docs.h.in:128
+#: src/libnmc-setting/settings-docs.h.in:130
msgid ""
-"Specifies the NMSettingDcbFlags for the DCB FIP application. Flags may be "
-"any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), "
-"NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)."
+"Specifies the NMSettingDcbFlags for the DCB FIP application. Flags may be any "
+"combination of \"enable\" (0x1), \"advertise\" (0x2), and \"willing\" (0x4)."
msgstr ""
-"Gibt die NMSettingDcbFlags für die DCB-FIP-Anwendung an. Flags können eine "
-"beliebige Kombination von NM_SETTING_DCB_FLAG_ENABLE (0x1), "
-"NM_SETTING_DCB_FLAG_ADVERTISE (0x2) und NM_SETTING_DCB_FLAG_WILLING (0x4) "
-"sein."
-#: src/libnmc-setting/settings-docs.h.in:129
+#: src/libnmc-setting/settings-docs.h.in:131
msgid ""
"The highest User Priority (0 - 7) which FIP frames should use, or -1 for "
-"default priority. Only used when the \"app-fip-flags\" property includes "
-"the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag."
+"default priority. Only used when the \"app-fip-flags\" property includes the "
+"\"enable\" (0x1) flag."
msgstr ""
-"Die höchste Benutzerpriorität (0 - 7), die FIP-Frames verwenden sollten, "
-"oder -1 für die Standardpriorität. Wird nur verwendet, wenn die Eigenschaft "
-"\"app-fip-flags\" das Flag NM_SETTING_DCB_FLAG_ENABLE (0x1) enthält."
-#: src/libnmc-setting/settings-docs.h.in:130
+#: src/libnmc-setting/settings-docs.h.in:132
msgid ""
"Specifies the NMSettingDcbFlags for the DCB iSCSI application. Flags may be "
-"any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), "
-"NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)."
+"any combination of \"enable\" (0x1), \"advertise\" (0x2), and "
+"\"willing\" (0x4)."
msgstr ""
-"Gibt die NMSettingDcbFlags für die DCB-iSCSI-Anwendung an. Flags können eine "
-"beliebige Kombination von NM_SETTING_DCB_FLAG_ENABLE (0x1), "
-"NM_SETTING_DCB_FLAG_ADVERTISE (0x2) und NM_SETTING_DCB_FLAG_WILLING (0x4) "
-"sein."
-#: src/libnmc-setting/settings-docs.h.in:131
+#: src/libnmc-setting/settings-docs.h.in:133
msgid ""
"The highest User Priority (0 - 7) which iSCSI frames should use, or -1 for "
-"default priority. Only used when the \"app-iscsi-flags\" property includes "
-"the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag."
+"default priority. Only used when the \"app-iscsi-flags\" property includes the "
+"\"enable\" (0x1) flag."
msgstr ""
-"Die höchste Benutzerpriorität (0 - 7), die iSCSI-Rahmen verwenden sollten, "
-"oder -1 für die Standardpriorität. Wird nur verwendet, wenn die Eigenschaft "
-"\"app-iscsi-flags\" das Flag NM_SETTING_DCB_FLAG_ENABLE (0x1) enthält."
-#: src/libnmc-setting/settings-docs.h.in:132
+#: src/libnmc-setting/settings-docs.h.in:134
msgid ""
"An array of 8 uint values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates the percentage of bandwidth of the "
@@ -7571,192 +7634,195 @@ msgid ""
"percentages for priorities which belong to the same group must total 100 "
"percents."
msgstr ""
-"Ein Array mit 8 Uint-Werten, wobei der Array-Index der Benutzerpriorität (0 "
-"- 7) entspricht und der Wert den Prozentsatz der Bandbreite der zugewiesenen "
-"Prioritätsgruppe angibt, den die Priorität verwenden darf. Die Summe aller "
-"Prozentsätze für Prioritäten, die zu derselben Gruppe gehören, muss 100 "
-"Prozent betragen."
-#: src/libnmc-setting/settings-docs.h.in:133
+#: src/libnmc-setting/settings-docs.h.in:135
msgid ""
"An array of 8 boolean values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates whether or not the corresponding "
"priority should transmit priority pause."
msgstr ""
-"Ein Array mit 8 booleschen Werten, wobei der Array-Index der "
-"Benutzerpriorität (0 - 7) entspricht und der Wert angibt, ob die "
-"entsprechende Priorität die Prioritätspause übertragen soll oder nicht."
-#: src/libnmc-setting/settings-docs.h.in:134
+#: src/libnmc-setting/settings-docs.h.in:136
msgid ""
-"Specifies the NMSettingDcbFlags for DCB Priority Flow Control (PFC). Flags "
-"may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), "
-"NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)."
+"Specifies the NMSettingDcbFlags for DCB Priority Flow Control (PFC). Flags may "
+"be any combination of \"enable\" (0x1), \"advertise\" (0x2), and "
+"\"willing\" (0x4)."
msgstr ""
-"Gibt die NMSettingDcbFlags für DCB Priority Flow Control (PFC) an. Flags "
-"können eine beliebige Kombination von NM_SETTING_DCB_FLAG_ENABLE (0x1), "
-"NM_SETTING_DCB_FLAG_ADVERTISE (0x2) und NM_SETTING_DCB_FLAG_WILLING (0x4) "
-"sein."
-#: src/libnmc-setting/settings-docs.h.in:135
+#: src/libnmc-setting/settings-docs.h.in:137
msgid ""
"An array of 8 uint values, where the array index corresponds to the Priority "
"Group ID (0 - 7) and the value indicates the percentage of link bandwidth "
"allocated to that group. Allowed values are 0 - 100, and the sum of all "
"values must total 100 percents."
msgstr ""
-"Ein Array mit 8 Uint-Werten, wobei der Array-Index der Priority Group ID (0 "
-"- 7) entspricht und der Wert den Prozentsatz der Link-Bandbreite angibt, die "
-"dieser Gruppe zugewiesen ist. Zulässige Werte sind 0 - 100, und die Summe "
-"aller Werte muss insgesamt 100 Prozent betragen."
+"Ein Array mit 8 Uint-Werten, wobei der Array-Index der Prioritätsgruppen-ID (0 "
+"- 7) entspricht und der Wert den Prozentsatz der dieser Gruppe zugewiesenen "
+"Link-Bandbreite angibt. Erlaubte Werte sind 0 - 100, und die Summe aller "
+"Werte muss 100 Prozent ergeben."
-#: src/libnmc-setting/settings-docs.h.in:136
+#: src/libnmc-setting/settings-docs.h.in:138
msgid ""
"Specifies the NMSettingDcbFlags for DCB Priority Groups. Flags may be any "
-"combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), "
-"NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)."
+"combination of \"enable\" (0x1), \"advertise\" (0x2), and \"willing\" (0x4)."
msgstr ""
-"Gibt die NMSettingDcbFlags für DCB-Prioritätsgruppen an. Flags können eine "
-"beliebige Kombination von NM_SETTING_DCB_FLAG_ENABLE (0x1), "
-"NM_SETTING_DCB_FLAG_ADVERTISE (0x2) und NM_SETTING_DCB_FLAG_WILLING (0x4) "
-"sein."
-#: src/libnmc-setting/settings-docs.h.in:137
+#: src/libnmc-setting/settings-docs.h.in:139
msgid ""
"An array of 8 uint values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates the Priority Group ID. Allowed "
"Priority Group ID values are 0 - 7 or 15 for the unrestricted group."
msgstr ""
-"Ein Array mit 8 Uint-Werten, wobei der Array-Index der Benutzerpriorität (0 "
-"- 7) entspricht und der Wert die Prioritätsgruppen-ID angibt. Erlaubte "
-"Prioritätsgruppen-ID-Werte sind 0 - 7 oder 15 für die uneingeschränkte "
-"Gruppe."
+"Ein Array mit 8 Uint-Werten, wobei der Array-Index der Benutzerpriorität (0 - "
+"7) entspricht und der Wert die Prioritätsgruppen-ID angibt. Erlaubte "
+"Prioritätsgruppen-ID-Werte sind 0 - 7 oder 15 für die unbeschränkte Gruppe."
-#: src/libnmc-setting/settings-docs.h.in:138
+#: src/libnmc-setting/settings-docs.h.in:140
msgid ""
"An array of 8 boolean values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates whether or not the priority may use "
"all of the bandwidth allocated to its assigned group."
msgstr ""
-"Ein Array mit 8 booleschen Werten, wobei der Array-Index der "
-"Benutzerpriorität (0 - 7) entspricht und der Wert angibt, ob die Priorität "
-"die gesamte zugewiesene Bandbreite für die zugewiesene Gruppe verwenden darf."
+"Ein Array mit 8 booleschen Werten, wobei der Array-Index der Benutzerpriorität "
+"(0 - 7) entspricht und der Wert angibt, ob die Priorität die gesamte "
+"Bandbreite, die der ihr zugewiesenen Gruppe zugewiesen ist, nutzen darf oder "
+"nicht."
-#: src/libnmc-setting/settings-docs.h.in:139
+#: src/libnmc-setting/settings-docs.h.in:141
msgid ""
"An array of 8 uint values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates the traffic class (0 - 7) to which "
"the priority is mapped."
msgstr ""
-"Ein Array von 8 Uint-Werten, wobei der Array-Index der Benutzerpriorität (0 "
-"- 7) entspricht und der Wert die Verkehrsklasse (0 - 7) angibt, der die "
+"Ein Array mit 8 Uint-Werten, wobei der Array-Index der Benutzerpriorität (0 - "
+"7) entspricht und der Wert die Verkehrsklasse (0 - 7) angibt, der die "
"Priorität zugeordnet ist."
-#: src/libnmc-setting/settings-docs.h.in:140
+#: src/libnmc-setting/settings-docs.h.in:142
+#, fuzzy
+#| msgid ""
+#| "The GPRS Access Point Name specifying the APN used when establishing a data "
+#| "session with the GSM-based network. The APN often determines how the user "
+#| "will be billed for their network usage and whether the user has access to "
+#| "the Internet or just a provider-specific walled-garden, so it is important "
+#| "to use the correct APN for the user's mobile broadband plan. The APN may "
+#| "only be composed of the characters a-z, 0-9, ., and - per GSM 03.60 Section "
+#| "14.9."
msgid ""
"The GPRS Access Point Name specifying the APN used when establishing a data "
"session with the GSM-based network. The APN often determines how the user "
-"will be billed for their network usage and whether the user has access to "
-"the Internet or just a provider-specific walled-garden, so it is important "
-"to use the correct APN for the user's mobile broadband plan. The APN may "
-"only be composed of the characters a-z, 0-9, ., and - per GSM 03.60 Section "
-"14.9."
-msgstr ""
-"Der GPRS Access Point Name, der den APN angibt, der beim Aufbau einer "
-"Datensitzung mit dem GSM-basierten Netzwerk verwendet wird. Der APN legt "
-"häufig fest, wie dem Benutzer die Netzwerknutzung in Rechnung gestellt wird "
-"und ob der Benutzer Zugriff auf das Internet oder nur einen "
-"anbieterspezifischen ummauerten Garten hat. Daher ist es wichtig, den "
-"richtigen APN für den mobilen Breitbandplan des Benutzers zu verwenden. Der "
-"APN darf nur aus den Zeichen az, 0-9,. Und - nach GSM 03.60 Abschnitt 14.9 "
-"bestehen."
+"will be billed for their network usage and whether the user has access to the "
+"Internet or just a provider-specific walled-garden, so it is important to use "
+"the correct APN for the user's mobile broadband plan. The APN may only be "
+"composed of the characters a-z, 0-9, ., and - per GSM 03.60 Section 14.9. If "
+"the APN is unset (the default) then it may be detected based on \"auto-"
+"config\" setting. The property can be explicitly set to the empty string to "
+"prevent that and use no APN."
+msgstr ""
+"Der GPRS-Zugangspunktname, der den APN angibt, der beim Aufbau einer "
+"Datensitzung mit dem GSM-basierten Netz verwendet wird. Der APN bestimmt "
+"häufig, wie dem Benutzer die Netznutzung in Rechnung gestellt wird und ob er "
+"Zugang zum Internet oder nur zu einem anbieterspezifischen geschlossenen "
+"Plattform hat, daher ist es wichtig, den richtigen APN für den mobilen "
+"Breitbandplan des Benutzers zu verwenden. Der APN darf gemäß GSM 03.60 "
+"Abschnitt 14.9 nur aus den Zeichen a-z, 0-9, . und - bestehen."
-#: src/libnmc-setting/settings-docs.h.in:141
+#: src/libnmc-setting/settings-docs.h.in:143
msgid ""
"When TRUE, the settings such as APN, username, or password will default to "
"values that match the network the modem will register to in the Mobile "
"Broadband Provider database."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:142
+#: src/libnmc-setting/settings-docs.h.in:144
msgid ""
"The device unique identifier (as given by the WWAN management service) which "
"this connection applies to. If given, the connection will only apply to the "
"specified device."
msgstr ""
-"Die eindeutige ID des Geräts (wie vom WWAN-Verwaltungsdienst angegeben), für "
-"die diese Verbindung gilt. Wenn angegeben, gilt die Verbindung nur für das "
+"Die eindeutige Gerätekennung (wie vom WWAN-Verwaltungsdienst angegeben), für "
+"die diese Verbindung gilt. Falls angegeben, gilt die Verbindung nur für das "
"angegebene Gerät."
-#: src/libnmc-setting/settings-docs.h.in:143
+#: src/libnmc-setting/settings-docs.h.in:145
msgid ""
"When TRUE, only connections to the home network will be allowed. Connections "
"to roaming networks will not be made."
msgstr ""
-"Wenn TRUE, sind nur Verbindungen zum Heimnetzwerk zulässig. Verbindungen zu "
-"Roaming-Netzwerken werden nicht hergestellt."
+"Wenn TRUE, werden nur Verbindungen zum Heimnetzwerk zugelassen. Verbindungen "
+"zu Roaming-Netzwerken werden nicht hergestellt."
-#: src/libnmc-setting/settings-docs.h.in:145
+#: src/libnmc-setting/settings-docs.h.in:146
msgid ""
-"The Network ID (GSM LAI format, ie MCC-MNC) to force specific network "
-"registration. If the Network ID is specified, NetworkManager will attempt "
-"to force the device to register only on the specified network. This can be "
-"used to ensure that the device does not roam when direct roaming control of "
-"the device is not otherwise possible."
-msgstr ""
-"Die Netzwerk-ID (GSM LAI-Format, dh MCC-MNC), um eine spezifische "
-"Netzwerkregistrierung zu erzwingen. Wenn die Netzwerk-ID angegeben ist, "
-"versucht NetworkManager, das Gerät zur Registrierung nur im angegebenen "
-"Netzwerk zu zwingen. Dies kann verwendet werden, um sicherzustellen, dass "
-"das Gerät nicht durchstreift, wenn eine direkte Roaming-Steuerung des Geräts "
-"nicht anderweitig möglich ist."
+"For LTE modems, this sets the APN for the initial EPS bearer that is set up "
+"when attaching to the network. Setting this parameter implies initial-eps-"
+"bearer-configure to be TRUE."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:146
+#: src/libnmc-setting/settings-docs.h.in:147
msgid ""
-"Legacy setting that used to help establishing PPP data sessions for GSM-"
-"based modems. Deprecated: 1"
+"For LTE modems, this setting determines whether the initial EPS bearer shall "
+"be configured when bringing up the connection. It is inferred TRUE if initial-"
+"eps-bearer-apn is set."
msgstr ""
-"Nummer, die beim Aufbau einer PPP-Datensitzung mit dem GSM-basierten mobilen "
-"Breitbandnetz gewählt wird. Viele Modems erfordern kein PPP für Verbindungen "
-"mit dem Mobilfunknetz. Daher sollte diese Eigenschaft leer bleiben, damit "
-"NetworkManager die entsprechenden Einstellungen automatisch auswählen kann."
#: src/libnmc-setting/settings-docs.h.in:149
msgid ""
+"The Network ID (GSM LAI format, ie MCC-MNC) to force specific network "
+"registration. If the Network ID is specified, NetworkManager will attempt to "
+"force the device to register only on the specified network. This can be used "
+"to ensure that the device does not roam when direct roaming control of the "
+"device is not otherwise possible."
+msgstr ""
+"Die Netzwerkkennung (GSM LAI-Format, also MCC-MNC), um eine bestimmte "
+"Netzwerkregistrierung zu erzwingen. Wenn die Netzwerkkennung angegeben wird, "
+"versucht NetworkManager, das Gerät zu zwingen, sich nur in dem angegebenen "
+"Netzwerk zu registrieren. Dies kann verwendet werden, um sicherzustellen, dass "
+"das Gerät nicht roamt, wenn eine direkte Roaming-Kontrolle des Geräts sonst "
+"nicht möglich ist."
+
+#: src/libnmc-setting/settings-docs.h.in:150
+msgid ""
+"Legacy setting that used to help establishing PPP data sessions for GSM-based "
+"modems."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:153
+msgid ""
"If the SIM is locked with a PIN it must be unlocked before any other "
"operations are requested. Specify the PIN here to allow operation of the "
"device."
msgstr ""
"Wenn die SIM-Karte mit einer PIN gesperrt ist, muss sie entsperrt werden, "
-"bevor andere Operationen angefordert werden. Geben Sie hier die PIN an, um "
-"den Betrieb des Geräts zu ermöglichen."
+"bevor andere Vorgänge angefordert werden. Geben Sie hier die PIN ein, um den "
+"Betrieb des Geräts zu ermöglichen."
-#: src/libnmc-setting/settings-docs.h.in:151
+#: src/libnmc-setting/settings-docs.h.in:155
msgid ""
-"The SIM card unique identifier (as given by the WWAN management service) "
-"which this connection applies to. If given, the connection will apply to "
-"any device also allowed by \"device-id\" which contains a SIM card matching "
-"the given identifier."
+"The SIM card unique identifier (as given by the WWAN management service) which "
+"this connection applies to. If given, the connection will apply to any device "
+"also allowed by \"device-id\" which contains a SIM card matching the given "
+"identifier."
msgstr ""
-"Die eindeutige ID der SIM-Karte (wie vom WWAN-Verwaltungsdienst angegeben), "
-"für die diese Verbindung gilt. Wenn angegeben, gilt die Verbindung für jedes "
-"Gerät, das auch von \"Geräte-ID\" zugelassen ist, das eine SIM-Karte "
-"enthält, die mit der angegebenen Kennung übereinstimmt."
+"Die eindeutige Kennung der SIM-Karte (wie vom WWAN-Verwaltungsdienst "
+"angegeben), für die diese Verbindung gilt. Falls angegeben, gilt die "
+"Verbindung für jedes Gerät, das auch durch »device-id« zugelassen ist und eine "
+"SIM-Karte mit der angegebenen Kennung enthält."
-#: src/libnmc-setting/settings-docs.h.in:152
+#: src/libnmc-setting/settings-docs.h.in:156
msgid ""
-"A MCC/MNC string like \"310260\" or \"21601\" identifying the specific "
-"mobile network operator which this connection applies to. If given, the "
-"connection will apply to any device also allowed by \"device-id\" and \"sim-"
-"id\" which contains a SIM card provisioned by the given operator."
+"A MCC/MNC string like \"310260\" or \"21601\" identifying the specific mobile "
+"network operator which this connection applies to. If given, the connection "
+"will apply to any device also allowed by \"device-id\" and \"sim-id\" which "
+"contains a SIM card provisioned by the given operator."
msgstr ""
-"Eine MCC / MNC-Zeichenfolge wie \"310260\" oder \"21601\", die den "
-"spezifischen Mobilfunknetzbetreiber identifiziert, für den diese Verbindung "
-"gilt. Wenn angegeben, gilt die Verbindung für jedes Gerät, das auch von "
-"\"device-id\" und \"sim-id\" zugelassen ist und eine vom jeweiligen "
-"Betreiber bereitgestellte SIM-Karte enthält."
+"Eine MCC/MNC-Zeichenfolge wie »310260« oder »21601«, die den spezifischen "
+"Mobilfunknetzbetreiber angibt, für den diese Verbindung gilt. Falls "
+"angegeben, gilt die Verbindung für jedes Gerät, das auch durch »device-id« und "
+"»sim-id« zugelassen ist und eine vom angegebenen Betreiber bereitgestellte SIM-"
+"Karte enthält."
-#: src/libnmc-setting/settings-docs.h.in:154
+#: src/libnmc-setting/settings-docs.h.in:158
msgid ""
"If specified, this connection will only apply to the IPoIB device whose "
"permanent MAC address matches. This property does not change the MAC address "
@@ -7764,170 +7830,158 @@ msgid ""
msgstr ""
"Falls angegeben, gilt diese Verbindung nur für das IPoIB-Gerät, dessen "
"permanente MAC-Adresse übereinstimmt. Diese Eigenschaft ändert nicht die MAC-"
-"Adresse des Geräts (z. B. MAC-Spoofing)."
+"Adresse des Geräts (d. h. MAC-Spoofing)."
-#: src/libnmc-setting/settings-docs.h.in:156
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:160
msgid ""
-"The InfiniBand P_Key to use for this device. A value of -1 means to use the "
-"default P_Key (aka \"the P_Key at index 0\"). Otherwise, it is a 16-bit "
-"unsigned integer, whose high bit is set if it is a \"full membership\" P_Key."
+"The InfiniBand p-key to use for this device. A value of -1 means to use the "
+"default p-key (aka \"the p-key at index 0\"). Otherwise, it is a 16-bit "
+"unsigned integer, whose high bit 0x8000 is set if it is a \"full membership\" "
+"p-key. The values 0 and 0x8000 are not allowed. With the p-key set, the "
+"interface name is always \"$parent.$p_key\". Setting \"connection.interface-"
+"name\" to another name is not supported. Note that kernel will internally "
+"always set the full membership bit, although the interface name does not "
+"reflect that. Usually the user would want to configure a full membership p-key "
+"with 0x8000 flag set."
msgstr ""
-"Der InfiniBand P_Key, der für dieses Gerät verwendet werden soll. Ein Wert "
-"von -1 bedeutet, den Standard-P_Key zu verwenden (auch bekannt als \"der "
-"P_Key bei Index 0\"). Andernfalls ist es eine 16-Bit-Ganzzahl ohne "
-"Vorzeichen, deren Hochbit gesetzt wird, wenn es sich um eine "
-"\"Vollmitgliedschaft\" P_Key handelt."
-#: src/libnmc-setting/settings-docs.h.in:157
+#: src/libnmc-setting/settings-docs.h.in:161
msgid ""
-"The interface name of the parent device of this device. Normally NULL, but "
-"if the \"p_key\" property is set, then you must specify the base device by "
+"The interface name of the parent device of this device. Normally NULL, but if "
+"the \"p_key\" property is set, then you must specify the base device by "
"setting either this property or \"mac-address\"."
msgstr ""
-"Der Schnittstellenname des übergeordneten Geräts dieses Geräts. "
-"Normalerweise NULL, aber wenn die Eigenschaft \"p_key\" festgelegt ist, "
-"müssen Sie das Basisgerät angeben, indem Sie entweder diese Eigenschaft oder "
-"\"mac-address\" festlegen."
+"Der Schnittstellenname des übergeordneten Geräts dieses Geräts. Normalerweise "
+"NULL, aber wenn die Eigenschaft »p_key« gesetzt ist, müssen Sie das Basisgerät "
+"angeben, indem Sie entweder diese Eigenschaft oder »mac-address« setzen."
-#: src/libnmc-setting/settings-docs.h.in:158
+#: src/libnmc-setting/settings-docs.h.in:162
msgid ""
"The IP-over-InfiniBand transport mode. Either \"datagram\" or \"connected\"."
msgstr ""
"Der IP-over-InfiniBand Transportmodus. Ist entweder »datagram« oder "
"»connected«."
-#: src/libnmc-setting/settings-docs.h.in:159
+#: src/libnmc-setting/settings-docs.h.in:163
msgid ""
"A list of IPv4 addresses and their prefix length. Multiple addresses can be "
-"separated by comma. For example \"192.168.1.5/24, 10.1.0.5/24\". The "
-"addresses are listed in decreasing priority, meaning the first address will "
-"be the primary address."
+"separated by comma. For example \"192.168.1.5/24, 10.1.0.5/24\". The addresses "
+"are listed in decreasing priority, meaning the first address will be the "
+"primary address."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:160
-#: src/libnmc-setting/settings-docs.h.in:188
+#: src/libnmc-setting/settings-docs.h.in:164
+#: src/libnmc-setting/settings-docs.h.in:194
msgid ""
-"Timeout in milliseconds used to check for the presence of duplicate IP "
-"addresses on the network. If an address conflict is detected, the "
-"activation will fail. A zero value means that no duplicate address "
-"detection is performed, -1 means the default value (either configuration "
-"ipvx.dad-timeout override or zero). A value greater than zero is a timeout "
-"in milliseconds. The property is currently implemented only for IPv4."
+"VPN connections will default to add the route automatically unless this "
+"setting is set to FALSE. For other connection types, adding such an automatic "
+"route is currently not supported and setting this to TRUE has no effect."
msgstr ""
-"Timeout in Millisekunden, mit dem nach doppelten IP-Adressen im Netzwerk "
-"gesucht wird Wenn ein Adresskonflikt erkannt wird, schlägt die Aktivierung "
-"fehl. Ein Wert von Null bedeutet, dass keine doppelte Adressenerkennung "
-"durchgeführt wird, -1 bedeutet den Standardwert (entweder Konfiguration ipvx."
-"dad-timeout override oder Null). Ein Wert größer als Null ist ein Timeout in "
-"Millisekunden. Die Eigenschaft wird derzeit nur für IPv4 implementiert."
-#: src/libnmc-setting/settings-docs.h.in:161
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:165
+#: src/libnmc-setting/settings-docs.h.in:195
msgid ""
-"A string sent to the DHCP server to identify the local machine which the "
-"DHCP server may use to customize the DHCP lease and options. When the "
-"property is a hex string ('aa:bb:cc') it is interpreted as a binary client "
-"ID, in which case the first byte is assumed to be the 'type' field as per "
-"RFC 2132 section 9.14 and the remaining bytes may be an hardware address (e."
-"g. '01:xx:xx:xx:xx:xx:xx' where 1 is the Ethernet ARP type and the rest is a "
-"MAC address). If the property is not a hex string it is considered as a non-"
-"hardware-address client ID and the 'type' field is set to 0. The special "
-"values \"mac\" and \"perm-mac\" are supported, which use the current or "
-"permanent MAC address of the device to generate a client identifier with "
-"type ethernet (01). Currently, these options only work for ethernet type of "
-"links. The special value \"ipv6-duid\" uses the DUID from \"ipv6.dhcp-duid\" "
-"property as an RFC4361-compliant client identifier. As IAID it uses \"ipv4."
-"dhcp-iaid\" and falls back to \"ipv6.dhcp-iaid\" if unset. The special value "
-"\"duid\" generates a RFC4361-compliant client identifier based on \"ipv4."
-"dhcp-iaid\" and uses a DUID generated by hashing /etc/machine-id. The "
-"special value \"stable\" is supported to generate a type 0 client identifier "
-"based on the stable-id (see connection.stable-id) and a per-host key. If you "
-"set the stable-id, you may want to include the \"${DEVICE}\" or \"${MAC}\" "
-"specifier to get a per-device key. If unset, a globally configured default "
-"is used. If still unset, the default depends on the DHCP plugin."
-msgstr ""
-"Eine Zeichenfolge, die an den DHCP-Server gesendet wird, um den lokalen "
-"Computer zu identifizieren, den der DHCP-Server zum Anpassen der DHCP-Lease "
-"und der Optionen verwenden kann. Wenn die Eigenschaft eine hexadezimale "
-"Zeichenfolge ('aa: bb: cc') ist, wird sie als binäre Client-ID "
-"interpretiert. In diesem Fall wird das erste Byte als das 'type'-Feld gemäß "
-"RFC 2132, Abschnitt 9.14, und den verbleibenden Bytes angenommen kann eine "
-"Hardware-Adresse sein (zB '01: xx: xx: xx: xx: xx: xx ', wobei 1 der "
-"Ethernet-ARP-Typ ist und der Rest eine MAC-Adresse ist). Wenn die "
-"Eigenschaft keine hexadezimale Zeichenfolge ist, wird sie als Client-ID ohne "
-"Hardwareadresse betrachtet, und das Feld \"type\" wird auf 0 gesetzt. Es "
-"werden die speziellen Werte \"mac\" und \"perm-mac\" unterstützt, die den "
-"aktuellen Wert verwenden oder permanente MAC-Adresse des Geräts, um eine "
-"Client-ID mit dem Typ Ethernet (01) zu generieren. Derzeit funktionieren "
-"diese Optionen nur für Ethernet-Verbindungen. Der spezielle Wert \"stable\" "
-"wird unterstützt, um eine Client-ID des Typs 0 basierend auf der stable-id "
-"(siehe connection.stable-id) und einem pro-Host-Schlüssel zu generieren. "
-"Wenn nicht festgelegt, wird ein global konfigurierter Standardwert "
-"verwendet. Wenn noch nicht festgelegt, wird die Client-ID aus der letzten "
-"Lease wiederverwendet."
+"Maximum timeout in milliseconds used to check for the presence of duplicate IP "
+"addresses on the network. If an address conflict is detected, the activation "
+"will fail. The property is currently implemented only for IPv4. A zero value "
+"means that no duplicate address detection is performed, -1 means the default "
+"value (either the value configured globally in NetworkManger.conf or 200ms). "
+"A value greater than zero is a timeout in milliseconds. Note that the time "
+"intervals are subject to randomization as per RFC 5227 and so the actual "
+"duration can be between half and the full time specified in this property."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:162
+#: src/libnmc-setting/settings-docs.h.in:166
+msgid ""
+"A string sent to the DHCP server to identify the local machine which the DHCP "
+"server may use to customize the DHCP lease and options. When the property is a "
+"hex string ('aa:bb:cc') it is interpreted as a binary client ID, in which case "
+"the first byte is assumed to be the 'type' field as per RFC 2132 section 9.14 "
+"and the remaining bytes may be an hardware address (e.g. '01:xx:xx:xx:xx:xx:"
+"xx' where 1 is the Ethernet ARP type and the rest is a MAC address). If the "
+"property is not a hex string it is considered as a non-hardware-address client "
+"ID and the 'type' field is set to 0. The special values \"mac\" and \"perm-"
+"mac\" are supported, which use the current or permanent MAC address of the "
+"device to generate a client identifier with type ethernet (01). Currently, "
+"these options only work for ethernet type of links. The special value \"ipv6-"
+"duid\" uses the DUID from \"ipv6.dhcp-duid\" property as an RFC4361-compliant "
+"client identifier. As IAID it uses \"ipv4.dhcp-iaid\" and falls back to \"ipv6."
+"dhcp-iaid\" if unset. The special value \"duid\" generates a RFC4361-compliant "
+"client identifier based on \"ipv4.dhcp-iaid\" and uses a DUID generated by "
+"hashing /etc/machine-id. The special value \"stable\" is supported to generate "
+"a type 0 client identifier based on the stable-id (see connection.stable-id) "
+"and a per-host key. If you set the stable-id, you may want to include the "
+"\"${DEVICE}\" or \"${MAC}\" specifier to get a per-device key. The special "
+"value \"none\" prevents any client identifier from being sent. Note that this "
+"is normally not recommended. If unset, a globally configured default from "
+"NetworkManager.conf is used. If still unset, the default depends on the DHCP "
+"plugin. The internal dhcp client will default to \"mac\" and the dhclient "
+"plugin will try to use one from its config file if present, or won't sent any "
+"client-id otherwise."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:167
msgid ""
"If the \"dhcp-send-hostname\" property is TRUE, then the specified FQDN will "
"be sent to the DHCP server when acquiring a lease. This property and \"dhcp-"
"hostname\" are mutually exclusive and cannot be set at the same time."
msgstr ""
-"Wenn die Eigenschaft \"dhcp-send-hostname\" den Wert TRUE hat, wird der "
-"angegebene FQDN beim Erwerb einer Lease an den DHCP-Server gesendet. Diese "
-"Eigenschaft und \"dhcp-hostname\" schließen sich gegenseitig aus und können "
-"nicht gleichzeitig festgelegt werden."
+"Wenn die Eigenschaft »dhcp-send-hostname« TRUE ist, wird der angegebene FQDN "
+"an den DHCP-Server gesendet, wenn ein Lease eingeholt wird. Diese Eigenschaft "
+"und »dhcp-hostname« schließen sich gegenseitig aus und können nicht "
+"gleichzeitig gesetzt werden."
-#: src/libnmc-setting/settings-docs.h.in:163
-#: src/libnmc-setting/settings-docs.h.in:190
+#: src/libnmc-setting/settings-docs.h.in:168
+#: src/libnmc-setting/settings-docs.h.in:197
msgid ""
"If the \"dhcp-send-hostname\" property is TRUE, then the specified name will "
"be sent to the DHCP server when acquiring a lease. This property and \"dhcp-"
"fqdn\" are mutually exclusive and cannot be set at the same time."
msgstr ""
-"Wenn die Eigenschaft \"dhcp-send-hostname\" den Wert TRUE hat, wird der "
-"angegebene Name beim Erwerb einer Lease an den DHCP-Server gesendet. Diese "
-"Eigenschaft und \"dhcp-fqdn\" schließen sich gegenseitig aus und können "
-"nicht gleichzeitig festgelegt werden."
+"Wenn die Eigenschaft »dhcp-send-hostname« TRUE ist, wird der angegebene Name "
+"an den DHCP-Server gesendet, wenn ein Lease eingeholt wird. Diese Eigenschaft "
+"und »dhcp-fqdn« schließen sich gegenseitig aus und können nicht gleichzeitig "
+"gesetzt werden."
-#: src/libnmc-setting/settings-docs.h.in:164
-#: src/libnmc-setting/settings-docs.h.in:191
+#: src/libnmc-setting/settings-docs.h.in:169
+#: src/libnmc-setting/settings-docs.h.in:198
msgid ""
"Flags for the DHCP hostname and FQDN. Currently, this property only includes "
"flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN "
-"flags are NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), "
-"NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) and "
-"NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE (0x4). When no FQDN flag is set and "
-"NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is set, the DHCP FQDN option "
-"will contain no flag. Otherwise, if no FQDN flag is set and "
-"NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is not set, the standard FQDN "
-"flags are set in the request: NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), "
-"NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) for IPv4 and "
-"NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1) for IPv6. When this property is "
-"set to the default value NM_DHCP_HOSTNAME_FLAG_NONE (0x0), a global default "
-"is looked up in NetworkManager configuration. If that value is unset or also "
-"NM_DHCP_HOSTNAME_FLAG_NONE (0x0), then the standard FQDN flags described "
-"above are sent in the DHCP requests."
+"flags are \"fqdn-serv-update\" (0x1), \"fqdn-encoded\" (0x2) and \"fqdn-no-"
+"update\" (0x4). When no FQDN flag is set and \"fqdn-clear-flags\" (0x8) is "
+"set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is "
+"set and \"fqdn-clear-flags\" (0x8) is not set, the standard FQDN flags are set "
+"in the request: \"fqdn-serv-update\" (0x1), \"fqdn-encoded\" (0x2) for IPv4 "
+"and \"fqdn-serv-update\" (0x1) for IPv6. When this property is set to the "
+"default value \"none\" (0x0), a global default is looked up in NetworkManager "
+"configuration. If that value is unset or also \"none\" (0x0), then the "
+"standard FQDN flags described above are sent in the DHCP requests."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:165
-#: src/libnmc-setting/settings-docs.h.in:192
+#: src/libnmc-setting/settings-docs.h.in:170
+#: src/libnmc-setting/settings-docs.h.in:199
msgid ""
-"A string containing the \"Identity Association Identifier\" (IAID) used by "
-"the DHCP client. The property is a 32-bit decimal value or a special value "
-"among \"mac\", \"perm-mac\", \"ifname\" and \"stable\". When set to "
-"\"mac\" (or \"perm-mac\"), the last 4 bytes of the current (or permanent) "
-"MAC address are used as IAID. When set to \"ifname\", the IAID is computed "
-"by hashing the interface name. The special value \"stable\" can be used to "
-"generate an IAID based on the stable-id (see connection.stable-id), a per-"
-"host key and the interface name. When the property is unset, the value from "
-"global configuration is used; if no global default is set then the IAID is "
-"assumed to be \"ifname\". Note that at the moment this property is ignored "
-"for IPv6 by dhclient, which always derives the IAID from the MAC address."
+"A string containing the \"Identity Association Identifier\" (IAID) used by the "
+"DHCP client. The string can be a 32-bit number (either decimal, hexadecimal or "
+"as colon separated hexadecimal numbers). Alternatively it can be set to the "
+"special values \"mac\", \"perm-mac\", \"ifname\" or \"stable\". When set to "
+"\"mac\" (or \"perm-mac\"), the last 4 bytes of the current (or permanent) MAC "
+"address are used as IAID. When set to \"ifname\", the IAID is computed by "
+"hashing the interface name. The special value \"stable\" can be used to "
+"generate an IAID based on the stable-id (see connection.stable-id), a per-host "
+"key and the interface name. When the property is unset, the value from global "
+"configuration is used; if no global default is set then the IAID is assumed to "
+"be \"ifname\". For DHCPv4, the IAID is only used with \"ipv4.dhcp-client-id\" "
+"values \"duid\" and \"ipv6-duid\" to generate the client-id. For DHCPv6, note "
+"that at the moment this property is only supported by the \"internal\" DHCPv6 "
+"plugin. The \"dhclient\" DHCPv6 plugin always derives the IAID from the MAC "
+"address. The actually used DHCPv6 IAID for a currently activated interface is "
+"exposed in the lease information of the device."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:166
-#: src/libnmc-setting/settings-docs.h.in:193
+#: src/libnmc-setting/settings-docs.h.in:171
+#: src/libnmc-setting/settings-docs.h.in:201
msgid ""
"Array of servers from which DHCP offers must be rejected. This property is "
"useful to avoid getting a lease from misconfigured or rogue servers. For "
@@ -7936,329 +7990,280 @@ msgid ""
"not implemented for DHCPv6."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:167
-#: src/libnmc-setting/settings-docs.h.in:194
+#: src/libnmc-setting/settings-docs.h.in:172
+#: src/libnmc-setting/settings-docs.h.in:202
msgid ""
"If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some "
-"DHCP servers use this hostname to update DNS databases, essentially "
-"providing a static hostname for the computer. If the \"dhcp-hostname\" "
-"property is NULL and this property is TRUE, the current persistent hostname "
-"of the computer is sent."
-msgstr ""
-"Wenn TRUE, wird beim Erwerb einer Lease ein Hostname an den DHCP-Server "
-"gesendet. Einige DHCP-Server verwenden diesen Hostnamen zum Aktualisieren "
-"von DNS-Datenbanken, wobei im Wesentlichen ein statischer Hostname für den "
-"Computer bereitgestellt wird. Wenn die Eigenschaft \"dhcp-hostname\" NULL "
-"ist und diese Eigenschaft TRUE ist, wird der aktuelle persistente Hostname "
-"des Computers gesendet."
+"DHCP servers use this hostname to update DNS databases, essentially providing "
+"a static hostname for the computer. If the \"dhcp-hostname\" property is NULL "
+"and this property is TRUE, the current persistent hostname of the computer is "
+"sent."
+msgstr ""
+"Wenn TRUE, wird ein Hostname an den DHCP-Server gesendet, wenn ein Lease "
+"eingeholt wird. Einige DHCP-Server verwenden diesen Hostnamen, um DNS-"
+"Datenbanken zu aktualisieren, wodurch im Wesentlichen ein statischer Hostname "
+"für den Rechner bereitgestellt wird. Wenn die Eigenschaft »dhcp-hostname« "
+"NULL und diese Eigenschaft TRUE ist, wird der aktuelle dauerhafte Hostname des "
+"Rechners gesendet."
-#: src/libnmc-setting/settings-docs.h.in:168
-#: src/libnmc-setting/settings-docs.h.in:195
+#: src/libnmc-setting/settings-docs.h.in:173
+#: src/libnmc-setting/settings-docs.h.in:203
msgid ""
-"A timeout for a DHCP transaction in seconds. If zero (the default), a "
-"globally configured default is used. If still unspecified, a device specific "
-"timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for "
-"infinity."
+"A timeout for a DHCP transaction in seconds. If zero (the default), a globally "
+"configured default is used. If still unspecified, a device specific timeout is "
+"used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:169
+#: src/libnmc-setting/settings-docs.h.in:174
msgid ""
"The Vendor Class Identifier DHCP option (60). Special characters in the data "
-"string may be escaped using C-style escapes, nevertheless this property "
-"cannot contain nul bytes. If the per-profile value is unspecified (the "
-"default), a global connection default gets consulted. If still unspecified, "
-"the DHCP option is not sent to the server. Since 1.28"
+"string may be escaped using C-style escapes, nevertheless this property cannot "
+"contain nul bytes. If the per-profile value is unspecified (the default), a "
+"global connection default gets consulted. If still unspecified, the DHCP "
+"option is not sent to the server."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:170
-#: src/libnmc-setting/settings-docs.h.in:196
-msgid "Array of IP addresses of DNS servers."
-msgstr "Feld mit IP-Adressen der DNS-Server."
+#: src/libnmc-setting/settings-docs.h.in:175
+#: src/libnmc-setting/settings-docs.h.in:204
+msgid ""
+"Array of IP addresses of DNS servers. For DoT (DNS over TLS), the SNI server "
+"name can be specified by appending \"#example.com\" to the IP address of the "
+"DNS server. This currently only has effect when using systemd-resolved."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:171
-#: src/libnmc-setting/settings-docs.h.in:197
+#: src/libnmc-setting/settings-docs.h.in:176
msgid ""
-"Array of DNS options as described in man 5 resolv.conf. NULL means that the "
-"options are unset and left at the default. In this case NetworkManager will "
-"use default options. This is distinct from an empty list of properties. The "
-"currently supported options are \"attempts\", \"debug\", \"edns0\", "
-"\"inet6\", \"ip6-bytestring\", \"ip6-dotint\", \"ndots\", \"no-check-"
-"names\", \"no-ip6-dotint\", \"no-reload\", \"no-tld-query\", \"rotate\", "
+"DNS options for /etc/resolv.conf as described in resolv.conf(5) manual. The "
+"currently supported options are \"attempts\", \"debug\", \"edns0\", \"ndots\", "
+"\"no-aaaa\", \"no-check-names\", \"no-reload\", \"no-tld-query\", \"rotate\", "
"\"single-request\", \"single-request-reopen\", \"timeout\", \"trust-ad\", "
-"\"use-vc\". The \"trust-ad\" setting is only honored if the profile "
-"contributes name servers to resolv.conf, and if all contributing profiles "
-"have \"trust-ad\" enabled. When using a caching DNS plugin (dnsmasq or "
-"systemd-resolved in NetworkManager.conf) then \"edns0\" and \"trust-ad\" are "
-"automatically added."
+"\"use-vc\". See the resolv.conf(5) manual. Note that there is a distinction "
+"between an unset (default) list and an empty list. In nmcli, to unset the list "
+"set the value to \"\". To set an empty list, set it to \" \". Currently, an "
+"unset list has the same meaning as an empty list. That might change in the "
+"future. The \"trust-ad\" setting is only honored if the profile contributes "
+"name servers to resolv.conf, and if all contributing profiles have \"trust-"
+"ad\" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in "
+"NetworkManager.conf) then \"edns0\" and \"trust-ad\" are automatically added. "
+"The valid \"ipv4.dns-options\" and \"ipv6.dns-options\" get merged together."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:172
-#: src/libnmc-setting/settings-docs.h.in:198
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:177
+#: src/libnmc-setting/settings-docs.h.in:206
msgid ""
-"DNS servers priority. The relative priority for DNS servers specified by "
-"this setting. A lower numerical value is better (higher priority). Negative "
-"values have the special effect of excluding other configurations with a "
-"greater numerical priority value; so in presence of at least one negative "
-"priority, only DNS servers from connections with the lowest priority value "
-"will be used. To avoid all DNS leaks, set the priority of the profile that "
-"should be used to the most negative value of all active connections "
-"profiles. Zero selects a globally configured default value. If the latter is "
-"missing or zero too, it defaults to 50 for VPNs (including WireGuard) and "
-"100 for other connections. Note that the priority is to order DNS settings "
-"for multiple active connections. It does not disambiguate multiple DNS "
-"servers within the same connection profile. When multiple devices have "
-"configurations with the same priority, VPNs will be considered first, then "
-"devices with the best (lowest metric) default route and then all other "
-"devices. When using dns=default, servers with higher priority will be on top "
-"of resolv.conf. To prioritize a given server over another one within the "
-"same connection, just specify them in the desired order. Note that commonly "
-"the resolver tries name servers in /etc/resolv.conf in the order listed, "
-"proceeding with the next server in the list on failure. See for example the "
-"\"rotate\" option of the dns-options setting. If there are any negative DNS "
-"priorities, then only name servers from the devices with that lowest "
-"priority will be considered. When using a DNS resolver that supports "
-"Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-"
-"resolved settings), each connection is used to query domains in its search "
-"list. The search domains determine which name servers to ask, and the DNS "
-"priority is used to prioritize name servers based on the domain. Queries "
-"for domains not present in any search list are routed through connections "
-"having the '~.' special wildcard domain, which is added automatically to "
-"connections with the default route (or can be added manually). When "
-"multiple connections specify the same domain, the one with the best priority "
-"(lowest numerical value) wins. If a sub domain is configured on another "
-"interface it will be accepted regardless the priority, unless parent domain "
-"on the other interface has a negative priority, which causes the sub domain "
-"to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly "
-"configuring DNS priorities and the search domains, so that only name servers "
-"of the desired interface are configured."
-msgstr ""
-"Priorität der DNS-Server Die relative Priorität für DNS-Server, die durch "
-"diese Einstellung angegeben wird. Ein niedrigerer Wert ist besser (höhere "
-"Priorität). Null wählt den Standardwert aus, der für VPNs 50 und für andere "
-"Verbindungen 100 ist. Beachten Sie, dass die Priorität darin besteht, die "
-"DNS-Einstellungen für mehrere aktive Verbindungen zu ordnen. Es werden nicht "
-"mehrere DNS-Server innerhalb desselben Verbindungsprofils unterschieden. Bei "
-"Verwendung von dns = default werden Server mit höherer Priorität zusätzlich "
-"zu resolv.conf angezeigt. Um einen bestimmten Server gegenüber einem anderen "
-"Server in derselben Verbindung zu priorisieren, geben Sie ihn einfach in der "
-"gewünschten Reihenfolge an. Wenn mehrere Geräte über Konfigurationen mit "
-"derselben Priorität verfügen, wird das Gerät mit einer aktiven Standardroute "
-"bevorzugt. Negative Werte haben den besonderen Effekt, dass andere "
-"Konfigurationen mit einem höheren Prioritätswert ausgeschlossen werden. Bei "
-"einer negativen Priorität werden daher nur DNS-Server von Verbindungen mit "
-"dem niedrigsten Prioritätswert verwendet. Wenn Sie einen DNS-Auflöser "
-"verwenden, der Split-DNS als dns = dnsmasq oder dns = systemd-resolution "
-"unterstützt, wird jede Verbindung zur Abfrage von Domänen in ihrer Suchliste "
-"verwendet. Abfragen für Domänen, die in keiner Suchliste vorhanden sind, "
-"werden über Verbindungen mit dem ''~.' special wildcard domain, which is "
-"added automatically to connections with the default route (or can be added "
+"DNS servers priority. The relative priority for DNS servers specified by this "
+"setting. A lower numerical value is better (higher priority). Negative values "
+"have the special effect of excluding other configurations with a greater "
+"numerical priority value; so in presence of at least one negative priority, "
+"only DNS servers from connections with the lowest priority value will be used. "
+"To avoid all DNS leaks, set the priority of the profile that should be used to "
+"the most negative value of all active connections profiles. Zero selects a "
+"globally configured default value. If the latter is missing or zero too, it "
+"defaults to 50 for VPNs (including WireGuard) and 100 for other connections. "
+"Note that the priority is to order DNS settings for multiple active "
+"connections. It does not disambiguate multiple DNS servers within the same "
+"connection profile. When multiple devices have configurations with the same "
+"priority, VPNs will be considered first, then devices with the best (lowest "
+"metric) default route and then all other devices. When using dns=default, "
+"servers with higher priority will be on top of resolv.conf. To prioritize a "
+"given server over another one within the same connection, just specify them in "
+"the desired order. Note that commonly the resolver tries name servers in /etc/"
+"resolv.conf in the order listed, proceeding with the next server in the list "
+"on failure. See for example the \"rotate\" option of the dns-options setting. "
+"If there are any negative DNS priorities, then only name servers from the "
+"devices with that lowest priority will be considered. When using a DNS "
+"resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq "
+"or dns=systemd-resolved settings), each connection is used to query domains in "
+"its search list. The search domains determine which name servers to ask, and "
+"the DNS priority is used to prioritize name servers based on the domain. "
+"Queries for domains not present in any search list are routed through "
+"connections having the '~.' special wildcard domain, which is added "
+"automatically to connections with the default route (or can be added "
"manually). When multiple connections specify the same domain, the one with "
-"the highest priority (lowest numerical value) wins. If a connection "
-"specifies a domain which is subdomain of another domain with a negative DNS "
-"priority value, the subdomain is ignored."
+"the best priority (lowest numerical value) wins. If a sub domain is "
+"configured on another interface it will be accepted regardless the priority, "
+"unless parent domain on the other interface has a negative priority, which "
+"causes the sub domain to be shadowed. With Split DNS one can avoid undesired "
+"DNS leaks by properly configuring DNS priorities and the search domains, so "
+"that only name servers of the desired interface are configured."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:173
-#: src/libnmc-setting/settings-docs.h.in:199
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:178
+#: src/libnmc-setting/settings-docs.h.in:207
msgid ""
-"List of DNS search domains. Domains starting with a tilde ('~') are "
-"considered 'routing' domains and are used only to decide the interface over "
-"which a query must be forwarded; they are not used to complete unqualified "
-"host names. When using a DNS plugin that supports Conditional Forwarding or "
-"Split DNS, then the search domains specify which name servers to query. This "
-"makes the behavior different from running with plain /etc/resolv.conf. For "
-"more information see also the dns-priority setting. When set on a profile "
-"that also enabled DHCP, the DNS search list received automatically (option "
-"119 for DHCPv4 and option 24 for DHCPv6) gets merged with the manual list. "
-"This can be prevented by setting \"ignore-auto-dns\". Note that if no DNS "
-"searches are configured, the fallback will be derived from the domain from "
-"DHCP (option 15)."
-msgstr ""
-"Array von DNS-Suchdomänen. Domänen, die mit einer Tilde beginnen ('~') are "
-"considered 'routing' domains and are used only to decide the interface over "
-"which a query must be forwarded; they are not used to complete unqualified "
-"host names."
+"List of DNS search domains. Domains starting with a tilde ('~') are considered "
+"'routing' domains and are used only to decide the interface over which a query "
+"must be forwarded; they are not used to complete unqualified host names. When "
+"using a DNS plugin that supports Conditional Forwarding or Split DNS, then the "
+"search domains specify which name servers to query. This makes the behavior "
+"different from running with plain /etc/resolv.conf. For more information see "
+"also the dns-priority setting. When set on a profile that also enabled DHCP, "
+"the DNS search list received automatically (option 119 for DHCPv4 and option "
+"24 for DHCPv6) gets merged with the manual list. This can be prevented by "
+"setting \"ignore-auto-dns\". Note that if no DNS searches are configured, the "
+"fallback will be derived from the domain from DHCP (option 15)."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:174
-#: src/libnmc-setting/settings-docs.h.in:200
+#: src/libnmc-setting/settings-docs.h.in:179
+#: src/libnmc-setting/settings-docs.h.in:208
msgid ""
"The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. The gateway's main purpose is to control the next "
-"hop of the standard default route on the device. Hence, the gateway property "
-"conflicts with \"never-default\" and will be automatically dropped if the IP "
-"configuration is set to never-default. As an alternative to set the gateway, "
-"configure a static default route with /0 as prefix length."
+"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
+"configure a standard default route with the gateway as next hop. This is "
+"ignored if \"never-default\" is set. An alternative is to configure the "
+"default route explicitly with a manual route and /0 as prefix length. Note "
+"that the gateway usually conflicts with routing that NetworkManager configures "
+"for WireGuard interfaces, so usually it should not be set in that case. See "
+"\"ip4-auto-default-route\"."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:175
-#: src/libnmc-setting/settings-docs.h.in:201
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:180
+#: src/libnmc-setting/settings-docs.h.in:209
msgid ""
"When \"method\" is set to \"auto\" and this property to TRUE, automatically "
"configured name servers and search domains are ignored and only name servers "
-"and search domains specified in the \"dns\" and \"dns-search\" properties, "
-"if any, are used."
+"and search domains specified in the \"dns\" and \"dns-search\" properties, if "
+"any, are used."
msgstr ""
-"Wenn \"method\" auf \"auto\" gesetzt ist und diese Eigenschaft auf TRUE "
-"gesetzt ist, werden automatisch konfigurierte Nameserver und Suchdomänen "
-"ignoriert, und nur Nameserver und Suchdomänen, die in den Eigenschaften "
-"\"dns\" und \"dns-search\" angegeben sind, werden verwendet."
+"Wenn »method« auf »auto« und diese Eigenschaft auf TRUE gesetzt ist, werden "
+"automatisch konfigurierte Nameserver und Suchdomänen ignoriert und nur "
+"Nameserver und Suchdomänen verwendet, die in den Eigenschaften »dns« und »dns-"
+"search« angegeben sind, sofern vorhanden."
-#: src/libnmc-setting/settings-docs.h.in:176
-#: src/libnmc-setting/settings-docs.h.in:202
+#: src/libnmc-setting/settings-docs.h.in:181
+#: src/libnmc-setting/settings-docs.h.in:210
msgid ""
"When \"method\" is set to \"auto\" and this property to TRUE, automatically "
"configured routes are ignored and only routes specified in the \"routes\" "
"property, if any, are used."
msgstr ""
-"Wenn \"method\" auf \"auto\" gesetzt ist und diese Eigenschaft auf TRUE "
-"gesetzt ist, werden automatisch konfigurierte Routen ignoriert und nur die "
-"in der Eigenschaft \"routes\" angegebenen Routen verwendet."
+"Wenn »method« auf »auto« und diese Eigenschaft auf TRUE gesetzt ist, werden "
+"automatisch konfigurierte Routen ignoriert und nur die in der Eigenschaft "
+"»routes« angegebenen Routen verwendet, sofern vorhanden."
-#: src/libnmc-setting/settings-docs.h.in:177
+#: src/libnmc-setting/settings-docs.h.in:182
msgid ""
-"Enable and disable the IPv4 link-local configuration independently of the "
-"ipv4.method configuration. This allows a link-local address (169.254.x.y/16) "
-"to be obtained in addition to other addresses, such as those manually "
-"configured or obtained from a DHCP server. When set to \"auto\", the value "
-"is dependent on \"ipv4.method\". When set to \"default\", it honors the "
-"global connection default, before falling back to \"auto\". Note that if "
-"\"ipv4.method\" is \"disabled\", then link local addressing is always "
-"disabled too. The default is \"default\". Since 1.40"
+"Enable and disable the IPv4 link-local configuration independently of the ipv4."
+"method configuration. This allows a link-local address (169.254.x.y/16) to be "
+"obtained in addition to other addresses, such as those manually configured or "
+"obtained from a DHCP server. When set to \"auto\", the value is dependent on "
+"\"ipv4.method\". When set to \"default\", it honors the global connection "
+"default, before falling back to \"auto\". Note that if \"ipv4.method\" is "
+"\"disabled\", then link local addressing is always disabled too. The default "
+"is \"default\"."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:178
-#: src/libnmc-setting/settings-docs.h.in:204
+#: src/libnmc-setting/settings-docs.h.in:183
+#: src/libnmc-setting/settings-docs.h.in:212
msgid ""
"If TRUE, allow overall network configuration to proceed even if the "
-"configuration specified by this property times out. Note that at least one "
-"IP configuration must succeed or overall network configuration will still "
-"fail. For example, in IPv6-only networks, setting this property to TRUE on "
-"the NMSettingIP4Config allows the overall network configuration to succeed "
-"if IPv4 configuration fails but IPv6 configuration completes successfully."
-msgstr ""
-"Wenn TRUE, lassen Sie zu, dass die gesamte Netzwerkkonfiguration fortgesetzt "
-"wird, auch wenn die durch diese Eigenschaft angegebene Konfiguration "
-"abläuft. Beachten Sie, dass mindestens eine IP-Konfiguration erfolgreich "
-"sein muss oder dass die gesamte Netzwerkkonfiguration weiterhin fehlschlägt. "
-"In IPv6-only-Netzwerken ermöglicht das Setzen dieser Eigenschaft auf TRUE in "
-"NMSettingIP4Config beispielsweise, dass die gesamte Netzwerkkonfiguration "
-"erfolgreich ausgeführt werden kann, wenn die IPv4-Konfiguration fehlschlägt, "
-"die IPv6-Konfiguration jedoch erfolgreich abgeschlossen wird."
+"configuration specified by this property times out. Note that at least one IP "
+"configuration must succeed or overall network configuration will still fail. "
+"For example, in IPv6-only networks, setting this property to TRUE on the "
+"NMSettingIP4Config allows the overall network configuration to succeed if IPv4 "
+"configuration fails but IPv6 configuration completes successfully."
+msgstr ""
+"Wenn TRUE, wird die gesamte Netzwerkkonfiguration fortgesetzt, auch wenn die "
+"durch diese Eigenschaft angegebene Konfiguration eine Zeitüberschreitung "
+"aufweist. Beachten Sie, dass mindestens eine IP-Konfiguration erfolgreich "
+"sein muss, sonst schlägt die gesamte Netzwerkkonfiguration fehl. In reinen "
+"IPv6-Netzwerken beispielsweise ermöglicht das Setzen dieser Eigenschaft auf "
+"TRUE in der NMSettingIP4Config, dass die gesamte Netzwerkkonfiguration "
+"erfolgreich ist, wenn die IPv4-Konfiguration fehlschlägt, aber die IPv6-"
+"Konfiguration erfolgreich abgeschlossen wird."
-#: src/libnmc-setting/settings-docs.h.in:179
-#: src/libnmc-setting/settings-docs.h.in:205
+#: src/libnmc-setting/settings-docs.h.in:184
#, fuzzy
-msgid ""
-"IP configuration method. NMSettingIP4Config and NMSettingIP6Config both "
-"support \"disabled\", \"auto\", \"manual\", and \"link-local\". See the "
-"subclass-specific documentation for other values. In general, for the "
-"\"auto\" method, properties such as \"dns\" and \"routes\" specify "
-"information that is added on to the information returned from automatic "
-"configuration. The \"ignore-auto-routes\" and \"ignore-auto-dns\" "
-"properties modify this behavior. For methods that imply no upstream network, "
-"such as \"shared\" or \"link-local\", these properties must be empty. For "
-"IPv4 method \"shared\", the IP subnet can be configured by adding one manual "
-"IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared "
-"method must be configured on the interface which shares the internet to a "
-"subnet, not on the uplink which is shared."
-msgstr ""
-"IP-Konfigurationsmethode NMSettingIP4Config und NMSettingIP6Config "
-"unterstützen beide \"auto\", \"manual\" und \"link-local\". Informationen zu "
-"anderen Werten finden Sie in der Dokumentation zur Unterklasse. Im "
-"Allgemeinen geben Eigenschaften wie \"DNS\" und \"Routen\" für die "
-"\"automatische\" Methode Informationen an, die den von der automatischen "
-"Konfiguration zurückgegebenen Informationen hinzugefügt werden. Die "
-"Eigenschaften \"ignore-auto-routes\" und \"ignore-auto-dns\" ändern dieses "
-"Verhalten. Für Methoden, die kein Upstream-Netzwerk implizieren, wie "
-"\"shared\" oder \"link-local\", müssen diese Eigenschaften leer sein. Bei "
-"der IPv4-Methode \"shared\" kann das IP-Subnetz durch Hinzufügen einer "
-"manuellen IPv4-Adresse konfiguriert werden, andernfalls wird 10.42.x.0 / 24 "
-"ausgewählt. Beachten Sie, dass die freigegebene Methode auf der "
-"Schnittstelle konfiguriert werden muss, die das Internet mit einem Subnetz "
-"teilt, nicht auf dem freigegebenen Uplink."
+#| msgid "The connection was removed"
+msgid "The IPv4 connection method."
+msgstr "Die Verbindung wurde entfernt"
-#: src/libnmc-setting/settings-docs.h.in:180
-#: src/libnmc-setting/settings-docs.h.in:207
+#: src/libnmc-setting/settings-docs.h.in:185
+#: src/libnmc-setting/settings-docs.h.in:215
msgid ""
"If TRUE, this connection will never be the default connection for this IP "
"type, meaning it will never be assigned the default route by NetworkManager."
msgstr ""
-"Wenn TRUE, wird diese Verbindung niemals die Standardverbindung für diesen "
-"IP-Typ sein, das heißt, sie wird niemals der Standardroute von "
-"NetworkManager zugewiesen."
+"Wenn TRUE, wird diese Verbindung nie die Standardverbindung für diesen IP-Typ "
+"sein, d. h. sie wird nie die Standardroute von NetworkManager zugewiesen "
+"bekommen."
-#: src/libnmc-setting/settings-docs.h.in:181
-#: src/libnmc-setting/settings-docs.h.in:209
+#: src/libnmc-setting/settings-docs.h.in:186
+#: src/libnmc-setting/settings-docs.h.in:217
+msgid ""
+"Connections will default to keep the autogenerated priority 0 local rule "
+"unless this setting is set to TRUE."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:187
+#: src/libnmc-setting/settings-docs.h.in:218
msgid ""
"The minimum time interval in milliseconds for which dynamic IP configuration "
"should be tried before the connection succeeds. This property is useful for "
"example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally "
-"the connection succeeds as soon as one of the two address families "
-"completes; by setting a required timeout for e.g. IPv4, one can ensure that "
-"even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for "
-"IPv4 before the connection becomes active. Note that if \"may-fail\" is "
-"FALSE for the same address family, this property has no effect as "
-"NetworkManager needs to wait for the full DHCP timeout. A zero value means "
-"that no required timeout is present, -1 means the default value (either "
-"configuration ipvx.required-timeout override or zero)."
+"the connection succeeds as soon as one of the two address families completes; "
+"by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 "
+"succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the "
+"connection becomes active. Note that if \"may-fail\" is FALSE for the same "
+"address family, this property has no effect as NetworkManager needs to wait "
+"for the full DHCP timeout. A zero value means that no required timeout is "
+"present, -1 means the default value (either configuration ipvx.required-"
+"timeout override or zero)."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:182
-#: src/libnmc-setting/settings-docs.h.in:210
+#: src/libnmc-setting/settings-docs.h.in:188
+#: src/libnmc-setting/settings-docs.h.in:219
msgid ""
"The default metric for routes that don't explicitly specify a metric. The "
"default value -1 means that the metric is chosen automatically based on the "
-"device type. The metric applies to dynamic routes, manual (static) routes "
-"that don't have an explicit metric setting, address prefix routes, and the "
-"default route. Note that for IPv6, the kernel accepts zero (0) but coerces "
-"it to 1024 (user default). Hence, setting this property to zero effectively "
-"mean setting it to 1024. For IPv4, zero is a regular value for the metric."
-msgstr ""
-"Die Standardmetrik für Routen, die eine Metrik nicht explizit angeben. Der "
-"Standardwert -1 bedeutet, dass die Metrik basierend auf dem Gerätetyp "
-"automatisch ausgewählt wird. Die Metrik gilt für dynamische Routen, manuelle "
-"(statische) Routen ohne explizite Metrikeinstellung, Adressenpräfixrouten "
-"und die Standardroute. Beachten Sie, dass der Kernel für IPv6 null (0) "
-"akzeptiert, aber auf 1024 umsetzt (Benutzerstandard). Wenn Sie diese "
-"Eigenschaft also auf Null setzen, bedeutet dies, dass sie auf 1024 gesetzt "
-"wird. Für IPv4 ist Null ein normaler Wert für die Metrik."
+"device type. The metric applies to dynamic routes, manual (static) routes that "
+"don't have an explicit metric setting, address prefix routes, and the default "
+"route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 "
+"(user default). Hence, setting this property to zero effectively mean setting "
+"it to 1024. For IPv4, zero is a regular value for the metric."
+msgstr ""
+"Die Standardmetrik für Routen, die nicht explizit eine Metrik angeben. Der "
+"Standardwert -1 bedeutet, dass die Metrik automatisch auf der Grundlage des "
+"Gerätetyps ausgewählt wird. Die Metrik gilt für dynamische Routen, manuelle "
+"(statische) Routen ohne explizite Metrik-Einstellung, Adresspräfix-Routen und "
+"die Standardroute. Beachten Sie, dass der Kernel für IPv6 den Wert Null (0) "
+"akzeptiert, ihn aber auf 1024 erzwingt (Benutzerstandard). Diese Eigenschaft "
+"auf Null zu setzen, bedeutet also, sie auf 1024 zu setzen. Für IPv4 ist Null "
+"ein normaler Wert für die Metrik."
-#: src/libnmc-setting/settings-docs.h.in:183
-#: src/libnmc-setting/settings-docs.h.in:211
+#: src/libnmc-setting/settings-docs.h.in:189
+#: src/libnmc-setting/settings-docs.h.in:220
msgid ""
"Enable policy routing (source routing) and set the routing table used when "
-"adding routes. This affects all routes, including device-routes, IPv4LL, "
-"DHCP, SLAAC, default-routes and static routes. But note that static routes "
-"can individually overwrite the setting by explicitly specifying a non-zero "
-"routing table. If the table setting is left at zero, it is eligible to be "
-"overwritten via global configuration. If the property is zero even after "
-"applying the global configuration value, policy routing is disabled for the "
-"address family of this connection. Policy routing disabled means that "
-"NetworkManager will add all routes to the main table (except static routes "
-"that explicitly configure a different table). Additionally, NetworkManager "
-"will not delete any extraneous routes from tables except the main table. "
-"This is to preserve backward compatibility for users who manage routing "
-"tables outside of NetworkManager."
+"adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, "
+"SLAAC, default-routes and static routes. But note that static routes can "
+"individually overwrite the setting by explicitly specifying a non-zero routing "
+"table. If the table setting is left at zero, it is eligible to be overwritten "
+"via global configuration. If the property is zero even after applying the "
+"global configuration value, policy routing is disabled for the address family "
+"of this connection. Policy routing disabled means that NetworkManager will add "
+"all routes to the main table (except static routes that explicitly configure a "
+"different table). Additionally, NetworkManager will not delete any extraneous "
+"routes from tables except the main table. This is to preserve backward "
+"compatibility for users who manage routing tables outside of NetworkManager."
msgstr ""
"Aktivieren Sie das Richtlinienrouting (Quellrouting) und legen Sie die "
"Routingtabelle fest, die beim Hinzufügen von Routen verwendet wird. Dies "
"betrifft alle Routen, einschließlich Geräte-Routen, IPv4LL, DHCP, SLAAC, "
"Standard-Routen und statische Routen. Beachten Sie jedoch, dass statische "
-"Routen die Einstellung einzeln überschreiben können, indem Sie explizit eine "
-"Routing-Tabelle ungleich Null angeben. Wenn die Tabelleneinstellung auf Null "
-"bleibt, kann sie über die globale Konfiguration überschrieben werden. Wenn "
-"die Eigenschaft auch nach dem Anwenden des globalen Konfigurationswerts Null "
-"ist, ist das Richtlinienrouting für die Adressfamilie dieser Verbindung "
-"deaktiviert. Richtlinienrouting deaktiviert bedeutet, dass NetworkManager "
-"alle Routen zur Haupttabelle hinzufügt (mit Ausnahme von statischen Routen, "
-"die explizit eine andere Tabelle konfigurieren). Darüber hinaus wird "
-"NetworkManager keine fremden Routen aus Tabellen außer der Haupttabelle "
-"löschen. Dies dient dazu, die Abwärtskompatibilität für Benutzer zu "
-"erhalten, die Routing-Tabellen außerhalb von NetworkManager verwalten."
+"Routen die Einstellung individuell überschreiben können, indem sie explizit "
+"eine Routingtabelle ungleich Null angeben. Wenn die Tabelleneinstellung auf "
+"Null belassen wird, kann sie über die globale Konfiguration überschrieben "
+"werden. Wenn die Eigenschaft auch nach Anwendung des globalen "
+"Konfigurationswerts Null ist, ist das Richtlinienrouting für die Adressfamilie "
+"dieser Verbindung deaktiviert. Richtlinienrouting deaktiviert bedeutet, dass "
+"NetworkManager alle Routen zur Haupttabelle hinzufügt (mit Ausnahme statischer "
+"Routen, die explizit eine andere Tabelle konfigurieren). Darüber hinaus löscht "
+"NetworkManager keine fremden Routen aus anderen Tabellen als der Haupttabelle. "
+"Dies dient der Abwärtskompatibilität für Benutzer, die Routingtabellen "
+"außerhalb von NetworkManager verwalten."
-#: src/libnmc-setting/settings-docs.h.in:184
+#: src/libnmc-setting/settings-docs.h.in:190
msgid ""
"A list of IPv4 destination addresses, prefix length, optional IPv4 next hop "
"addresses, optional route metric, optional attribute. The valid syntax is: "
@@ -8266,180 +8271,173 @@ msgid ""
"example \"192.0.2.0/24 10.1.1.1 77, 198.51.100.0/24\"."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:185
-#: src/libnmc-setting/settings-docs.h.in:213
+#: src/libnmc-setting/settings-docs.h.in:191
+#: src/libnmc-setting/settings-docs.h.in:222
msgid "A comma separated list of routing rules for policy routing."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:186
-#, fuzzy
-#| msgid ""
-#| "Configure method for creating the address for use with RFC4862 IPv6 "
-#| "Stateless Address Autoconfiguration. The permitted values are: "
-#| "NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0) or "
-#| "NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). If the property "
-#| "is set to EUI64, the addresses will be generated using the interface "
-#| "tokens derived from hardware address. This makes the host part of the "
-#| "address to stay constant, making it possible to track host's presence "
-#| "when it changes networks. The address changes when the interface hardware "
-#| "is replaced. The value of stable-privacy enables use of cryptographically "
-#| "secure hash of a secret host-specific key along with the connection's "
-#| "stable-id and the network address as specified by RFC7217. This makes it "
-#| "impossible to use the address track host's presence, and makes the "
-#| "address stable when the network interface hardware is replaced. On D-Bus, "
-#| "the absence of an addr-gen-mode setting equals enabling stable-privacy. "
-#| "For keyfile plugin, the absence of the setting on disk means EUI64 so "
-#| "that the property doesn't change on upgrade from older versions. Note "
-#| "that this setting is distinct from the Privacy Extensions as configured "
-#| "by \"ip6-privacy\" property and it does not affect the temporary "
-#| "addresses configured with this option."
-msgid ""
-"Configure method for creating the address for use with RFC4862 IPv6 "
-"Stateless Address Autoconfiguration. The permitted values are: "
-"NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0), "
-"NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). "
-"NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_DEFAULT_OR_EUI64 (2) or "
-"NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_DEFAULT (3). If the property is set to "
-"EUI64, the addresses will be generated using the interface tokens derived "
-"from hardware address. This makes the host part of the address to stay "
-"constant, making it possible to track host's presence when it changes "
-"networks. The address changes when the interface hardware is replaced. The "
-"value of stable-privacy enables use of cryptographically secure hash of a "
-"secret host-specific key along with the connection's stable-id and the "
-"network address as specified by RFC7217. This makes it impossible to use the "
-"address track host's presence, and makes the address stable when the network "
+#: src/libnmc-setting/settings-docs.h.in:192
+msgid ""
+"Configure method for creating the IPv6 interface identifer of addresses with "
+"RFC4862 IPv6 Stateless Address Autoconfiguration and Link Local addresses. The "
+"permitted values are: \"eui64\" (0), \"stable-privacy\" (1), \"default\" (3) "
+"or \"default-or-eui64\" (2). If the property is set to \"eui64\", the "
+"addresses will be generated using the interface token derived from hardware "
+"address. This makes the host part of the address to stay constant, making it "
+"possible to track the host's presence when it changes networks. The address "
+"changes when the interface hardware is replaced. If a duplicate address is "
+"detected, there is also no fallback to generate another address. When "
+"configured, the \"ipv6.token\" is used instead of the MAC address to generate "
+"addresses for stateless autoconfiguration. If the property is set to \"stable-"
+"privacy\", the interface identifier is generated as specified by RFC7217. This "
+"works by hashing a host specific key (see NetworkManager(8) manual), the "
+"interface name, the connection's \"connection.stable-id\" property and the "
+"address prefix. This improves privacy by making it harder to use the address "
+"to track the host's presence and the address is stable when the network "
"interface hardware is replaced. The special values \"default\" and \"default-"
-"or-eui64\" will fallback to the global connection default in as documented "
-"in NetworkManager.conf(5) manual. If the global default is not specified, "
-"the fallback value is \"stable-privacy\" or \"eui64\", respectively. For "
-"libnm, the property defaults to \"default\" since 1.40. Previously it "
-"defaulted to \"stable-privacy\". On D-Bus, the absence of an addr-gen-mode "
-"setting equals \"default\". For keyfile plugin, the absence of the setting "
-"on disk means \"default-or-eui64\" so that the property doesn't change on "
-"upgrade from older versions. Note that this setting is distinct from the "
-"Privacy Extensions as configured by \"ip6-privacy\" property and it does not "
-"affect the temporary addresses configured with this option."
-msgstr ""
-"Konfigurieren Sie die Methode zum Erstellen der Adresse zur Verwendung mit "
-"RFC4862 IPv6 Stateless Address Autoconfiguration. Die zulässigen Werte sind: "
-"NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0) oder "
-"NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). Wenn die Eigenschaft "
-"auf EUI64 festgelegt ist, werden die Adressen mithilfe der von der "
-"Hardwareadresse abgeleiteten Interface-Tokens generiert. Dadurch bleibt der "
-"Host-Teil der Adresse konstant und ermöglicht die Verfolgung der Anwesenheit "
-"des Hosts, wenn er das Netzwerk wechselt. Die Adresse ändert sich, wenn die "
-"Schnittstellenhardware ausgetauscht wird. Der Wert von stable-privacy "
-"ermöglicht die Verwendung eines kryptografisch sicheren Hash eines geheimen "
-"hostspezifischen Schlüssels zusammen mit der stable-ID der Verbindung und "
-"der Netzwerkadresse gemäß RFC7217. Dies macht es unmöglich, die Anwesenheit "
-"des Adressverfolgungshosts zu verwenden, und macht die Adresse stabil, wenn "
-"die Netzwerkschnittstellenhardware ersetzt wird. Auf D-Bus entspricht das "
-"Fehlen einer Einstellung für den Adrenalin-Modus dem Aktivieren der stabilen "
-"Privatsphäre. Für das Keyfile-Plugin bedeutet das Fehlen der Einstellung auf "
-"dem Datenträger EUI64, sodass sich die Eigenschaft beim Upgrade von älteren "
-"Versionen nicht ändert. Beachten Sie, dass sich diese Einstellung von den "
-"Privacy Extensions unterscheidet, die von der Eigenschaft \"ip6-privacy\" "
-"konfiguriert wurden, und dass sie die mit dieser Option konfigurierten "
-"temporären Adressen nicht beeinflusst."
+"or-eui64\" will fallback to the global connection default as documented in the "
+"NetworkManager.conf(5) manual. If the global default is not specified, the "
+"fallback value is \"stable-privacy\" or \"eui64\", respectively. If not "
+"specified, when creating a new profile the default is \"default\". Note that "
+"this setting is distinct from the Privacy Extensions as configured by \"ip6-"
+"privacy\" property and it does not affect the temporary addresses configured "
+"with this option."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:187
+#: src/libnmc-setting/settings-docs.h.in:193
msgid ""
"A list of IPv6 addresses and their prefix length. Multiple addresses can be "
"separated by comma. For example \"2001:db8:85a3::8a2e:370:7334/64, 2001:"
-"db8:85a3::5/64\". The addresses are listed in decreasing priority, meaning "
-"the first address will be the primary address. This can make a difference "
-"with IPv6 source address selection (RFC 6724, section 5)."
+"db8:85a3::5/64\". The addresses are listed in decreasing priority, meaning the "
+"first address will be the primary address. This can make a difference with "
+"IPv6 source address selection (RFC 6724, section 5)."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:189
+#: src/libnmc-setting/settings-docs.h.in:196
msgid ""
"A string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp "
-"client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried "
-"in the Client Identifier option. If the property is a hex string ('aa:bb:"
-"cc') it is interpreted as a binary DUID and filled as an opaque value in the "
-"Client Identifier option. The special value \"lease\" will retrieve the DUID "
-"previously used from the lease file belonging to the connection. If no DUID "
-"is found and \"dhclient\" is the configured dhcp client, the DUID is "
-"searched in the system-wide dhclient lease file. If still no DUID is found, "
-"or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) "
-"will be generated based on the machine-id. The special values \"llt\" and "
-"\"ll\" will generate a DUID of type LLT or LL (see RFC 3315) based on the "
-"current MAC address of the device. In order to try providing a stable DUID-"
-"LLT, the time field will contain a constant timestamp that is used globally "
-"(for all profiles) and persisted to disk. The special values \"stable-llt\", "
-"\"stable-ll\" and \"stable-uuid\" will generate a DUID of the corresponding "
-"type, derived from the connection's stable-id and a per-host unique key. You "
-"may want to include the \"${DEVICE}\" or \"${MAC}\" specifier in the stable-"
-"id, in case this profile gets activated on multiple devices. So, the link-"
-"layer address of \"stable-ll\" and \"stable-llt\" will be a generated "
-"address derived from the stable id. The DUID-LLT time value in the \"stable-"
-"llt\" option will be picked among a static timespan of three years (the "
-"upper bound of the interval is the same constant timestamp used in \"llt\"). "
-"When the property is unset, the global value provided for \"ipv6.dhcp-duid\" "
-"is used. If no global value is provided, the default \"lease\" value is "
-"assumed."
-msgstr ""
-"Eine Zeichenfolge, die den eindeutigen DHCPv6-Bezeichner (DUID) enthält, der "
-"vom dhcp-Client verwendet wird, um sich gegenüber DHCPv6-Servern zu "
-"identifizieren (RFC 3315). Die DUID wird in der Option Client-ID übertragen. "
-"Wenn die Eigenschaft eine hexadezimale Zeichenfolge ('aa: bb: cc') ist, wird "
-"sie als binäre DUID interpretiert und in der Option Client-ID als "
-"undurchsichtiger Wert aufgefüllt. Der spezielle Wert \"lease\" ruft die "
-"zuvor verwendete DUID aus der zu der Verbindung gehörenden Lease-Datei ab. "
-"Wenn keine DUID gefunden wird und \"dhclient\" der konfigurierte dhcp-Client "
+"client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in "
+"the Client Identifier option. If the property is a hex string ('aa:bb:cc') it "
+"is interpreted as a binary DUID and filled as an opaque value in the Client "
+"Identifier option. The special value \"lease\" will retrieve the DUID "
+"previously used from the lease file belonging to the connection. If no DUID is "
+"found and \"dhclient\" is the configured dhcp client, the DUID is searched in "
+"the system-wide dhclient lease file. If still no DUID is found, or another "
+"dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be "
+"generated based on the machine-id. The special values \"llt\" and \"ll\" will "
+"generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC "
+"address of the device. In order to try providing a stable DUID-LLT, the time "
+"field will contain a constant timestamp that is used globally (for all "
+"profiles) and persisted to disk. The special values \"stable-llt\", \"stable-"
+"ll\" and \"stable-uuid\" will generate a DUID of the corresponding type, "
+"derived from the connection's stable-id and a per-host unique key. You may "
+"want to include the \"${DEVICE}\" or \"${MAC}\" specifier in the stable-id, in "
+"case this profile gets activated on multiple devices. So, the link-layer "
+"address of \"stable-ll\" and \"stable-llt\" will be a generated address "
+"derived from the stable id. The DUID-LLT time value in the \"stable-llt\" "
+"option will be picked among a static timespan of three years (the upper bound "
+"of the interval is the same constant timestamp used in \"llt\"). When the "
+"property is unset, the global value provided for \"ipv6.dhcp-duid\" is used. "
+"If no global value is provided, the default \"lease\" value is assumed."
+msgstr ""
+"Eine Zeichenfolge, die den eindeutigen DHCPv6-Bezeichner (DUID) enthält, mit "
+"dem sich der dhcp-Client gegenüber DHCPv6-Servern identifiziert (RFC 3315). "
+"Die DUID wird in der Option »Client Identifier« übertragen. Handelt es sich "
+"bei der Eigenschaft um eine hexadezimale Zeichenkette (»aa:bb:cc«), wird sie "
+"als binäre DUID interpretiert und als undurchsichtiger Wert in die Option "
+"»Client Identifier« eingetragen. Mit dem speziellen Wert »lease« wird die "
+"zuvor verwendete DUID aus der zur Verbindung gehörenden Lease-Datei abgerufen. "
+"Wenn keine DUID gefunden wird und »dhclient« der konfigurierte dhcp-Client "
"ist, wird die DUID in der systemweiten dhclient-Lease-Datei gesucht. Wenn "
"immer noch keine DUID gefunden wird oder ein anderer dhcp-Client verwendet "
-"wird, wird eine globale und permanente DUID-UUID (RFC 6355) basierend auf "
-"der Maschinen-ID generiert. Die speziellen Werte \"llt\" und \"ll\" erzeugen "
-"eine DUID vom Typ LLT oder LL (siehe RFC 3315) basierend auf der aktuellen "
-"MAC-Adresse des Gerätes. Um zu versuchen, ein stabiles DUID-LLT "
-"bereitzustellen, wird das Zeitfeld einen konstanten Zeitstempel enthalten, "
-"der global (für alle Profile) verwendet wird und auf Platte gespeichert "
-"wird. Die speziellen Werte \"stable-llt\", \"stable-ll\" und \"stable-uuid\" "
-"erzeugen eine DUID des entsprechenden Typs, abgeleitet von der stable-id der "
-"Verbindung und einem eindeutigen Schlüssel pro Host. Die "
-"Verbindungsschichtadresse von \"stable-ll\" und \"stable-llt\" wird also "
-"eine generierte Adresse sein, die von der stabilen ID abgeleitet wird. Der "
-"DUID-LLT-Zeitwert in der \"stable-llt\" -Option wird unter einer statischen "
-"Zeitspanne von drei Jahren ausgewählt (die obere Grenze des Intervalls ist "
-"der gleiche konstante Zeitstempel, der in \"llt\" verwendet wird). Wenn die "
-"Eigenschaft nicht festgelegt ist, wird der globale Wert für \"ipv6.dhcp-"
-"duid\" verwendet. Wenn kein globaler Wert angegeben wird, wird der "
-"Standardwert \"lease\" angenommen."
+"wird, wird eine globale und permanente DUID-UUID (RFC 6355) basierend auf der "
+"»machine-id« generiert. Die speziellen Werte »llt« und »ll« erzeugen eine DUID "
+"vom Typ LLT oder LL (siehe RFC 3315) auf der Grundlage der aktuellen MAC-"
+"Adresse des Geräts. Um zu versuchen, eine stabile DUID-LLT bereitzustellen, "
+"enthält das Zeitfeld einen konstanten Zeitstempel, der global (für alle "
+"Profile) verwendet und auf der Festplatte gespeichert wird. Die speziellen "
+"Werte »stable-llt«, »stable-ll« und »stable-uuid« erzeugen eine DUID des "
+"entsprechenden Typs, die aus der »stable-id« der Verbindung und einem "
+"eindeutigen Schlüssel pro Host abgeleitet wird. Sie können die »${DEVICE}«- "
+"oder »${MAC}«-Angabe in die »stable-id« aufnehmen, falls dieses Profil auf "
+"mehreren Geräten aktiviert wird. Die Link-Layer-Adresse von »stable-ll« und "
+"»stable-llt« wird also eine generierte Adresse sein, die von der »stable-id« "
+"abgeleitet ist. Der DUID-LLT-Zeitwert in der Option »stable-llt« wird aus "
+"einer statischen Zeitspanne von drei Jahren ausgewählt (die obere Grenze des "
+"Intervalls ist der gleiche konstante Zeitstempel, der in »llt« verwendet "
+"wird). Wenn die Eigenschaft nicht gesetzt ist, wird der für »ipv6.dhcp-duid« "
+"angegebene globale Wert verwendet. Wenn kein globaler Wert angegeben wird, "
+"wird der Standardwert »lease« angenommen."
-#: src/libnmc-setting/settings-docs.h.in:203
+#: src/libnmc-setting/settings-docs.h.in:200
+msgid ""
+"A IPv6 address followed by a slash and a prefix length. If set, the value is "
+"sent to the DHCPv6 server as hint indicating the prefix delegation (IA_PD) we "
+"want to receive. To only hint a prefix length without prefix, set the address "
+"part to the zero address (for example \"::/60\")."
+msgstr ""
+"Eine IPv6-Adresse, gefolgt von einem Schrägstrich und einer Präfixlänge. Wenn "
+"dieser Wert gesetzt ist, wird er an den DHCPv6-Server als Hinweis auf die "
+"Präfix-Delegation (IA_PD) gesendet, die wir erhalten möchten. Um nur eine "
+"Präfixlänge ohne Präfix anzugeben, setzen Sie den Adressteil auf die Null-"
+"Adresse (zum Beispiel »::/60«)."
+
+#: src/libnmc-setting/settings-docs.h.in:205
+msgid ""
+"DNS options for /etc/resolv.conf as described in resolv.conf(5) manual. The "
+"currently supported options are \"attempts\", \"debug\", \"edns0\", \"ndots\", "
+"\"no-aaaa\", \"no-check-names\", \"no-reload\", \"no-tld-query\", \"rotate\", "
+"\"single-request\", \"single-request-reopen\", \"timeout\", \"trust-ad\", "
+"\"use-vc\" and \"inet6\", \"ip6-bytestring\", \"ip6-dotint\", \"no-ip6-"
+"dotint\". See the resolv.conf(5) manual. Note that there is a distinction "
+"between an unset (default) list and an empty list. In nmcli, to unset the list "
+"set the value to \"\". To set an empty list, set it to \" \". Currently, an "
+"unset list has the same meaning as an empty list. That might change in the "
+"future. The \"trust-ad\" setting is only honored if the profile contributes "
+"name servers to resolv.conf, and if all contributing profiles have \"trust-"
+"ad\" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in "
+"NetworkManager.conf) then \"edns0\" and \"trust-ad\" are automatically added. "
+"The valid \"ipv4.dns-options\" and \"ipv6.dns-options\" get merged together."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:211
msgid ""
"Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941. If "
-"enabled, it makes the kernel generate a temporary IPv6 address in addition "
-"to the public one generated from MAC address via modified EUI-64. This "
-"enhances privacy, but could cause problems in some applications, on the "
-"other hand. The permitted values are: -1: unknown, 0: disabled, 1: enabled "
-"(prefer public address), 2: enabled (prefer temporary addresses). Having a "
-"per-connection setting set to \"-1\" (unknown) means fallback to global "
-"configuration \"ipv6.ip6-privacy\". If also global configuration is "
-"unspecified or set to \"-1\", fallback to read \"/proc/sys/net/ipv6/conf/"
-"default/use_tempaddr\". Note that this setting is distinct from the Stable "
-"Privacy addresses that can be enabled with the \"addr-gen-mode\" property's "
-"\"stable-privacy\" setting as another way of avoiding host tracking with "
-"IPv6 addresses."
-msgstr ""
-"Konfigurieren Sie IPv6 Privacy Extensions für SLAAC, wie in RFC4941 "
-"beschrieben. Wenn diese Option aktiviert ist, wird der Kernel eine temporäre "
-"IPv6-Adresse generieren, zusätzlich zu der öffentlichen Adresse, die von der "
-"MAC-Adresse über das modifizierte EUI-64 generiert wird. Dies erhöht die "
-"Privatsphäre, kann jedoch in einigen Anwendungen Probleme verursachen. Die "
-"zulässigen Werte sind: -1: unbekannt, 0: deaktiviert, 1: aktiviert "
-"(bevorzugte öffentliche Adresse), 2: aktiviert (bevorzugen temporäre "
-"Adressen). Wenn die Einstellung pro Verbindung auf \"-1\" (unbekannt) "
-"gesetzt ist, bedeutet dies, dass auf die globale Konfiguration \"ipv6.ip6-"
-"privacy\" zurückgegriffen wird. Wenn auch die globale Konfiguration nicht "
-"angegeben ist oder auf \"-1\" gesetzt ist, wird auf \"/ proc / sys / net / "
-"ipv6 / conf / default / use_tempaddr\" zurückgegriffen. Beachten Sie, dass "
-"sich diese Einstellung von den Stable-Privacy-Adressen unterscheidet, die "
-"mit der Einstellung \"stable-privacy\" der Eigenschaft \"addr-gen-mode\" "
-"aktiviert werden können, um Host-Tracking mit IPv6-Adressen zu vermeiden."
+"enabled, it makes the kernel generate a temporary IPv6 address in addition to "
+"the public one generated from MAC address via modified EUI-64. This enhances "
+"privacy, but could cause problems in some applications, on the other hand. "
+"The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public "
+"address), 2: enabled (prefer temporary addresses). Having a per-connection "
+"setting set to \"-1\" (unknown) means fallback to global configuration \"ipv6."
+"ip6-privacy\". If also global configuration is unspecified or set to \"-1\", "
+"fallback to read \"/proc/sys/net/ipv6/conf/default/use_tempaddr\". Note that "
+"this setting is distinct from the Stable Privacy addresses that can be enabled "
+"with the \"addr-gen-mode\" property's \"stable-privacy\" setting as another "
+"way of avoiding host tracking with IPv6 addresses."
+msgstr ""
+"Konfigurieren Sie IPv6 Privacy Extensions für SLAAC, beschrieben in RFC4941. "
+"Wenn diese Option aktiviert ist, erzeugt der Kernel eine temporäre IPv6-"
+"Adresse zusätzlich zu der öffentlichen Adresse, die aus der MAC-Adresse über "
+"die modifizierte EUI-64 generiert wird. Dies erhöht den Datenschutz, könnte "
+"aber andererseits in einigen Anwendungen Probleme verursachen. Die zulässigen "
+"Werte sind: -1: unbekannt, 0: deaktiviert, 1: aktiviert (öffentliche Adresse "
+"bevorzugen), 2: aktiviert (temporäre Adressen bevorzugen). Wenn eine "
+"Einstellung pro Verbindung auf »-1« (unbekannt) gesetzt ist, bedeutet dies, "
+"dass auf die globale Konfiguration »ipv6.ip6-privacy« zurückgegriffen wird. "
+"Wenn auch die globale Konfiguration nicht spezifiziert oder auf »-1« gesetzt "
+"ist, wird auf »/proc/sys/net/ipv6/conf/default/use_tempaddr« zurückgegriffen. "
+"Beachten Sie, dass sich diese Einstellung von den »Stable Privacy«-Adressen "
+"unterscheidet, die mit der »stable-privacy«-Einstellung der »addr-gen-mode«-"
+"Eigenschaft aktiviert werden können, um die Verfolgung von Hosts mit IPv6-"
+"Adressen zu vermeiden."
-#: src/libnmc-setting/settings-docs.h.in:206
+#: src/libnmc-setting/settings-docs.h.in:213
+#, fuzzy
+#| msgid "The connection was removed"
+msgid "The IPv6 connection method."
+msgstr "Die Verbindung wurde entfernt"
+
+#: src/libnmc-setting/settings-docs.h.in:214
msgid ""
"Maximum transmission unit size, in bytes. If zero (the default), the MTU is "
"set automatically from router advertisements or is left equal to the link-"
@@ -8447,120 +8445,113 @@ msgid ""
"than the minimum IPv6 MTU of 1280, this value has no effect."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:208
+#: src/libnmc-setting/settings-docs.h.in:216
msgid ""
-"A timeout for waiting Router Advertisements in seconds. If zero (the "
-"default), a globally configured default is used. If still unspecified, the "
-"timeout depends on the sysctl settings of the device. Set to 2147483647 "
-"(MAXINT32) for infinity."
+"A timeout for waiting Router Advertisements in seconds. If zero (the default), "
+"a globally configured default is used. If still unspecified, the timeout "
+"depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for "
+"infinity."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:212
+#: src/libnmc-setting/settings-docs.h.in:221
msgid "Array of IP routes."
msgstr "Feld aus IP-Routen."
-#: src/libnmc-setting/settings-docs.h.in:214
+#: src/libnmc-setting/settings-docs.h.in:223
msgid ""
"Configure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 "
-"tokenized interface identifiers. Useful with eui64 addr-gen-mode."
+"tokenized interface identifiers. Useful with eui64 addr-gen-mode. When set, "
+"the token is used as IPv6 interface identifier instead of the hardware "
+"address. This only applies to addresses from stateless autoconfiguration, not "
+"to IPv6 link local addresses."
msgstr ""
-"Konfigurieren Sie das Token für IPv6-Tokenized-Interface-IDs von Draft-"
-"Chown-6man-tokenised-ipv6-identifiers-02. Nützlich mit eui64 addr-gen-mode."
-#: src/libnmc-setting/settings-docs.h.in:215
+#: src/libnmc-setting/settings-docs.h.in:224
msgid ""
"How many additional levels of encapsulation are permitted to be prepended to "
-"packets. This property applies only to IPv6 tunnels."
+"packets. This property applies only to IPv6 tunnels. To disable this option, "
+"add 0x1 (ip6-ign-encap-limit) to ip-tunnel flags."
msgstr ""
-"Wie viele zusätzliche Kapselungsebenen dürfen Paketen vorangestellt werden. "
-"Diese Eigenschaft gilt nur für IPv6-Tunnel."
-#: src/libnmc-setting/settings-docs.h.in:216
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:225
msgid ""
-"Tunnel flags. Currently, the following values are supported: "
-"NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT (0x1), "
-"NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS (0x2), "
-"NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL (0x4), "
-"NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV (0x8), NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY "
-"(0x10), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK (0x20). They are valid only "
-"for IPv6 tunnels."
-msgstr ""
-"Tunnelflaggen. Derzeit werden folgende Werte unterstützt: "
-"NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT (0x1), "
-"NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS (0x2), "
-"NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL (0x4), "
-"NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV (0x8), NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY "
-"(0x10), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK (0x20). Sie sind nur für IPv6-"
-"Tunnel gültig."
+"Tunnel flags. Currently, the following values are supported: 0x1 (ip6-ign-"
+"encap-limit), 0x2 (ip6-use-orig-tclass), 0x4 (ip6-use-orig-flowlabel), 0x8 "
+"(ip6-mip6-dev), 0x10 (ip6-rcv-dscp-copy) and 0x20 (ip6-use-orig-fwmark). They "
+"are valid only for IPv6 tunnels."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:217
+#: src/libnmc-setting/settings-docs.h.in:226
msgid ""
-"The flow label to assign to tunnel packets. This property applies only to "
-"IPv6 tunnels."
+"The flow label to assign to tunnel packets. This property applies only to IPv6 "
+"tunnels."
msgstr ""
-"Die Flow-Bezeichnung, die Tunnelpaketen zugewiesen werden soll. Diese "
-"Eigenschaft gilt nur für IPv6-Tunnel."
+"Die Flow-Bezeichnung, die den Tunnelpaketen zugewiesen wird. Diese Eigenschaft "
+"gilt nur für IPv6-Tunnel."
-#: src/libnmc-setting/settings-docs.h.in:218
+#: src/libnmc-setting/settings-docs.h.in:227
msgid ""
-"The key used for tunnel input packets; the property is valid only for "
-"certain tunnel modes (GRE, IP6GRE). If empty, no key is used."
+"The fwmark value to assign to tunnel packets. This property can be set to a "
+"non zero value only on VTI and VTI6 tunnels."
msgstr ""
-"Der für Tunneleingangspakete verwendete Schlüssel; Die Eigenschaft ist nur "
-"für bestimmte Tunnelmodi (GRE, IP6GRE) gültig. Wenn leer, wird kein "
-"Schlüssel verwendet."
-#: src/libnmc-setting/settings-docs.h.in:219
+#: src/libnmc-setting/settings-docs.h.in:228
+msgid ""
+"The key used for tunnel input packets; the property is valid only for certain "
+"tunnel modes (GRE, IP6GRE). If empty, no key is used."
+msgstr ""
+"Der für Tunneleingabepakete verwendete Schlüssel; die Eigenschaft ist nur für "
+"bestimmte Tunnelmodi (GRE, IP6GRE) gültig. Wenn leer, wird kein Schlüssel "
+"verwendet."
+
+#: src/libnmc-setting/settings-docs.h.in:229
msgid ""
"The local endpoint of the tunnel; the value can be empty, otherwise it must "
"contain an IPv4 or IPv6 address."
msgstr ""
-"Der lokale Endpunkt des Tunnels; Der Wert kann leer sein, andernfalls muss "
-"er eine IPv4- oder IPv6-Adresse enthalten."
+"Der lokale Endpunkt des Tunnels; der Wert kann leer sein, ansonsten muss er "
+"eine IPv4- oder IPv6-Adresse enthalten."
-#: src/libnmc-setting/settings-docs.h.in:220
+#: src/libnmc-setting/settings-docs.h.in:230
msgid ""
-"The tunneling mode, for example NM_IP_TUNNEL_MODE_IPIP (1) or "
-"NM_IP_TUNNEL_MODE_GRE (2)."
+"The tunneling mode. Valid values: ipip (1), gre (2), sit (3), isatap (4), vti "
+"(5), ip6ip6 (6), ipip6 (7), ip6gre (8), vti6 (9), gretap (10) and ip6gretap "
+"(11)"
msgstr ""
-"Der Tunneling-Modus, zum Beispiel NM_IP_TUNNEL_MODE_IPIP (1) oder "
-"NM_IP_TUNNEL_MODE_GRE (2)."
-#: src/libnmc-setting/settings-docs.h.in:221
+#: src/libnmc-setting/settings-docs.h.in:231
msgid ""
-"If non-zero, only transmit packets of the specified size or smaller, "
-"breaking larger packets up into multiple fragments."
+"If non-zero, only transmit packets of the specified size or smaller, breaking "
+"larger packets up into multiple fragments."
msgstr ""
-"Wenn sie nicht Null ist, werden nur Pakete der angegebenen Größe oder "
-"kleiner übertragen, wodurch größere Pakete in mehrere Fragmente aufgeteilt "
-"werden."
+"Wenn ungleich Null, werden nur Pakete mit der angegebenen Größe oder kleiner "
+"übertragen, wobei größere Pakete in mehrere Fragmente aufgeteilt werden."
-#: src/libnmc-setting/settings-docs.h.in:222
+#: src/libnmc-setting/settings-docs.h.in:232
msgid ""
-"The key used for tunnel output packets; the property is valid only for "
-"certain tunnel modes (GRE, IP6GRE). If empty, no key is used."
+"The key used for tunnel output packets; the property is valid only for certain "
+"tunnel modes (GRE, IP6GRE). If empty, no key is used."
msgstr ""
-"Der für Tunnel-Output-Pakete verwendete Schlüssel; Die Eigenschaft ist nur "
-"für bestimmte Tunnelmodi (GRE, IP6GRE) gültig. Wenn leer, wird kein "
-"Schlüssel verwendet."
+"Der für die Tunnelausgangspakete verwendete Schlüssel; die Eigenschaft ist nur "
+"für bestimmte Tunnelmodi (GRE, IP6GRE) gültig. Wenn leer, wird kein Schlüssel "
+"verwendet."
-#: src/libnmc-setting/settings-docs.h.in:223
+#: src/libnmc-setting/settings-docs.h.in:233
msgid ""
"If given, specifies the parent interface name or parent connection UUID the "
"new device will be bound to so that tunneled packets will only be routed via "
"that interface."
msgstr ""
-"Wenn angegeben, gibt es den übergeordneten Schnittstellennamen oder die "
-"übergeordnete Verbindungs-UUID an, an die das neue Gerät gebunden wird, "
-"sodass getunnelte Pakete nur über diese Schnittstelle weitergeleitet werden."
+"Falls angegeben, gibt er den Namen der übergeordneten Schnittstelle oder die "
+"UUID der übergeordneten Verbindung an, an die das neue Gerät gebunden wird, so "
+"dass getunnelte Pakete nur über diese Schnittstelle weitergeleitet werden."
-#: src/libnmc-setting/settings-docs.h.in:224
+#: src/libnmc-setting/settings-docs.h.in:234
msgid "Whether to enable Path MTU Discovery on this tunnel."
msgstr ""
"Legt fest, ob »Path MTU Discovery« für diesen Tunnel eingeschaltet sein soll."
-#: src/libnmc-setting/settings-docs.h.in:225
+#: src/libnmc-setting/settings-docs.h.in:235
msgid ""
"The remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 "
"address."
@@ -8568,48 +8559,47 @@ msgstr ""
"Die Gegenstelle des Tunnels. Der Wert muss eine IPv4- oder IPv6-Adresse "
"enthalten."
-#: src/libnmc-setting/settings-docs.h.in:226
+#: src/libnmc-setting/settings-docs.h.in:236
msgid ""
-"The type of service (IPv4) or traffic class (IPv6) field to be set on "
-"tunneled packets."
+"The type of service (IPv4) or traffic class (IPv6) field to be set on tunneled "
+"packets."
msgstr ""
"Das Feld für den Servicetyp (IPv4) oder die Verkehrsklasse (IPv6), das für "
"getunnelte Pakete festgelegt werden soll."
-#: src/libnmc-setting/settings-docs.h.in:227
+#: src/libnmc-setting/settings-docs.h.in:237
msgid ""
"The TTL to assign to tunneled packets. 0 is a special value meaning that "
"packets inherit the TTL value."
msgstr ""
-"Die TTL, die getunnelten Paketen zugewiesen werden soll. 0 ist ein "
-"spezieller Wert, der bedeutet, dass Pakete den TTL-Wert erben."
+"Die TTL, die getunnelten Paketen zugewiesen werden soll. 0 ist ein spezieller "
+"Wert, der bedeutet, dass Pakete den TTL-Wert erben."
-#: src/libnmc-setting/settings-docs.h.in:228
+#: src/libnmc-setting/settings-docs.h.in:238
msgid "Whether the transmitted traffic must be encrypted."
msgstr "Ob der übertragene Datenverkehr verschlüsselt werden muss."
-#: src/libnmc-setting/settings-docs.h.in:229
+#: src/libnmc-setting/settings-docs.h.in:239
msgid ""
-"The pre-shared CAK (Connectivity Association Key) for MACsec Key Agreement."
+"The pre-shared CAK (Connectivity Association Key) for MACsec Key Agreement. "
+"Must be a string of 32 hexadecimal characters."
msgstr ""
-"Der vorinstallierte CAK (Connectivity Association Key) für die MACSec-"
-"Schlüsselvereinbarung."
-#: src/libnmc-setting/settings-docs.h.in:230
+#: src/libnmc-setting/settings-docs.h.in:240
msgid "Flags indicating how to handle the \"mka-cak\" property."
msgstr ""
-"Flags, die angeben, wie mit der Eigenschaft \"mka-cak\" verfahren werden "
-"soll."
+"Flags, die angeben, wie mit der Eigenschaft »mka-cak« verfahren werden soll."
-#: src/libnmc-setting/settings-docs.h.in:231
+#: src/libnmc-setting/settings-docs.h.in:241
msgid ""
"The pre-shared CKN (Connectivity-association Key Name) for MACsec Key "
-"Agreement."
+"Agreement. Must be a string of hexadecimal characters with a even length "
+"between 2 and 64."
msgstr ""
-"Der vorab freigegebene CKN (Connectivity-association Key Name) für die "
-"MACsec-Schlüsselvereinbarung."
+"Der vorab freigegebene CKN (Connectivity-association Key Name) für die MACsec-"
+"Schlüsselvereinbarung."
-#: src/libnmc-setting/settings-docs.h.in:232
+#: src/libnmc-setting/settings-docs.h.in:242
msgid ""
"Specifies how the CAK (Connectivity Association Key) for MKA (MACsec Key "
"Agreement) is obtained."
@@ -8617,126 +8607,130 @@ msgstr ""
"Gibt an, wie der CAK (Connectivity Association Key) für MKA (MACsec Key "
"Agreement) abgerufen wird."
-#: src/libnmc-setting/settings-docs.h.in:233
+#: src/libnmc-setting/settings-docs.h.in:243
msgid ""
"If given, specifies the parent interface name or parent connection UUID from "
"which this MACSEC interface should be created. If this property is not "
"specified, the connection must contain an \"802-3-ethernet\" setting with a "
"\"mac-address\" property."
msgstr ""
-"Gibt den übergeordneten Schnittstellennamen oder die übergeordnete "
-"Verbindungs-UUID an, aus der diese MACSEC-Schnittstelle erstellt werden "
-"soll. Wenn diese Eigenschaft nicht angegeben ist, muss die Verbindung eine "
-"\"802-3-ethernet\" -Einstellung mit einer Eigenschaft \"mac-address\" "
-"enthalten."
+"Falls angegeben, gibt sie den Namen der übergeordneten Schnittstelle oder die "
+"UUID der übergeordneten Verbindung an, von der aus diese MACSEC-Schnittstelle "
+"erstellt werden soll. Wird diese Eigenschaft nicht angegeben, muss die "
+"Verbindung eine »802-3-ethernet«-Einstellung mit einer »mac-address«-"
+"Eigenschaft enthalten."
-#: src/libnmc-setting/settings-docs.h.in:234
+#: src/libnmc-setting/settings-docs.h.in:244
msgid ""
-"The port component of the SCI (Secure Channel Identifier), between 1 and "
-"65534."
+"The port component of the SCI (Secure Channel Identifier), between 1 and 65534."
msgstr ""
-"Die Port-Komponente des SCI (Secure Channel Identifier), zwischen 1 und "
-"65534."
+"Die Port-Komponente des SCI (Secure Channel Identifier), zwischen 1 und 65534."
-#: src/libnmc-setting/settings-docs.h.in:235
+#: src/libnmc-setting/settings-docs.h.in:245
msgid ""
"Specifies whether the SCI (Secure Channel Identifier) is included in every "
"packet."
msgstr ""
"Gibt an, ob der SCI (Secure Channel Identifier) ​​in jedem Paket enthalten ist."
-#: src/libnmc-setting/settings-docs.h.in:236
+#: src/libnmc-setting/settings-docs.h.in:246
msgid "Specifies the validation mode for incoming frames."
msgstr "Gibt den Validierungsmodus für eingehende Frames an."
-#: src/libnmc-setting/settings-docs.h.in:237
+#: src/libnmc-setting/settings-docs.h.in:247
msgid ""
-"The macvlan mode, which specifies the communication mechanism between "
-"multiple macvlans on the same lower device."
+"The macvlan mode, which specifies the communication mechanism between multiple "
+"macvlans on the same lower device."
msgstr ""
"Der Macvlan-Modus, der den Kommunikationsmechanismus zwischen mehreren "
"Macvlans auf demselben unteren Gerät angibt."
-#: src/libnmc-setting/settings-docs.h.in:238
+#: src/libnmc-setting/settings-docs.h.in:248
msgid ""
"If given, specifies the parent interface name or parent connection UUID from "
"which this MAC-VLAN interface should be created. If this property is not "
"specified, the connection must contain an \"802-3-ethernet\" setting with a "
"\"mac-address\" property."
msgstr ""
-"Gibt den übergeordneten Schnittstellennamen oder die übergeordnete "
-"Verbindungs-UUID an, aus der diese MAC-VLAN-Schnittstelle erstellt werden "
-"soll. Wenn diese Eigenschaft nicht angegeben ist, muss die Verbindung eine "
-"\"802-3-ethernet\" -Einstellung mit einer Eigenschaft \"mac-address\" "
-"enthalten."
+"Falls angegeben, gibt sie den Namen der übergeordneten Schnittstelle oder die "
+"UUID der übergeordneten Verbindung an, von der diese MAC-VLAN-Schnittstelle "
+"erstellt werden soll. Wird diese Eigenschaft nicht angegeben, muss die "
+"Verbindung eine »802-3-ethernet«-Einstellung mit einer »mac-address«-"
+"Eigenschaft enthalten."
-#: src/libnmc-setting/settings-docs.h.in:239
+#: src/libnmc-setting/settings-docs.h.in:249
msgid "Whether the interface should be put in promiscuous mode."
msgstr "Ob die Schnittstelle in Promiscuous-Modus gesetzt werden soll."
-#: src/libnmc-setting/settings-docs.h.in:240
+#: src/libnmc-setting/settings-docs.h.in:250
msgid "Whether the interface should be a MACVTAP."
msgstr "Ob die Schnittstelle ein MACVTAP sein soll."
-#: src/libnmc-setting/settings-docs.h.in:241
+#: src/libnmc-setting/settings-docs.h.in:251
msgid ""
-"A list of driver names to match. Each element is a shell wildcard pattern. "
-"See NMSettingMatch:interface-name for how special characters '|', '&', '!' "
-"and '\\' are used for optional and mandatory matches and inverting the "
-"pattern."
+"A list of driver names to match. Each element is a shell wildcard pattern. See "
+"NMSettingMatch:interface-name for how special characters '|', '&', '!' and "
+"'\\' are used for optional and mandatory matches and inverting the pattern."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:242
+#: src/libnmc-setting/settings-docs.h.in:252
msgid ""
-"A list of interface names to match. Each element is a shell wildcard "
-"pattern. An element can be prefixed with a pipe symbol (|) or an ampersand "
-"(&). The former means that the element is optional and the latter means that "
-"it is mandatory. If there are any optional elements, than the match "
-"evaluates to true if at least one of the optional element matches (logical "
-"OR). If there are any mandatory elements, then they all must match (logical "
-"AND). By default, an element is optional. This means that an element \"foo\" "
-"behaves the same as \"|foo\". An element can also be inverted with "
-"exclamation mark (!) between the pipe symbol (or the ampersand) and before "
-"the pattern. Note that \"!foo\" is a shortcut for the mandatory match \"&!"
-"foo\". Finally, a backslash can be used at the beginning of the element "
-"(after the optional special characters) to escape the start of the pattern. "
-"For example, \"&\\!a\" is an mandatory match for literally \"!a\"."
+"A list of interface names to match. Each element is a shell wildcard pattern. "
+"An element can be prefixed with a pipe symbol (|) or an ampersand (&). The "
+"former means that the element is optional and the latter means that it is "
+"mandatory. If there are any optional elements, than the match evaluates to "
+"true if at least one of the optional element matches (logical OR). If there "
+"are any mandatory elements, then they all must match (logical AND). By "
+"default, an element is optional. This means that an element \"foo\" behaves "
+"the same as \"|foo\". An element can also be inverted with exclamation mark "
+"(!) between the pipe symbol (or the ampersand) and before the pattern. Note "
+"that \"!foo\" is a shortcut for the mandatory match \"&!foo\". Finally, a "
+"backslash can be used at the beginning of the element (after the optional "
+"special characters) to escape the start of the pattern. For example, \"&\\!a\" "
+"is an mandatory match for literally \"!a\"."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:243
+#: src/libnmc-setting/settings-docs.h.in:253
msgid ""
"A list of kernel command line arguments to match. This may be used to check "
"whether a specific kernel command line option is set (or unset, if prefixed "
"with the exclamation mark). The argument must either be a single word, or an "
"assignment (i.e. two words, joined by \"=\"). In the former case the kernel "
-"command line is searched for the word appearing as is, or as left hand side "
-"of an assignment. In the latter case, the exact assignment is looked for "
-"with right and left hand side matching. Wildcard patterns are not supported. "
-"See NMSettingMatch:interface-name for how special characters '|', '&', '!' "
-"and '\\' are used for optional and mandatory matches and inverting the match."
+"command line is searched for the word appearing as is, or as left hand side of "
+"an assignment. In the latter case, the exact assignment is looked for with "
+"right and left hand side matching. Wildcard patterns are not supported. See "
+"NMSettingMatch:interface-name for how special characters '|', '&', '!' and "
+"'\\' are used for optional and mandatory matches and inverting the match."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:244
+#: src/libnmc-setting/settings-docs.h.in:254
msgid ""
-"A list of paths to match against the ID_PATH udev property of devices. "
-"ID_PATH represents the topological persistent path of a device. It typically "
-"contains a subsystem string (pci, usb, platform, etc.) and a subsystem-"
-"specific identifier. For PCI devices the path has the form \"pci-$domain:"
-"$bus:$device.$function\", where each variable is an hexadecimal value; for "
-"example \"pci-0000:0a:00.0\". The path of a device can be obtained with "
-"\"udevadm info /sys/class/net/$dev | grep ID_PATH=\" or by looking at the "
-"\"path\" property exported by NetworkManager (\"nmcli -f general.path device "
-"show $dev\"). Each element of the list is a shell wildcard pattern. See "
+"A list of paths to match against the ID_PATH udev property of devices. ID_PATH "
+"represents the topological persistent path of a device. It typically contains "
+"a subsystem string (pci, usb, platform, etc.) and a subsystem-specific "
+"identifier. For PCI devices the path has the form \"pci-$domain:$bus:$device."
+"$function\", where each variable is an hexadecimal value; for example "
+"\"pci-0000:0a:00.0\". The path of a device can be obtained with \"udevadm "
+"info /sys/class/net/$dev | grep ID_PATH=\" or by looking at the \"path\" "
+"property exported by NetworkManager (\"nmcli -f general.path device show "
+"$dev\"). Each element of the list is a shell wildcard pattern. See "
"NMSettingMatch:interface-name for how special characters '|', '&', '!' and "
"'\\' are used for optional and mandatory matches and inverting the pattern."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:245
+#: src/libnmc-setting/settings-docs.h.in:255
+#, fuzzy
msgid "Channel on which the mesh network to join is located."
-msgstr "Kanal, auf dem sich das zu verknüpfende Mesh-Netzwerk befindet."
+msgstr ""
+"Der Kanal, auf dem sich das Mesh-Netzwerk befindet, dem beigetreten werden "
+"soll."
-#: src/libnmc-setting/settings-docs.h.in:246
+#: src/libnmc-setting/settings-docs.h.in:256
#, fuzzy
+#| msgid ""
+#| "Anycast DHCP MAC address used when requesting an IP address via DHCP. The "
+#| "specific anycast address used determines which DHCP server class answers "
+#| "the request."
msgid ""
"Anycast DHCP MAC address used when requesting an IP address via DHCP. The "
"specific anycast address used determines which DHCP server class answers the "
@@ -8746,352 +8740,362 @@ msgstr ""
"DHCP verwendet wird. Die eingesetzte Anycast-Adresse bestimmt, welche DHCP-"
"Serverklasse die Anfrage beantwortet."
-#: src/libnmc-setting/settings-docs.h.in:247
+#: src/libnmc-setting/settings-docs.h.in:257
msgid "SSID of the mesh network to join."
-msgstr "SSID des zu verknüpfenden Mesh-Netzwerks."
+msgstr "SSID des Mesh-Netzwerks, dem beigetreten werden soll."
-#: src/libnmc-setting/settings-docs.h.in:248
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:258
msgid "The data path type. One of \"system\", \"netdev\" or empty."
msgstr ""
-"Der Bridge-Fehlermodus. Einer von \"sicher\", \"Standalone\" oder leer."
-#: src/libnmc-setting/settings-docs.h.in:249
+#: src/libnmc-setting/settings-docs.h.in:259
msgid "The bridge failure mode. One of \"secure\", \"standalone\" or empty."
-msgstr ""
-"Der Bridge-Fehlermodus. Einer von \"sicher\", \"Standalone\" oder leer."
+msgstr "Der Bridge-Fehlermodus. Einer von »secure«, »standalone« oder leer."
-#: src/libnmc-setting/settings-docs.h.in:250
+#: src/libnmc-setting/settings-docs.h.in:260
msgid "Enable or disable multicast snooping."
msgstr "Aktivieren oder deaktivieren Sie Multicast-Snooping."
-#: src/libnmc-setting/settings-docs.h.in:251
+#: src/libnmc-setting/settings-docs.h.in:261
msgid "Enable or disable RSTP."
msgstr "RSTP ein- oder ausschalten."
-#: src/libnmc-setting/settings-docs.h.in:252
+#: src/libnmc-setting/settings-docs.h.in:262
msgid "Enable or disable STP."
msgstr "STP ein- oder ausschalten."
-#: src/libnmc-setting/settings-docs.h.in:253
+#: src/libnmc-setting/settings-docs.h.in:263
#, fuzzy
msgid "Open vSwitch DPDK device arguments."
msgstr "OpenVSwitch-Port"
-#: src/libnmc-setting/settings-docs.h.in:254
+#: src/libnmc-setting/settings-docs.h.in:264
msgid ""
"Open vSwitch DPDK number of rx queues. Defaults to zero which means to leave "
"the parameter in OVS unspecified and effectively configures one queue."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:255
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:265
+msgid ""
+"The rx queue size (number of rx descriptors) for DPDK ports. Must be zero or a "
+"power of 2 between 1 and 4096, and supported by the hardware. Defaults to zero "
+"which means to leave the parameter in OVS unspecified and effectively "
+"configures 2048 descriptors."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:266
+msgid ""
+"The tx queue size (number of tx descriptors) for DPDK ports. Must be zero or a "
+"power of 2 between 1 and 4096, and supported by the hardware. Defaults to zero "
+"which means to leave the parameter in OVS unspecified and effectively "
+"configures 2048 descriptors."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:267
+msgid ""
+"Open vSwitch openflow port number. Defaults to zero which means that port "
+"number will not be specified and it will be chosen randomly by ovs. OpenFlow "
+"ports are the network interfaces for passing packets between OpenFlow "
+"processing and the rest of the network. OpenFlow switches connect logically to "
+"each other via their OpenFlow ports."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:268
msgid ""
"The interface type. Either \"internal\", \"system\", \"patch\", \"dpdk\", or "
"empty."
-msgstr "Der Schnittstellentyp. Entweder \"intern\" oder leer."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:256
+#: src/libnmc-setting/settings-docs.h.in:269
msgid ""
-"Specifies the name of the interface for the other side of the patch. The "
-"patch on the other side must also set this interface as peer."
+"Specifies the name of the interface for the other side of the patch. The patch "
+"on the other side must also set this interface as peer."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:257
+#: src/libnmc-setting/settings-docs.h.in:270
msgid "The time port must be inactive in order to be considered down."
msgstr ""
"Der Zeitport muss inaktiv sein, damit er als inaktiv betrachtet werden kann."
-#: src/libnmc-setting/settings-docs.h.in:258
+#: src/libnmc-setting/settings-docs.h.in:271
msgid ""
"Bonding mode. One of \"active-backup\", \"balance-slb\", or \"balance-tcp\"."
msgstr ""
-"Bindungsmodus. Einer von \"active-backup\", \"balance-slb\" oder \"balance-"
-"tcp\"."
-#: src/libnmc-setting/settings-docs.h.in:259
+#: src/libnmc-setting/settings-docs.h.in:272
msgid "The time port must be active before it starts forwarding traffic."
msgstr ""
"Der Zeitport muss aktiv sein, bevor er mit dem Weiterleiten von Datenverkehr "
"beginnt."
-#: src/libnmc-setting/settings-docs.h.in:260
+#: src/libnmc-setting/settings-docs.h.in:273
msgid "LACP mode. One of \"active\", \"off\", or \"passive\"."
-msgstr "LACP-Modus. Einer von \"aktiv\", \"aus\" oder \"passiv\"."
+msgstr "LACP-Modus. Einer von »active«, »off« oder »passive«."
-#: src/libnmc-setting/settings-docs.h.in:261
+#: src/libnmc-setting/settings-docs.h.in:274
msgid "The VLAN tag in the range 0-4095."
msgstr "Die VLAN-Kennung im Bereich 0-4095"
-#: src/libnmc-setting/settings-docs.h.in:262
+#: src/libnmc-setting/settings-docs.h.in:275
+msgid ""
+"A list of VLAN ranges that this port trunks. The property is valid only for "
+"ports with mode \"trunk\", \"native-tagged\", or \"native-untagged port\". If "
+"it is empty, the port trunks all VLANs."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:276
msgid ""
"The VLAN mode. One of \"access\", \"native-tagged\", \"native-untagged\", "
-"\"trunk\" or unset."
+"\"trunk\", \"dot1q-tunnel\" or unset."
msgstr ""
-"Der VLAN-Modus. Eines von \"access\", \"native-getaggt\", \"native-"
-"untagged\", \"trunk\" oder unset."
-#: src/libnmc-setting/settings-docs.h.in:263
+#: src/libnmc-setting/settings-docs.h.in:277
msgid ""
-"If non-zero, instruct pppd to set the serial port to the specified "
-"baudrate. This value should normally be left as 0 to automatically choose "
-"the speed."
+"If non-zero, instruct pppd to set the serial port to the specified baudrate. "
+"This value should normally be left as 0 to automatically choose the speed."
msgstr ""
-"Wenn ungleich Null, weisen Sie pppd an, den seriellen Port auf die "
-"angegebene Baudrate zu setzen. Dieser Wert sollte normalerweise 0 bleiben, "
-"um automatisch die Geschwindigkeit zu wählen."
+"Wenn ungleich Null, weisen Sie pppd an, den seriellen Port auf die angegebene "
+"Baudrate zu setzen. Dieser Wert sollte normalerweise 0 bleiben, um automatisch "
+"die Geschwindigkeit zu wählen."
-#: src/libnmc-setting/settings-docs.h.in:264
+#: src/libnmc-setting/settings-docs.h.in:278
msgid ""
"If TRUE, specify that pppd should set the serial port to use hardware flow "
-"control with RTS and CTS signals. This value should normally be set to "
-"FALSE."
+"control with RTS and CTS signals. This value should normally be set to FALSE."
msgstr ""
-"Wenn TRUE, geben Sie an, dass pppd den seriellen Anschluss für die "
-"Verwendung der Hardware-Flusssteuerung mit RTS- und CTS-Signalen festlegen "
-"soll. Dieser Wert sollte normalerweise auf FALSE gesetzt werden."
+"Wenn TRUE, geben Sie an, dass pppd den seriellen Anschluss für die Verwendung "
+"der Hardware-Flowsteuerung mit RTS- und CTS-Signalen festlegen soll. Dieser "
+"Wert sollte normalerweise auf FALSE gesetzt werden."
-#: src/libnmc-setting/settings-docs.h.in:265
+#: src/libnmc-setting/settings-docs.h.in:279
msgid ""
-"If non-zero, instruct pppd to presume the connection to the peer has failed "
-"if the specified number of LCP echo-requests go unanswered by the peer. The "
+"If non-zero, instruct pppd to presume the connection to the peer has failed if "
+"the specified number of LCP echo-requests go unanswered by the peer. The "
"\"lcp-echo-interval\" property must also be set to a non-zero value if this "
"property is used."
msgstr ""
-"Wenn nicht Null, weisen Sie pppd an, dass die Verbindung zum Peer "
-"fehlgeschlagen ist, wenn die angegebene Anzahl von LCP-Echoanforderungen vom "
-"Peer nicht beantwortet wird. Die Eigenschaft \"lcp-echo-interval\" muss auch "
-"auf einen Wert ungleich Null gesetzt werden, wenn diese Eigenschaft "
-"verwendet wird."
+"Wenn ungleich Null, wird pppd angewiesen, davon auszugehen, dass die "
+"Verbindung zur Gegenstelle fehlgeschlagen ist, wenn die angegebene Anzahl von "
+"LCP-Echo-Anfragen von der Gegenstelle nicht beantwortet wurde. Die "
+"Eigenschaft »lcp-echo-interval« muss ebenfalls auf einen Wert ungleich Null "
+"gesetzt werden, wenn diese Eigenschaft verwendet wird."
-#: src/libnmc-setting/settings-docs.h.in:266
+#: src/libnmc-setting/settings-docs.h.in:280
msgid ""
-"If non-zero, instruct pppd to send an LCP echo-request frame to the peer "
-"every n seconds (where n is the specified value). Note that some PPP peers "
-"will respond to echo requests and some will not, and it is not possible to "
+"If non-zero, instruct pppd to send an LCP echo-request frame to the peer every "
+"n seconds (where n is the specified value). Note that some PPP peers will "
+"respond to echo requests and some will not, and it is not possible to "
"autodetect this."
msgstr ""
-"Wenn der Wert nicht null ist, weisen Sie pppd an, alle n Sekunden einen LCP-"
-"Echoanforderungsrahmen an den Peer zu senden (wobei n der angegebene Wert "
-"ist). Beachten Sie, dass einige PPP-Peers auf Echoanforderungen reagieren "
-"und andere nicht, und es ist nicht möglich, dies automatisch zu erkennen."
+"Wenn ungleich Null, wird pppd angewiesen, alle n Sekunden einen LCP-Echo-"
+"Anfrage-Frame an die Gegenstelle zu senden (wobei n der angegebene Wert ist). "
+"Beachten Sie, dass einige PPP-Gegenstellen auf Echo-Anfragen antworten und "
+"andere nicht, und es ist nicht möglich, dies automatisch zu erkennen."
-#: src/libnmc-setting/settings-docs.h.in:267
+#: src/libnmc-setting/settings-docs.h.in:281
msgid ""
"If TRUE, stateful MPPE is used. See pppd documentation for more information "
"on stateful MPPE."
msgstr ""
-"Wenn TRUE, wird Stateful MPPE verwendet. Weitere Informationen zu Stateful "
+"Wenn TRUE, wird Stateful MPPE verwendet. Weitere Informationen zu Stateful "
"MPPE finden Sie in der Dokumentation zu pppd."
-#: src/libnmc-setting/settings-docs.h.in:268
+#: src/libnmc-setting/settings-docs.h.in:282
msgid ""
"If non-zero, instruct pppd to request that the peer send packets no larger "
-"than the specified size. If non-zero, the MRU should be between 128 and "
-"16384."
+"than the specified size. If non-zero, the MRU should be between 128 and 16384."
msgstr ""
-"Wenn nicht Null, weisen Sie pppd an, dass der Peer Pakete sendet, die nicht "
-"größer als die angegebene Größe sind. Wenn sie nicht Null ist, sollte die "
-"MRU zwischen 128 und 16384 liegen."
+"Wenn ungleich Null, weisen Sie pppd an, dass die Gegenstelle Pakete sendet, "
+"die nicht größer als die angegebene Größe sind. Wenn ungleich Null, sollte "
+"die MRU zwischen 128 und 16384 liegen."
-#: src/libnmc-setting/settings-docs.h.in:269
+#: src/libnmc-setting/settings-docs.h.in:283
msgid ""
"If non-zero, instruct pppd to send packets no larger than the specified size."
msgstr ""
-"Wenn nicht Null, weisen Sie pppd an, Pakete zu senden, die nicht größer als "
+"Wenn ungleich Null, weisen Sie pppd an, Pakete zu senden, die nicht größer als "
"die angegebene Größe sind."
-#: src/libnmc-setting/settings-docs.h.in:270
+#: src/libnmc-setting/settings-docs.h.in:284
msgid "If TRUE, Van Jacobsen TCP header compression will not be requested."
msgstr ""
"Wenn TRUE, wird die Van Jacobsen TCP Header-Komprimierung nicht angefordert."
-#: src/libnmc-setting/settings-docs.h.in:271
+#: src/libnmc-setting/settings-docs.h.in:285
msgid ""
"If TRUE, do not require the other side (usually the PPP server) to "
-"authenticate itself to the client. If FALSE, require authentication from "
-"the remote side. In almost all cases, this should be TRUE."
+"authenticate itself to the client. If FALSE, require authentication from the "
+"remote side. In almost all cases, this should be TRUE."
msgstr ""
-"Wenn TRUE, muss die andere Seite (normalerweise der PPP-Server) sich nicht "
-"beim Client authentifizieren. Wenn FALSE, muss die Authentifizierung von der "
-"Gegenseite erfolgen. In fast allen Fällen sollte dies TRUE sein."
+"Wenn TRUE, muss sich die andere Seite (normalerweise der PPP-Server) nicht "
+"beim Client authentifizieren. Wenn FALSE, muss die Authentifizierung von der "
+"Gegenseite erfolgen. In fast allen Fällen sollte dies TRUE sein."
-#: src/libnmc-setting/settings-docs.h.in:272
+#: src/libnmc-setting/settings-docs.h.in:286
msgid "If TRUE, BSD compression will not be requested."
msgstr "Legt fest, ob BSD-Datenkomprimierung nicht angefordert werden soll."
-#: src/libnmc-setting/settings-docs.h.in:273
+#: src/libnmc-setting/settings-docs.h.in:287
msgid "If TRUE, \"deflate\" compression will not be requested."
-msgstr ""
-"Legt fest, ob die »deflate«-Komprimierung nicht angefordert werden soll."
+msgstr "Legt fest, ob die »deflate«-Komprimierung nicht angefordert werden soll."
-#: src/libnmc-setting/settings-docs.h.in:274
+#: src/libnmc-setting/settings-docs.h.in:288
msgid "If TRUE, the CHAP authentication method will not be used."
msgstr "Legt fest, ob CHAP-Legitimierung nicht verwendet werden soll."
-#: src/libnmc-setting/settings-docs.h.in:275
+#: src/libnmc-setting/settings-docs.h.in:289
msgid "If TRUE, the EAP authentication method will not be used."
msgstr "Legt fest, ob EAP-Legitimierung nicht verwendet werden soll."
-#: src/libnmc-setting/settings-docs.h.in:276
+#: src/libnmc-setting/settings-docs.h.in:290
msgid "If TRUE, the MSCHAP authentication method will not be used."
msgstr "Legt fest, ob CHAP-Legitimierung nicht verwendet werden soll."
-#: src/libnmc-setting/settings-docs.h.in:277
+#: src/libnmc-setting/settings-docs.h.in:291
msgid "If TRUE, the MSCHAPv2 authentication method will not be used."
msgstr "Legt fest, ob MSCHAPv2-Legitimierung nicht verwendet werden soll."
-#: src/libnmc-setting/settings-docs.h.in:278
+#: src/libnmc-setting/settings-docs.h.in:292
msgid "If TRUE, the PAP authentication method will not be used."
msgstr "Legt fest, ob PAP-Legitimierung nicht verwendet werden soll."
-#: src/libnmc-setting/settings-docs.h.in:279
+#: src/libnmc-setting/settings-docs.h.in:293
msgid ""
"If TRUE, MPPE (Microsoft Point-to-Point Encryption) will be required for the "
"PPP session. If either 64-bit or 128-bit MPPE is not available the session "
"will fail. Note that MPPE is not used on mobile broadband connections."
msgstr ""
"Wenn TRUE, wird MPPE (Microsoft Point-to-Point-Verschlüsselung) für die PPP-"
-"Sitzung benötigt. Wenn entweder 64-Bit- oder 128-Bit-MPPE nicht verfügbar "
-"ist, schlägt die Sitzung fehl. Beachten Sie, dass MPPE nicht für mobile "
+"Sitzung benötigt. Wenn entweder 64-Bit- oder 128-Bit-MPPE nicht verfügbar "
+"ist, schlägt die Sitzung fehl. Beachten Sie, dass MPPE nicht für mobile "
"Breitbandverbindungen verwendet wird."
-#: src/libnmc-setting/settings-docs.h.in:280
+#: src/libnmc-setting/settings-docs.h.in:294
msgid ""
"If TRUE, 128-bit MPPE (Microsoft Point-to-Point Encryption) will be required "
"for the PPP session, and the \"require-mppe\" property must also be set to "
"TRUE. If 128-bit MPPE is not available the session will fail."
msgstr ""
"Wenn TRUE, wird 128-Bit-MPPE (Microsoft-Point-to-Point-Verschlüsselung) für "
-"die PPP-Sitzung benötigt, und die Eigenschaft \"require-mppe\" muss "
-"ebenfalls auf TRUE gesetzt sein. Wenn 128-Bit-MPPE nicht verfügbar ist, "
-"schlägt die Sitzung fehl."
+"die PPP-Sitzung benötigt, und die Eigenschaft »require-mppe« muss ebenfalls "
+"auf TRUE gesetzt sein. Wenn 128-Bit-MPPE nicht verfügbar ist, schlägt die "
+"Sitzung fehl."
-#: src/libnmc-setting/settings-docs.h.in:281
+#: src/libnmc-setting/settings-docs.h.in:295
msgid ""
"If given, specifies the parent interface name on which this PPPoE connection "
"should be created. If this property is not specified, the connection is "
"activated on the interface specified in \"interface-name\" of "
"NMSettingConnection."
msgstr ""
-"Gibt den Namen der übergeordneten Schnittstelle an, auf der diese PPPoE-"
-"Verbindung erstellt werden soll. Wenn diese Eigenschaft nicht angegeben "
-"wird, wird die Verbindung auf der Schnittstelle aktiviert, die in "
-"\"interface-name\" von NMSettingConnection angegeben ist."
+"Falls angegeben, gibt den Namen der übergeordneten Schnittstelle an, auf der "
+"diese PPPoE-Verbindung erstellt werden soll. Wenn diese Eigenschaft nicht "
+"angegeben wird, wird die Verbindung auf der Schnittstelle aktiviert, die in "
+"»interface-name« von NMSettingConnection angegeben ist."
-#: src/libnmc-setting/settings-docs.h.in:282
+#: src/libnmc-setting/settings-docs.h.in:296
msgid "Password used to authenticate with the PPPoE service."
msgstr "Zur Legitimierung am PPPoE-Dienst verwendetes Passwort."
-#: src/libnmc-setting/settings-docs.h.in:284
+#: src/libnmc-setting/settings-docs.h.in:298
msgid ""
"If specified, instruct PPPoE to only initiate sessions with access "
"concentrators that provide the specified service. For most providers, this "
"should be left blank. It is only required if there are multiple access "
"concentrators or a specific service is known to be required."
msgstr ""
-"Wenn angegeben, weisen Sie PPPoE an, nur Sitzungen mit "
-"Zugriffskonzentratoren zu initiieren, die den angegebenen Dienst "
-"bereitstellen. Für die meisten Anbieter sollte dies leer bleiben. Es ist nur "
-"erforderlich, wenn mehrere Zugriffskonzentratoren vorhanden sind oder ein "
-"bestimmter Dienst bekannt ist."
+"Falls angegeben, weisen Sie PPPoE an, nur Sitzungen mit Zugriffskonzentratoren "
+"zu initiieren, die den angegebenen Dienst bereitstellen. Für die meisten "
+"Anbieter sollte dies leer bleiben. Es ist nur erforderlich, wenn mehrere "
+"Zugriffskonzentratoren vorhanden sind oder ein bestimmter Dienst bekannt ist."
-#: src/libnmc-setting/settings-docs.h.in:285
+#: src/libnmc-setting/settings-docs.h.in:299
msgid "Username used to authenticate with the PPPoE service."
msgstr "Zur Legitimierung am PPPoE-Dienst verwendeter Benutzername."
-#: src/libnmc-setting/settings-docs.h.in:286
+#: src/libnmc-setting/settings-docs.h.in:300
msgid "Whether the proxy configuration is for browser only."
msgstr "Legt fest, ob die Proxy-Konfiguration nur für Browser gilt."
-#: src/libnmc-setting/settings-docs.h.in:287
-msgid ""
-"Method for proxy configuration, Default is NM_SETTING_PROXY_METHOD_NONE (0)"
+#: src/libnmc-setting/settings-docs.h.in:301
+#, fuzzy
+#| msgid ""
+#| "Method for proxy configuration, Default is NM_SETTING_PROXY_METHOD_NONE (0)"
+msgid "Method for proxy configuration, Default is \"none\" (0)"
msgstr ""
"Methode der Proxy-Konfiguration, Voreinstellung ist "
"NM_SETTING_PROXY_METHOD_NONE (0)"
-#: src/libnmc-setting/settings-docs.h.in:288
+#: src/libnmc-setting/settings-docs.h.in:302
msgid ""
"The PAC script. In the profile this must be an UTF-8 encoded javascript code "
-"that defines a FindProxyForURL() function. When setting the property in "
-"nmcli, a filename is accepted too. In that case, nmcli will read the content "
-"of the file and set the script. The prefixes \"file://\" and \"js://\" are "
-"supported to explicitly differentiate between the two."
+"that defines a FindProxyForURL() function. When setting the property in nmcli, "
+"a filename is accepted too. In that case, nmcli will read the content of the "
+"file and set the script. The prefixes \"file://\" and \"js://\" are supported "
+"to explicitly differentiate between the two."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:289
+#: src/libnmc-setting/settings-docs.h.in:303
msgid "PAC URL for obtaining PAC file."
msgstr "PAC-Adresse zum Holen der PAC-Datei."
-#: src/libnmc-setting/settings-docs.h.in:290
+#: src/libnmc-setting/settings-docs.h.in:304
msgid ""
"Speed to use for communication over the serial port. Note that this value "
"usually has no effect for mobile broadband modems as they generally ignore "
"speed settings and use the highest available speed."
msgstr ""
-"Geschwindigkeit für die Kommunikation über die serielle Schnittstelle. "
-"Beachten Sie, dass dieser Wert für mobile Breitbandmodems normalerweise "
-"keine Auswirkungen hat, da die Geschwindigkeitseinstellungen normalerweise "
-"ignoriert werden und die höchste verfügbare Geschwindigkeit verwendet wird."
+"Geschwindigkeit für die Kommunikation über die serielle Schnittstelle. "
+"Beachten Sie, dass dieser Wert für mobile Breitbandmodems normalerweise keine "
+"Auswirkungen hat, da die Geschwindigkeitseinstellungen normalerweise ignoriert "
+"werden und die höchste verfügbare Geschwindigkeit verwendet wird."
-#: src/libnmc-setting/settings-docs.h.in:291
+#: src/libnmc-setting/settings-docs.h.in:305
msgid "Byte-width of the serial communication. The 8 in \"8n1\" for example."
-msgstr ""
-"Byte-Breite der seriellen Kommunikation. Die 8 in \"8n1\" zum Beispiel."
+msgstr "Byte-Breite der seriellen Kommunikation. Die 8 in »8n1« zum Beispiel."
-#: src/libnmc-setting/settings-docs.h.in:292
+#: src/libnmc-setting/settings-docs.h.in:306
msgid "Parity setting of the serial port."
msgstr "Paritätseinstellung des seriellen Ports."
-#: src/libnmc-setting/settings-docs.h.in:293
+#: src/libnmc-setting/settings-docs.h.in:307
msgid "Time to delay between each byte sent to the modem, in microseconds."
msgstr ""
"Verzögerungszeit zwischen jedem Byte, das an das Modem gesendet wird, in "
"Mikrosekunden."
-#: src/libnmc-setting/settings-docs.h.in:294
+#: src/libnmc-setting/settings-docs.h.in:308
msgid ""
-"Number of stop bits for communication on the serial port. Either 1 or 2. "
-"The 1 in \"8n1\" for example."
+"Number of stop bits for communication on the serial port. Either 1 or 2. The "
+"1 in \"8n1\" for example."
msgstr ""
-"Anzahl der Stoppbits für die Kommunikation an der seriellen Schnittstelle. "
-"Entweder 1 oder 2. Die 1 in \"8n1\" zum Beispiel."
+"Anzahl der Stoppbits für die Kommunikation an der seriellen Schnittstelle. "
+"Entweder 1 oder 2. Die 1 in »8n1« zum Beispiel."
-#: src/libnmc-setting/settings-docs.h.in:295
+#: src/libnmc-setting/settings-docs.h.in:309
msgid ""
"Whether to autoprobe virtual functions by a compatible driver. If set to "
-"NM_TERNARY_TRUE (1), the kernel will try to bind VFs to a compatible driver "
-"and if this succeeds a new network interface will be instantiated for each "
-"VF. If set to NM_TERNARY_FALSE (0), VFs will not be claimed and no network "
-"interfaces will be created for them. When set to NM_TERNARY_DEFAULT (-1), "
-"the global default is used; in case the global default is unspecified it is "
-"assumed to be NM_TERNARY_TRUE (1)."
-msgstr ""
-"Gibt an, ob virtuelle Funktionen von einem kompatiblen Treiber automatisch "
-"überprüft werden sollen. Bei NM_TERNARY_TRUE (1) versucht der Kernel, VFs an "
-"einen kompatiblen Treiber zu binden, und wenn dies gelingt, wird für jedes "
-"VF eine neue Netzwerkschnittstelle instanziiert. Wenn NM_TERNARY_FALSE (0) "
-"festgelegt ist, werden VFs nicht beansprucht und es werden keine "
-"Netzwerkschnittstellen für sie erstellt. Wenn NM_TERNARY_DEFAULT (-1) "
-"festgelegt ist, wird der globale Standardwert verwendet. Falls der globale "
-"Standardwert nicht angegeben ist, wird NM_TERNARY_TRUE (1) angenommen."
+"\"true\" (1), the kernel will try to bind VFs to a compatible driver and if "
+"this succeeds a new network interface will be instantiated for each VF. If set "
+"to \"false\" (0), VFs will not be claimed and no network interfaces will be "
+"created for them. When set to \"default\" (-1), the global default is used; in "
+"case the global default is unspecified it is assumed to be \"true\" (1)."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:296
+#: src/libnmc-setting/settings-docs.h.in:310
msgid ""
"The total number of virtual functions to create. Note that when the sriov "
-"setting is present NetworkManager enforces the number of virtual functions "
-"on the interface (also when it is zero) during activation and resets it upon "
+"setting is present NetworkManager enforces the number of virtual functions on "
+"the interface (also when it is zero) during activation and resets it upon "
"deactivation. To prevent any changes to SR-IOV parameters don't add a sriov "
"setting to the connection."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:297
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:311
msgid ""
"Array of virtual function descriptors. Each VF descriptor is a dictionary "
-"mapping attribute names to GVariant values. The 'index' entry is mandatory "
-"for each VF. When represented as string a VF is in the form: \"INDEX "
+"mapping attribute names to GVariant values. The 'index' entry is mandatory for "
+"each VF. When represented as string a VF is in the form: \"INDEX "
"[ATTR=VALUE[ ATTR=VALUE]...]\". for example: \"2 mac=00:11:22:33:44:55 spoof-"
"check=true\". Multiple VFs can be specified using a comma as separator. "
"Currently, the following attributes are supported: mac, spoof-check, trust, "
@@ -9100,181 +9104,169 @@ msgid ""
"form \"ID[.PRIORITY[.PROTO]]\". PROTO can be either 'q' for 802.1Q (the "
"default) or 'ad' for 802.1ad."
msgstr ""
-"Array von virtuellen Funktionsdeskriptoren. Jeder VF-Deskriptor ist ein "
-"Wörterbuch, das Attributnamen den GVariant-Werten zuordnet. Der 'Index'-"
-"Eintrag ist für jeden VF obligatorisch. Bei der Darstellung als String hat "
-"ein VF die Form: \"INDEX [ATTR = VALUE [ATTR = VALUE] ...]\". zum Beispiel: "
-"\"2 mac = 00: 11: 22: 33: 44: 55 spoof-check = true\". Das Attribut "
-"\"vlans\" wird als eine durch Semikolons getrennte Liste von VLAN-"
-"Deskriptoren dargestellt, wobei jeder Deskriptor die Form \"ID [.PRIORITY [."
-"PROTO]]\" hat. PROTO kann entweder 'q' für 802.1Q (Standard) oder 'ad' für "
-"802.1ad sein."
-#: src/libnmc-setting/settings-docs.h.in:298
+#: src/libnmc-setting/settings-docs.h.in:312
msgid ""
"Array of TC queueing disciplines. When the \"tc\" setting is present, qdiscs "
-"from this property are applied upon activation. If the property is empty, "
-"all qdiscs are removed and the device will only have the default qdisc "
-"assigned by kernel according to the \"net.core.default_qdisc\" sysctl. If "
-"the \"tc\" setting is not present, NetworkManager doesn't touch the qdiscs "
-"present on the interface."
+"from this property are applied upon activation. If the property is empty, all "
+"qdiscs are removed and the device will only have the default qdisc assigned by "
+"kernel according to the \"net.core.default_qdisc\" sysctl. If the \"tc\" "
+"setting is not present, NetworkManager doesn't touch the qdiscs present on the "
+"interface."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:299
+#: src/libnmc-setting/settings-docs.h.in:313
msgid ""
-"Array of TC traffic filters. When the \"tc\" setting is present, filters "
-"from this property are applied upon activation. If the property is empty, "
-"NetworkManager removes all the filters. If the \"tc\" setting is not "
-"present, NetworkManager doesn't touch the filters present on the interface."
+"Array of TC traffic filters. When the \"tc\" setting is present, filters from "
+"this property are applied upon activation. If the property is empty, "
+"NetworkManager removes all the filters. If the \"tc\" setting is not present, "
+"NetworkManager doesn't touch the filters present on the interface."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:300
+#: src/libnmc-setting/settings-docs.h.in:314
msgid ""
"The JSON configuration for the team network interface. The property should "
"contain raw JSON configuration data suitable for teamd, because the value is "
"passed directly to teamd. If not specified, the default configuration is "
"used. See man teamd.conf for the format details."
msgstr ""
-"Die JSON-Konfiguration für die Team-Netzwerkschnittstelle. Die Eigenschaft "
-"sollte rohe JSON-Konfigurationsdaten enthalten, die für teamd geeignet sind, "
+"Die JSON-Konfiguration für die Team-Netzwerkschnittstelle. Die Eigenschaft "
+"sollte reine JSON-Konfigurationsdaten enthalten, die für teamd geeignet sind, "
"da der Wert direkt an teamd übergeben wird. Wenn nicht angegeben, wird die "
-"Standardkonfiguration verwendet. Siehe Mann teamd.conf für die Formatdetails."
+"Standardkonfiguration verwendet. Weitere Informationen zu den Formatdetails "
+"finden Sie unter »man teamd.conf«."
-#: src/libnmc-setting/settings-docs.h.in:301
-#: src/libnmc-setting/settings-docs.h.in:319
+#: src/libnmc-setting/settings-docs.h.in:315
+#: src/libnmc-setting/settings-docs.h.in:333
msgid ""
"Link watchers configuration for the connection: each link watcher is defined "
"by a dictionary, whose keys depend upon the selected link watcher. Available "
-"link watchers are 'ethtool', 'nsna_ping' and 'arp_ping' and it is specified "
-"in the dictionary with the key 'name'. Available keys are: ethtool: 'delay-"
-"up', 'delay-down', 'init-wait'; nsna_ping: 'init-wait', 'interval', 'missed-"
-"max', 'target-host'; arp_ping: all the ones in nsna_ping and 'source-host', "
-"'validate-active', 'validate-inactive', 'send-always'. See teamd.conf man "
-"for more details."
-msgstr ""
-"Linkwatcher-Konfiguration für die Verbindung: Jeder Linkwatcher wird durch "
-"ein Wörterbuch definiert, dessen Schlüssel vom ausgewählten Linkwatcher "
-"abhängen. Verfügbare Linkwatcher sind 'ethtool', 'nsna_ping' und 'arp_ping' "
-"und werden im Wörterbuch mit dem Schlüssel 'name' angegeben. Verfügbare "
-"Schlüssel sind: ethtool: 'verzögerung', 'verzögerung', 'init-warte'; "
-"nsna_ping: 'init-wait', 'Intervall', 'verpasst-max', 'Ziel-Host'; arp_ping: "
-"alle in nsna_ping und 'source-host', 'validate-aktiv', 'validate-incative', "
-"'send-always'. Weitere Informationen finden Sie unter teamd.conf man."
+"link watchers are 'ethtool', 'nsna_ping' and 'arp_ping' and it is specified in "
+"the dictionary with the key 'name'. Available keys are: ethtool: 'delay-up', "
+"'delay-down', 'init-wait'; nsna_ping: 'init-wait', 'interval', 'missed-max', "
+"'target-host'; arp_ping: all the ones in nsna_ping and 'source-host', "
+"'validate-active', 'validate-inactive', 'send-always'. See teamd.conf man for "
+"more details."
+msgstr ""
+"Linkwatcher-Konfiguration für die Verbindung: Jeder Linkwatcher wird durch ein "
+"Dictionary definiert, dessen Schlüssel vom ausgewählten Linkwatcher abhängen. "
+"Verfügbare Linkwatcher sind »ethtool«, »nsna_ping« und »arp_ping« und werden "
+"im Dictionary mit dem Schlüssel »name« angegeben. Verfügbare Schlüssel sind: "
+"ethtool: »delay-up«, »Delay-down«, »init-wait«; nsna_ping: »init-wait«, "
+"»interval«, »missed-max«, »target-host«; arp_ping: alle in nsna_ping und "
+"»source-host«, »validate-active«, »validate-inactive«, »send-always«. Weitere "
+"Informationen finden Sie unter »man teamd.conf«."
-#: src/libnmc-setting/settings-docs.h.in:302
+#: src/libnmc-setting/settings-docs.h.in:316
msgid "Corresponds to the teamd mcast_rejoin.count."
-msgstr "Entspricht dem Teamd mcast_rejoin.count."
+msgstr "Entspricht dem teamd mcast_rejoin.count."
-#: src/libnmc-setting/settings-docs.h.in:303
+#: src/libnmc-setting/settings-docs.h.in:317
msgid "Corresponds to the teamd mcast_rejoin.interval."
msgstr "Entspricht dem teamd mcast_rejoin.interval."
-#: src/libnmc-setting/settings-docs.h.in:304
+#: src/libnmc-setting/settings-docs.h.in:318
msgid "Corresponds to the teamd notify_peers.count."
-msgstr "Entspricht dem Teamd notify_peers.count."
+msgstr "Entspricht dem teamd notify_peers.count."
-#: src/libnmc-setting/settings-docs.h.in:305
+#: src/libnmc-setting/settings-docs.h.in:319
msgid "Corresponds to the teamd notify_peers.interval."
-msgstr "Entspricht dem Teamd notify_peers.interval."
+msgstr "Entspricht dem teamd notify_peers.interval."
-#: src/libnmc-setting/settings-docs.h.in:306
+#: src/libnmc-setting/settings-docs.h.in:320
msgid ""
"Corresponds to the teamd runner.name. Permitted values are: \"roundrobin\", "
"\"broadcast\", \"activebackup\", \"loadbalance\", \"lacp\", \"random\"."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:307
+#: src/libnmc-setting/settings-docs.h.in:321
msgid "Corresponds to the teamd runner.active."
-msgstr "Entspricht dem Teamd runner.active."
+msgstr "Entspricht dem teamd runner.active."
-#: src/libnmc-setting/settings-docs.h.in:308
+#: src/libnmc-setting/settings-docs.h.in:322
msgid "Corresponds to the teamd runner.agg_select_policy."
-msgstr "Entspricht der teamd runner.agg_select_policy."
+msgstr "Entspricht dem teamd runner.agg_select_policy."
-#: src/libnmc-setting/settings-docs.h.in:309
+#: src/libnmc-setting/settings-docs.h.in:323
msgid "Corresponds to the teamd runner.fast_rate."
msgstr "Entspricht dem teamd runner.fast_rate."
-#: src/libnmc-setting/settings-docs.h.in:310
+#: src/libnmc-setting/settings-docs.h.in:324
msgid "Corresponds to the teamd runner.hwaddr_policy."
msgstr "Entspricht dem teamd runner.hwaddr_policy."
-#: src/libnmc-setting/settings-docs.h.in:311
+#: src/libnmc-setting/settings-docs.h.in:325
msgid "Corresponds to the teamd runner.min_ports."
msgstr "Entspricht dem teamd runner.min_ports."
-#: src/libnmc-setting/settings-docs.h.in:312
+#: src/libnmc-setting/settings-docs.h.in:326
msgid "Corresponds to the teamd runner.sys_prio."
msgstr "Entspricht dem teamd runner.sys_prio."
-#: src/libnmc-setting/settings-docs.h.in:313
+#: src/libnmc-setting/settings-docs.h.in:327
msgid "Corresponds to the teamd runner.tx_balancer.name."
-msgstr "Entspricht dem Teamd runner.tx_balancer.name."
+msgstr "Entspricht dem teamd runner.tx_balancer.name."
-#: src/libnmc-setting/settings-docs.h.in:314
+#: src/libnmc-setting/settings-docs.h.in:328
msgid "Corresponds to the teamd runner.tx_balancer.interval."
msgstr "Entspricht dem teamd runner.tx_balancer.interval."
-#: src/libnmc-setting/settings-docs.h.in:315
+#: src/libnmc-setting/settings-docs.h.in:329
msgid "Corresponds to the teamd runner.tx_hash."
msgstr "Entspricht dem teamd runner.tx_hash."
-#: src/libnmc-setting/settings-docs.h.in:316
+#: src/libnmc-setting/settings-docs.h.in:330
msgid ""
-"The JSON configuration for the team port. The property should contain raw "
-"JSON configuration data suitable for teamd, because the value is passed "
-"directly to teamd. If not specified, the default configuration is used. See "
-"man teamd.conf for the format details."
+"The JSON configuration for the team port. The property should contain raw JSON "
+"configuration data suitable for teamd, because the value is passed directly to "
+"teamd. If not specified, the default configuration is used. See man teamd.conf "
+"for the format details."
msgstr ""
-"Die JSON-Konfiguration für den Team-Port. Die Eigenschaft sollte rohe JSON-"
-"Konfigurationsdaten enthalten, die für teamd geeignet sind, da der Wert "
-"direkt an teamd übergeben wird. Wenn nicht angegeben, wird die "
-"Standardkonfiguration verwendet. Siehe Mann teamd.conf für die Formatdetails."
+"Die JSON-Konfiguration für den Team-Port. Die Eigenschaft sollte reine JSON-"
+"Konfigurationsdaten enthalten, die für teamd geeignet sind, da der Wert direkt "
+"an teamd übergeben wird. Wenn nicht angegeben, wird die Standardkonfiguration "
+"verwendet. Weitere Informationen zu den Formatdetails finden Sie unter »man "
+"teamd.conf«."
-#: src/libnmc-setting/settings-docs.h.in:317
+#: src/libnmc-setting/settings-docs.h.in:331
msgid "Corresponds to the teamd ports.PORTIFNAME.lacp_key."
msgstr "Entspricht dem teamd ports.PORTIFNAME.lacp_key."
-#: src/libnmc-setting/settings-docs.h.in:318
+#: src/libnmc-setting/settings-docs.h.in:332
msgid "Corresponds to the teamd ports.PORTIFNAME.lacp_prio."
msgstr "Entspricht dem teamd ports.PORTIFNAME.lacp_prio."
-#: src/libnmc-setting/settings-docs.h.in:320
+#: src/libnmc-setting/settings-docs.h.in:334
msgid "Corresponds to the teamd ports.PORTIFNAME.prio."
msgstr "Entspricht dem teamd ports.PORTIFNAME.prio."
-#: src/libnmc-setting/settings-docs.h.in:321
+#: src/libnmc-setting/settings-docs.h.in:335
msgid ""
"Corresponds to the teamd ports.PORTIFNAME.queue_id. When set to -1 means the "
"parameter is skipped from the json config."
msgstr ""
-"Entspricht den Teamd-Ports.PORTIFNAME.queue_id. Wenn der Parameter auf -1 "
-"gesetzt ist, wird der Parameter von der json-Konfiguration aus übersprungen."
+"Entspricht den teamd ports.PORTIFNAME.queue_id. Wenn der Parameter auf -1 "
+"gesetzt ist, wird der Parameter von der JSON-Konfiguration aus übersprungen."
-#: src/libnmc-setting/settings-docs.h.in:322
+#: src/libnmc-setting/settings-docs.h.in:336
msgid "Corresponds to the teamd ports.PORTIFNAME.sticky."
msgstr "Entspricht dem teamd ports.PORTIFNAME.sticky."
-#: src/libnmc-setting/settings-docs.h.in:323
+#: src/libnmc-setting/settings-docs.h.in:337
msgid ""
"The group ID which will own the device. If set to NULL everyone will be able "
"to use the device."
msgstr ""
-"Die Gruppen-ID, die das Gerät besitzen wird. Wenn NULL gesetzt ist, kann "
-"jeder das Gerät benutzen."
+"Die Gruppen-ID, die das Gerät besitzen wird. Wenn NULL gesetzt ist, kann jeder "
+"das Gerät benutzen."
-#: src/libnmc-setting/settings-docs.h.in:324
+#: src/libnmc-setting/settings-docs.h.in:338
msgid ""
-"The operating mode of the virtual device. Allowed values are "
-"NM_SETTING_TUN_MODE_TUN (1) to create a layer 3 device and "
-"NM_SETTING_TUN_MODE_TAP (2) to create an Ethernet-like layer 2 one."
+"The operating mode of the virtual device. Allowed values are \"tun\" (1) to "
+"create a layer 3 device and \"tap\" (2) to create an Ethernet-like layer 2 one."
msgstr ""
-"Der Betriebsmodus des virtuellen Geräts. Zulässige Werte sind "
-"NM_SETTING_TUN_MODE_TUN (1) zum Erstellen eines Layer 3-Geräts und "
-"NM_SETTING_TUN_MODE_TAP (2) zum Erstellen eines Ethernet-ähnlichen Layer 2-"
-"Geräts."
-#: src/libnmc-setting/settings-docs.h.in:325
+#: src/libnmc-setting/settings-docs.h.in:339
msgid ""
"If the property is set to TRUE, the interface will support multiple file "
"descriptors (queues) to parallelize packet sending or receiving. Otherwise, "
@@ -9282,18 +9274,18 @@ msgid ""
msgstr ""
"Wenn die Eigenschaft auf TRUE gesetzt ist, unterstützt die Schnittstelle "
"mehrere Dateideskriptoren (Warteschlangen), um das Senden oder Empfangen von "
-"Paketen zu parallelisieren. Andernfalls unterstützt die Schnittstelle nur "
-"eine einzige Warteschlange."
+"Paketen zu parallelisieren. Andernfalls unterstützt die Schnittstelle nur eine "
+"einzige Warteschlange."
-#: src/libnmc-setting/settings-docs.h.in:326
+#: src/libnmc-setting/settings-docs.h.in:340
msgid ""
-"The user ID which will own the device. If set to NULL everyone will be able "
-"to use the device."
+"The user ID which will own the device. If set to NULL everyone will be able to "
+"use the device."
msgstr ""
-"Die Benutzer-ID, die das Gerät besitzt. Wenn NULL gesetzt ist, kann jeder "
+"Die Benutzer-Kennung, die das Gerät besitzt. Wenn NULL gesetzt ist, kann jeder "
"das Gerät benutzen."
-#: src/libnmc-setting/settings-docs.h.in:327
+#: src/libnmc-setting/settings-docs.h.in:341
msgid ""
"If TRUE the interface will prepend a 4 byte header describing the physical "
"interface to the packets."
@@ -9301,143 +9293,133 @@ msgstr ""
"Wenn TRUE, wird die Schnittstelle einen 4-Byte-Header voranstellen, der die "
"physikalische Schnittstelle zu den Paketen beschreibt."
-#: src/libnmc-setting/settings-docs.h.in:328
+#: src/libnmc-setting/settings-docs.h.in:342
msgid ""
"If TRUE the IFF_VNET_HDR the tunnel packets will include a virtio network "
"header."
-msgstr ""
-"Bei TRUE der IFF_VNET_HDR enthalten die Tunnelpakete einen Virtio-Netzwerk-"
-"Header."
+msgstr "Wenn TRUE, enthält IFF_VNET_HDR vom Tunnel einen Virtio-Netzwerk-Header."
-#: src/libnmc-setting/settings-docs.h.in:329
+#: src/libnmc-setting/settings-docs.h.in:343
msgid ""
"A dictionary of key/value pairs with user data. This data is ignored by "
-"NetworkManager and can be used at the users discretion. The keys only "
-"support a strict ascii format, but the values can be arbitrary UTF8 strings "
-"up to a certain length."
-msgstr ""
-"Ein Wörterbuch mit Schlüssel / Wert-Paaren mit Benutzerdaten. Diese Daten "
-"werden vom NetworkManager ignoriert und können nach Ermessen des Benutzers "
-"verwendet werden. Die Schlüssel unterstützen nur ein striktes ascii-Format, "
-"aber die Werte können beliebige UTF8-Strings bis zu einer bestimmten Länge "
-"sein."
+"NetworkManager and can be used at the users discretion. The keys only support "
+"a strict ascii format, but the values can be arbitrary UTF8 strings up to a "
+"certain length."
+msgstr ""
+"Ein Dictionary mit Schlüssel/Wert-Paaren mit Benutzerdaten. Diese Daten werden "
+"vom NetworkManager ignoriert und können nach Ermessen des Benutzers verwendet "
+"werden. Die Schlüssel unterstützen nur ein striktes ascii-Format, aber die "
+"Werte können beliebige UTF8-Zeichenketten bis zu einer bestimmten Länge sein."
-#: src/libnmc-setting/settings-docs.h.in:330
+#: src/libnmc-setting/settings-docs.h.in:344
msgid ""
"For outgoing packets, a list of mappings from Linux SKB priorities to 802.1p "
"priorities. The mapping is given in the format \"from:to\" where both "
"\"from\" and \"to\" are unsigned integers, ie \"7:3\"."
msgstr ""
-"Für ausgehende Pakete eine Liste mit Zuordnungen von Linux-SKB-Prioritäten "
-"zu 802.1p-Prioritäten. Das Mapping wird im Format \"von: bis\" angegeben, "
-"wobei sowohl \"von\" als auch \"bis\" vorzeichenlose Ganzzahlen sind, dh "
-"\"7: 3\"."
+"Für ausgehende Pakete eine Liste mit Zuordnungen von Linux-SKB-Prioritäten zu "
+"802.1p-Prioritäten. Die Zuordnung wird im Format »von:bis« angegeben, wobei "
+"sowohl »von« als auch »bis« vorzeichenlose Ganzzahlen sind, d. h. »7:3«."
-#: src/libnmc-setting/settings-docs.h.in:331
+#: src/libnmc-setting/settings-docs.h.in:345
msgid ""
"One or more flags which control the behavior and features of the VLAN "
-"interface. Flags include NM_VLAN_FLAG_REORDER_HEADERS (0x1) (reordering of "
-"output packet headers), NM_VLAN_FLAG_GVRP (0x2) (use of the GVRP protocol), "
-"and NM_VLAN_FLAG_LOOSE_BINDING (0x4) (loose binding of the interface to its "
-"master device's operating state). NM_VLAN_FLAG_MVRP (0x8) (use of the MVRP "
-"protocol). The default value of this property is "
-"NM_VLAN_FLAG_REORDER_HEADERS, but it used to be 0. To preserve backward "
-"compatibility, the default-value in the D-Bus API continues to be 0 and a "
-"missing property on D-Bus is still considered as 0."
-msgstr ""
-"Ein oder mehrere Flags, die das Verhalten und die Funktionen der VLAN-"
-"Schnittstelle steuern. Zu den Flags gehören NM_VLAN_FLAG_REORDER_HEADERS "
-"(0x1) (Neuanordnung der Ausgangspaket-Header), NM_VLAN_FLAG_GVRP (0x2) "
-"(Verwendung des GVRP-Protokolls) und NM_VLAN_FLAG_LOOSE_BINDING (0x4) (lose "
-"Verbindung der Schnittstelle mit dem Betriebszustand des Master-Geräts). "
-"NM_VLAN_FLAG_MVRP (0x8) (Verwendung des MVRP-Protokolls). Der Standardwert "
-"dieser Eigenschaft ist NM_VLAN_FLAG_REORDER_HEADERS, war aber 0. Um die "
-"Abwärtskompatibilität beizubehalten, ist der Standardwert in der D-Bus-API "
-"weiterhin 0 und eine fehlende Eigenschaft auf D-Bus wird immer noch als 0 "
-"betrachtet."
+"interface. Flags include \"reorder-headers\" (0x1) (reordering of output "
+"packet headers), \"gvrp\" (0x2) (use of the GVRP protocol), and \"loose-"
+"binding\" (0x4) (loose binding of the interface to its master device's "
+"operating state). \"mvrp\" (0x8) (use of the MVRP protocol). The default value "
+"of this property is NM_VLAN_FLAG_REORDER_HEADERS, but it used to be 0. To "
+"preserve backward compatibility, the default-value in the D-Bus API continues "
+"to be 0 and a missing property on D-Bus is still considered as 0."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:332
+#: src/libnmc-setting/settings-docs.h.in:346
msgid ""
"The VLAN identifier that the interface created by this connection should be "
"assigned. The valid range is from 0 to 4094, without the reserved id 4095."
msgstr ""
"Die VLAN-Kennung, die die von dieser Verbindung erstellte Schnittstelle "
"zugewiesen werden soll. Der gültige Bereich liegt zwischen 0 und 4094, ohne "
-"die reservierte ID 4095."
+"die reservierte Kennung 4095."
-#: src/libnmc-setting/settings-docs.h.in:333
+#: src/libnmc-setting/settings-docs.h.in:347
msgid ""
"For incoming packets, a list of mappings from 802.1p priorities to Linux SKB "
"priorities. The mapping is given in the format \"from:to\" where both "
"\"from\" and \"to\" are unsigned integers, ie \"7:3\"."
msgstr ""
"Für eingehende Pakete eine Liste von Zuordnungen von 802.1p-Prioritäten zu "
-"Linux-SKB-Prioritäten. Das Mapping wird im Format \"von: bis\" angegeben, "
-"wobei sowohl \"von\" als auch \"bis\" vorzeichenlose Ganzzahlen sind, dh "
-"\"7: 3\"."
+"Linux-SKB-Prioritäten. Die Zuordnung wird im Format »von:bis« angegeben, "
+"wobei sowohl »von« als auch »bis« vorzeichenlose Ganzzahlen sind, d. h. »7:3«."
-#: src/libnmc-setting/settings-docs.h.in:334
+#: src/libnmc-setting/settings-docs.h.in:348
msgid ""
"If given, specifies the parent interface name or parent connection UUID from "
"which this VLAN interface should be created. If this property is not "
"specified, the connection must contain an \"802-3-ethernet\" setting with a "
"\"mac-address\" property."
msgstr ""
-"Gibt den übergeordneten Schnittstellennamen oder die UUID der übergeordneten "
-"Verbindung an, aus der diese VLAN-Schnittstelle erstellt werden soll. Wenn "
-"diese Eigenschaft nicht angegeben ist, muss die Verbindung eine \"802-3-"
-"ethernet\" -Einstellung mit einer Eigenschaft \"mac-address\" enthalten."
+"Falls angegeben, gibt den übergeordneten Schnittstellennamen oder die UUID der "
+"übergeordneten Verbindung an, aus der diese VLAN-Schnittstelle erstellt werden "
+"soll. Wenn diese Eigenschaft nicht angegeben ist, muss die Verbindung eine "
+"»802-3-ethernet« -Einstellung mit einer Eigenschaft »mac-address« enthalten."
-#: src/libnmc-setting/settings-docs.h.in:335
+#: src/libnmc-setting/settings-docs.h.in:349
+msgid ""
+"Specifies the VLAN protocol to use for encapsulation. Supported values are: "
+"'802.1Q', '802.1ad'. If not specified the default value is '802.1Q'."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:350
msgid ""
"Dictionary of key/value pairs of VPN plugin specific data. Both keys and "
"values must be strings."
msgstr ""
-"Wörterbuch von Schlüssel / Wert-Paaren von VPN-Plugin-spezifischen Daten. "
+"Dictionary von Schlüssel / Wert-Paaren von VPN-Plugin-spezifischen Daten. "
"Beide Schlüssel und Werte müssen Zeichenfolgen sein."
-#: src/libnmc-setting/settings-docs.h.in:336
+#: src/libnmc-setting/settings-docs.h.in:351
msgid ""
"If the VPN service supports persistence, and this property is TRUE, the VPN "
"will attempt to stay connected across link changes and outages, until "
"explicitly disconnected."
msgstr ""
"Wenn der VPN-Dienst Persistenz unterstützt und diese Eigenschaft TRUE ist, "
-"versucht das VPN, über Verbindungsänderungen und -ausfälle hinweg verbunden "
-"zu bleiben, bis es explizit getrennt wird."
+"versucht das VPN, über Verbindungsänderungen und -ausfälle hinweg verbunden zu "
+"bleiben, bis es explizit getrennt wird."
-#: src/libnmc-setting/settings-docs.h.in:337
+#: src/libnmc-setting/settings-docs.h.in:352
msgid ""
-"Dictionary of key/value pairs of VPN plugin specific secrets like passwords "
-"or private keys. Both keys and values must be strings."
+"Dictionary of key/value pairs of VPN plugin specific secrets like passwords or "
+"private keys. Both keys and values must be strings."
msgstr ""
-"Wörterbuch von Schlüssel / Wert-Paaren von VPN-Plugin-spezifischen "
-"Geheimnissen wie Passwörter oder private Schlüssel. Beide Schlüssel und "
-"Werte müssen Zeichenfolgen sein."
+"Dictionary von Schlüssel/Wert-Paaren von VPN-Plugin-spezifischen Geheimnissen "
+"wie Passwörter oder private Schlüssel. Beide Schlüssel und Werte müssen "
+"Zeichenfolgen sein."
-#: src/libnmc-setting/settings-docs.h.in:338
+#: src/libnmc-setting/settings-docs.h.in:353
msgid ""
-"D-Bus service name of the VPN plugin that this setting uses to connect to "
-"its network. i.e. org.freedesktop.NetworkManager.vpnc for the vpnc plugin."
+"D-Bus service name of the VPN plugin that this setting uses to connect to its "
+"network. i.e. org.freedesktop.NetworkManager.vpnc for the vpnc plugin."
msgstr ""
-"D-Bus-Dienstname des VPN-Plug-Ins, mit dem diese Einstellung eine Verbindung "
-"mit dem Netzwerk herstellt. zB org.freedesktop.NetworkManager.vpnc für das "
-"vpnc-plugin."
+"D-Bus-Dienstname der VPN-Erweiterung, mit dem diese Einstellung eine "
+"Verbindung mit dem Netzwerk herstellt. z. B. org.freedesktop.NetworkManager."
+"vpnc für das vpnc-plugin."
-#: src/libnmc-setting/settings-docs.h.in:339
+#: src/libnmc-setting/settings-docs.h.in:354
msgid ""
"Timeout for the VPN service to establish the connection. Some services may "
"take quite a long time to connect. Value of 0 means a default timeout, which "
-"is 60 seconds (unless overridden by vpn.timeout in configuration file). "
-"Values greater than zero mean timeout in seconds."
+"is 60 seconds (unless overridden by vpn.timeout in configuration file). Values "
+"greater than zero mean timeout in seconds."
msgstr ""
-"Timeout für den VPN-Dienst, um die Verbindung herzustellen. Einige Dienste "
-"benötigen möglicherweise eine lange Verbindungszeit. Der Wert 0 bedeutet ein "
-"Standard-Timeout von 60 Sekunden (sofern nicht durch vpn.timeout in der "
-"Konfigurationsdatei überschrieben). Werte größer als Null bedeuten Timeout "
-"in Sekunden."
+"Zeitüberschreitung für den VPN-Dienst, um die Verbindung herzustellen. Einige "
+"Dienste benötigen möglicherweise eine lange Verbindungszeit. Der Wert 0 "
+"bedeutet eine Standard-Zeitüberschreitung von 60 Sekunden (sofern nicht durch "
+"vpn.timeout in der Konfigurationsdatei überschrieben). Werte größer als Null "
+"stellen die Zeitüberschreitung in Sekunden dar."
-#: src/libnmc-setting/settings-docs.h.in:340
+#: src/libnmc-setting/settings-docs.h.in:355
msgid ""
"If the VPN connection requires a user name for authentication, that name "
"should be provided here. If the connection is available to more than one "
@@ -9447,23 +9429,23 @@ msgid ""
"connection."
msgstr ""
"Wenn für die VPN-Verbindung ein Benutzername zur Authentifizierung "
-"erforderlich ist, sollte dieser Name hier angegeben werden. Wenn die "
+"erforderlich ist, sollte dieser Name hier angegeben werden. Wenn die "
"Verbindung für mehr als einen Benutzer verfügbar ist und das VPN erfordert, "
"dass jeder Benutzer einen anderen Namen angibt, lassen Sie diese Eigenschaft "
-"leer. Wenn diese Eigenschaft leer ist, liefert NetworkManager automatisch "
-"den Benutzernamen des Benutzers, der die VPN-Verbindung angefordert hat."
+"leer. Wenn diese Eigenschaft leer ist, liefert NetworkManager automatisch den "
+"Benutzernamen des Benutzers, der die VPN-Verbindung angefordert hat."
-#: src/libnmc-setting/settings-docs.h.in:341
+#: src/libnmc-setting/settings-docs.h.in:356
msgid "The routing table for this VRF."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:342
+#: src/libnmc-setting/settings-docs.h.in:357
msgid "Specifies the lifetime in seconds of FDB entries learnt by the kernel."
msgstr ""
"Gibt die Lebenszeit von FDB-Einträgen in Sekunden an, die vom Kernel gelernt "
"wurden."
-#: src/libnmc-setting/settings-docs.h.in:343
+#: src/libnmc-setting/settings-docs.h.in:358
msgid ""
"Specifies the UDP destination port to communicate to the remote VXLAN tunnel "
"endpoint."
@@ -9471,30 +9453,29 @@ msgstr ""
"Gibt den UDP-Zielport für die Kommunikation mit dem Remote-VXLAN-"
"Tunnelendpunkt an."
-#: src/libnmc-setting/settings-docs.h.in:344
+#: src/libnmc-setting/settings-docs.h.in:359
msgid ""
"Specifies the VXLAN Network Identifier (or VXLAN Segment Identifier) to use."
msgstr ""
-"Gibt den zu verwendenden VXLAN-Netzwerkbezeichner (oder VXLAN-"
-"Segmentbezeichner) an."
+"Gibt den zu verwendenden VXLAN-Netzwerkkennung (oder VXLAN-Segmentkennung) an."
-#: src/libnmc-setting/settings-docs.h.in:345
+#: src/libnmc-setting/settings-docs.h.in:360
msgid "Specifies whether netlink LL ADDR miss notifications are generated."
-msgstr "Gibt an, ob Netlink LL ADDR-Fehlmeldungen generiert werden."
+msgstr "Gibt an, ob netlink LL-ADDR-Fehlmeldungen generiert werden."
-#: src/libnmc-setting/settings-docs.h.in:346
+#: src/libnmc-setting/settings-docs.h.in:361
msgid "Specifies whether netlink IP ADDR miss notifications are generated."
-msgstr "Gibt an, ob Netlink-IP-ADDR-Fehlmeldungen generiert werden."
+msgstr "Gibt an, ob netlink IP-ADDR-Fehlmeldungen generiert werden."
-#: src/libnmc-setting/settings-docs.h.in:347
+#: src/libnmc-setting/settings-docs.h.in:362
msgid ""
"Specifies whether unknown source link layer addresses and IP addresses are "
"entered into the VXLAN device forwarding database."
msgstr ""
-"Gibt an, ob unbekannte Quell-Link-Layer-Adressen und IP-Adressen in die "
-"VXLAN-Geräteweiterleitungsdatenbank eingegeben werden."
+"Gibt an, ob unbekannte Quell-Link-Layer-Adressen und IP-Adressen in die VXLAN-"
+"Geräteweiterleitungsdatenbank eingegeben werden."
-#: src/libnmc-setting/settings-docs.h.in:348
+#: src/libnmc-setting/settings-docs.h.in:363
msgid ""
"Specifies the maximum number of FDB entries. A value of zero means that the "
"kernel will store unlimited entries."
@@ -9502,47 +9483,46 @@ msgstr ""
"Gibt die maximale Anzahl von FDB-Einträgen an. Ein Wert von Null bedeutet, "
"dass der Kernel unbegrenzte Einträge speichert."
-#: src/libnmc-setting/settings-docs.h.in:349
+#: src/libnmc-setting/settings-docs.h.in:364
msgid "If given, specifies the source IP address to use in outgoing packets."
msgstr ""
-"Wenn angegeben, wird die Quell-IP-Adresse angegeben, die in ausgehenden "
+"Falls angegeben, wird die Quell-IP-Adresse angegeben, die in ausgehenden "
"Paketen verwendet werden soll."
-#: src/libnmc-setting/settings-docs.h.in:350
-msgid ""
-"If given, specifies the parent interface name or parent connection UUID."
+#: src/libnmc-setting/settings-docs.h.in:365
+msgid "If given, specifies the parent interface name or parent connection UUID."
msgstr ""
-"Gibt den übergeordneten Schnittstellennamen oder die übergeordnete "
-"Verbindungs-UUID an."
+"Falls angegeben, gibt den übergeordneten Schnittstellennamen oder die "
+"übergeordnete Verbindungs-UUID an."
-#: src/libnmc-setting/settings-docs.h.in:351
+#: src/libnmc-setting/settings-docs.h.in:366
msgid "Specifies whether ARP proxy is turned on."
msgstr "Legt fest, ob der ARP-Proxy eingeschaltet sein soll."
-#: src/libnmc-setting/settings-docs.h.in:352
+#: src/libnmc-setting/settings-docs.h.in:367
msgid ""
"Specifies the unicast destination IP address to use in outgoing packets when "
-"the destination link layer address is not known in the VXLAN device "
-"forwarding database, or the multicast IP address to join."
+"the destination link layer address is not known in the VXLAN device forwarding "
+"database, or the multicast IP address to join."
msgstr ""
"Gibt die Unicast-Ziel-IP-Adresse an, die in ausgehenden Paketen verwendet "
"werden soll, wenn die Adresse der Zielverknüpfungsschicht in der VXLAN-"
"Weiterleitungsdatenbank oder der Multicast-IP-Adresse für die Verknüpfung "
"nicht bekannt ist."
-#: src/libnmc-setting/settings-docs.h.in:353
+#: src/libnmc-setting/settings-docs.h.in:368
msgid "Specifies whether route short circuit is turned on."
-msgstr "Gibt an, ob der Kurschluss eingeschaltet ist."
+msgstr "Gibt an, ob der Routenkurzschluss eingeschaltet ist."
-#: src/libnmc-setting/settings-docs.h.in:354
+#: src/libnmc-setting/settings-docs.h.in:369
msgid ""
"Specifies the maximum UDP source port to communicate to the remote VXLAN "
"tunnel endpoint."
msgstr ""
"Gibt den maximalen UDP-Quellport für die Kommunikation mit dem Remote-VXLAN-"
-"Tunnelendpunkt an."
+"Tunnelendpunkt an.\""
-#: src/libnmc-setting/settings-docs.h.in:355
+#: src/libnmc-setting/settings-docs.h.in:370
msgid ""
"Specifies the minimum UDP source port to communicate to the remote VXLAN "
"tunnel endpoint."
@@ -9550,24 +9530,22 @@ msgstr ""
"Gibt den minimalen UDP-Quellport für die Kommunikation mit dem Remote-VXLAN-"
"Tunnelendpunkt an."
-#: src/libnmc-setting/settings-docs.h.in:356
+#: src/libnmc-setting/settings-docs.h.in:371
msgid "Specifies the TOS value to use in outgoing packets."
-msgstr ""
-"Gibt den TOS-Wert an, der in ausgehenden Paketen verwendet werden soll."
+msgstr "Gibt den TOS-Wert an, der in ausgehenden Paketen verwendet werden soll."
-#: src/libnmc-setting/settings-docs.h.in:357
+#: src/libnmc-setting/settings-docs.h.in:372
msgid "Specifies the time-to-live value to use in outgoing packets."
msgstr ""
-"Gibt den Lebensdauerwert an, der in ausgehenden Paketen verwendet werden "
-"soll."
+"Gibt den Lebensdauerwert an, der in ausgehenden Paketen verwendet werden soll."
-#: src/libnmc-setting/settings-docs.h.in:358
+#: src/libnmc-setting/settings-docs.h.in:373
msgid ""
-"The P2P device that should be connected to. Currently, this is the only way "
-"to create or join a group."
+"The P2P device that should be connected to. Currently, this is the only way to "
+"create or join a group."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:359
+#: src/libnmc-setting/settings-docs.h.in:374
msgid ""
"The Wi-Fi Display (WFD) Information Elements (IEs) to set. Wi-Fi Display "
"requires a protocol specific information element to be set in certain Wi-Fi "
@@ -9576,38 +9554,35 @@ msgid ""
"client."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:360
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:375
msgid ""
"Flags indicating which mode of WPS is to be used. There's little point in "
"changing the default setting as NetworkManager will automatically determine "
"the best method to use."
msgstr ""
-"Flags, die anzeigen, welcher Modus von WPS verwendet werden soll, falls "
-"vorhanden. Es macht wenig Sinn, die Standardeinstellung zu ändern, da "
-"NetworkManager automatisch feststellen wird, ob es möglich ist, die WPS-"
-"Registrierung über die Access Point-Funktionen zu starten. WPS kann "
-"deaktiviert werden, indem diese Eigenschaft auf den Wert 1 festgelegt wird."
-#: src/libnmc-setting/settings-docs.h.in:361
+#: src/libnmc-setting/settings-docs.h.in:376
+#, fuzzy
+#| msgid ""
+#| "If specified, this connection will only apply to the Wi-Fi device whose "
+#| "permanent MAC address matches. This property does not change the MAC "
+#| "address of the device (i.e. MAC spoofing)."
msgid ""
"If specified, this connection will only apply to the WiMAX device whose MAC "
"address matches. This property does not change the MAC address of the device "
-"(known as MAC spoofing). Deprecated: 1"
+"(known as MAC spoofing)."
msgstr ""
-"Falls angegeben, gilt diese Verbindung nur für das WiMAX-Gerät, dessen MAC-"
-"Adresse übereinstimmt. Diese Eigenschaft ändert nicht die MAC-Adresse des "
-"Geräts (MAC-Spoofing). Veraltet: 1"
+"Wenn angegeben, so ist diese Verbindung nur für das WLAN-Gerät gültig, dessen "
+"permanente MAC-Adresse passt. Diese Eigenschaft beeinflusst nicht die MAC-"
+"Adresse des Gerätes (d.h. kein »MAC spoofing«)."
-#: src/libnmc-setting/settings-docs.h.in:362
+#: src/libnmc-setting/settings-docs.h.in:377
msgid ""
"Network Service Provider (NSP) name of the WiMAX network this connection "
-"should use. Deprecated: 1"
+"should use."
msgstr ""
-"Network Service Provider (NSP) Name des WiMAX-Netzwerks, das diese "
-"Verbindung verwenden soll. Veraltet: 1"
-#: src/libnmc-setting/settings-docs.h.in:363
+#: src/libnmc-setting/settings-docs.h.in:378
msgid ""
"When TRUE, setup the interface to accept packets for all MAC addresses. This "
"is enabling the kernel interface flag IFF_PROMISC. When FALSE, the interface "
@@ -9615,140 +9590,136 @@ msgid ""
"broadcast."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:364
+#: src/libnmc-setting/settings-docs.h.in:379
msgid ""
-"When TRUE, enforce auto-negotiation of speed and duplex mode. If \"speed\" "
-"and \"duplex\" properties are both specified, only that single mode will be "
+"When TRUE, enforce auto-negotiation of speed and duplex mode. If \"speed\" and "
+"\"duplex\" properties are both specified, only that single mode will be "
"advertised and accepted during the link auto-negotiation process: this works "
"only for BASE-T 802.3 specifications and is useful for enforcing gigabits "
-"modes, as in these cases link negotiation is mandatory. When FALSE, "
-"\"speed\" and \"duplex\" properties should be both set or link configuration "
-"will be skipped."
+"modes, as in these cases link negotiation is mandatory. When FALSE, \"speed\" "
+"and \"duplex\" properties should be both set or link configuration will be "
+"skipped."
msgstr ""
"Wenn TRUE, erzwingen Sie Auto-Negotiation von Geschwindigkeit und Duplex-"
-"Modus. Wenn die Eigenschaften \"speed\" und \"duplex\" angegeben sind, wird "
-"nur dieser einzelne Modus während des automatischen "
-"Verbindungsaushandlungsprozesses angekündigt und akzeptiert. Dies "
-"funktioniert nur für BASE-T 802.3-Spezifikationen und ist nützlich, um "
-"Gigabit-Modi wie in diesen zu erzwingen Fälle Link Verhandlung ist "
-"obligatorisch. Wenn FALSE, sollten \"speed\" - und \"duplex\" -Eigenschaften "
-"beide gesetzt sein oder die Link-Konfiguration wird übersprungen."
+"Modus. Wenn die Eigenschaften »speed« und »duplex« angegeben sind, wird nur "
+"dieser einzelne Modus während des automatischen "
+"Verbindungsaushandlungsprozesses angekündigt und akzeptiert. Dies funktioniert "
+"nur für BASE-T 802.3-Spezifikationen und ist nützlich, um Gigabit-Modi wie in "
+"diesen zu erzwingen Fälle Link Verhandlung ist obligatorisch. Wenn FALSE, "
+"sollten »speed« - und »duplex« -Eigenschaften beide gesetzt sein oder die Link-"
+"Konfiguration wird übersprungen."
-#: src/libnmc-setting/settings-docs.h.in:365
+#: src/libnmc-setting/settings-docs.h.in:380
msgid ""
"If specified, request that the device use this MAC address instead. This is "
-"known as MAC cloning or spoofing. Beside explicitly specifying a MAC "
-"address, the special values \"preserve\", \"permanent\", \"random\" and "
-"\"stable\" are supported. \"preserve\" means not to touch the MAC address on "
-"activation. \"permanent\" means to use the permanent hardware address if the "
-"device has one (otherwise this is treated as \"preserve\"). \"random\" "
-"creates a random MAC address on each connect. \"stable\" creates a hashed "
-"MAC address based on connection.stable-id and a machine dependent key. If "
-"unspecified, the value can be overwritten via global defaults, see manual of "
-"NetworkManager.conf. If still unspecified, it defaults to "
-"\"preserve\" (older versions of NetworkManager may use a different default "
-"value). On D-Bus, this field is expressed as \"assigned-mac-address\" or the "
-"deprecated \"cloned-mac-address\"."
-msgstr ""
-"Falls angegeben, fordern Sie an, dass das Gerät stattdessen diese MAC-"
-"Adresse verwendet. Dies wird als MAC-Cloning oder Spoofing bezeichnet. Neben "
-"der expliziten Angabe einer MAC-Adresse werden die speziellen Werte "
-"\"preserve\", \"permanent\", \"random\" und \"stable\" unterstützt. "
-"\"preserve\" bedeutet, dass die MAC-Adresse bei der Aktivierung nicht "
-"berührt wird. \"permanent\" bedeutet, die permanente Hardwareadresse zu "
-"verwenden, wenn das Gerät eine hat (sonst wird dies als \"preserve\" "
-"behandelt). \"random\" erzeugt bei jeder Verbindung eine zufällige MAC-"
-"Adresse. \"stable\" erstellt eine Hash-MAC-Adresse basierend auf connection."
-"stable-id und einem maschinenabhängigen Schlüssel. Wenn nicht angegeben, "
-"kann der Wert über globale Standardwerte überschrieben werden, siehe "
-"Handbuch der NetworkManager.conf. Wenn es noch nicht angegeben ist, wird "
-"standardmäßig \"beibehalten\" verwendet (ältere Versionen von NetworkManager "
+"known as MAC cloning or spoofing. Beside explicitly specifying a MAC address, "
+"the special values \"preserve\", \"permanent\", \"random\" and \"stable\" are "
+"supported. \"preserve\" means not to touch the MAC address on activation. "
+"\"permanent\" means to use the permanent hardware address if the device has "
+"one (otherwise this is treated as \"preserve\"). \"random\" creates a random "
+"MAC address on each connect. \"stable\" creates a hashed MAC address based on "
+"connection.stable-id and a machine dependent key. If unspecified, the value "
+"can be overwritten via global defaults, see manual of NetworkManager.conf. If "
+"still unspecified, it defaults to \"preserve\" (older versions of "
+"NetworkManager may use a different default value). On D-Bus, this field is "
+"expressed as \"assigned-mac-address\" or the deprecated \"cloned-mac-address\"."
+msgstr ""
+"Falls angegeben, fordern Sie an, dass das Gerät stattdessen diese MAC-Adresse "
+"verwendet. Dies wird als MAC-Cloning oder Spoofing bezeichnet. Neben der "
+"expliziten Angabe einer MAC-Adresse werden die speziellen Werte »preserve«, "
+"»permanent«, »random« und »stable« unterstützt. »preserve« bedeutet, dass die "
+"MAC-Adresse bei der Aktivierung nicht berührt wird. »permanent« bedeutet, die "
+"permanente Hardwareadresse zu verwenden, wenn das Gerät eine hat (sonst wird "
+"dies als »preserve« behandelt). »random« erzeugt bei jeder Verbindung eine "
+"zufällige MAC-Adresse. »stable« erstellt eine Hash-MAC-Adresse basierend auf "
+"connection.stable-id und einem maschinenabhängigen Schlüssel. Wenn nicht "
+"angegeben, kann der Wert über globale Standardwerte überschrieben werden, "
+"siehe Handbuch der NetworkManager.conf. Wenn es noch nicht angegeben ist, wird "
+"standardmäßig »preserve« verwendet (ältere Versionen von NetworkManager "
"verwenden möglicherweise einen anderen Standardwert). Auf D-Bus wird dieses "
-"Feld als \"zugewiesene Mac-Adresse\" oder die veraltete \"Cloned-Mac-"
-"Adresse\" ausgedrückt."
+"Feld als »zugewiesene Mac-Adresse« oder die veraltete »cloned-mac-address« "
+"ausgedrückt."
-#: src/libnmc-setting/settings-docs.h.in:366
+#: src/libnmc-setting/settings-docs.h.in:381
msgid ""
-"When a value is set, either \"half\" or \"full\", configures the device to "
-"use the specified duplex mode. If \"auto-negotiate\" is \"yes\" the "
-"specified duplex mode will be the only one advertised during link "
-"negotiation: this works only for BASE-T 802.3 specifications and is useful "
-"for enforcing gigabits modes, as in these cases link negotiation is "
-"mandatory. If the value is unset (the default), the link configuration will "
-"be either skipped (if \"auto-negotiate\" is \"no\", the default) or will be "
-"auto-negotiated (if \"auto-negotiate\" is \"yes\") and the local device will "
-"advertise all the supported duplex modes. Must be set together with the "
-"\"speed\" property if specified. Before specifying a duplex mode be sure "
-"your device supports it."
-msgstr ""
-"Wenn ein Wert eingestellt ist, entweder \"halb\" oder \"voll\", konfiguriert "
-"das Gerät den spezifizierten Duplex-Modus. Wenn \"Auto-Negotiation\" \"Yes\" "
-"ist, wird der angegebene Duplex-Modus als einziger während der Link-"
-"Verhandlung beworben: Dies funktioniert nur für BASE-T 802.3-Spezifikationen "
-"und ist nützlich für die Durchsetzung von Gigabit-Modi, da in diesen Fällen "
-"Link-Negotiation zwingend erforderlich ist. Wenn der Wert nicht gesetzt ist "
-"(Standard), wird die Link-Konfiguration entweder übersprungen (wenn \"Auto-"
-"Negotiation\" \"Nein\" ist, der Standardwert) oder automatisch ausgehandelt "
-"(wenn \"Auto-Negotiation\" \"Ja\" ist) und das lokale Gerät wird für alle "
-"unterstützten Duplexmodi werben. Muss zusammen mit der Eigenschaft \"speed\" "
-"festgelegt werden, falls angegeben. Bevor Sie einen Duplex-Modus festlegen, "
-"vergewissern Sie sich, dass Ihr Gerät dies unterstützt."
+"When a value is set, either \"half\" or \"full\", configures the device to use "
+"the specified duplex mode. If \"auto-negotiate\" is \"yes\" the specified "
+"duplex mode will be the only one advertised during link negotiation: this "
+"works only for BASE-T 802.3 specifications and is useful for enforcing "
+"gigabits modes, as in these cases link negotiation is mandatory. If the value "
+"is unset (the default), the link configuration will be either skipped (if "
+"\"auto-negotiate\" is \"no\", the default) or will be auto-negotiated (if "
+"\"auto-negotiate\" is \"yes\") and the local device will advertise all the "
+"supported duplex modes. Must be set together with the \"speed\" property if "
+"specified. Before specifying a duplex mode be sure your device supports it."
+msgstr ""
+"Wenn ein Wert eingestellt ist, entweder »half« oder »full«, konfiguriert das "
+"Gerät den spezifizierten Duplex-Modus. Wenn »auto-negotiate« »yes« ist, wird "
+"der angegebene Duplex-Modus als einziger während der Link-Verhandlung "
+"beworben: Dies funktioniert nur für BASE-T 802.3-Spezifikationen und ist "
+"nützlich für die Durchsetzung von Gigabit-Modi, da in diesen Fällen Link-"
+"Negotiation zwingend erforderlich ist. Wenn der Wert nicht gesetzt ist "
+"(Standard), wird die Link-Konfiguration entweder übersprungen (wenn »auto-"
+"negotiate« »no« ist, der Standardwert) oder automatisch ausgehandelt (wenn "
+"»auto-negotiate« »yes« ist) und das lokale Gerät wird für alle unterstützten "
+"Duplexmodi werben. Muss zusammen mit der Eigenschaft »speed« festgelegt "
+"werden, falls angegeben. Bevor Sie einen Duplex-Modus festlegen, vergewissern "
+"Sie sich, dass Ihr Gerät dies unterstützt."
-#: src/libnmc-setting/settings-docs.h.in:367
-#: src/libnmc-setting/settings-docs.h.in:391
+#: src/libnmc-setting/settings-docs.h.in:382
+#: src/libnmc-setting/settings-docs.h.in:406
msgid ""
"With \"cloned-mac-address\" setting \"random\" or \"stable\", by default all "
-"bits of the MAC address are scrambled and a locally-administered, unicast "
-"MAC address is created. This property allows to specify that certain bits "
-"are fixed. Note that the least significant bit of the first MAC address will "
+"bits of the MAC address are scrambled and a locally-administered, unicast MAC "
+"address is created. This property allows to specify that certain bits are "
+"fixed. Note that the least significant bit of the first MAC address will "
"always be unset to create a unicast MAC address. If the property is NULL, it "
-"is eligible to be overwritten by a default connection setting. If the value "
-"is still NULL or an empty string, the default is to create a locally-"
-"administered, unicast MAC address. If the value contains one MAC address, "
-"this address is used as mask. The set bits of the mask are to be filled with "
-"the current MAC address of the device, while the unset bits are subject to "
-"randomization. Setting \"FE:FF:FF:00:00:00\" means to preserve the OUI of "
-"the current MAC address and only randomize the lower 3 bytes using the "
-"\"random\" or \"stable\" algorithm. If the value contains one additional MAC "
-"address after the mask, this address is used instead of the current MAC "
-"address to fill the bits that shall not be randomized. For example, a value "
-"of \"FE:FF:FF:00:00:00 68:F7:28:00:00:00\" will set the OUI of the MAC "
-"address to 68:F7:28, while the lower bits are randomized. A value of "
-"\"02:00:00:00:00:00 00:00:00:00:00:00\" will create a fully scrambled "
-"globally-administered, burned-in MAC address. If the value contains more "
-"than one additional MAC addresses, one of them is chosen randomly. For "
-"example, \"02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00\" will "
-"create a fully scrambled MAC address, randomly locally or globally "
-"administered."
+"is eligible to be overwritten by a default connection setting. If the value is "
+"still NULL or an empty string, the default is to create a locally-"
+"administered, unicast MAC address. If the value contains one MAC address, this "
+"address is used as mask. The set bits of the mask are to be filled with the "
+"current MAC address of the device, while the unset bits are subject to "
+"randomization. Setting \"FE:FF:FF:00:00:00\" means to preserve the OUI of the "
+"current MAC address and only randomize the lower 3 bytes using the \"random\" "
+"or \"stable\" algorithm. If the value contains one additional MAC address "
+"after the mask, this address is used instead of the current MAC address to "
+"fill the bits that shall not be randomized. For example, a value of \"FE:FF:"
+"FF:00:00:00 68:F7:28:00:00:00\" will set the OUI of the MAC address to 68:"
+"F7:28, while the lower bits are randomized. A value of \"02:00:00:00:00:00 "
+"00:00:00:00:00:00\" will create a fully scrambled globally-administered, "
+"burned-in MAC address. If the value contains more than one additional MAC "
+"addresses, one of them is chosen randomly. For example, \"02:00:00:00:00:00 "
+"00:00:00:00:00:00 02:00:00:00:00:00\" will create a fully scrambled MAC "
+"address, randomly locally or globally administered."
msgstr ""
"Wenn die Einstellung cloned-mac-address auf »random« (zufällig) oder "
"»stable« (stabil) eingestellt ist, so werden standardmäßig alle Bits der MAC-"
"Adresse verwürfelt und eine lokal verwaltete unicast-MAC-Adresse wird "
"erstellt. Diese Eigenschaft ermöglicht es festzulegen, dass bestimmte Bits "
-"fest sind. Beachten Sie, dass die kleinstwertigen Bits der ersten MAC-"
-"Adresse immer zurückgesetzt werden, um eine unicast-MAC-Adresse zu "
-"generieren. Wenn die Eigenschaft NULL ist, so darf sie durch eine Standard-"
+"fest sind. Beachten Sie, dass die kleinstwertigen Bits der ersten MAC-Adresse "
+"immer zurückgesetzt werden, um eine unicast-MAC-Adresse zu generieren. Wenn "
+"die Eigenschaft NULL ist, so darf sie durch eine Standard-"
"Verbindungseinstellung überschrieben werden. Wenn der Wert dennoch NULL ist "
-"oder eine leere Zeichenkette, so wird per Vorgabe die lokal verwaltete "
-"unicast-MAC-Adresse generiert. Wenn der Wert eine MAC-Adresse enthält, so "
-"wird diese Adresse als Maske verwendet. Die in der Maske gesetzten Bits "
-"sollen mit der aktuellen MAC-Adresse des Geräts befüllt werden, während die "
-"nicht gesetzten mit Zufallswerten besetzt werden. Die Einstellung »FE:FF:"
-"FF:00:00:00« bedeutet, dass die OUI der aktuellen MAC-Adresse beibehalten "
-"wird und nur die niedrigsten 3 Bytes mit Hilfe des Logarithmus »random« oder "
-"»stable« verwürfelt werden. Wenn der Wert eine zusätzliche MAC-Adresse nach "
-"der Maske enthält, so wird diese Adresse an Stelle der aktuellen MAC-Adresse "
-"verwendet, um diejenigen Bits zu befüllten, die nicht verwürfelt werden "
-"sollen. Ein Beispiel: Der Wert »FE:FF:FF:00:00:00 68:F7:28:00:00:00« setzt "
-"die OUI der MAC-Adresse auf 68:F7:28 und die unteren Bits werden verwürfelt. "
-"Der Wert »02:00:00:00:00:00 00:00:00:00:00:00« erstellt eine vollständig "
-"verwürfelte, global verwaltete, eingebrannte MAC-Adresse. Wenn der Wert mehr "
-"als eine zusätzliche MAC-Adresse enthält, so wird eine von diesen zufällt "
-"gewählt. Zum Beispiel generiert »02:00:00:00:00:00 00:00:00:00:00:00 "
-"02:00:00:00:00:00« eine vollständig verwürfelte MAC-Adresse, die zufällig "
-"lokal oder global verwaltet wird."
+"oder eine leere Zeichenkette, so wird per Vorgabe die lokal verwaltete unicast-"
+"MAC-Adresse generiert. Wenn der Wert eine MAC-Adresse enthält, so wird diese "
+"Adresse als Maske verwendet. Die in der Maske gesetzten Bits sollen mit der "
+"aktuellen MAC-Adresse des Geräts befüllt werden, während die nicht gesetzten "
+"mit Zufallswerten besetzt werden. Die Einstellung »FE:FF:FF:00:00:00« "
+"bedeutet, dass die OUI der aktuellen MAC-Adresse beibehalten wird und nur die "
+"niedrigsten 3 Bytes mit Hilfe des Logarithmus »random« oder »stable« "
+"verwürfelt werden. Wenn der Wert eine zusätzliche MAC-Adresse nach der Maske "
+"enthält, so wird diese Adresse an Stelle der aktuellen MAC-Adresse verwendet, "
+"um diejenigen Bits zu befüllten, die nicht verwürfelt werden sollen. Ein "
+"Beispiel: Der Wert »FE:FF:FF:00:00:00 68:F7:28:00:00:00« setzt die OUI der MAC-"
+"Adresse auf 68:F7:28 und die unteren Bits werden verwürfelt. Der Wert "
+"»02:00:00:00:00:00 00:00:00:00:00:00« erstellt eine vollständig verwürfelte, "
+"global verwaltete, eingebrannte MAC-Adresse. Wenn der Wert mehr als eine "
+"zusätzliche MAC-Adresse enthält, so wird eine von diesen zufällt gewählt. Zum "
+"Beispiel generiert »02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00« "
+"eine vollständig verwürfelte MAC-Adresse, die zufällig lokal oder global "
+"verwaltet wird."
-#: src/libnmc-setting/settings-docs.h.in:368
+#: src/libnmc-setting/settings-docs.h.in:383
msgid ""
"If specified, this connection will only apply to the Ethernet device whose "
"permanent MAC address matches. This property does not change the MAC address "
@@ -9758,235 +9729,215 @@ msgstr ""
"dessen permanente MAC-Adresse übereinstimmt. Diese Eigenschaft beeinflusst "
"nicht die MAC-Adresse des Gerätes (d.h. kein »MAC spoofing«)."
-#: src/libnmc-setting/settings-docs.h.in:369
+#: src/libnmc-setting/settings-docs.h.in:384
msgid ""
"If specified, this connection will never apply to the Ethernet device whose "
-"permanent MAC address matches an address in the list. Each MAC address is "
-"in the standard hex-digits-and-colons notation (00:11:22:33:44:55)."
+"permanent MAC address matches an address in the list. Each MAC address is in "
+"the standard hex-digits-and-colons notation (00:11:22:33:44:55)."
msgstr ""
-"Falls angegeben, gilt diese Verbindung niemals für das Ethernet-Gerät, "
-"dessen permanente MAC-Adresse mit einer Adresse in der Liste übereinstimmt. "
-"Jede MAC-Adresse hat die Standard-Hexadezimalziffer (00: 11: 22: 33: 44: 55)."
+"Falls angegeben, gilt diese Verbindung niemals für das Ethernet-Gerät, dessen "
+"permanente MAC-Adresse mit einer Adresse in der Liste übereinstimmt. Jede MAC-"
+"Adresse hat die Standard-Hexadezimalziffer (00: 11: 22: 33: 44: 55)."
-#: src/libnmc-setting/settings-docs.h.in:370
-#: src/libnmc-setting/settings-docs.h.in:397
+#: src/libnmc-setting/settings-docs.h.in:385
+#: src/libnmc-setting/settings-docs.h.in:412
+#: src/libnmc-setting/settings-docs.h.in:458
msgid ""
-"If non-zero, only transmit packets of the specified size or smaller, "
-"breaking larger packets up into multiple Ethernet frames."
+"If non-zero, only transmit packets of the specified size or smaller, breaking "
+"larger packets up into multiple Ethernet frames."
msgstr ""
"Wenn abweichend von Null, so werden Pakete mit der angegebenen Länge oder "
-"kleiner gesendet. Größere Pakete werden in mehrere Ethernet-Rahmen "
-"aufgeteilt."
+"kleiner gesendet. Größere Pakete werden in mehrere Ethernet-Rahmen aufgeteilt."
-#: src/libnmc-setting/settings-docs.h.in:371
+#: src/libnmc-setting/settings-docs.h.in:386
msgid ""
-"Specific port type to use if the device supports multiple attachment "
-"methods. One of \"tp\" (Twisted Pair), \"aui\" (Attachment Unit Interface), "
+"Specific port type to use if the device supports multiple attachment methods. "
+"One of \"tp\" (Twisted Pair), \"aui\" (Attachment Unit Interface), "
"\"bnc\" (Thin Ethernet) or \"mii\" (Media Independent Interface). If the "
"device supports only one port type, this setting is ignored."
msgstr ""
"Spezifischer Porttyp, der verwendet werden soll, wenn das Gerät mehrere "
-"Anhangsmethoden unterstützt. Eines von \"tp\" (Twisted-Pair), "
-"\"Aui\" (Anschluss-Interface), \"bnc\" (Thin Ethernet) oder \"mii\" (Media "
-"Independent Interface). Wenn das Gerät nur einen Porttyp unterstützt, wird "
-"diese Einstellung ignoriert."
+"Anhangsmethoden unterstützt. Eines von »tp« (Twisted-Pair), »aui« (Anschluss-"
+"Interface), »bnc« (Thin Ethernet) oder »mii« (Media Independent Interface). "
+"Wenn das Gerät nur einen Porttyp unterstützt, wird diese Einstellung ignoriert."
-#: src/libnmc-setting/settings-docs.h.in:372
+#: src/libnmc-setting/settings-docs.h.in:387
msgid ""
"s390 network device type; one of \"qeth\", \"lcs\", or \"ctc\", representing "
"the different types of virtual network devices available on s390 systems."
msgstr ""
-"s390 Netzwerkgerätetyp; eines von \"qeth\", \"lcs\" oder \"ctc\", die die "
+"s390 Netzwerkgerätetyp; eines von »qeth«, »lcs« oder »ctc«, die die "
"verschiedenen Arten von virtuellen Netzwerkgeräten darstellen, die auf s390-"
"Systemen verfügbar sind."
-#: src/libnmc-setting/settings-docs.h.in:373
-#, fuzzy
+#: src/libnmc-setting/settings-docs.h.in:388
msgid ""
-"Dictionary of key/value pairs of s390-specific device options. Both keys "
-"and values must be strings. Allowed keys include \"portno\", \"layer2\", "
+"Dictionary of key/value pairs of s390-specific device options. Both keys and "
+"values must be strings. Allowed keys include \"portno\", \"layer2\", "
"\"portname\", \"protocol\", among others. Key names must contain only "
"alphanumeric characters (ie, [a-zA-Z0-9]). Currently, NetworkManager itself "
-"does nothing with this information. However, s390utils ships a udev rule "
-"which parses this information and applies it to the interface."
+"does nothing with this information. However, s390utils ships a udev rule which "
+"parses this information and applies it to the interface."
msgstr ""
-"Wörterbuch von Schlüssel / Wert-Paaren von s390-spezifischen Geräteoptionen. "
-"Beide Schlüssel und Werte müssen Zeichenfolgen sein. Zu den zulässigen "
-"Schlüsseln gehören ua \"portno\", \"layer2\", \"portname\", \"protocol\". "
-"Schlüsselnamen dürfen nur alphanumerische Zeichen enthalten (dh [a-zA-Z0-9])."
-#: src/libnmc-setting/settings-docs.h.in:374
+#: src/libnmc-setting/settings-docs.h.in:389
msgid ""
"Identifies specific subchannels that this network device uses for "
"communication with z/VM or s390 host. Like the \"mac-address\" property for "
"non-z/VM devices, this property can be used to ensure this connection only "
"applies to the network device that uses these subchannels. The list should "
-"contain exactly 3 strings, and each string may only be composed of "
-"hexadecimal characters and the period (.) character."
+"contain exactly 3 strings, and each string may only be composed of hexadecimal "
+"characters and the period (.) character."
msgstr ""
"Identifiziert bestimmte Unterkanäle, die dieses Netzwerkgerät für die "
-"Kommunikation mit z / VM- oder s390-Hosts verwendet. Wie die Eigenschaft "
-"\"Mac-Adresse\" für Nicht-z / VM-Geräte kann diese Eigenschaft verwendet "
-"werden, um sicherzustellen, dass diese Verbindung nur für das Netzwerkgerät "
-"gilt, das diese Unterkanäle verwendet. Die Liste sollte genau 3 "
-"Zeichenfolgen enthalten und jede Zeichenfolge darf nur aus hexadezimalen "
-"Zeichen und dem Punktzeichen (.) Bestehen."
+"Kommunikation mit z/VM- oder s390-Hosts verwendet. Wie die Eigenschaft »mac-"
+"address« für Nicht-z/VM-Geräte kann diese Eigenschaft verwendet werden, um "
+"sicherzustellen, dass diese Verbindung nur für das Netzwerkgerät gilt, das "
+"diese Unterkanäle verwendet. Die Liste sollte genau 3 Zeichenfolgen enthalten "
+"und jede Zeichenfolge darf nur aus hexadezimalen Zeichen und dem Punktzeichen "
+"(.) Bestehen."
-#: src/libnmc-setting/settings-docs.h.in:375
+#: src/libnmc-setting/settings-docs.h.in:390
msgid ""
-"When a value greater than 0 is set, configures the device to use the "
-"specified speed. If \"auto-negotiate\" is \"yes\" the specified speed will "
-"be the only one advertised during link negotiation: this works only for BASE-"
-"T 802.3 specifications and is useful for enforcing gigabit speeds, as in "
-"this case link negotiation is mandatory. If the value is unset (0, the "
-"default), the link configuration will be either skipped (if \"auto-"
-"negotiate\" is \"no\", the default) or will be auto-negotiated (if \"auto-"
-"negotiate\" is \"yes\") and the local device will advertise all the "
-"supported speeds. In Mbit/s, ie 100 == 100Mbit/s. Must be set together with "
-"the \"duplex\" property when non-zero. Before specifying a speed value be "
-"sure your device supports it."
+"When a value greater than 0 is set, configures the device to use the specified "
+"speed. If \"auto-negotiate\" is \"yes\" the specified speed will be the only "
+"one advertised during link negotiation: this works only for BASE-T 802.3 "
+"specifications and is useful for enforcing gigabit speeds, as in this case "
+"link negotiation is mandatory. If the value is unset (0, the default), the "
+"link configuration will be either skipped (if \"auto-negotiate\" is \"no\", "
+"the default) or will be auto-negotiated (if \"auto-negotiate\" is \"yes\") and "
+"the local device will advertise all the supported speeds. In Mbit/s, ie 100 == "
+"100Mbit/s. Must be set together with the \"duplex\" property when non-zero. "
+"Before specifying a speed value be sure your device supports it."
msgstr ""
"Wenn ein Wert größer als 0 festgelegt wird, konfiguriert das Gerät die "
-"angegebene Geschwindigkeit. Wenn \"Auto-Negotiation\" \"Yes\" ist, wird die "
-"angegebene Geschwindigkeit als einzige während der Link-Verhandlung "
-"beworben: Dies funktioniert nur für BASE-T 802.3-Spezifikationen und ist "
-"nützlich für die Durchsetzung von Gigabit-Geschwindigkeiten, da in diesem "
-"Fall Link-Negotiation obligatorisch ist. Wenn der Wert nicht gesetzt ist (0, "
-"der Standardwert), wird die Link-Konfiguration entweder übersprungen (wenn "
-"\"Auto-Negotiation\" \"Nein\" ist, der Standardwert) oder automatisch "
-"ausgehandelt (wenn \"Auto-Negotiation\" \"Ja\" ist) \") und das lokale Gerät "
-"wird für alle unterstützten Geschwindigkeiten werben. In Mbit / s, dh 100 = "
-"100 Mbit / s. Muss zusammen mit der Eigenschaft \"duplex\" gesetzt werden, "
-"wenn sie ungleich Null ist. Bevor Sie einen Geschwindigkeitswert angeben, "
-"vergewissern Sie sich, dass Ihr Gerät dies unterstützt."
+"angegebene Geschwindigkeit. Wenn »auto-negotiate« »yes« ist, wird die "
+"angegebene Geschwindigkeit als einzige während der Link-Verhandlung beworben: "
+"Dies funktioniert nur für BASE-T 802.3-Spezifikationen und ist nützlich für "
+"die Durchsetzung von Gigabit-Geschwindigkeiten, da in diesem Fall Link-"
+"Negotiation obligatorisch ist. Wenn der Wert nicht gesetzt ist (0, der "
+"Standardwert), wird die Link-Konfiguration entweder übersprungen (wenn »auto-"
+"negotiate« »no« ist, der Standardwert) oder automatisch ausgehandelt (wenn "
+"»auto-negotiate« »yes« ist) und das lokale Gerät wird für alle unterstützten "
+"Geschwindigkeiten werben. In Mbit/s, d. h. 100 = 100 Mbit/s. Muss zusammen mit "
+"der Eigenschaft »duplex« gesetzt werden, wenn sie ungleich Null ist. Bevor Sie "
+"einen Geschwindigkeitswert angeben, vergewissern Sie sich, dass Ihr Gerät dies "
+"unterstützt."
-#: src/libnmc-setting/settings-docs.h.in:376
+#: src/libnmc-setting/settings-docs.h.in:391
msgid ""
"The NMSettingWiredWakeOnLan options to enable. Not all devices support all "
-"options. May be any combination of NM_SETTING_WIRED_WAKE_ON_LAN_PHY (0x2), "
-"NM_SETTING_WIRED_WAKE_ON_LAN_UNICAST (0x4), "
-"NM_SETTING_WIRED_WAKE_ON_LAN_MULTICAST (0x8), "
-"NM_SETTING_WIRED_WAKE_ON_LAN_BROADCAST (0x10), "
-"NM_SETTING_WIRED_WAKE_ON_LAN_ARP (0x20), NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC "
-"(0x40) or the special values NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT (0x1) (to "
-"use global settings) and NM_SETTING_WIRED_WAKE_ON_LAN_IGNORE (0x8000) (to "
-"disable management of Wake-on-LAN in NetworkManager)."
-msgstr ""
-"Die NMSettingWiredWakeOnLan-Optionen zum Aktivieren. Nicht alle Geräte "
-"unterstützen alle Optionen. Kann eine beliebige Kombination von "
-"NM_SETTING_WIRED_WAKE_ON_LAN_PHY (0x2), NM_SETTING_WIRED_WAKE_ON_LAN_UNICAST "
-"(0x4), NM_SETTING_WIRED_WAKE_ON_LAN_MULTICAST (0x8), "
-"NM_SETTING_WIRED_WAKE_ON_LAN_BROADCAST (0x10), "
-"NM_SETTING_WIRED_WAKE_ON_LAN_ARP (0x20), NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC "
-"(0x40) oder die speziellen Werte NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT (0x1) "
-"(um globale Einstellungen) und NM_SETTING_WIRED_WAKE_ON_LAN_IGNORE (0x8000) "
-"(um die Verwaltung von Wake-on-LAN im NetworkManager zu deaktivieren)."
+"options. May be any combination of \"phy\" (0x2), \"unicast\" (0x4), "
+"\"multicast\" (0x8), \"broadcast\" (0x10), \"arp\" (0x20), \"magic\" (0x40) or "
+"the special values \"default\" (0x1) (to use global settings) and "
+"\"ignore\" (0x8000) (to disable management of Wake-on-LAN in NetworkManager)."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:377
+#: src/libnmc-setting/settings-docs.h.in:392
msgid ""
"If specified, the password used with magic-packet-based Wake-on-LAN, "
-"represented as an Ethernet MAC address. If NULL, no password will be "
-"required."
+"represented as an Ethernet MAC address. If NULL, no password will be required."
msgstr ""
"Falls angegeben, wird das mit Magic-Packet-basierte Wake-on-LAN verwendete "
"Passwort als Ethernet-MAC-Adresse dargestellt. Wenn NULL, wird kein Passwort "
"benötigt."
-#: src/libnmc-setting/settings-docs.h.in:378
+#: src/libnmc-setting/settings-docs.h.in:393
msgid ""
-"The use of fwmark is optional and is by default off. Setting it to 0 "
-"disables it. Otherwise, it is a 32-bit fwmark for outgoing packets. Note "
-"that \"ip4-auto-default-route\" or \"ip6-auto-default-route\" enabled, "
-"implies to automatically choose a fwmark."
+"The use of fwmark is optional and is by default off. Setting it to 0 disables "
+"it. Otherwise, it is a 32-bit fwmark for outgoing packets. Note that \"ip4-"
+"auto-default-route\" or \"ip6-auto-default-route\" enabled, implies to "
+"automatically choose a fwmark."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:379
+#: src/libnmc-setting/settings-docs.h.in:394
msgid ""
-"Whether to enable special handling of the IPv4 default route. If enabled, "
-"the IPv4 default route from wireguard.peer-routes will be placed to a "
-"dedicated routing-table and two policy routing rules will be added. The "
-"fwmark number is also used as routing-table for the default-route, and if "
-"fwmark is zero, an unused fwmark/table is chosen automatically. This "
-"corresponds to what wg-quick does with Table=auto and what WireGuard calls "
-"\"Improved Rule-based Routing\". Note that for this automatism to work, you "
-"usually don't want to set ipv4.gateway, because that will result in a "
-"conflicting default route. Leaving this at the default will enable this "
-"option automatically if ipv4.never-default is not set and there are any "
-"peers that use a default-route as allowed-ips. Since this automatism only "
-"makes sense if you also have a peer with an /0 allowed-ips, it is usually "
-"not necessary to enable this explicitly. However, you can disable it if you "
-"want to configure your own routing and rules."
+"Whether to enable special handling of the IPv4 default route. If enabled, the "
+"IPv4 default route from wireguard.peer-routes will be placed to a dedicated "
+"routing-table and two policy routing rules will be added. The fwmark number is "
+"also used as routing-table for the default-route, and if fwmark is zero, an "
+"unused fwmark/table is chosen automatically. This corresponds to what wg-quick "
+"does with Table=auto and what WireGuard calls \"Improved Rule-based Routing\". "
+"Note that for this automatism to work, you usually don't want to set ipv4."
+"gateway, because that will result in a conflicting default route. Leaving this "
+"at the default will enable this option automatically if ipv4.never-default is "
+"not set and there are any peers that use a default-route as allowed-ips. Since "
+"this automatism only makes sense if you also have a peer with an /0 allowed-"
+"ips, it is usually not necessary to enable this explicitly. However, you can "
+"disable it if you want to configure your own routing and rules."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:380
+#: src/libnmc-setting/settings-docs.h.in:395
msgid "Like ip4-auto-default-route, but for the IPv6 default route."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:381
+#: src/libnmc-setting/settings-docs.h.in:396
msgid ""
"The listen-port. If listen-port is not specified, the port will be chosen "
"randomly when the interface comes up."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:382
+#: src/libnmc-setting/settings-docs.h.in:397
#, fuzzy
+#| msgid ""
+#| "If non-zero, only transmit packets of the specified size or smaller, "
+#| "breaking larger packets up into multiple Ethernet frames."
msgid ""
-"If non-zero, only transmit packets of the specified size or smaller, "
-"breaking larger packets up into multiple fragments. If zero a default MTU is "
-"used. Note that contrary to wg-quick's MTU setting, this does not take into "
-"account the current routes at the time of activation."
+"If non-zero, only transmit packets of the specified size or smaller, breaking "
+"larger packets up into multiple fragments. If zero a default MTU is used. Note "
+"that contrary to wg-quick's MTU setting, this does not take into account the "
+"current routes at the time of activation."
msgstr ""
"Wenn abweichend von Null, so werden Pakete mit der angegebenen Länge oder "
-"kleiner gesendet. Größere Pakete werden in mehrere Ethernet-Rahmen "
-"aufgeteilt."
+"kleiner gesendet. Größere Pakete werden in mehrere Ethernet-Rahmen aufgeteilt."
-#: src/libnmc-setting/settings-docs.h.in:383
+#: src/libnmc-setting/settings-docs.h.in:398
msgid ""
-"Whether to automatically add routes for the AllowedIPs ranges of the peers. "
-"If TRUE (the default), NetworkManager will automatically add routes in the "
-"routing tables according to ipv4.route-table and ipv6.route-table. Usually "
-"you want this automatism enabled. If FALSE, no such routes are added "
+"Whether to automatically add routes for the AllowedIPs ranges of the peers. If "
+"TRUE (the default), NetworkManager will automatically add routes in the "
+"routing tables according to ipv4.route-table and ipv6.route-table. Usually you "
+"want this automatism enabled. If FALSE, no such routes are added "
"automatically. In this case, the user may want to configure static routes in "
-"ipv4.routes and ipv6.routes, respectively. Note that if the peer's "
-"AllowedIPs is \"0.0.0.0/0\" or \"::/0\" and the profile's ipv4.never-default "
-"or ipv6.never-default setting is enabled, the peer route for this peer won't "
-"be added automatically."
+"ipv4.routes and ipv6.routes, respectively. Note that if the peer's AllowedIPs "
+"is \"0.0.0.0/0\" or \"::/0\" and the profile's ipv4.never-default or ipv6."
+"never-default setting is enabled, the peer route for this peer won't be added "
+"automatically."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:384
+#: src/libnmc-setting/settings-docs.h.in:399
msgid "The 256 bit private-key in base64 encoding."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:385
+#: src/libnmc-setting/settings-docs.h.in:400
#, fuzzy
+#| msgid "Flags indicating how to handle the \"private-key-password\" property."
msgid "Flags indicating how to handle the \"private-key\" property."
msgstr ""
"Flags, die festlegen, wie mit der Eigenschaft »private-key-password« "
"umgegangen werden soll."
-#: src/libnmc-setting/settings-docs.h.in:386
+#: src/libnmc-setting/settings-docs.h.in:401
msgid ""
-"Configures AP isolation, which prevents communication between wireless "
-"devices connected to this AP. This property can be set to a value different "
-"from NM_TERNARY_DEFAULT (-1) only when the interface is configured in AP "
-"mode. If set to NM_TERNARY_TRUE (1), devices are not able to communicate "
-"with each other. This increases security because it protects devices against "
-"attacks from other clients in the network. At the same time, it prevents "
-"devices to access resources on the same wireless networks as file shares, "
-"printers, etc. If set to NM_TERNARY_FALSE (0), devices can talk to each "
-"other. When set to NM_TERNARY_DEFAULT (-1), the global default is used; in "
-"case the global default is unspecified it is assumed to be NM_TERNARY_FALSE "
-"(0)."
+"Configures AP isolation, which prevents communication between wireless devices "
+"connected to this AP. This property can be set to a value different from "
+"\"default\" (-1) only when the interface is configured in AP mode. If set to "
+"\"true\" (1), devices are not able to communicate with each other. This "
+"increases security because it protects devices against attacks from other "
+"clients in the network. At the same time, it prevents devices to access "
+"resources on the same wireless networks as file shares, printers, etc. If set "
+"to \"false\" (0), devices can talk to each other. When set to "
+"\"default\" (-1), the global default is used; in case the global default is "
+"unspecified it is assumed to be \"false\" (0)."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:387
+#: src/libnmc-setting/settings-docs.h.in:402
msgid ""
-"802.11 frequency band of the network. One of \"a\" for 5GHz 802.11a or "
-"\"bg\" for 2.4GHz 802.11. This will lock associations to the Wi-Fi network "
-"to the specific band, i.e. if \"a\" is specified, the device will not "
-"associate with the same network in the 2.4GHz band even if the network's "
-"settings are compatible. This setting depends on specific driver capability "
-"and may not work with all drivers."
+"802.11 frequency band of the network. One of \"a\" for 5GHz 802.11a or \"bg\" "
+"for 2.4GHz 802.11. This will lock associations to the Wi-Fi network to the "
+"specific band, i.e. if \"a\" is specified, the device will not associate with "
+"the same network in the 2.4GHz band even if the network's settings are "
+"compatible. This setting depends on specific driver capability and may not "
+"work with all drivers."
msgstr ""
"Das Frequenzband des Netzwerks nach 802.11. Dies ist entweder »a« für 5GHz "
"802.11a oder »bg« for 2.4GHz 802.11. Damit werden WLAN-Verbindungen auf das "
@@ -9996,94 +9947,81 @@ msgstr ""
"Fähigkeiten des spezifischen Treibers ab und funktioniert somit nicht "
"automatisch mit allen Treibern."
-#: src/libnmc-setting/settings-docs.h.in:388
+#: src/libnmc-setting/settings-docs.h.in:403
#, fuzzy
#| msgid ""
#| "If specified, directs the device to only associate with the given access "
-#| "point. This capability is highly driver dependent and not supported by "
-#| "all devices. Note: this property does not control the BSSID used when "
-#| "creating an Ad-Hoc network and is unlikely to in the future."
+#| "point. This capability is highly driver dependent and not supported by all "
+#| "devices. Note: this property does not control the BSSID used when creating "
+#| "an Ad-Hoc network and is unlikely to in the future."
msgid ""
"If specified, directs the device to only associate with the given access "
"point. This capability is highly driver dependent and not supported by all "
-"devices. Note: this property does not control the BSSID used when creating "
-"an Ad-Hoc network and is unlikely to in the future. Locking a client profile "
-"to a certain BSSID will prevent roaming and also disable background "
-"scanning. That can be useful, if there is only one access point for the SSID."
+"devices. Note: this property does not control the BSSID used when creating an "
+"Ad-Hoc network and is unlikely to in the future. Locking a client profile to a "
+"certain BSSID will prevent roaming and also disable background scanning. That "
+"can be useful, if there is only one access point for the SSID."
msgstr ""
"Bei Angabe wird das Gerät dazu veranlasst, sich nur mit dem angegebenen "
-"Zugangspunkt zu verbinden. Diese Fähigkeit hängt stark vom Treiber ab und "
-"wird nicht von allen Geräten unterstützt. Hinweis: Diese Eigenschaft steuert "
-"nicht die BSSID, welche beim Erstellen von Ad-Hoc-Netzwerken eingesetzt "
-"wird. Dies ist auch nicht für die Zukunft geplant."
+"Zugangspunkt zu verbinden. Diese Fähigkeit hängt stark vom Treiber ab und wird "
+"nicht von allen Geräten unterstützt. Hinweis: Diese Eigenschaft steuert nicht "
+"die BSSID, welche beim Erstellen von Ad-Hoc-Netzwerken eingesetzt wird. Dies "
+"ist auch nicht für die Zukunft geplant."
-#: src/libnmc-setting/settings-docs.h.in:389
+#: src/libnmc-setting/settings-docs.h.in:404
msgid ""
"Wireless channel to use for the Wi-Fi connection. The device will only join "
"(or create for Ad-Hoc networks) a Wi-Fi network on the specified channel. "
-"Because channel numbers overlap between bands, this property also requires "
-"the \"band\" property to be set."
+"Because channel numbers overlap between bands, this property also requires the "
+"\"band\" property to be set."
msgstr ""
"Der für die WLAN-Verbindung zu verwendende WLAN-Kanal. Das Gerät verbindet "
"sich nur mit einem WLAN-Netz (oder erstellt ein Ad-Hoc-Netz) im angegebenen "
"Kanal. Weil sich Kanalnummern zwischen Bändern überlappen erfordert diese "
"Eigenschaft auch das Festlegen der »Band«-Eigenschaft."
-#: src/libnmc-setting/settings-docs.h.in:390
+#: src/libnmc-setting/settings-docs.h.in:405
msgid ""
"If specified, request that the device use this MAC address instead. This is "
-"known as MAC cloning or spoofing. Beside explicitly specifying a MAC "
-"address, the special values \"preserve\", \"permanent\", \"random\" and "
-"\"stable\" are supported. \"preserve\" means not to touch the MAC address on "
-"activation. \"permanent\" means to use the permanent hardware address of the "
-"device. \"random\" creates a random MAC address on each connect. \"stable\" "
-"creates a hashed MAC address based on connection.stable-id and a machine "
-"dependent key. If unspecified, the value can be overwritten via global "
-"defaults, see manual of NetworkManager.conf. If still unspecified, it "
-"defaults to \"preserve\" (older versions of NetworkManager may use a "
-"different default value). On D-Bus, this field is expressed as \"assigned-"
-"mac-address\" or the deprecated \"cloned-mac-address\"."
-msgstr ""
-"Falls angegeben, fordern Sie an, dass das Gerät stattdessen diese MAC-"
-"Adresse verwendet. Dies wird als MAC-Cloning oder Spoofing bezeichnet. Neben "
-"der expliziten Angabe einer MAC-Adresse werden die speziellen Werte "
-"\"preserve\", \"permanent\", \"random\" und \"stable\" unterstützt. "
-"\"preserve\" bedeutet, dass die MAC-Adresse bei der Aktivierung nicht "
-"berührt wird. \"permanent\" bedeutet, die permanente Hardwareadresse des "
-"Geräts zu verwenden. \"random\" erzeugt bei jeder Verbindung eine zufällige "
-"MAC-Adresse. \"stable\" erstellt eine Hash-MAC-Adresse basierend auf "
-"connection.stable-id und einem maschinenabhängigen Schlüssel. Wenn nicht "
-"angegeben, kann der Wert über globale Standardwerte überschrieben werden, "
-"siehe Handbuch der NetworkManager.conf. Wenn es noch nicht angegeben ist, "
-"wird standardmäßig \"beibehalten\" verwendet (ältere Versionen von "
-"NetworkManager verwenden möglicherweise einen anderen Standardwert). Auf D-"
-"Bus wird dieses Feld als \"zugewiesene Mac-Adresse\" oder die veraltete "
-"\"Cloned-Mac-Adresse\" ausgedrückt."
+"known as MAC cloning or spoofing. Beside explicitly specifying a MAC address, "
+"the special values \"preserve\", \"permanent\", \"random\", \"stable\" and "
+"\"stable-ssid\" are supported. \"preserve\" means not to touch the MAC address "
+"on activation. \"permanent\" means to use the permanent hardware address of "
+"the device. \"random\" creates a random MAC address on each connect. "
+"\"stable\" creates a hashed MAC address based on connection.stable-id and a "
+"machine dependent key. \"stable-ssid\" creates a hashed MAC address based on "
+"the SSID, the same as setting the stable-id to \"${NETWORK_SSID}\". If "
+"unspecified, the value can be overwritten via global defaults, see manual of "
+"NetworkManager.conf. If still unspecified, it defaults to \"preserve\" (older "
+"versions of NetworkManager may use a different default value). On D-Bus, this "
+"field is expressed as \"assigned-mac-address\" or the deprecated \"cloned-mac-"
+"address\"."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:392
+#: src/libnmc-setting/settings-docs.h.in:407
msgid ""
"If TRUE, indicates that the network is a non-broadcasting network that hides "
"its SSID. This works both in infrastructure and AP mode. In infrastructure "
"mode, various workarounds are used for a more reliable discovery of hidden "
-"networks, such as probe-scanning the SSID. However, these workarounds "
-"expose inherent insecurities with hidden SSID networks, and thus hidden SSID "
-"networks should be used with caution. In AP mode, the created network does "
-"not broadcast its SSID. Note that marking the network as hidden may be a "
-"privacy issue for you (in infrastructure mode) or client stations (in AP "
-"mode), as the explicit probe-scans are distinctly recognizable on the air."
+"networks, such as probe-scanning the SSID. However, these workarounds expose "
+"inherent insecurities with hidden SSID networks, and thus hidden SSID networks "
+"should be used with caution. In AP mode, the created network does not "
+"broadcast its SSID. Note that marking the network as hidden may be a privacy "
+"issue for you (in infrastructure mode) or client stations (in AP mode), as the "
+"explicit probe-scans are distinctly recognizable on the air."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:393
+#: src/libnmc-setting/settings-docs.h.in:408
msgid ""
"If specified, this connection will only apply to the Wi-Fi device whose "
"permanent MAC address matches. This property does not change the MAC address "
"of the device (i.e. MAC spoofing)."
msgstr ""
-"Wenn angegeben, so ist diese Verbindung nur für das WLAN-Gerät gültig, "
-"dessen permanente MAC-Adresse passt. Diese Eigenschaft beeinflusst nicht die "
-"MAC-Adresse des Gerätes (d.h. kein »MAC spoofing«)."
+"Wenn angegeben, so ist diese Verbindung nur für das WLAN-Gerät gültig, dessen "
+"permanente MAC-Adresse passt. Diese Eigenschaft beeinflusst nicht die MAC-"
+"Adresse des Gerätes (d.h. kein »MAC spoofing«)."
-#: src/libnmc-setting/settings-docs.h.in:394
+#: src/libnmc-setting/settings-docs.h.in:409
msgid ""
"A list of permanent MAC addresses of Wi-Fi devices to which this connection "
"should never apply. Each MAC address should be given in the standard hex-"
@@ -10094,67 +10032,59 @@ msgstr ""
"Schreibweise hexadezimal und mit Doppelpunkt (zum Beispiel "
"»00:11:22:33:44:55«) angegeben werden."
-#: src/libnmc-setting/settings-docs.h.in:395
+#: src/libnmc-setting/settings-docs.h.in:410
msgid ""
-"One of NM_SETTING_MAC_RANDOMIZATION_DEFAULT (0) (never randomize unless the "
-"user has set a global default to randomize and the supplicant supports "
-"randomization), NM_SETTING_MAC_RANDOMIZATION_NEVER (1) (never randomize the "
-"MAC address), or NM_SETTING_MAC_RANDOMIZATION_ALWAYS (2) (always randomize "
-"the MAC address). This property is deprecated for 'cloned-mac-address'. "
-"Deprecated: 1"
+"One of \"default\" (0) (never randomize unless the user has set a global "
+"default to randomize and the supplicant supports randomization), "
+"\"never\" (1) (never randomize the MAC address), or \"always\" (2) (always "
+"randomize the MAC address)."
msgstr ""
-"Eine von NM_SETTING_MAC_RANDOMIZATION_DEFAULT (0) (niemals Randomisieren, "
-"außer der Benutzer hat einen globalen Standard auf Randomize gesetzt und der "
-"Supplicant unterstützt Randomisierung), NM_SETTING_MAC_RANDOMIZATION_NEVER "
-"(1) (niemals die MAC-Adresse zufällig), oder "
-"NM_SETTING_MAC_RANDOMIZATION_ALWAYS (2) (immer die MAC-Adresse zufällig) . "
-"Diese Eigenschaft ist für 'cloned-mac-address' veraltet. Veraltet: 1"
-#: src/libnmc-setting/settings-docs.h.in:396
+#: src/libnmc-setting/settings-docs.h.in:411
#, fuzzy
+#| msgid ""
+#| "Wi-Fi network mode; one of \"infrastructure\", \"adhoc\" or \"ap\". If "
+#| "blank, infrastructure is assumed."
msgid ""
-"Wi-Fi network mode; one of \"infrastructure\", \"mesh\", \"adhoc\" or "
-"\"ap\". If blank, infrastructure is assumed."
+"Wi-Fi network mode; one of \"infrastructure\", \"mesh\", \"adhoc\" or \"ap\". "
+"If blank, infrastructure is assumed."
msgstr ""
"Der WLAN-Netzwerkmodus. Es ist entweder »infrasturcture« (Infrastruktur), "
"»adhoc« oder »ap« (Zugangspunkt). Sofern der Wert ausgelassen ist, wird "
"»Infrastruktur« angenommen."
-#: src/libnmc-setting/settings-docs.h.in:398
+#: src/libnmc-setting/settings-docs.h.in:413
msgid ""
-"One of NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2) (disable Wi-Fi power "
-"saving), NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3) (enable Wi-Fi power "
-"saving), NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1) (don't touch currently "
-"configure setting) or NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0) (use the "
-"globally configured value). All other values are reserved."
+"One of \"disable\" (2) (disable Wi-Fi power saving), \"enable\" (3) (enable Wi-"
+"Fi power saving), \"ignore\" (1) (don't touch currently configure setting) or "
+"\"default\" (0) (use the globally configured value). All other values are "
+"reserved."
msgstr ""
-"Einer von NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2) (Deaktivieren der Wi-Fi-"
-"Energiesparfunktion), NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3) (Aktivieren "
-"der Wi-Fi-Energiesparfunktion), NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1) "
-"(aktuelle Konfiguration nicht berühren) oder "
-"NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0) (global verwenden konfigurierter "
-"Wert). Alle anderen Werte sind reserviert."
-#: src/libnmc-setting/settings-docs.h.in:399
-msgid ""
-"If non-zero, directs the device to only use the specified bitrate for "
-"communication with the access point. Units are in Kb/s, ie 5500 = 5.5 Mbit/"
-"s. This property is highly driver dependent and not all devices support "
-"setting a static bitrate."
-msgstr ""
-"Bei einer Angabe ungleich Null wird das Gerät angewiesen, nur die "
-"festgelegte Bitrate für die Kommunikation mit dem Zugangspunkt einzusetzen. "
-"Die Einheit ist KByte/s, d.h. 5500 = 5.5 Mbit/s.Diese Eigenschaft hängt "
-"stark vom Gerätetreiber ab. Nicht alle Geräte unterstützen das Festlegen "
-"einer statischen Bitrate."
+#: src/libnmc-setting/settings-docs.h.in:414
+#: src/libnmc-setting/settings-docs.h.in:417
+#, fuzzy
+#| msgid "this property is not allowed for method none"
+msgid "This property is not implemented and has no effect."
+msgstr "Diese Eigenschaft ist nicht erlaubt für die Methode »none«"
-#: src/libnmc-setting/settings-docs.h.in:400
+#: src/libnmc-setting/settings-docs.h.in:415
+#, fuzzy
+#| msgid ""
+#| "A list of BSSIDs (each BSSID formatted as a MAC address like "
+#| "\"00:11:22:33:44:55\") that have been detected as part of the Wi-Fi "
+#| "network. NetworkManager internally tracks previously seen BSSIDs. The "
+#| "property is only meant for reading and reflects the BSSID list of "
+#| "NetworkManager. The changes you make to this property will not be preserved."
msgid ""
"A list of BSSIDs (each BSSID formatted as a MAC address like "
-"\"00:11:22:33:44:55\") that have been detected as part of the Wi-Fi "
-"network. NetworkManager internally tracks previously seen BSSIDs. The "
-"property is only meant for reading and reflects the BSSID list of "
-"NetworkManager. The changes you make to this property will not be preserved."
+"\"00:11:22:33:44:55\") that have been detected as part of the Wi-Fi network. "
+"NetworkManager internally tracks previously seen BSSIDs. The property is only "
+"meant for reading and reflects the BSSID list of NetworkManager. The changes "
+"you make to this property will not be preserved. This is not a regular "
+"property that the user would configure. Instead, NetworkManager automatically "
+"sets the seen BSSIDs and tracks them internally in \"/var/lib/NetworkManager/"
+"seen-bssids\" file."
msgstr ""
"Eine Liste mit BSSID-Nummern (jede BSSID ist als MAC-Adresse wie "
"beispielsweise »00:11:22:33:44:55« formatiert), die als Teil des WLAN-Netzes "
@@ -10162,140 +10092,123 @@ msgstr ""
"ist nur lesbar und entspricht der BSSID-Liste von NetworkManager. Änderungen "
"an dieser Eigenschaft gehen verloren."
-#: src/libnmc-setting/settings-docs.h.in:401
+#: src/libnmc-setting/settings-docs.h.in:416
msgid "SSID of the Wi-Fi network. Must be specified."
msgstr "SSID des WLAN-Netzes. Dies muss angegeben werden."
-#: src/libnmc-setting/settings-docs.h.in:402
+#: src/libnmc-setting/settings-docs.h.in:418
msgid ""
-"If non-zero, directs the device to use the specified transmit power. Units "
-"are dBm. This property is highly driver dependent and not all devices "
-"support setting a static transmit power."
+"The NMSettingWirelessWakeOnWLan options to enable. Not all devices support all "
+"options. May be any combination of \"any\" (0x2), \"disconnect\" (0x4), "
+"\"magic\" (0x8), \"gtk-rekey-failure\" (0x10), \"eap-identity-"
+"request\" (0x20), \"4way-handshake\" (0x40), \"rfkill-release\" (0x80), "
+"\"tcp\" (0x100) or the special values \"default\" (0x1) (to use global "
+"settings) and \"ignore\" (0x8000) (to disable management of Wake-on-LAN in "
+"NetworkManager)."
msgstr ""
-"Bei einem Wert ungleich Null wird das Gerät angewiesen, die angegebene "
-"Sendeleistung zu verwenden. Die Einheit ist dBm. Diese Eigenschaft hängt "
-"stark vom Gerätetreiber ab. Nicht alle Geräte unterstützen das Festlegen "
-"einer statischen Sendeleistung."
-#: src/libnmc-setting/settings-docs.h.in:403
-msgid ""
-"The NMSettingWirelessWakeOnWLan options to enable. Not all devices support "
-"all options. May be any combination of NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY "
-"(0x2), NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT (0x4), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_MAGIC (0x8), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_GTK_REKEY_FAILURE (0x10), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_EAP_IDENTITY_REQUEST (0x20), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_4WAY_HANDSHAKE (0x40), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_RFKILL_RELEASE (0x80), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_TCP (0x100) or the special values "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT (0x1) (to use global settings) and "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE (0x8000) (to disable management of "
-"Wake-on-LAN in NetworkManager)."
-msgstr ""
-"Die NMSettingWirelessWakeOnWLan-Optionen zum Aktivieren. Nicht alle Geräte "
-"unterstützen alle Optionen. Kann eine beliebige Kombination von "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY (0x2), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT (0x4), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_MAGIC (0x8), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_GTK_REKEY_FAILURE (0x10), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_EAP_IDENTITY_REQUEST (0x20), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_4WAY_HANDSHAKE (0x40), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_RFKILL_RELEASE (0x80), "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_TCP (0x100) oder die speziellen Werte "
-"NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT ( 0x1) (um globale Einstellungen zu "
-"verwenden) und NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE (0x8000) (um die "
-"Verwaltung von Wake-on-LAN im NetworkManager zu deaktivieren)."
-
-#: src/libnmc-setting/settings-docs.h.in:404
+#: src/libnmc-setting/settings-docs.h.in:419
msgid ""
"When WEP is used (ie, key-mgmt = \"none\" or \"ieee8021x\") indicate the "
-"802.11 authentication algorithm required by the AP here. One of \"open\" "
-"for Open System, \"shared\" for Shared Key, or \"leap\" for Cisco LEAP. "
-"When using Cisco LEAP (ie, key-mgmt = \"ieee8021x\" and auth-alg = \"leap\") "
-"the \"leap-username\" and \"leap-password\" properties must be specified."
-msgstr ""
-"Wenn WEP verwendet wird (d.h. key-mgmt = \"none\" oder \"ieee8021x\"), so "
-"wird der 802.11 Legitimierungs-Algorithmus angegeben, der durch den "
-"Zugangspunkt eingefordert wird. Es ist entweder »open« (offen) für ein "
-"offenes System, »shared« für einen gemeinsam verwendeten Schlüssel oder "
-"»leap« für Cisco LEAP. Bei Verwendung von Cisco LEAP (d.h. key-mgmt = "
-"\"ieee8021x\" und auth-alg = \"leap\") müssen die Eigenschaften »leap-"
-"username« und »leap-password« angegeben werden."
+"802.11 authentication algorithm required by the AP here. One of \"open\" for "
+"Open System, \"shared\" for Shared Key, or \"leap\" for Cisco LEAP. When "
+"using Cisco LEAP (ie, key-mgmt = \"ieee8021x\" and auth-alg = \"leap\") the "
+"\"leap-username\" and \"leap-password\" properties must be specified."
+msgstr ""
+"Wenn WEP verwendet wird (d.h. key-mgmt = \"none\" oder \"ieee8021x\"), so wird "
+"der 802.11 Legitimierungs-Algorithmus angegeben, der durch den Zugangspunkt "
+"eingefordert wird. Es ist entweder »open« (offen) für ein offenes System, "
+"»shared« für einen gemeinsam verwendeten Schlüssel oder »leap« für Cisco LEAP. "
+"Bei Verwendung von Cisco LEAP (d.h. key-mgmt = \"ieee8021x\" und auth-alg = "
+"\"leap\") müssen die Eigenschaften »leap-username« und »leap-password« "
+"angegeben werden."
-#: src/libnmc-setting/settings-docs.h.in:405
+#: src/libnmc-setting/settings-docs.h.in:420
+#, fuzzy
+#| msgid ""
+#| "Indicates whether Fast Initial Link Setup (802.11ai) must be enabled for "
+#| "the connection. One of NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) (use "
+#| "global default value), NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE (1) "
+#| "(disable FILS), NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL (2) (enable FILS "
+#| "if the supplicant and the access point support it) or "
+#| "NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED (3) (enable FILS and fail if not "
+#| "supported). When set to NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) and "
+#| "no global default is set, FILS will be optionally enabled."
msgid ""
"Indicates whether Fast Initial Link Setup (802.11ai) must be enabled for the "
-"connection. One of NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) (use "
-"global default value), NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE (1) "
-"(disable FILS), NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL (2) (enable FILS "
-"if the supplicant and the access point support it) or "
-"NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED (3) (enable FILS and fail if not "
-"supported). When set to NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) and "
-"no global default is set, FILS will be optionally enabled."
+"connection. One of \"default\" (0) (use global default value), "
+"\"disable\" (1) (disable FILS), \"optional\" (2) (enable FILS if the "
+"supplicant and the access point support it) or \"required\" (3) (enable FILS "
+"and fail if not supported). When set to \"default\" (0) and no global default "
+"is set, FILS will be optionally enabled."
msgstr ""
"Gibt an, ob »Fast Initial Link Setup« (802.11ai) für die Verbindung "
"eingeschaltet sein muss. Es ist eines von "
"NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) (den globalen Vorgabewert "
-"verwenden), NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE (1) (FILS "
-"ausschalten), NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL (2) (FILS "
-"einschalten, wenn es supplicant und Zugangspunkt unterstützen) oder "
+"verwenden), NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE (1) (FILS ausschalten), "
+"NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL (2) (FILS einschalten, wenn es "
+"supplicant und Zugangspunkt unterstützen) oder "
"NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED (3) (FILS einschalten und "
"abbrechen, sofern nicht unterstützt). Wenn "
"NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) eingestellt ist und keine "
"globale Vorgabe definiert ist, so wird FILS optional eingeschaltet."
-#: src/libnmc-setting/settings-docs.h.in:406
+#: src/libnmc-setting/settings-docs.h.in:421
msgid ""
-"A list of group/broadcast encryption algorithms which prevents connections "
-"to Wi-Fi networks that do not utilize one of the algorithms in the list. "
-"For maximum compatibility leave this property empty. Each list element may "
-"be one of \"wep40\", \"wep104\", \"tkip\", or \"ccmp\"."
+"A list of group/broadcast encryption algorithms which prevents connections to "
+"Wi-Fi networks that do not utilize one of the algorithms in the list. For "
+"maximum compatibility leave this property empty. Each list element may be one "
+"of \"wep40\", \"wep104\", \"tkip\", or \"ccmp\"."
msgstr ""
-"Eine Liste von Gruppen- / Broadcast-Verschlüsselungsalgorithmen, die "
-"Verbindungen zu Wi-Fi-Netzwerken verhindert, die keinen der Algorithmen in "
-"der Liste verwenden. Für maximale Kompatibilität lassen Sie diese "
-"Eigenschaft leer. Jedes Listenelement kann eines von \"wep40\", \"wep104\", "
-"\"tkip\" oder \"ccmp\" sein."
+"Eine Liste von Gruppen-/Broadcast-Verschlüsselungsalgorithmen, die dafür "
+"sorgt, dass nur Verbindungen mit WLAN-Netzen hergestellt werden, welche diese "
+"Algorithmen verwenden. Für größtmögliche Kompatibilität lassen Sie bitte das "
+"Feld leer. Jedes Listenelement darf eines sein von »wep40«, »wep104«, »tkip« "
+"oder »ccmp«."
-#: src/libnmc-setting/settings-docs.h.in:407
+#: src/libnmc-setting/settings-docs.h.in:422
#, fuzzy
+#| msgid ""
+#| "Key management used for the connection. One of \"none\" (WEP), "
+#| "\"ieee8021x\" (Dynamic WEP), \"wpa-none\" (Ad-Hoc WPA-PSK), \"wpa-"
+#| "psk\" (infrastructure WPA-PSK), or \"wpa-eap\" (WPA-Enterprise). This "
+#| "property must be set for any Wi-Fi connection that uses security."
msgid ""
"Key management used for the connection. One of \"none\" (WEP or no password "
"protection), \"ieee8021x\" (Dynamic WEP), \"owe\" (Opportunistic Wireless "
-"Encryption), \"wpa-psk\" (WPA2 + WPA3 personal), \"sae\" (WPA3 personal "
-"only), \"wpa-eap\" (WPA2 + WPA3 enterprise) or \"wpa-eap-suite-b-192\" (WPA3 "
-"enterprise only). This property must be set for any Wi-Fi connection that "
-"uses security."
+"Encryption), \"wpa-psk\" (WPA2 + WPA3 personal), \"sae\" (WPA3 personal only), "
+"\"wpa-eap\" (WPA2 + WPA3 enterprise) or \"wpa-eap-suite-b-192\" (WPA3 "
+"enterprise only). This property must be set for any Wi-Fi connection that uses "
+"security."
msgstr ""
"Die Schlüsselverwaltung für die Verbindung. Es ist eine von »none« (WEP), "
-"»ieee8021x« (Dynamisches WEP), »wpa-none« (Ad-Hoc WPA-PSK), »wpa-psk« (WPA-"
-"PSK mit Infrastruktur) oder »wpa-eap« (WPA-Enterprise). Diese Eigenschaft "
-"muss für jede WLAN-Verbindung festgelegt werden, die ein "
-"Sicherheitsverfahren einsetzt."
+"»ieee8021x« (Dynamisches WEP), »wpa-none« (Ad-Hoc WPA-PSK), »wpa-psk« (WPA-PSK "
+"mit Infrastruktur) oder »wpa-eap« (WPA-Enterprise). Diese Eigenschaft muss für "
+"jede WLAN-Verbindung festgelegt werden, die ein Sicherheitsverfahren einsetzt."
-#: src/libnmc-setting/settings-docs.h.in:408
+#: src/libnmc-setting/settings-docs.h.in:423
msgid ""
"The login password for legacy LEAP connections (ie, key-mgmt = \"ieee8021x\" "
"and auth-alg = \"leap\")."
msgstr ""
-"Das Passwort zur Anmeldung mit einer veralteten LEAP-Verbindung (d.h. key-"
-"mgmt = »ieee8021x« und auth-alg = »leap«)."
+"Das Passwort zur Anmeldung mit einer veralteten LEAP-Verbindung (d.h. key-mgmt "
+"= »ieee8021x« und auth-alg = »leap«)."
-#: src/libnmc-setting/settings-docs.h.in:409
+#: src/libnmc-setting/settings-docs.h.in:424
msgid "Flags indicating how to handle the \"leap-password\" property."
msgstr ""
"Flags, die festlegen, wie mit der Eigenschaft »leap-password« umgegangen "
"werden soll."
-#: src/libnmc-setting/settings-docs.h.in:410
+#: src/libnmc-setting/settings-docs.h.in:425
msgid ""
"The login username for legacy LEAP connections (ie, key-mgmt = \"ieee8021x\" "
"and auth-alg = \"leap\")."
msgstr ""
-"Der Benutzername zur Anmeldung mit einer veralteten LEAP-Verbindung (d.h. "
-"key-mgmt = »ieee8021x« und auth-alg = »leap«)."
+"Der Benutzername zur Anmeldung mit einer veralteten LEAP-Verbindung (d.h. key-"
+"mgmt = »ieee8021x« und auth-alg = »leap«)."
-#: src/libnmc-setting/settings-docs.h.in:411
+#: src/libnmc-setting/settings-docs.h.in:426
msgid ""
"A list of pairwise encryption algorithms which prevents connections to Wi-Fi "
"networks that do not utilize one of the algorithms in the list. For maximum "
@@ -10307,53 +10220,61 @@ msgstr ""
"Für maximale Kompatibilität lassen Sie diese Eigenschaft leer. Jedes "
"Listenelement kann entweder »tkip« oder »ccmp« sein."
-#: src/libnmc-setting/settings-docs.h.in:412
+#: src/libnmc-setting/settings-docs.h.in:427
+#, fuzzy
+#| msgid ""
+#| "Indicates whether Protected Management Frames (802.11w) must be enabled for "
+#| "the connection. One of NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) (use "
+#| "global default value), NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE (1) "
+#| "(disable PMF), NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL (2) (enable PMF if "
+#| "the supplicant and the access point support it) or "
+#| "NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED (3) (enable PMF and fail if not "
+#| "supported). When set to NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) and "
+#| "no global default is set, PMF will be optionally enabled."
msgid ""
"Indicates whether Protected Management Frames (802.11w) must be enabled for "
-"the connection. One of NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) (use "
-"global default value), NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE (1) (disable "
-"PMF), NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL (2) (enable PMF if the "
-"supplicant and the access point support it) or "
-"NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED (3) (enable PMF and fail if not "
-"supported). When set to NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) and no "
-"global default is set, PMF will be optionally enabled."
-msgstr ""
-"Gibt an, ob Protected Management Frames (802.11w) für die Verbindung "
-"aktiviert sein müssen. Eine von NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) "
-"(globalen Standardwert verwenden), NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE "
-"(1) (PMF deaktivieren), NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL (2) (PMF "
-"aktivieren, wenn der Supplicant und der Access Point dies unterstützen) oder "
-"NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED (3) (PMF aktivieren und Fehler bei "
-"nicht unterstützt). Wenn NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) "
-"festgelegt ist und keine globale Standardeinstellung festgelegt ist, wird "
-"PMF optional aktiviert."
+"the connection. One of \"default\" (0) (use global default value), "
+"\"disable\" (1) (disable PMF), \"optional\" (2) (enable PMF if the supplicant "
+"and the access point support it) or \"required\" (3) (enable PMF and fail if "
+"not supported). When set to \"default\" (0) and no global default is set, PMF "
+"will be optionally enabled."
+msgstr ""
+"Gibt an, ob »Protected Management Frames (802.11w)« für diese Verbindung "
+"eingeschaltet sein muss. Eine Einstellung aus folgender Liste: "
+"NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) (den globalen Vorgabewert "
+"verwenden), NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE (1) (PMF ausschalten), "
+"NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL (2) (PMF einschalten, wenn es sowohl "
+"supplicant als auch Zugangspunkt unterstützen) oder "
+"NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED (3) (PMF einschalten und bei "
+"mangelnder Unterstützung fehlschlagen). Wenn "
+"NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) eingestellt ist und keine globale "
+"Vorgabe eingestellt ist, so wird PMF optional eingeschaltet."
-#: src/libnmc-setting/settings-docs.h.in:413
+#: src/libnmc-setting/settings-docs.h.in:428
msgid ""
"List of strings specifying the allowed WPA protocol versions to use. Each "
"element may be one \"wpa\" (allow WPA) or \"rsn\" (allow WPA2/RSN). If not "
"specified, both WPA and RSN connections are allowed."
msgstr ""
"Liste der Zeichenfolgen, die die zulässigen zu verwendenden WPA-"
-"Protokollversionen angeben. Jedes Element kann ein \"wpa\" (WPA erlauben) "
-"oder \"rsn\" (WPA2 / RSN erlauben) sein. Wenn nicht angegeben, sind sowohl "
-"WPA- als auch RSN-Verbindungen zulässig."
+"Protokollversionen angeben. Jedes Element kann ein »wpa« (WPA erlauben) oder "
+"»rsn« (WPA2 / RSN erlauben) sein. Wenn nicht angegeben, sind sowohl WPA- als "
+"auch RSN-Verbindungen zulässig."
-#: src/libnmc-setting/settings-docs.h.in:414
+#: src/libnmc-setting/settings-docs.h.in:429
msgid ""
-"Pre-Shared-Key for WPA networks. For WPA-PSK, it's either an ASCII "
-"passphrase of 8 to 63 characters that is (as specified in the 802.11i "
-"standard) hashed to derive the actual key, or the key in form of 64 "
-"hexadecimal character. The WPA3-Personal networks use a passphrase of any "
-"length for SAE authentication."
+"Pre-Shared-Key for WPA networks. For WPA-PSK, it's either an ASCII passphrase "
+"of 8 to 63 characters that is (as specified in the 802.11i standard) hashed to "
+"derive the actual key, or the key in form of 64 hexadecimal character. The "
+"WPA3-Personal networks use a passphrase of any length for SAE authentication."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:415
+#: src/libnmc-setting/settings-docs.h.in:430
msgid "Flags indicating how to handle the \"psk\" property."
msgstr ""
"Flags, die festlegen, wie mit der Eigenschaft »psk« umgegangen werden soll."
-#: src/libnmc-setting/settings-docs.h.in:416
+#: src/libnmc-setting/settings-docs.h.in:431
msgid ""
"Flags indicating how to handle the \"wep-key0\", \"wep-key1\", \"wep-key2\", "
"and \"wep-key3\" properties."
@@ -10361,24 +10282,16 @@ msgstr ""
"Flags, die festlegen, wie mit den Eigenschaften »wep-key0«, »wep-key1«, »wep-"
"key2« und »wep-key3« umgegangen werden soll."
-#: src/libnmc-setting/settings-docs.h.in:417
+#: src/libnmc-setting/settings-docs.h.in:432
msgid ""
-"Controls the interpretation of WEP keys. Allowed values are "
-"NM_WEP_KEY_TYPE_KEY (1), in which case the key is either a 10- or 26-"
-"character hexadecimal string, or a 5- or 13-character ASCII password; or "
-"NM_WEP_KEY_TYPE_PASSPHRASE (2), in which case the passphrase is provided as "
-"a string and will be hashed using the de-facto MD5 method to derive the "
-"actual WEP key."
-msgstr ""
-"Steuert die Interpretation von WEP-Schlüsseln. Zulässige Werte sind "
-"NM_WEP_KEY_TYPE_KEY (1). In diesem Fall ist der Schlüssel entweder eine "
-"hexadezimale Zeichenfolge mit 10 oder 26 Zeichen oder ein 5- oder 13-"
-"stelliges ASCII-Kennwort. oder NM_WEP_KEY_TYPE_PASSPHRASE (2), in diesem "
-"Fall wird die Passphrase als eine Zeichenfolge bereitgestellt und wird unter "
-"Verwendung der De-facto-MD5-Methode zum Ableiten des tatsächlichen WEP-"
-"Schlüssels gehackt."
+"Controls the interpretation of WEP keys. Allowed values are \"key\" (1), in "
+"which case the key is either a 10- or 26-character hexadecimal string, or a 5- "
+"or 13-character ASCII password; or \"passphrase\" (2), in which case the "
+"passphrase is provided as a string and will be hashed using the de-facto MD5 "
+"method to derive the actual WEP key."
+msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:418
+#: src/libnmc-setting/settings-docs.h.in:433
msgid ""
"Index 0 WEP key. This is the WEP key used in most networks. See the \"wep-"
"key-type\" property for a description of how this key is interpreted."
@@ -10387,133 +10300,137 @@ msgstr ""
"eingesetzt. Lesen Sie für die Eigenschaft »wep-key-type« nach, wie dieser "
"Schlüssel interpretiert wird."
-#: src/libnmc-setting/settings-docs.h.in:419
+#: src/libnmc-setting/settings-docs.h.in:434
msgid ""
-"Index 1 WEP key. This WEP index is not used by most networks. See the "
-"\"wep-key-type\" property for a description of how this key is interpreted."
+"Index 1 WEP key. This WEP index is not used by most networks. See the \"wep-"
+"key-type\" property for a description of how this key is interpreted."
msgstr ""
"Index 1 des WEP-Schlüssels. Dieser WEP-Schlüssel wird in den meisten Netzen "
"eingesetzt. Lesen Sie für die Eigenschaft »wep-key-type« nach, wie dieser "
"Schlüssel interpretiert wird."
-#: src/libnmc-setting/settings-docs.h.in:420
+#: src/libnmc-setting/settings-docs.h.in:435
msgid ""
-"Index 2 WEP key. This WEP index is not used by most networks. See the "
-"\"wep-key-type\" property for a description of how this key is interpreted."
+"Index 2 WEP key. This WEP index is not used by most networks. See the \"wep-"
+"key-type\" property for a description of how this key is interpreted."
msgstr ""
"Index 2 des WEP-Schlüssels. Dieser WEP-Schlüssel wird in den meisten Netzen "
"eingesetzt. Lesen Sie für die Eigenschaft »wep-key-type« nach, wie dieser "
"Schlüssel interpretiert wird."
-#: src/libnmc-setting/settings-docs.h.in:421
+#: src/libnmc-setting/settings-docs.h.in:436
msgid ""
-"Index 3 WEP key. This WEP index is not used by most networks. See the "
-"\"wep-key-type\" property for a description of how this key is interpreted."
+"Index 3 WEP key. This WEP index is not used by most networks. See the \"wep-"
+"key-type\" property for a description of how this key is interpreted."
msgstr ""
"Index 3 des WEP-Schlüssels. Dieser WEP-Schlüssel wird in den meisten Netzen "
"eingesetzt. Lesen Sie für die Eigenschaft »wep-key-type« nach, wie dieser "
"Schlüssel interpretiert wird."
-#: src/libnmc-setting/settings-docs.h.in:422
+#: src/libnmc-setting/settings-docs.h.in:437
msgid ""
"When static WEP is used (ie, key-mgmt = \"none\") and a non-default WEP key "
"index is used by the AP, put that WEP key index here. Valid values are 0 "
"(default key) through 3. Note that some consumer access points (like the "
"Linksys WRT54G) number the keys 1 - 4."
msgstr ""
-"Wenn static WEP verwendet wird (dh key-mgmt = \"none\") und ein nicht "
-"standardmäßiger WEP-Schlüsselindex vom AP verwendet wird, legen Sie diesen "
-"WEP-Schlüsselindex hier ab. Gültige Werte sind 0 (Standardschlüssel) bis 3. "
-"Beachten Sie, dass einige Verbraucherzugriffspunkte (wie der Linksys WRT54G) "
-"die Schlüssel 1 - 4 nummerieren."
+"Wenn statisches WEP verwendet wird (d. h. key-mgmt = »none«) und ein nicht "
+"standardmäßiger WEP-Schlüsselindex vom Zugriffspunkt verwendet wird, legen Sie "
+"diesen WEP-Schlüsselindex hier ab. Gültige Werte sind 0 (Standardschlüssel) "
+"bis 3. Beachten Sie, dass einige Verbraucherzugriffspunkte (wie der Linksys "
+"WRT54G) die Schlüssel 1 - 4 nummerieren."
-#: src/libnmc-setting/settings-docs.h.in:423
+#: src/libnmc-setting/settings-docs.h.in:438
msgid ""
-"Flags indicating which mode of WPS is to be used if any. There's little "
-"point in changing the default setting as NetworkManager will automatically "
-"determine whether it's feasible to start WPS enrollment from the Access "
-"Point capabilities. WPS can be disabled by setting this property to a value "
-"of 1."
+"Flags indicating which mode of WPS is to be used if any. There's little point "
+"in changing the default setting as NetworkManager will automatically determine "
+"whether it's feasible to start WPS enrollment from the Access Point "
+"capabilities. WPS can be disabled by setting this property to a value of 1."
msgstr ""
"Flags, die anzeigen, welcher Modus von WPS verwendet werden soll, falls "
"vorhanden. Es macht wenig Sinn, die Standardeinstellung zu ändern, da "
"NetworkManager automatisch feststellen wird, ob es möglich ist, die WPS-"
-"Registrierung über die Access Point-Funktionen zu starten. WPS kann "
+"Registrierung über die Zugriffspunkt-Funktionen zu starten. WPS kann "
"deaktiviert werden, indem diese Eigenschaft auf den Wert 1 festgelegt wird."
-#: src/libnmc-setting/settings-docs.h.in:424
+#: src/libnmc-setting/settings-docs.h.in:439
msgid ""
"IEEE 802.15.4 channel. A positive integer or -1, meaning \"do not set, use "
"whatever the device is already set to\"."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:425
+#: src/libnmc-setting/settings-docs.h.in:440
#, fuzzy
msgid ""
-"If specified, this connection will only apply to the IEEE 802.15.4 (WPAN) "
-"MAC layer device whose permanent MAC address matches."
+"If specified, this connection will only apply to the IEEE 802.15.4 (WPAN) MAC "
+"layer device whose permanent MAC address matches."
msgstr ""
"Wenn angegeben, so ist diese Verbindung nur für das Ethernet-Gerät gültig, "
"dessen permanente MAC-Adresse übereinstimmt. Diese Eigenschaft beeinflusst "
"nicht die MAC-Adresse des Gerätes (d.h. kein »MAC spoofing«)."
-#: src/libnmc-setting/settings-docs.h.in:426
+#: src/libnmc-setting/settings-docs.h.in:441
msgid ""
"IEEE 802.15.4 channel page. A positive integer or -1, meaning \"do not set, "
"use whatever the device is already set to\"."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:427
+#: src/libnmc-setting/settings-docs.h.in:442
msgid "IEEE 802.15.4 Personal Area Network (PAN) identifier."
msgstr "IEEE 802.15.4 Personal Area Network (PAN) Kennung."
-#: src/libnmc-setting/settings-docs.h.in:428
+#: src/libnmc-setting/settings-docs.h.in:443
msgid "Short IEEE 802.15.4 address to be used within a restricted environment."
msgstr ""
-"Kurze IEEE 802.15.4-Adresse, die in einer eingeschränkten Umgebung verwendet "
-"werden soll."
+"Kurze IEEE 802.15.4-Adresse für den Einsatz in einer eingeschränkten Umgebung."
-#: src/libnmc-setting/settings-docs.h.in:429
+#: src/libnmc-setting/settings-docs.h.in:444
msgid ""
-"The queue ID of this bond port. The maximum value of queue ID is the number "
-"of TX queues currently active in device."
+"The port priority for bond active port re-selection during failover. A higher "
+"number means a higher priority in selection. The primary port has the highest "
+"priority. This option is only compatible with active-backup, balance-tlb and "
+"balance-alb modes."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:430
+#: src/libnmc-setting/settings-docs.h.in:445
+msgid ""
+"The queue ID of this bond port. The maximum value of queue ID is the number of "
+"TX queues currently active in device."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:446
msgid ""
"Whether the system hostname can be determined from DHCP on this connection. "
-"When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is "
-"used. If the property doesn't have a value in the global configuration, "
-"NetworkManager assumes the value to be NM_TERNARY_TRUE (1)."
+"When set to \"default\" (-1), the value from global configuration is used. If "
+"the property doesn't have a value in the global configuration, NetworkManager "
+"assumes the value to be \"true\" (1)."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:431
+#: src/libnmc-setting/settings-docs.h.in:447
msgid ""
"Whether the system hostname can be determined from reverse DNS lookup of "
-"addresses on this device. When set to NM_TERNARY_DEFAULT (-1), the value "
-"from global configuration is used. If the property doesn't have a value in "
-"the global configuration, NetworkManager assumes the value to be "
-"NM_TERNARY_TRUE (1)."
+"addresses on this device. When set to \"default\" (-1), the value from global "
+"configuration is used. If the property doesn't have a value in the global "
+"configuration, NetworkManager assumes the value to be \"true\" (1)."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:432
+#: src/libnmc-setting/settings-docs.h.in:448
msgid ""
-"If set to NM_TERNARY_TRUE (1), NetworkManager attempts to get the hostname "
-"via DHCPv4/DHCPv6 or reverse DNS lookup on this device only when the device "
-"has the default route for the given address family (IPv4/IPv6). If set to "
-"NM_TERNARY_FALSE (0), the hostname can be set from this device even if it "
-"doesn't have the default route. When set to NM_TERNARY_DEFAULT (-1), the "
-"value from global configuration is used. If the property doesn't have a "
-"value in the global configuration, NetworkManager assumes the value to be "
-"NM_TERNARY_FALSE (0)."
+"If set to \"true\" (1), NetworkManager attempts to get the hostname via DHCPv4/"
+"DHCPv6 or reverse DNS lookup on this device only when the device has the "
+"default route for the given address family (IPv4/IPv6). If set to "
+"\"false\" (0), the hostname can be set from this device even if it doesn't "
+"have the default route. When set to \"default\" (-1), the value from global "
+"configuration is used. If the property doesn't have a value in the global "
+"configuration, NetworkManager assumes the value to be \"false\" (0)."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:433
+#: src/libnmc-setting/settings-docs.h.in:449
msgid ""
"The relative priority of this connection to determine the system hostname. A "
"lower numerical value is better (higher priority). A connection with higher "
-"priority is considered before connections with lower priority. If the value "
-"is zero, it can be overridden by a global value from NetworkManager "
+"priority is considered before connections with lower priority. If the value is "
+"zero, it can be overridden by a global value from NetworkManager "
"configuration. If the property doesn't have a value in the global "
"configuration, the value is assumed to be 100. Negative values have the "
"special effect of excluding other connections with a greater numerical "
@@ -10522,20 +10439,71 @@ msgid ""
"hostname."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:434
-msgid "A dictionary of key/value pairs with exernal-ids for OVS."
+#: src/libnmc-setting/settings-docs.h.in:450
+msgid "The last byte of supervision address."
msgstr ""
-#: src/libnmc-setting/settings-docs.h.in:435
+#: src/libnmc-setting/settings-docs.h.in:451
+msgid "The port1 interface name of the HSR. This property is mandatory."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:452
+msgid "The port2 interface name of the HSR. This property is mandatory."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:453
+msgid "The protocol used by the interface, whether it is PRP or HSR."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:454
+msgid ""
+"The maximum size of a packet built by the Generic Receive Offload stack for "
+"this device. The value must be between 0 and 4294967295. When set to -1, the "
+"existing value is preserved."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:455
+msgid ""
+"The maximum segments of a Generic Segment Offload packet the device should "
+"accept. The value must be between 0 and 4294967295. When set to -1, the "
+"existing value is preserved."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:456
+msgid ""
+"The maximum size of a Generic Segment Offload packet the device should accept. "
+"The value must be between 0 and 4294967295. When set to -1, the existing value "
+"is preserved."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:457
+msgid ""
+"The size of the transmit queue for the device, in number of packets. The value "
+"must be between 0 and 4294967295. When set to -1, the existing value is "
+"preserved."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:459
+msgid "A dictionary of key/value pairs with external-ids for OVS."
+msgstr ""
+
+#: src/libnmc-setting/settings-docs.h.in:460
msgid ""
-"This property specifies the peer interface name of the veth. This property "
-"is mandatory."
+"A dictionary of key/value pairs with other_config settings for OVS. See also "
+"\"other_config\" in the \"ovs-vswitchd.conf.db\" manual for the keys that OVS "
+"supports."
msgstr ""
-#: src/libnmt-newt/nmt-newt-utils.c:267 src/nmtui/nmt-editor.c:439
-#: src/nmtui/nmt-password-dialog.c:165 src/nmtui/nmt-route-editor.c:105
+#: src/libnmc-setting/settings-docs.h.in:461
+msgid ""
+"This property specifies the peer interface name of the veth. This property is "
+"mandatory."
+msgstr ""
+
+#: src/libnmt-newt/nmt-newt-utils.c:267 src/nmtui/nmt-editor.c:442
+#: src/nmtui/nmt-password-dialog.c:163 src/nmtui/nmt-route-editor.c:105
#: src/nmtui/nmt-wireguard-peer-editor.c:154 src/nmtui/nmtui-hostname.c:53
-#: src/nmtui/nmtui.c:118
+#: src/nmtui/nmtui.c:115
msgid "OK"
msgstr "OK"
@@ -10577,6 +10545,9 @@ msgstr "Auf Start von NetworkManager anstatt auf eine Verbindungen warten"
#: src/nm-online/nm-online.c:249
#, fuzzy
+#| msgid ""
+#| "Time to wait for a connection, in seconds (without the option, default "
+#| "value is 30)"
msgid ""
"Time to wait for a connection, in seconds (without the option, default value "
"is 30). Maximum value is 2073600 seconds."
@@ -10593,14 +10564,13 @@ msgstr ""
#: src/nm-online/nm-online.c:281
msgid ""
"Waits for NetworkManager to finish activating startup network connections."
-msgstr ""
-"Auf NetworkManager zum Aktivieren der Start-Netzwerkverbindungen warten."
+msgstr "Auf NetworkManager zum Aktivieren der Start-Netzwerkverbindungen warten."
#: src/nm-online/nm-online.c:289 src/nm-online/nm-online.c:296
msgid "Invalid option. Please use --help to see a list of valid options."
msgstr ""
-"Ungültige Option. Verwenden Sie »--help«, um eine Liste gültiger Optionen "
-"zu erhalten."
+"Ungültige Option. Verwenden Sie »--help«, um eine Liste gültiger Optionen zu "
+"erhalten."
#: src/nmcli/agent.c:25
msgid ""
@@ -10619,18 +10589,15 @@ msgid ""
"Usage: nmcli agent secret { help }\n"
"\n"
"Runs nmcli as NetworkManager secret agent. When NetworkManager requires\n"
-"a password it asks registered agents for it. This command keeps nmcli "
-"running\n"
+"a password it asks registered agents for it. This command keeps nmcli running\n"
"and if a password is required asks the user for it.\n"
"\n"
msgstr ""
"Aufruf: nmcli agent secret { help }\n"
"\n"
"Ruft nmcli als Passwort-Agent für NetworkManager auf. Sobald NetworkManager\n"
-"ein Passwort verlangt fragt es bekannte Agenten danach. Der Befehl hält "
-"nmcli\n"
-"am Laufen und wenn ein Passwort notwendig ist, so wird der Benutzer "
-"gefragt.\n"
+"ein Passwort verlangt fragt es bekannte Agenten danach. Der Befehl hält nmcli\n"
+"am Laufen und wenn ein Passwort notwendig ist, so wird der Benutzer gefragt.\n"
"\n"
#: src/nmcli/agent.c:42
@@ -10638,8 +10605,7 @@ msgid ""
"Usage: nmcli agent polkit { help }\n"
"\n"
"Registers nmcli as a polkit action for the user session.\n"
-"When a polkit daemon requires an authorization, nmcli asks the user and "
-"gives\n"
+"When a polkit daemon requires an authorization, nmcli asks the user and gives\n"
"the response back to polkit.\n"
"\n"
msgstr ""
@@ -10659,7 +10625,7 @@ msgid ""
msgstr ""
"Aufruf: nmcli agent all { help }\n"
"\n"
-"nmcli ausführen als NetworkManager-Passwort und polkit-Agent.\n"
+"nmcli auführen als NetworkManager-Passwort und polkit-Agent.\n"
"\n"
#: src/nmcli/agent.c:141
@@ -10681,26 +10647,16 @@ msgid "Error: polkit agent initialization failed: %s"
msgstr "Fehler: Initialisierung des Passwort-Agenten fehlgeschlagen: %s"
#: src/nmcli/common.c:362 src/nmcli/common.c:363 src/nmcli/common.c:393
-#: src/nmcli/common.c:394 src/nmcli/connections.c:1738
+#: src/nmcli/common.c:394 src/nmcli/connections.c:1768
msgid "GROUP"
msgstr "GRUPPE"
-#: src/nmcli/common.c:642
+#: src/nmcli/common.c:654
#, c-format
msgid "Error: openconnect failed: %s\n"
msgstr "Fehler: openconnect ist fehlgeschlagen: %s\n"
-#: src/nmcli/common.c:649
-#, c-format
-msgid "Error: openconnect failed with status %d\n"
-msgstr "Fehler: openconnect fehlgeschlagen mit Status %d\n"
-
-#: src/nmcli/common.c:651
-#, c-format
-msgid "Error: openconnect failed with signal %d\n"
-msgstr "Fehler: openconnect fehlgeschlagen mit Signal %d\n"
-
-#: src/nmcli/common.c:743
+#: src/nmcli/common.c:719
#, c-format
msgid ""
"Warning: password for '%s' not given in 'passwd-file' and nmcli cannot ask "
@@ -10709,52 +10665,51 @@ msgstr ""
"Warnung: Das Passwort für »%s« ist nicht in »passwd-file« definiert. nmcli "
"darf nicht ohne die Option »--ask« fragen.\n"
-#: src/nmcli/common.c:1265
+#: src/nmcli/common.c:1249
#, c-format
msgid "Error: Could not create NMClient object: %s."
msgstr "Fehler: NMClient-Objekt konnte nicht erstellt werden: %s."
-#: src/nmcli/common.c:1396
+#: src/nmcli/common.c:1381
msgid "Error: command doesn't support --offline mode."
-msgstr ""
+msgstr "Fehler: Der Befehl unterstützt nicht den Modus »--offline«."
-#: src/nmcli/common.c:1436
+#: src/nmcli/common.c:1421
msgid "Error: NetworkManager is not running."
msgstr "Fehler: NetworkManager wird nicht ausgeführt."
-#: src/nmcli/common.c:1539
+#: src/nmcli/common.c:1524
#, c-format
msgid "Error: argument '%s' not understood. Try passing --help instead."
msgstr ""
"Fehler: Argument »%s« wird nicht verstanden. Versuchen Sie stattdessen »--"
"help«."
-#: src/nmcli/common.c:1550
+#: src/nmcli/common.c:1535
msgid "Error: missing argument. Try passing --help."
msgstr "Fehler: Fehlendes Argument. Versuchen sie »--help« anzugeben."
-#: src/nmcli/common.c:1615
+#: src/nmcli/common.c:1600
msgid "access denied"
msgstr "Zugriff verweigert"
-#: src/nmcli/common.c:1617
-#, fuzzy
+#: src/nmcli/common.c:1602
msgid "NetworkManager is not running"
-msgstr "NetworkManager wird nicht ausgeführt."
+msgstr "NetworkManager wird nicht ausgeführt"
-#: src/nmcli/common.c:1627
+#: src/nmcli/common.c:1612
msgid "none"
msgstr "kein"
-#: src/nmcli/common.c:1628
+#: src/nmcli/common.c:1613
msgid "portal"
msgstr "Portal"
-#: src/nmcli/common.c:1629
+#: src/nmcli/common.c:1614
msgid "limited"
msgstr "begrenzt"
-#: src/nmcli/common.c:1630
+#: src/nmcli/common.c:1615
msgid "full"
msgstr "vollständig"
@@ -10773,24 +10728,20 @@ msgstr "Geben Sie den Verbindungstyp an: "
#. define some other prompts
#: src/nmcli/connections.c:67
-#, fuzzy
msgid "Connection (name, UUID, or path): "
-msgstr "Verbindung (Name, UUID oder Pfad)"
+msgstr "Verbindung (Name, UUID oder Pfad): "
#: src/nmcli/connections.c:68
-#, fuzzy
msgid "VPN connection (name, UUID, or path): "
-msgstr "VPN-Verbindung (Name, UUID oder Pfad)"
+msgstr "VPN-Verbindung (Name, UUID oder Pfad): "
#: src/nmcli/connections.c:69
-#, fuzzy
msgid "Connection(s) (name, UUID, or path): "
-msgstr "Verbindung(en) (Name, UUID oder Pfad)"
+msgstr "Verbindung(en) (Name, UUID oder Pfad): "
#: src/nmcli/connections.c:70
-#, fuzzy
msgid "Connection(s) (name, UUID, path or apath): "
-msgstr "Verbindung(en) (Name, UUID oder a-Pfad)"
+msgstr "Verbindung(en) (Name, UUID, Pfad oder a-Pfad): "
#: src/nmcli/connections.c:80
msgid "activating"
@@ -10832,30 +10783,29 @@ msgstr "VPN-Verbindung gescheitert"
msgid "VPN disconnected"
msgstr "VPN getrennt"
-#: src/nmcli/connections.c:173 src/nmcli/connections.c:233
-#, fuzzy, c-format
-#| msgid "Error: Unknown connection '%s'."
-msgid "Error: Error writting connection: %s"
-msgstr "Fehler: Unbekannte Verbindung »%s«."
+#: src/nmcli/connections.c:172 src/nmcli/connections.c:231
+#, c-format
+msgid "Error: Error writing connection: %s"
+msgstr "Fehler: Fehler beim Schreiben der Verbindung: %s"
-#: src/nmcli/connections.c:653
+#: src/nmcli/connections.c:677
msgid "WiMax is no longer supported"
-msgstr ""
+msgstr "WiMax wird nicht mehr unterstützt"
-#: src/nmcli/connections.c:659
+#: src/nmcli/connections.c:683
msgid "WEP encryption is known to be insecure"
-msgstr ""
+msgstr "WEP-Verschlüsselung gilt als unsicher"
-#: src/nmcli/connections.c:741
+#: src/nmcli/connections.c:765
msgid "never"
msgstr "nie"
-#: src/nmcli/connections.c:1090
+#: src/nmcli/connections.c:1115
msgid ""
"Usage: nmcli connection { COMMAND | help }\n"
"\n"
-"COMMAND := { show | up | down | add | modify | clone | edit | delete | "
-"monitor | reload | load | import | export }\n"
+"COMMAND := { show | up | down | add | modify | clone | edit | delete | monitor "
+"| reload | load | import | export }\n"
"\n"
" show [--active] [--order <order spec>]\n"
" show [--active] [id | uuid | path | apath] <ID> ...\n"
@@ -10891,14 +10841,14 @@ msgid ""
msgstr ""
"Aufruf: nmcli connection { BEFEHL | help }\n"
"\n"
-"BEFEHL := { show | up | down | add | modify | clone | edit | delete | "
-"monitor | reload | load | import | export }\n"
+"BEFEHL := { show | up | down | add | modify | clone | edit | delete | monitor "
+"| reload | load | import | export }\n"
"\n"
" show [--active] [--order <order spec>]\n"
" show [--active] [id | uuid | path | apath] <KENNUNG> ...\n"
"\n"
-" up [[id | uuid | path] <KENNUNG>] [ifname <Schnittstellenname>] [ap "
-"<BSSID>] [passwd-file <Datei mit Passwörtern>]\n"
+" up [[id | uuid | path] <KENNUNG>] [ifname <Schnittstellenname>] [ap <BSSID>] "
+"[passwd-file <Datei mit Passwörtern>]\n"
"\n"
" down [id | uuid | path | apath] <KENNUNG> …\n"
"\n"
@@ -10923,28 +10873,25 @@ msgstr ""
"\n"
" import [--temporary] type <Typ> file <Importdatei>\n"
"\n"
-" export [id | uuid | path] <KENNUNG> [<Ausgabedatei>]\n"
+" export [id | uuid | path] <KENNUNG> [<Augabedatei>]\n"
"\n"
-#: src/nmcli/connections.c:1116
+#: src/nmcli/connections.c:1141
msgid ""
"Usage: nmcli connection show { ARGUMENTS | help }\n"
"\n"
"ARGUMENTS := [--active] [--order <order spec>]\n"
"\n"
"List in-memory and on-disk connection profiles, some of which may also be\n"
-"active if a device is using that connection profile. Without a parameter, "
-"all\n"
+"active if a device is using that connection profile. Without a parameter, all\n"
"profiles are listed. When --active option is specified, only the active\n"
"profiles are shown. --order allows custom connection ordering (see manual "
"page).\n"
"\n"
"ARGUMENTS := [--active] [id | uuid | path | apath] <ID> ...\n"
"\n"
-"Show details for specified connections. By default, both static "
-"configuration\n"
-"and active connection data are displayed. It is possible to filter the "
-"output\n"
+"Show details for specified connections. By default, both static configuration\n"
+"and active connection data are displayed. It is possible to filter the output\n"
"using global '--fields' option. Refer to the manual page for more "
"information.\n"
"When --active option is specified, only the active profiles are taken into\n"
@@ -10967,8 +10914,8 @@ msgstr ""
"\n"
"Zeigt Details zu bestimmten Verbindungen. Standardmäßig werden sowohl "
"statische\n"
-"Konfiguration als auch aktive Verbindungsdaten angezeigt. Die Ausgabe kann "
-"mit der\n"
+"Konfiguration als auch aktive Verbindungsdaten angezeigt. Die Ausgabe kann mit "
+"der\n"
"allgemeinen Option »--fields« gefiltert werden. Lesen Sie im Handbuch für "
"weitere Informationen.\n"
"Wenn die Option »--active« angegeben ist, so werden nur aktive Profile "
@@ -10976,7 +10923,7 @@ msgstr ""
"Die globale Option »--show-secrets« zeigt zusätzlich zugehörige Passwörter "
"an.\n"
-#: src/nmcli/connections.c:1137
+#: src/nmcli/connections.c:1163
msgid ""
"Usage: nmcli connection up { ARGUMENTS | help }\n"
"\n"
@@ -10987,8 +10934,8 @@ msgid ""
"its\n"
"name, UUID or D-Bus path.\n"
"\n"
-"ARGUMENTS := ifname <ifname> [ap <BSSID>] [nsp <name>] [passwd-file <file "
-"with passwords>]\n"
+"ARGUMENTS := ifname <ifname> [ap <BSSID>] [nsp <name>] [passwd-file <file with "
+"passwords>]\n"
"\n"
"Activate a device with a connection. The connection profile is selected\n"
"automatically by NetworkManager.\n"
@@ -11017,12 +10964,11 @@ msgstr ""
"soll\n"
"ap - spezifiziert den zu verbindenden Zugangspunkt (nur gültig für "
"Drahtlosnetzwerke)\n"
-"nsp - spezifiziert den Netzwerkdienstanbieter (nur gültig für "
-"WiMAX)\n"
+"nsp - spezifiziert den Netzwerkdienstanbieter (nur gültig für WiMAX)\n"
"passwd-file - Datei mit Passwörtern zum Aktivieren der Verbindung\n"
"\n"
-#: src/nmcli/connections.c:1160
+#: src/nmcli/connections.c:1187
msgid ""
"Usage: nmcli connection down { ARGUMENTS | help }\n"
"\n"
@@ -11039,22 +10985,20 @@ msgstr ""
"PARAMETER := [id | uuid | path | apath] <Kennung>\n"
"\n"
"Deaktiviert eine Verbindung von einem Gerät (hindert das Gerät jedoch nicht\n"
-"daran, weiterhin automatisch zu verbinden). Das zu deaktivierende Profil "
-"wird\n"
+"daran, weiterhin automatisch zu verbinden). Das zu deaktivierende Profil wird\n"
"anhand dessen Name, UUID oder D-Bus-Pfad identifiziert.\n"
"\n"
-#: src/nmcli/connections.c:1172
-#, fuzzy
+#: src/nmcli/connections.c:1199
msgid ""
"Usage: nmcli connection add { ARGUMENTS | help }\n"
"\n"
-"ARGUMENTS := COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS SLAVE_OPTIONS IP_OPTIONS "
-"[-- ([+|-]<setting>.<property> <value>)+]\n"
+"ARGUMENTS := COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS SLAVE_OPTIONS IP_OPTIONS [-- "
+"([+|-]<setting>.<property> <value>)+]\n"
"\n"
" COMMON_OPTIONS:\n"
" type <type>\n"
-" ifname <interface name> | \"*\"\n"
+" [ifname <interface name> | \"*\"]\n"
" [con-name <connection name>]\n"
" [autoconnect yes|no]\n"
" [save yes|no]\n"
@@ -11104,10 +11048,9 @@ msgid ""
" [egress <egress priority mapping>]\n"
" [mtu <MTU>]\n"
"\n"
-" bond: [mode balance-rr (0) | active-backup (1) | balance-xor (2) "
-"| broadcast (3) |\n"
-" 802.3ad (4) | balance-tlb (5) | balance-alb "
-"(6)]\n"
+" bond: [mode balance-rr (0) | active-backup (1) | balance-xor (2) | "
+"broadcast (3) |\n"
+" 802.3ad (4) | balance-tlb (5) | balance-alb (6)]\n"
" [primary <ifname>]\n"
" [miimon <num>]\n"
" [downdelay <num>]\n"
@@ -11264,10 +11207,9 @@ msgstr ""
" [egress <Prioritätsabbildung Ausgangsverkehr>]\n"
" [mtu <MTU>]\n"
"\n"
-" bond: [mode balance-rr (0) | active-backup (1) | balance-xor (2) "
-"| broadcast (3) |\n"
-" 802.3ad (4) | balance-tlb (5) | balance-alb "
-"(6)]\n"
+" bond: [mode balance-rr (0) | active-backup (1) | balance-xor (2) | "
+"broadcast (3) |\n"
+" 802.3ad (4) | balance-tlb (5) | balance-alb (6)]\n"
" [primary <Schnittstellenname>]\n"
" [miimon <Zahl>]\n"
" [downdelay <Zahl>]\n"
@@ -11278,8 +11220,9 @@ msgstr ""
"\n"
" bond-slave: master <master (Schnittstellenname, Verbindungs-UUID oder "
"Name)\n"
+" [queue-id <0-65535>]\n"
"\n"
-" team: [config <Datei>|<Pure JSON-Daten>]\n"
+" team: [config <Datei>|<Reine JSON-Daten>]\n"
"\n"
" team-slave: master <master (Schnittstellenname, Verbindungs-UUID oder "
"Name)\n"
@@ -11348,6 +11291,14 @@ msgstr ""
" [source-port-max <0-65535>]\n"
" [destination-port <0-65535>]\n"
"\n"
+" wpan: [short-addr <0x0000-0xffff>]\n"
+" [pan-id <0x0000-0xffff>]\n"
+" [page <default|0-31>]\n"
+" [channel <default|0-26>]\n"
+" [mac <MAC-Adresse>]\n"
+"\n"
+" 6lowpan: dev <parent device (Verbindungs-UUID, Schnittstellenname "
+"oder MAC)>\n"
" dummy: \n"
"\n"
" SLAVE_OPTIONEN:\n"
@@ -11357,13 +11308,38 @@ msgstr ""
"\n"
" team: [config <Datei>|<Pure JSON-Daten>]\n"
"\n"
+" bond: [queue-id <0-65535>]\n"
+"\n"
" IP_OPTIONEN:\n"
" [ip4 <IPv4-Adresse>] [gw4 <IPv4-Gateway>]\n"
" [ip6 <IPv6-Adresse>] [gw6 <IPv6-Gateway>]\n"
"\n"
-#: src/nmcli/connections.c:1302
+#: src/nmcli/connections.c:1329
#, fuzzy
+#| msgid ""
+#| "Usage: nmcli connection modify { ARGUMENTS | help }\n"
+#| "\n"
+#| "ARGUMENTS := [id | uuid | path] <ID> ([+|-]<setting>.<property> <value>)+\n"
+#| "\n"
+#| "Modify one or more properties of the connection profile.\n"
+#| "The profile is identified by its name, UUID or D-Bus path. For multi-"
+#| "valued\n"
+#| "properties you can use optional '+' or '-' prefix to the property name.\n"
+#| "The '+' sign allows appending items instead of overwriting the whole "
+#| "value.\n"
+#| "The '-' sign allows removing selected items instead of the whole value.\n"
+#| "\n"
+#| "Examples:\n"
+#| "nmcli con mod home-wifi wifi.ssid rakosnicek\n"
+#| "nmcli con mod em1-1 ipv4.method manual ipv4.addr \"192.168.1.2/24, "
+#| "10.10.1.5/8\"\n"
+#| "nmcli con mod em1-1 +ipv4.dns 8.8.4.4\n"
+#| "nmcli con mod em1-1 -ipv4.dns 1\n"
+#| "nmcli con mod em1-1 -ipv6.addr \"abbe::cafe/56\"\n"
+#| "nmcli con mod bond0 +bond.options mii=500\n"
+#| "nmcli con mod bond0 -bond.options downdelay\n"
+#| "\n"
msgid ""
"Usage: nmcli connection modify { ARGUMENTS | help }\n"
"\n"
@@ -11402,8 +11378,7 @@ msgstr ""
"»+« oder »-« vorangestellt.\n"
"»+« ermöglicht Objekte anzuhängen, anstatt den gesamten Wert zu "
"überschreiben.\n"
-"»-« ermöglicht das Entfernen einzelner Objekte an Stelle des gesamten "
-"Werts.\n"
+"»-« ermöglicht das Entfernen einzelner Objekte an Stelle des gesamten Werts.\n"
"\n"
"Beispiele:\n"
"nmcli con mod home-wifi wifi.ssid rakosnicek\n"
@@ -11416,15 +11391,14 @@ msgstr ""
"nmcli con mod bond0 -bond.options downdelay\n"
"\n"
-#: src/nmcli/connections.c:1330
+#: src/nmcli/connections.c:1357
msgid ""
"Usage: nmcli connection clone { ARGUMENTS | help }\n"
"\n"
"ARGUMENTS := [--temporary] [id | uuid | path] <ID> <new name>\n"
"\n"
"Clone an existing connection profile. The newly created connection will be\n"
-"the exact copy of the <ID>, except the uuid property (will be generated) "
-"and\n"
+"the exact copy of the <ID>, except the uuid property (will be generated) and\n"
"id (provided as <new name> argument).\n"
"\n"
msgstr ""
@@ -11438,7 +11412,7 @@ msgstr ""
"und der id (wird als Parameter <Neuer Name> angegeben).\n"
"\n"
-#: src/nmcli/connections.c:1342
+#: src/nmcli/connections.c:1369
msgid ""
"Usage: nmcli connection edit { ARGUMENTS | help }\n"
"\n"
@@ -11459,14 +11433,21 @@ msgstr ""
"Bearbeitet ein vorhandenes Verbindungsprofil in einem interaktiven Editor.\n"
"Das Profil wird anhand dessen Name, UUID oder D-Bus-Pfad identifiziert\n"
"\n"
-"PARAMETER := [type <neuer Verbindungstyp>] [con-name <neuer "
-"Verbindungsname>]\n"
+"PARAMETER := [type <neuer Verbindungstyp>] [con-name <neuer Verbindungsname>]\n"
"\n"
"Fügt ein neues Verbindungsprofil in einem interaktiven Editor hinzu.\n"
"\n"
-#: src/nmcli/connections.c:1357
+#: src/nmcli/connections.c:1384
#, fuzzy
+#| msgid ""
+#| "Usage: nmcli connection delete { ARGUMENTS | help }\n"
+#| "\n"
+#| "ARGUMENTS := [id | uuid | path] <ID>\n"
+#| "\n"
+#| "Delete a connection profile.\n"
+#| "The profile is identified by its name, UUID or D-Bus path.\n"
+#| "\n"
msgid ""
"Usage: nmcli connection delete { ARGUMENTS | help }\n"
"\n"
@@ -11484,7 +11465,7 @@ msgstr ""
"Das Profil wird anhand dessen Name, UUID oder D-Bus-Pfad identifiziert.\n"
"\n"
-#: src/nmcli/connections.c:1368
+#: src/nmcli/connections.c:1395
msgid ""
"Usage: nmcli connection monitor { ARGUMENTS | help }\n"
"\n"
@@ -11505,7 +11486,7 @@ msgstr ""
"Es werden alle Verbindungsprofile überwacht, sofern keines angegeben wird.\n"
"\n"
-#: src/nmcli/connections.c:1380
+#: src/nmcli/connections.c:1407
msgid ""
"Usage: nmcli connection reload { help }\n"
"\n"
@@ -11517,7 +11498,7 @@ msgstr ""
"Lädt alle Verbindungsdateien neu von der Festplatte.\n"
"\n"
-#: src/nmcli/connections.c:1388
+#: src/nmcli/connections.c:1416
msgid ""
"Usage: nmcli connection load { ARGUMENTS | help }\n"
"\n"
@@ -11533,13 +11514,12 @@ msgstr ""
"\n"
"PARAMETER := <Dateiname> [<Dateiname>...]\n"
"\n"
-"Lädt eine oder mehrere Verbindungsdateien von der Festplatte (bzw. lädt "
-"neu).\n"
+"Lädt eine oder mehrere Verbindungsdateien von der Festplatte (bzw. lädt neu).\n"
"Verwenden Sie dies nach einer manuellen Änderung an einer Verbindungsdatei,\n"
"um sicherzustellen, dass der NetworkManager die Änderungen übernimmt.\n"
"\n"
-#: src/nmcli/connections.c:1401
+#: src/nmcli/connections.c:1429
msgid ""
"Usage: nmcli connection import { ARGUMENTS | help }\n"
"\n"
@@ -11564,7 +11544,7 @@ msgstr ""
"\n"
"\n"
-#: src/nmcli/connections.c:1414
+#: src/nmcli/connections.c:1443
msgid ""
"Usage: nmcli connection export { ARGUMENTS | help }\n"
"\n"
@@ -11578,14 +11558,21 @@ msgstr ""
"\n"
"PARAMETER := [id | uuid | path] <Kennung> [<Ausgabedatei>]\n"
"\n"
-"Exportiert eine Verbindung. Derzeit werden nur VPN-Verbindungen "
-"unterstützt.\n"
+"Exportiert eine Verbindung. Derzeit werden nur VPN-Verbindungen unterstützt.\n"
"Die Daten werden auf die Standardausgabe umgeleitet oder in eine Datei,\n"
"sofern eine angegeben wird.\n"
"\n"
-#: src/nmcli/connections.c:1425
+#: src/nmcli/connections.c:1454
#, fuzzy
+#| msgid ""
+#| "Usage: nmcli connection delete { ARGUMENTS | help }\n"
+#| "\n"
+#| "ARGUMENTS := [id | uuid | path] <ID>\n"
+#| "\n"
+#| "Delete a connection profile.\n"
+#| "The profile is identified by its name, UUID or D-Bus path.\n"
+#| "\n"
msgid ""
"Usage: nmcli connection migrate { ARGUMENTS | help }\n"
"\n"
@@ -11603,338 +11590,345 @@ msgstr ""
"Das Profil wird anhand dessen Name, UUID oder D-Bus-Pfad identifiziert.\n"
"\n"
-#: src/nmcli/connections.c:1508
+#: src/nmcli/connections.c:1537
#, c-format
msgid "Error updating secrets for %s: %s\n"
msgstr "Fehler beim Aktualisieren der Geheimnisse für %s: %s\n"
-#: src/nmcli/connections.c:1559
+#: src/nmcli/connections.c:1588
msgid "Connection profile details"
msgstr "Details des Verbindungsprofils"
-#: src/nmcli/connections.c:1577 src/nmcli/connections.c:1684
+#: src/nmcli/connections.c:1606 src/nmcli/connections.c:1713
#, c-format
msgid "Error: 'connection show': %s"
msgstr "Fehler: »connection show«: %s"
-#: src/nmcli/connections.c:1666
+#: src/nmcli/connections.c:1695
+#, fuzzy
+#| msgid "Activate connection details"
msgid "Active connection details"
msgstr "Verbindungsdetails aktivieren"
-#: src/nmcli/connections.c:1795 src/nmcli/devices.c:1663
-#: src/nmcli/devices.c:1680 src/nmcli/devices.c:1698 src/nmcli/devices.c:1717
-#: src/nmcli/devices.c:1781 src/nmcli/devices.c:1910
+#: src/nmcli/connections.c:1825 src/nmcli/devices.c:1681 src/nmcli/devices.c:1698
+#: src/nmcli/devices.c:1716 src/nmcli/devices.c:1735 src/nmcli/devices.c:1799
+#: src/nmcli/devices.c:1928
msgid "NAME"
msgstr "NAME"
-#: src/nmcli/connections.c:1895
+#: src/nmcli/connections.c:1925
#, c-format
msgid "invalid field '%s'; allowed fields: %s and %s, or %s,%s"
msgstr "Ungültiges Feld »%s«; erlaubte Felder: %s und %s oder %s,%s"
-#: src/nmcli/connections.c:1912 src/nmcli/connections.c:1923
+#: src/nmcli/connections.c:1942 src/nmcli/connections.c:1953
#, c-format
msgid "'%s' has to be alone"
msgstr "»%s« muss allein stehen"
-#: src/nmcli/connections.c:2179
+#: src/nmcli/connections.c:2209
#, c-format
msgid "incorrect string '%s' of '--order' option"
msgstr "Falsche Zeichenkette »%s« der Option »--order«"
-#: src/nmcli/connections.c:2203
+#: src/nmcli/connections.c:2233
#, c-format
msgid "incorrect item '%s' in '--order' option"
msgstr "Falsches Objekt »%s« der Option »--order«"
-#: src/nmcli/connections.c:2248
+#: src/nmcli/connections.c:2278
msgid "No connection specified"
msgstr "Keine Verbindung angegeben"
-#: src/nmcli/connections.c:2261
+#: src/nmcli/connections.c:2291
#, c-format
msgid "%s argument is missing"
msgstr "Argument %s fehlt"
-#: src/nmcli/connections.c:2282
+#: src/nmcli/connections.c:2312
#, c-format
msgid "unknown connection '%s'"
msgstr "Unbekannte Verbindung »%s«"
-#: src/nmcli/connections.c:2311
+#: src/nmcli/connections.c:2341
msgid "'--order' argument is missing"
msgstr "Argument »--order« fehlt"
-#: src/nmcli/connections.c:2375
+#: src/nmcli/connections.c:2405
msgid "NetworkManager active profiles"
msgstr "NetworkManager aktive Profile"
-#: src/nmcli/connections.c:2376
+#: src/nmcli/connections.c:2406
msgid "NetworkManager connection profiles"
msgstr "NetworkManager Verbindungsprofile"
-#: src/nmcli/connections.c:2432 src/nmcli/connections.c:3153
-#: src/nmcli/connections.c:3165 src/nmcli/connections.c:3177
-#: src/nmcli/connections.c:3413 src/nmcli/connections.c:9640
-#: src/nmcli/connections.c:9662 src/nmcli/devices.c:3344
-#: src/nmcli/devices.c:3357 src/nmcli/devices.c:3369 src/nmcli/devices.c:3673
-#: src/nmcli/devices.c:3684 src/nmcli/devices.c:3703 src/nmcli/devices.c:3712
-#: src/nmcli/devices.c:3734 src/nmcli/devices.c:3745 src/nmcli/devices.c:3766
-#: src/nmcli/devices.c:4330 src/nmcli/devices.c:4341 src/nmcli/devices.c:4350
-#: src/nmcli/devices.c:4364 src/nmcli/devices.c:4382 src/nmcli/devices.c:4391
-#: src/nmcli/devices.c:4547 src/nmcli/devices.c:4558 src/nmcli/devices.c:4777
-#: src/nmcli/devices.c:4956 src/nmcli/devices.c:5177
+#: src/nmcli/connections.c:2462 src/nmcli/connections.c:3189
+#: src/nmcli/connections.c:3201 src/nmcli/connections.c:3213
+#: src/nmcli/connections.c:3449 src/nmcli/connections.c:9703
+#: src/nmcli/connections.c:9722 src/nmcli/devices.c:3391 src/nmcli/devices.c:3404
+#: src/nmcli/devices.c:3416 src/nmcli/devices.c:3720 src/nmcli/devices.c:3731
+#: src/nmcli/devices.c:3750 src/nmcli/devices.c:3759 src/nmcli/devices.c:3781
+#: src/nmcli/devices.c:3792 src/nmcli/devices.c:3813 src/nmcli/devices.c:4384
+#: src/nmcli/devices.c:4395 src/nmcli/devices.c:4404 src/nmcli/devices.c:4418
+#: src/nmcli/devices.c:4436 src/nmcli/devices.c:4445 src/nmcli/devices.c:4594
+#: src/nmcli/devices.c:4605 src/nmcli/devices.c:4824 src/nmcli/devices.c:5003
+#: src/nmcli/devices.c:5224
#, c-format
msgid "Error: %s argument is missing."
msgstr "Fehler: Argument %s fehlt."
-#: src/nmcli/connections.c:2467
+#: src/nmcli/connections.c:2497
#, c-format
msgid "Error: %s - no such connection profile."
msgstr "Fehler: Verbindungsprofil %s existiert nicht."
-#: src/nmcli/connections.c:2559 src/nmcli/connections.c:3139
-#: src/nmcli/connections.c:3213 src/nmcli/connections.c:9146
-#: src/nmcli/connections.c:9230 src/nmcli/connections.c:9769
-#: src/nmcli/devices.c:2010 src/nmcli/devices.c:2286 src/nmcli/devices.c:2453
-#: src/nmcli/devices.c:2579 src/nmcli/devices.c:2763 src/nmcli/devices.c:3544
-#: src/nmcli/devices.c:4511 src/nmcli/devices.c:4963 src/nmcli/general.c:1068
+#: src/nmcli/connections.c:2589 src/nmcli/connections.c:3175
+#: src/nmcli/connections.c:3249 src/nmcli/connections.c:9207
+#: src/nmcli/connections.c:9291 src/nmcli/connections.c:9827
+#: src/nmcli/devices.c:2028 src/nmcli/devices.c:2330 src/nmcli/devices.c:2497
+#: src/nmcli/devices.c:2623 src/nmcli/devices.c:2808 src/nmcli/devices.c:3591
+#: src/nmcli/devices.c:4558 src/nmcli/devices.c:5010 src/nmcli/general.c:1069
#, c-format
msgid "Error: %s."
msgstr "Fehler: %s."
-#: src/nmcli/connections.c:2651 src/nmcli/devices.c:4730
+#: src/nmcli/connections.c:2687 src/nmcli/devices.c:4777
#, c-format
msgid "no active connection on device '%s'"
msgstr "Keine aktive Verbindung auf Gerät »%s«"
-#: src/nmcli/connections.c:2659
+#: src/nmcli/connections.c:2695
msgid "no active connection or device"
msgstr "Keine aktive Verbindung oder Gerät"
-#: src/nmcli/connections.c:2682
-#, fuzzy, c-format
+#: src/nmcli/connections.c:2718
+#, c-format
msgid "device '%s' not compatible with connection '%s': "
-msgstr "Gerät »%s« ist nicht mit der Verbindung »%s« kompatibel:"
+msgstr "Gerät »%s« ist nicht mit der Verbindung »%s« kompatibel: "
-#: src/nmcli/connections.c:2720
+#: src/nmcli/connections.c:2756
#, c-format
msgid "device '%s' not compatible with connection '%s'"
msgstr "Gerät »%s« ist nicht mit der Verbindung »%s« kompatibel"
-#: src/nmcli/connections.c:2727
+#: src/nmcli/connections.c:2763
#, fuzzy, c-format
+#| msgid "no device found for connection '%s'"
msgid "device '%s' not found for connection '%s'"
msgstr "Für die Verbindung »%s« wurde kein Gerät gefunden"
-#: src/nmcli/connections.c:2735
+#: src/nmcli/connections.c:2771
#, c-format
msgid "no device found for connection '%s'"
msgstr "Für die Verbindung »%s« wurde kein Gerät gefunden"
-#: src/nmcli/connections.c:2786
+#: src/nmcli/connections.c:2822
#, c-format
msgid "Hint: use '%s' to get more details."
msgstr ""
-#: src/nmcli/connections.c:2804
+#: src/nmcli/connections.c:2840
#, c-format
msgid "Connection successfully activated (%s) (D-Bus active path: %s)\n"
msgstr "Verbindung wurde erfolgreich aktiviert (%s) (Aktiver D-Bus-Pfad: %s)\n"
-#: src/nmcli/connections.c:2808 src/nmcli/connections.c:2959
-#: src/nmcli/connections.c:7399
+#: src/nmcli/connections.c:2844 src/nmcli/connections.c:2995
+#: src/nmcli/connections.c:7446
#, c-format
msgid "Connection successfully activated (D-Bus active path: %s)\n"
msgstr "Verbindung wurde erfolgreich aktiviert (aktiver D-Bus-Pfad: %s)\n"
-#: src/nmcli/connections.c:2815 src/nmcli/connections.c:2938
+#: src/nmcli/connections.c:2851 src/nmcli/connections.c:2974
#, c-format
msgid "Error: Connection activation failed: %s"
msgstr "Fehler: Aktivierung der Verbindung ist gescheitert: %s"
-#: src/nmcli/connections.c:2851
+#: src/nmcli/connections.c:2887
#, c-format
msgid "Error: Timeout expired (%d seconds)"
msgstr "Fehler: Zeitbeschränkung (%d Sekunden) ist abgelaufen."
-#: src/nmcli/connections.c:3033
+#: src/nmcli/connections.c:3069
#, c-format
msgid "unknown device '%s'."
msgstr "Unbekanntes Gerät »%s«."
-#: src/nmcli/connections.c:3041
+#: src/nmcli/connections.c:3077
msgid "neither a valid connection nor device given"
msgstr "weder eine gültige Verbindung noch ein Gerät angegeben"
-#: src/nmcli/connections.c:3056
+#: src/nmcli/connections.c:3092
#, fuzzy, c-format
+#| msgid "failed to read passwd-file '%s': %s"
msgid "invalid passwd-file '%s' at line %zd: %s"
msgstr "Fehler: Lesen der passwd-Datei »%s« ist fehlgeschlagen: %s"
-#: src/nmcli/connections.c:3064
+#: src/nmcli/connections.c:3100
#, fuzzy, c-format
+#| msgid "failed to read passwd-file '%s': %s"
msgid "invalid passwd-file '%s': %s"
msgstr "Fehler: Lesen der passwd-Datei »%s« ist fehlgeschlagen: %s"
-#: src/nmcli/connections.c:3187 src/nmcli/connections.c:9673
-#: src/nmcli/devices.c:1967 src/nmcli/devices.c:2016 src/nmcli/devices.c:2459
-#: src/nmcli/devices.c:2651 src/nmcli/devices.c:2718 src/nmcli/devices.c:2918
-#: src/nmcli/devices.c:3404 src/nmcli/devices.c:3782 src/nmcli/devices.c:4401
-#: src/nmcli/devices.c:4564 src/nmcli/devices.c:4785 src/nmcli/devices.c:4968
+#: src/nmcli/connections.c:3223 src/nmcli/connections.c:9731
+#: src/nmcli/devices.c:1985 src/nmcli/devices.c:2034 src/nmcli/devices.c:2503
+#: src/nmcli/devices.c:2696 src/nmcli/devices.c:2763 src/nmcli/devices.c:2963
+#: src/nmcli/devices.c:3451 src/nmcli/devices.c:3829 src/nmcli/devices.c:4455
+#: src/nmcli/devices.c:4611 src/nmcli/devices.c:4832 src/nmcli/devices.c:5015
#, c-format
msgid "Error: invalid extra argument '%s'."
msgstr "Fehler: Ungültiger zusätzlicher Parameter »%s«."
-#: src/nmcli/connections.c:3221
+#: src/nmcli/connections.c:3257
msgid "preparing"
msgstr "Vorbereitung läuft"
-#: src/nmcli/connections.c:3329
+#: src/nmcli/connections.c:3365
#, c-format
msgid "Connection '%s' (%s) successfully deleted.\n"
msgstr "Verbindung »%s« (%s) erfolgreich gelöscht.\n"
-#: src/nmcli/connections.c:3345
+#: src/nmcli/connections.c:3381
#, c-format
msgid "Connection '%s' successfully deactivated (D-Bus active path: %s)\n"
-msgstr ""
-"Verbindung »%s« wurde erfolgreich deaktiviert (aktiver D-Bus-Pfad: %s)\n"
+msgstr "Verbindung »%s« wurde erfolgreich deaktiviert (aktiver D-Bus-Pfad: %s)\n"
-#: src/nmcli/connections.c:3394 src/nmcli/connections.c:9326
-#: src/nmcli/connections.c:9361 src/nmcli/connections.c:9550
+#: src/nmcli/connections.c:3430 src/nmcli/connections.c:9387
+#: src/nmcli/connections.c:9424 src/nmcli/connections.c:9613
msgid "Error: No connection specified."
msgstr "Fehler: Keine Verbindung angegeben."
-#: src/nmcli/connections.c:3426
+#: src/nmcli/connections.c:3462
#, c-format
msgid "Error: '%s' is not an active connection.\n"
msgstr "Fehler: »%s« ist keine aktive Verbindung.\n"
-#: src/nmcli/connections.c:3427
+#: src/nmcli/connections.c:3463
msgid "Error: not all active connections found."
msgstr "Fehler: Es wurden nicht alle aktiven Verbindungen gefunden."
-#: src/nmcli/connections.c:3435
+#: src/nmcli/connections.c:3471
msgid "Error: no active connection provided."
msgstr "Fehler: Keine aktive Verbindung angegeben."
-#: src/nmcli/connections.c:3467
+#: src/nmcli/connections.c:3503
#, c-format
msgid "Connection '%s' deactivation failed: %s\n"
msgstr "Deaktivierung der Verbindung »%s« ist gescheitert: %s\n"
-#: src/nmcli/connections.c:3948
+#: src/nmcli/connections.c:3984
#, c-format
msgid "Warning: master='%s' doesn't refer to any existing profile.\n"
msgstr "Warnung: master=»%s« bezieht sich auf kein vorhandenes Profil.\n"
-#: src/nmcli/connections.c:4329
+#: src/nmcli/connections.c:4364
#, c-format
msgid "Error: invalid property '%s': %s."
msgstr "Fehler: Ungültige Eigenschaft »%s«: %s."
-#: src/nmcli/connections.c:4346
-#, fuzzy, c-format
-msgid "Error: failed to %s %s.%s: %s."
+#: src/nmcli/connections.c:4382
+#, c-format
+msgid "Error: failed to modify %s.%s: %s."
msgstr "Fehler: Ändern ist fehlgeschlagen %s.%s: %s."
-#: src/nmcli/connections.c:4427
+#: src/nmcli/connections.c:4383
+#, c-format
+msgid "Error: failed to remove a value from %s.%s: %s."
+msgstr "Fehler: Entfernen eines Wertes von %s.%s: %s ist fehlgeschlagen."
+
+#: src/nmcli/connections.c:4463
#, c-format
msgid "Error: invalid slave type; %s."
msgstr "Fehler: Unzulässiger Slave-Typ; %s."
-#: src/nmcli/connections.c:4438
+#: src/nmcli/connections.c:4474
#, c-format
msgid "Error: invalid connection type; %s."
msgstr "Fehler: Unbekannter Verbindungstyp: %s."
-#: src/nmcli/connections.c:4571
+#: src/nmcli/connections.c:4609
#, c-format
msgid "Error: bad connection type: %s"
msgstr "Fehler: Falscher Verbindungstyp: %s"
-#: src/nmcli/connections.c:4647
+#: src/nmcli/connections.c:4685
msgid "Error: master is required"
msgstr "Fehler: »master« ist notwendig"
-#: src/nmcli/connections.c:4748
+#: src/nmcli/connections.c:4786
#, c-format
msgid "Error: '%s' is not a valid monitoring mode; use '%s' or '%s'.\n"
msgstr ""
"Fehler: »%s« ist kein gültiger Überwachungsmodus; verwenden Sie »%s« oder "
"»%s«.\n"
-#: src/nmcli/connections.c:4788
+#: src/nmcli/connections.c:4826
#, c-format
msgid "Error: 'bt-type': '%s' not valid; use [%s, %s, %s (%s), %s]."
msgstr ""
-"Fehler: »bt-type«: »%s« ist nicht gültig. Verwenden Sie [%s, %s, %s (%s), "
-"%s]."
+"Fehler: »bt-type«: »%s« ist nicht gültig. Verwenden Sie [%s, %s, %s (%s), %s]."
-#: src/nmcli/connections.c:5137
-#, fuzzy, c-format
+#: src/nmcli/connections.c:5180
+#, c-format
msgid "Error: setting '%s' is mandatory and cannot be removed."
msgstr ""
-"Fehler: Die Einstellung »%s« ist erforderlich und kann nicht entfernt "
-"werden.\n"
+"Fehler: Die Einstellung »%s« ist erforderlich und kann nicht entfernt werden."
-#: src/nmcli/connections.c:5153
+#: src/nmcli/connections.c:5196
#, c-format
msgid "Error: value for '%s' is missing."
msgstr "Fehler: Wert für »%s« fehlt."
-#: src/nmcli/connections.c:5204
+#: src/nmcli/connections.c:5247
msgid "Error: <setting>.<property> argument is missing."
msgstr "Fehler: Argument für Einstellung fehlt."
-#: src/nmcli/connections.c:5246
-#, fuzzy
+#: src/nmcli/connections.c:5289
msgid "Error: missing setting."
-msgstr "fehlende Einstellung"
+msgstr "Fehler: fehlende Einstellung."
-#: src/nmcli/connections.c:5260
+#: src/nmcli/connections.c:5303
#, fuzzy, c-format
+#| msgid "Error: invalid extra argument '%s'."
msgid "Error: invalid setting argument '%s'."
msgstr "Fehler: Ungültiger zusätzlicher Parameter »%s«."
-#: src/nmcli/connections.c:5291
+#: src/nmcli/connections.c:5334
#, c-format
msgid "Error: invalid or not allowed setting '%s': %s."
msgstr "Fehler: Ungültige oder nicht zulässige Einstellung »%s«: %s."
-#: src/nmcli/connections.c:5350 src/nmcli/connections.c:5371
+#: src/nmcli/connections.c:5393 src/nmcli/connections.c:5414
#, c-format
msgid "Error: '%s' is ambiguous (%s.%s or %s.%s)."
msgstr "Fehler: '%s' ist mehrdeutig (%s.%s oder %s.%s)."
-#: src/nmcli/connections.c:5395
+#: src/nmcli/connections.c:5438
#, c-format
msgid "Error: invalid <setting>.<property> '%s'."
msgstr "Fehler: Ungültiger Einstellungsname: »%s«."
-#: src/nmcli/connections.c:5429 src/nmcli/devices.c:2185
-#, fuzzy, c-format
+#: src/nmcli/connections.c:5472 src/nmcli/devices.c:2217
+#, c-format
msgid "Warning: %s.\n"
msgstr "Warnung: %s\n"
-#: src/nmcli/connections.c:5445
+#: src/nmcli/connections.c:5488
#, c-format
msgid ""
"Warning: There is another connection with the name '%1$s'. Reference the "
"connection by its uuid '%2$s'\n"
msgid_plural ""
-"Warning: There are %3$u other connections with the name '%1$s'. Reference "
-"the connection by its uuid '%2$s'\n"
+"Warning: There are %3$u other connections with the name '%1$s'. Reference the "
+"connection by its uuid '%2$s'\n"
msgstr[0] ""
"Warnung: Es gibt bereits eine andere Verbindung namens »%1$s«. Beziehen Sie "
"sich auf diese Verbindung mit der UUID »%2$s«\n"
"\n"
msgstr[1] ""
-"Warnung: Es gibt bereits %3$u andere Verbindungen namens »%1$s«. Beziehen "
-"Sie sich auf diese Verbindung mit deren UUID »%2$s«\n"
+"Warnung: Es gibt bereits %3$u andere Verbindungen namens »%1$s«. Beziehen Sie "
+"sich auf diese Verbindung mit deren UUID »%2$s«\n"
-#: src/nmcli/connections.c:5467 src/nmcli/connections.c:9178
+#: src/nmcli/connections.c:5510 src/nmcli/connections.c:9239
#, c-format
msgid "Error: Failed to add '%s' connection: %s"
msgstr "Fehler: Verbindung »%s« konnte nicht hinzugefügt werden: %s"
@@ -11948,12 +11942,12 @@ msgstr "Fehler: Verbindung »%s« konnte nicht hinzugefügt werden: %s"
#. *
#. * This is true for many messages that the user might parse. But this one
#. * seems in particular interesting for a user to parse.
-#: src/nmcli/connections.c:5484
+#: src/nmcli/connections.c:5527
#, c-format
msgid "Connection '%s' (%s) successfully added.\n"
msgstr "Verbindung »%s« (%s) erfolgreich hinzugefügt.\n"
-#: src/nmcli/connections.c:5632
+#: src/nmcli/connections.c:5676
msgid ""
"You can specify this option more than once. Press <Enter> when you're done.\n"
msgstr ""
@@ -11961,36 +11955,34 @@ msgstr ""
"fertig sind.\n"
#. Ask for optional arguments.
-#: src/nmcli/connections.c:5741
-#, fuzzy, c-format
-#| msgid "There is %d optional setting for %s.\n"
-#| msgid_plural "There are %d optional settings for %s.\n"
+#: src/nmcli/connections.c:5787
+#, c-format
msgid "There are %d optional settings for %s.\n"
msgstr "Es gibt %d optionale Einstellung für »%s«.\n"
-#: src/nmcli/connections.c:5743
+#: src/nmcli/connections.c:5789
#, fuzzy, c-format
#| msgid "Do you want to provide it? %s"
#| msgid_plural "Do you want to provide them? %s"
msgid "Do you want to provide them? %s"
msgstr "Möchten Sie es zur Verfügung stellen? %s"
-#: src/nmcli/connections.c:5883 src/nmcli/utils.c:280
+#: src/nmcli/connections.c:5929 src/nmcli/utils.c:280
#, c-format
msgid "Error: value for '%s' argument is required."
msgstr "Fehler: Ein Wert ist für den Parameter »%s« notwendig."
-#: src/nmcli/connections.c:5890
+#: src/nmcli/connections.c:5936
#, c-format
msgid "Error: 'save': %s."
msgstr "Fehler: »save«: %s."
-#: src/nmcli/connections.c:5978 src/nmcli/connections.c:5991
+#: src/nmcli/connections.c:6024 src/nmcli/connections.c:6037
#, c-format
msgid "Error: '%s' argument is required."
msgstr "Fehler: Das Argument »%s« ist notwendig."
-#: src/nmcli/connections.c:6948
+#: src/nmcli/connections.c:6994
#, c-format
msgid "['%s' setting values]\n"
msgstr "['%s' Werte werden gesetzt]\n"
@@ -11999,7 +11991,7 @@ msgstr "['%s' Werte werden gesetzt]\n"
#. TRANSLATORS: do not translate command names and keywords before ::
#. * However, you should translate terms enclosed in <>.
#.
-#: src/nmcli/connections.c:7059
+#: src/nmcli/connections.c:7105
msgid ""
"---[ Main menu ]---\n"
"goto [<setting> | <prop>] :: go to a setting or property\n"
@@ -12021,8 +12013,7 @@ msgstr ""
"Eigenschaft wechseln\n"
"remove <Einstellung>[.<Eigenschaft>] | <Eigenschaft> :: Einstellung "
"entfernen oder Eigenschaftswert zurücksetzen\n"
-"set [<Einstellung>.<Eigenschaft> <Wert>] :: Eigenschaftswert "
-"festlegen\n"
+"set [<Einstellung>.<Eigenschaft> <Wert>] :: Eigenschaftswert festlegen\n"
"describe [<Einstellung>.<Eigenschaft>] :: Eigenschaft beschreiben\n"
"print [all | <Einstellung>[.<Eigenschaft>]] :: Die Verbindung ausgeben\n"
"verify [all | fix] :: Die Verbindung prüfen\n"
@@ -12034,7 +12025,7 @@ msgstr ""
"nmcli <conf-option> <Wert> :: nmcli-Konfiguration\n"
"quit :: nmcli beenden\n"
-#: src/nmcli/connections.c:7086
+#: src/nmcli/connections.c:7133
msgid ""
"goto <setting>[.<prop>] | <prop> :: enter setting/property for editing\n"
"\n"
@@ -12044,8 +12035,8 @@ msgid ""
" nmcli connection> goto secondaries\n"
" nmcli> goto ipv4.addresses\n"
msgstr ""
-"goto <Einstellung>[.<Eigenschaft>] | <Eigenschaft> :: Einstellung/"
-"Eigenschaft zum Bearbeiten eingeben\n"
+"goto <Einstellung>[.<Eigenschaft>] | <Eigenschaft> :: Einstellung/Eigenschaft "
+"zum Bearbeiten eingeben\n"
"\n"
"Dieser Befehl betritt eine Einstellung oder Eigenschaft zur Bearbeitung.\n"
"\n"
@@ -12053,12 +12044,11 @@ msgstr ""
" nmcli connection> goto secondaries\n"
" nmcli> goto ipv4.addresses\n"
-#: src/nmcli/connections.c:7094
+#: src/nmcli/connections.c:7141
msgid ""
"remove <setting>[.<prop>] :: remove setting or reset property value\n"
"\n"
-"This command removes an entire setting from the connection, or if a "
-"property\n"
+"This command removes an entire setting from the connection, or if a property\n"
"is given, resets that property to the default value.\n"
"\n"
"Examples: nmcli> remove wifi-sec\n"
@@ -12074,7 +12064,7 @@ msgstr ""
"Beispiele: nmcli> remove wifi-sec\n"
" nmcli> remove eth.mtu\n"
-#: src/nmcli/connections.c:7101
+#: src/nmcli/connections.c:7148
msgid ""
"set [<setting>.<prop> <value>] :: set property value\n"
"\n"
@@ -12088,8 +12078,14 @@ msgstr ""
"\n"
"Beispiel: nmcli> s con.id Meine Verbindung\n"
-#: src/nmcli/connections.c:7106
+#: src/nmcli/connections.c:7153
#, fuzzy
+#| msgid ""
+#| "set [<setting>.<prop> <value>] :: set property value\n"
+#| "\n"
+#| "This command sets property value.\n"
+#| "\n"
+#| "Example: nmcli> set con.id My connection\n"
msgid ""
"add [<setting>.<prop> <value>] :: add property value\n"
"\n"
@@ -12097,25 +12093,25 @@ msgid ""
"\n"
"Example: nmcli> add ipv4.addresses 192.168.1.1/24\n"
msgstr ""
-"set [<Einstellung>.<Eigenschaft> <Wert>] :: Eigenschaftswert festlegen\n"
+"add [<Einstellung>.<Eigenschaft> <Wert>] :: Eigenschaftswert hinzufügen\n"
"\n"
-"Dieser Befehl legt den Eigenschaftswert fest.\n"
+"Dieser Befehl hängt einen Eigenschaftswert an.\n"
"\n"
-"Beispiel: nmcli> s con.id Meine Verbindung\n"
+"Beispiel: nmcli> add ipv4.addresses 192.168.1.1/24\n"
-#: src/nmcli/connections.c:7111
+#: src/nmcli/connections.c:7158
msgid ""
"describe [<setting>.<prop>] :: describe property\n"
"\n"
-"Shows property description. You can consult nm-settings(5) manual page to "
-"see all NM settings and properties.\n"
+"Shows property description. You can consult nm-settings(5) manual page to see "
+"all NM settings and properties.\n"
msgstr ""
"describe [<Einstellung>.<Eigenschaft>] :: Eigenschaft beschreiben\n"
"\n"
"Zeigt die Eigenschaftsbeschreibung. Sie können die Hilfeseite nm-settings(5) "
"zu Rate ziehen, um alle Einstellungen und Eigenschaften nachzulesen.\n"
-#: src/nmcli/connections.c:7116
+#: src/nmcli/connections.c:7163
msgid ""
"print [all] :: print setting or connection values\n"
"\n"
@@ -12129,13 +12125,12 @@ msgstr ""
"\n"
"Beispiel: nmcli ipv4> print all\n"
-#: src/nmcli/connections.c:7122
+#: src/nmcli/connections.c:7169
msgid ""
"verify [all | fix] :: verify setting or connection validity\n"
"\n"
"Verifies whether the setting or connection is valid and can be saved later.\n"
-"It indicates invalid values on error. Some errors may be fixed "
-"automatically\n"
+"It indicates invalid values on error. Some errors may be fixed automatically\n"
"by 'fix' option.\n"
"\n"
"Examples: nmcli> verify\n"
@@ -12154,7 +12149,7 @@ msgstr ""
" nmcli> verify fix\n"
" nmcli bond> verify\n"
-#: src/nmcli/connections.c:7132
+#: src/nmcli/connections.c:7179
msgid ""
"save [persistent|temporary] :: save the connection\n"
"\n"
@@ -12177,10 +12172,10 @@ msgstr ""
"das Verbindungsprofil dauerhaft speichern. Spätere Änderungen sind\n"
"ebenfalls entweder vorübergehend oder dauerhaft, aber vorübergehende\n"
"Änderungen gehen nach einem Neustart verloren. Wenn Sie die dauerhafte\n"
-"Verbindung vollständig löschen möchten, so muss das Verbindungsprofil\n"
+"Verbindung volständig löschen möchten, so muss das Verbindungsprofil\n"
"gelöscht werden.\n"
-#: src/nmcli/connections.c:7143
+#: src/nmcli/connections.c:7190
msgid ""
"activate [<ifname>] [/<ap>|<nsp>] :: activate the connection\n"
"\n"
@@ -12201,7 +12196,7 @@ msgstr ""
"/<Zugriffspunkt>|<nsp> - Zugriffspunkt (WLAN) oder NSP (WiMAX) (stellen Sie "
"»/« voraus wenn <Schnittstelle> nicht angegeben wird)\n"
-#: src/nmcli/connections.c:7151 src/nmcli/connections.c:7310
+#: src/nmcli/connections.c:7198 src/nmcli/connections.c:7357
msgid ""
"back :: go to upper menu level\n"
"\n"
@@ -12209,7 +12204,7 @@ msgstr ""
"back :: Eine Menüebene nach oben gehen\n"
"\n"
-#: src/nmcli/connections.c:7154
+#: src/nmcli/connections.c:7201
msgid ""
"help/? [<command>] :: help for the nmcli commands\n"
"\n"
@@ -12217,7 +12212,7 @@ msgstr ""
"help/? [<command>] :: Hilfe zu den nmcli-Befehlen\n"
"\n"
-#: src/nmcli/connections.c:7157
+#: src/nmcli/connections.c:7204
#, c-format
msgid ""
"nmcli [<conf-option> <value>] :: nmcli configuration\n"
@@ -12244,7 +12239,7 @@ msgstr ""
" nmcli> nmcli save-confirmation no\n"
" nmcli> nmcli prompt-color 3\n"
-#: src/nmcli/connections.c:7179 src/nmcli/connections.c:7316
+#: src/nmcli/connections.c:7226 src/nmcli/connections.c:7363
msgid ""
"quit :: exit nmcli\n"
"\n"
@@ -12256,8 +12251,8 @@ msgstr ""
"Dieser Befehl beendet nmcli. Wenn die Verbindung in Bearbeitung nicht "
"gespeichert ist wird der Benutzer gefragt, die Aktion zu bestätigen.\n"
-#: src/nmcli/connections.c:7184 src/nmcli/connections.c:7321
-#: src/nmcli/connections.c:7709 src/nmcli/connections.c:8741
+#: src/nmcli/connections.c:7231 src/nmcli/connections.c:7368
+#: src/nmcli/connections.c:7760 src/nmcli/connections.c:8802
#, c-format
msgid "Unknown command: '%s'\n"
msgstr "Unbekannter Befehl: »%s«\n"
@@ -12265,7 +12260,7 @@ msgstr "Unbekannter Befehl: »%s«\n"
#. TRANSLATORS: do not translate command names and keywords before ::
#. * However, you should translate terms enclosed in <>.
#.
-#: src/nmcli/connections.c:7249
+#: src/nmcli/connections.c:7296
msgid ""
"---[ Property menu ]---\n"
"set [<value>] :: set new value\n"
@@ -12293,7 +12288,7 @@ msgstr ""
"ausgeben\n"
"quit :: nmcli beenden\n"
-#: src/nmcli/connections.c:7273
+#: src/nmcli/connections.c:7320
msgid ""
"set [<value>] :: set new value\n"
"\n"
@@ -12303,7 +12298,7 @@ msgstr ""
"\n"
"Dieser Befehl setzt den <Wert> für die Eigenschaft\n"
-#: src/nmcli/connections.c:7277
+#: src/nmcli/connections.c:7324
msgid ""
"add [<value>] :: append new value to the property\n"
"\n"
@@ -12317,7 +12312,7 @@ msgstr ""
"die Eigenschaft ein Container-Typ ist. Für einwertige Eigenschaften wird der "
"Wert ersetzt (genau wie »set«).\n"
-#: src/nmcli/connections.c:7283
+#: src/nmcli/connections.c:7330
msgid ""
"change :: change current value\n"
"\n"
@@ -12327,16 +12322,31 @@ msgstr ""
"\n"
"Zeigt den aktuellen Wert an und lässt ihn bearbeiten.\n"
-#: src/nmcli/connections.c:7288
+#: src/nmcli/connections.c:7335
#, fuzzy
+#| msgid ""
+#| "remove [<value>|<index>|<option name>] :: delete the value\n"
+#| "\n"
+#| "Removes the property value. For single-valued properties, this sets the\n"
+#| "property back to its default value. For container-type properties, this "
+#| "removes\n"
+#| "all the values of that property, or you can specify an argument to remove "
+#| "just\n"
+#| "a single item or option. The argument is either a value or index of the "
+#| "item to\n"
+#| "remove, or an option name (for properties with named options).\n"
+#| "\n"
+#| "Examples: nmcli ipv4.dns> remove 8.8.8.8\n"
+#| " nmcli ipv4.dns> remove 2\n"
+#| " nmcli bond.options> remove downdelay\n"
+#| "\n"
msgid ""
"remove [<value>|<index>|<option name>] :: delete the value\n"
"\n"
"Removes the property value. For single-valued properties, this sets the\n"
"property back to its default value. For container-type properties, this "
"removes\n"
-"all the values of that property or you can specify an argument to remove "
-"just\n"
+"all the values of that property or you can specify an argument to remove just\n"
"a single item or option. The argument is either a value or index of the item "
"to\n"
"remove, or an option name (for properties with named options).\n"
@@ -12362,20 +12372,19 @@ msgstr ""
" nmcli bond.options> remove downdelay\n"
"\n"
-#: src/nmcli/connections.c:7299
+#: src/nmcli/connections.c:7346
msgid ""
"describe :: describe property\n"
"\n"
-"Shows property description. You can consult nm-settings(5) manual page to "
-"see all NM settings and properties.\n"
+"Shows property description. You can consult nm-settings(5) manual page to see "
+"all NM settings and properties.\n"
msgstr ""
"describe :: die Eigenschaft erklären\n"
"\n"
"Zeigt die Beschreibung für die Eigenschaft. Sie können im Handbuch »nm-"
-"settings(5)« alle NetworkManager- Einstellungen und Eigenschaften "
-"nachlesen.\n"
+"settings(5)« alle NetworkManager- Einstellungen und Eigenschaften nachlesen.\n"
-#: src/nmcli/connections.c:7304
+#: src/nmcli/connections.c:7351
msgid ""
"print [property|setting|connection] :: print property (setting, connection) "
"value(s)\n"
@@ -12389,7 +12398,7 @@ msgstr ""
"Zeigt Eigenschaftswerte an. Wenn Sie ein Argument angeben, werden auch Werte "
"für die gesamten Einstellungen oder Verbindungen angezeigt.\n"
-#: src/nmcli/connections.c:7313
+#: src/nmcli/connections.c:7360
msgid ""
"help/? [<command>] :: help for nmcli commands\n"
"\n"
@@ -12397,23 +12406,23 @@ msgstr ""
"help/? [<command>] :: Hilfe zu den nmcli-Befehlen\n"
"\n"
-#: src/nmcli/connections.c:7405
+#: src/nmcli/connections.c:7452
msgid "Error: Connection activation failed.\n"
msgstr "Fehler: Aktivierung der Verbindung ist gescheitert.\n"
#. TRANSLATORS: status line in nmcli connection editor
-#: src/nmcli/connections.c:7503
+#: src/nmcli/connections.c:7550
#, c-format
msgid "[ Type: %s | Name: %s | UUID: %s | Dirty: %s | Temp: %s ]\n"
msgstr "[ Typ: %s | Name: %s | UUID: %s | Dirty: %s | Temp: %s ]\n"
-#: src/nmcli/connections.c:7541
+#: src/nmcli/connections.c:7588
#, c-format
msgid "The connection is not saved. Do you really want to quit? %s"
msgstr ""
"Die Verbindung wurde noch nicht gespeichert. Möchten Sie wirklich beenden? %s"
-#: src/nmcli/connections.c:7585
+#: src/nmcli/connections.c:7632
msgid ""
"The connection profile has been removed from another client. You may type "
"'save' in the main menu to restore it.\n"
@@ -12421,76 +12430,76 @@ msgstr ""
"Das Verbindungsprofil wurde von einem anderen Client gelöscht. Sie können "
"»save« im Hauptmenü eingeben, um es wiederherzustellen.\n"
-#: src/nmcli/connections.c:7617 src/nmcli/connections.c:8009
-#: src/nmcli/connections.c:8079
+#: src/nmcli/connections.c:7664 src/nmcli/connections.c:8060
+#: src/nmcli/connections.c:8133
#, c-format
msgid "Allowed values for '%s' property: %s\n"
msgstr "Gültige Werte für Eigenschaft »%s«: %s\n"
-#: src/nmcli/connections.c:7619 src/nmcli/connections.c:8012
-#: src/nmcli/connections.c:8081
+#: src/nmcli/connections.c:7666 src/nmcli/connections.c:8065
+#: src/nmcli/connections.c:8137
#, c-format
msgid "Enter '%s' value: "
msgstr "Geben Sie den Wert »%s« ein: "
-#: src/nmcli/connections.c:7632 src/nmcli/connections.c:7649
-#: src/nmcli/connections.c:8020 src/nmcli/connections.c:8092
+#: src/nmcli/connections.c:7679 src/nmcli/connections.c:7698
+#: src/nmcli/connections.c:8073 src/nmcli/connections.c:8148
#, c-format
msgid "Error: failed to set '%s' property: %s\n"
msgstr "Fehler: Eigenschaft »%s« konnte nicht festgelegt werden: %s\n"
-#: src/nmcli/connections.c:7641
+#: src/nmcli/connections.c:7690
#, c-format
msgid "Edit '%s' value: "
msgstr "Bearbeiten Sie den Wert »%s«: "
-#: src/nmcli/connections.c:7662 src/nmcli/settings.c:440
+#: src/nmcli/connections.c:7713 src/nmcli/settings.c:443
#, c-format
msgid "Error: %s\n"
msgstr "Fehler: %s\n"
-#: src/nmcli/connections.c:7681
+#: src/nmcli/connections.c:7732
#, c-format
msgid "Unknown command argument: '%s'\n"
msgstr "Unbekanntes Befehlsargument: »%s«\n"
-#: src/nmcli/connections.c:7776
+#: src/nmcli/connections.c:7827
#, c-format
msgid "Available settings: %s\n"
msgstr "Verfügbare Einstellungen: %s\n"
-#: src/nmcli/connections.c:7787
+#: src/nmcli/connections.c:7838
#, c-format
msgid "Error: invalid setting name; %s\n"
msgstr "Fehler: Ungültiger Einstellungsname: %s\n"
-#: src/nmcli/connections.c:7804
+#: src/nmcli/connections.c:7855
#, c-format
msgid "Available properties: %s\n"
msgstr "Verfügbare Eigenschaften: %s\n"
-#: src/nmcli/connections.c:7812
+#: src/nmcli/connections.c:7863
#, c-format
msgid "Error: property %s\n"
msgstr "Fehler: Eigenschaft »%s«\n"
-#: src/nmcli/connections.c:7857
+#: src/nmcli/connections.c:7908
#, c-format
msgid ""
"Saving the connection with 'autoconnect=yes'. That might result in an "
"immediate activation of the connection.\n"
"Do you still want to save? %s"
msgstr ""
-"Die Verbindung wird mit »autoconnect=yes« (automatisch verbinden) "
-"gespeichert. Dadurch könnte die Verbindung sofort aktiviert werden.\n"
+"Die Verbindung wird mit »autoconnect=yes« (automatisch verbinden) gespeichert. "
+"Dadurch könnte die Verbindung sofort aktiviert werden.\n"
"Möchten Sie wirklich speichern? %s"
-#: src/nmcli/connections.c:7943
+#: src/nmcli/connections.c:7994
#, c-format
msgid "You may edit the following settings: %s\n"
msgstr "Sie können die folgenden Einstellungen bearbeiten: %s\n"
-#: src/nmcli/connections.c:7971
+#: src/nmcli/connections.c:8022
msgid ""
"The connection profile has been removed from another client. You may type "
"'save' to restore it.\n"
@@ -12498,219 +12507,221 @@ msgstr ""
"Das Verbindungsprofil wurde von einem anderen Client gelöscht. Sie können "
"»save« eingeben, um es wiederherzustellen.\n"
-#: src/nmcli/connections.c:8026 src/nmcli/connections.c:8308
-#: src/nmcli/connections.c:8341
+#: src/nmcli/connections.c:8079 src/nmcli/connections.c:8365
+#: src/nmcli/connections.c:8400
#, c-format
msgid "Error: no setting selected; valid are [%s]\n"
msgstr "Fehler: Keine Einstellung gewählt. Gültig sind [%s]\n"
-#: src/nmcli/connections.c:8027
+#: src/nmcli/connections.c:8081
msgid "use 'goto <setting>' first, or 'set <setting>.<property>'\n"
msgstr ""
"Verwenden Sie zuerst »goto <Einstellung>«, oder »set <Einstellung>."
"<Eigenschaft>«\n"
-#: src/nmcli/connections.c:8047 src/nmcli/connections.c:8224
-#: src/nmcli/connections.c:8330
+#: src/nmcli/connections.c:8101 src/nmcli/connections.c:8281
+#: src/nmcli/connections.c:8389
#, c-format
msgid "Error: invalid setting argument '%s'; valid are [%s]\n"
msgstr "Fehler: Ungültiges Festlegen des Arguments »%s«. Gültig sind [%s]\n"
-#: src/nmcli/connections.c:8057
+#: src/nmcli/connections.c:8111
#, c-format
msgid "Error: missing setting for '%s' property\n"
msgstr "Fehler: Fehlende Einstellung für die Eigenschaft »%s«\n"
-#: src/nmcli/connections.c:8064
+#: src/nmcli/connections.c:8118
#, c-format
msgid "Error: invalid property: %s\n"
msgstr "Fehler: Ungültige Eigenschaft: %s\n"
-#: src/nmcli/connections.c:8125
+#: src/nmcli/connections.c:8181
#, c-format
msgid "Error: unknown setting '%s'\n"
msgstr "Fehler: Unbekannte Einstellung »%s«\n"
-#: src/nmcli/connections.c:8151
+#: src/nmcli/connections.c:8207
#, c-format
msgid "You may edit the following properties: %s\n"
msgstr "Sie können die folgenden Eigenschaften bearbeiten: %s\n"
-#: src/nmcli/connections.c:8197 src/nmcli/connections.c:8258
+#: src/nmcli/connections.c:8253 src/nmcli/connections.c:8315
#, c-format
msgid "Error: failed to remove value of '%s': %s\n"
msgstr "Fehler: Entfernen des Wertes »%s« ist fehlgeschlagen: %s\n"
-#: src/nmcli/connections.c:8203
+#: src/nmcli/connections.c:8259
#, c-format
msgid "Error: no argument given; valid are [%s]\n"
msgstr "Fehler: Es wurde kein Argument angegeben; gültig sind [%s]\n"
-#: src/nmcli/connections.c:8222
+#: src/nmcli/connections.c:8278
#, c-format
msgid "Setting '%s' is not present in the connection.\n"
msgstr "Die Einstellung »%s« ist in der Verbindung nicht vorhanden.\n"
-#: src/nmcli/connections.c:8284
+#: src/nmcli/connections.c:8341
#, c-format
msgid "Error: %s properties, nor it is a setting name.\n"
msgstr "Fehler: %s Eigenschaft, noch ist es ein Einstellungsname.\n"
-#: src/nmcli/connections.c:8309 src/nmcli/connections.c:8342
+#: src/nmcli/connections.c:8368 src/nmcli/connections.c:8403
msgid "use 'goto <setting>' first, or 'describe <setting>.<property>'\n"
msgstr ""
"Verwenden Sie zuerst »goto <Einstellung>«, oder »describe <Einstellung>."
"<Eigenschaft>«\n"
-#: src/nmcli/connections.c:8365
+#: src/nmcli/connections.c:8426
#, c-format
msgid "Error: invalid property: %s, neither a valid setting name.\n"
msgstr "Fehler: Ungültige Eigenschaft: %s, kein gültiger Einstellungsname.\n"
-#: src/nmcli/connections.c:8395
+#: src/nmcli/connections.c:8456
#, c-format
msgid "Error: unknown setting: '%s'\n"
msgstr "Fehler: Unbekannte Einstellung: »%s«\n"
-#: src/nmcli/connections.c:8400
+#: src/nmcli/connections.c:8461
#, c-format
msgid "Error: '%s' setting not present in the connection\n"
msgstr "Fehler: Die Einstellung »%s« ist in der Verbindung nicht vorhanden.\n"
-#: src/nmcli/connections.c:8432
+#: src/nmcli/connections.c:8493
#, c-format
msgid "Error: invalid property: %s%s\n"
msgstr "Fehler: ungültige Eigenschaft %s%s\n"
-#: src/nmcli/connections.c:8434
+#: src/nmcli/connections.c:8495
msgid ", neither a valid setting name"
msgstr ", noch ein gültiger Einstellungsname"
-#: src/nmcli/connections.c:8450
+#: src/nmcli/connections.c:8511
#, c-format
msgid "Invalid verify option: %s\n"
msgstr "Ungültige Prüfungsoption: %s\n"
-#: src/nmcli/connections.c:8458
+#: src/nmcli/connections.c:8519
#, c-format
msgid "Verify setting '%s': %s\n"
msgstr "Überprüfe Einstellung »%s«: %s\n"
-#: src/nmcli/connections.c:8473
+#: src/nmcli/connections.c:8534
#, c-format
msgid "Verify connection: %s\n"
msgstr "Verbindung überprüfen: %s\n"
-#: src/nmcli/connections.c:8475
+#: src/nmcli/connections.c:8536
msgid "The error cannot be fixed automatically.\n"
msgstr "Der Fehler kann nicht automatisch behoben werden.\n"
-#: src/nmcli/connections.c:8495
+#: src/nmcli/connections.c:8556
#, c-format
msgid "Error: invalid argument '%s'\n"
msgstr "Fehler: Ungültiges Argument »%s«\n"
-#: src/nmcli/connections.c:8552
+#: src/nmcli/connections.c:8613
#, c-format
msgid "Error: Failed to save '%s' (%s) connection: %s\n"
msgstr "Fehler: Speichern von »%s« (%s) ist fehlgeschlagen: %s\n"
-#: src/nmcli/connections.c:8558
+#: src/nmcli/connections.c:8619
#, fuzzy, c-format
+#| msgid "Error: Failed to save '%s' (%s) connection: %s\n"
msgid "Error: Timeout saving '%s' (%s) connection\n"
msgstr "Fehler: Speichern von »%s« (%s) ist fehlgeschlagen: %s\n"
-#: src/nmcli/connections.c:8562
+#: src/nmcli/connections.c:8623
#, c-format
msgid "Connection '%s' (%s) successfully saved.\n"
msgstr "Verbindung »%s« (%s) erfolgreich gespeichert.\n"
-#: src/nmcli/connections.c:8563
+#: src/nmcli/connections.c:8624
#, c-format
msgid "Connection '%s' (%s) successfully updated.\n"
msgstr "Verbindung »%s« (%s) erfolgreich aktualisiert.\n"
-#: src/nmcli/connections.c:8597
+#: src/nmcli/connections.c:8658
#, c-format
msgid "Error: connection verification failed: %s\n"
msgstr "Fehler: Prüfung der Verbindung ist fehlgeschlagen: %s\n"
-#: src/nmcli/connections.c:8598
+#: src/nmcli/connections.c:8659
msgid "(unknown error)"
msgstr "(Unbekannter Fehler)"
-#: src/nmcli/connections.c:8599
+#: src/nmcli/connections.c:8660
msgid "You may try running 'verify fix' to fix errors.\n"
msgstr "Versuchen Sie »verify fix« auszuführen, um Fehler zu beheben.\n"
#. TRANSLATORS: do not translate 'save', leave it as it is
-#: src/nmcli/connections.c:8622
+#: src/nmcli/connections.c:8683
msgid "Error: connection is not saved. Type 'save' first.\n"
-msgstr ""
-"Fehler: Verbindung ist nicht gespeichert. Geben Sie zuerst »save« ein.\n"
+msgstr "Fehler: Verbindung ist nicht gespeichert. Geben Sie zuerst »save« ein.\n"
-#: src/nmcli/connections.c:8626
+#: src/nmcli/connections.c:8687
#, c-format
msgid "Error: connection is not valid: %s\n"
msgstr "Fehler: Verbindung ist ungültig: %s\n"
-#: src/nmcli/connections.c:8642
+#: src/nmcli/connections.c:8703
#, c-format
msgid "Error: Cannot activate connection: %s.\n"
msgstr "Fehler: Verbindung kann nicht aktiviert werden: %s.\n"
-#: src/nmcli/connections.c:8651
+#: src/nmcli/connections.c:8712
#, c-format
msgid "Error: Failed to activate '%s' (%s) connection: %s\n"
msgstr "Fehler: Aktivieren der Verbindung »%s« (%s) ist fehlgeschlagen: %s\n"
-#: src/nmcli/connections.c:8658
+#: src/nmcli/connections.c:8719
msgid "Monitoring connection activation (press any key to continue)\n"
msgstr ""
-"Überwachen einer Verbindungsherstellung (drücken Sie eine beliebige Taste, "
-"um fortzusetzen)\n"
+"Überwachen einer Verbindungsherstellung (drücken Sie eine beliebige Taste, um "
+"fortzusetzen)\n"
-#: src/nmcli/connections.c:8693
+#: src/nmcli/connections.c:8754
#, c-format
msgid "Error: status-line: %s\n"
msgstr "Fehler: Statuszeile: %s\n"
-#: src/nmcli/connections.c:8701
+#: src/nmcli/connections.c:8762
#, c-format
msgid "Error: save-confirmation: %s\n"
msgstr "Fehler: Speicherbestätigung: %s\n"
-#: src/nmcli/connections.c:8709
+#: src/nmcli/connections.c:8770
#, c-format
msgid "Error: show-secrets: %s\n"
msgstr "Fehler: »show-secrets«: %s\n"
-#: src/nmcli/connections.c:8717
+#: src/nmcli/connections.c:8778
msgid "Current nmcli configuration:\n"
msgstr "Aktuelle nmcli-Konfiguration:\n"
-#: src/nmcli/connections.c:8725
+#: src/nmcli/connections.c:8786
#, c-format
msgid "Invalid configuration option '%s'; allowed [%s]\n"
msgstr "Ungültige Konfigurationsoption »%s«. Gültig sind [%s]\n"
-#: src/nmcli/connections.c:8957
+#: src/nmcli/connections.c:9018
msgid "Error: only one of 'id', 'filename', uuid, or 'path' can be provided."
-msgstr "Fehler: Nur ID, Dateiname, UUID oder Pfad können angegeben werden."
+msgstr ""
+"Fehler: Es darf nur eines von »id« (Kennung), »filename« (Dateiname), "
+"»uuid« (UUID) oder »path« (Pfad) angegeben werden."
-#: src/nmcli/connections.c:8972
+#: src/nmcli/connections.c:9033
#, c-format
msgid "Error: Unknown connection '%s'."
msgstr "Fehler: Unbekannte Verbindung »%s«."
-#: src/nmcli/connections.c:8989
+#: src/nmcli/connections.c:9050
#, c-format
msgid "Warning: editing existing connection '%s'; 'type' argument is ignored\n"
msgstr ""
-"Warnung: bestehende Verbindung »%s« wird bearbeitet. Das Argument »type« "
-"wird ignoriert\n"
+"Warnung: bestehende Verbindung »%s« wird bearbeitet. Das Argument »type« wird "
+"ignoriert\n"
-#: src/nmcli/connections.c:8993
+#: src/nmcli/connections.c:9054
#, c-format
msgid ""
"Warning: editing existing connection '%s'; 'con-name' argument is ignored\n"
@@ -12718,248 +12729,284 @@ msgstr ""
"Warnung: bestehende Verbindung »%s« wird bearbeitet. Das Argument »con-name« "
"wird ignoriert\n"
-#: src/nmcli/connections.c:9020
+#: src/nmcli/connections.c:9081
#, c-format
msgid "Valid connection types: %s\n"
msgstr "Gültige Verbindungstypen: %s\n"
-#: src/nmcli/connections.c:9022
+#: src/nmcli/connections.c:9083
#, c-format
msgid "Error: invalid connection type; %s\n"
msgstr "Fehler: Ungültiger Verbindungstyp: %s\n"
-#: src/nmcli/connections.c:9061
+#: src/nmcli/connections.c:9122
msgid "===| nmcli interactive connection editor |==="
msgstr "===| nmcli interaktiver Verbindungs-Editor |==="
-#: src/nmcli/connections.c:9064
+#: src/nmcli/connections.c:9125
#, c-format
msgid "Editing existing '%s' connection: '%s'"
msgstr "Bestehende Verbindung »%s« wird bearbeitet: »%s«"
-#: src/nmcli/connections.c:9066
+#: src/nmcli/connections.c:9127
#, c-format
msgid "Adding a new '%s' connection"
msgstr "Neue »%s«-Verbindung hinzufügen"
#. TRANSLATORS: do not translate 'help', leave it as it is
-#: src/nmcli/connections.c:9069
+#: src/nmcli/connections.c:9130
msgid "Type 'help' or '?' for available commands."
msgstr "Tippen Sie »help« oder »?«, um verfügbare Befehle anzuzeigen."
#. TRANSLATORS: do not translate 'print', leave it as it is
-#: src/nmcli/connections.c:9072
+#: src/nmcli/connections.c:9133
msgid "Type 'print' to show all the connection properties."
-msgstr "Geben Sie »print« ein, um alle Verbindungseigenschaften anzuzeigen."
+msgstr "Geben Sie »print« ein, um alle Verbindungseigenschaften auszugeben."
#. TRANSLATORS: do not translate 'describe', leave it as it is
-#: src/nmcli/connections.c:9075
+#: src/nmcli/connections.c:9136
msgid "Type 'describe [<setting>.<prop>]' for detailed property description."
msgstr ""
"Tippen Sie »describe [<Einstellung>.<Eigenschaft>]« für eine detaillierte "
"Eigenschaftenbeschreibung."
-#: src/nmcli/connections.c:9102
+#: src/nmcli/connections.c:9163
#, c-format
msgid "Error: Failed to modify connection '%s': %s"
msgstr "Fehler: Ändern der Verbindung »%s« ist fehlgeschlagen: %s"
-#: src/nmcli/connections.c:9110
+#: src/nmcli/connections.c:9171
#, c-format
msgid "Connection '%s' (%s) successfully modified.\n"
msgstr "Verbindung »%s« (%s) erfolgreich bearbeitet.\n"
-#: src/nmcli/connections.c:9183
+#: src/nmcli/connections.c:9244
#, c-format
msgid "%s (%s) cloned as %s (%s).\n"
msgstr "%s (%s) dupliziert als %s (%s).\n"
-#: src/nmcli/connections.c:9241
+#: src/nmcli/connections.c:9302
msgid "New connection name: "
msgstr "Neuer Verbindungsname: "
-#: src/nmcli/connections.c:9243
+#: src/nmcli/connections.c:9304
msgid "Error: <new name> argument is missing."
msgstr "Fehler: Argument <neuer Name> fehlt."
-#: src/nmcli/connections.c:9249 src/nmcli/connections.c:9780
+#: src/nmcli/connections.c:9310 src/nmcli/connections.c:9838
#, c-format
msgid "Error: unknown extra argument: '%s'."
msgstr "Fehler: Unbekannter zusätzlicher Parameter »%s«."
-#: src/nmcli/connections.c:9283
+#: src/nmcli/connections.c:9344
msgid "Error: not all connections deleted."
msgstr "Fehler: Es wurden nicht alle aktiven Verbindungen gelöscht."
-#: src/nmcli/connections.c:9284
+#: src/nmcli/connections.c:9345
#, fuzzy, c-format
+#| msgid "Error: Connection deletion failed: %s"
msgid "Error: Connection deletion failed: %s\n"
msgstr "Fehler: Löschen der Verbindung fehlgeschlagen: %s"
-#: src/nmcli/connections.c:9339 src/nmcli/connections.c:9466
-#: src/nmcli/connections.c:9933
+#: src/nmcli/connections.c:9400 src/nmcli/connections.c:9529
+#: src/nmcli/connections.c:9991
#, c-format
msgid "Error: %s.\n"
msgstr "Fehler: %s.\n"
-#: src/nmcli/connections.c:9340 src/nmcli/connections.c:9467
-#: src/nmcli/connections.c:9934
+#: src/nmcli/connections.c:9401 src/nmcli/connections.c:9530
+#: src/nmcli/connections.c:9992
msgid "Error: not all connections found."
msgstr "Fehler: Es wurden nicht alle Verbindungen gefunden."
-#: src/nmcli/connections.c:9399
+#: src/nmcli/connections.c:9462
#, c-format
msgid "Error: cannot delete unknown connection(s): %s."
msgstr ""
"Fehler: Unbekannte Verbindung(en) »%s« kann/können nicht gelöscht werden."
-#: src/nmcli/connections.c:9407
+#: src/nmcli/connections.c:9470
#, c-format
msgid "%s: connection profile changed\n"
msgstr "%s: Verbindungsprofil hat sich geändert\n"
-#: src/nmcli/connections.c:9433
+#: src/nmcli/connections.c:9496
#, c-format
msgid "%s: connection profile created\n"
msgstr "%s: Verbindungsprofil wurde erstellt\n"
-#: src/nmcli/connections.c:9442
+#: src/nmcli/connections.c:9505
#, c-format
msgid "%s: connection profile removed\n"
msgstr "%s: Verbindungsprofil wurde entfernt\n"
-#: src/nmcli/connections.c:9510
+#: src/nmcli/connections.c:9573
#, c-format
msgid "Error: failed to reload connections: %s."
msgstr "Fehler: Erneutes Laden der Verbindung ist gescheitert: %s."
-#: src/nmcli/connections.c:9582
+#: src/nmcli/connections.c:9645
#, c-format
msgid "Error: failed to load connection: %s."
msgstr "Fehler: Laden der Verbindung ist gescheitert: %s."
-#: src/nmcli/connections.c:9590
+#: src/nmcli/connections.c:9653
#, c-format
msgid "Could not load file '%s'\n"
msgstr "Datei »%s« konnte nicht geladen werden\n"
-#: src/nmcli/connections.c:9594
+#: src/nmcli/connections.c:9657
msgid "File to import: "
msgstr "Datei zum Importieren: "
-#: src/nmcli/connections.c:9625
+#: src/nmcli/connections.c:9688
msgid "Error: No arguments provided."
msgstr "Fehler: Es wurden keine Argumente angegeben."
-#: src/nmcli/connections.c:9656
-msgid "Warning: 'type' already specified, ignoring extra one.\n"
-msgstr "Warnung: »type« ist bereits angegeben, wird ignoriert.\n"
-
-#: src/nmcli/connections.c:9671
-msgid "Warning: 'file' already specified, ignoring extra one.\n"
-msgstr "Warnung: »file« ist bereits angegeben, wird ignoriert.\n"
-
-#: src/nmcli/connections.c:9685
+#: src/nmcli/connections.c:9743
msgid "Error: 'type' argument is required."
msgstr "Fehler: Das Argument »type« ist notwendig."
-#: src/nmcli/connections.c:9690
+#: src/nmcli/connections.c:9748
msgid "Error: 'file' argument is required."
msgstr "Fehler: Das Argument »file« ist notwendig."
-#: src/nmcli/connections.c:9700
+#: src/nmcli/connections.c:9758
#, c-format
msgid "Error: failed to find VPN plugin for %s."
msgstr "Fehler: VPN-Erweiterung für %s konnte nicht gefunden werden."
-#: src/nmcli/connections.c:9709 src/nmcli/connections.c:9801
+#: src/nmcli/connections.c:9767 src/nmcli/connections.c:9859
#, c-format
msgid "Error: failed to load VPN plugin: %s."
msgstr "Fehler: Laden der VPN-Erweiterung ist gescheitert: %s."
-#: src/nmcli/connections.c:9720
+#: src/nmcli/connections.c:9778
#, c-format
msgid "Error: failed to import '%s': %s."
msgstr "Fehler: Importieren von »%s« ist fehlgeschlagen: %s."
-#: src/nmcli/connections.c:9786
+#: src/nmcli/connections.c:9844
msgid "Output file name: "
msgstr "Dateiname zur Ausgabe: "
-#: src/nmcli/connections.c:9791
+#: src/nmcli/connections.c:9849
msgid "Error: the connection is not VPN."
msgstr "Fehler: Verbindung ist kein VPN."
-#: src/nmcli/connections.c:9815
+#: src/nmcli/connections.c:9873
#, c-format
msgid "Error: failed to create temporary file %s."
msgstr "Fehler: Temporäre Datei konnte nicht erstellt werden: %s."
-#: src/nmcli/connections.c:9825
+#: src/nmcli/connections.c:9883
#, c-format
msgid "Error: failed to export '%s': %s."
msgstr "Fehler: Exportieren von »%s« ist fehlgeschlagen: %s."
-#: src/nmcli/connections.c:9839
+#: src/nmcli/connections.c:9897
#, c-format
msgid "Error: failed to read temporary file '%s': %s."
msgstr "Fehler: Lesen der temporären Datei »%s« ist fehlgeschlagen: %s."
-#: src/nmcli/connections.c:9863
+#: src/nmcli/connections.c:9921
#, fuzzy
+#| msgid "Error: not all connections deleted."
msgid "Error: not all connections migrated."
msgstr "Fehler: Es wurden nicht alle aktiven Verbindungen gelöscht."
-#: src/nmcli/connections.c:9864
+#: src/nmcli/connections.c:9922
#, fuzzy, c-format
+#| msgid "Error: Connection activation failed: %s"
msgid "Error: Connection migration failed: %s\n"
msgstr "Fehler: Aktivierung der Verbindung ist gescheitert: %s"
-#: src/nmcli/connections.c:9868
+#: src/nmcli/connections.c:9926
#, fuzzy, c-format
+#| msgid "Connection '%s' (%s) successfully updated.\n"
msgid "Connection '%s' (%s) successfully migrated.\n"
msgstr "Verbindung »%s« (%s) erfolgreich aktualisiert.\n"
-#: src/nmcli/connections.c:9900
+#: src/nmcli/connections.c:9958
#, fuzzy
+#| msgid "'--order' argument is missing"
msgid "'--plugin' argument is missing"
msgstr "Argument »--order« fehlt"
-#: src/nmcli/connections.c:9996
+#: src/nmcli/connections.c:10054
#, fuzzy, c-format
+#| msgid "Error: cannot delete unknown connection(s): %s."
msgid "Error: cannot migrate unknown connection(s): %s."
msgstr ""
"Fehler: Unbekannte Verbindung(en) »%s« kann/können nicht gelöscht werden."
#. define some prompts
-#: src/nmcli/devices.c:28
+#: src/nmcli/devices.c:29
msgid "Interface: "
msgstr "Schnittstelle: "
-#: src/nmcli/devices.c:29
+#: src/nmcli/devices.c:30
msgid "Interface(s): "
msgstr "Schnittstelle(n): "
-#: src/nmcli/devices.c:71 src/nmcli/devices.c:1442
+#: src/nmcli/devices.c:72 src/nmcli/devices.c:1461
msgid "(none)"
msgstr "(keine)"
-#: src/nmcli/devices.c:373
+#: src/nmcli/devices.c:374
#, c-format
msgid "<invisible> | %s"
msgstr "<unsichtbar> | %s"
-#: src/nmcli/devices.c:374
+#: src/nmcli/devices.c:375
msgid "<invisible>"
msgstr "<Unsichtbar>"
-#: src/nmcli/devices.c:481
+#: src/nmcli/devices.c:482
#, c-format
msgid "%u Mb/s"
msgstr "%u Mb/s"
-#: src/nmcli/devices.c:840
+#: src/nmcli/devices.c:852
#, fuzzy
+#| msgid ""
+#| "Usage: nmcli device { COMMAND | help }\n"
+#| "\n"
+#| "COMMAND := { status | show | set | connect | reapply | modify | disconnect "
+#| "| delete | monitor | wifi | lldp }\n"
+#| "\n"
+#| " status\n"
+#| "\n"
+#| " show [<ifname>]\n"
+#| "\n"
+#| " set [ifname] <ifname> [autoconnect yes|no] [managed yes|no]\n"
+#| "\n"
+#| " connect <ifname>\n"
+#| "\n"
+#| " reapply <ifname>\n"
+#| "\n"
+#| " modify <ifname> ([+|-]<setting>.<property> <value>)+\n"
+#| "\n"
+#| " disconnect <ifname> ...\n"
+#| "\n"
+#| " delete <ifname> ...\n"
+#| "\n"
+#| " monitor <ifname> ...\n"
+#| "\n"
+#| " wifi [list [ifname <ifname>] [bssid <BSSID>]]\n"
+#| "\n"
+#| " wifi connect <(B)SSID> [password <password>] [wep-key-type key|phrase] "
+#| "[ifname <ifname>]\n"
+#| " [bssid <BSSID>] [name <name>] [private yes|no] "
+#| "[hidden yes|no]\n"
+#| "\n"
+#| " wifi hotspot [ifname <ifname>] [con-name <name>] [ssid <SSID>] [band a|"
+#| "bg] [channel <channel>] [password <password>]\n"
+#| "\n"
+#| " wifi rescan [ifname <ifname>] [[ssid <SSID to scan>] ...]\n"
+#| "\n"
+#| " lldp [list [ifname <ifname>]]\n"
+#| "\n"
msgid ""
"Usage: nmcli device { COMMAND | help }\n"
"\n"
@@ -13039,7 +13086,7 @@ msgstr ""
" lldp [list [ifname <Schnittstellenname>]]\n"
"\n"
-#: src/nmcli/devices.c:868
+#: src/nmcli/devices.c:880
msgid ""
"Usage: nmcli device status { help }\n"
"\n"
@@ -13049,10 +13096,8 @@ msgid ""
" TYPE - device type\n"
" STATE - device state\n"
" CONNECTION - connection activated on device (if any)\n"
-"Displayed columns can be changed using '--fields' global option. 'status' "
-"is\n"
-"the default command, which means 'nmcli device' calls 'nmcli device "
-"status'.\n"
+"Displayed columns can be changed using '--fields' global option. 'status' is\n"
+"the default command, which means 'nmcli device' calls 'nmcli device status'.\n"
"\n"
msgstr ""
"Aufruf: nmcli device status { help }\n"
@@ -13069,7 +13114,7 @@ msgstr ""
"status« auf.\n"
"\n"
-#: src/nmcli/devices.c:883
+#: src/nmcli/devices.c:895
msgid ""
"Usage: nmcli device show { ARGUMENTS | help }\n"
"\n"
@@ -13084,19 +13129,18 @@ msgstr ""
"PARAMETER := [<Schnittstellenname>]\n"
"\n"
"Zeigt Details des Geräts.\n"
-"Der Befehl listet alle Details für alle Geräte oder für ein angegebenes "
-"Gerät auf.\n"
+"Der Befehl listet alle Details für alle Geräte oder für ein angegebenes Gerät "
+"auf.\n"
"\n"
-#: src/nmcli/devices.c:894
+#: src/nmcli/devices.c:906
msgid ""
"Usage: nmcli device connect { ARGUMENTS | help }\n"
"\n"
"ARGUMENTS := <ifname>\n"
"\n"
"Connect the device.\n"
-"NetworkManager will try to find a suitable connection that will be "
-"activated.\n"
+"NetworkManager will try to find a suitable connection that will be activated.\n"
"It will also consider connections that are not set to auto-connect.\n"
"\n"
msgstr ""
@@ -13112,7 +13156,7 @@ msgstr ""
"Verbindung konfiguriert sind.\n"
"\n"
-#: src/nmcli/devices.c:906
+#: src/nmcli/devices.c:918
msgid ""
"Usage: nmcli device reapply { ARGUMENTS | help }\n"
"\n"
@@ -13130,15 +13174,35 @@ msgstr ""
"zu aktualisieren, die seit der letzten Umsetzung gemacht wurden.\n"
"\n"
-#: src/nmcli/devices.c:918
+#: src/nmcli/devices.c:930
#, fuzzy
+#| msgid ""
+#| "Usage: nmcli device modify { ARGUMENTS | --help }\n"
+#| "\n"
+#| "ARGUMENTS := <ifname> ([+|-]<setting>.<property> <value>)+\n"
+#| "\n"
+#| "Modify one or more properties currently active on the device without "
+#| "modifying\n"
+#| "the connection profile. The changes have immediate effect. For multi-"
+#| "valued\n"
+#| "properties you can use optional '+' or '-' prefix to the property name.\n"
+#| "The '+' sign allows appending items instead of overwriting the whole "
+#| "value.\n"
+#| "The '-' sign allows removing selected items instead of the whole value.\n"
+#| "\n"
+#| "Examples:\n"
+#| "nmcli dev mod em1 ipv4.method manual ipv4.addr \"192.168.1.2/24, "
+#| "10.10.1.5/8\"\n"
+#| "nmcli dev mod em1 +ipv4.dns 8.8.4.4\n"
+#| "nmcli dev mod em1 -ipv4.dns 1\n"
+#| "nmcli dev mod em1 -ipv6.addr \"abbe::cafe/56\"\n"
msgid ""
"Usage: nmcli device modify { ARGUMENTS | help }\n"
"\n"
"ARGUMENTS := <ifname> ([+|-]<setting>.<property> <value>)+\n"
"\n"
-"Modify one or more properties that are currently active on the device "
-"without modifying\n"
+"Modify one or more properties that are currently active on the device without "
+"modifying\n"
"the connection profile. The changes have immediate effect. For multi-valued\n"
"properties you can use optional '+' or '-' prefix to the property name.\n"
"The '+' sign allows appending items instead of overwriting the whole value.\n"
@@ -13162,8 +13226,7 @@ msgstr ""
"vorangestellt.\n"
"»+« ermöglicht Objekte anzuhängen, anstatt den gesamten Wert zu "
"überschreiben.\n"
-"»-« ermöglicht das Entfernen einzelner Objekte an Stelle des gesamten "
-"Werts.\n"
+"»-« ermöglicht das Entfernen einzelner Objekte an Stelle des gesamten Werts.\n"
"\n"
"Beispiele:\n"
"nmcli dev mod em1 ipv4.method manual ipv4.addr \"192.168.1.2/24, "
@@ -13172,7 +13235,7 @@ msgstr ""
"nmcli dev mod em1 -ipv4.dns 1\n"
"nmcli dev mod em1 -ipv6.addr \"abbe::cafe/56\"\n"
-#: src/nmcli/devices.c:938
+#: src/nmcli/devices.c:950
msgid ""
"Usage: nmcli device disconnect { ARGUMENTS | help }\n"
"\n"
@@ -13192,7 +13255,7 @@ msgstr ""
"Benutzereingriff weiterhin automatisch neu zu verbinden.\n"
"\n"
-#: src/nmcli/devices.c:950
+#: src/nmcli/devices.c:962
msgid ""
"Usage: nmcli device delete { ARGUMENTS | help }\n"
"\n"
@@ -13214,7 +13277,7 @@ msgstr ""
"können mit diesem Befehl nicht entfernt werden.\n"
"\n"
-#: src/nmcli/devices.c:963
+#: src/nmcli/devices.c:975
msgid ""
"Usage: nmcli device set { ARGUMENTS | help }\n"
"\n"
@@ -13236,7 +13299,7 @@ msgstr ""
"Geräte-Eigenschaften verändern.\n"
"\n"
-#: src/nmcli/devices.c:976
+#: src/nmcli/devices.c:988
msgid ""
"Usage: nmcli device monitor { ARGUMENTS | help }\n"
"\n"
@@ -13252,28 +13315,81 @@ msgstr ""
"ARGUMENTE := [<Schnittstellenname>]\n"
"\n"
"Die Geräteaktivitäten überwachen.\n"
-"Der Befehl gibt eine Zeile aus, sobald sich der Zustand des angegebenen "
-"Geräts ändert.\n"
+"Der Befehl gibt eine Zeile aus, sobald sich der Zustand des angegebenen Geräts "
+"ändert.\n"
"Es werden alle Geräte überwacht für den Fall, dass keine Schnittstelle "
"angegeben wird.\n"
"\n"
-#: src/nmcli/devices.c:989
+#: src/nmcli/devices.c:1001
#, fuzzy
+#| msgid ""
+#| "Usage: nmcli device wifi { ARGUMENTS | help }\n"
+#| "\n"
+#| "Perform operation on Wi-Fi devices.\n"
+#| "\n"
+#| "ARGUMENTS := [list [ifname <ifname>] [bssid <BSSID>]]\n"
+#| "\n"
+#| "List available Wi-Fi access points. The 'ifname' and 'bssid' options can "
+#| "be\n"
+#| "used to list APs for a particular interface, or with a specific BSSID.\n"
+#| "\n"
+#| "ARGUMENTS := connect <(B)SSID> [password <password>] [wep-key-type key|"
+#| "phrase] [ifname <ifname>]\n"
+#| " [bssid <BSSID>] [name <name>] [private yes|no] [hidden "
+#| "yes|no]\n"
+#| "\n"
+#| "Connect to a Wi-Fi network specified by SSID or BSSID. The command creates\n"
+#| "a new connection and then activates it on a device. This is a command-line\n"
+#| "counterpart of clicking an SSID in a GUI client. The command always "
+#| "creates\n"
+#| "a new connection and thus it is mainly useful for connecting to new Wi-Fi\n"
+#| "networks. If a connection for the network already exists, it is better to\n"
+#| "bring up the existing profile as follows: nmcli con up id <name>. Note "
+#| "that\n"
+#| "only open, WEP and WPA-PSK networks are supported at the moment. It is "
+#| "also\n"
+#| "assumed that IP configuration is obtained via DHCP.\n"
+#| "\n"
+#| "ARGUMENTS := hotspot [ifname <ifname>] [con-name <name>] [ssid <SSID>]\n"
+#| " [band a|bg] [channel <channel>] [password <password>]\n"
+#| "\n"
+#| "Create a Wi-Fi hotspot. Use 'connection down' or 'device disconnect'\n"
+#| "to stop the hotspot.\n"
+#| "Parameters of the hotspot can be influenced by the optional parameters:\n"
+#| "ifname - Wi-Fi device to use\n"
+#| "con-name - name of the created hotspot connection profile\n"
+#| "ssid - SSID of the hotspot\n"
+#| "band - Wi-Fi band to use\n"
+#| "channel - Wi-Fi channel to use\n"
+#| "password - password to use for the hotspot\n"
+#| "\n"
+#| "ARGUMENTS := rescan [ifname <ifname>] [[ssid <SSID to scan>] ...]\n"
+#| "\n"
+#| "Request that NetworkManager immediately re-scan for available access "
+#| "points.\n"
+#| "NetworkManager scans Wi-Fi networks periodically, but in some cases it "
+#| "might\n"
+#| "be useful to start scanning manually. 'ssid' allows scanning for a "
+#| "specific\n"
+#| "SSID, which is useful for APs with hidden SSIDs. More 'ssid' parameters can "
+#| "be\n"
+#| "given. Note that this command does not show the APs,\n"
+#| "use 'nmcli device wifi list' for that.\n"
+#| "\n"
msgid ""
"Usage: nmcli device wifi { ARGUMENTS | help }\n"
"\n"
"Perform operation on Wi-Fi devices.\n"
"\n"
-"ARGUMENTS := [list [ifname <ifname>] [bssid <BSSID>] [--rescan yes|no|"
-"auto]]\n"
+"ARGUMENTS := [list [ifname <ifname>] [bssid <BSSID>] [--rescan yes|no|auto]]\n"
"\n"
"List available Wi-Fi access points. The 'ifname' and 'bssid' options can be\n"
"used to list APs for a particular interface, or with a specific BSSID. The\n"
"--rescan flag tells whether a new Wi-Fi scan should be triggered.\n"
"\n"
-"ARGUMENTS := connect <(B)SSID> [password <password>] [wep-key-type key|"
-"phrase] [ifname <ifname>]\n"
+"ARGUMENTS := connect <(B)SSID> [password <password>] [wep-key-type key|phrase] "
+"[ifname <ifname>]\n"
" [bssid <BSSID>] [name <name>] [private yes|no] [hidden "
"yes|no]\n"
"\n"
@@ -13300,10 +13416,8 @@ msgid ""
"\n"
"ARGUMENTS := rescan [ifname <ifname>] [[ssid <SSID to scan>] ...]\n"
"\n"
-"Request that NetworkManager immediately re-scan for available access "
-"points.\n"
-"NetworkManager scans Wi-Fi networks periodically, but in some cases it "
-"might\n"
+"Request that NetworkManager immediately re-scan for available access points.\n"
+"NetworkManager scans Wi-Fi networks periodically, but in some cases it might\n"
"be useful to start scanning manually. 'ssid' allows scanning for a specific\n"
"SSID, which is useful for APs with hidden SSIDs. More 'ssid' parameters can "
"be\n"
@@ -13322,20 +13436,18 @@ msgstr ""
"Schnittstelle\n"
"oder mit einer bestimmten BSSID aufzulisten.\n"
"\n"
-"ARGUMENTE := connect <(B)SSID> [password <Passwort>] [wep-key-type key|"
-"phrase] [ifname <Schnittstellenname>]\n"
-" [bssid <BSSID>] [name <Name>] [private yes|no] [hidden "
-"yes|no]\n"
+"ARGUMENTE := connect <(B)SSID> [password <Passwort>] [wep-key-type key|phrase] "
+"[ifname <Schnittstellenname>]\n"
+" [bssid <BSSID>] [name <Name>] [private yes|no] [hidden yes|"
+"no]\n"
"\n"
"Verbindet mit einem WLAN-Netzwerk, das anhand seiner SSID oder BSSID\n"
"angegeben wird. Der Befehl erstellt eine neue Verbindung und aktiviert\n"
-"diese auf einem Gerät. Dieser Befehl entspricht dem Klicken auf eine SSID "
-"in\n"
+"diese auf einem Gerät. Dieser Befehl entspricht dem Klicken auf eine SSID in\n"
"einer graphischen Oberfläche. Der Befehl erstellt immer eine neue Verbindung "
"und ist\n"
"deshalb hauptsächlich nützlich zum Verbinden mit neuen WLAN-Netzen.\n"
-"Falls eine Verbindung für das Netzwerk bereits existiert, ist es besser, "
-"das\n"
+"Falls eine Verbindung für das Netzwerk bereits existiert, ist es besser, das\n"
"vorhandene Profil wie folgt aufzurufen: nmcli con up id <Name>. Beachten\n"
"Sie, dass derzeit lediglich offene, WEP- und WPA-PSK-Netzwerke unterstützt "
"werden.\n"
@@ -13344,8 +13456,7 @@ msgstr ""
"\n"
"ARGUMENTE := hotspot [ifname <Schnittstellenname>] [con-name <Name>] [ssid "
"<SSID>]\n"
-" [band a|bg] [channel <Kanal>] [password "
-"<Passwort>]\n"
+" [band a|bg] [channel <Kanal>] [password <Passwort>]\n"
"\n"
"Erstellt einen WLAN-Zugangspunkt. Verwenden Sie »connection down« oder\n"
"»device disconnect«, um den Zugangspunkt anzuhalten.\n"
@@ -13358,28 +13469,26 @@ msgstr ""
"channel - Zu verwendender WLAN-Kanal\n"
"password - Passwort des Zugangspunkts\n"
"\n"
-"ARGUMENTE := rescan [[ifname] <Schnittstellenname>] [[ssid <zu suchende "
-"SSID>] …\n"
+"ARGUMENTE := rescan [[ifname] <Schnittstellenname>] [[ssid <zu suchende SSID>] "
+"…\n"
"\n"
"Fordert NetworkManager auf, sofort erneut nach verfügbaren\n"
"Zugangspunkten zu suchen. NetworkManager sucht regelmäßig nach WLAN-"
"Netzwerken,\n"
"doch in bestimmten Situationen kann es nützlich sein, diese Suche manuell\n"
"anzustoßen. »ssid« ermöglicht das Suchen nach einer bestimmten SSID, was im\n"
-"Falle von Zugangspunkten mit verborgener SSID nützlich ist. Es können "
-"weitere\n"
+"Falle von Zugangspunkten mit verborgener SSID nützlich ist. Es können weitere\n"
"ssid-Parameter angegeben werden. Beachten Sie, dass dieser Befehl die\n"
"Zugangspunkte nicht anzeigt. Verwenden Sie dazu »nmcli device wifi list«.\n"
"\n"
-#: src/nmcli/devices.c:1037
+#: src/nmcli/devices.c:1049
msgid ""
"Usage: nmcli device lldp { ARGUMENTS | help }\n"
"\n"
"ARGUMENTS := [list [ifname <ifname>]]\n"
"\n"
-"List neighboring devices discovered through LLDP. The 'ifname' option can "
-"be\n"
+"List neighboring devices discovered through LLDP. The 'ifname' option can be\n"
"used to list neighbors for a particular interface.\n"
"\n"
msgstr ""
@@ -13392,7 +13501,8 @@ msgstr ""
"auf einer bestimmten Schnittstelle aufzulisten.\n"
"\n"
-#: src/nmcli/devices.c:1048
+#: src/nmcli/devices.c:1060
+#, fuzzy
msgid ""
"Usage: nmcli device checkpoint { ARGUMENTS | help }\n"
"\n"
@@ -13403,259 +13513,271 @@ msgid ""
"checkpoint is automatically restored after timeout.\n"
"\n"
msgstr ""
+"Usage: nmcli device checkpoint { ARGUMENTE | help }\n"
+"\n"
+"ARGUMENTE := [--timeout <Sekonden>] -- BEFEHL …\n"
+"\n"
+"Führt den Befehl aus und legt einen Konfigurations-Kontrollpunkt an. Fragt\n"
+"im Anschluss nach einer Bestätigung, Wenn keine Bestätigung geliefert wird,\n"
+"so wird der Kontrollpunkt automatisch nach einer Karenzzeit "
+"wiederhergestellt.\n"
+"\n"
-#: src/nmcli/devices.c:1150
+#: src/nmcli/devices.c:1162
msgid "Error: No interface specified."
msgstr "Fehler: Es muss eine Schnittstelle angegeben werden."
-#: src/nmcli/devices.c:1180
+#: src/nmcli/devices.c:1192
#, c-format
msgid "Warning: argument '%s' is duplicated.\n"
msgstr "Warnung: Argument »%s« ist mehrfach vorhanden.\n"
-#: src/nmcli/devices.c:1183
+#: src/nmcli/devices.c:1195
#, c-format
msgid "Error: Device '%s' not found.\n"
msgstr "Fehler: Gerät »%s« wurde nicht gefunden.\n"
-#: src/nmcli/devices.c:1184 src/nmcli/devices.c:5201
+#: src/nmcli/devices.c:1196 src/nmcli/devices.c:5248
msgid "Error: not all devices found."
msgstr "Fehler: Es wurden nicht alle Geräte gefunden."
-#: src/nmcli/devices.c:1216
+#: src/nmcli/devices.c:1225
msgid "No interface specified"
msgstr "Keine Schnittstelle angegeben"
-#: src/nmcli/devices.c:1237
+#: src/nmcli/devices.c:1246
#, c-format
msgid "Device '%s' not found"
msgstr "Gerät »%s« wurde nicht gefunden"
-#: src/nmcli/devices.c:1349
+#: src/nmcli/devices.c:1362 src/nmcli/devices.c:1364
#, c-format
msgid "%u MHz"
msgstr "%u MHz"
-#: src/nmcli/devices.c:1350
+#: src/nmcli/devices.c:1363
#, c-format
msgid "%u Mbit/s"
msgstr "%u Mbit/s"
-#: src/nmcli/devices.c:1395
+#: src/nmcli/devices.c:1413
msgid "Ad-Hoc"
msgstr "Ad-Hoc"
-#: src/nmcli/devices.c:1396
+#: src/nmcli/devices.c:1414
msgid "Infra"
msgstr "Infra"
-#: src/nmcli/devices.c:1398
+#: src/nmcli/devices.c:1416
msgid "N/A"
msgstr "N.V."
-#: src/nmcli/devices.c:1590
+#: src/nmcli/devices.c:1607
msgid "Device details"
msgstr "Geräteinformationen"
-#: src/nmcli/devices.c:1607
+#: src/nmcli/devices.c:1624
#, c-format
msgid "Error: 'device show': %s"
msgstr "Fehler: »device show«: %s"
-#: src/nmcli/devices.c:1984
+#: src/nmcli/devices.c:2002
msgid "Status of devices"
msgstr "Status der Geräte"
-#: src/nmcli/devices.c:1988
+#: src/nmcli/devices.c:2006
#, c-format
msgid "Error: 'device status': %s"
msgstr "Fehler: »device status«: %s"
-#: src/nmcli/devices.c:2051 src/nmcli/general.c:527
+#: src/nmcli/devices.c:2069 src/nmcli/general.c:528
#, c-format
msgid "Error: Timeout %d sec expired."
msgstr "Fehler: Zeitbeschränkung von %d Sekunden ist abgelaufen."
-#: src/nmcli/devices.c:2126
+#: src/nmcli/devices.c:2146
#, c-format
msgid "Device '%s' successfully activated with '%s'.\n"
msgstr "Gerät »%s« wurde erfolgreich mit »%s« aktiviert.\n"
-#: src/nmcli/devices.c:2132
+#: src/nmcli/devices.c:2152
msgid ""
"Hint: \"nmcli dev wifi show-password\" shows the Wi-Fi name and password.\n"
msgstr ""
-#: src/nmcli/devices.c:2135
-#, c-format
-msgid "Error: Connection activation failed: (%d) %s.\n"
-msgstr "Fehler: Aktivierung der Verbindung ist gescheitert: (%d) %s.\n"
+#: src/nmcli/devices.c:2156
+#, fuzzy, c-format
+#| msgid "Error: Connection activation failed: %s"
+msgid "Error: Connection activation failed: %s."
+msgstr "Fehler: Aktivierung der Verbindung ist gescheitert: %s"
-#: src/nmcli/devices.c:2166
+#: src/nmcli/devices.c:2198
#, c-format
msgid "Error: Failed to setup a Wi-Fi hotspot: %s"
msgstr "Fehler: Einrichten eines WLAN-Zugangspunkts schlug fehl: %s"
-#: src/nmcli/devices.c:2170
+#: src/nmcli/devices.c:2202
#, c-format
msgid "Error: Failed to add/activate new connection: %s"
msgstr "Fehler: Neue Verbindung konnte nicht hinzugefügt/aktiviert werden: %s"
-#: src/nmcli/devices.c:2174
+#: src/nmcli/devices.c:2206
#, fuzzy, c-format
+#| msgid "Error: Failed to add/activate new connection: %s"
msgid "Error: Failed to activate connection: %s"
msgstr "Fehler: Neue Verbindung konnte nicht hinzugefügt/aktiviert werden: %s"
-#: src/nmcli/devices.c:2242
+#: src/nmcli/devices.c:2280
#, c-format
msgid "Error: Device activation failed: %s"
msgstr "Fehler: Aktivierung des Geräts ist gescheitert: %s"
-#: src/nmcli/devices.c:2292
+#: src/nmcli/devices.c:2336
#, c-format
msgid "Error: extra argument not allowed: '%s'."
msgstr "Fehler: Zusätzlicher Parameter nicht erlaubt: »%s«."
-#: src/nmcli/devices.c:2361 src/nmcli/devices.c:2374 src/nmcli/devices.c:2629
+#: src/nmcli/devices.c:2405 src/nmcli/devices.c:2418 src/nmcli/devices.c:2673
#, c-format
msgid "Device '%s' successfully disconnected.\n"
msgstr "Gerät »%s« wurde erfolgreich getrennt.\n"
-#: src/nmcli/devices.c:2363 src/nmcli/devices.c:2699
+#: src/nmcli/devices.c:2407 src/nmcli/devices.c:2744
#, c-format
msgid "Device '%s' successfully removed.\n"
msgstr "Gerät »%s« wurde erfolgreich entfernt.\n"
-#: src/nmcli/devices.c:2423 src/nmcli/devices.c:2505
+#: src/nmcli/devices.c:2467 src/nmcli/devices.c:2549
#, c-format
msgid "Error: Reapplying connection to device '%s' (%s) failed: %s"
msgstr ""
-"Fehler: Erneutes Anwenden der Verbindung auf Gerät »%s« (%s) ist "
-"gescheitert: %s"
+"Fehler: Erneutes Anwenden der Verbindung auf Gerät »%s« (%s) ist gescheitert: "
+"%s"
-#: src/nmcli/devices.c:2433 src/nmcli/devices.c:2514
+#: src/nmcli/devices.c:2477 src/nmcli/devices.c:2558
#, c-format
msgid "Connection successfully reapplied to device '%s'.\n"
msgstr "Verbindung wurde erfolgreich erneut angewendet auf Gerät »%s«.\n"
-#: src/nmcli/devices.c:2536
+#: src/nmcli/devices.c:2580
#, c-format
msgid "Error: Reading applied connection from device '%s' (%s) failed: %s"
msgstr ""
-"Fehler: Lesen der angewendeten Verbindung von Gerät »%s« (%s) ist "
-"gescheitert: %s"
+"Fehler: Lesen der angewendeten Verbindung von Gerät »%s« (%s) ist gescheitert: "
+"%s"
-#: src/nmcli/devices.c:2613
+#: src/nmcli/devices.c:2657
msgid "Error: not all devices disconnected."
msgstr "Fehler: Es wurden nicht alle Geräte getrennt."
-#: src/nmcli/devices.c:2614
+#: src/nmcli/devices.c:2658
#, c-format
msgid "Error: Device '%s' (%s) disconnecting failed: %s\n"
msgstr "Fehler: Trennung des Gerätes »%s« (%s) ist gescheitert: %s\n"
-#: src/nmcli/devices.c:2690
+#: src/nmcli/devices.c:2735
msgid "Error: not all devices deleted."
msgstr "Fehler: Es wurden nicht alle Geräte gelöscht."
-#: src/nmcli/devices.c:2691
+#: src/nmcli/devices.c:2736
#, c-format
msgid "Error: Device '%s' (%s) deletion failed: %s\n"
msgstr "Fehler: Löschen des Gerätes »%s« (%s) ist gescheitert: %s\n"
-#: src/nmcli/devices.c:2769
+#: src/nmcli/devices.c:2814
msgid "Error: No property specified."
msgstr "Fehler: Keine Eigenschaft angegeben."
-#: src/nmcli/devices.c:2786 src/nmcli/devices.c:2805 src/nmcli/general.c:797
-#: src/nmcli/general.c:819
+#: src/nmcli/devices.c:2831 src/nmcli/devices.c:2850 src/nmcli/general.c:798
+#: src/nmcli/general.c:820
#, c-format
msgid "Error: '%s' argument is missing."
msgstr "Fehler: Argument »%s« fehlt."
-#: src/nmcli/devices.c:2794
+#: src/nmcli/devices.c:2839
#, c-format
msgid "Error: 'managed': %s."
msgstr "Fehler: »managed«: %s."
-#: src/nmcli/devices.c:2813
+#: src/nmcli/devices.c:2858
#, c-format
msgid "Error: 'autoconnect': %s."
msgstr "Fehler: »autoconnect«: %s."
-#: src/nmcli/devices.c:2820 src/nmcli/general.c:869
+#: src/nmcli/devices.c:2865 src/nmcli/general.c:870
#, c-format
msgid "Error: property '%s' is not known."
msgstr "Fehler: Eigenschaft »%s« ist unbekannt."
-#: src/nmcli/devices.c:2867
+#: src/nmcli/devices.c:2912
#, c-format
msgid "%s: using connection '%s'\n"
msgstr "%s: Verbindung »%s« wird verwendet\n"
-#: src/nmcli/devices.c:2893
+#: src/nmcli/devices.c:2938
#, c-format
msgid "%s: device created\n"
msgstr "%s: Gerät angelegt\n"
-#: src/nmcli/devices.c:2900
+#: src/nmcli/devices.c:2945
#, c-format
msgid "%s: device removed\n"
msgstr "%s: Das Gerät wurde entfernt\n"
-#: src/nmcli/devices.c:3078
+#: src/nmcli/devices.c:3125
msgid "Wi-Fi scan list"
msgstr "Suchliste des WLAN"
-#: src/nmcli/devices.c:3195 src/nmcli/devices.c:3476
+#: src/nmcli/devices.c:3242 src/nmcli/devices.c:3523
#, c-format
msgid "Error: Access point with bssid '%s' not found."
msgstr "Fehler: Zugangspunkt mit der BSSID »%s« nicht gefunden."
-#: src/nmcli/devices.c:3397
+#: src/nmcli/devices.c:3444
#, c-format
msgid "Error: 'device wifi': %s"
msgstr "Fehler: »device wifi«: %s"
-#: src/nmcli/devices.c:3417
+#: src/nmcli/devices.c:3464
#, c-format
msgid "Error: invalid rescan argument: '%s' not among [auto, no, yes]"
-msgstr "Fehler: ungültiges Rescan-Argument: '%s' nicht unter [auto, nein, ja]"
+msgstr ""
+"Fehler: Ungültiges Argument für »rescan«: »%s« ist keines von [auto, no, yes]"
-#: src/nmcli/devices.c:3456
+#: src/nmcli/devices.c:3503
#, c-format
msgid "Error: Device '%s' not found."
msgstr "Fehler: Gerät »%s« wurde nicht gefunden."
-#: src/nmcli/devices.c:3460
+#: src/nmcli/devices.c:3507
#, c-format
msgid ""
-"Error: Device '%s' was not recognized as a Wi-Fi device, check "
-"NetworkManager Wi-Fi plugin."
+"Error: Device '%s' was not recognized as a Wi-Fi device, check NetworkManager "
+"Wi-Fi plugin."
msgstr ""
"Fehler: Gerät »%s« ist kein WLAN-Gerät. Prüfen Sie die WLAN-Erweiterung in "
"NetworkManager."
-#: src/nmcli/devices.c:3465 src/nmcli/devices.c:3817 src/nmcli/devices.c:4446
-#: src/nmcli/devices.c:4581 src/nmcli/devices.c:4716
+#: src/nmcli/devices.c:3512 src/nmcli/devices.c:3864 src/nmcli/devices.c:4493
+#: src/nmcli/devices.c:4628 src/nmcli/devices.c:4763
#, c-format
msgid "Error: Device '%s' is not a Wi-Fi device."
msgstr "Fehler: Gerät »%s« ist kein WLAN-Gerät."
-#: src/nmcli/devices.c:3645
+#: src/nmcli/devices.c:3692
msgid "SSID or BSSID: "
msgstr "SSID oder BSSID: "
-#: src/nmcli/devices.c:3650
+#: src/nmcli/devices.c:3697
msgid "Error: SSID or BSSID are missing."
msgstr "Fehler: SSID oder BSSID fehlt."
-#: src/nmcli/devices.c:3694
+#: src/nmcli/devices.c:3741
#, c-format
msgid "Error: bssid argument value '%s' is not a valid BSSID."
msgstr "Fehler: Der Wert »%s« des BSSID-Arguments ist keine gültige BSSID."
-#: src/nmcli/devices.c:3725
+#: src/nmcli/devices.c:3772
#, c-format
msgid ""
"Error: wep-key-type argument value '%s' is invalid, use 'key' or 'phrase'."
@@ -13663,176 +13785,164 @@ msgstr ""
"Fehler: Wert des Arguments wep-key-type »%s« ist ungültig, verwenden Sie "
"stattdessen »key« oder »phrase«."
-#: src/nmcli/devices.c:3753 src/nmcli/devices.c:3774
+#: src/nmcli/devices.c:3800 src/nmcli/devices.c:3821
#, c-format
msgid "Error: %s: %s."
msgstr "Fehler: %s: %s."
-#: src/nmcli/devices.c:3796
+#: src/nmcli/devices.c:3843
#, c-format
msgid "Error: BSSID to connect to (%s) differs from bssid argument (%s)."
msgstr ""
-"Fehler: BSSID für die Verbindung (%s) entspricht nicht dem bssid-Argument "
-"(%s)."
+"Fehler: BSSID für die Verbindung (%s) entspricht nicht dem bssid-Argument (%s)."
-#: src/nmcli/devices.c:3804
+#: src/nmcli/devices.c:3851
#, c-format
msgid "Error: Parameter '%s' is neither SSID nor BSSID."
msgstr "Fehler: Parameter »%s« ist weder SSID noch BSSID."
-#: src/nmcli/devices.c:3820 src/nmcli/devices.c:4449 src/nmcli/devices.c:4584
-#: src/nmcli/devices.c:4816
+#: src/nmcli/devices.c:3867 src/nmcli/devices.c:4496 src/nmcli/devices.c:4631
+#: src/nmcli/devices.c:4863
msgid "Error: No Wi-Fi device found."
msgstr "Fehler: Es wurde kein WLAN-Gerät gefunden."
-#: src/nmcli/devices.c:3842
+#: src/nmcli/devices.c:3889
#, c-format
msgid "Error: Failed to scan hidden SSID: %s."
msgstr "Fehler: Suche nach verborgener SSID ist fehlgeschlagen: %s."
-#: src/nmcli/devices.c:3874
+#: src/nmcli/devices.c:3921
#, c-format
msgid "Error: No network with SSID '%s' found."
msgstr "Fehler: Es wurde kein Netzwerk mit SSID »%s« gefunden."
-#: src/nmcli/devices.c:3878
+#: src/nmcli/devices.c:3925
#, c-format
msgid "Error: No access point with BSSID '%s' found."
msgstr "Fehler: Es wurde kein Zugangspunkt mit BSSID »%s« gefunden."
-#: src/nmcli/devices.c:3907
+#: src/nmcli/devices.c:3954
#, c-format
msgid "Error: Connection '%s' exists but properties don't match."
msgstr ""
-#: src/nmcli/devices.c:3956
+#: src/nmcli/devices.c:4004
#, c-format
-msgid ""
-"Warning: '%s' should be SSID for hidden APs; but it looks like a BSSID.\n"
+msgid "Warning: '%s' should be SSID for hidden APs; but it looks like a BSSID.\n"
msgstr ""
"Warnung: »%s« sollte eine SSID für verborgene Zugangspunkte sein. Es scheint "
"aber eine BSSID zu sein.\n"
-#: src/nmcli/devices.c:3998
+#: src/nmcli/devices.c:4046
msgid "Password: "
msgstr "Passwort: "
-#: src/nmcli/devices.c:4136
+#: src/nmcli/devices.c:4186
#, c-format
msgid "'%s' is not valid WPA PSK"
msgstr "»%s« ist kein gültiger WPA-PSK"
-#: src/nmcli/devices.c:4157
+#: src/nmcli/devices.c:4207
#, c-format
msgid "'%s' is not valid WEP key (it should be 5 or 13 ASCII chars)"
msgstr ""
-"»%s« ist kein gültiger WEP-Schlüssel (er muss entweder 5 oder 13 Zeichen "
-"lang sein)"
+"»%s« ist kein gültiger WEP-Schlüssel (er muss entweder 5 oder 13 Zeichen lang "
+"sein)"
-#: src/nmcli/devices.c:4176
+#: src/nmcli/devices.c:4226
#, c-format
msgid "Hotspot password: %s\n"
msgstr "Passwort des Zugangspunkts: %s\n"
-#: src/nmcli/devices.c:4355
+#: src/nmcli/devices.c:4409
msgid "Error: ssid is too long."
msgstr "Fehler: »SSID« ist zu lang."
-#: src/nmcli/devices.c:4373
+#: src/nmcli/devices.c:4427
#, c-format
msgid "Error: band argument value '%s' is invalid; use 'a' or 'bg'."
msgstr "Fehler: Bandparameter »%s« ist ungültig. Verwenden Sie »a« oder »bg«."
-#: src/nmcli/devices.c:4424
+#: src/nmcli/devices.c:4471
msgid "Error: channel requires band too."
msgstr "Fehler: Ein Kanal erfordert auch die Angabe eines Bandes."
-#: src/nmcli/devices.c:4431
+#: src/nmcli/devices.c:4478
#, c-format
msgid "Error: channel '%s' not valid for band '%s'."
msgstr "Fehler: Kanal »%s« ist ungültig für das Band »%s«."
-#: src/nmcli/devices.c:4462
+#: src/nmcli/devices.c:4509
#, c-format
msgid "Error: Device '%s' supports neither AP nor Ad-Hoc mode."
msgstr "Fehler: Gerät »%s« unterstützt weder Infrastruktur- noch Ad-Hoc-Modus."
-#: src/nmcli/devices.c:4489
+#: src/nmcli/devices.c:4536
#, c-format
msgid "Error: Invalid 'password': %s."
msgstr "Fehler: Ungültiges »password«: %s."
-#: src/nmcli/devices.c:4540 src/nmcli/devices.c:4770
+#: src/nmcli/devices.c:4587 src/nmcli/devices.c:4817
#, c-format
msgid "Error: '%s' cannot repeat."
msgstr "Fehler: »%s« darf sich nicht wiederholen."
-#: src/nmcli/devices.c:4675 src/nmcli/devices.c:4678 src/nmcli/devices.c:4682
-#: src/nmcli/devices.c:4685 src/nmtui/nmt-page-wifi.c:253
+#: src/nmcli/devices.c:4722 src/nmcli/devices.c:4725 src/nmcli/devices.c:4729
+#: src/nmcli/devices.c:4732 src/nmtui/nmt-page-wifi.c:269
msgid "Security"
msgstr "Sicherheit"
-#: src/nmcli/devices.c:4675
-#, fuzzy
+#: src/nmcli/devices.c:4722
msgid "None"
-msgstr "Keine"
-
-#: src/nmcli/devices.c:4804
-#, c-format
-msgid "%s"
-msgstr ""
+msgstr "Kein"
#. Main header name
-#: src/nmcli/devices.c:4857
+#: src/nmcli/devices.c:4904
msgid "Device LLDP neighbors"
msgstr "LLDP-Nachbarn des Geräts"
-#: src/nmcli/devices.c:4990
+#: src/nmcli/devices.c:5037
#, c-format
msgid "Error: 'device lldp list': %s"
msgstr "Fehler: »device lldp list«: %s"
-#: src/nmcli/devices.c:5058
-#, fuzzy
-#| msgid "The connection was removed"
+#: src/nmcli/devices.c:5105
msgid "Checkpoint was removed."
-msgstr "Die Verbindung wurde entfernt"
+msgstr "Der Kontrollpunkt wurde entfernt."
#. The command is done, we're in the confirmation prompt.
-#: src/nmcli/devices.c:5065
+#: src/nmcli/devices.c:5112
#, fuzzy
+#| msgctxt "Wi-Fi security"
+#| msgid "None"
msgid "No"
msgstr "Keine"
-#: src/nmcli/devices.c:5078
-#, fuzzy, c-format
+#: src/nmcli/devices.c:5125
+#, c-format
msgid "Error: Destroying a checkpoint failed: %s"
-msgstr "Fehler: Initialisierung des Passwort-Agenten fehlgeschlagen: %s"
+msgstr "Fehler: Löschen eines Kontrollpunkts ist fehlgeschlagen: %s"
-#: src/nmcli/devices.c:5100 src/nmcli/devices.c:5101
-#, fuzzy
-#| msgid "yes"
+#: src/nmcli/devices.c:5147 src/nmcli/devices.c:5148
msgid "Yes"
-msgstr "ja"
+msgstr "Ja"
-#: src/nmcli/devices.c:5127
-#, fuzzy, c-format
-#| msgid "Error: Connection activation failed: %s"
+#: src/nmcli/devices.c:5174
+#, c-format
msgid "Error: Creating a checkpoint failed: %s"
-msgstr "Fehler: Aktivierung der Verbindung ist gescheitert: %s"
+msgstr "Fehler: Das Anlegen eines Kontrollpunkts ist gescheitert: %s"
-#: src/nmcli/devices.c:5143
-#, fuzzy, c-format
-#| msgid "Error: %s."
+#: src/nmcli/devices.c:5190
+#, c-format
msgid "Error: %s"
-msgstr "Fehler: %s."
+msgstr "Fehler: %s"
-#: src/nmcli/devices.c:5182 src/nmcli/nmcli.c:885
+#: src/nmcli/devices.c:5229 src/nmcli/nmcli.c:887
#, c-format
msgid "Error: '%s' is not a valid timeout."
msgstr "Fehler: »%s« ist kein gültiger Zeitablauf."
-#: src/nmcli/devices.c:5209
+#: src/nmcli/devices.c:5256
#, fuzzy
#| msgid "Error: Unexpected argument '%s'"
msgid "Error: Expected a command to run after '--'"
@@ -13858,7 +13968,7 @@ msgstr "verbunden (nur Gelände)"
msgid "disconnecting"
msgstr "wird getrennt"
-# Könnte auch Legitimierung sein. Der Kontext entscheidet. -ck
+# Könnte auch Legitimierung sein. Der kontext entscheidet. -ck
# Sieht entweder nach lausigen Englischkenntnissen oder nach einem irrtümlicherweise als übersetzbar markierten String aus.
#: src/nmcli/general.c:94
msgid "auth"
@@ -13878,6 +13988,7 @@ msgstr "gestartet"
#: src/nmcli/general.c:150 src/nmcli/general.c:161
#, fuzzy
+#| msgid "fw missing"
msgid "missing"
msgstr "fw fehlt"
@@ -13945,8 +14056,8 @@ msgstr ""
"Aufruf: nmcli general status { help }\n"
"\n"
"Zeigt den Gesamtstatus vom NetworkManager.\n"
-"»status« ist die Standardaktion, das heißt »nmcli gen« ruft »nmcli gen "
-"status« auf\n"
+"»status« ist die Standardaktion, das heißt »nmcli gen« ruft »nmcli gen status« "
+"auf\n"
"\n"
#: src/nmcli/general.c:325
@@ -13957,8 +14068,7 @@ msgid ""
"\n"
"Get or change persistent system hostname.\n"
"With no arguments, this prints currently configured hostname. When you pass\n"
-"a hostname, NetworkManager will set it as the new persistent system "
-"hostname.\n"
+"a hostname, NetworkManager will set it as the new persistent system hostname.\n"
"\n"
msgstr ""
"Aufruf: nmcli general hostname { PARAMETER | help }\n"
@@ -14015,15 +14125,14 @@ msgid ""
"identical to sending a SIGHUP.\n"
msgstr ""
-#: src/nmcli/general.c:378
+#: src/nmcli/general.c:379
msgid ""
"Usage: nmcli general logging { ARGUMENTS | help }\n"
"\n"
"ARGUMENTS := [level <log level>] [domains <log domains>]\n"
"\n"
"Get or change NetworkManager logging level and domains.\n"
-"Without any argument current logging level and domains are shown. In order "
-"to\n"
+"Without any argument current logging level and domains are shown. In order to\n"
"change logging state, provide level and/or domain. Please refer to the man "
"page\n"
"for the list of possible logging domains.\n"
@@ -14039,7 +14148,7 @@ msgstr ""
"geben Sie die Stufe und/oder die Domäne an. Auf der Handbuchseite\n"
"finden Sie eine Liste der möglichen Protokoll-Domänen.\n"
-#: src/nmcli/general.c:391
+#: src/nmcli/general.c:392
msgid ""
"Usage: nmcli networking { COMMAND | help }\n"
"\n"
@@ -14063,7 +14172,7 @@ msgstr ""
" connectivity [check]\n"
"\n"
-#: src/nmcli/general.c:401
+#: src/nmcli/general.c:402
msgid ""
"Usage: nmcli networking on { help }\n"
"\n"
@@ -14075,7 +14184,7 @@ msgstr ""
"Netzwerkverbindungen einschalten.\n"
"\n"
-#: src/nmcli/general.c:409
+#: src/nmcli/general.c:410
msgid ""
"Usage: nmcli networking off { help }\n"
"\n"
@@ -14087,15 +14196,14 @@ msgstr ""
"Netzwerkverbindungen ausschalten.\n"
"\n"
-#: src/nmcli/general.c:418
+#: src/nmcli/general.c:419
msgid ""
"Usage: nmcli networking connectivity { ARGUMENTS | help }\n"
"\n"
"ARGUMENTS := [check]\n"
"\n"
"Get network connectivity state.\n"
-"The optional 'check' argument makes NetworkManager re-check the "
-"connectivity.\n"
+"The optional 'check' argument makes NetworkManager re-check the connectivity.\n"
"\n"
msgstr ""
"Aufruf: nmcli networking connectivity { PARAMETER | help }\n"
@@ -14107,7 +14215,7 @@ msgstr ""
"Verbindungsstatus erneut.\n"
"\n"
-#: src/nmcli/general.c:429
+#: src/nmcli/general.c:430
msgid ""
"Usage: nmcli radio { COMMAND | help }\n"
"\n"
@@ -14123,7 +14231,7 @@ msgstr ""
" all | wifi | wwan [ on | off ]\n"
"\n"
-#: src/nmcli/general.c:437
+#: src/nmcli/general.c:438
msgid ""
"Usage: nmcli radio all { ARGUMENTS | help }\n"
"\n"
@@ -14139,7 +14247,7 @@ msgstr ""
"Ruft den Status aller Funkschalter ab oder schaltet diese an/aus.\n"
"\n"
-#: src/nmcli/general.c:447
+#: src/nmcli/general.c:448
msgid ""
"Usage: nmcli radio wifi { ARGUMENTS | help }\n"
"\n"
@@ -14155,7 +14263,7 @@ msgstr ""
"Ruft den Status des Wi-Fi-Funkschalters ab oder schaltet diesen an/aus.\n"
"\n"
-#: src/nmcli/general.c:457
+#: src/nmcli/general.c:458
msgid ""
"Usage: nmcli radio wwan { ARGUMENTS | help }\n"
"\n"
@@ -14172,7 +14280,7 @@ msgstr ""
"aus.\n"
"\n"
-#: src/nmcli/general.c:467
+#: src/nmcli/general.c:468
msgid ""
"Usage: nmcli monitor\n"
"\n"
@@ -14186,259 +14294,312 @@ msgstr ""
"Gibt eine Zeile aus, sobald es in NetworkManager eine Änderung gibt.\n"
"\n"
-#: src/nmcli/general.c:497
+#: src/nmcli/general.c:498
msgid "NetworkManager status"
msgstr "Status von NetworkManager"
-#: src/nmcli/general.c:502
+#: src/nmcli/general.c:503
#, c-format
msgid "Error: only these fields are allowed: %s"
msgstr "Fehler: Nur die folgenden Felder sind erlaubt: %s"
#. NetworkManager quit while we were waiting.
-#: src/nmcli/general.c:554 src/nmtui/nmtui.c:246
+#: src/nmcli/general.c:555 src/nmtui/nmtui.c:243
msgid "NetworkManager is not running."
msgstr "NetworkManager wird nicht ausgeführt."
-#: src/nmcli/general.c:576
+#: src/nmcli/general.c:577
msgid "NetworkManager permissions"
msgstr "Befugnisse von NetworkManager"
-#: src/nmcli/general.c:580
+#: src/nmcli/general.c:581
#, c-format
msgid "Error: 'general permissions': %s"
msgstr "Fehler: »general permissions«: %s"
-#: src/nmcli/general.c:627
+#: src/nmcli/general.c:628
#, fuzzy, c-format
+#| msgid "Error: failed to set logging: %s"
msgid "Error: failed to reload: %s"
msgstr "Fehler: Festlegen der Protokollierung ist fehlgeschlagen: %s"
-#: src/nmcli/general.c:668
+#: src/nmcli/general.c:669
#, fuzzy, c-format
+#| msgid "Error: invalid setting argument '%s'; valid are [%s]\n"
msgid "Error: invalid reload flag '%s'. Allowed flags are: %s"
msgstr "Fehler: Ungültiges Festlegen des Arguments »%s«. Gültig sind [%s]\n"
-#: src/nmcli/general.c:679
+#: src/nmcli/general.c:680
#, fuzzy, c-format
+#| msgid "Error: invalid extra argument '%s'."
msgid "Error: extra argument '%s'"
msgstr "Fehler: Ungültiger zusätzlicher Parameter »%s«."
-#: src/nmcli/general.c:730
+#: src/nmcli/general.c:731
msgid "NetworkManager logging"
msgstr "Protokollierung in NetworkManager"
-#: src/nmcli/general.c:734
+#: src/nmcli/general.c:735
#, c-format
msgid "Error: 'general logging': %s"
msgstr "Fehler: »general logging«: %s"
-#: src/nmcli/general.c:767
+#: src/nmcli/general.c:768
#, c-format
msgid "Error: failed to set logging: %s"
msgstr "Fehler: Festlegen der Protokollierung ist fehlgeschlagen: %s"
-#: src/nmcli/general.c:900
+#: src/nmcli/general.c:901
#, c-format
msgid "Error: failed to set hostname: %s"
msgstr "Fehler: Festlegen des Rechnernamens schlug fehl: %s"
-#: src/nmcli/general.c:961
+#: src/nmcli/general.c:962
#, c-format
msgid "Error: '--fields' value '%s' is not valid here (allowed field: %s)"
msgstr ""
-"Fehler: Der Wert »%s« für »--fields« ist hier nicht gültig (erlaubtes Feld: "
-"%s)"
+"Fehler: Der Wert »%s« für »--fields« ist hier nicht gültig (erlaubtes Feld: %s)"
-#: src/nmcli/general.c:988
+#: src/nmcli/general.c:989
#, c-format
msgid "Error: invalid '%s' argument: '%s' (use on/off)."
msgstr "Fehler: Ungültiger »%s«-Parameter: »%s« (verwenden Sie ein/aus)."
-#: src/nmcli/general.c:1014
+#: src/nmcli/general.c:1015
#, fuzzy, c-format
+#| msgid "Error: failed to set logging: %s"
msgid "Error: failed to set networking: %s"
msgstr "Fehler: Festlegen der Protokollierung ist fehlgeschlagen: %s"
#. no arguments -> get current state
-#: src/nmcli/general.c:1059 src/nmcli/general.c:1071
+#: src/nmcli/general.c:1060 src/nmcli/general.c:1072
msgid "Connectivity"
msgstr "Konnektivität"
-#: src/nmcli/general.c:1075
+#: src/nmcli/general.c:1076
#, c-format
msgid "Error: 'networking' command '%s' is not valid."
msgstr "Fehler: Der »networking«-Befehl »%s« ist ungültig."
-#: src/nmcli/general.c:1088
+#: src/nmcli/general.c:1089
msgid "Networking"
msgstr "Netzwerk"
#. no argument, show all radio switches
-#: src/nmcli/general.c:1116
+#: src/nmcli/general.c:1117
msgid "Radio switches"
msgstr "Funkschalter"
-#: src/nmcli/general.c:1142
+#: src/nmcli/general.c:1143
#, fuzzy, c-format
+#| msgid "Error: Failed to setup a Wi-Fi hotspot: %s"
msgid "Error: failed to set Wi-Fi radio: %s"
msgstr "Fehler: Einrichten eines WLAN-Zugangspunkts schlug fehl: %s"
#. no argument, show current Wi-Fi state
-#: src/nmcli/general.c:1160
+#: src/nmcli/general.c:1161
msgid "Wi-Fi radio switch"
msgstr "WLAN-Funkschalter"
#. no argument, show current WWAN (mobile broadband) state
-#: src/nmcli/general.c:1196
+#: src/nmcli/general.c:1197
msgid "WWAN radio switch"
msgstr "WWAN-Funkschalter"
-#: src/nmcli/general.c:1236
-msgid "NetworkManager has started"
-msgstr "NetworkManager wurde gestartet"
+#: src/nmcli/general.c:1237
+#, fuzzy
+#| msgid "NetworkManager is not running."
+msgid "NetworkManager is running"
+msgstr "NetworkManager wird nicht ausgeführt."
-#: src/nmcli/general.c:1236
-msgid "NetworkManager has stopped"
+#: src/nmcli/general.c:1237
+#, fuzzy
+#| msgid "NetworkManager has stopped"
+msgid "NetworkManager is stopped"
msgstr "NetworkManager wurde beendet"
-#: src/nmcli/general.c:1247
+#: src/nmcli/general.c:1248
#, c-format
msgid "Hostname set to '%s'\n"
msgstr "Rechnernamen auf »%s« festgelegt\n"
-#: src/nmcli/general.c:1262
+#: src/nmcli/general.c:1263
#, c-format
msgid "'%s' is now the primary connection\n"
msgstr "»%s« ist jetzt die primäre Verbindung\n"
-#: src/nmcli/general.c:1264
+#: src/nmcli/general.c:1265
msgid "There's no primary connection\n"
msgstr "Es gibt keine primäre Verbindung\n"
-#: src/nmcli/general.c:1277
+#: src/nmcli/general.c:1278
#, c-format
msgid "Connectivity is now '%s'\n"
msgstr "Verbindungszustand ist jetzt »%s«\n"
-#: src/nmcli/general.c:1292
+#: src/nmcli/general.c:1293
#, c-format
msgid "Networkmanager is now in the '%s' state\n"
msgstr "NetworkManager ist jetzt im Zustand »%s«\n"
-#: src/nmcli/general.c:1312
+#: src/nmcli/general.c:1314
msgid "connection available"
msgstr "Verbindung verfügbar"
-#: src/nmcli/general.c:1314
+#: src/nmcli/general.c:1316
msgid "connections available"
msgstr "Verfügbare Verbindungen"
-#: src/nmcli/general.c:1330
+#: src/nmcli/general.c:1332
msgid "autoconnect"
msgstr "automatisches Verbinden"
-#: src/nmcli/general.c:1333
+#: src/nmcli/general.c:1335
msgid "fw missing"
msgstr "fw fehlt"
-#: src/nmcli/general.c:1340
+#: src/nmcli/general.c:1342
msgid "plugin missing"
msgstr "Erweiterung fehlt"
-#: src/nmcli/general.c:1350 src/nmcli/general.c:1365
+#: src/nmcli/general.c:1352 src/nmcli/general.c:1367
#, fuzzy
+#| msgid "disabled"
msgid "sw disabled"
msgstr "deaktiviert"
-#: src/nmcli/general.c:1355 src/nmcli/general.c:1371
+#: src/nmcli/general.c:1357 src/nmcli/general.c:1373
#, fuzzy
+#| msgid "disabled"
msgid "hw disabled"
msgstr "deaktiviert"
-#: src/nmcli/general.c:1382
+#: src/nmcli/general.c:1385
msgid "sw"
msgstr "sw"
-#: src/nmcli/general.c:1384
+#: src/nmcli/general.c:1387
msgid "hw"
msgstr "hw"
-#: src/nmcli/general.c:1387
+#: src/nmcli/general.c:1389
+msgid "sriov"
+msgstr "sriov"
+
+#: src/nmcli/general.c:1392
msgid "iface"
msgstr "Schnittstelle"
-#: src/nmcli/general.c:1392
+#: src/nmcli/general.c:1397
msgid "port"
msgstr "Port"
-#: src/nmcli/general.c:1396
+#: src/nmcli/general.c:1401
msgid "mtu"
msgstr "mtu"
-#: src/nmcli/general.c:1416
+#: src/nmcli/general.c:1422
msgid "master"
msgstr "Master"
-#: src/nmcli/general.c:1420 src/nmtui/nm-editor-utils.c:247
-#: src/nmtui/nmt-connect-connection-list.c:391
+#: src/nmcli/general.c:1426 src/nmtui/nm-editor-utils.c:255
+#: src/nmtui/nmt-connect-connection-list.c:392
msgid "VPN"
msgstr "VPN"
-#: src/nmcli/general.c:1422
+#: src/nmcli/general.c:1428
msgid "ip4 default"
msgstr "ip4-Vorgabe"
-#: src/nmcli/general.c:1424
+#: src/nmcli/general.c:1430
msgid "ip6 default"
msgstr "ip6-Vorgabe"
-#: src/nmcli/general.c:1506
+#: src/nmcli/general.c:1513
#, c-format
msgid "%s VPN connection"
msgstr "%s VPN-Verbindung"
-#: src/nmcli/general.c:1527
+#: src/nmcli/general.c:1534
#, c-format
msgctxt "nmcli-overview"
msgid "%s: %s to %s"
msgstr ""
-#: src/nmcli/general.c:1536
+#: src/nmcli/general.c:1543
#, fuzzy, c-format
+#| msgid "Error: %s: %s."
msgctxt "nmcli-overview"
msgid "%s: %s"
msgstr "Fehler: %s: %s."
-#: src/nmcli/general.c:1586
+#: src/nmcli/general.c:1594
+#, fuzzy
+#| msgid ""
+#| "Use \"nmcli device show\" to get complete information about known devices "
+#| "and\n"
+#| "\"nmcli connection show\" to get an overview on active connection "
+#| "profiles.\n"
+#| "\n"
+#| "Consult nmcli(1) and nmcli-examples(5) manual pages for complete usage "
+#| "details.\n"
msgid ""
-"Use \"nmcli device show\" to get complete information about known devices "
-"and\n"
+"Use \"nmcli device show\" to get complete information about known devices and\n"
"\"nmcli connection show\" to get an overview on active connection profiles.\n"
"\n"
"Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage "
"details.\n"
msgstr ""
-"Rufen Sie »nmcli device show« auf, um vollständige Informationen über "
-"bekannte Geräte abzurufen\n"
+"Rufen Sie »nmcli device show« auf, um vollständige Informationen über bekannte "
+"Geräte abzurufen\n"
"und »nmcli connection show« für eine Übersicht über aktive "
"Verbindungsprofile.\n"
"\n"
"\n"
-"Die Hilfeseiten nmcli(1) und nmcli-examples(7) geben vollständige "
+"Die Hilfeseiten nmcli(1) und nmcli-examples(5) geben vollständige "
"Aufrufbeschreibungen.\n"
-#: src/nmcli/general.c:1603
+#: src/nmcli/general.c:1611
#, c-format
msgid "Error: 'monitor' command '%s' is not valid."
msgstr "Fehler: »monitor«-Befehl »%s« ist ungültig."
-#: src/nmcli/general.c:1617
-msgid "Networkmanager is not running (waiting for it)\n"
-msgstr "NetworkManager wird nicht ausgeführt (es wird gewartet)\n"
-
#: src/nmcli/nmcli.c:243
#, fuzzy
+#| msgid ""
+#| "Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }\n"
+#| "\n"
+#| "OPTIONS\n"
+#| " -o[verview] overview mode (hide "
+#| "default values)\n"
+#| " -t[erse] terse output\n"
+#| " -p[retty] pretty output\n"
+#| " -m[ode] tabular|multiline output mode\n"
+#| " -c[olors] auto|yes|no whether to use colors in "
+#| "output\n"
+#| " -f[ields] <field1,field2,...>|all|common specify fields to output\n"
+#| " -g[et-values] <field1,field2,...>|all|common shortcut for -m tabular -t "
+#| "-f\n"
+#| " -e[scape] yes|no escape columns separators "
+#| "in values\n"
+#| " -a[sk] ask for missing "
+#| "parameters\n"
+#| " -s[how-secrets] allow displaying "
+#| "passwords\n"
+#| " -w[ait] <seconds> set timeout waiting for "
+#| "finishing operations\n"
+#| " -v[ersion] show program version\n"
+#| " -h[elp] print this help\n"
+#| "\n"
+#| "OBJECT\n"
+#| " g[eneral] NetworkManager's general status and operations\n"
+#| " n[etworking] overall networking control\n"
+#| " r[adio] NetworkManager radio switches\n"
+#| " c[onnection] NetworkManager's connections\n"
+#| " d[evice] devices managed by NetworkManager\n"
+#| " a[gent] NetworkManager secret agent or polkit agent\n"
+#| " m[onitor] monitor NetworkManager changes\n"
+#| "\n"
msgid ""
"Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }\n"
"\n"
@@ -14472,19 +14633,18 @@ msgstr ""
"Aufruf: nmcli [OPTIONEN] OBJEKT { BEFEHL | help }\n"
"\n"
"OPTIONEN\n"
-" -o[verview] Eine Übersicht "
-"(Vorgabewerte werden verborgen)\n"
+" -o[verview] Eine Übersicht (Vorgabewerte "
+"werden verborgen)\n"
" -t[erse] Kurze Ausgabe\n"
" -p[retty] Hübsche Ausgabe\n"
" -m[ode] tabular|multiline Ausgabemodus\n"
" -c[olors] auto|yes|no Farbausgabe\n"
" -f[ields] <Feld1,Feld2, …>|all|common Ausgabefelder angeben\n"
-" -g[et-values] <field1,field2,...>|all|common Kurzversion von »-m tabular "
-"-t -f«\n"
+" -g[et-values] <field1,field2,...>|all|common Kurzversion von »-m tabular -"
+"t -f«\n"
" -e[scape] yes|no Escape-Spaltenseparator in "
"Werten\n"
-" -a[sk] Nach fehlenden Parametern "
-"fragen\n"
+" -a[sk] Nach fehlenden Parametern fragen\n"
" -s[how-secrets] Passwörter anzeigen\n"
" -w[ait] <Sekunden> Zeitablauf beim Warten auf "
"Abschluss des Vorgangs festlegen\n"
@@ -14506,77 +14666,78 @@ msgstr ""
msgid "Error: missing argument for '%s' option."
msgstr "Fehler: Fehlendes Argument für die Option »%s«."
-#: src/nmcli/nmcli.c:630
+#: src/nmcli/nmcli.c:632
#, c-format
msgid "Unexpected end of file following '%s'\n"
msgstr "Unerwartetes Zeilenende nach »%s«\n"
-#: src/nmcli/nmcli.c:637
+#: src/nmcli/nmcli.c:639
#, c-format
msgid "Expected whitespace following '%s'\n"
msgstr "Es wurde ein geschütztes Leerzeichen nach »%s« erwartet\n"
-#: src/nmcli/nmcli.c:648
+#: src/nmcli/nmcli.c:650
#, c-format
msgid "Expected a value for '%s'\n"
msgstr "Ein Wert wurde für »%s« erwartet\n"
-#: src/nmcli/nmcli.c:664
+#: src/nmcli/nmcli.c:666
#, c-format
msgid "Expected a line break following '%s'\n"
msgstr "Es wurde ein Zeilenumbruch nach »%s« erwartet\n"
-#: src/nmcli/nmcli.c:792
+#: src/nmcli/nmcli.c:794
msgid "Error: Option '--terse' is specified the second time."
msgstr "Fehler: Option »--terse« wurde zweimal gesetzt."
-#: src/nmcli/nmcli.c:798
+#: src/nmcli/nmcli.c:800
msgid "Error: Option '--terse' is mutually exclusive with '--pretty'."
msgstr "Fehler: Option »--terse« schließt »--pretty« aus."
-#: src/nmcli/nmcli.c:806
+#: src/nmcli/nmcli.c:808
msgid "Error: Option '--pretty' is specified the second time."
msgstr "Fehler: Option »--pretty« wurde zweimal gesetzt."
-#: src/nmcli/nmcli.c:812
+#: src/nmcli/nmcli.c:814
msgid "Error: Option '--pretty' is mutually exclusive with '--terse'."
msgstr "Fehler: Option »--pretty« schließt »--terse« aus."
-#: src/nmcli/nmcli.c:827
+#: src/nmcli/nmcli.c:829
#, c-format
msgid "Error: '%s' is not a valid argument for '%s' option."
msgstr "Fehler: »%s« ist kein gültiges Argument für die Option »%s«."
-#: src/nmcli/nmcli.c:844 src/nmcli/nmcli.c:859
+#: src/nmcli/nmcli.c:846 src/nmcli/nmcli.c:861
#, c-format
msgid "Error: '%s' is not valid argument for '%s' option."
msgstr "Fehler: »%s« ist kein gültiges Argument für die Option »%s«."
-#: src/nmcli/nmcli.c:892
+#: src/nmcli/nmcli.c:894
#, c-format
msgid "nmcli tool, version %s\n"
msgstr "nmcli-Werkzeug, Version %s\n"
-#: src/nmcli/nmcli.c:901
+#: src/nmcli/nmcli.c:903
#, c-format
msgid "Error: Option '%s' is unknown, try 'nmcli -help'."
msgstr "Fehler: Option »%s« ist unbekannt, versuchen Sie »nmcli -help«."
-#: src/nmcli/nmcli.c:959 src/nmcli/nmcli.c:968
+#: src/nmcli/nmcli.c:961 src/nmcli/nmcli.c:970
#, c-format
msgid "Error: nmcli terminated by signal %s (%d)"
msgstr "Fehler: nmcli wurde mit Signal %s (%d) beendet"
-#: src/nmcli/nmcli.c:1035
+#: src/nmcli/nmcli.c:1037
msgid "Success"
msgstr "Erfolg"
-#: src/nmcli/polkit-agent.c:39
+#: src/nmcli/polkit-agent.c:40
#, fuzzy, c-format
+#| msgid "Error: polkit agent initialization failed: %s"
msgid "Error: polkit agent failed: %s\n"
msgstr "Fehler: Initialisierung des Passwort-Agenten fehlgeschlagen: %s"
-#: src/nmcli/polkit-agent.c:92
+#: src/nmcli/polkit-agent.c:93
#, c-format
msgid "Warning: polkit agent initialization failed: %s\n"
msgstr "Warnung: Initialisierung des polkit-Agenten ist fehlgeschlagen: %s\n"
@@ -14610,44 +14771,45 @@ msgstr ""
msgid "Do you want to remove them? [yes] "
msgstr "Möchten Sie diese entfernen? [ja] "
-#: src/nmcli/settings.c:376
+#: src/nmcli/settings.c:379
#, c-format
msgid "Warning: %s is not an UUID of any existing connection profile\n"
msgstr "Warnung: %s ist keine UUID eines vorhandenen Verbindungsprofils.\n"
-#: src/nmcli/settings.c:381 src/nmcli/settings.c:394
+#: src/nmcli/settings.c:384 src/nmcli/settings.c:397
#, c-format
msgid "'%s' is not a VPN connection profile"
msgstr "»%s« ist kein Name eines VPN-Verbindungsprofils"
-#: src/nmcli/settings.c:388
-#, c-format
-msgid "'%s' is not a name of any exiting profile"
+#: src/nmcli/settings.c:391
+#, fuzzy, c-format
+#| msgid "'%s' is not a name of any exiting profile"
+msgid "'%s' is not a name of any existing profile"
msgstr "»%s« ist kein Name eines bestehenden Profils"
-#: src/nmcli/settings.c:434
+#: src/nmcli/settings.c:437
#, c-format
msgid "Warning: %s\n"
msgstr "Warnung: %s\n"
-#: src/nmcli/settings.c:437
+#: src/nmcli/settings.c:440
#, c-format
msgid "Info: %s\n"
msgstr "Information: %s\n"
-#: src/nmcli/settings.c:535
+#: src/nmcli/settings.c:549
msgid "don't know how to get the property value"
msgstr "Unbekannt, wie der Eigenschaftswert ermittelt wird"
-#: src/nmcli/settings.c:628
+#: src/nmcli/settings.c:642
msgid "the property can't be changed"
msgstr "Die Einstellung konnte nicht geändert werden"
-#: src/nmcli/settings.c:706
+#: src/nmcli/settings.c:720
msgid "[NM property description]"
msgstr "[NM Eigenschaft-Beschreibung]"
-#: src/nmcli/settings.c:716
+#: src/nmcli/settings.c:730
msgid "[nmcli specific description]"
msgstr "[nmcli-spezifische Beschreibung]"
@@ -14675,41 +14837,38 @@ msgstr "Ungültiges Feld »%s%s%s«; erlaubte Felder: [%s]"
msgid "failure to select field"
msgstr "Wählen des Feldes ist fehlgeschlagen"
-#: src/nmcli/utils.c:1432
-#, c-format
-msgid "Error reading nmcli output: %s\n"
-msgstr "Fehler beim Lesen der nmcli-Ausgabe: %s\n"
-
-#: src/nmcli/utils.c:1437
-#, c-format
-msgid "Error writing nmcli output: %s\n"
-msgstr "Fehler beim Schreiben der nmcli-Ausgabe: %s\n"
-
-#: src/nmcli/utils.c:1460
+#: src/nmcli/utils.c:1461
#, c-format
msgid "Failed to create pager pipe: %s\n"
msgstr "Pager-Weiterleitung konnte nicht erstellt werden: %s\n"
-#: src/nmcli/utils.c:1469
+#: src/nmcli/utils.c:1475
#, c-format
msgid "Failed to fork pager: %s\n"
msgstr "Pager konnte nicht geforkt werden: %s\n"
-#: src/nmcli/utils.c:1516 src/nmcli/utils.c:1520
+#: src/nmcli/utils.c:1519 src/nmcli/utils.c:1523
#, c-format
msgid "Failed to duplicate pager pipe: %s\n"
msgstr "Die Duplizierung der Pager-Weiterleitung scheiterte: %s\n"
-#: src/nmcli/utils.h:307
+#: src/nmcli/utils.c:1838
+#, c-format
+msgid ""
+"Warning: nmcli (%s) and NetworkManager (%s) versions don't match. Restarting "
+"NetworkManager is advised.\n"
+msgstr ""
+
+#: src/nmcli/utils.h:310
msgid "(unknown)"
msgstr "(unbekannt)"
-#: src/nmcli/utils.h:347
+#: src/nmcli/utils.h:350
#, c-format
msgid "%lld (%s)"
msgstr "%lld (%s)"
-#: src/nmcli/utils.h:354
+#: src/nmcli/utils.h:357
#, c-format
msgid "%lld - %s"
msgstr "%lld - %s"
@@ -14721,6 +14880,7 @@ msgstr "Ethernet-Verbindung %d"
#: src/nmtui/nm-editor-utils.c:156
#, fuzzy, c-format
+#| msgid "VPN connection %d"
msgid "Veth connection %d"
msgstr "VPN-Verbindung %d"
@@ -14777,17 +14937,137 @@ msgstr "IP-Tunnel"
msgid "IP tunnel connection %d"
msgstr "IP-Tunnel-Verbindung %d"
-#: src/nmtui/nm-editor-utils.c:250
+#: src/nmtui/nm-editor-utils.c:243
+#, fuzzy, c-format
+#| msgid "MACsec connection"
+msgid "MACsec connection %d"
+msgstr "MACsec-Verbindung"
+
+#: src/nmtui/nm-editor-utils.c:258
#, c-format
msgid "VPN connection %d"
msgstr "VPN-Verbindung %d"
-#: src/nmtui/nm-editor-utils.c:267
+#: src/nmtui/nm-editor-utils.c:275
#, fuzzy, c-format
+#| msgid "Wired connection %d"
msgid "WireGuard connection %d"
msgstr "Kabelgebundene Verbindung %d"
-#: src/nmtui/nmt-device-entry.c:348
+#: src/nmtui/nmt-8021x-fields.c:212 src/nmtui/nmt-8021x-fields.c:397
+msgid "Domain"
+msgstr "Domäne"
+
+#: src/nmtui/nmt-8021x-fields.c:220 src/nmtui/nmt-8021x-fields.c:309
+#: src/nmtui/nmt-8021x-fields.c:405
+msgid "CA cert"
+msgstr "Zertifizierungsstellen-Zertifikat"
+
+#: src/nmtui/nmt-8021x-fields.c:240 src/nmtui/nmt-8021x-fields.c:329
+#: src/nmtui/nmt-8021x-fields.c:425
+#, fuzzy
+#| msgid "Certificate password"
+msgid "CA cert password"
+msgstr "Passwort für Zertifikat"
+
+#: src/nmtui/nmt-8021x-fields.c:243
+#, fuzzy
+#| msgid "User settings"
+msgid "User cert"
+msgstr "Benutzereinstellungen"
+
+#: src/nmtui/nmt-8021x-fields.c:263
+#, fuzzy
+#| msgid "Certificate password"
+msgid "User cert password"
+msgstr "Passwort für Zertifikat"
+
+#: src/nmtui/nmt-8021x-fields.c:266
+#, fuzzy
+#| msgid "invalid private key"
+msgid "User private key"
+msgstr "Ungültiger privater Schlüssel"
+
+#: src/nmtui/nmt-8021x-fields.c:284
+#, fuzzy
+#| msgid "Private key password"
+msgid "User privkey password"
+msgstr "Passwort für geheimen Schlüssel"
+
+#: src/nmtui/nmt-8021x-fields.c:291 src/nmtui/nmt-page-ppp.c:141
+msgid "PAP"
+msgstr "PAP"
+
+#: src/nmtui/nmt-8021x-fields.c:292 src/nmtui/nmt-page-ppp.c:168
+msgid "MSCHAP"
+msgstr "MSCHAP"
+
+#: src/nmtui/nmt-8021x-fields.c:293 src/nmtui/nmt-8021x-fields.c:384
+#: src/nmtui/nmt-page-ppp.c:159
+msgid "MSCHAPv2"
+msgstr "MSCHAPv2"
+
+#: src/nmtui/nmt-8021x-fields.c:294
+msgid "MSCHAPv2 (no EAP)"
+msgstr "MSCHAPv2 (kein EAP)"
+
+#: src/nmtui/nmt-8021x-fields.c:295 src/nmtui/nmt-page-ppp.c:150
+msgid "CHAP"
+msgstr "CHAP"
+
+#: src/nmtui/nmt-8021x-fields.c:296 src/nmtui/nmt-8021x-fields.c:385
+#: src/nmtui/nmt-8021x-fields.c:489
+msgid "MD5"
+msgstr "MD5"
+
+#: src/nmtui/nmt-8021x-fields.c:297 src/nmtui/nmt-8021x-fields.c:386
+msgid "GTC"
+msgstr "GTC"
+
+#: src/nmtui/nmt-8021x-fields.c:301 src/nmtui/nmt-8021x-fields.c:390
+msgid "Anonymous identity"
+msgstr "Anonyme Identität"
+
+#: src/nmtui/nmt-8021x-fields.c:345 src/nmtui/nmt-8021x-fields.c:449
+#, fuzzy
+#| msgid "DSL authentication"
+msgid "Inner authentication"
+msgstr "DSL-Legitimierung"
+
+#: src/nmtui/nmt-8021x-fields.c:380 src/nmtui/nmt-page-ip4.c:28
+#: src/nmtui/nmt-page-ip6.c:28
+msgid "Automatic"
+msgstr "Automatisch"
+
+#: src/nmtui/nmt-8021x-fields.c:381
+msgid "Version 0"
+msgstr "Version 0"
+
+#: src/nmtui/nmt-8021x-fields.c:382
+msgid "Version 1"
+msgstr "Version 1"
+
+#: src/nmtui/nmt-8021x-fields.c:433
+msgid "PEAP version"
+msgstr "PEAP-Version"
+
+#: src/nmtui/nmt-8021x-fields.c:495
+msgid "PWD"
+msgstr "PWD"
+
+#: src/nmtui/nmt-8021x-fields.c:500
+msgid "TLS"
+msgstr "TLS"
+
+#: src/nmtui/nmt-8021x-fields.c:505
+msgid "TTLS"
+msgstr "TTLS"
+
+#: src/nmtui/nmt-8021x-fields.c:511
+msgid "PEAP"
+msgstr "PEAP"
+
+#: src/nmtui/nmt-device-entry.c:350
msgid "Select..."
msgstr "Auswählen …"
@@ -14803,7 +15083,7 @@ msgid "Edit..."
msgstr "Bearbeiten …"
#: src/nmtui/nmt-edit-connection-list.c:107
-#: src/nmtui/nmt-wireguard-peer-list.c:132 src/nmtui/nmtui-edit.c:518
+#: src/nmtui/nmt-wireguard-peer-list.c:132 src/nmtui/nmtui-edit.c:511
msgid "Delete"
msgstr "Löschen"
@@ -14815,54 +15095,54 @@ msgstr "Verbergen"
msgid "Show"
msgstr "Anzeigen"
-#: src/nmtui/nmt-editor.c:90
+#: src/nmtui/nmt-editor.c:91
#, c-format
msgid "Could not create editor for connection '%s' of type '%s'."
msgstr "Editor für Verbindung »%s« vom Typ »%s« konnte nicht erstellt werden."
-#: src/nmtui/nmt-editor.c:94
+#: src/nmtui/nmt-editor.c:95
#, c-format
msgid "Could not create editor for invalid connection '%s'."
msgstr "Editor für ungültige Verbindung »%s« konnte nicht erstellt werden."
-#: src/nmtui/nmt-editor.c:107
+#: src/nmtui/nmt-editor.c:108
msgid "Edit Connection"
msgstr "Verbindung bearbeiten"
-#: src/nmtui/nmt-editor.c:165
+#: src/nmtui/nmt-editor.c:166
#, c-format
msgid "Unable to save connection: %s"
msgstr "Verbindung kann nicht gespeichert werden: %s"
-#: src/nmtui/nmt-editor.c:182
+#: src/nmtui/nmt-editor.c:183
#, c-format
msgid "Unable to add new connection: %s"
msgstr "Neue Verbindung kann nicht hinzugefügt werden: %s"
-#: src/nmtui/nmt-editor.c:331
+#: src/nmtui/nmt-editor.c:332
msgid "Profile name"
msgstr "Profilname"
-#: src/nmtui/nmt-editor.c:342
+#: src/nmtui/nmt-editor.c:343
msgid "Ethernet device"
msgstr "Ethernet-Gerät"
-#: src/nmtui/nmt-editor.c:344
+#: src/nmtui/nmt-editor.c:345
msgid "Device"
msgstr "Gerät"
#. And finally the bottom widgets
-#: src/nmtui/nmt-editor.c:410
+#: src/nmtui/nmt-editor.c:413
msgid "Automatically connect"
msgstr "Automatisch verbinden"
-#: src/nmtui/nmt-editor.c:418
+#: src/nmtui/nmt-editor.c:421
msgid "Available to all users"
msgstr "Für alle Benutzer verfügbar"
-#: src/nmtui/nmt-editor.c:436 src/nmtui/nmt-password-dialog.c:162
+#: src/nmtui/nmt-editor.c:439 src/nmtui/nmt-password-dialog.c:160
#: src/nmtui/nmt-route-editor.c:97 src/nmtui/nmt-wireguard-peer-editor.c:146
-#: src/nmtui/nmtui-edit.c:206 src/nmtui/nmtui-edit.c:517
+#: src/nmtui/nmtui-edit.c:199 src/nmtui/nmtui-edit.c:510
#: src/nmtui/nmtui-hostname.c:51
msgid "Cancel"
msgstr "Abbrechen"
@@ -14878,7 +15158,7 @@ msgstr "Byte"
#: src/nmtui/nmt-page-bond-port.c:42
#, fuzzy
msgid "BOND PORT"
-msgstr "Bridge-Port"
+msgstr "Port:"
#: src/nmtui/nmt-page-bond.c:82
msgid "Round-robin"
@@ -14927,7 +15207,7 @@ msgid "Slaves"
msgstr "Slaves"
#: src/nmtui/nmt-page-bond.c:356 src/nmtui/nmt-page-ip-tunnel.c:128
-#: src/nmtui/nmt-page-wifi.c:208
+#: src/nmtui/nmt-page-macsec.c:113 src/nmtui/nmt-page-wifi.c:224
msgid "Mode"
msgstr "Modus"
@@ -14961,8 +15241,8 @@ msgstr "Verzögerung bei der Deaktivierung einer Verbindung"
msgid "ARP targets"
msgstr "ARP-Ziele"
-#: src/nmtui/nmt-page-bond.c:404 src/nmtui/nmt-page-ethernet.c:64
-#: src/nmtui/nmt-page-vlan.c:92 src/nmtui/nmt-page-wifi.c:372
+#: src/nmtui/nmt-page-bond.c:404 src/nmtui/nmt-page-ethernet.c:116
+#: src/nmtui/nmt-page-vlan.c:92 src/nmtui/nmt-page-wifi.c:387
msgid "Cloned MAC address"
msgstr "Geklonte MAC-Adresse"
@@ -14999,10 +15279,19 @@ msgstr "Alterungszeit"
msgid "Enable STP (Spanning Tree Protocol)"
msgstr "STP aktivieren (Spanning Tree Protocol)"
-#: src/nmtui/nmt-page-ethernet.c:55
+#: src/nmtui/nmt-page-ethernet.c:107
msgid "ETHERNET"
msgstr "ETHERNET"
+#. 802.1X security
+#: src/nmtui/nmt-page-ethernet.c:129
+msgid "802.1X SECURITY"
+msgstr "802.1x-Sicherheit"
+
+#: src/nmtui/nmt-page-ethernet.c:131
+msgid "Enable 802.1X security"
+msgstr "802.1x-Sicherheit einschalten"
+
#: src/nmtui/nmt-page-infiniband.c:35
msgid "Datagram"
msgstr "Datagramm"
@@ -15077,13 +15366,12 @@ msgid "Output key"
msgstr "Ausgabeschlüssel"
#: src/nmtui/nmt-page-ip4.c:27 src/nmtui/nmt-page-ip6.c:32
+#: src/nmtui/nmt-page-macsec.c:69 src/nmtui/nmtui-radio.c:68
+#: src/nmtui/nmtui-radio.c:77 src/nmtui/nmtui-radio.c:96
+#: src/nmtui/nmtui-radio.c:105
msgid "Disabled"
msgstr "Deaktiviert"
-#: src/nmtui/nmt-page-ip4.c:28 src/nmtui/nmt-page-ip6.c:28
-msgid "Automatic"
-msgstr "Automatisch"
-
#: src/nmtui/nmt-page-ip4.c:29 src/nmtui/nmt-page-ip6.c:30
msgid "Link-Local"
msgstr "Link-Local"
@@ -15115,6 +15403,10 @@ msgstr "IPv4-Konfiguration"
msgid "Addresses"
msgstr "Adressen"
+#: src/nmtui/nmt-page-ip4.c:132 src/nmtui/nmt-page-ip6.c:133
+msgid "Gateway"
+msgstr "Gateway"
+
#: src/nmtui/nmt-page-ip4.c:141 src/nmtui/nmt-page-ip6.c:142
msgid "DNS servers"
msgstr "DNS-Server"
@@ -15159,33 +15451,57 @@ msgstr "IPv6-Konfiguration"
msgid "Require IPv6 addressing for this connection"
msgstr "Eine IPv6-Adressierung für diese Verbindung verlangen"
-#: src/nmtui/nmt-page-ppp.c:116
-msgid "PPP CONFIGURATION"
-msgstr "PPP-KONFIGURATION"
-
-#: src/nmtui/nmt-page-ppp.c:125
-msgid "Allowed authentication methods:"
-msgstr "Zulässige Legitimierungsmethoden:"
+#: src/nmtui/nmt-page-macsec.c:67
+msgid "PSK"
+msgstr "PSK"
-#: src/nmtui/nmt-page-ppp.c:132
+#: src/nmtui/nmt-page-macsec.c:67 src/nmtui/nmt-page-ppp.c:132
msgid "EAP"
msgstr "EAP"
-#: src/nmtui/nmt-page-ppp.c:141
-msgid "PAP"
-msgstr "PAP"
+#: src/nmtui/nmt-page-macsec.c:70
+msgid "Check"
+msgstr "Prüfen"
-#: src/nmtui/nmt-page-ppp.c:150
-msgid "CHAP"
-msgstr "CHAP"
+#: src/nmtui/nmt-page-macsec.c:71
+msgid "Strict"
+msgstr "Streng"
-#: src/nmtui/nmt-page-ppp.c:159
-msgid "MSCHAPv2"
-msgstr "MSCHAPv2"
+#: src/nmtui/nmt-page-macsec.c:102
+#, fuzzy
+#| msgid "PPPoE parent device"
+msgid "Parent device"
+msgstr "Übergeordnetes PPPoE-Gerät"
-#: src/nmtui/nmt-page-ppp.c:168
-msgid "MSCHAP"
-msgstr "MSCHAP"
+#: src/nmtui/nmt-page-macsec.c:129
+#, fuzzy
+#| msgid "MKA CAK"
+msgid "CAK"
+msgstr "MKA CAK"
+
+#: src/nmtui/nmt-page-macsec.c:132
+#, fuzzy
+#| msgid "MKA_CKN"
+msgid "CKN"
+msgstr "MKA_CKN"
+
+#: src/nmtui/nmt-page-macsec.c:162
+#, fuzzy
+#| msgid "invalid action: "
+msgid "Validation"
+msgstr "Ungültige Aktion: "
+
+#: src/nmtui/nmt-page-macsec.c:177
+msgid "Encrypt traffic"
+msgstr "Datenverkehr verschlüsseln"
+
+#: src/nmtui/nmt-page-ppp.c:116
+msgid "PPP CONFIGURATION"
+msgstr "PPP-KONFIGURATION"
+
+#: src/nmtui/nmt-page-ppp.c:125
+msgid "Allowed authentication methods:"
+msgstr "Zulässige Legitimierungsmethoden:"
#: src/nmtui/nmt-page-ppp.c:185
msgid "Use point-to-point encryption (MPPE)"
@@ -15231,139 +15547,133 @@ msgstr "Bündelung"
msgid "VLAN id"
msgstr "VLAN Kennung"
-#: src/nmtui/nmt-page-wifi.c:49
+#: src/nmtui/nmt-page-wifi.c:51
msgctxt "Wi-Fi"
msgid "Client"
msgstr "Client"
-#: src/nmtui/nmt-page-wifi.c:50
+#: src/nmtui/nmt-page-wifi.c:52
msgid "Access Point"
msgstr "Zugriffspunkt"
-#: src/nmtui/nmt-page-wifi.c:51
+#: src/nmtui/nmt-page-wifi.c:53
msgid "Ad-Hoc Network"
msgstr "Ad-Hoc Netzwerk"
-#: src/nmtui/nmt-page-wifi.c:54
+#: src/nmtui/nmt-page-wifi.c:56
msgctxt "Wi-Fi"
msgid "Automatic"
msgstr "Automatisch"
#. 802.11a Wi-Fi network
-#: src/nmtui/nmt-page-wifi.c:56
+#: src/nmtui/nmt-page-wifi.c:58
msgid "A (5 GHz)"
msgstr "A (5 GHz)"
#. 802.11b / 802.11g Wi-Fi network
-#: src/nmtui/nmt-page-wifi.c:58
+#: src/nmtui/nmt-page-wifi.c:60
msgid "B/G (2.4 GHz)"
msgstr "B/G (2.4 GHz)"
-#: src/nmtui/nmt-page-wifi.c:61
+#: src/nmtui/nmt-page-wifi.c:67
msgctxt "Wi-Fi security"
msgid "None"
msgstr "Keine"
-#: src/nmtui/nmt-page-wifi.c:62
+#: src/nmtui/nmt-page-wifi.c:68
msgid "WPA & WPA2 Personal"
msgstr "WPA & WPA2 Persönlich"
-#: src/nmtui/nmt-page-wifi.c:63
+#: src/nmtui/nmt-page-wifi.c:69
#, fuzzy
msgid "WPA3 Personal"
-msgstr "WPA & WPA2 Persönlich"
+msgstr "WPA3 Personal"
-#: src/nmtui/nmt-page-wifi.c:64
+#: src/nmtui/nmt-page-wifi.c:70
msgid "WPA & WPA2 Enterprise"
msgstr "WPA & WPA2 Unternehmen"
-#: src/nmtui/nmt-page-wifi.c:65
+#: src/nmtui/nmt-page-wifi.c:71
+msgid "LEAP"
+msgstr "LEAP"
+
+#: src/nmtui/nmt-page-wifi.c:72
+msgid "Enhanced Open (OWE)"
+msgstr ""
+
+#: src/nmtui/nmt-page-wifi.c:73
msgid "WEP 40/128-bit Key (Hex or ASCII)"
msgstr "WEP 40/128-Bit-Schlüssel (Hexadezimal oder ASCII-Zeichen)"
-#: src/nmtui/nmt-page-wifi.c:66
+#: src/nmtui/nmt-page-wifi.c:74
msgid "WEP 128-bit Passphrase"
msgstr "WEP 128 Bit Passphrase"
-#: src/nmtui/nmt-page-wifi.c:67
+#: src/nmtui/nmt-page-wifi.c:75
msgid "Dynamic WEP (802.1x)"
msgstr "Dynamisches WEP (802.1x)"
-#: src/nmtui/nmt-page-wifi.c:68
-msgid "LEAP"
-msgstr "LEAP"
-
-#: src/nmtui/nmt-page-wifi.c:69
-msgid "Enhanced Open (OWE)"
-msgstr ""
-
-#: src/nmtui/nmt-page-wifi.c:72
+#: src/nmtui/nmt-page-wifi.c:80
msgctxt "WEP key index"
msgid "1 (Default)"
msgstr "1 (Vorgabe)"
-#: src/nmtui/nmt-page-wifi.c:73
+#: src/nmtui/nmt-page-wifi.c:81
msgctxt "WEP key index"
msgid "2"
msgstr "2"
-#: src/nmtui/nmt-page-wifi.c:74
+#: src/nmtui/nmt-page-wifi.c:82
msgctxt "WEP key index"
msgid "3"
msgstr "3"
-#: src/nmtui/nmt-page-wifi.c:75
+#: src/nmtui/nmt-page-wifi.c:83
msgctxt "WEP key index"
msgid "4"
msgstr "4"
-#: src/nmtui/nmt-page-wifi.c:78
+#: src/nmtui/nmt-page-wifi.c:86
msgid "Open System"
msgstr "Offenes System"
-#: src/nmtui/nmt-page-wifi.c:79
+#: src/nmtui/nmt-page-wifi.c:87
msgid "Shared Key"
msgstr "Gemeinsamer Schlüssel"
-#: src/nmtui/nmt-page-wifi.c:187
+#: src/nmtui/nmt-page-wifi.c:203
msgid "WI-FI"
msgstr "WLAN"
-#: src/nmtui/nmt-page-wifi.c:248
+#: src/nmtui/nmt-page-wifi.c:264
msgid "Channel"
msgstr "Kanal"
-#. "wpa-enterprise"
-#. FIXME
-#: src/nmtui/nmt-page-wifi.c:277
-msgid "(No support for wpa-enterprise yet...)"
-msgstr "(WPA-Unternehmen wird derzeit noch nicht unterstützt …)"
-
-#: src/nmtui/nmt-page-wifi.c:287 src/nmtui/nmt-page-wifi.c:308
+#: src/nmtui/nmt-page-wifi.c:301 src/nmtui/nmt-page-wifi.c:322
msgid "WEP index"
msgstr "WEP-Index"
-#: src/nmtui/nmt-page-wifi.c:297 src/nmtui/nmt-page-wifi.c:318
+#: src/nmtui/nmt-page-wifi.c:311 src/nmtui/nmt-page-wifi.c:332
msgid "Authentication"
msgstr "Legitimierung"
#. "dynamic-wep"
#. FIXME
-#: src/nmtui/nmt-page-wifi.c:324
+#: src/nmtui/nmt-page-wifi.c:338
msgid "(No support for dynamic-wep yet...)"
msgstr "(Dynamisches WEP wird derzeit noch nicht unterstützt …)"
-#: src/nmtui/nmt-page-wifi.c:364
+#: src/nmtui/nmt-page-wifi.c:379
msgid "BSSID"
msgstr "BSSID"
#: src/nmtui/nmt-page-wireguard.c:61
-#, fuzzy
msgid "Private key"
-msgstr "Passwort für geheimen Schlüssel"
+msgstr "Geheimer Schlüssel"
#: src/nmtui/nmt-page-wireguard.c:69
#, fuzzy
+#| msgid "Bridge port"
msgid "Listen port"
msgstr "Bridge-Port"
@@ -15379,14 +15689,28 @@ msgstr ""
msgid "Peers"
msgstr ""
-#: src/nmtui/nmt-password-fields.c:108
-msgid "Ask for this password every time"
+#: src/nmtui/nmt-password-fields.c:136
+msgid "Store password for all users"
+msgstr ""
+
+#: src/nmtui/nmt-password-fields.c:137
+msgid "Store password only for this user"
+msgstr ""
+
+#: src/nmtui/nmt-password-fields.c:138
+#, fuzzy
+#| msgid "Ask for this password every time"
+msgid "Ask password every time"
msgstr "Nach diesem Passwort jedes Mal fragen"
-#: src/nmtui/nmt-password-fields.c:109
+#: src/nmtui/nmt-password-fields.c:144
msgid "Show password"
msgstr "Passwort zeigen"
+#: src/nmtui/nmt-port-list.c:127
+msgid "Select the type of slave connection you wish to add."
+msgstr "Wählen Sie die Art der Slave-Verbindung, die Sie hinzufügen möchten."
+
#: src/nmtui/nmt-route-table.c:169
msgid "Destination"
msgstr "Ziel"
@@ -15407,10 +15731,6 @@ msgstr "Metrik"
msgid "No custom routes are defined."
msgstr "Es sind keine eigenen Routen festgelegt."
-#: src/nmtui/nmt-port-list.c:126
-msgid "Select the type of slave connection you wish to add."
-msgstr "Wählen Sie die Art der Slave-Verbindung, die Sie hinzufügen möchten."
-
#: src/nmtui/nmt-widget-list.c:131
msgid "Add..."
msgstr "Hinzufügen …"
@@ -15420,25 +15740,24 @@ msgid "Remove"
msgstr "Entfernen"
#: src/nmtui/nmt-wireguard-peer-editor.c:82
-#, fuzzy
msgid "Public key"
-msgstr "Doppelte Eigenschaft"
+msgstr "Öffentlicher Schlüssel"
#: src/nmtui/nmt-wireguard-peer-editor.c:94
msgid "Allowed IPs"
-msgstr ""
+msgstr "Zulässige IP-Adressen"
#: src/nmtui/nmt-wireguard-peer-editor.c:106
msgid "Endpoint"
-msgstr ""
+msgstr "Endpunkt"
#: src/nmtui/nmt-wireguard-peer-editor.c:118
#, fuzzy
+#| msgid "Shared Key"
msgid "Preshared key"
msgstr "Gemeinsamer Schlüssel"
#: src/nmtui/nmt-wireguard-peer-editor.c:130
-#, fuzzy
msgctxt "seconds"
msgid "seconds"
msgstr "Sekunden"
@@ -15447,7 +15766,7 @@ msgstr "Sekunden"
msgid "Persistent keepalive"
msgstr ""
-#: src/nmtui/nmtui-connect.c:43
+#: src/nmtui/nmtui-connect.c:48
msgid ""
"openconnect will be run to authenticate.\n"
"It will return to nmtui when completed."
@@ -15455,98 +15774,89 @@ msgstr ""
"openconnect wird zur Legitimierung ausgeführt.\n"
"Rückkehr erfolgt zu nmtui bei Abschluss."
-#: src/nmtui/nmtui-connect.c:57
+#: src/nmtui/nmtui-connect.c:58
#, c-format
msgid "Error: openconnect failed: %s"
msgstr "Fehler: »openconnect« fehlgeschlagen: %s"
-#: src/nmtui/nmtui-connect.c:64
-#, c-format
-msgid "openconnect failed with status %d"
-msgstr "»openconnect« fehlgeschlagen mit Status %d"
-
-#: src/nmtui/nmtui-connect.c:68
-#, c-format
-msgid "openconnect failed with signal %d"
-msgstr "»openconnect« fehlgeschlagen mit Signal %d"
-
-#: src/nmtui/nmtui-connect.c:174
+#: src/nmtui/nmtui-connect.c:108
#, c-format
msgid "Activation failed: %s"
msgstr "Aktivierung ist fehlgeschlagen: %s"
-#: src/nmtui/nmtui-connect.c:227
+#: src/nmtui/nmtui-connect.c:161
#, fuzzy, c-format
+#| msgid "Could not activate connection: %s"
msgid "Could not deactivate connection: %s"
msgstr "Verbindungen konnte nicht aktiviert werden: %s"
-#: src/nmtui/nmtui-connect.c:245
+#: src/nmtui/nmtui-connect.c:179
msgid "Connecting..."
msgstr "Verbindungsaufbau …"
-#: src/nmtui/nmtui-connect.c:290 src/nmtui/nmtui-connect.c:330
+#: src/nmtui/nmtui-connect.c:224 src/nmtui/nmtui-connect.c:264
#, c-format
msgid "Could not activate connection: %s"
msgstr "Verbindungen konnte nicht aktiviert werden: %s"
-#: src/nmtui/nmtui-connect.c:390 src/nmtui/nmtui-connect.c:443
+#: src/nmtui/nmtui-connect.c:324 src/nmtui/nmtui-connect.c:370
msgid "Activate"
msgstr "Aktivieren"
-#: src/nmtui/nmtui-connect.c:392
+#: src/nmtui/nmtui-connect.c:326
msgid "Deactivate"
msgstr "Deaktivieren"
-#: src/nmtui/nmtui-connect.c:448 src/nmtui/nmtui-edit.c:103
-#: src/nmtui/nmtui.c:112
+#: src/nmtui/nmtui-connect.c:375 src/nmtui/nmtui-edit.c:96 src/nmtui/nmtui.c:109
msgid "Quit"
msgstr "Beenden"
-#: src/nmtui/nmtui-connect.c:448 src/nmtui/nmtui-edit.c:103
+#: src/nmtui/nmtui-connect.c:375 src/nmtui/nmtui-edit.c:96
+#: src/nmtui/nmtui-radio.c:118
msgid "Back"
msgstr "Zurück"
-#: src/nmtui/nmtui-connect.c:471
+#: src/nmtui/nmtui-connect.c:398
#, c-format
msgid "No such connection '%s'"
msgstr "Verbindung »%s« existiert nicht"
-#: src/nmtui/nmtui-connect.c:473
+#: src/nmtui/nmtui-connect.c:400
msgid "Connection is already active"
msgstr "Verbindung ist bereits aktiv"
-#: src/nmtui/nmtui-edit.c:215
+#: src/nmtui/nmtui-edit.c:208
msgid "Create"
msgstr "Erstellen"
-#: src/nmtui/nmtui-edit.c:356
+#: src/nmtui/nmtui-edit.c:349
msgid "Select the type of connection you wish to create."
msgstr "Wählen Sie den Verbindungstyp, den Sie anlegen möchten."
-#: src/nmtui/nmtui-edit.c:365
+#: src/nmtui/nmtui-edit.c:358
msgid ""
-"If you are creating a VPN, and the VPN connection you wish to create does "
-"not appear in the list, you may not have the correct VPN plugin installed."
+"If you are creating a VPN, and the VPN connection you wish to create does not "
+"appear in the list, you may not have the correct VPN plugin installed."
msgstr ""
"Wenn Sie eine VPN-Verbindung erstellen möchten und die gewünschte Methode "
"erscheint nicht in der Liste, dann haben Sie die korrekte Erweiterung nicht "
"installiert."
-#: src/nmtui/nmtui-edit.c:401 src/nmtui/nmtui-edit.c:417
+#: src/nmtui/nmtui-edit.c:394 src/nmtui/nmtui-edit.c:410
msgid "New Connection"
msgstr "Neue Verbindung"
-#: src/nmtui/nmtui-edit.c:459
+#: src/nmtui/nmtui-edit.c:452
#, c-format
msgid "Unable to delete connection: %s"
msgstr "Verbindung kann nicht gelöscht werden: %s"
-#: src/nmtui/nmtui-edit.c:497
+#: src/nmtui/nmtui-edit.c:490
#, c-format
msgid "Could not delete connection '%s': %s"
msgstr "Verbindung »%s« konnte nicht gelöscht werden: %s"
-#: src/nmtui/nmtui-edit.c:519
+#: src/nmtui/nmtui-edit.c:512
#, c-format
msgid "Are you sure you want to delete the connection '%s'?"
msgstr "Sind Sie sicher, dass Sie die Verbindung »%s« entfernen möchten?"
@@ -15570,257 +15880,93 @@ msgstr "Rechnernamen auf »%s« festlegen"
msgid "Unable to set hostname: %s"
msgstr "Fehler beim Festlegen des Rechnernamens: %s"
-#: src/nmtui/nmtui.c:40 src/nmtui/nmtui.c:41
+#: src/nmtui/nmtui-radio.c:52
+#, fuzzy
+#| msgid "Radio switches"
+msgid "Set the radio switches status"
+msgstr "Funkschalter"
+
+#: src/nmtui/nmtui-radio.c:61 src/nmtui/nmtui-radio.c:89
+msgid "Hardware:"
+msgstr "Hardware:"
+
+#: src/nmtui/nmtui-radio.c:65 src/nmtui/nmtui-radio.c:93
+msgid "Missing"
+msgstr "Fehlend"
+
+#: src/nmtui/nmtui-radio.c:68 src/nmtui/nmtui-radio.c:77
+#: src/nmtui/nmtui-radio.c:96 src/nmtui/nmtui-radio.c:105
+msgid "Enabled"
+msgstr "Aktiviert"
+
+#: src/nmtui/nmtui-radio.c:73 src/nmtui/nmtui-radio.c:101
+msgid "Software:"
+msgstr "Software:"
+
+#: src/nmtui/nmtui-radio.c:85
+msgid "WWAN"
+msgstr "WWAN"
+
+#: src/nmtui/nmtui.c:41 src/nmtui/nmtui.c:42
msgid "connection"
msgstr "Verbindung"
-#: src/nmtui/nmtui.c:40
+#: src/nmtui/nmtui.c:41
msgid "Edit a connection"
msgstr "Eine Verbindung bearbeiten"
-#: src/nmtui/nmtui.c:41
+#: src/nmtui/nmtui.c:42
msgid "Activate a connection"
msgstr "Eine Verbindung aktivieren"
-#: src/nmtui/nmtui.c:42
+#: src/nmtui/nmtui.c:43
msgid "new hostname"
msgstr "neuer Rechnername"
-#: src/nmtui/nmtui.c:42
+#: src/nmtui/nmtui.c:43
msgid "Set system hostname"
msgstr "Den Rechnernamen des Systems festlegen"
+#: src/nmtui/nmtui.c:44
+msgid "radio"
+msgstr "Funk"
+
+#: src/nmtui/nmtui.c:44
+msgid "Radio"
+msgstr "Funk"
+
#: src/nmtui/nmtui.c:85
msgid "NetworkManager TUI"
msgstr "NetworkManager Terminal-Benutzeroberfläche (TUI)"
-#: src/nmtui/nmtui.c:94
+#: src/nmtui/nmtui.c:91
msgid "Please select an option"
msgstr "Bitte wählen Sie eine Option"
-#: src/nmtui/nmtui.c:141
+#: src/nmtui/nmtui.c:138
msgid "Usage"
msgstr "Aufruf"
-#: src/nmtui/nmtui.c:228
+#: src/nmtui/nmtui.c:225
msgid "Could not parse arguments"
msgstr "Parameter konnten nicht verarbeitet werden"
-#: src/nmtui/nmtui.c:241
+#: src/nmtui/nmtui.c:238
#, c-format
msgid "Could not contact NetworkManager: %s.\n"
msgstr "NetworkManager konnte nicht erreicht werden: %s.\n"
-#~ msgid "STP priority [32768]"
-#~ msgstr "STP-Priorität [32768]"
-
-#~ msgid "Forward delay [15]"
-#~ msgstr "Weiterleitungsverzögerung [15]"
-
-#~ msgid "Hello time [2]"
-#~ msgstr "Hello-Zeit [2]"
-
-#~ msgid "Max age [20]"
-#~ msgstr "Maximales Alter [20]"
-
-#~ msgid "Group forward mask [0]"
-#~ msgstr "Gruppenvorlaufmaske [0]"
-
-#~ msgid "Enable IGMP snooping [no]"
-#~ msgstr "IGMP-Snooping aktivieren [nein]"
-
-#~ msgid "MTU [auto]"
-#~ msgstr "MTU [automatisch]"
-
-#~ msgid "Tap [no]"
-#~ msgstr "Tap [nein]"
-
-#, c-format
-#~ msgid "You must be root to run %s!\n"
-#~ msgstr "Sie müssen als root angemeldet sein, um %s auszuführen.\n"
-
-#~ msgid "The interface to manage"
-#~ msgstr "Die zu verwaltende Schnittstelle"
-
-#~ msgid "Connection UUID"
-#~ msgstr "Verbindungs-UUID"
-
-#~ msgid "Connection Token for Stable IDs"
-#~ msgstr "Verbindungs-Token für stabile Kennungen"
-
-#~ msgid "Whether to manage IPv6 SLAAC"
-#~ msgstr "Legt fest, ob IPv6 SLAAC verwaltet werden soll"
-
-#~ msgid "Whether SLAAC must be successful"
-#~ msgstr "Legt fest, ob SLAAC erfolgreich abschließen muss"
-
-#~ msgid "Use an IPv6 temporary privacy address"
-#~ msgstr "Eine temporäre private IPv6-Adresse verwenden"
-
-#~ msgid "Current DHCPv4 address"
-#~ msgstr "Aktuelle DHCPv4-Adresse"
-
-#~ msgid "Whether DHCPv4 must be successful"
-#~ msgstr "Legt fest, ob DHCPv4 erfolgreich abschließen muss"
-
-#~ msgid "Hex-encoded DHCPv4 client ID"
-#~ msgstr "Hexadezimal angegebene DHCPv4 Client-Kennung"
-
-#~ msgid "Hostname to send to DHCP server"
-#~ msgstr "Rechnername, der an den DHCP-Server gesendet wird"
-
-# Was soll das sein?
-#~ msgid "barbar"
-#~ msgstr "barbar"
-
-#~ msgid "FQDN to send to DHCP server"
-#~ msgstr "FQDN (Rechnername), der an den DHCP-Server gesendet wird"
-
-#~ msgid "host.domain.org"
-#~ msgstr "Rechner.domain.org"
-
-#~ msgid "Route priority for IPv4"
-#~ msgstr "Routen-Priorität für IPv4"
-
-#~ msgid "0"
-#~ msgstr "0"
-
-#~ msgid "Route priority for IPv6"
-#~ msgstr "Routen-Priorität für IPv6"
-
-#~ msgid "1024"
-#~ msgstr "1024"
-
-#~ msgid "Hex-encoded Interface Identifier"
-#~ msgstr "Hexadezimaler Bezeichner der Schnittstelle"
-
-# Mittels Stateless Address Autoconfiguration (SLAAC, zustandslose Adressenautokonfiguration, spezifiziert in RFC 4862) kann ein Host vollautomatisch eine funktionsfähige Internetverbindung aufbauen. Dazu kommuniziert er mit den für sein Netzwerksegment zuständigen Routern, um die notwendige Konfiguration zu ermitteln.
-#~ msgid "IPv6 SLAAC address generation mode"
-#~ msgstr "Adresserzeugung mittels IPv6 SLAAC"
-
-#~ msgid ""
-#~ "The logging backend configuration value. See logging.backend in "
-#~ "NetworkManager.conf"
-#~ msgstr ""
-#~ "Der Konfigurationswert des Protokollierungs-Backends. Siehe logging."
-#~ "backend in NetworkManager.conf"
-
-#~ msgid ""
-#~ "nm-iface-helper is a small, standalone process that manages a single "
-#~ "network interface."
-#~ msgstr ""
-#~ "nm-iface-helper ist ein kleiner, eigenständiger Prozess, der eine "
-#~ "einzelne Netzwerkschnittstelle verwaltet."
-
#, c-format
-#~ msgid "An interface name and UUID are required\n"
-#~ msgstr "Ein Schnittstellenname und eine UUID sind notwendig\n"
-
-#, c-format
-#~ msgid "Failed to find interface index for %s (%s)\n"
-#~ msgstr "Schnittstellenindex für %s konnte nicht gefunden werden (%s)\n"
-
-#, c-format
-#~ msgid "Ignoring unrecognized log domain(s) '%s' passed on command line.\n"
-#~ msgstr ""
-#~ "Unbekannte Protokolldomäne(n) »%s« wurden über die Befehlszeile "
-#~ "erhalten.\n"
-
-#, c-format
-#~ msgid "(%s): Invalid IID %s\n"
-#~ msgstr "(%s): Ungültige IID %s\n"
-
-#, c-format
-#~ msgid "(%s): Invalid DHCP client-id %s\n"
-#~ msgstr "(%s): Ungültige DHCP Client-Kennung %s\n"
-
-#, fuzzy, c-format
-#~ msgid "the profile is not valid: %s"
-#~ msgstr "Zertifikat ist ungültig: %s"
-
-#~ msgid "property missing"
-#~ msgstr "Eigenschaft fehlt"
-
-#, c-format
-#~ msgid "invalid port %d"
-#~ msgstr "Ungültiger Port %d"
-
-#, c-format
-#~ msgid "'%d' value is out of range <0-3>"
-#~ msgstr "Wert »%d« ist außerhalb des Bereichs <0-3>"
-
-#~ msgid ""
-#~ "Whether or not the connection should be automatically connected by "
-#~ "NetworkManager when the resources for the connection are available. TRUE "
-#~ "to automatically activate the connection, FALSE to require manual "
-#~ "intervention to activate the connection. Note that autoconnect is not "
-#~ "implemented for VPN profiles. See \"secondaries\" as an alternative to "
-#~ "automatically connect VPN profiles."
-#~ msgstr ""
-#~ "Gibt an, ob die Verbindung vom NetworkManager automatisch hergestellt "
-#~ "werden soll, wenn die Ressourcen für die Verbindung verfügbar sind. TRUE "
-#~ "zum automatischen Aktivieren der Verbindung, FALSE zum manuellen "
-#~ "Aktivieren der Verbindung. Beachten Sie, dass Autoconnect für VPN-Profile "
-#~ "nicht implementiert ist. Siehe \"Secondaries\" als Alternative zum "
-#~ "automatischen Verbinden von VPN-Profilen."
-
-#~ msgid ""
-#~ "The autoconnect priority. If the connection is set to autoconnect, "
-#~ "connections with higher priority will be preferred. Defaults to 0. The "
-#~ "higher number means higher priority."
-#~ msgstr ""
-#~ "Die Autoconnect-Priorität. Wenn die Verbindung auf Autoconnect "
-#~ "eingestellt ist, werden Verbindungen mit höherer Priorität bevorzugt. Der "
-#~ "Standardwert ist 0. Die höhere Zahl bedeutet höhere Priorität."
-
-#~ msgid "The FCoE controller mode; either \"fabric\" (default) or \"vn2vn\"."
-#~ msgstr ""
-#~ "Der FCoE-Controller-Modus; entweder \"Fabric\" (Standard) oder \"vn2vn\"."
-
-#~ msgid "Array of IP addresses."
-#~ msgstr "Feld mit IP-Adressen."
-
-#~ msgid "PAC script for the connection."
-#~ msgstr "PAC-Skript für die Verbindung."
-
-#~ msgid "Array of TC queueing disciplines."
-#~ msgstr "Array von TC-Warteschlangen-Disziplinen."
-
-#, fuzzy
-#~ msgid "Array of TC traffic filters."
-#~ msgstr "Feld aus IP-Routen."
-
-#, fuzzy, c-format
-#~ msgid "Error: error connecting to system bus: %s"
-#~ msgstr "Fehler: Falscher Verbindungstyp: %s"
-
-#, c-format
-#~ msgid "Error: '%s' is mandatory."
-#~ msgstr "Fehler: »%s« ist zwingend erforderlich."
-
-#, fuzzy, c-format
-#~ msgid "Setting '%s' is not present in the connection."
-#~ msgstr "Die Einstellung »%s« ist in der Verbindung nicht vorhanden.\n"
-
-#, fuzzy, c-format
-#~ msgid "failed to unset bond option \"%s\""
-#~ msgstr "Eigenschaft konnte nicht festgelegt werden: %s"
-
-#, fuzzy
-#~ msgid "invalid action"
-#~ msgstr "Ungültige Aktion: "
-
-#, fuzzy
-#~ msgid "invalid \""
-#~ msgstr "Ungültige DUID"
+#~ msgid "this property cannot be empty for '%s=%s'"
+#~ msgstr "Diese Eigenschaft darf nicht für »%s=%s« leer sein"
#, c-format
-#~ msgid "'%s' is not a valid IP address"
-#~ msgstr "»%s« ist keine gültige IP-Adresse"
+#~ msgid "Error: openconnect failed with status %d\n"
+#~ msgstr "Fehler: openconnect fehlgeschlagen mit Status %d\n"
#, c-format
-#~ msgid "invalid '%s' or its value '%s'"
-#~ msgstr "ungültiges »%s« oder dessen Wert »%s«"
+#~ msgid "Error: openconnect failed with signal %d\n"
+#~ msgstr "Fehler: openconnect fehlgeschlagen mit Signal %d\n"
#, c-format
#~ msgid "missing colon in 'password' entry '%s'"
@@ -15839,6 +15985,10 @@ msgstr "NetworkManager konnte nicht erreicht werden: %s.\n"
#~ msgstr "Unbekannter Parameter: %s\n"
#, c-format
+#~ msgid "Error: '%s' is mandatory."
+#~ msgstr "Fehler: »%s« ist zwingend erforderlich."
+
+#, c-format
#~ msgid "Error: '%s': %s"
#~ msgstr "Fehler: »%s«: %s"
@@ -15847,375 +15997,642 @@ msgstr "NetworkManager konnte nicht erreicht werden: %s.\n"
#~ msgstr "Fehler: Fehler beim Hinzufügen der bond-Option »%s=%s«."
#, c-format
-#~ msgid "Unknown parameter: %s"
-#~ msgstr "Unbekannter Parameter: %s"
+#~ msgid "Warning: 'type' already specified, ignoring extra one.\n"
+#~ msgstr "Warnung: »type« ist bereits angegeben, wird ignoriert.\n"
#, c-format
-#~ msgid "Error: Device activation failed: device was disconnected"
-#~ msgstr "Fehler: Aktivierung des Geräts ist gescheitert: Gerät war getrennt"
+#~ msgid "Warning: 'file' already specified, ignoring extra one.\n"
+#~ msgstr "Warnung: »file« ist bereits angegeben, wird ignoriert.\n"
#, c-format
-#~ msgid "Error: Unknown parameter %s."
-#~ msgstr "Fehler: Unbekannter Parameter: %s."
-
-#, c-format
-#~ msgid "Authentication message: %s\n"
-#~ msgstr "Legitimierungsnachricht: %s\n"
-
-#, c-format
-#~ msgid "Authentication error: %s\n"
-#~ msgstr "Legitimationsfehler: %s\n"
-
-#, c-format
-#~ msgid "'%s' is not valid master; use ifname or connection UUID"
-#~ msgstr ""
-#~ "»%s« ist kein gültiger Master; verwenden Sie einen Interfacenamen "
-#~ "(ifname) oder eine Verbindungskennung (UUID)"
-
-#~ msgid "An authentication session is already underway."
-#~ msgstr "Eine Authentifizierungssitzung ist bereits aktiv."
-
-#~ msgid "A timeout for a DHCP transaction in seconds."
-#~ msgstr "Die Zeitbegrenzung für eine DHCP-Transaktion in Sekunden."
+#~ msgid "Unknown parameter: %s"
+#~ msgstr "Unbekannter Parameter: %s"
-#~ msgid ""
-#~ "Array of DNS options as described in man 5 resolv.conf. NULL means that "
-#~ "the options are unset and left at the default. In this case "
-#~ "NetworkManager will use default options. This is distinct from an empty "
-#~ "list of properties."
-#~ msgstr ""
-#~ "Array von DNS-Optionen wie in man 5 resolv.conf beschrieben. NULL "
-#~ "bedeutet, dass die Optionen nicht gesetzt sind und im Standard belassen "
-#~ "werden. In diesem Fall verwendet NetworkManager Standardoptionen. Dies "
-#~ "unterscheidet sich von einer leeren Liste von Eigenschaften."
+#~ msgid "WEP"
+#~ msgstr "WEP"
-#~ msgid ""
-#~ "The gateway associated with this configuration. This is only meaningful "
-#~ "if \"addresses\" is also set."
-#~ msgstr ""
-#~ "Das dieser Konfiguration zugeordnete Gateway. Dies ist nur sinnvoll, wenn "
-#~ "auch \"Adressen\" gesetzt ist."
+#~ msgid "WPA1"
+#~ msgstr "WPA1"
-#~ msgid ""
-#~ "A list of interface names to match. Each element is a shell wildcard "
-#~ "pattern. When an element is prefixed with exclamation mark (!) the "
-#~ "condition is inverted. A candidate interface name is considered matching "
-#~ "when both these conditions are satisfied: (a) any of the elements not "
-#~ "prefixed with '!' matches or there aren't such elements; (b) none of the "
-#~ "elements prefixed with '!' match."
-#~ msgstr ""
-#~ "Eine Liste der übereinstimmenden Schnittstellennamen. Jedes Element ist "
-#~ "ein Shell-Platzhaltermuster. Wenn einem Element ein Ausrufezeichen (!) "
-#~ "Vorangestellt wird, wird die Bedingung invertiert. Ein Name einer "
-#~ "Kandidatenschnittstelle gilt als übereinstimmend, wenn diese beiden "
-#~ "Bedingungen erfüllt sind: (a) Alle Elemente, denen kein '!' Vorangestellt "
-#~ "ist passt oder es gibt keine solchen Elemente; (b) Keines der Elemente "
-#~ "mit dem Präfix \"!\" Spiel."
+#~ msgid "WPA2"
+#~ msgstr "WPA2"
-#~ msgid ""
-#~ "Specifies the unicast destination IP address of a remote Open vSwitch "
-#~ "bridge port to connect to."
-#~ msgstr ""
-#~ "Gibt die Unicast-Ziel-IP-Adresse eines Remote-Open-vSwitch-Bridge-Ports "
-#~ "an, mit dem eine Verbindung hergestellt werden soll."
+#~ msgid "802.1X"
+#~ msgstr "802.1X"
#, c-format
-#~ msgid "invalid option '%s' or its value '%s'"
-#~ msgstr "ungültige Option »%s« oder deren Wert »%s«"
+#~ msgid "Error: Connection activation failed: (%d) %s.\n"
+#~ msgstr "Fehler: Aktivierung der Verbindung ist gescheitert: (%d) %s.\n"
#, c-format
-#~ msgid "only one of '%s' and '%s' can be set"
-#~ msgstr "es kann nur entweder »%s« oder »%s« festgelegt werden"
+#~ msgid "Error: Failed to setup a Wi-Fi hotspot"
+#~ msgstr "Fehler: Einrichten eines WLAN-Zugangspunkts schlug fehl"
-#~ msgid "unsupported offload feature"
-#~ msgstr "nicht unterstützte Offload-Funktion"
-
-#~ msgid "property should be TRUE when method is set to ignore"
+#, c-format
+#~ msgid "Error: Failed to add/activate new connection: Unknown error"
#~ msgstr ""
-#~ "Eigenschaft sollte auf »TRUE« (WAHR) gesetzt sein, wenn die Methode auf "
-#~ "»ignore« (ignorieren) eingestellt ist"
+#~ "Fehler: Neue Verbindung konnte nicht hinzugefügt und aktiviert werden: "
+#~ "Unbekannter Fehler"
#, c-format
-#~ msgid "secret was empty"
-#~ msgstr "Passwort war leer"
+#~ msgid "Connection with UUID '%s' created and activated on device '%s'\n"
+#~ msgstr ""
+#~ "Verbindung mit der UUID »%s« wurde erstellt und auf dem Gerät »%s« "
+#~ "aktiviert\n"
#, c-format
-#~ msgid "secret value was empty"
-#~ msgstr "Wert für Geheimnis war leer"
+#~ msgid "Hotspot '%s' activated on device '%s'\n"
+#~ msgstr "Zugangspunkt »%s« wurde auf dem Gerät »%s« aktiviert\n"
#, c-format
-#~ msgid "'%s' connections require '%s' in this property"
-#~ msgstr "»%s« Verbindungen erfordern »%s« in dieser Eigenschaft"
-
-#, fuzzy, c-format
-#~ msgid "missing runner"
-#~ msgstr "Schlüssel fehlt"
-
-#, fuzzy, c-format
-#~ msgid "unknown link watcher \"%s\""
-#~ msgstr "Unbekannte VPN-Erweiterung »%s«"
+#~ msgid "Error: Device activation failed: device was disconnected"
+#~ msgstr "Fehler: Aktivierung des Geräts ist gescheitert: Gerät war getrennt"
#, c-format
-#~ msgid "missing target host"
-#~ msgstr "Zielrechner fehlt"
+#~ msgid "Device '%s' has been connected.\n"
+#~ msgstr "Gerät »%s« hat sich verbunden.\n"
#, c-format
-#~ msgid "missing source address"
-#~ msgstr "Quelladresse fehlt"
-
-#~ msgid "The connection was not a WiMAX connection."
-#~ msgstr "Die Verbindung war keine WiMAX-Verbindung."
-
-#, fuzzy
-#~ msgid "Checkpoint was removed before it was initialized"
-#~ msgstr "Die Verbindung wurde entfernt, bevor sie initialisiert wurde"
-
-#~ msgid "Active connection removed before it was initialized"
-#~ msgstr "Die aktive Verbindung wurde entfernt, bevor sie initialisiert wurde"
-
-#~ msgid "Connection removed before it was initialized"
-#~ msgstr "Die Verbindung wurde entfernt, bevor sie initialisiert wurde"
-
-#~ msgid "WPA Ad-Hoc disabled due to kernel bugs"
-#~ msgstr "Ad-Hoc WPA ist wegen kernel-Fehlern ausgeschaltet"
-
-#~ msgid "WPA Ad-Hoc authentication requires an Ad-Hoc mode AP"
-#~ msgstr ""
-#~ "Ad-Hoc WPA-Legitimierung erfordert den Ad-Hoc-Modus im Zugriffspunkt"
-
-#~ msgid ""
-#~ "Access point mode is Ad-Hoc but setting requires Infrastructure security"
-#~ msgstr ""
-#~ "Der Modus des Zugriffspunkts ist »Ad-Hoc«, aber die Einstellung erfordert "
-#~ "die Sicherheit »Infrastructure« (Infrastruktur)"
+#~ msgid "Error: Unknown parameter %s."
+#~ msgstr "Fehler: Unbekannter Parameter: %s."
-#~ msgid ""
-#~ "Access point mode is Infrastructure but setting requires Ad-Hoc security"
-#~ msgstr ""
-#~ "Der Modus des Zugriffspunkts ist »Infrastructure« (Infrastruktur), aber "
-#~ "die Einstellung erfordert die Sicherheit »Ad-Hoc«"
+#~ msgid "NetworkManager has started"
+#~ msgstr "NetworkManager wurde gestartet"
-#~ msgid "Error: failed to remove a value from %s.%s: %s."
-#~ msgstr "Fehler: Entfernen eines Wertes von %s.%s: %s ist fehlgeschlagen."
+#~ msgid "Networkmanager is not running (waiting for it)\n"
+#~ msgstr "NetworkManager wird nicht ausgeführt (es wird gewartet)\n"
-#~ msgid "WEP"
-#~ msgstr "WEP"
+#, c-format
+#~ msgid "Authentication message: %s\n"
+#~ msgstr "Legitimierungsnachricht: %s\n"
-#~ msgid "WPA1"
-#~ msgstr "WPA1"
+#, c-format
+#~ msgid "Authentication error: %s\n"
+#~ msgstr "Legitimationsfehler: %s\n"
-#~ msgid "WPA2"
-#~ msgstr "WPA2"
+#, c-format
+#~ msgid "Error reading nmcli output: %s\n"
+#~ msgstr "Fehler beim Lesen der nmcli-Ausgabe: %s\n"
-#~ msgid "802.1X"
-#~ msgstr "802.1X"
+#, c-format
+#~ msgid "Error writing nmcli output: %s\n"
+#~ msgstr "Fehler beim Schreiben der nmcli-Ausgabe: %s\n"
#~ msgid "default route cannot be added (NetworkManager handles it by itself)"
#~ msgstr ""
#~ "Die Standard-Route kann nicht hinzugefügt werden (NetworkManager kümmert "
#~ "sich selbst darum)"
+#, c-format
#~ msgid "priority '%s' is not valid (<0-%ld>)"
#~ msgstr "Priorität »%s« ist ungültig (<0-%ld>)"
+#, c-format
#~ msgid "'%s' does not contain a valid team configuration"
#~ msgstr "»%s« enthält keine gültige Team-Konfiguration"
+#, c-format
#~ msgid "team configuration must be a JSON object"
#~ msgstr "Team-Konfiguration muss ein JSON-Objekt sein"
#~ msgid "no item to remove"
#~ msgstr "Kein Eintrag zum Entfernen vorhanden"
+#, c-format
#~ msgid "index '%d' is not in range <0-%d>"
#~ msgstr "Index »%d« ist außerhalb des Bereichs <0-%d>"
+#, c-format
#~ msgid "'%s' is not a valid MAC"
#~ msgstr "»%s« ist keine gültige MAC-Adresse"
+#, c-format
#~ msgid "the property doesn't contain EAP method '%s'"
#~ msgstr "Die Eigenschaft enthält nicht die EAP-Methode »%s«"
-#, fuzzy
+#, fuzzy, c-format
#~ msgid "the property doesn't contain alternative subject match '%s'"
#~ msgstr "die Eigenschaft enthält kein alternative Themen passend zu »%s«"
-#, fuzzy
-#~ msgid ""
-#~ "the property doesn't contain \"phase2\" alternative subject match '%s'"
+#, fuzzy, c-format
+#~ msgid "the property doesn't contain \"phase2\" alternative subject match '%s'"
#~ msgstr "die Eigenschaft enthält nicht die Berechtigung »%s«"
+#, c-format
#~ msgid "the property doesn't contain permission '%s'"
#~ msgstr "die Eigenschaft enthält nicht die Berechtigung »%s«"
+#, c-format
+#~ msgid "'%s' is not valid master; use ifname or connection UUID"
+#~ msgstr ""
+#~ "»%s« ist kein gültiger Master; verwenden Sie einen Interfacenamen (ifname) "
+#~ "oder eine Verbindungskennung (UUID)"
+
+#, c-format
#~ msgid "the property doesn't contain UUID '%s'"
#~ msgstr "die Eigenschaft enthält nicht die UUID »%s«"
+#, c-format
+#~ msgid "invalid IPv4 address '%s'"
+#~ msgstr "Ungültige IPv4-Adresse »%s«"
+
+#, c-format
#~ msgid "the property doesn't contain DNS server '%s'"
#~ msgstr "die Eigenschaft enthält nicht den DNS-Server »%s«"
+#, c-format
#~ msgid "the property doesn't contain DNS search domain '%s'"
#~ msgstr "die Eigenschaft enthält nicht die Suchdomäne »%s«"
+#, c-format
#~ msgid "the property doesn't contain DNS option '%s'"
#~ msgstr "Die Eigenschaft enthält nicht die DNS-Option »%s«"
+#, c-format
#~ msgid "the property doesn't contain IP address '%s'"
#~ msgstr "die Eigenschaft enthält nicht die IP-Adresse »%s«"
+#, c-format
#~ msgid "the property doesn't contain route '%s'"
#~ msgstr "Die Eigenschaft enthält nicht die Route »%s«"
+#, c-format
#~ msgid "invalid IPv6 address '%s'"
#~ msgstr "Ungültige IPv6-Adresse »%s«"
-#, fuzzy
+#, fuzzy, c-format
#~ msgid "the property doesn't contain interface name '%s'"
#~ msgstr "die Eigenschaft enthält nicht tfilter »%s«"
-#, fuzzy
+#, fuzzy, c-format
#~ msgid "the property doesn't contain vf with index %u"
#~ msgstr "die Eigenschaft enthält nicht tfilter »%s«"
+#, c-format
#~ msgid "the property doesn't contain qdisc '%s'"
#~ msgstr "die Eigenschaft enthält nicht qdisc »%s«"
#~ msgid ""
-#~ "The valid syntax is: '[root | parent <handle>] [handle <handle>] "
-#~ "<tfilter>'"
+#~ "The valid syntax is: '[root | parent <handle>] [handle <handle>] <tfilter>'"
#~ msgstr ""
#~ "Die gültige Syntax ist: [root | parent <Handle>] [handle <Handle>] "
#~ "<tfilter>'"
+#, c-format
#~ msgid "the property doesn't contain tfilter '%s'"
#~ msgstr "die Eigenschaft enthält nicht tfilter »%s«"
+#, c-format
#~ msgid "the property doesn't contain string '%s'"
#~ msgstr "die Eigenschaft enthält nicht die Zeichenkette »%s«"
-#, fuzzy
+#, fuzzy, c-format
#~ msgid "the property doesn't contain link watcher '%s'"
#~ msgstr "Die Eigenschaft enthält nicht die Route »%s«"
+#, c-format
#~ msgid "only one mapping at a time is supported; taking the first one (%s)"
#~ msgstr ""
#~ "Es werden nicht mehrere Abbildungen gleichzeitig unterstützt. Es wird die "
#~ "erste verwendet (%s)"
+#, c-format
#~ msgid "the property doesn't contain mapping '%s'"
#~ msgstr "Die Eigenschaft enthält nicht die Abbildung »%s«"
#~ msgid "no priority to remove"
#~ msgstr "Keine Priorität zum Entfernen"
+#, c-format
#~ msgid "index '%d' is not in the range of <0-%d>"
#~ msgstr "Index »%d« ist außerhalb des Bereichs <0-%d>"
+#, c-format
#~ msgid "the property doesn't contain MAC address '%s'"
#~ msgstr "die Eigenschaft enthält nicht die MAC-Adresse »%s«"
+#, c-format
#~ msgid "'%s' string value should consist of 1 - 199 characters"
#~ msgstr "Die Zeichenkette »%s« muss aus 1-199 Zeichen bestehen"
+#, c-format
#~ msgid "the property doesn't contain protocol '%s'"
#~ msgstr "die Eigenschaft enthält nicht das Protokoll »%s«"
+#, c-format
#~ msgid "'%s' is not a valid PSK"
#~ msgstr "»%s« ist kein gültiger PSK"
+#~ msgid "STP priority [32768]"
+#~ msgstr "STP-Priorität [32768]"
+
+#~ msgid "Forward delay [15]"
+#~ msgstr "Weiterleitungsverzögerung [15]"
+
+#~ msgid "Hello time [2]"
+#~ msgstr "Hello-Zeit [2]"
+
+#~ msgid "Max age [20]"
+#~ msgstr "Maximales Alter [20]"
+
+#~ msgid "Enable IGMP snooping [no]"
+#~ msgstr "IGMP-Snooping aktivieren [nein]"
+
+#~ msgid "MTU [auto]"
+#~ msgstr "MTU [automatisch]"
+
+#~ msgid "Tap [no]"
+#~ msgstr "Tap [nein]"
+
+#~ msgid "An authentication session is already underway."
+#~ msgstr "Eine Authentifizierungssitzung ist bereits aktiv."
+
#~ msgid ""
-#~ "Pre-Shared-Key for WPA networks. If the key is 64-characters long, it "
-#~ "must contain only hexadecimal characters and is interpreted as a "
-#~ "hexadecimal WPA key. Otherwise, the key must be between 8 and 63 ASCII "
-#~ "characters (as specified in the 802.11i standard) and is interpreted as a "
-#~ "WPA passphrase, and is hashed to derive the actual WPA-PSK used when "
-#~ "connecting to the Wi-Fi network."
+#~ "If non-zero, directs the device to only use the specified bitrate for "
+#~ "communication with the access point. Units are in Kb/s, ie 5500 = 5.5 Mbit/"
+#~ "s. This property is highly driver dependent and not all devices support "
+#~ "setting a static bitrate."
#~ msgstr ""
-#~ "Pre-Shared-Key für WPA-Netzwerke. Wenn der Schlüssel 64 Zeichen lang ist, "
-#~ "darf er nur hexadezimale Zeichen enthalten und wird als hexadezimaler WPA-"
-#~ "Schlüssel interpretiert. Andernfalls muss der Schlüssel zwischen 8 und 63 "
-#~ "ASCII-Zeichen (wie im 802.11i-Standard angegeben) enthalten sein und wird "
-#~ "als WPA-Passphrase interpretiert und wird zum Ableiten des tatsächlichen "
-#~ "WPA-PSK verwendet, das beim Herstellen einer Verbindung mit dem Wi-Fi-"
-#~ "Netzwerk verwendet wird."
+#~ "Bei einer Angabe ungleich Null wird das Gerät angewiesen, nur die "
+#~ "festgelegte Bitrate für die Kommunikation mit dem Zugangspunkt einzusetzen. "
+#~ "Die Einheit ist KByte/s, d.h. 5500 = 5.5 Mbit/s.Diese Eigenschaft hängt "
+#~ "stark vom Gerätetreiber ab. Nicht alle Geräte unterstützen das Festlegen "
+#~ "einer statischen Bitrate."
#~ msgid ""
-#~ "Corresponds to the teamd runner.name. Permitted values are: "
-#~ "\"roundrobin\", \"broadcast\", \"activebackup\", \"loadbalance\", "
-#~ "\"lacp\", \"random\". When setting the runner, all the properties "
-#~ "specific to the runner will be reset to the default value; all the "
-#~ "properties specific to other runners will be set to an empty value (or if "
-#~ "not possible to a default value)."
+#~ "If non-zero, directs the device to use the specified transmit power. Units "
+#~ "are dBm. This property is highly driver dependent and not all devices "
+#~ "support setting a static transmit power."
#~ msgstr ""
-#~ "Entspricht dem teamd runner.name. Zulässige Werte sind: \"roundrobin\", "
-#~ "\"broadcast\", \"activebackup\", \"loadbalance\", \"lacp\", \"random\". "
-#~ "Beim Einstellen des Läufers werden alle für den Läufer spezifischen "
-#~ "Eigenschaften auf den Standardwert zurückgesetzt. Alle Eigenschaften, die "
-#~ "für andere Läufer spezifisch sind, werden auf einen leeren Wert gesetzt "
-#~ "(oder wenn ein Standardwert nicht möglich ist)."
+#~ "Bei einem Wert ungleich Null wird das Gerät angewiesen, die angegebene "
+#~ "Sendeleistung zu verwenden. Die Einheit ist dBm. Diese Eigenschaft hängt "
+#~ "stark vom Gerätetreiber ab. Nicht alle Geräte unterstützen das Festlegen "
+#~ "einer statischen Sendeleistung."
+
+#~ msgid "Array of IP addresses."
+#~ msgstr "Feld mit IP-Adressen."
+
+#~ msgid "A timeout for a DHCP transaction in seconds."
+#~ msgstr "Die Zeitbegrenzung für eine DHCP-Transaktion in Sekunden."
+
+#~ msgid "Array of IP addresses of DNS servers."
+#~ msgstr "Feld mit IP-Adressen der DNS-Server."
+
+#~ msgid "PAC script for the connection."
+#~ msgstr "PAC-Skript für die Verbindung."
+
+#~ msgid "The total number of virtual functions to create."
+#~ msgstr "Die Gesamtzahl der anzulegenden virtuellen Funktionen."
+
+#, fuzzy
+#~ msgid "Array of TC traffic filters."
+#~ msgstr "Feld aus IP-Routen."
+
+#~ msgid "(No support for wpa-enterprise yet...)"
+#~ msgstr "(WPA-Unternehmen wird derzeit noch nicht unterstützt …)"
+
+#, c-format
+#~ msgid "openconnect failed with status %d"
+#~ msgstr "»openconnect« fehlgeschlagen mit Status %d"
+
+#, c-format
+#~ msgid "openconnect failed with signal %d"
+#~ msgstr "»openconnect« fehlgeschlagen mit Signal %d"
+
+#, c-format
+#~ msgid "invalid negative value (%i)"
+#~ msgstr "ungültiger negativer Wert (%i)"
+
+#, c-format
+#~ msgid "invalid char value (%i)"
+#~ msgstr "ungültiger Zeichen-Wert (%i)"
+
+#, c-format
+#~ msgid "invalid int64 value (%s)"
+#~ msgstr "ungültiger in64-Wert (%s)"
+
+#, c-format
+#~ msgid "too large FLAGS property '%s' (%llu)"
+#~ msgstr "zu große FLAGS-Eigenschaft »%s« (%llu)"
+
+#, fuzzy, c-format
+#~ msgid "unhandled setting property type '%s'"
+#~ msgstr "Fehler: Ungültiger Einstellungsname: »%s«."
+
+#~ msgid "invalid auth flags"
+#~ msgstr "Ungültige »auth«-Flags"
+
+#, c-format
+#~ msgid "invalid option '%s' or its value '%s'"
+#~ msgstr "ungültige Option »%s« oder deren Wert »%s«"
+
+#, c-format
+#~ msgid "only one of '%s' and '%s' can be set"
+#~ msgstr "es kann nur entweder »%s« oder »%s« festgelegt werden"
+
+#~ msgid "property missing"
+#~ msgstr "Eigenschaft fehlt"
+
+#~ msgid "property should be TRUE when method is set to ignore"
+#~ msgstr ""
+#~ "Eigenschaft sollte auf »TRUE« (WAHR) gesetzt sein, wenn die Methode auf "
+#~ "»ignore« (ignorieren) eingestellt ist"
+
+#, c-format
+#~ msgid "missing source address"
+#~ msgstr "Quelladresse fehlt"
+
+#, c-format
+#~ msgid "secret was empty"
+#~ msgstr "Passwort war leer"
+
+#, c-format
+#~ msgid "secret value was empty"
+#~ msgstr "Wert für Geheimnis war leer"
+
+#, c-format
+#~ msgid "failed to convert value '%s' to uint"
+#~ msgstr "Umwandeln des Wertes »%s« nach uint ist fehlgeschlagen"
+
+#, c-format
+#~ msgid "invalid '%s' or its value '%s'"
+#~ msgstr "ungültiges »%s« oder dessen Wert »%s«"
+
+#, c-format
+#~ msgid "'%s' connections require '%s' in this property"
+#~ msgstr "»%s« Verbindungen erfordern »%s« in dieser Eigenschaft"
+
+#, c-format
+#~ msgid "'%s' can only be used with '%s=%s' or '%s=%s'"
+#~ msgstr "»%s« kann nur zusammen mit »%s=%s« oder »%s=%s« verwendet werden"
#~ msgid "Disconnected by D-Bus"
#~ msgstr "Durch D-Bus getrennt"
+#, c-format
#~ msgid "Doesn't look like a PEM private key file."
#~ msgstr "Das sieht nicht nach einer privaten PEM-Schlüsseldatei aus."
+#, c-format
#~ msgid "Private key cipher '%s' was unknown."
#~ msgstr "Privater Schlüsselstrom »%s« ist unbekannt."
+#, c-format
#~ msgid "Hash length too long (%d > %d)."
#~ msgstr "Hash-Länge ist zu lang (%d > %d)."
+#, c-format
#~ msgid "Failed to initialize the MD5 engine: %s (%s)"
#~ msgstr "Die Initialisierung der MD5-Engine scheiterte: %s (%s)"
+#, c-format
#~ msgid "Invalid IV length (must be at least %zd)."
#~ msgstr "Ungültige IV-Länge (muss mindestens %zd betragen)."
+#, c-format
#~ msgid "Failed to initialize the MD5 context: %d."
#~ msgstr "Die Initialisierung des MD5-Kontexts scheiterte: %d."
+#, c-format
#~ msgid "Invalid IV length (must be at least %d)."
#~ msgstr "Ungültige IV-Länge (muss mindestens %d betragen)."
+#, c-format
#~ msgid "Couldn't convert password to UCS2: %d"
#~ msgstr "Das Passwort konnte nicht zu UCS2 konvertiert werden: %d"
#~ msgid "invalid phase2 private key"
#~ msgstr "Ungültiger privater Schlüssel in Phase 2"
+#, c-format
#~ msgid "requires '%s' or '%s' setting"
#~ msgstr "Erfordert die Einstellung »%s« oder »%s«"
+#, c-format
#~ msgid "'%s' is not a valid interface name for '%s' option"
#~ msgstr "»%s« ist kein gültiger Schnittstellenname für die Option »%s«"
+#, c-format
#~ msgid "requires presence of '%s' setting in the connection"
#~ msgstr "erfordert das Vorhandensein der Einstellung »%s« in der Verbindung"
+#, c-format
#~ msgid "%d. IPv4 address is invalid"
#~ msgstr "%d. IPv4-Adresse ist ungültig"
+#, c-format
#~ msgid "%d. IPv4 address has invalid prefix"
#~ msgstr "%d. IPv4-Adresse hat ein ungültiges Präfix"
+#, c-format
#~ msgid "%d. route has invalid prefix"
#~ msgstr "%d. Pfadwahl hat ein ungültiges Präfix"
+#, c-format
#~ msgid "%d. IPv6 address is invalid"
#~ msgstr "%d. IPv6-Adresse ist ungültig"
-#~ msgid "%d. IPv6 address has invalid prefix"
-#~ msgstr "%d. IPv6-Adresse hat ein ungültiges Präfix"
-
+#, c-format
#~ msgid "Failed to convert '%s' value '%s' to uint"
#~ msgstr "Umwandeln des »%s«-Wertes »%s« nach uint ist fehlgeschlagen"
-#~ msgid "Secret flags property '%s' not found"
-#~ msgstr "Geheime Flaggeneigenschaft '%s' nicht gefunden"
-
+#, c-format
#~ msgid "requires setting '%s' property"
#~ msgstr "erfordert eine Festlegung der Eigenschaft »%s«"
+#~ msgid "The connection was not a WiMAX connection."
+#~ msgstr "Die Verbindung war keine WiMAX-Verbindung."
+
+#, fuzzy
+#~ msgid "Checkpoint was removed before it was initialized"
+#~ msgstr "Die Verbindung wurde entfernt, bevor sie initialisiert wurde"
+
+#~ msgid "Active connection removed before it was initialized"
+#~ msgstr "Die aktive Verbindung wurde entfernt, bevor sie initialisiert wurde"
+
+#~ msgid "Connection removed before it was initialized"
+#~ msgstr "Die Verbindung wurde entfernt, bevor sie initialisiert wurde"
+
+#, c-format
+#~ msgid "Opening %s failed: %s\n"
+#~ msgstr "Öffnen von %s fehlgeschlagen: %s\n"
+
+#, c-format
+#~ msgid "Closing %s failed: %s\n"
+#~ msgstr "Schließen von %s fehlgeschlagen: %s\n"
+
+#, c-format
+#~ msgid "You must be root to run %s!\n"
+#~ msgstr "Sie müssen als root angemeldet sein, um %s auszuführen.\n"
+
+#~ msgid "WPA Ad-Hoc disabled due to kernel bugs"
+#~ msgstr "Ad-Hoc WPA ist wegen kernel-Fehlern ausgeschaltet"
+
+#~ msgid "WPA Ad-Hoc authentication requires an Ad-Hoc mode AP"
+#~ msgstr "Ad-Hoc WPA-Legitimierung erfordert den Ad-Hoc-Modus im Zugriffspunkt"
+
+#~ msgid ""
+#~ "Access point mode is Ad-Hoc but setting requires Infrastructure security"
+#~ msgstr ""
+#~ "Der Modus des Zugriffspunkts ist »Ad-Hoc«, aber die Einstellung erfordert "
+#~ "die Sicherheit »Infrastructure« (Infrastruktur)"
+
+#~ msgid ""
+#~ "Access point mode is Infrastructure but setting requires Ad-Hoc security"
+#~ msgstr ""
+#~ "Der Modus des Zugriffspunkts ist »Infrastructure« (Infrastruktur), aber die "
+#~ "Einstellung erfordert die Sicherheit »Ad-Hoc«"
+
#~ msgid "GSM mobile broadband connection requires a 'gsm' setting"
#~ msgstr "Mobile GSM-Breitband-Verbindung erfordert die Einstellung »gsm«"
+
+#~ msgid "The interface to manage"
+#~ msgstr "Die zu verwaltende Schnittstelle"
+
+#~ msgid "Connection UUID"
+#~ msgstr "Verbindungs-UUID"
+
+#~ msgid "Connection Token for Stable IDs"
+#~ msgstr "Verbindungs-Token für stabile Kennungen"
+
+#~ msgid "Whether to manage IPv6 SLAAC"
+#~ msgstr "Legt fest, ob IPv6 SLAAC verwaltet werden soll"
+
+#~ msgid "Whether SLAAC must be successful"
+#~ msgstr "Legt fest, ob SLAAC erfolgreich abschließen muss"
+
+#~ msgid "Use an IPv6 temporary privacy address"
+#~ msgstr "Eine temporäre private IPv6-Adresse verwenden"
+
+#~ msgid "Current DHCPv4 address"
+#~ msgstr "Aktuelle DHCPv4-Adresse"
+
+#~ msgid "Whether DHCPv4 must be successful"
+#~ msgstr "Legt fest, ob DHCPv4 erfolgreich abschließen muss"
+
+#~ msgid "Hex-encoded DHCPv4 client ID"
+#~ msgstr "Hexadezimal angegebene DHCPv4 Client-Kennung"
+
+#~ msgid "Hostname to send to DHCP server"
+#~ msgstr "Rechnername, der an den DHCP-Server gesendet wird"
+
+# Was soll das sein?
+#~ msgid "barbar"
+#~ msgstr "barbar"
+
+#~ msgid "FQDN to send to DHCP server"
+#~ msgstr "FQDN (Rechnername), der an den DHCP-Server gesendet wird"
+
+#~ msgid "host.domain.org"
+#~ msgstr "Rechner.domain.org"
+
+#~ msgid "Route priority for IPv4"
+#~ msgstr "Routen-Priorität für IPv4"
+
+#~ msgid "0"
+#~ msgstr "0"
+
+#~ msgid "Route priority for IPv6"
+#~ msgstr "Routen-Priorität für IPv6"
+
+#~ msgid "1024"
+#~ msgstr "1024"
+
+#~ msgid "Hex-encoded Interface Identifier"
+#~ msgstr "Hexadezimaler Bezeichner der Schnittstelle"
+
+# Mittels Stateless Address Autoconfiguration (SLAAC, zustandslose Adressenautokonfiguration, spezifiziert in RFC 4862) kann ein Host vollautomatisch eine funktionsfähige Internetverbindung aufbauen. Dazu kommuniziert er mit den für sein Netzwerksegment zuständigen Routern, um die notwendige Konfiguration zu ermitteln.
+#~ msgid "IPv6 SLAAC address generation mode"
+#~ msgstr "Adresserzeugung mittels IPv6 SLAAC"
+
+#~ msgid ""
+#~ "The logging backend configuration value. See logging.backend in "
+#~ "NetworkManager.conf"
+#~ msgstr ""
+#~ "Der Konfigurationswert des Protokollierungs-Backends. Siehe logging.backend "
+#~ "in NetworkManager.conf"
+
+#~ msgid ""
+#~ "nm-iface-helper is a small, standalone process that manages a single "
+#~ "network interface."
+#~ msgstr ""
+#~ "nm-iface-helper ist ein kleiner, eigenständiger Prozess, der eine einzelne "
+#~ "Netzwerkschnittstelle verwaltet."
+
+#, c-format
+#~ msgid "An interface name and UUID are required\n"
+#~ msgstr "Ein Schnittstellenname und eine UUID sind notwendig\n"
+
+#, c-format
+#~ msgid "Failed to find interface index for %s (%s)\n"
+#~ msgstr "Schnittstellenindex für %s konnte nicht gefunden werden (%s)\n"
+
+#, c-format
+#~ msgid "Ignoring unrecognized log domain(s) '%s' passed on command line.\n"
+#~ msgstr ""
+#~ "Unbekannte Protokolldomäne(n) »%s« wurden über die Befehlszeile erhalten.\n"
+
+#, c-format
+#~ msgid "(%s): Invalid IID %s\n"
+#~ msgstr "(%s): Ungültige IID %s\n"
+
+#, c-format
+#~ msgid "(%s): Invalid DHCP client-id %s\n"
+#~ msgstr "(%s): Ungültige DHCP Client-Kennung %s\n"
+
+#~ msgid "mdns value %d is not valid"
+#~ msgstr "Der mdns-Wert %d ist ungültig"
+
+#~ msgid ""
+#~ "The setting's name, which uniquely identifies the setting within the "
+#~ "connection. Each setting type has a name unique to that type, for example "
+#~ "\"ppp\" or \"wireless\" or \"wired\"."
+#~ msgstr ""
+#~ "Der Name der Einstellung, welcher eindeutig die Einstellung in dieser "
+#~ "Verbindung identifiziert. Jeder Einstellungstyp hat einen für diesen Typ "
+#~ "eindeutigen Namen, beispielsweise »ppp«, »Funk« oder »Kabel«."
+
+#~ msgid "Error in configuration file: %s.\n"
+#~ msgstr "Fehler in Konfigurationsdatei: %s.\n"
+
+#~ msgid "Ignoring unrecognized log domain(s) '%s' from config files.\n"
+#~ msgstr ""
+#~ "Unbekannte Protokolldomäne(n) »%s« aus den Konfigurationsdateien werden "
+#~ "ignoriert.\n"
+
+#~ msgid "'%s' is ambiguous (%s x %s)"
+#~ msgstr "»%s« ist mehrdeutig (%s x %s)"
+
+#~ msgid "when link autonegotiation is enabled no duplex value is accepted"
+#~ msgstr ""
+#~ "Wenn die Verbindungsaushandlung eingeschaltet ist, dann wird kein Duplex-"
+#~ "Wert akzeptiert"
+
+#~ msgid "when link autonegotiation is enabled speed should be 0"
+#~ msgstr ""
+#~ "Wenn die Verbindungsaushandlung eingeschaltet ist, dann sollte die "
+#~ "Geschwindigkeit 0 sein"
+
+#~ msgid "Error: bad color: %s\n"
+#~ msgstr "Fehler: Falsche Farbe: %s\n"
+
+#~ msgid "'%s' is not a valid flag number; use <0-%d>"
+#~ msgstr "»%s« ist keine gültige flag-Zahl. Verwenden Sie <0-%d>"
+
+#~ msgid "'%s' sum is higher than all flags => all flags set"
+#~ msgstr "Die Summe »%s« ist größer als alle Flags => alle Flags gesetzt"
+
+#~ msgid "%d (disabled)"
+#~ msgstr "%d (deaktiviert)"
+
+#~ msgid "%d (enabled, prefer public IP)"
+#~ msgstr "%d (aktiviert, öffentliche IP bevorzugen)"
+
+#~ msgid "%d (enabled, prefer temporary IP)"
+#~ msgstr "%d (aktiviert, temporäre IP bevorzugen)"
+
+#~ msgid "Array of DNS search domains."
+#~ msgstr "Feld mit DNS-Suchdomänen."
+
+#~ msgid "ignoring invalid DNS server IPv6 address '%s'"
+#~ msgstr "Ungültige DNS-Server IPv6-Adresse »%s« wird ignoriert"
diff --git a/po/ru.po b/po/ru.po
index 5d718cd98f..2844510ec0 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -2,14 +2,19 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Дронова Юлия <juliette.tux@gmail.com>, 2023.
+# SPDX-FileCopyrightText: 2024 SPDX-FileCopyrightText :
+# SPDX-FileCopyrightText: 2024 SPDX-FileCopyrightText :
+# SPDX-FileCopyrightText: 2024 SPDX-FileCopyrightText :
+# SPDX-FileCopyrightText: 2024 SPDX-FileCopyrightText :
+# SPDX-FileCopyrightText: 2024 SPDX-FileCopyrightText :
msgid ""
msgstr ""
"Project-Id-Version: NetworkManager\n"
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
"NetworkManager/issues\n"
-"POT-Creation-Date: 2023-12-18 03:26+0000\n"
-"PO-Revision-Date: 2023-12-18 14:16+0300\n"
-"Last-Translator: Aleksandr Melman <Alexmelman88@gmail.com>\n"
+"POT-Creation-Date: 2024-01-22 03:26+0000\n"
+"PO-Revision-Date: 2024-01-22 12:01+0300\n"
+"Last-Translator: Дронова Юлия <juliette.tux@gmail.com>\n"
"Language-Team: RU\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
@@ -17,7 +22,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Poedit 3.4.1\n"
+"X-Generator: Lokalize 23.08.1\n"
#: data/org.freedesktop.NetworkManager.policy.in.in:13
msgid "Enable or disable system networking"
@@ -26,8 +31,8 @@ msgstr "Включение или выключение сетевой конфи
#: data/org.freedesktop.NetworkManager.policy.in.in:14
msgid "System policy prevents enabling or disabling system networking"
msgstr ""
-"Системная политика препятствует включению или отключению сетевой конфигурации "
-"системы"
+"Системная политика препятствует включению или отключению сетевой "
+"конфигурации системы"
#: data/org.freedesktop.NetworkManager.policy.in.in:22
msgid "Reload NetworkManager configuration"
@@ -39,11 +44,11 @@ msgstr "Системная политика препятствует перез
#: data/org.freedesktop.NetworkManager.policy.in.in:32
msgid ""
-"Put NetworkManager to sleep or wake it up (should only be used by system power "
-"management)"
+"Put NetworkManager to sleep or wake it up (should only be used by system "
+"power management)"
msgstr ""
-"Перевести NetworkManager в режим сна или пробудить его (должно использоваться "
-"только системой управления питанием)"
+"Перевести NetworkManager в режим сна или пробудить его (должно "
+"использоваться только системой управления питанием)"
#: data/org.freedesktop.NetworkManager.policy.in.in:33
msgid "System policy prevents putting NetworkManager to sleep or waking it up"
@@ -66,8 +71,8 @@ msgstr "Включить или выключить устройства широ
#: data/org.freedesktop.NetworkManager.policy.in.in:51
msgid "System policy prevents enabling or disabling mobile broadband devices"
msgstr ""
-"Системная политика запрещает включение или выключение устройств широкополосной "
-"мобильной связи"
+"Системная политика запрещает включение или выключение устройств "
+"широкополосной мобильной связи"
#: data/org.freedesktop.NetworkManager.policy.in.in:59
msgid "Enable or disable WiMAX mobile broadband devices"
@@ -101,10 +106,11 @@ msgid "Connection sharing via a protected Wi-Fi network"
msgstr "Совместное использование подключений в защищённой сети Wi-Fi"
#: data/org.freedesktop.NetworkManager.policy.in.in:89
-msgid "System policy prevents sharing connections via a protected Wi-Fi network"
+msgid ""
+"System policy prevents sharing connections via a protected Wi-Fi network"
msgstr ""
-"Системная политика запрещает совместное использование подключений в защищённой "
-"сети Wi-Fi"
+"Системная политика запрещает совместное использование подключений в "
+"защищённой сети Wi-Fi"
#: data/org.freedesktop.NetworkManager.policy.in.in:97
msgid "Connection sharing via an open Wi-Fi network"
@@ -148,7 +154,8 @@ msgstr "Изменить постоянную глобальную конфиг
#: data/org.freedesktop.NetworkManager.policy.in.in:137
msgid ""
-"System policy prevents modification of the persistent global DNS configuration"
+"System policy prevents modification of the persistent global DNS "
+"configuration"
msgstr ""
"Системная политика запрещает изменение постоянной глобальной конфигурации DNS"
@@ -169,7 +176,8 @@ msgstr "Включение и отключение статистики устр
#: data/org.freedesktop.NetworkManager.policy.in.in:157
msgid "System policy prevents enabling or disabling device statistics"
msgstr ""
-"Системная политика предотвращает включение или отключение статистики устройства"
+"Системная политика предотвращает включение или отключение статистики "
+"устройства"
#: data/org.freedesktop.NetworkManager.policy.in.in:165
msgid "Enable or disable connectivity checking"
@@ -178,8 +186,8 @@ msgstr "Включение или отключение проверки возм
#: data/org.freedesktop.NetworkManager.policy.in.in:166
msgid "System policy prevents enabling or disabling connectivity checking"
msgstr ""
-"Системная политика предотвращает включение или отключение проверки возможности "
-"подключения"
+"Системная политика предотвращает включение или отключение проверки "
+"возможности подключения"
#. TRANSLATORS: the first %s is a prefix for the connection id, such
#. * as "Wired Connection" or "VPN Connection". The %d is a number
@@ -192,7 +200,7 @@ msgid "%s %u"
msgstr "%s %u"
#: src/core/devices/adsl/nm-device-adsl.c:118
-#: src/libnmc-setting/nm-meta-setting-desc.c:8584
+#: src/libnmc-setting/nm-meta-setting-desc.c:8633
msgid "ADSL connection"
msgstr "Подключение ADSL"
@@ -271,7 +279,7 @@ msgid "Wired connection %d"
msgstr "Проводное подключение %d"
#: src/core/devices/nm-device-ethernet.c:1641
-#: src/libnmc-setting/nm-meta-setting-desc.c:8626
+#: src/libnmc-setting/nm-meta-setting-desc.c:8675
msgid "Veth connection"
msgstr "Подключение Veth"
@@ -284,7 +292,7 @@ msgid "Wired connection"
msgstr "Проводное подключение"
#: src/core/devices/nm-device-infiniband.c:160
-#: src/libnmc-setting/nm-meta-setting-desc.c:8599
+#: src/libnmc-setting/nm-meta-setting-desc.c:8648
msgid "InfiniBand connection"
msgstr "Подключение InfiniBand"
@@ -305,17 +313,17 @@ msgid "TUN connection"
msgstr "Подключение TUN"
#: src/core/devices/nm-device-vlan.c:380
-#: src/libnmc-setting/nm-meta-setting-desc.c:8627
+#: src/libnmc-setting/nm-meta-setting-desc.c:8676
msgid "VLAN connection"
msgstr "Подключение VLAN"
#: src/core/devices/nm-device-vrf.c:185
-#: src/libnmc-setting/nm-meta-setting-desc.c:8629
+#: src/libnmc-setting/nm-meta-setting-desc.c:8678
msgid "VRF connection"
msgstr "Подключение VRF"
#: src/core/devices/nm-device-vxlan.c:385
-#: src/libnmc-setting/nm-meta-setting-desc.c:8630
+#: src/libnmc-setting/nm-meta-setting-desc.c:8679
msgid "VXLAN connection"
msgstr "Подключение VXLAN"
@@ -367,7 +375,8 @@ msgstr ""
#, c-format
msgid "a connection using '%s' authentication cannot specify WPA protocols"
msgstr ""
-"подключение, использующее аутентификацию «%s», не может указывать протоколы WPA"
+"подключение, использующее аутентификацию «%s», не может указывать протоколы "
+"WPA"
#: src/core/devices/wifi/nm-wifi-utils.c:181
#: src/core/devices/wifi/nm-wifi-utils.c:200
@@ -468,7 +477,8 @@ msgstr ""
#: src/core/devices/wifi/nm-wifi-utils.c:761
msgid ""
-"WPA authentication is incompatible with non-EAP (original) LEAP or Dynamic WEP"
+"WPA authentication is incompatible with non-EAP (original) LEAP or Dynamic "
+"WEP"
msgstr ""
"Аутентификация WPA несовместима с LEAP без EAP (изначально) или динамическим "
"WEP"
@@ -504,11 +514,12 @@ msgstr "Сбой при записи в %s: %s\n"
msgid "Cannot create '%s': %s"
msgstr "Не удалось создать «%s»: %s"
-#: src/core/main-utils.c:196
+#: src/core/main-utils.c:195
+#, c-format
msgid "%s is already running (pid %lld)\n"
msgstr "%s уже запущен (pid %lld)\n"
-#: src/core/main-utils.c:266 src/core/main.c:368
+#: src/core/main-utils.c:263 src/core/main.c:368
#, c-format
msgid "%s. Please use --help to see a list of valid options.\n"
msgstr "%s. Используйте --help для вывода списка действительных параметров.\n"
@@ -535,8 +546,8 @@ msgstr "Уровень журнала: одно значение из [%s]"
#, c-format
msgid "Log domains separated by ',': any combination of [%s]"
msgstr ""
-"Домены журналов должны быть перечислены через запятую и могут содержать любую "
-"комбинацию [%s]."
+"Домены журналов должны быть перечислены через запятую и могут содержать "
+"любую комбинацию [%s]."
#: src/core/main.c:219
msgid "Make all warnings fatal"
@@ -602,8 +613,8 @@ msgstr "Местоположение файла состояния"
#: src/core/nm-config.c:618
msgid "State file for no-auto-default devices"
msgstr ""
-"Файл состояния для устройств, которые автоматически не устанавливают параметры "
-"по умолчанию"
+"Файл состояния для устройств, которые автоматически не устанавливают "
+"параметры по умолчанию"
#: src/core/nm-config.c:625
msgid "List of plugins separated by ','"
@@ -637,25 +648,25 @@ msgstr "Параметры NetworkManager"
msgid "Show NetworkManager options"
msgstr "Показать параметры NetworkManager"
-#: src/core/nm-manager.c:6886 src/libnmc-setting/nm-meta-setting-desc.c:8628
+#: src/core/nm-manager.c:6886 src/libnmc-setting/nm-meta-setting-desc.c:8677
msgid "VPN connection"
msgstr "Подключение VPN"
#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:5650
#: src/libnm-client-impl/nm-device.c:1781
-#: src/libnm-core-impl/nm-connection.c:3245 src/nmtui/nm-editor-utils.c:196
+#: src/libnm-core-impl/nm-connection.c:3237 src/nmtui/nm-editor-utils.c:196
msgid "Bond"
msgstr "Агрегированное (Bond)"
#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:5721
#: src/libnm-client-impl/nm-device.c:1783
-#: src/libnm-core-impl/nm-connection.c:3247 src/nmtui/nm-editor-utils.c:214
+#: src/libnm-core-impl/nm-connection.c:3239 src/nmtui/nm-editor-utils.c:214
msgid "Team"
msgstr "Агрегированное (Team)"
#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:6058
#: src/libnm-client-impl/nm-device.c:1785
-#: src/libnm-core-impl/nm-connection.c:3249 src/nmtui/nm-editor-utils.c:205
+#: src/libnm-core-impl/nm-connection.c:3241 src/nmtui/nm-editor-utils.c:205
msgid "Bridge"
msgstr "Мост"
@@ -681,8 +692,8 @@ msgstr "Недействительный одноранговый узел, на
#: src/libnm-client-impl/nm-conn-utils.c:171
msgid ""
-"The name of the WireGuard config must be a valid interface name followed by \"."
-"conf\""
+"The name of the WireGuard config must be a valid interface name followed by "
+"\".conf\""
msgstr ""
"Имя файла конфигурации WireGuard должно представлять из себя действительное "
"имя интерфейса, за которым следует \".conf\""
@@ -736,7 +747,8 @@ msgid "The Bluetooth addresses of the device and the connection didn't match."
msgstr "Адреса Bluetooth устройства и подключения не совпадают."
#: src/libnm-client-impl/nm-device-bt.c:173
-msgid "The device is lacking Bluetooth capabilities required by the connection."
+msgid ""
+"The device is lacking Bluetooth capabilities required by the connection."
msgstr ""
"Устройство не поддерживает возможности Bluetooth, запрашиваемые данным "
"подключением."
@@ -822,7 +834,8 @@ msgstr "Это подключение не было действительным
#: src/libnm-client-impl/nm-device-modem.c:200
msgid "The device is lacking capabilities required by the connection."
-msgstr "Устройство не поддерживает возможности, запрашиваемые этим подключением."
+msgstr ""
+"Устройство не поддерживает возможности, запрашиваемые этим подключением."
#: src/libnm-client-impl/nm-device-olpc-mesh.c:103
msgid "The connection was not an OLPC Mesh connection."
@@ -890,7 +903,8 @@ msgstr "Это подключение не было подключением Wi-
#: src/libnm-client-impl/nm-device-wifi.c:511
msgid "The device is lacking WPA capabilities required by the connection."
-msgstr "Устройство не поддерживает возможности WPA, запрашиваемые подключением."
+msgstr ""
+"Устройство не поддерживает возможности WPA, запрашиваемые подключением."
#: src/libnm-client-impl/nm-device-wifi.c:521
msgid "The device is lacking WPA2/RSN capabilities required by the connection."
@@ -939,12 +953,12 @@ msgid "Mobile Broadband"
msgstr "Мобильное широкополосное"
#: src/libnm-client-impl/nm-device.c:1779
-#: src/libnm-core-impl/nm-connection.c:3253 src/nmtui/nm-editor-utils.c:169
+#: src/libnm-core-impl/nm-connection.c:3245 src/nmtui/nm-editor-utils.c:169
msgid "InfiniBand"
msgstr "InfiniBand"
#: src/libnm-client-impl/nm-device.c:1787
-#: src/libnm-core-impl/nm-connection.c:3251 src/nmtui/nm-editor-utils.c:223
+#: src/libnm-core-impl/nm-connection.c:3243 src/nmtui/nm-editor-utils.c:223
#: src/nmtui/nmt-page-vlan.c:57
msgid "VLAN"
msgstr "VLAN"
@@ -995,7 +1009,7 @@ msgid "6LoWPAN"
msgstr "6LoWPAN"
#: src/libnm-client-impl/nm-device.c:1811
-#: src/libnm-core-impl/nm-connection.c:3259 src/nmtui/nm-editor-utils.c:271
+#: src/libnm-core-impl/nm-connection.c:3251 src/nmtui/nm-editor-utils.c:271
#: src/nmtui/nmt-page-wireguard.c:57
msgid "WireGuard"
msgstr "WireGuard"
@@ -1041,7 +1055,8 @@ msgstr "USB"
#. * "%2$s (%1$s)" if there's no grammatical way to combine
#. * the strings otherwise.
#.
-#: src/libnm-client-impl/nm-device.c:2184 src/libnm-client-impl/nm-device.c:2203
+#: src/libnm-client-impl/nm-device.c:2184
+#: src/libnm-client-impl/nm-device.c:2203
#, c-format
msgctxt "long device name"
msgid "%s %s"
@@ -1188,36 +1203,36 @@ msgstr "имеет UUID, для которого требуется нормал
msgid "has duplicate UUIDs"
msgstr "имеет дублирующиеся UUID"
-#: src/libnm-core-impl/nm-connection.c:1846
+#: src/libnm-core-impl/nm-connection.c:1839
msgid "setting not found"
msgstr "параметр не найден"
-#: src/libnm-core-impl/nm-connection.c:1900
-#: src/libnm-core-impl/nm-connection.c:1925
-#: src/libnm-core-impl/nm-connection.c:1950
+#: src/libnm-core-impl/nm-connection.c:1893
+#: src/libnm-core-impl/nm-connection.c:1918
+#: src/libnm-core-impl/nm-connection.c:1943
msgid "setting is required for non-slave connections"
msgstr "параметр обязателен для неподчинённых подключений"
-#: src/libnm-core-impl/nm-connection.c:1913
-#: src/libnm-core-impl/nm-connection.c:1938
-#: src/libnm-core-impl/nm-connection.c:1963
+#: src/libnm-core-impl/nm-connection.c:1906
+#: src/libnm-core-impl/nm-connection.c:1931
+#: src/libnm-core-impl/nm-connection.c:1956
msgid "setting not allowed in slave connection"
msgstr "параметр не может использоваться подчинёнными подключениями"
-#: src/libnm-core-impl/nm-connection.c:2076
+#: src/libnm-core-impl/nm-connection.c:2068
msgid "Unexpected failure to normalize the connection"
msgstr "Непредвиденный сбой при нормализации подключения"
-#: src/libnm-core-impl/nm-connection.c:2137
+#: src/libnm-core-impl/nm-connection.c:2129
msgid "Unexpected failure to verify the connection"
msgstr "Непредвиденный сбой при проверке подключения"
-#: src/libnm-core-impl/nm-connection.c:2174
+#: src/libnm-core-impl/nm-connection.c:2166
#, c-format
msgid "unexpected uuid %s instead of %s"
msgstr "непредвиденный uuid %s вместо %s"
-#: src/libnm-core-impl/nm-connection.c:3103
+#: src/libnm-core-impl/nm-connection.c:3095
#: src/libnm-core-impl/nm-setting-8021x.c:2621
#: src/libnm-core-impl/nm-setting-8021x.c:2658
#: src/libnm-core-impl/nm-setting-8021x.c:2676
@@ -1227,9 +1242,9 @@ msgstr "непредвиденный uuid %s вместо %s"
#: src/libnm-core-impl/nm-setting-bluetooth.c:190
#: src/libnm-core-impl/nm-setting-bluetooth.c:207
#: src/libnm-core-impl/nm-setting-cdma.c:142
-#: src/libnm-core-impl/nm-setting-connection.c:1167
-#: src/libnm-core-impl/nm-setting-connection.c:1205
-#: src/libnm-core-impl/nm-setting-connection.c:1534
+#: src/libnm-core-impl/nm-setting-connection.c:1188
+#: src/libnm-core-impl/nm-setting-connection.c:1226
+#: src/libnm-core-impl/nm-setting-connection.c:1555
#: src/libnm-core-impl/nm-setting-ip-config.c:5480
#: src/libnm-core-impl/nm-setting-ip-tunnel.c:405
#: src/libnm-core-impl/nm-setting-olpc-mesh.c:97
@@ -1239,15 +1254,15 @@ msgstr "непредвиденный uuid %s вместо %s"
#: src/libnm-core-impl/nm-setting-wifi-p2p.c:119
#: src/libnm-core-impl/nm-setting-wimax.c:106
#: src/libnm-core-impl/nm-setting-wireless-security.c:912
-#: src/libnm-core-impl/nm-setting-wireless.c:850
+#: src/libnm-core-impl/nm-setting-wireless.c:895
msgid "property is missing"
msgstr "свойство отсутствует"
-#: src/libnm-core-impl/nm-connection.c:3257
+#: src/libnm-core-impl/nm-connection.c:3249
msgid "IP Tunnel"
msgstr "IP-туннель"
-#: src/libnm-core-impl/nm-connection.c:3261
+#: src/libnm-core-impl/nm-connection.c:3253
msgid "TUN/TAP"
msgstr "TUN/TAP"
@@ -1318,7 +1333,8 @@ msgstr ""
#: src/libnm-core-impl/nm-keyfile.c:710
#, c-format
msgid "missing prefix length for %s '%s', defaulting to %d"
-msgstr "не указана длина префикса %s «%s»; по умолчанию будет использоваться %d"
+msgstr ""
+"не указана длина префикса %s «%s»; по умолчанию будет использоваться %d"
#: src/libnm-core-impl/nm-keyfile.c:1053
#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:370
@@ -1396,7 +1412,7 @@ msgstr ""
msgid "invalid parity value '%s'"
msgstr "недействительное значение чётности: «%s»"
-#: src/libnm-core-impl/nm-keyfile.c:1963 src/libnm-core-impl/nm-keyfile.c:3549
+#: src/libnm-core-impl/nm-keyfile.c:1963 src/libnm-core-impl/nm-keyfile.c:3545
#, c-format
msgid "invalid setting: %s"
msgstr "недействительный параметр: %s"
@@ -1416,89 +1432,90 @@ msgstr "недействительный планировщик очередей
msgid "invalid tfilter: %s"
msgstr "недействительный tfilter: %s"
-#: src/libnm-core-impl/nm-keyfile.c:3374
+#: src/libnm-core-impl/nm-keyfile.c:3370
#, c-format
msgid "error loading setting value: %s"
msgstr "ошибка загрузки значения параметра: %s"
-#: src/libnm-core-impl/nm-keyfile.c:3405 src/libnm-core-impl/nm-keyfile.c:3417
-#: src/libnm-core-impl/nm-keyfile.c:3436 src/libnm-core-impl/nm-keyfile.c:3448
-#: src/libnm-core-impl/nm-keyfile.c:3460 src/libnm-core-impl/nm-keyfile.c:3522
-#: src/libnm-core-impl/nm-keyfile.c:3534
+#: src/libnm-core-impl/nm-keyfile.c:3401 src/libnm-core-impl/nm-keyfile.c:3413
+#: src/libnm-core-impl/nm-keyfile.c:3432 src/libnm-core-impl/nm-keyfile.c:3444
+#: src/libnm-core-impl/nm-keyfile.c:3456 src/libnm-core-impl/nm-keyfile.c:3518
+#: src/libnm-core-impl/nm-keyfile.c:3530
msgid "value cannot be interpreted as integer"
msgstr "значение не может быть интерпретировано как целое"
-#: src/libnm-core-impl/nm-keyfile.c:3490
+#: src/libnm-core-impl/nm-keyfile.c:3486
#, c-format
msgid "ignoring invalid byte element '%u' (not between 0 and 255 inclusive)"
msgstr ""
"недействительный байтовый элемент «%u» игнорируется (должен находиться в "
"диапазоне от 0 до 255 включительно)"
-#: src/libnm-core-impl/nm-keyfile.c:3574
+#: src/libnm-core-impl/nm-keyfile.c:3570
#, c-format
msgid "invalid setting name '%s'"
msgstr "недействительное название параметра «%s»"
-#: src/libnm-core-impl/nm-keyfile.c:3621
+#: src/libnm-core-impl/nm-keyfile.c:3617
#, c-format
msgid "invalid key '%s.%s'"
msgstr "недействительный ключ '%s.%s'"
-#: src/libnm-core-impl/nm-keyfile.c:3637
+#: src/libnm-core-impl/nm-keyfile.c:3633
#, c-format
msgid "key '%s.%s' is not boolean"
msgstr "ключ «%s.%s» не является логическим значением"
-#: src/libnm-core-impl/nm-keyfile.c:3654
+#: src/libnm-core-impl/nm-keyfile.c:3650
#, c-format
msgid "key '%s.%s' is not a uint32"
msgstr "ключ '%s.%s' не имеет тип uint32"
-#: src/libnm-core-impl/nm-keyfile.c:3711
+#: src/libnm-core-impl/nm-keyfile.c:3707
#, c-format
msgid "invalid peer public key in section '%s'"
msgstr "недействительный открытый ключ однорангового узла в разделе «%s»"
-#: src/libnm-core-impl/nm-keyfile.c:3726
+#: src/libnm-core-impl/nm-keyfile.c:3722
#, c-format
msgid "key '%s.%s' is not a valid 256 bit key in base64 encoding"
msgstr ""
-"ключ «%s.%s» не является недействительным 256-битным ключом в кодировке base64"
+"ключ «%s.%s» не является недействительным 256-битным ключом в кодировке "
+"base64"
-#: src/libnm-core-impl/nm-keyfile.c:3749
+#: src/libnm-core-impl/nm-keyfile.c:3745
#, c-format
msgid "key '%s.%s' is not a valid secret flag"
msgstr "ключ «%s.%s» не является недействительным флагом секрета"
-#: src/libnm-core-impl/nm-keyfile.c:3772
+#: src/libnm-core-impl/nm-keyfile.c:3768
#, c-format
msgid "key '%s.%s' is not a integer in range 0 to 2^32"
msgstr "ключ «%s.%s» не является целым числом в диапазоне от 0 до 2^32"
-#: src/libnm-core-impl/nm-keyfile.c:3788
+#: src/libnm-core-impl/nm-keyfile.c:3784
#, c-format
msgid "key '%s.%s' is not a valid endpoint"
msgstr "ключ «%s.%s» не является недействительной конечной точкой"
-#: src/libnm-core-impl/nm-keyfile.c:3814
+#: src/libnm-core-impl/nm-keyfile.c:3810
#, c-format
msgid "key '%s.%s' has invalid allowed-ips"
msgstr "у ключа «%s.%s» недействительные значения allowed-ips"
-#: src/libnm-core-impl/nm-keyfile.c:3829
+#: src/libnm-core-impl/nm-keyfile.c:3825
#, c-format
msgid "peer '%s' is invalid: %s"
msgstr "недействительный одноранговый узел «%s»: %s"
-#: src/libnm-core-impl/nm-keyfile.c:4357
+#: src/libnm-core-impl/nm-keyfile.c:4353
#, c-format
msgid "unsupported option \"%s.%s\" of variant type %s"
msgstr "неподдерживаемый параметр \"%s.%s\" типа варианта %s"
#: src/libnm-core-impl/nm-setting-6lowpan.c:81
-#: src/libnm-core-impl/nm-setting-hsr.c:153
-#: src/libnm-core-impl/nm-setting-hsr.c:171
+#: src/libnm-core-impl/nm-setting-hsr.c:131
+#: src/libnm-core-impl/nm-setting-hsr.c:149
#: src/libnm-core-impl/nm-setting-veth.c:81
msgid "property is not specified"
msgstr "свойство не указано"
@@ -1574,9 +1591,9 @@ msgstr "пароль не поддерживается, если сертифи
#: src/libnm-core-impl/nm-setting-adsl.c:179
#: src/libnm-core-impl/nm-setting-cdma.c:147
#: src/libnm-core-impl/nm-setting-cdma.c:157
-#: src/libnm-core-impl/nm-setting-connection.c:1177
-#: src/libnm-core-impl/nm-setting-connection.c:1220
-#: src/libnm-core-impl/nm-setting-connection.c:1472
+#: src/libnm-core-impl/nm-setting-connection.c:1198
+#: src/libnm-core-impl/nm-setting-connection.c:1241
+#: src/libnm-core-impl/nm-setting-connection.c:1493
#: src/libnm-core-impl/nm-setting-gsm.c:396
#: src/libnm-core-impl/nm-setting-gsm.c:411
#: src/libnm-core-impl/nm-setting-gsm.c:454
@@ -1591,7 +1608,7 @@ msgstr "пароль не поддерживается, если сертифи
#: src/libnm-core-impl/nm-setting-wimax.c:107
#: src/libnm-core-impl/nm-setting-wireless-security.c:968
#: src/libnm-core-impl/nm-setting-wireless-security.c:996
-#: src/libnm-core-impl/nm-setting.c:2462
+#: src/libnm-core-impl/nm-setting.c:2461
msgid "property is empty"
msgstr "пустое свойство"
@@ -1629,10 +1646,11 @@ msgstr "может активироваться только в подключе
#: src/libnm-core-impl/nm-setting-wireless-security.c:1089
#: src/libnm-core-impl/nm-setting-wireless-security.c:1156
#: src/libnm-core-impl/nm-setting-wireless-security.c:1205
-#: src/libnm-core-impl/nm-setting-wireless.c:946
-#: src/libnm-core-impl/nm-setting-wireless.c:958
-#: src/libnm-core-impl/nm-setting-wireless.c:971
-#: src/libnm-core-impl/nm-setting-wpan.c:164 src/libnm-core-impl/nm-utils.c:4557
+#: src/libnm-core-impl/nm-setting-wireless.c:991
+#: src/libnm-core-impl/nm-setting-wireless.c:1003
+#: src/libnm-core-impl/nm-setting-wireless.c:1016
+#: src/libnm-core-impl/nm-setting-wpan.c:164
+#: src/libnm-core-impl/nm-utils.c:4557
msgid "property is invalid"
msgstr "недействительное свойство"
@@ -1687,8 +1705,8 @@ msgstr "не указан параметр"
#: src/libnm-core-impl/nm-setting-team-port.c:331
#, c-format
msgid ""
-"A connection with a '%s' setting must have the slave-type set to '%s'. Instead "
-"it is '%s'"
+"A connection with a '%s' setting must have the slave-type set to '%s'. "
+"Instead it is '%s'"
msgstr ""
"Подключение с параметром '%s' должно иметь тип подчинённости '%s'. Вместо "
"этого установлено '%s'"
@@ -1836,92 +1854,92 @@ msgstr "параметр '%s' должен быть степенью числа
msgid "bridge connection should have a ethernet setting as well"
msgstr "в подключении типа мост должны быть также и параметры ethernet"
-#: src/libnm-core-impl/nm-setting-connection.c:1060
+#: src/libnm-core-impl/nm-setting-connection.c:1081
#, c-format
msgid "setting required for connection of type '%s'"
msgstr "параметр обязателен для подключения с типом «%s»"
-#: src/libnm-core-impl/nm-setting-connection.c:1091
+#: src/libnm-core-impl/nm-setting-connection.c:1112
#, c-format
msgid "Unknown slave type '%s'"
msgstr "Неизвестный тип подчиненного подключения: '%s'"
-#: src/libnm-core-impl/nm-setting-connection.c:1106
+#: src/libnm-core-impl/nm-setting-connection.c:1127
#, c-format
msgid "Slave connections need a valid '%s' property"
msgstr "Подчинённые подключения должны иметь действительное свойство «%s»"
-#: src/libnm-core-impl/nm-setting-connection.c:1130
+#: src/libnm-core-impl/nm-setting-connection.c:1151
#, c-format
msgid "Cannot set '%s' without '%s'"
msgstr "Нельзя настроить «%s» без «%s»"
-#: src/libnm-core-impl/nm-setting-connection.c:1189
+#: src/libnm-core-impl/nm-setting-connection.c:1210
#, c-format
msgid "'%s' is not a valid UUID"
msgstr "Недействительный UUID: «%s»"
-#: src/libnm-core-impl/nm-setting-connection.c:1234
+#: src/libnm-core-impl/nm-setting-connection.c:1255
#, c-format
msgid "connection type '%s' is not valid"
msgstr "недействительный тип подключения «%s»"
-#: src/libnm-core-impl/nm-setting-connection.c:1340
+#: src/libnm-core-impl/nm-setting-connection.c:1361
#, c-format
msgid "'%s' connections must be enslaved to '%s', not '%s'"
msgstr "подключения «%s» должны быть подчинены «%s», а не «%s»"
-#: src/libnm-core-impl/nm-setting-connection.c:1355
+#: src/libnm-core-impl/nm-setting-connection.c:1376
#, c-format
msgid "metered value %d is not valid"
msgstr "недействительное лимитное значение %d"
-#: src/libnm-core-impl/nm-setting-connection.c:1369
-#: src/libnm-core-impl/nm-setting-connection.c:1383
-#: src/libnm-core-impl/nm-setting-connection.c:1397
-#: src/libnm-core-impl/nm-setting-connection.c:1458
+#: src/libnm-core-impl/nm-setting-connection.c:1390
+#: src/libnm-core-impl/nm-setting-connection.c:1404
+#: src/libnm-core-impl/nm-setting-connection.c:1418
+#: src/libnm-core-impl/nm-setting-connection.c:1479
#, c-format
msgid "value %d is not valid"
msgstr "значение %d не является действительным"
-#: src/libnm-core-impl/nm-setting-connection.c:1413
+#: src/libnm-core-impl/nm-setting-connection.c:1434
msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
msgstr "флаг \"disabled\" нельзя сочетать с другими флагами MPTCP"
-#: src/libnm-core-impl/nm-setting-connection.c:1427
+#: src/libnm-core-impl/nm-setting-connection.c:1448
msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
msgstr ""
"нельзя одновременно указывать и флаг \"signal\" и флаг \"fullmesh\" MPTCP"
-#: src/libnm-core-impl/nm-setting-connection.c:1439
+#: src/libnm-core-impl/nm-setting-connection.c:1460
#, c-format
msgid "value %u is not a valid combination of MPTCP flags"
msgstr "значение %u не является действительным сочетанием флагов MPTCP"
-#: src/libnm-core-impl/nm-setting-connection.c:1486
+#: src/libnm-core-impl/nm-setting-connection.c:1507
msgid "DHCP option cannot be longer than 255 characters"
msgstr "параметр DHCP не может превышать 255 символов"
-#: src/libnm-core-impl/nm-setting-connection.c:1497
+#: src/libnm-core-impl/nm-setting-connection.c:1518
msgid "MUD URL is not a valid URL"
msgstr "MUD URL не является действительным URL"
-#: src/libnm-core-impl/nm-setting-connection.c:1517
+#: src/libnm-core-impl/nm-setting-connection.c:1538
msgid "invalid permissions not in format \"user:$UNAME[:]\""
msgstr "недействительные полномочия не в формате \"user:$UNAME[:]\""
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1567
#, c-format
msgid "property type should be set to '%s'"
msgstr "свойство должно иметь тип «%s»"
-#: src/libnm-core-impl/nm-setting-connection.c:1564
+#: src/libnm-core-impl/nm-setting-connection.c:1585
#, c-format
msgid "slave-type '%s' requires a '%s' setting in the connection"
msgstr ""
"для подчинённого подключения типа «%s» необходимо определить параметр «%s»"
-#: src/libnm-core-impl/nm-setting-connection.c:1575
+#: src/libnm-core-impl/nm-setting-connection.c:1596
#, c-format
msgid ""
"Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1930,18 +1948,18 @@ msgstr ""
"Определить подчинённое подключение с установленным «%s» и типом порта «%s». "
"«%s» должно иметь значение «%s»."
-#: src/libnm-core-impl/nm-setting-connection.c:1601
+#: src/libnm-core-impl/nm-setting-connection.c:1622
#, c-format
msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
msgstr ""
"Подчинённое подключение со значением '%s' для параметра '%s'не может иметь "
"параметр '%s'"
-#: src/libnm-core-impl/nm-setting-connection.c:1618
+#: src/libnm-core-impl/nm-setting-connection.c:1639
msgid "UUID needs normalization"
msgstr "требуется нормализация UUID"
-#: src/libnm-core-impl/nm-setting-connection.c:1633
+#: src/libnm-core-impl/nm-setting-connection.c:1654
msgid "read-only is deprecated and not settable for the user"
msgstr ""
"только для чтения является устаревшим и не настраивается для пользователя"
@@ -2028,26 +2046,13 @@ msgstr "свойство может содержать только цифры"
msgid "can't be enabled when manual configuration is present"
msgstr "нельзя активировать в присутствии ручной конфигурации"
-#: src/libnm-core-impl/nm-setting-hsr.c:161
-#: src/libnm-core-impl/nm-setting-hsr.c:179
+#: src/libnm-core-impl/nm-setting-hsr.c:139
+#: src/libnm-core-impl/nm-setting-hsr.c:157
#: src/libnm-core-impl/nm-setting-veth.c:90
#, c-format
msgid "'%s' is not a valid interface name"
msgstr "Недействительное имя интерфейса «%s»"
-#: src/libnm-core-impl/nm-setting-hsr.c:189
-#: src/libnm-core-impl/nm-setting-sriov.c:422
-#: src/libnm-core-impl/nm-setting-wired.c:809
-#: src/libnm-core-impl/nm-setting-wired.c:825
-#: src/libnm-core-impl/nm-setting-wired.c:899
-#: src/libnm-core-impl/nm-setting-wired.c:958
-#: src/libnm-core-impl/nm-setting-wireless.c:1006
-#: src/libnm-core-impl/nm-setting-wireless.c:1025
-#: src/libnmc-setting/nm-meta-setting-desc.c:4283
-#, c-format
-msgid "'%s' is not a valid MAC address"
-msgstr "Недействительный MAC-адрес: «%s»"
-
#: src/libnm-core-impl/nm-setting-infiniband.c:213
msgid "Must specify a P_Key if specifying parent"
msgstr "При указании родительского интерфейса необходимо указать P_Key"
@@ -2063,8 +2068,8 @@ msgstr "значения 0 и 0x8000 не допускаются"
#: src/libnm-core-impl/nm-setting-infiniband.c:260
#, c-format
msgid ""
-"interface name of software infiniband device must be '%s' or unset (instead it "
-"is '%s')"
+"interface name of software infiniband device must be '%s' or unset (instead "
+"it is '%s')"
msgstr ""
"интерфейс программного устройства InfiniBand должно иметь имя «%s» или "
"оставаться пустым (а не «%s»)"
@@ -2173,7 +2178,8 @@ msgstr "маршрут %s не может иметь next-hop"
#: src/libnm-core-impl/nm-setting-ip-config.c:1555
#, c-format
msgid "a %s route cannot have a ECMP multi-hop \"weight\""
-msgstr "маршрут %s не может иметь «вес» в виде нескольких сетевых переходов ECMP"
+msgstr ""
+"маршрут %s не может иметь «вес» в виде нескольких сетевых переходов ECMP"
#: src/libnm-core-impl/nm-setting-ip-config.c:2743
msgid "missing priority"
@@ -2425,8 +2431,8 @@ msgstr "недействительный ключ туннеля «%s»"
#: src/libnm-core-impl/nm-setting-ip-tunnel.c:483
msgid "a fixed TTL is allowed only when path MTU discovery is enabled"
msgstr ""
-"выбор фиксированного времени жизни пакета (TTL) возможен только при включении "
-"обнаружения пути MTU"
+"выбор фиксированного времени жизни пакета (TTL) возможен только при "
+"включении обнаружения пути MTU"
#: src/libnm-core-impl/nm-setting-ip-tunnel.c:502
#, c-format
@@ -2473,7 +2479,8 @@ msgstr "«%s» не является действительным FQDN"
#: src/libnm-core-impl/nm-setting-ip4-config.c:321
msgid "property cannot be set when dhcp-hostname is also set"
-msgstr "свойство не может быть настроено, если определено значение dhcp-hostname"
+msgstr ""
+"свойство не может быть настроено, если определено значение dhcp-hostname"
#: src/libnm-core-impl/nm-setting-ip4-config.c:336
msgid "FQDN flags requires a FQDN set"
@@ -2581,12 +2588,12 @@ msgid "is empty"
msgstr "пустой"
#: src/libnm-core-impl/nm-setting-olpc-mesh.c:110
-#: src/libnm-core-impl/nm-setting-wireless.c:863
+#: src/libnm-core-impl/nm-setting-wireless.c:908
msgid "SSID length is out of range <1-32> bytes"
msgstr "Длина SSID находится за пределами диапазона <1-32> байт"
#: src/libnm-core-impl/nm-setting-olpc-mesh.c:122
-#: src/libnm-core-impl/nm-setting-wireless.c:916
+#: src/libnm-core-impl/nm-setting-wireless.c:961
#, c-format
msgid "'%d' is not a valid channel"
msgstr "недействительный канал «%d»"
@@ -2613,8 +2620,8 @@ msgstr "ключ не может начинаться с \"NM.\""
#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:166
#, c-format
msgid ""
-"OVS %s can only be added to a profile of type OVS bridge/port/interface or to "
-"OVS system interface"
+"OVS %s can only be added to a profile of type OVS bridge/port/interface or "
+"to OVS system interface"
msgstr ""
"OVS %s может быть добавлен только в профили с типом OVS мост/порт/интерфейс, "
"либо в системный интерфейс OVS"
@@ -2647,8 +2654,8 @@ msgstr ""
#, c-format
msgid "A connection of type '%s' cannot have ovs-interface.type \"system\""
msgstr ""
-"Подключение с типом «%s» не может иметь значение \"system\" для ovs-interface."
-"type"
+"Подключение с типом «%s» не может иметь значение \"system\" для ovs-"
+"interface.type"
#: src/libnm-core-impl/nm-setting-ovs-interface.c:165
#, c-format
@@ -2658,7 +2665,8 @@ msgstr "Подключение с типом «%s» не может иметь o
#: src/libnm-core-impl/nm-setting-ovs-interface.c:187
#, c-format
msgid "A connection can not have both '%s' and '%s' settings at the same time"
-msgstr "Подключения не могут иметь одновременно и параметр '%s' и параметр '%s'"
+msgstr ""
+"Подключения не могут иметь одновременно и параметр '%s' и параметр '%s'"
#: src/libnm-core-impl/nm-setting-ovs-interface.c:201
#, c-format
@@ -2690,10 +2698,9 @@ msgid "Missing ovs interface type"
msgstr "Не указан тип интерфейса ovs"
#: src/libnm-core-impl/nm-setting-ovs-interface.c:315
-#: src/libnm-core-impl/nm-setting-ovs-port.c:420
#, c-format
-msgid "A connection with a '%s' setting must have a master."
-msgstr "Подключение с параметром «%s» должно быть подчинённым."
+msgid "A connection with a '%s' setting must have a controller."
+msgstr "Подключение с параметром «%s» должно иметь контроллер."
#: src/libnm-core-impl/nm-setting-ovs-port.c:347
msgid "VLANs must be between 0 and 4095"
@@ -2709,6 +2716,11 @@ msgstr "дублирующая VLAN %u"
msgid "VLANs %u and %u are not sorted in ascending order"
msgstr "VLANs %u и %u не отсортированы в порядке по возрастанию"
+#: src/libnm-core-impl/nm-setting-ovs-port.c:420
+#, c-format
+msgid "A connection with a '%s' setting must have a master."
+msgstr "Подключение с параметром «%s» должно быть подчинённым."
+
#: src/libnm-core-impl/nm-setting-ovs-port.c:457
#, c-format
msgid "'%s' is not allowed in vlan_mode"
@@ -2738,8 +2750,8 @@ msgstr "«%d» выходит за пределы действительного
#, c-format
msgid "setting this property requires non-zero '%s' property"
msgstr ""
-"для определения этого свойства необходимо, чтобы свойство «%s» имело ненулевое "
-"значение"
+"для определения этого свойства необходимо, чтобы свойство «%s» имело "
+"ненулевое значение"
#: src/libnm-core-impl/nm-setting-proxy.c:137
msgid "invalid proxy method"
@@ -2762,6 +2774,18 @@ msgstr "кодировка сценария не является действи
msgid "the script lacks FindProxyForURL function"
msgstr "сценарию не хватает функции FindProxyForURL"
+#: src/libnm-core-impl/nm-setting-sriov.c:422
+#: src/libnm-core-impl/nm-setting-wired.c:809
+#: src/libnm-core-impl/nm-setting-wired.c:825
+#: src/libnm-core-impl/nm-setting-wired.c:899
+#: src/libnm-core-impl/nm-setting-wired.c:958
+#: src/libnm-core-impl/nm-setting-wireless.c:1051
+#: src/libnm-core-impl/nm-setting-wireless.c:1070
+#: src/libnmc-setting/nm-meta-setting-desc.c:4283
+#, c-format
+msgid "'%s' is not a valid MAC address"
+msgstr "Недействительный MAC-адрес: «%s»"
+
#: src/libnm-core-impl/nm-setting-sriov.c:1045
#, c-format
msgid "VF with index %u, but the total number of VFs is %u"
@@ -2902,7 +2926,8 @@ msgstr "нельзя указывать connection.multi-connect как пара
msgid "setting contained a secret with an empty name"
msgstr "параметр содержал секрет с пустым именем"
-#: src/libnm-core-impl/nm-setting-vpn.c:651 src/libnm-core-impl/nm-setting.c:3410
+#: src/libnm-core-impl/nm-setting-vpn.c:651
+#: src/libnm-core-impl/nm-setting.c:3410
msgid "not a secret property"
msgstr "не является свойством секрета"
@@ -3051,7 +3076,8 @@ msgstr "несуществующий одноранговый узел «%s»"
#: src/libnm-core-impl/nm-setting-wireless-security.c:938
#, c-format
msgid "'%s' is not a valid value for '%s' mode connections"
-msgstr "'%s' не является действительным значением для подключений в режиме '%s'"
+msgstr ""
+"'%s' не является действительным значением для подключений в режиме '%s'"
#: src/libnm-core-impl/nm-setting-wireless-security.c:954
#, c-format
@@ -3085,51 +3111,52 @@ msgstr ""
"при использовании управлений ключами 'owe', 'sae' или 'wpa-eap-suite-b-192' "
"значением pmf может быть только 'default' или 'required'"
-#: src/libnm-core-impl/nm-setting-wireless.c:875
+#: src/libnm-core-impl/nm-setting-wireless.c:920
#, c-format
msgid "'%s' is not a valid Wi-Fi mode"
msgstr "«%s» не является действительным режимом Wi-Fi"
-#: src/libnm-core-impl/nm-setting-wireless.c:888
+#: src/libnm-core-impl/nm-setting-wireless.c:933
#, c-format
msgid "'%s' is not a valid band"
msgstr "«%s» не является действительным диапазоном"
-#: src/libnm-core-impl/nm-setting-wireless.c:901
+#: src/libnm-core-impl/nm-setting-wireless.c:946
#, c-format
msgid "'%s' requires setting '%s' property"
msgstr "«%s» требует установки свойства «%s»"
-#: src/libnm-core-impl/nm-setting-wireless.c:931
+#: src/libnm-core-impl/nm-setting-wireless.c:976
#, c-format
msgid "'%s' requires '%s' and '%s' property"
msgstr "«%s» требует свойств «%s» и «%s»"
-#: src/libnm-core-impl/nm-setting-wireless.c:1043
+#: src/libnm-core-impl/nm-setting-wireless.c:1088
#: src/libnm-core-impl/nm-team-utils.c:2251
msgid "invalid value"
msgstr "недействительное значение"
-#: src/libnm-core-impl/nm-setting-wireless.c:1056
+#: src/libnm-core-impl/nm-setting-wireless.c:1101
msgid "Wake-on-WLAN mode 'default' and 'ignore' are exclusive flags"
msgstr ""
"Флаги режима Wake-on-WLAN «default» и «ignore» являются взаимоисключающими"
-#: src/libnm-core-impl/nm-setting-wireless.c:1067
+#: src/libnm-core-impl/nm-setting-wireless.c:1112
msgid "Wake-on-WLAN trying to set unknown flag"
msgstr "Wake-on-WLAN пытается установить неизвестный флаг"
-#: src/libnm-core-impl/nm-setting-wireless.c:1080
+#: src/libnm-core-impl/nm-setting-wireless.c:1125
msgid "AP isolation can be set only in AP mode"
-msgstr "Изолирование точки доступа можно настроить только в режиме точки доступа"
+msgstr ""
+"Изолирование точки доступа можно настроить только в режиме точки доступа"
-#: src/libnm-core-impl/nm-setting-wireless.c:1104
+#: src/libnm-core-impl/nm-setting-wireless.c:1143
msgid "conflicting value of mac-address-randomization and cloned-mac-address"
msgstr ""
"значения mac-address-randomization и cloned-mac-address являются "
"противоречивыми"
-#: src/libnm-core-impl/nm-setting-wireless.c:1116
+#: src/libnm-core-impl/nm-setting-wireless.c:1155
msgid "property is deprecated and not implemented"
msgstr "свойство устарело и не применяется"
@@ -3147,35 +3174,35 @@ msgstr "страница должна иметь значение между %d
msgid "channel must not be between %d and %d"
msgstr "значение канала должно быть между %d и %d"
-#: src/libnm-core-impl/nm-setting.c:1710 src/libnm-core-impl/nm-setting.c:1750
-#: src/libnm-core-impl/nm-setting.c:2061
+#: src/libnm-core-impl/nm-setting.c:1709 src/libnm-core-impl/nm-setting.c:1749
+#: src/libnm-core-impl/nm-setting.c:2060
#, c-format
msgid "can't set property of type '%s' from value of type '%s'"
msgstr ""
"свойство с типом «%s» не может быть настроено на основании значения с типом "
"«%s»"
-#: src/libnm-core-impl/nm-setting.c:1726
+#: src/libnm-core-impl/nm-setting.c:1725
#, c-format
msgid "value of type '%s' is invalid or out of range for property '%s'"
msgstr ""
-"значение с типом '%s' является недействительным или вне диапазона для свойства "
-"'%s'"
+"значение с типом '%s' является недействительным или вне диапазона для "
+"свойства '%s'"
-#: src/libnm-core-impl/nm-setting.c:1771
+#: src/libnm-core-impl/nm-setting.c:1770
#, c-format
msgid "can not set property: %s"
msgstr "невозможно настроить свойство: %s"
-#: src/libnm-core-impl/nm-setting.c:2000
+#: src/libnm-core-impl/nm-setting.c:1999
msgid "duplicate property"
msgstr "дублируемое свойство"
-#: src/libnm-core-impl/nm-setting.c:2020
+#: src/libnm-core-impl/nm-setting.c:2019
msgid "unknown property"
msgstr "неизвестное свойство"
-#: src/libnm-core-impl/nm-setting.c:2094 src/libnm-core-impl/nm-setting.c:2176
+#: src/libnm-core-impl/nm-setting.c:2093 src/libnm-core-impl/nm-setting.c:2175
#, c-format
msgid "failed to set property: %s"
msgstr "не удалось настроить свойство: %s"
@@ -3616,7 +3643,8 @@ msgstr "недействительный формат имени файла (%s)
#: src/libnm-core-impl/nm-vpn-plugin-info.c:419
#, c-format
msgid "there exists a conflicting plugin (%s) that has the same %s.%s value"
-msgstr "обнаружен конфликт с модулем (%s), который имеет такое же значение %s.%s"
+msgstr ""
+"обнаружен конфликт с модулем (%s), который имеет такое же значение %s.%s"
#: src/libnm-core-impl/nm-vpn-plugin-info.c:458
#, c-format
@@ -3631,7 +3659,8 @@ msgstr "не указан параметр «plugin»"
#, c-format
msgid "%s: don't retry loading plugin which already failed previously"
msgstr ""
-"%s: не пытаться повторно загрузить модуль, который уже ранее провоцировал сбой"
+"%s: не пытаться повторно загрузить модуль, который уже ранее провоцировал "
+"сбой"
#: src/libnm-core-impl/nm-vpn-plugin-info.c:1134
msgid "missing filename to load VPN plugin info"
@@ -3670,7 +3699,8 @@ msgstr "Не удалось расшифровать закрытый ключ:
#: src/libnm-crypto/nm-crypto-gnutls.c:147 src/libnm-crypto/nm-crypto-nss.c:221
msgid "Failed to decrypt the private key: unexpected padding length."
-msgstr "Не удалось расшифровать закрытый ключ: непредвиденная длина заполнения."
+msgstr ""
+"Не удалось расшифровать закрытый ключ: непредвиденная длина заполнения."
#: src/libnm-crypto/nm-crypto-gnutls.c:159 src/libnm-crypto/nm-crypto-nss.c:233
msgid "Failed to decrypt the private key."
@@ -3938,86 +3968,88 @@ msgstr "недействительный закрытый ключ"
msgid "Method returned type '%s', but expected '%s'"
msgstr "Метод вернул тип «%s», но ожидался «%s»"
-#: src/libnm-glib-aux/nm-shared-utils.c:2296
+#: src/libnm-glib-aux/nm-shared-utils.c:2439
#, c-format
msgid "object class '%s' has no property named '%s'"
msgstr "класс объекта «%s» не содержит свойства «%s»"
-#: src/libnm-glib-aux/nm-shared-utils.c:2305
+#: src/libnm-glib-aux/nm-shared-utils.c:2448
#, c-format
msgid "property '%s' of object class '%s' is not writable"
msgstr "свойство «%s» класса объекта «%s» недоступно для записи"
-#: src/libnm-glib-aux/nm-shared-utils.c:2314
+#: src/libnm-glib-aux/nm-shared-utils.c:2457
#, c-format
-msgid "construct property \"%s\" for object '%s' can't be set after construction"
+msgid ""
+"construct property \"%s\" for object '%s' can't be set after construction"
msgstr ""
"свойство конструкции \"%s\" объекта '%s' не может быть установлено после "
"создания конструкции"
-#: src/libnm-glib-aux/nm-shared-utils.c:2325
+#: src/libnm-glib-aux/nm-shared-utils.c:2468
#, c-format
msgid "'%s::%s' is not a valid property name; '%s' is not a GObject subtype"
msgstr ""
"'%s::%s' не является недействительным именем свойства; '%s' не является "
"подтипом GObject"
-#: src/libnm-glib-aux/nm-shared-utils.c:2338
+#: src/libnm-glib-aux/nm-shared-utils.c:2481
#, c-format
msgid "unable to set property '%s' of type '%s' from value of type '%s'"
msgstr ""
"невозможно настроить свойство '%s' с типом '%s' на базе значения с типом '%s'"
-#: src/libnm-glib-aux/nm-shared-utils.c:2350
+#: src/libnm-glib-aux/nm-shared-utils.c:2493
#, c-format
msgid ""
-"value \"%s\" of type '%s' is invalid or out of range for property '%s' of type "
-"'%s'"
+"value \"%s\" of type '%s' is invalid or out of range for property '%s' of "
+"type '%s'"
msgstr ""
"значение \"%s\" с типом '%s' для свойства '%s' с типом '%s' не является "
"действительным, или выходит за пределы диапазона"
-#: src/libnm-glib-aux/nm-shared-utils.c:5373
+#: src/libnm-glib-aux/nm-shared-utils.c:5516
msgid "interface name is missing"
msgstr "отсутствует имя интерфейса"
-#: src/libnm-glib-aux/nm-shared-utils.c:5381
+#: src/libnm-glib-aux/nm-shared-utils.c:5524
msgid "interface name is too short"
msgstr "слишком короткое имя интерфейса"
-#: src/libnm-glib-aux/nm-shared-utils.c:5389
+#: src/libnm-glib-aux/nm-shared-utils.c:5532
msgid "interface name is reserved"
msgstr "имя интерфейса зарезервировано"
-#: src/libnm-glib-aux/nm-shared-utils.c:5402
+#: src/libnm-glib-aux/nm-shared-utils.c:5545
msgid "interface name contains an invalid character"
msgstr "имя интерфейса содержит недействительный символ"
-#: src/libnm-glib-aux/nm-shared-utils.c:5410
+#: src/libnm-glib-aux/nm-shared-utils.c:5553
msgid "interface name is longer than 15 characters"
msgstr "имя интерфейса длиннее 15 символов"
-#: src/libnm-glib-aux/nm-shared-utils.c:5435
+#: src/libnm-glib-aux/nm-shared-utils.c:5578
#, c-format
msgid "'%%' is not allowed in interface names"
msgstr "'%%' не разрешается в именах интерфейсов"
-#: src/libnm-glib-aux/nm-shared-utils.c:5447
+#: src/libnm-glib-aux/nm-shared-utils.c:5590
#, c-format
msgid "'%s' is not allowed as interface name"
msgstr "'%s' не разрешается в качестве имени интерфейса"
-#: src/libnm-glib-aux/nm-shared-utils.c:5469
-msgid "interface name must be alphanumerical with no forward or backward slashes"
+#: src/libnm-glib-aux/nm-shared-utils.c:5612
+msgid ""
+"interface name must be alphanumerical with no forward or backward slashes"
msgstr ""
"имя интерфейса должно состоять из букв и цифр без обратных или прямых косых "
"черт"
-#: src/libnm-glib-aux/nm-shared-utils.c:5486
+#: src/libnm-glib-aux/nm-shared-utils.c:5629
msgid "interface name must not be empty"
msgstr "имя интерфейса не должно быть пустым"
-#: src/libnm-glib-aux/nm-shared-utils.c:5494
+#: src/libnm-glib-aux/nm-shared-utils.c:5637
msgid "interface name must be UTF-8 encoded"
msgstr "имя интерфейса должно иметь кодировку UTF-8"
@@ -4071,9 +4103,10 @@ msgstr "«%s» не входит в [%s]"
#: src/libnmc-setting/nm-meta-setting-desc.c:1873
#: src/libnmc-setting/nm-meta-setting-desc.c:2882
#: src/libnmc-setting/nm-meta-setting-desc.c:2940 src/nmcli/common.c:1611
-#: src/nmcli/connections.c:79 src/nmcli/connections.c:89 src/nmcli/devices.c:485
-#: src/nmcli/devices.c:592 src/nmcli/devices.c:598 src/nmcli/devices.c:604
-#: src/nmcli/general.c:30 src/nmcli/general.c:85 src/nmcli/general.c:91
+#: src/nmcli/connections.c:79 src/nmcli/connections.c:89
+#: src/nmcli/devices.c:485 src/nmcli/devices.c:592 src/nmcli/devices.c:598
+#: src/nmcli/devices.c:604 src/nmcli/general.c:30 src/nmcli/general.c:85
+#: src/nmcli/general.c:91
msgid "unknown"
msgstr "неизвестно"
@@ -4141,8 +4174,8 @@ msgstr "деактивация (внешняя)"
#: src/libnmc-base/nm-client-utils.c:342
#: src/libnmc-setting/nm-meta-setting-desc.c:875
-#: src/libnmc-setting/nm-meta-setting-desc.c:2874 src/nmcli/connections.c:5570
-#: src/nmcli/connections.c:7548 src/nmcli/connections.c:7549
+#: src/libnmc-setting/nm-meta-setting-desc.c:2874 src/nmcli/connections.c:5576
+#: src/nmcli/connections.c:7554 src/nmcli/connections.c:7555
#: src/nmcli/devices.c:591 src/nmcli/devices.c:597 src/nmcli/devices.c:603
#: src/nmcli/devices.c:1427 src/nmcli/general.c:92 src/nmcli/utils.h:316
msgid "yes"
@@ -4150,8 +4183,8 @@ msgstr "да"
#: src/libnmc-base/nm-client-utils.c:343
#: src/libnmc-setting/nm-meta-setting-desc.c:875
-#: src/libnmc-setting/nm-meta-setting-desc.c:2877 src/nmcli/connections.c:5569
-#: src/nmcli/connections.c:7548 src/nmcli/connections.c:7549
+#: src/libnmc-setting/nm-meta-setting-desc.c:2877 src/nmcli/connections.c:5575
+#: src/nmcli/connections.c:7554 src/nmcli/connections.c:7555
#: src/nmcli/devices.c:591 src/nmcli/devices.c:597 src/nmcli/devices.c:603
#: src/nmcli/devices.c:1427 src/nmcli/general.c:93 src/nmcli/utils.h:316
msgid "no"
@@ -4547,7 +4580,7 @@ msgstr "Предопределённый ключ для %s"
#: src/libnmc-base/nm-secret-agent-simple.c:270
#: src/libnmc-base/nm-secret-agent-simple.c:357
-#: src/libnmc-setting/nm-meta-setting-desc.c:5163
+#: src/libnmc-setting/nm-meta-setting-desc.c:5200
#: src/nmtui/nmt-8021x-fields.c:182 src/nmtui/nmt-8021x-fields.c:353
#: src/nmtui/nmt-8021x-fields.c:457 src/nmtui/nmt-page-dsl.c:51
#: src/nmtui/nmt-page-wifi.c:345
@@ -4570,7 +4603,8 @@ msgstr "Имя пользователя"
msgid "Password"
msgstr "Пароль"
-#: src/libnmc-base/nm-secret-agent-simple.c:284 src/nmtui/nmt-8021x-fields.c:204
+#: src/libnmc-base/nm-secret-agent-simple.c:284
+#: src/nmtui/nmt-8021x-fields.c:204
msgid "Identity"
msgstr "Идентификация"
@@ -4611,7 +4645,8 @@ msgstr "Для доступа к беспроводной сети требуе
#: src/libnmc-base/nm-secret-agent-simple.c:880
#, c-format
msgid ""
-"Passwords or encryption keys are required to access the wireless network '%s'."
+"Passwords or encryption keys are required to access the wireless network "
+"'%s'."
msgstr ""
"Для доступа к беспроводной сети «%s» требуются пароли или ключи шифрования."
@@ -4662,7 +4697,7 @@ msgid "MACsec PSK authentication"
msgstr "Аутентификация MACsec PSK"
#: src/libnmc-base/nm-secret-agent-simple.c:931
-#: src/libnmc-setting/nm-meta-setting-desc.c:6839
+#: src/libnmc-setting/nm-meta-setting-desc.c:6882
msgid "MKA CAK"
msgstr "MKA CAK"
@@ -4770,11 +4805,11 @@ msgstr "недействительный IP: %s"
#: src/libnmc-setting/nm-meta-setting-desc.c:294
msgid ""
-"The valid syntax is: 'ip[/prefix] [next-hop] [metric] [attribute=val]... [,ip[/"
-"prefix] ...]'"
+"The valid syntax is: 'ip[/prefix] [next-hop] [metric] [attribute=val]... [,"
+"ip[/prefix] ...]'"
msgstr ""
-"Действительный синтаксис: 'ip[/prefix] [next-hop] [metric] [attribute=val]... "
-"[,ip[/prefix] ...]'"
+"Действительный синтаксис: 'ip[/prefix] [next-hop] [metric] "
+"[attribute=val]... [,ip[/prefix] ...]'"
#: src/libnmc-setting/nm-meta-setting-desc.c:340
#, c-format
@@ -4831,7 +4866,7 @@ msgstr "%s (%s)"
#: src/libnmc-setting/nm-meta-setting-desc.c:1447
#: src/libnmc-setting/nm-meta-setting-desc.c:1455
-#: src/libnmc-setting/nm-meta-setting-desc.c:4476
+#: src/libnmc-setting/nm-meta-setting-desc.c:4513
msgid "'%s' is out of range [%"
msgstr "«%s» за пределами диапазона [%"
@@ -5047,7 +5082,8 @@ msgstr "сумма процентных частей пропускной спо
#: src/libnmc-setting/nm-meta-setting-desc.c:3234
#: src/libnmc-setting/nm-meta-setting-desc.c:3243
msgid "SIM operator ID must be a 5 or 6 number MCCMNC code"
-msgstr "Идентификатор оператора SIM должен содержать код MCCMNC из 5 или 6 цифр"
+msgstr ""
+"Идентификатор оператора SIM должен содержать код MCCMNC из 5 или 6 цифр"
#: src/libnmc-setting/nm-meta-setting-desc.c:3266
#, c-format
@@ -5075,7 +5111,8 @@ msgstr ""
#: src/libnmc-setting/nm-meta-setting-desc.c:3833
#: src/libnmc-setting/nm-meta-setting-desc.c:3946
-msgid "The valid syntax is: '[root | parent <handle>] [handle <handle>] <kind>'"
+msgid ""
+"The valid syntax is: '[root | parent <handle>] [handle <handle>] <kind>'"
msgstr ""
"Действительный синтаксис: '[корень | родитель <handle>] [маркер <handle>] "
"<kind>'"
@@ -5136,60 +5173,60 @@ msgstr "Ключ WEP предположительно равен «%s»"
msgid "WEP key index set to '%d'"
msgstr "Индекс ключа WEP предположительно равен «%d»"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4409
+#: src/libnmc-setting/nm-meta-setting-desc.c:4446
#, c-format
msgid "'%s' is not compatible with '%s' type, please change or delete the key."
msgstr "«%s» несовместим с типом «%s», смените или удалите ключ."
-#: src/libnmc-setting/nm-meta-setting-desc.c:4446 src/nmcli/utils.h:322
+#: src/libnmc-setting/nm-meta-setting-desc.c:4483 src/nmcli/utils.h:322
msgid "on"
msgstr "вкл"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4446 src/nmcli/utils.h:322
+#: src/libnmc-setting/nm-meta-setting-desc.c:4483 src/nmcli/utils.h:322
msgid "off"
msgstr "выкл"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4494
+#: src/libnmc-setting/nm-meta-setting-desc.c:4531
#, c-format
msgid "'%s' is not valid; use 'on', 'off', or 'ignore'"
msgstr "'%s' не является действительным; используйте «on», «off» или «ignore»,"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4567
+#: src/libnmc-setting/nm-meta-setting-desc.c:4604
msgid "Bonding primary interface"
msgstr "Первичный интерфейс агрегации bond"
#. this is a virtual property, only needed during "ask" mode.
-#: src/libnmc-setting/nm-meta-setting-desc.c:4575
+#: src/libnmc-setting/nm-meta-setting-desc.c:4612
msgid "Bonding monitoring mode"
msgstr "Режим мониторинга агрегации (Bond)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4584
+#: src/libnmc-setting/nm-meta-setting-desc.c:4621
msgid "Bonding miimon"
msgstr "Значение miimon агрегации bond"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4593
+#: src/libnmc-setting/nm-meta-setting-desc.c:4630
msgid "Bonding downdelay"
msgstr "Значение downdelay агрегации bond"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4602
+#: src/libnmc-setting/nm-meta-setting-desc.c:4639
msgid "Bonding updelay"
msgstr "Значение updelay агрегации bond"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4611
+#: src/libnmc-setting/nm-meta-setting-desc.c:4648
msgid "Bonding arp-interval"
msgstr "Значение arp-interval агрегации bond"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4620
+#: src/libnmc-setting/nm-meta-setting-desc.c:4657
msgid "Bonding arp-ip-target"
msgstr "Значение arp-ip-target агрегации bond"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4629
+#: src/libnmc-setting/nm-meta-setting-desc.c:4666
msgid "LACP rate (slow/fast)"
msgstr "Частота отправки LACP (slow/fast)"
#. macro that returns @func as const (guint32(*)(NMSetting*)) type, but checks
#. * that the actual type is (guint32(*)(type *)).
-#: src/libnmc-setting/nm-meta-setting-desc.c:4820
+#: src/libnmc-setting/nm-meta-setting-desc.c:4857
msgid ""
"nmcli can accepts both direct JSON configuration data and a file name "
"containing the configuration. In the latter case the file is read and the "
@@ -5207,7 +5244,7 @@ msgstr ""
"\"roundrobin\"}, \"ports\": {\"eth1\": {}, \"eth2\": {}} }\n"
" set team.config /etc/my-team.conf\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4828
+#: src/libnmc-setting/nm-meta-setting-desc.c:4865
msgid ""
"Enter a list of link watchers formatted as dictionaries where the keys are "
"teamd properties. Dictionary pairs are in the form: key=value and pairs are "
@@ -5229,8 +5266,8 @@ msgid ""
"Properties flagged with a '*' are mandatory.\n"
"\n"
"Example:\n"
-" name=arp_ping source-host=172.16.1.1 target-host=172.16.1.254, name=ethtool "
-"delay-up=3\n"
+" name=arp_ping source-host=172.16.1.1 target-host=172.16.1.254, "
+"name=ethtool delay-up=3\n"
msgstr ""
"Предоставьте список утилит-наблюдателей за каналами в словарном формате, где "
"ключи представляют свойства teamd. Словарные пары должны иметь вид: "
@@ -5252,14 +5289,14 @@ msgstr ""
"Свойства, помеченные символом «*», являются обязательными.\n"
"\n"
"Пример:\n"
-" name=arp_ping source-host=172.16.1.1 target-host=172.16.1.254, name=ethtool "
-"delay-up=3\n"
+" name=arp_ping source-host=172.16.1.1 target-host=172.16.1.254, "
+"name=ethtool delay-up=3\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4877
+#: src/libnmc-setting/nm-meta-setting-desc.c:4914
msgid "IEEE 802.15.4 (WPAN) parent device or connection UUID"
msgstr "Родительское устройство IEEE 802.15.4 (WPAN) или UUID подключения"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4914
+#: src/libnmc-setting/nm-meta-setting-desc.c:4951
msgid ""
"Enter file path to CA certificate (optionally prefixed with file://).\n"
" [file://]<file path>\n"
@@ -5273,7 +5310,7 @@ msgstr ""
"необработанных blob-данных.\n"
"Пример: /home/cimrman/cacert.crt\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4957
+#: src/libnmc-setting/nm-meta-setting-desc.c:4994
msgid ""
"Enter file path to client certificate (optionally prefixed with file://).\n"
" [file://]<file path>\n"
@@ -5287,7 +5324,7 @@ msgstr ""
"необработанных blob-данных.\n"
"Пример: /home/cimrman/jara.crt\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5014
+#: src/libnmc-setting/nm-meta-setting-desc.c:5051
msgid ""
"Enter file path to CA certificate for inner authentication (optionally "
"prefixed\n"
@@ -5304,7 +5341,7 @@ msgstr ""
"необработанных blob-данных.\n"
"Пример: /home/cimrman/ca-zweite-phase.crt\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5062
+#: src/libnmc-setting/nm-meta-setting-desc.c:5099
msgid ""
"Enter file path to client certificate for inner authentication (optionally "
"prefixed\n"
@@ -5321,13 +5358,14 @@ msgstr ""
"необработанных blob-данных.\n"
"Пример: /home/cimrman/jara-zweite-phase.crt\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5089
+#: src/libnmc-setting/nm-meta-setting-desc.c:5126
msgid ""
"Enter bytes as a list of hexadecimal values.\n"
"Two formats are accepted:\n"
-"(a) a string of hexadecimal digits, where each two digits represent one byte\n"
-"(b) space-separated list of bytes written as hexadecimal digits (with optional "
-"0x/0X prefix, and optional leading 0).\n"
+"(a) a string of hexadecimal digits, where each two digits represent one "
+"byte\n"
+"(b) space-separated list of bytes written as hexadecimal digits (with "
+"optional 0x/0X prefix, and optional leading 0).\n"
"\n"
"Examples: ab0455a6ea3a74C2\n"
" ab 4 55 0xa6 ea 3a 74 C2\n"
@@ -5335,14 +5373,14 @@ msgstr ""
"Введите шестнадцатеричные значения.\n"
"Допустимые форматы:\n"
"а) шестнадцатеричные числа, где каждые две цифры представляют один байт;\n"
-"б) список байтов, через пробел, представленных в виде шестнадцатеричных чисел "
-"(с дополнительным префиксом 0x/0X и, опционально, ведущим нулем).\n"
+"б) список байтов, через пробел, представленных в виде шестнадцатеричных "
+"чисел (с дополнительным префиксом 0x/0X и, опционально, ведущим нулем).\n"
"\n"
"Примеры: ab0455a6ea3a74C2\n"
" ab 4 55 0xa6 ea 3a 74 C2\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5106
-#: src/libnmc-setting/nm-meta-setting-desc.c:5124
+#: src/libnmc-setting/nm-meta-setting-desc.c:5143
+#: src/libnmc-setting/nm-meta-setting-desc.c:5161
msgid ""
"Enter path to a private key and the key password (if not set yet):\n"
" [file://]<file path> [<password>]\n"
@@ -5351,92 +5389,99 @@ msgid ""
msgstr ""
"Укажите путь к закрытому ключу и пароль ключа (если он ещё не настроен):\n"
" [file://]<путь_к_файлу> [<пароль>]\n"
-"Обратите внимание, что nmcli не поддерживает указание закрытого ключа в виде\n"
+"Обратите внимание, что nmcli не поддерживает указание закрытого ключа в "
+"виде\n"
"необработанных blob-данных.\n"
"Пример: /home/cimrman/jara-priv-key Dardanely\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5169
-#: src/libnmc-setting/nm-meta-setting-desc.c:5472
-#: src/libnmc-setting/nm-meta-setting-desc.c:5970
-#: src/libnmc-setting/nm-meta-setting-desc.c:7200
+#: src/libnmc-setting/nm-meta-setting-desc.c:5206
+#: src/libnmc-setting/nm-meta-setting-desc.c:5509
+#: src/libnmc-setting/nm-meta-setting-desc.c:6019
+#: src/libnmc-setting/nm-meta-setting-desc.c:7243
msgid "Password [none]"
msgstr "Пароль [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5215
+#: src/libnmc-setting/nm-meta-setting-desc.c:5252
msgid "Bluetooth device address"
msgstr "Адрес устройства Bluetooth"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5264
+#: src/libnmc-setting/nm-meta-setting-desc.c:5301
#: src/nmtui/nmt-page-bond-port.c:51
msgid "Queue ID"
msgstr "ID очереди"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5270
+#: src/libnmc-setting/nm-meta-setting-desc.c:5307
msgid "Port Priority"
msgstr "Приоритет порта"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5282
-#: src/libnmc-setting/nm-meta-setting-desc.c:6087
-#: src/libnmc-setting/nm-meta-setting-desc.c:7933
-#: src/libnmc-setting/nm-meta-setting-desc.c:7971
-#: src/libnmc-setting/nm-meta-setting-desc.c:8153
-#: src/libnmc-setting/nm-meta-setting-desc.c:8394
+#: src/libnmc-setting/nm-meta-setting-desc.c:5319
+#: src/libnmc-setting/nm-meta-setting-desc.c:6130
+#: src/libnmc-setting/nm-meta-setting-desc.c:7976
+#: src/libnmc-setting/nm-meta-setting-desc.c:8014
+#: src/libnmc-setting/nm-meta-setting-desc.c:8196
+#: src/libnmc-setting/nm-meta-setting-desc.c:8443
msgid "MAC [none]"
msgstr "MAC [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5288
+#: src/libnmc-setting/nm-meta-setting-desc.c:5325
msgid "Enable STP"
msgstr "Включить STP"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5294
+#: src/libnmc-setting/nm-meta-setting-desc.c:5331
msgid "STP priority"
msgstr "Приоритет STP"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5300 src/nmtui/nmt-page-bridge.c:120
+#: src/libnmc-setting/nm-meta-setting-desc.c:5337
+#: src/nmtui/nmt-page-bridge.c:120
msgid "Forward delay"
msgstr "Задержка перенаправления"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5306 src/nmtui/nmt-page-bridge.c:134
+#: src/libnmc-setting/nm-meta-setting-desc.c:5343
+#: src/nmtui/nmt-page-bridge.c:134
msgid "Hello time"
msgstr "Время приветствия"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5312 src/nmtui/nmt-page-bridge.c:148
+#: src/libnmc-setting/nm-meta-setting-desc.c:5349
+#: src/nmtui/nmt-page-bridge.c:148
msgid "Max age"
msgstr "Максимальное время действия"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5318
+#: src/libnmc-setting/nm-meta-setting-desc.c:5355
msgid "MAC address ageing time"
msgstr "Время действия адреса MAC"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5328 src/nmtui/nmt-page-bridge.c:156
+#: src/libnmc-setting/nm-meta-setting-desc.c:5365
+#: src/nmtui/nmt-page-bridge.c:156
msgid "Group forward mask"
msgstr "Маска перенаправления группы"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5370 src/nmtui/nmt-page-bridge.c:79
+#: src/libnmc-setting/nm-meta-setting-desc.c:5407
+#: src/nmtui/nmt-page-bridge.c:79
msgid "Enable IGMP snooping"
msgstr "Включить отслеживание сетевого трафика IGMP"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5428
+#: src/libnmc-setting/nm-meta-setting-desc.c:5465
msgid "Bridge port priority"
msgstr "Приоритет порта моста"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5434
+#: src/libnmc-setting/nm-meta-setting-desc.c:5471
msgid "Bridge port STP path cost"
msgstr "Стоимость пути STP порта моста"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5440
+#: src/libnmc-setting/nm-meta-setting-desc.c:5477
msgid "Hairpin"
msgstr "Hairpin"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5466
-#: src/libnmc-setting/nm-meta-setting-desc.c:5964
-#: src/libnmc-setting/nm-meta-setting-desc.c:7778
+#: src/libnmc-setting/nm-meta-setting-desc.c:5503
+#: src/libnmc-setting/nm-meta-setting-desc.c:6013
+#: src/libnmc-setting/nm-meta-setting-desc.c:7821
msgid "Username [none]"
msgstr "Имя пользователя [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5571
+#: src/libnmc-setting/nm-meta-setting-desc.c:5608
msgid ""
-"Enter a list of user permissions. This is a list of user names formatted as:\n"
+"Enter a list of user permissions. This is a list of user names formatted "
+"as:\n"
" [user:]<user name 1>, [user:]<user name 2>,...\n"
"The items can be separated by commas or spaces.\n"
"\n"
@@ -5450,9 +5495,14 @@ msgstr ""
"\n"
"Пример: alice bob charlie\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5627
+#: src/libnmc-setting/nm-meta-setting-desc.c:5637
+msgid "Controller"
+msgstr "Контроллер"
+
+#: src/libnmc-setting/nm-meta-setting-desc.c:5676
msgid ""
-"Enter secondary connections that should be activated when this connection is\n"
+"Enter secondary connections that should be activated when this connection "
+"is\n"
"activated. Connections can be specified either by UUID or ID (name). nmcli\n"
"transparently translates names to UUIDs. Note that NetworkManager only "
"supports\n"
@@ -5461,8 +5511,8 @@ msgid ""
"\n"
"Example: private-openvpn, fe6ba5d8-c2fc-4aae-b2e3-97efddd8d9a7\n"
msgstr ""
-"Укажите вторичные подключения, которые должны быть активированы при активации "
-"этого подключения.\n"
+"Укажите вторичные подключения, которые должны быть активированы при "
+"активации этого подключения.\n"
"Подключение можно указать с помощью UUID или идентификатора (имени).\n"
"nmcli осуществляет прозрачное преобразование имён подключений в UUID. \n"
"Обратите внимание, что в настоящее время в качестве вторичных подключений "
@@ -5471,7 +5521,7 @@ msgstr ""
"\n"
"Пример: private-openvpn, fe6ba5d8-c2fc-4aae-b2e3-97efddd8d9a7\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5651
+#: src/libnmc-setting/nm-meta-setting-desc.c:5700
msgid ""
"Enter a value which indicates whether the connection is subject to a data\n"
"quota, usage costs or other limitations. Accepted options are:\n"
@@ -5484,48 +5534,44 @@ msgstr ""
"Доступные параметры:\n"
"«true», «yes», «on» — включить лимитное подключение\n"
"«false», «no», «off» — подключить как безлимитное\n"
-"«unknown» — позволить NetworkManager выбирать значение с помощью эвристических "
-"методов\n"
+"«unknown» — позволить NetworkManager выбирать значение с помощью "
+"эвристических методов\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5980
+#: src/libnmc-setting/nm-meta-setting-desc.c:6029
msgid "APN"
msgstr "APN"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6034
+#: src/libnmc-setting/nm-meta-setting-desc.c:6083
msgid "hsr port1"
msgstr "hsr порт1"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6041
+#: src/libnmc-setting/nm-meta-setting-desc.c:6090
msgid "hsr port2"
msgstr "hsr порт2"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6047
-msgid "hsr supervision address"
-msgstr "адрес супервизора hsr"
-
-#: src/libnmc-setting/nm-meta-setting-desc.c:6053
+#: src/libnmc-setting/nm-meta-setting-desc.c:6096
msgid "hsr multicast spec"
msgstr "спецификация многоадресной передачи hsr"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6096
-#: src/libnmc-setting/nm-meta-setting-desc.c:6746
-#: src/libnmc-setting/nm-meta-setting-desc.c:8003
-#: src/libnmc-setting/nm-meta-setting-desc.c:8194
+#: src/libnmc-setting/nm-meta-setting-desc.c:6139
+#: src/libnmc-setting/nm-meta-setting-desc.c:6789
+#: src/libnmc-setting/nm-meta-setting-desc.c:8046
+#: src/libnmc-setting/nm-meta-setting-desc.c:8243
#: src/nmtui/nmt-page-ethernet.c:124 src/nmtui/nmt-page-infiniband.c:81
#: src/nmtui/nmt-page-ip-tunnel.c:178 src/nmtui/nmt-page-vlan.c:100
#: src/nmtui/nmt-page-wifi.c:395 src/nmtui/nmt-page-wireguard.c:85
msgid "MTU"
msgstr "MTU"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6115
+#: src/libnmc-setting/nm-meta-setting-desc.c:6158
msgid "P_KEY [none]"
msgstr "P_KEY [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6133
+#: src/libnmc-setting/nm-meta-setting-desc.c:6176
msgid "Parent interface [none]"
msgstr "Родительский интерфейс [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6162
+#: src/libnmc-setting/nm-meta-setting-desc.c:6205
msgid ""
"Enter a list of IPv4 addresses of DNS servers.\n"
"\n"
@@ -5535,11 +5581,11 @@ msgstr ""
"\n"
"Пример: 8.8.8.8, 8.8.4.4\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6212
+#: src/libnmc-setting/nm-meta-setting-desc.c:6255
msgid "IPv4 address (IP[/plen]) [none]"
msgstr "Адрес IPv4 (IP[/plen]) [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6214
+#: src/libnmc-setting/nm-meta-setting-desc.c:6257
msgid ""
"Enter a list of IPv4 addresses formatted as:\n"
" ip[/prefix], ip[/prefix],...\n"
@@ -5553,11 +5599,11 @@ msgstr ""
"\n"
"Пример: 92.168.1.5/24 192.168.1.1, 10.0.0.11/24\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6233
+#: src/libnmc-setting/nm-meta-setting-desc.c:6276
msgid "IPv4 gateway [none]"
msgstr "Шлюз IPv4 [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6242
+#: src/libnmc-setting/nm-meta-setting-desc.c:6285
msgid ""
"Enter a list of IPv4 routes formatted as:\n"
" ip[/prefix] [next-hop] [metric],...\n"
@@ -5580,7 +5626,7 @@ msgstr ""
"Примеры: 192.168.2.0/24 192.168.2.1 3, 10.1.0.0/16 10.0.0.254\n"
" 10.1.2.0/24\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6282
+#: src/libnmc-setting/nm-meta-setting-desc.c:6325
msgid ""
"Enter a list of IPv4 routing rules formatted as:\n"
" priority [prio] [from [src]] [to [dst]], ,...\n"
@@ -5590,31 +5636,31 @@ msgstr ""
" приоритет [prio] [от [исходн]] [до [цель]], ,...\n"
"\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6420
+#: src/libnmc-setting/nm-meta-setting-desc.c:6463
msgid ""
"Enter a list of IPv6 addresses of DNS servers. If the IPv6 configuration "
-"method is 'auto' these DNS servers are appended to those (if any) returned by "
-"automatic configuration. DNS servers cannot be used with the 'shared' or "
+"method is 'auto' these DNS servers are appended to those (if any) returned "
+"by automatic configuration. DNS servers cannot be used with the 'shared' or "
"'link-local' IPv6 configuration methods, as there is no upstream network. In "
"all other IPv6 configuration methods, these DNS servers are used as the only "
"DNS servers for this connection.\n"
"\n"
"Example: 2607:f0d0:1002:51::4, 2607:f0d0:1002:51::1\n"
msgstr ""
-"Введите список адресов IPv6 серверов DNS. Если IPv6 настроен в режиме «auto», "
-"серверы будут добавлены в список, полученный в результате автоматической "
-"конфигурации. Серверы DNS не могут использоваться в режимах конфигурации IPv6 "
-"«shared» и «link-local», т.к. вышестоящие сети отсутствуют. В остальных "
-"режимах конфигурации IPv6 эти серверы DNS используются как единственные "
-"серверы DNS для заданного подключения.\n"
+"Введите список адресов IPv6 серверов DNS. Если IPv6 настроен в режиме "
+"«auto», серверы будут добавлены в список, полученный в результате "
+"автоматической конфигурации. Серверы DNS не могут использоваться в режимах "
+"конфигурации IPv6 «shared» и «link-local», т.к. вышестоящие сети "
+"отсутствуют. В остальных режимах конфигурации IPv6 эти серверы DNS "
+"используются как единственные серверы DNS для заданного подключения.\n"
"\n"
"Пример: 2607:f0d0:1002:51::4, 2607:f0d0:1002:51::1\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6476
+#: src/libnmc-setting/nm-meta-setting-desc.c:6519
msgid "IPv6 address (IP[/plen]) [none]"
msgstr "Адрес IPv6 (IP[/plen]) [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6478
+#: src/libnmc-setting/nm-meta-setting-desc.c:6521
msgid ""
"Enter a list of IPv6 addresses formatted as:\n"
" ip[/prefix], ip[/prefix],...\n"
@@ -5628,11 +5674,11 @@ msgstr ""
"\n"
"Пример: 2607:f0d0:1002:51::4/64, 1050:0:0:0:5:600:300c:326b\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6497
+#: src/libnmc-setting/nm-meta-setting-desc.c:6540
msgid "IPv6 gateway [none]"
msgstr "Шлюз IPv6 [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6506
+#: src/libnmc-setting/nm-meta-setting-desc.c:6549
msgid ""
"Enter a list of IPv6 routes formatted as:\n"
" ip[/prefix] [next-hop] [metric],...\n"
@@ -5641,8 +5687,8 @@ msgid ""
"Missing next-hop is regarded as \"::\".\n"
"Missing metric means default (NM/kernel will set a default value).\n"
"\n"
-"Examples: 2001:db8:beef:2::/64 2001:db8:beef::2, 2001:db8:beef:3::/64 2001:db8:"
-"beef::3 2\n"
+"Examples: 2001:db8:beef:2::/64 2001:db8:beef::2, 2001:db8:beef:3::/64 2001:"
+"db8:beef::3 2\n"
" abbe::/64 55\n"
msgstr ""
"Введите список маршрутов IPv6 в формате:\n"
@@ -5653,11 +5699,11 @@ msgstr ""
"Если метрика не определена, будет использоваться типовая метрика\n"
"(в соответствии с настройками NetworkManager или ядра)\n"
"\n"
-"Примеры: 2001:db8:beef:2::/64 2001:db8:beef::2, 2001:db8:beef:3::/64 2001:db8:"
-"beef::3 2\n"
+"Примеры: 2001:db8:beef:2::/64 2001:db8:beef::2, 2001:db8:beef:3::/64 2001:"
+"db8:beef::3 2\n"
" abbe::/64 55\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6546
+#: src/libnmc-setting/nm-meta-setting-desc.c:6589
msgid ""
"Enter a list of IPv6 routing rules formatted as:\n"
" priority [prio] [from [src]] [to [dst]], ,...\n"
@@ -5667,169 +5713,170 @@ msgstr ""
" приоритет [prio] [от [исходн]] [до [цель]], ,...\n"
"\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6683
-#: src/libnmc-setting/nm-meta-setting-desc.c:7833
+#: src/libnmc-setting/nm-meta-setting-desc.c:6726
+#: src/libnmc-setting/nm-meta-setting-desc.c:7876
msgid "Parent device [none]"
msgstr "Родительское устройство [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6689
+#: src/libnmc-setting/nm-meta-setting-desc.c:6732
msgid "Local endpoint [none]"
msgstr "Локальная конечная точка [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6696
-#: src/libnmc-setting/nm-meta-setting-desc.c:7852
+#: src/libnmc-setting/nm-meta-setting-desc.c:6739
+#: src/libnmc-setting/nm-meta-setting-desc.c:7895
msgid "Remote"
msgstr "Удалённый"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6812
+#: src/libnmc-setting/nm-meta-setting-desc.c:6855
msgid "MACsec parent device or connection UUID"
msgstr "Родительское устройство MACsec или UUID подключения"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6833
+#: src/libnmc-setting/nm-meta-setting-desc.c:6876
msgid "Enable encryption"
msgstr "Включить шифрование"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6849
+#: src/libnmc-setting/nm-meta-setting-desc.c:6892
msgid "MKA_CKN"
msgstr "MKA_CKN"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6855 src/nmtui/nmt-page-macsec.c:170
+#: src/libnmc-setting/nm-meta-setting-desc.c:6898
+#: src/nmtui/nmt-page-macsec.c:170
msgid "SCI port"
msgstr "Порт SCI"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6881
+#: src/libnmc-setting/nm-meta-setting-desc.c:6924
msgid "MACVLAN parent device or connection UUID"
msgstr "Родительское устройство MACVLAN или UUID подключения"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6902
+#: src/libnmc-setting/nm-meta-setting-desc.c:6945
msgid "Tap"
msgstr "Tap"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6973
-#: src/libnmc-setting/nm-meta-setting-desc.c:8113 src/nmtui/nmt-page-wifi.c:216
+#: src/libnmc-setting/nm-meta-setting-desc.c:7016
+#: src/libnmc-setting/nm-meta-setting-desc.c:8156 src/nmtui/nmt-page-wifi.c:216
msgid "SSID"
msgstr "SSID"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6983
+#: src/libnmc-setting/nm-meta-setting-desc.c:7026
msgid "OLPC Mesh channel"
msgstr "Канал OLPC Mesh"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6993
+#: src/libnmc-setting/nm-meta-setting-desc.c:7036
msgid "DHCP anycast MAC address [none]"
msgstr "Адрес MAC произвольной рассылки DHCP [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7181
+#: src/libnmc-setting/nm-meta-setting-desc.c:7224
msgid "PPPoE parent device"
msgstr "Родительское устройство PPPoE"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7187
+#: src/libnmc-setting/nm-meta-setting-desc.c:7230
msgid "Service [none]"
msgstr "Служба [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7194
+#: src/libnmc-setting/nm-meta-setting-desc.c:7237
msgid "PPPoE username"
msgstr "Имя пользователя PPPoE"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7230
+#: src/libnmc-setting/nm-meta-setting-desc.c:7273
msgid "Browser only"
msgstr "Только для браузера"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7236
+#: src/libnmc-setting/nm-meta-setting-desc.c:7279
msgid "PAC URL"
msgstr "URL сертификата атрибута привилегий (PAC)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7242
+#: src/libnmc-setting/nm-meta-setting-desc.c:7285
msgid "PAC script"
msgstr "Сценарий сертификата атрибута привилегий (PAC)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7366
-#: src/libnmc-setting/nm-meta-setting-desc.c:7555
+#: src/libnmc-setting/nm-meta-setting-desc.c:7409
+#: src/libnmc-setting/nm-meta-setting-desc.c:7598
msgid "Team JSON configuration [none]"
msgstr "Конфигурация JSON агрегированного подключения team [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7658
+#: src/libnmc-setting/nm-meta-setting-desc.c:7701
msgid "User ID [none]"
msgstr "ID пользователя [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7664
+#: src/libnmc-setting/nm-meta-setting-desc.c:7707
msgid "Group ID [none]"
msgstr "ID группы [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7670
+#: src/libnmc-setting/nm-meta-setting-desc.c:7713
msgid "Enable PI"
msgstr "Включить PI"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7676
+#: src/libnmc-setting/nm-meta-setting-desc.c:7719
msgid "Enable VNET header"
msgstr "Включить заголовок VNET"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7682
+#: src/libnmc-setting/nm-meta-setting-desc.c:7725
msgid "Enable multi queue"
msgstr "Включить многоочерёдность"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7695
+#: src/libnmc-setting/nm-meta-setting-desc.c:7738
msgid "veth peer"
msgstr "одноранговый узел veth"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7708
+#: src/libnmc-setting/nm-meta-setting-desc.c:7751
msgid "VLAN parent device or connection UUID"
msgstr "Родительское устройство VLAN или UUID подключения"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7715
+#: src/libnmc-setting/nm-meta-setting-desc.c:7758
msgid "VLAN ID (<0-4094>)"
msgstr "Идентификатор VLAN (<0-4094>)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7721
+#: src/libnmc-setting/nm-meta-setting-desc.c:7764
msgid "VLAN flags (<0-7>) [none]"
msgstr "Флаги VLAN flags (<0-7>) [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7737
+#: src/libnmc-setting/nm-meta-setting-desc.c:7780
msgid "Ingress priority maps [none]"
msgstr "Соответствие приоритета на входе [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7748
+#: src/libnmc-setting/nm-meta-setting-desc.c:7791
msgid "Egress priority maps [none]"
msgstr "Соответствие приоритета на выходе [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7820
+#: src/libnmc-setting/nm-meta-setting-desc.c:7863
msgid "Table"
msgstr "Таблица"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7840
+#: src/libnmc-setting/nm-meta-setting-desc.c:7883
msgid "VXLAN ID"
msgstr "Идентификатор VXLAN"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7846
+#: src/libnmc-setting/nm-meta-setting-desc.c:7889
msgid "Local address [none]"
msgstr "Локальный адрес [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7858
+#: src/libnmc-setting/nm-meta-setting-desc.c:7901
msgid "Minimum source port"
msgstr "Минимальный исходный порт"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7864
+#: src/libnmc-setting/nm-meta-setting-desc.c:7907
msgid "Maximum source port"
msgstr "Максимальный исходный порт"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7870
+#: src/libnmc-setting/nm-meta-setting-desc.c:7913
msgid "Destination port"
msgstr "Целевой порт"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7910
+#: src/libnmc-setting/nm-meta-setting-desc.c:7953
#: src/nmtui/nmt-wireguard-peer-editor.c:78
msgid "Peer"
msgstr "Одноранговый узел"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7940
+#: src/libnmc-setting/nm-meta-setting-desc.c:7983
msgid "WiMAX NSP name"
msgstr "Имя WiMAX NSP"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7977
-#: src/libnmc-setting/nm-meta-setting-desc.c:8158
+#: src/libnmc-setting/nm-meta-setting-desc.c:8020
+#: src/libnmc-setting/nm-meta-setting-desc.c:8201
msgid "Cloned MAC [none]"
msgstr "Клонированный MAC [нет]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8011
+#: src/libnmc-setting/nm-meta-setting-desc.c:8054
msgid ""
"Enter a list of subchannels (comma or space separated).\n"
"\n"
@@ -5839,7 +5886,7 @@ msgstr ""
"\n"
"Пример: 0.0.0e20 0.0.0e21 0.0.0e22\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8343
+#: src/libnmc-setting/nm-meta-setting-desc.c:8392
msgid ""
"Enter the type of WEP keys. The accepted values are: 0 or unknown, 1 or key, "
"and 2 or passphrase.\n"
@@ -5847,271 +5894,271 @@ msgstr ""
"Укажите тип ключей WEP. Принимаемые значения: 0 (неизвестно), 1 (ключ), 2 "
"(парольная фраза).\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8402
+#: src/libnmc-setting/nm-meta-setting-desc.c:8451
msgid "Short address (<0x0000-0xffff>)"
msgstr "Короткий адрес (<0x0000-0xffff>)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8418
+#: src/libnmc-setting/nm-meta-setting-desc.c:8467
msgid "PAN Identifier (<0x0000-0xffff>)"
msgstr "Идентификатор PAN (<0x0000-0xffff>)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8433
+#: src/libnmc-setting/nm-meta-setting-desc.c:8482
msgid "Page (<default|0-31>)"
msgstr "Страница (<default|0-31>)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8447
+#: src/libnmc-setting/nm-meta-setting-desc.c:8496
msgid "Channel (<default|0-26>)"
msgstr "Канал (<default|0-26>)"
#. ***************************************************************************
-#: src/libnmc-setting/nm-meta-setting-desc.c:8582
+#: src/libnmc-setting/nm-meta-setting-desc.c:8631
msgid "6LOWPAN settings"
msgstr "Параметры 6LOWPAN"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8583
+#: src/libnmc-setting/nm-meta-setting-desc.c:8632
msgid "802-1x settings"
msgstr "Параметры 802-1x"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8585
+#: src/libnmc-setting/nm-meta-setting-desc.c:8634
msgid "bluetooth connection"
msgstr "Подключение bluetooth"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8586
+#: src/libnmc-setting/nm-meta-setting-desc.c:8635
msgid "Bond device"
msgstr "Устройство Bond"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8587
+#: src/libnmc-setting/nm-meta-setting-desc.c:8636
msgid "Bond port"
msgstr "Порт bond"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8588
+#: src/libnmc-setting/nm-meta-setting-desc.c:8637
msgid "Bridge device"
msgstr "Устройство мост"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8589
+#: src/libnmc-setting/nm-meta-setting-desc.c:8638
msgid "Bridge port"
msgstr "Порт моста"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8590
+#: src/libnmc-setting/nm-meta-setting-desc.c:8639
msgid "CDMA mobile broadband connection"
msgstr "Мобильное широкополосное подключение CDMA"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8591
+#: src/libnmc-setting/nm-meta-setting-desc.c:8640
msgid "General settings"
msgstr "Общие параметры"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8592
+#: src/libnmc-setting/nm-meta-setting-desc.c:8641
msgid "DCB settings"
msgstr "Параметры DCB"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8593
+#: src/libnmc-setting/nm-meta-setting-desc.c:8642
msgid "Dummy settings"
msgstr "Параметры-заглушки"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8594
+#: src/libnmc-setting/nm-meta-setting-desc.c:8643
msgid "Ethtool settings"
msgstr "Параметры ethtool"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8595
+#: src/libnmc-setting/nm-meta-setting-desc.c:8644
msgid "Generic settings"
msgstr "Базовые параметры"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8596
+#: src/libnmc-setting/nm-meta-setting-desc.c:8645
msgid "GSM mobile broadband connection"
msgstr "Мобильное широкополосное подключение GSM"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8597
+#: src/libnmc-setting/nm-meta-setting-desc.c:8646
msgid "Hostname settings"
msgstr "Параметры имени хоста"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8598
+#: src/libnmc-setting/nm-meta-setting-desc.c:8647
msgid "HSR settings"
msgstr "Настройки HSR"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8600
+#: src/libnmc-setting/nm-meta-setting-desc.c:8649
msgid "IPv4 protocol"
msgstr "Протокол IPv4"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8601
+#: src/libnmc-setting/nm-meta-setting-desc.c:8650
msgid "IPv6 protocol"
msgstr "Протокол IPv6"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8602
+#: src/libnmc-setting/nm-meta-setting-desc.c:8651
msgid "IP-tunnel settings"
msgstr "Параметры IP-туннеля"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8603
+#: src/libnmc-setting/nm-meta-setting-desc.c:8652
msgid "Link settings"
msgstr "Настройки связи"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8604
+#: src/libnmc-setting/nm-meta-setting-desc.c:8653
msgid "Loopback settings"
msgstr "Настройки петли"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8605
+#: src/libnmc-setting/nm-meta-setting-desc.c:8654
msgid "MACsec connection"
msgstr "Подключение MACsec"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8606
+#: src/libnmc-setting/nm-meta-setting-desc.c:8655
msgid "macvlan connection"
msgstr "Подключение macvlan"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8607
+#: src/libnmc-setting/nm-meta-setting-desc.c:8656
msgid "Match"
msgstr "Соответствие"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8608
+#: src/libnmc-setting/nm-meta-setting-desc.c:8657
msgid "OLPC Mesh connection"
msgstr "Подключение OLPC Mesh"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8609
+#: src/libnmc-setting/nm-meta-setting-desc.c:8658
msgid "Open vSwitch bridge settings"
msgstr "Параметры моста Open vSwitch"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8610
+#: src/libnmc-setting/nm-meta-setting-desc.c:8659
msgid "Open vSwitch DPDK interface settings"
msgstr "Параметры интерфейса Open vSwitch DPDK"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8611
+#: src/libnmc-setting/nm-meta-setting-desc.c:8660
msgid "OVS Other Config"
msgstr "Другая конфигурация OVS"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8612
+#: src/libnmc-setting/nm-meta-setting-desc.c:8661
msgid "OVS External IDs"
msgstr "Внешние идентификаторы OVS"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8613
+#: src/libnmc-setting/nm-meta-setting-desc.c:8662
msgid "Open vSwitch interface settings"
msgstr "Параметры интерфейса Open vSwitch"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8614
+#: src/libnmc-setting/nm-meta-setting-desc.c:8663
msgid "Open vSwitch patch interface settings"
msgstr "Параметры интерфейса Open vSwitch patch"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8615
+#: src/libnmc-setting/nm-meta-setting-desc.c:8664
msgid "Open vSwitch port settings"
msgstr "Параметры порта Open vSwitch"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8616
+#: src/libnmc-setting/nm-meta-setting-desc.c:8665
msgid "PPP settings"
msgstr "Параметры PPP"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8617
+#: src/libnmc-setting/nm-meta-setting-desc.c:8666
msgid "PPPoE"
msgstr "PPPoE"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8618
+#: src/libnmc-setting/nm-meta-setting-desc.c:8667
msgid "Proxy"
msgstr "Прокси"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8619
+#: src/libnmc-setting/nm-meta-setting-desc.c:8668
msgid "Serial settings"
msgstr "Параметры последовательного порта"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8620
+#: src/libnmc-setting/nm-meta-setting-desc.c:8669
msgid "SR-IOV settings"
msgstr "Параметры SR-IOV"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8621
+#: src/libnmc-setting/nm-meta-setting-desc.c:8670
msgid "Traffic controls"
msgstr "Контроль трафика"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8622
+#: src/libnmc-setting/nm-meta-setting-desc.c:8671
msgid "Team device"
msgstr "Устройство Team"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8623
+#: src/libnmc-setting/nm-meta-setting-desc.c:8672
msgid "Team port"
msgstr "Порт агрегации team"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8624
+#: src/libnmc-setting/nm-meta-setting-desc.c:8673
msgid "Tun device"
msgstr "Устройство Tun"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8625
+#: src/libnmc-setting/nm-meta-setting-desc.c:8674
msgid "User settings"
msgstr "Параметры пользователя"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8631
+#: src/libnmc-setting/nm-meta-setting-desc.c:8680
msgid "Wi-Fi P2P connection"
msgstr "Подключение Wi-Fi P2P"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8632
+#: src/libnmc-setting/nm-meta-setting-desc.c:8681
msgid "WiMAX connection"
msgstr "Подключение WiMAX"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8633
+#: src/libnmc-setting/nm-meta-setting-desc.c:8682
msgid "Wired Ethernet"
msgstr "Проводной Ethernet"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8634
+#: src/libnmc-setting/nm-meta-setting-desc.c:8683
msgid "WireGuard VPN settings"
msgstr "Параметры WireGuard VPN"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8635
+#: src/libnmc-setting/nm-meta-setting-desc.c:8684
msgid "Wi-Fi connection"
msgstr "Подключение Wi-Fi"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8636
+#: src/libnmc-setting/nm-meta-setting-desc.c:8685
msgid "Wi-Fi security settings"
msgstr "Параметры безопасности Wi-Fi"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8637
+#: src/libnmc-setting/nm-meta-setting-desc.c:8686
msgid "WPAN settings"
msgstr "Параметры WPAN"
-#: src/libnmc-setting/nm-meta-setting-desc.c:9066
+#: src/libnmc-setting/nm-meta-setting-desc.c:9115
msgid "name"
msgstr "имя"
#. Generated file. Do not edit.
#: src/libnmc-setting/settings-docs.h.in:3
msgid ""
-"The number of retries for the authentication. Zero means to try indefinitely; "
-"-1 means to use a global default. If the global default is not set, the "
-"authentication retries for 3 times before failing the connection. Currently, "
-"this only applies to 802-1x authentication."
+"The number of retries for the authentication. Zero means to try "
+"indefinitely; -1 means to use a global default. If the global default is not "
+"set, the authentication retries for 3 times before failing the connection. "
+"Currently, this only applies to 802-1x authentication."
msgstr ""
"Количество попыток для аутентификации. Ноль означает бесконечные попытки; -1 "
"означает использование глобального значения по умолчанию. Если глобальное "
-"значение по умолчанию не установлено, аутентификация повторяет попытку 3 раза "
-"перед сбоем подключения. В настоящее время это относится только к "
+"значение по умолчанию не установлено, аутентификация повторяет попытку 3 "
+"раза перед сбоем подключения. В настоящее время это относится только к "
"аутентификации 802-1x."
#: src/libnmc-setting/settings-docs.h.in:4
msgid ""
"Whether or not the connection should be automatically connected by "
"NetworkManager when the resources for the connection are available. TRUE to "
-"automatically activate the connection, FALSE to require manual intervention to "
-"activate the connection. Autoconnect happens when the circumstances are "
-"suitable. That means for example that the device is currently managed and not "
-"active. Autoconnect thus never replaces or competes with an already active "
-"profile. Note that autoconnect is not implemented for VPN profiles. See "
-"\"secondaries\" as an alternative to automatically connect VPN profiles. If "
-"multiple profiles are ready to autoconnect on the same device, the one with "
-"the better \"connection.autoconnect-priority\" is chosen. If the priorities "
-"are equal, then the most recently connected profile is activated. If the "
-"profiles were not connected earlier or their \"connection.timestamp\" is "
-"identical, the choice is undefined. Depending on \"connection.multi-connect\", "
-"a profile can (auto)connect only once at a time or multiple times."
+"automatically activate the connection, FALSE to require manual intervention "
+"to activate the connection. Autoconnect happens when the circumstances are "
+"suitable. That means for example that the device is currently managed and "
+"not active. Autoconnect thus never replaces or competes with an already "
+"active profile. Note that autoconnect is not implemented for VPN profiles. "
+"See \"secondaries\" as an alternative to automatically connect VPN profiles. "
+"If multiple profiles are ready to autoconnect on the same device, the one "
+"with the better \"connection.autoconnect-priority\" is chosen. If the "
+"priorities are equal, then the most recently connected profile is activated. "
+"If the profiles were not connected earlier or their \"connection.timestamp\" "
+"is identical, the choice is undefined. Depending on \"connection.multi-"
+"connect\", a profile can (auto)connect only once at a time or multiple times."
msgstr ""
"Должен ли NetworkManager автоматически активировать подключение при условии, "
"что ресурсы для этого подключения доступны. ИСТИНА — для автоматической "
"активации подключения, ЛОЖНО — для ручной активации. Автоматическое "
"подключение происходит при подходящих условиях. Это, например, означает, что "
-"устройство на данный момент управляется и не является активным. Таким образом, "
-"автоматическое подключение никогда не заменяет и не конкурирует с уже "
-"активными профилями. Обратите внимание, что для профилей VPN автоподключение "
-"не реализовано. В качестве альтернативы для автоматического подключения "
-"профилей VPN обратитесь к «вторичным профилям». Если на одном и том же "
-"устройстве есть несколько профилей, готовых для автоматического подключения, "
-"то выбирается профиль с лучшим приоритетом \"connection.autoconnect-"
-"priority\". При равных приоритетах активируется профиль, подключавшийся в "
-"последний раз. Если ни один из профилей ранее не выполнял подключение, или "
-"если значения их \"connection.timestamp\" идентичны, то выбор не определён. В "
-"зависимости от значения \"connection.multi-connect\" профиль может "
-"(автоматически) подключаться либо только один раз за промежуток времени, либо "
-"несколько раз."
+"устройство на данный момент управляется и не является активным. Таким "
+"образом, автоматическое подключение никогда не заменяет и не конкурирует с "
+"уже активными профилями. Обратите внимание, что для профилей VPN "
+"автоподключение не реализовано. В качестве альтернативы для автоматического "
+"подключения профилей VPN обратитесь к «вторичным профилям». Если на одном и "
+"том же устройстве есть несколько профилей, готовых для автоматического "
+"подключения, то выбирается профиль с лучшим приоритетом \"connection."
+"autoconnect-priority\". При равных приоритетах активируется профиль, "
+"подключавшийся в последний раз. Если ни один из профилей ранее не выполнял "
+"подключение, или если значения их \"connection.timestamp\" идентичны, то "
+"выбор не определён. В зависимости от значения \"connection.multi-connect\" "
+"профиль может (автоматически) подключаться либо только один раз за "
+"промежуток времени, либо несколько раз."
#: src/libnmc-setting/settings-docs.h.in:5
msgid ""
@@ -6123,12 +6170,12 @@ msgid ""
"chosen."
msgstr ""
"Приоритет автоматического подключения в диапазоне от -999 до 999. Если "
-"подключение настроено на автоматическую активацию, предпочитаются подключения "
-"с более высоким приоритетом. Чем больше число, тем выше приоритет. По "
-"умолчанию: 0. Обратите внимание, что приоритет имеет значение, только если для "
-"выбора автоподключения есть более одного подходящего профиля. В случае "
-"одинаковых приоритетов выбирается профиль, с момента использования которого "
-"прошло меньше всего времени."
+"подключение настроено на автоматическую активацию, предпочитаются "
+"подключения с более высоким приоритетом. Чем больше число, тем выше "
+"приоритет. По умолчанию: 0. Обратите внимание, что приоритет имеет значение, "
+"только если для выбора автоподключения есть более одного подходящего "
+"профиля. В случае одинаковых приоритетов выбирается профиль, с момента "
+"использования которого прошло меньше всего времени."
#: src/libnmc-setting/settings-docs.h.in:6
msgid ""
@@ -6138,100 +6185,107 @@ msgid ""
"blocking autoconnect. Note that after a timeout, NetworkManager will try to "
"autoconnect again."
msgstr ""
-"Число попыток автоматического подключения перед отказом от дальнейших попыток. "
-"Ноль означает бесконечно, -1 — глобальное значение по умолчанию (4 раза, если "
-"значение не перезаписывается). 1 означает только одну попытку автоактивации "
-"перед блокировкой автоматического подключения. Обратите внимание, что после "
-"истечения времени ожидания NetworkManager снова будет пытаться выполнить "
-"автоматическое подключение."
+"Число попыток автоматического подключения перед отказом от дальнейших "
+"попыток. Ноль означает бесконечно, -1 — глобальное значение по умолчанию (4 "
+"раза, если значение не перезаписывается). 1 означает только одну попытку "
+"автоактивации перед блокировкой автоматического подключения. Обратите "
+"внимание, что после истечения времени ожидания NetworkManager снова будет "
+"пытаться выполнить автоматическое подключение."
#: src/libnmc-setting/settings-docs.h.in:7
msgid ""
"Whether or not slaves of this connection should be automatically brought up "
-"when NetworkManager activates this connection. This only has a real effect for "
-"master connections. The properties \"autoconnect\", \"autoconnect-priority\" "
-"and \"autoconnect-retries\" are unrelated to this setting. The permitted "
-"values are: 0: leave slave connections untouched, 1: activate all the slave "
-"connections with this connection, -1: default. If -1 (default) is set, global "
-"connection.autoconnect-slaves is read to determine the real value. If it is "
-"default as well, this fallbacks to 0."
+"when NetworkManager activates this connection. This only has a real effect "
+"for master connections. The properties \"autoconnect\", \"autoconnect-"
+"priority\" and \"autoconnect-retries\" are unrelated to this setting. The "
+"permitted values are: 0: leave slave connections untouched, 1: activate all "
+"the slave connections with this connection, -1: default. If -1 (default) is "
+"set, global connection.autoconnect-slaves is read to determine the real "
+"value. If it is default as well, this fallbacks to 0."
msgstr ""
"Будут ли автоматически создаваться подчинённые подключения при активации "
-"данного подключения. Параметр имеет значение только для основных подключений. "
-"Параметры \"autoconnect\", \"autoconnect-priority\" и \"autoconnect-retries\" "
-"к данному параметру отношения не имеют. Разрешённые значения: 0 — не трогать "
-"подчинённые подключения, 1 — при поднятии данного подключения активировать все "
-"подчинённые, -1 — по умолчанию. При указании -1 (по умолчанию) читается "
-"значение глобального параметра connection.autoconnect-slaves. Если и оно "
-"ссылается на параметр по умолчанию, то данный параметр откатывается на "
-"значение 0."
+"данного подключения. Параметр имеет значение только для основных "
+"подключений. Параметры \"autoconnect\", \"autoconnect-priority\" и "
+"\"autoconnect-retries\" к данному параметру отношения не имеют. Разрешённые "
+"значения: 0 — не трогать подчинённые подключения, 1 — при поднятии данного "
+"подключения активировать все подчинённые, -1 — по умолчанию. При указании -1 "
+"(по умолчанию) читается значение глобального параметра connection."
+"autoconnect-slaves. Если и оно ссылается на параметр по умолчанию, то данный "
+"параметр откатывается на значение 0."
#: src/libnmc-setting/settings-docs.h.in:8
msgid ""
-"Whether DNSOverTls (dns-over-tls) is enabled for the connection. DNSOverTls is "
-"a technology which uses TLS to encrypt dns traffic. The permitted values are: "
-"\"yes\" (2) use DNSOverTls and disabled fallback, \"opportunistic\" (1) use "
-"DNSOverTls but allow fallback to unencrypted resolution, \"no\" (0) don't ever "
-"use DNSOverTls. If unspecified \"default\" depends on the plugin used. Systemd-"
-"resolved uses global setting. This feature requires a plugin which supports "
-"DNSOverTls. Otherwise, the setting has no effect. One such plugin is dns-"
-"systemd-resolved."
+"Interface name of the controller device or UUID of the controller connection."
+msgstr ""
+"Имя интерфейса устройства контроллера или UUID подключения контроллера."
+
+#: src/libnmc-setting/settings-docs.h.in:9
+msgid ""
+"Whether DNSOverTls (dns-over-tls) is enabled for the connection. DNSOverTls "
+"is a technology which uses TLS to encrypt dns traffic. The permitted values "
+"are: \"yes\" (2) use DNSOverTls and disabled fallback, \"opportunistic\" (1) "
+"use DNSOverTls but allow fallback to unencrypted resolution, \"no\" (0) "
+"don't ever use DNSOverTls. If unspecified \"default\" depends on the plugin "
+"used. Systemd-resolved uses global setting. This feature requires a plugin "
+"which supports DNSOverTls. Otherwise, the setting has no effect. One such "
+"plugin is dns-systemd-resolved."
msgstr ""
"Используется ли в подключении DNSOverTls (dns-over-tls). DNSOverTls — это "
"технология шифрования трафика DNS с использованием TLS. Допустимые значения: "
"\"yes\" (2) - использовать DNSOverTls и отключить запасные варианты, "
"\"opportunistic\" (1) - использовать DNSOverTls, но допустить запасные "
"варианты в виде разрешения без шифрования, \"no\" (0) - никогда не "
-"использовать DNSOverTls. Если не указано, то значение по умолчанию зависит от "
-"используемого расширения. Systemd-resolved использует глобальные значения. Для "
-"данного параметра необходимо расширение с поддержкой DNSOverTls, в противном "
-"случае параметр ни на что не влияет. Таким расширением, например, является dns-"
-"systemd-resolved."
+"использовать DNSOverTls. Если не указано, то значение по умолчанию зависит "
+"от используемого расширения. Systemd-resolved использует глобальные "
+"значения. Для данного параметра необходимо расширение с поддержкой "
+"DNSOverTls, в противном случае параметр ни на что не влияет. Таким "
+"расширением, например, является dns-systemd-resolved."
-#: src/libnmc-setting/settings-docs.h.in:9
+#: src/libnmc-setting/settings-docs.h.in:10
msgid ""
-"If greater than zero, delay success of IP addressing until either the timeout "
-"is reached, or an IP gateway replies to a ping."
+"If greater than zero, delay success of IP addressing until either the "
+"timeout is reached, or an IP gateway replies to a ping."
msgstr ""
-"При значении больше нуля успешная адресация IP будет задерживаться либо до тех "
-"пор, пока не будет достигнуто истечение времени ожидания, либо пока шлюз IP не "
-"ответит на ping."
+"При значении больше нуля успешная адресация IP будет задерживаться либо до "
+"тех пор, пока не будет достигнуто истечение времени ожидания, либо пока шлюз "
+"IP не ответит на ping."
-#: src/libnmc-setting/settings-docs.h.in:10
+#: src/libnmc-setting/settings-docs.h.in:11
msgid ""
-"A human readable unique identifier for the connection, like \"Work Wi-Fi\" or "
-"\"T-Mobile 3G\"."
+"A human readable unique identifier for the connection, like \"Work Wi-Fi\" "
+"or \"T-Mobile 3G\"."
msgstr ""
"Уникальный идентификатор подключения в человекочитаемом формате, например, "
"\"Работа Wi-Fi\" или \"T-Mobile 3G\"."
-#: src/libnmc-setting/settings-docs.h.in:11
+#: src/libnmc-setting/settings-docs.h.in:12
msgid ""
"The name of the network interface this connection is bound to. If not set, "
"then the connection can be attached to any interface of the appropriate type "
-"(subject to restrictions imposed by other settings). For software devices this "
-"specifies the name of the created device. For connection types where interface "
-"names cannot easily be made persistent (e.g. mobile broadband or USB "
-"Ethernet), this property should not be used. Setting this property restricts "
-"the interfaces a connection can be used with, and if interface names change or "
-"are reordered the connection may be applied to the wrong interface."
+"(subject to restrictions imposed by other settings). For software devices "
+"this specifies the name of the created device. For connection types where "
+"interface names cannot easily be made persistent (e.g. mobile broadband or "
+"USB Ethernet), this property should not be used. Setting this property "
+"restricts the interfaces a connection can be used with, and if interface "
+"names change or are reordered the connection may be applied to the wrong "
+"interface."
msgstr ""
"Имя сетевого интерфейса, к которому привязано это подключение. Если значение "
-"не задано, подключение можно присоединить к любому интерфейсу соответствующего "
-"типа (с учётом ограничений, налагаемых другими параметрами). Для программных "
-"устройств это свойство указывает имя созданного устройства. Для типов "
-"подключений, где имена интерфейсов не могут быть постоянными (например, "
-"мобильный широкополосный или USB-Ethernet), это свойство не должно "
-"использоваться. Настройка этого свойства ограничивает выбор интерфейсов, с "
-"которыми можно использовать подключение, и если имена интерфейсов изменяются "
-"или переупорядочиваются, подключение может примениться к неправильному "
-"интерфейсу."
+"не задано, подключение можно присоединить к любому интерфейсу "
+"соответствующего типа (с учётом ограничений, налагаемых другими "
+"параметрами). Для программных устройств это свойство указывает имя "
+"созданного устройства. Для типов подключений, где имена интерфейсов не могут "
+"быть постоянными (например, мобильный широкополосный или USB-Ethernet), это "
+"свойство не должно использоваться. Настройка этого свойства ограничивает "
+"выбор интерфейсов, с которыми можно использовать подключение, и если имена "
+"интерфейсов изменяются или переупорядочиваются, подключение может "
+"примениться к неправильному интерфейсу."
-#: src/libnmc-setting/settings-docs.h.in:12
+#: src/libnmc-setting/settings-docs.h.in:13
msgid "Whether LLDP is enabled for the connection."
msgstr "Включен ли протокол LLDP в подключении."
-#: src/libnmc-setting/settings-docs.h.in:13
+#: src/libnmc-setting/settings-docs.h.in:14
msgid ""
"Whether Link-Local Multicast Name Resolution (LLMNR) is enabled for the "
"connection. LLMNR is a protocol based on the Domain Name System (DNS) packet "
@@ -6241,34 +6295,39 @@ msgid ""
"interface, \"resolve\" (1) do not register hostname but allow resolving of "
"LLMNR host names If unspecified, \"default\" ultimately depends on the DNS "
"plugin (which for systemd-resolved currently means \"yes\"). This feature "
-"requires a plugin which supports LLMNR. Otherwise, the setting has no effect. "
-"One such plugin is dns-systemd-resolved."
+"requires a plugin which supports LLMNR. Otherwise, the setting has no "
+"effect. One such plugin is dns-systemd-resolved."
msgstr ""
"Активирован ли для подключения протокол LLMNR. LLMNR — это протокол на базе "
-"формата пакетов DNS, позволяющий как хостам IPv4, так и хостам IPv6 выполнять "
-"разрешение имён в одном и том же локальном канале. Разрешённые значения: "
-"«yes» (2) зарегистрировать имя хоста и разрешение подключения; «no» (0) "
-"отключить LLMNR для интерфейса; «resolve» (1) не регистрировать имя хоста, но "
-"включить разрешение имён хостов LLMNR. Если не указано, значение по умолчанию "
-"в итоге зависит от модуля DNS (что для systemd-resolved на данный момент "
-"означает «yes»). Данный параметр требует модуля, поддерживающего LLMNR, в "
-"противном случае параметр ни на что не влияет. Одним из таких модулей является "
-"dns-systemd-resolved."
-
-#: src/libnmc-setting/settings-docs.h.in:14
-msgid "Interface name of the master device or UUID of the master connection."
-msgstr "Имя интерфейса ведущего устройства или UUID основного подключения."
+"формата пакетов DNS, позволяющий как хостам IPv4, так и хостам IPv6 "
+"выполнять разрешение имён в одном и том же локальном канале. Разрешённые "
+"значения: «yes» (2) зарегистрировать имя хоста и разрешение подключения; "
+"«no» (0) отключить LLMNR для интерфейса; «resolve» (1) не регистрировать имя "
+"хоста, но включить разрешение имён хостов LLMNR. Если не указано, значение "
+"по умолчанию в итоге зависит от модуля DNS (что для systemd-resolved на "
+"данный момент означает «yes»). Данный параметр требует модуля, "
+"поддерживающего LLMNR, в противном случае параметр ни на что не влияет. "
+"Одним из таких модулей является dns-systemd-resolved."
#: src/libnmc-setting/settings-docs.h.in:15
msgid ""
+"Interface name of the master device or UUID of the master connection. "
+"Deprecated 1.46. Use \"controller\" instead, this is just an alias."
+msgstr ""
+"Имя интерфейса ведущего устройств, или UUID главного подключения. Устарело с "
+"1.46. Используйте «контроллер», данный параметр является только псевдонимом."
+
+#: src/libnmc-setting/settings-docs.h.in:16
+msgid ""
"Whether mDNS is enabled for the connection. The permitted values are: "
"\"yes\" (2) register hostname and resolving for the connection, \"no\" (0) "
"disable mDNS for the interface, \"resolve\" (1) do not register hostname but "
"allow resolving of mDNS host names and \"default\" (-1) to allow lookup of a "
-"global default in NetworkManager.conf. If unspecified, \"default\" ultimately "
-"depends on the DNS plugin (which for systemd-resolved currently means \"no\"). "
-"This feature requires a plugin which supports mDNS. Otherwise, the setting has "
-"no effect. One such plugin is dns-systemd-resolved."
+"global default in NetworkManager.conf. If unspecified, \"default\" "
+"ultimately depends on the DNS plugin (which for systemd-resolved currently "
+"means \"no\"). This feature requires a plugin which supports mDNS. "
+"Otherwise, the setting has no effect. One such plugin is dns-systemd-"
+"resolved."
msgstr ""
"Включен ли mDNS для подключения. Допустимые значения: «yes» (2) "
"зарегистрировать имя хоста и разрешить подключение; «no» (0) отключить mDNS "
@@ -6276,78 +6335,79 @@ msgstr ""
"разрешение имён хостов mDNS, и \"default\" (-1) разрешить поиск глобального "
"значения по умолчанию в NetworkManager.conf. Если не указано, значение по "
"умолчанию в итоге зависит от модуля DNS (что для systemd-resolved на данный "
-"момент означает «no»). Данный параметр требует модуля, поддерживающего mDNS, в "
-"противном случае параметр ни на что не влияет. Одним из таких модулей является "
-"dns-systemd-resolved."
+"момент означает «no»). Данный параметр требует модуля, поддерживающего mDNS, "
+"в противном случае параметр ни на что не влияет. Одним из таких модулей "
+"является dns-systemd-resolved."
-#: src/libnmc-setting/settings-docs.h.in:16
+#: src/libnmc-setting/settings-docs.h.in:17
msgid ""
-"Whether the connection is metered. When updating this property on a currently "
-"activated connection, the change takes effect immediately."
+"Whether the connection is metered. When updating this property on a "
+"currently activated connection, the change takes effect immediately."
msgstr ""
"Является ли подключение лимитным. При обновлении этого свойства для текущего "
"активного подключения, изменение вступает в силу немедленно."
-#: src/libnmc-setting/settings-docs.h.in:17
+#: src/libnmc-setting/settings-docs.h.in:18
msgid ""
"Whether to configure MPTCP endpoints and the address flags. If MPTCP is "
-"enabled in NetworkManager, it will configure the addresses of the interface as "
-"MPTCP endpoints. Note that IPv4 loopback addresses (127.0.0.0/8), IPv4 link "
-"local addresses (169.254.0.0/16), the IPv6 loopback address (::1), IPv6 link "
-"local addresses (fe80::/10), IPv6 unique local addresses (ULA, fc00::/7) and "
-"IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) will be excluded "
-"from being configured as endpoints. If \"disabled\" (0x1), MPTCP handling for "
-"the interface is disabled and no endpoints are registered. The "
-"\"enabled\" (0x2) flag means that MPTCP handling is enabled. This flag can "
-"also be implied from the presence of other flags. Even when enabled, MPTCP "
-"handling will by default still be disabled unless \"/proc/sys/net/mptcp/"
-"enabled\" sysctl is on. NetworkManager does not change the sysctl and this is "
-"up to the administrator or distribution. To configure endpoints even if the "
-"sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be used. In that "
-"case, NetworkManager doesn't look at the sysctl and configures endpoints "
-"regardless. Even when enabled, NetworkManager will only configure MPTCP "
-"endpoints for a certain address family, if there is a unicast default route "
-"(0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-default-"
-"route\" (0x8) can override that. When MPTCP handling is enabled then endpoints "
-"are configured with the specified address flags \"signal\" (0x10), "
+"enabled in NetworkManager, it will configure the addresses of the interface "
+"as MPTCP endpoints. Note that IPv4 loopback addresses (127.0.0.0/8), IPv4 "
+"link local addresses (169.254.0.0/16), the IPv6 loopback address (::1), IPv6 "
+"link local addresses (fe80::/10), IPv6 unique local addresses (ULA, "
+"fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
+"will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
+"MPTCP handling for the interface is disabled and no endpoints are "
+"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
+"This flag can also be implied from the presence of other flags. Even when "
+"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
+"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
+"and this is up to the administrator or distribution. To configure endpoints "
+"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
+"used. In that case, NetworkManager doesn't look at the sysctl and configures "
+"endpoints regardless. Even when enabled, NetworkManager will only configure "
+"MPTCP endpoints for a certain address family, if there is a unicast default "
+"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
+"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
+"endpoints are configured with the specified address flags \"signal\" (0x10), "
"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
"manual for additional information about the flags. If the flags are zero "
"(0x0), the global connection default from NetworkManager.conf is honored. If "
"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/enabled\" "
-"sysctl. NetworkManager does not change the MPTCP limits nor enable MPTCP via "
-"\"/proc/sys/net/mptcp/enabled\". That is a host configuration which the admin "
-"can change via sysctl and ip-mptcp. Strict reverse path filtering (rp_filter) "
-"breaks many MPTCP use cases, so when MPTCP handling for IPv4 addresses on the "
-"interface is enabled, NetworkManager would loosen the strict reverse path "
-"filtering (1) to the loose setting (2)."
-msgstr ""
-"Настраивать ли конечные точки MPTCP и флаги адресов. Если MPTCP активирован в "
-"NetworkManager, то адреса интерфейсов будут настраиваться как конечные точки "
-"MPTCP. Обратите внимание, что петлевые адреса IPv4 (127.0.0.0/8), адреса IPv4 "
-"канального уровня (169.254.0.0/16), петлевой адрес IPv6 (::1), адреса IPv6 "
-"канального уровня (fe80::/10), уникальные локальные адреса IPv6 (ULA, "
-"fc00::/7) и адреса IPv6 с расширением конфиденциальности (rfc3041, ipv6.ip6-"
-"privacy) не будут настраиваться как конечные точки. Флаг \"disabled\" (0x1) "
-"означает, что MPTCP не будет обрабатывать интерфейсы и конечные точки не будут "
-"регистрироваться. Флаг \"enabled\" (0x2) означает, что MPTCP обрабатывает "
-"интерфейсы. Этот флаг подразумевается также при наличии некоторых других "
-"флагов. Даже при явной активации, MPTCP по умолчанию всё ещё будет отключён до "
-"момента, когда будет включён также и sysctl \"/proc/sys/net/mptcp/enabled\". "
-"NetworkManager не меняет sysctl, и это решение принимают администраторы, либо "
-"разработчики дистрибутивов. Для возможности настройки конечных точек при "
-"отключённом sysctl можно использовать флаг \"also-without-sysctl\" (0x4). В "
-"таком случае NetworkManager не обращает внимания на sysctl и настраивает "
-"конечные точки независимо от него. В этом случае NetworkManager будет "
-"настраивать конечные точки MPTCP только для конкретных семейств адресов, при "
-"наличии в главной таблице маршрутизации маршрута unicast по умолчанию "
-"(0.0.0.0/0 или ::/0). Это поведение можно переопределить с помощью флага "
-"\"also-without-default-route\" (0x8). При включённом MPTCP конечные точки "
-"настраиваются с флагами для указанных адресов: \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). Дополнительны "
-"сведения об этих флагах см. на страничке руководства ip-mptcp(8). Если флаги "
-"равны нулю (0x0), то учитываются глобальные настройки подключений по умолчанию "
-"из NetworkManager.conf. Если и там ничего не настроено, запасным вариантом "
+"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
+"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
+"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
+"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
+"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
+"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
+"the strict reverse path filtering (1) to the loose setting (2)."
+msgstr ""
+"Настраивать ли конечные точки MPTCP и флаги адресов. Если MPTCP активирован "
+"в NetworkManager, то адреса интерфейсов будут настраиваться как конечные "
+"точки MPTCP. Обратите внимание, что петлевые адреса IPv4 (127.0.0.0/8), "
+"адреса IPv4 канального уровня (169.254.0.0/16), петлевой адрес IPv6 (::1), "
+"адреса IPv6 канального уровня (fe80::/10), уникальные локальные адреса IPv6 "
+"(ULA, fc00::/7) и адреса IPv6 с расширением конфиденциальности (rfc3041, "
+"ipv6.ip6-privacy) не будут настраиваться как конечные точки. Флаг "
+"\"disabled\" (0x1) означает, что MPTCP не будет обрабатывать интерфейсы и "
+"конечные точки не будут регистрироваться. Флаг \"enabled\" (0x2) означает, "
+"что MPTCP обрабатывает интерфейсы. Этот флаг подразумевается также при "
+"наличии некоторых других флагов. Даже при явной активации, MPTCP по "
+"умолчанию всё ещё будет отключён до момента, когда будет включён также и "
+"sysctl \"/proc/sys/net/mptcp/enabled\". NetworkManager не меняет sysctl, и "
+"это решение принимают администраторы, либо разработчики дистрибутивов. Для "
+"возможности настройки конечных точек при отключённом sysctl можно "
+"использовать флаг \"also-without-sysctl\" (0x4). В таком случае "
+"NetworkManager не обращает внимания на sysctl и настраивает конечные точки "
+"независимо от него. В этом случае NetworkManager будет настраивать конечные "
+"точки MPTCP только для конкретных семейств адресов, при наличии в главной "
+"таблице маршрутизации маршрута unicast по умолчанию (0.0.0.0/0 или ::/0). "
+"Это поведение можно переопределить с помощью флага \"also-without-default-"
+"route\" (0x8). При включённом MPTCP конечные точки настраиваются с флагами "
+"для указанных адресов: \"signal\" (0x10), \"subflow\" (0x20), "
+"\"backup\" (0x40), \"fullmesh\" (0x80). Дополнительны сведения об этих "
+"флагах см. на страничке руководства ip-mptcp(8). Если флаги равны нулю "
+"(0x0), то учитываются глобальные настройки подключений по умолчанию из "
+"NetworkManager.conf. Если и там ничего не настроено, запасным вариантом "
"является \"enabled,subflow\". Обратите внимание, что это означает, что "
"реализация MPTCP по умолчанию зависит от sysctl \"/proc/sys/net/mptcp/"
"enabled\". NetworkManager не изменяет лимиты MPTCP и не активирует MPTCP с "
@@ -6357,18 +6417,18 @@ msgstr ""
"использованию MPTCP, поэтому при включённой обработке MPTCP адресов IPv4 на "
"интерфейсе, NetworkManager меняет строгую фильтрацию (1) на нестрогую (2)."
-#: src/libnmc-setting/settings-docs.h.in:18
+#: src/libnmc-setting/settings-docs.h.in:19
msgid ""
"If configured, set to a Manufacturer Usage Description (MUD) URL that points "
"to manufacturer-recommended network policies for IoT devices. It is "
"transmitted as a DHCPv4 or DHCPv6 option. The value must be a valid URL "
-"starting with \"https://\". The special value \"none\" is allowed to indicate "
-"that no MUD URL is used. If the per-profile value is unspecified (the "
-"default), a global connection default gets consulted. If still unspecified, "
-"the ultimate default is \"none\"."
+"starting with \"https://\". The special value \"none\" is allowed to "
+"indicate that no MUD URL is used. If the per-profile value is unspecified "
+"(the default), a global connection default gets consulted. If still "
+"unspecified, the ultimate default is \"none\"."
msgstr ""
-"Если параметр настроен, то здесь должен присутствовать URL Manufacturer Usage "
-"Description (MUD), указывающий на сетевые политики, рекомендуемые "
+"Если параметр настроен, то здесь должен присутствовать URL Manufacturer "
+"Usage Description (MUD), указывающий на сетевые политики, рекомендуемые "
"производителем для устройств «Интернета вещей». Передаётся в виде параметра "
"DHCPv4 or DHCPv6. Значением должен быть действительный URL, начинающийся с "
"\"https://\". Для указания того, что MUD URL не используется, разрешено "
@@ -6377,7 +6437,7 @@ msgstr ""
"подключения . Если и оно не указано, окончательное значение по умолчанию — "
"\"none\"."
-#: src/libnmc-setting/settings-docs.h.in:19
+#: src/libnmc-setting/settings-docs.h.in:20
msgid ""
"Specifies whether the profile can be active multiple times at a particular "
"moment. The value is of type NMConnectionMultiConnect."
@@ -6385,39 +6445,39 @@ msgstr ""
"Указывает, может ли профиль иметь множество активных инстанций в один момент "
"времени. Значение имеет тип NMConnectionMultiConnect."
-#: src/libnmc-setting/settings-docs.h.in:20
+#: src/libnmc-setting/settings-docs.h.in:21
msgid ""
-"An array of strings defining what access a given user has to this connection. "
-"If this is NULL or empty, all users are allowed to access this connection; "
-"otherwise users are allowed if and only if they are in this list. When this "
-"is not empty, the connection can be active only when one of the specified "
-"users is logged into an active session. Each entry is of the form \"[type]:"
-"[id]:[reserved]\"; for example, \"user:dcbw:blah\". At this time only the "
-"\"user\" [type] is allowed. Any other values are ignored and reserved for "
-"future use. [id] is the username that this permission refers to, which may "
-"not contain the \":\" character. Any [reserved] information present must be "
-"ignored and is reserved for future use. All of [type], [id], and [reserved] "
-"must be valid UTF-8."
-msgstr ""
-"Массив строк, определяющий, какой доступ к данному подключению имеет указанный "
-"пользователь. При пустом значении или значении NULL доступ к подключению есть "
-"у всех пользователей; в противном случае доступ пользователям разрешается "
-"только в том случае, если они присутствуют в этом списке. Если значение не "
-"пустое, подключение может быть активным только тогда, когда один из указанных "
-"пользователей регистрируется в активном сеансе. Каждая запись имеет вид "
-"«[type]:[id]:[reserved]»; например, «user:dcbw:blah». На данный момент "
-"разрешены только записи \"user\" [type]. Любые другие значения игнорируются и "
-"сохраняются для использования в будущем. [id] — это имя пользователя, к "
-"которому относится данное полномочие, где символ «:» может отсутствовать. "
-"Любая информация, содержащаяся в [reserved], должна игнорироваться и "
-"резервируется для использования в будущем. Вся информация в [type], [id] и "
-"[reserved] должна указываться в кодировке UTF-8."
+"An array of strings defining what access a given user has to this "
+"connection. If this is NULL or empty, all users are allowed to access this "
+"connection; otherwise users are allowed if and only if they are in this "
+"list. When this is not empty, the connection can be active only when one of "
+"the specified users is logged into an active session. Each entry is of the "
+"form \"[type]:[id]:[reserved]\"; for example, \"user:dcbw:blah\". At this "
+"time only the \"user\" [type] is allowed. Any other values are ignored and "
+"reserved for future use. [id] is the username that this permission refers "
+"to, which may not contain the \":\" character. Any [reserved] information "
+"present must be ignored and is reserved for future use. All of [type], "
+"[id], and [reserved] must be valid UTF-8."
+msgstr ""
+"Массив строк, определяющий, какой доступ к данному подключению имеет "
+"указанный пользователь. При пустом значении или значении NULL доступ к "
+"подключению есть у всех пользователей; в противном случае доступ "
+"пользователям разрешается только в том случае, если они присутствуют в этом "
+"списке. Если значение не пустое, подключение может быть активным только "
+"тогда, когда один из указанных пользователей регистрируется в активном "
+"сеансе. Каждая запись имеет вид «[type]:[id]:[reserved]»; например, «user:"
+"dcbw:blah». На данный момент разрешены только записи \"user\" [type]. Любые "
+"другие значения игнорируются и сохраняются для использования в будущем. [id] "
+"— это имя пользователя, к которому относится данное полномочие, где символ "
+"«:» может отсутствовать. Любая информация, содержащаяся в [reserved], должна "
+"игнорироваться и резервируется для использования в будущем. Вся информация в "
+"[type], [id] и [reserved] должна указываться в кодировке UTF-8."
-#: src/libnmc-setting/settings-docs.h.in:21
+#: src/libnmc-setting/settings-docs.h.in:22
msgid "This property is deprecated and has no meaning."
msgstr "Это свойство устарело и не имеет никакого значения."
-#: src/libnmc-setting/settings-docs.h.in:22
+#: src/libnmc-setting/settings-docs.h.in:23
msgid ""
"List of connection UUIDs that should be activated when the base connection "
"itself is activated. Currently, only VPN connections are supported."
@@ -6425,7 +6485,7 @@ msgstr ""
"Список UUID подключений, которые должны быть активированы при активации "
"базового подключения. На данный момент поддерживаются только подключения VPN."
-#: src/libnmc-setting/settings-docs.h.in:23
+#: src/libnmc-setting/settings-docs.h.in:24
msgid ""
"Setting name of the device type of this slave's master connection (eg, "
"\"bond\"), or NULL if this connection is not a slave."
@@ -6434,85 +6494,87 @@ msgstr ""
"подчинённого подключения (например, \"bond\"), либо NULL, если данное "
"подключение не является подчинённым."
-#: src/libnmc-setting/settings-docs.h.in:24
+#: src/libnmc-setting/settings-docs.h.in:25
msgid ""
"This represents the identity of the connection used for various purposes. It "
-"allows to configure multiple profiles to share the identity. Also, the stable-"
-"id can contain placeholders that are substituted dynamically and "
+"allows to configure multiple profiles to share the identity. Also, the "
+"stable-id can contain placeholders that are substituted dynamically and "
"deterministically depending on the context. The stable-id is used for "
"generating IPv6 stable private addresses with ipv6.addr-gen-mode=stable-"
-"privacy. It is also used to seed the generated cloned MAC address for ethernet."
-"cloned-mac-address=stable and wifi.cloned-mac-address=stable. It is also used "
-"to derive the DHCP client identifier with ipv4.dhcp-client-id=stable, the "
-"DHCPv6 DUID with ipv6.dhcp-duid=stable-[llt,ll,uuid] and the DHCP IAID with "
-"ipv4.iaid=stable and ipv6.iaid=stable. Note that depending on the context "
-"where it is used, other parameters are also seeded into the generation "
-"algorithm. For example, a per-host key is commonly also included, so that "
-"different systems end up generating different IDs. Or with ipv6.addr-gen-"
-"mode=stable-privacy, also the device's name is included, so that different "
-"interfaces yield different addresses. The per-host key is the identity of your "
-"machine and stored in /var/lib/NetworkManager/secret_key. See "
-"NetworkManager(8) manual about the secret-key and the host identity. The '$' "
-"character is treated special to perform dynamic substitutions at activation "
-"time. Currently, supported are \"${CONNECTION}\", \"${DEVICE}\", \"${MAC}\", "
-"\"${NETWORK_SSID}\", \"${BOOT}\", \"${RANDOM}\". These effectively create "
-"unique IDs per-connection, per-device, per-SSID, per-boot, or every time. The "
-"\"${CONNECTION}\" uses the profile's connection.uuid, the \"${DEVICE}\" uses "
-"the interface name of the device and \"${MAC}\" the permanent MAC address of "
-"the device. \"${NETWORK_SSID}\" uses the SSID for Wi-Fi networks and falls "
-"back to \"${CONNECTION}\" on other networks. Any unrecognized patterns "
-"following '$' are treated verbatim, however are reserved for future use. You "
-"are thus advised to avoid '$' or escape it as \"$$\". For example, set it to "
-"\"${CONNECTION}-${BOOT}-${DEVICE}\" to create a unique id for this connection "
-"that changes with every reboot and differs depending on the interface where "
-"the profile activates. If the value is unset, a global connection default is "
-"consulted. If the value is still unset, the default is "
-"\"default${CONNECTION}\" go generate an ID unique per connection profile."
+"privacy. It is also used to seed the generated cloned MAC address for "
+"ethernet.cloned-mac-address=stable and wifi.cloned-mac-address=stable. It is "
+"also used to derive the DHCP client identifier with ipv4.dhcp-client-"
+"id=stable, the DHCPv6 DUID with ipv6.dhcp-duid=stable-[llt,ll,uuid] and the "
+"DHCP IAID with ipv4.iaid=stable and ipv6.iaid=stable. Note that depending on "
+"the context where it is used, other parameters are also seeded into the "
+"generation algorithm. For example, a per-host key is commonly also included, "
+"so that different systems end up generating different IDs. Or with ipv6.addr-"
+"gen-mode=stable-privacy, also the device's name is included, so that "
+"different interfaces yield different addresses. The per-host key is the "
+"identity of your machine and stored in /var/lib/NetworkManager/secret_key. "
+"See NetworkManager(8) manual about the secret-key and the host identity. The "
+"'$' character is treated special to perform dynamic substitutions at "
+"activation time. Currently, supported are \"${CONNECTION}\", \"${DEVICE}\", "
+"\"${MAC}\", \"${NETWORK_SSID}\", \"${BOOT}\", \"${RANDOM}\". These "
+"effectively create unique IDs per-connection, per-device, per-SSID, per-"
+"boot, or every time. The \"${CONNECTION}\" uses the profile's connection."
+"uuid, the \"${DEVICE}\" uses the interface name of the device and \"${MAC}\" "
+"the permanent MAC address of the device. \"${NETWORK_SSID}\" uses the SSID "
+"for Wi-Fi networks and falls back to \"${CONNECTION}\" on other networks. "
+"Any unrecognized patterns following '$' are treated verbatim, however are "
+"reserved for future use. You are thus advised to avoid '$' or escape it as "
+"\"$$\". For example, set it to \"${CONNECTION}-${BOOT}-${DEVICE}\" to "
+"create a unique id for this connection that changes with every reboot and "
+"differs depending on the interface where the profile activates. If the value "
+"is unset, a global connection default is consulted. If the value is still "
+"unset, the default is \"default${CONNECTION}\" go generate an ID unique per "
+"connection profile."
msgstr ""
"Представляет собой идентификатор соединения, используемого для различных "
-"целей. Он позволяет настроить несколько профилей для совместного использования "
-"идентификатора. Кроме того, stable-id может содержать заполнители, которые "
-"подставляются динамически и детерминированно в зависимости от контекста. "
-"stable-id используется для генерации стабильных частных адресов IPv6 с ipv6."
-"addr-gen-mode=stable-privacy. Он также используется для посева "
-"сгенерированного клонированного MAC-адреса для ethernet.cloned-mac-"
-"address=stable и wifi.cloned-mac-address=stable. Он также используется для "
-"получения идентификатора клиента DHCP с ipv4.dhcp-client-id=stable, DUID "
-"DHCPv6 с ipv6.dhcp-duid=stable-[llt,ll,uuid] и IAID DHCP с ipv4.iaid=stable и "
-"ipv6.iaid=stable. Обратите внимание, что в зависимости от контекста "
-"использования, в алгоритм генерации закладываются и другие параметры. "
-"Например, обычно также включается ключ для каждого хоста, так что разные "
-"системы в итоге генерируют разные идентификаторы. Или при ipv6.addr-gen-"
-"mode=stable-privacy также включается имя устройства, так что разные интерфейсы "
-"генерируют разные адреса. Ключ для каждого хоста является идентификатором "
-"вашей машины и хранится в /var/lib/NetworkManager/secret_key. О секретном "
-"ключе и идентификаторе хоста см. руководство NetworkManager(8). Символ '$' "
-"обрабатывается специальным образом для выполнения динамических замен во время "
-"активации. В настоящее время поддерживаются следующие значения: "
-"\"${CONNECTION}\", \"${DEVICE}\", \"${MAC}\", \"${NETWORK_SSID}\", "
-"\"${BOOT}\", \"${RANDOM}\". Они эффективно создают уникальные идентификаторы "
-"для каждого соединения, каждого устройства, каждого SSID, каждой загрузки или "
-"каждый раз. В \"${CONNECTION}\" используется connection.uuid профиля, в "
-"\"${DEVICE}\" - имя интерфейса устройства, а в \"${MAC}\" - постоянный MAC-"
-"адрес устройства. \"${NETWORK_SSID}\" использует SSID для сетей Wi-Fi и "
-"возвращается к \"${CONNECTION}\" для других сетей. Любые нераспознанные "
-"шаблоны, следующие за '$', обрабатываются дословно, но резервируются для "
-"будущего использования. Поэтому рекомендуется избегать '$' или экранировать "
-"его как \"$$\". Например, задайте значение \"${CONNECTION}-${BOOT}-"
-"${DEVICE}\", чтобы создать уникальный идентификатор для этого соединения, "
-"который меняется при каждой перезагрузке и отличается в зависимости от "
-"интерфейса, на котором активируется профиль. Если значение не установлено, "
-"используется глобальное значение соединения по умолчанию. Если значение не "
-"задано, по умолчанию используется \"default${CONNECTION}\" для создания "
-"уникального идентификатора для каждого профиля соединения."
+"целей. Он позволяет настроить несколько профилей для совместного "
+"использования идентификатора. Кроме того, stable-id может содержать "
+"заполнители, которые подставляются динамически и детерминированно в "
+"зависимости от контекста. stable-id используется для генерации стабильных "
+"частных адресов IPv6 с ipv6.addr-gen-mode=stable-privacy. Он также "
+"используется для посева сгенерированного клонированного MAC-адреса для "
+"ethernet.cloned-mac-address=stable и wifi.cloned-mac-address=stable. Он "
+"также используется для получения идентификатора клиента DHCP с ipv4.dhcp-"
+"client-id=stable, DUID DHCPv6 с ipv6.dhcp-duid=stable-[llt,ll,uuid] и IAID "
+"DHCP с ipv4.iaid=stable и ipv6.iaid=stable. Обратите внимание, что в "
+"зависимости от контекста использования, в алгоритм генерации закладываются и "
+"другие параметры. Например, обычно также включается ключ для каждого хоста, "
+"так что разные системы в итоге генерируют разные идентификаторы. Или при "
+"ipv6.addr-gen-mode=stable-privacy также включается имя устройства, так что "
+"разные интерфейсы генерируют разные адреса. Ключ для каждого хоста является "
+"идентификатором вашей машины и хранится в /var/lib/NetworkManager/"
+"secret_key. О секретном ключе и идентификаторе хоста см. руководство "
+"NetworkManager(8). Символ '$' обрабатывается специальным образом для "
+"выполнения динамических замен во время активации. В настоящее время "
+"поддерживаются следующие значения: \"${CONNECTION}\", \"${DEVICE}\", "
+"\"${MAC}\", \"${NETWORK_SSID}\", \"${BOOT}\", \"${RANDOM}\". Они эффективно "
+"создают уникальные идентификаторы для каждого соединения, каждого "
+"устройства, каждого SSID, каждой загрузки или каждый раз. В "
+"\"${CONNECTION}\" используется connection.uuid профиля, в \"${DEVICE}\" - "
+"имя интерфейса устройства, а в \"${MAC}\" - постоянный MAC-адрес устройства. "
+"\"${NETWORK_SSID}\" использует SSID для сетей Wi-Fi и возвращается к "
+"\"${CONNECTION}\" для других сетей. Любые нераспознанные шаблоны, следующие "
+"за '$', обрабатываются дословно, но резервируются для будущего "
+"использования. Поэтому рекомендуется избегать '$' или экранировать его как "
+"\"$$\". Например, задайте значение \"${CONNECTION}-${BOOT}-${DEVICE}\", "
+"чтобы создать уникальный идентификатор для этого соединения, который "
+"меняется при каждой перезагрузке и отличается в зависимости от интерфейса, "
+"на котором активируется профиль. Если значение не установлено, используется "
+"глобальное значение соединения по умолчанию. Если значение не задано, по "
+"умолчанию используется \"default${CONNECTION}\" для создания уникального "
+"идентификатора для каждого профиля соединения."
-#: src/libnmc-setting/settings-docs.h.in:25
+#: src/libnmc-setting/settings-docs.h.in:26
msgid ""
"The time, in seconds since the Unix Epoch, that the connection was last "
"_successfully_ fully activated. NetworkManager updates the connection "
-"timestamp periodically when the connection is active to ensure that an active "
-"connection has the latest timestamp. The property is only meant for reading "
-"(changes to this property will not be preserved)."
+"timestamp periodically when the connection is active to ensure that an "
+"active connection has the latest timestamp. The property is only meant for "
+"reading (changes to this property will not be preserved)."
msgstr ""
"Время, в секундах от времени Unix, последней полной _успешной_ активации "
"подключения. NetworkManager периодически обновляет временную метку "
@@ -6520,56 +6582,57 @@ msgstr ""
"свойство предназначено только для чтения (вносимые изменения сохранены не "
"будут)."
-#: src/libnmc-setting/settings-docs.h.in:26
+#: src/libnmc-setting/settings-docs.h.in:27
msgid ""
"Base type of the connection. For hardware-dependent connections, should "
"contain the setting name of the hardware-type specific setting (ie, \"802-3-"
-"ethernet\" or \"802-11-wireless\" or \"bluetooth\", etc), and for non-hardware "
-"dependent connections like VPN or otherwise, should contain the setting name "
-"of that setting type (ie, \"vpn\" or \"bridge\", etc)."
+"ethernet\" or \"802-11-wireless\" or \"bluetooth\", etc), and for non-"
+"hardware dependent connections like VPN or otherwise, should contain the "
+"setting name of that setting type (ie, \"vpn\" or \"bridge\", etc)."
msgstr ""
"Базовый тип подключения. Для аппаратно-зависимых подключений должно быть "
"указано имя параметра, указывающего тип оборудования (например, \"802-3-"
"ethernet\", \"802-11-wireless\" или \"bluetooth\" и т. д.). Для подключений, "
-"не зависящих от типа оборудования, таких, как VPN или другие типы подключений, "
-"необходимо указать имя параметра, указывающего тип подключения (например, "
-"\"vpn\" или \"мост\" и т.д.)"
+"не зависящих от типа оборудования, таких, как VPN или другие типы "
+"подключений, необходимо указать имя параметра, указывающего тип подключения "
+"(например, \"vpn\" или \"мост\" и т.д.)"
-#: src/libnmc-setting/settings-docs.h.in:27
+#: src/libnmc-setting/settings-docs.h.in:28
msgid ""
-"The connection.uuid is the real identifier of a profile. It cannot change and "
-"it must be unique. It is therefore often best to refer to a profile by UUID, "
-"for example with `nmcli connection up uuid $UUID`. The UUID cannot be changed, "
-"except in offline mode. In that case, the special values \"new\", \"generate\" "
-"and \"\" are allowed to generate a new random UUID."
+"The connection.uuid is the real identifier of a profile. It cannot change "
+"and it must be unique. It is therefore often best to refer to a profile by "
+"UUID, for example with `nmcli connection up uuid $UUID`. The UUID cannot be "
+"changed, except in offline mode. In that case, the special values \"new\", "
+"\"generate\" and \"\" are allowed to generate a new random UUID."
msgstr ""
"connection.uuid является реальным идентификатором профиля. Это значение не "
"может меняться и должно быть уникальным. Поэтому лучше всего обращаться к "
"профилю по UUID, например, с помощью `nmcli connection up uuid $UUID`. UUID "
"можно изменить только в режиме вне сети. В этих случаях для создания нового "
-"случайного UUID допускаются специальные значения \"new\", \"generate\" и \"\"."
+"случайного UUID допускаются специальные значения \"new\", \"generate\" и "
+"\"\"."
-#: src/libnmc-setting/settings-docs.h.in:28
+#: src/libnmc-setting/settings-docs.h.in:29
msgid ""
"Time in milliseconds to wait for connection to be considered activated. The "
"wait will start after the pre-up dispatcher event. The value 0 means no wait "
-"time. The default value is -1, which currently has the same meaning as no wait "
-"time."
+"time. The default value is -1, which currently has the same meaning as no "
+"wait time."
msgstr ""
-"Время ожидания до момента, когда подключение будет считаться активированным, в "
-"миллисекундах. Ожидание начинается после события pre-up диспетчера. Значение 0 "
-"означает без ожидания. Значение по умолчанию: -1, что на данный момент равно "
-"значению «без ожидания»."
+"Время ожидания до момента, когда подключение будет считаться активированным, "
+"в миллисекундах. Ожидание начинается после события pre-up диспетчера. "
+"Значение 0 означает без ожидания. Значение по умолчанию: -1, что на данный "
+"момент равно значению «без ожидания»."
-#: src/libnmc-setting/settings-docs.h.in:29
+#: src/libnmc-setting/settings-docs.h.in:30
msgid ""
"Timeout in milliseconds to wait for device at startup. During boot, devices "
"may take a while to be detected by the driver. This property will cause to "
"delay NetworkManager-wait-online.service and nm-online to give the device a "
"chance to appear. This works by waiting for the given timeout until a "
-"compatible device for the profile is available and managed. The value 0 means "
-"no wait time. The default value is -1, which currently has the same meaning as "
-"no wait time."
+"compatible device for the profile is available and managed. The value 0 "
+"means no wait time. The default value is -1, which currently has the same "
+"meaning as no wait time."
msgstr ""
"Истечение времени ожидания устройства при запуске, в миллисекундах. Во время "
"загрузки, драйверу может понадобиться некоторое время для распознавания "
@@ -6580,21 +6643,21 @@ msgstr ""
"означает, что время ожидания выделяться не будет. Значением по умолчанию "
"является «-1», что на данном этапе означает то же самое, что и «0»."
-#: src/libnmc-setting/settings-docs.h.in:30
+#: src/libnmc-setting/settings-docs.h.in:31
msgid ""
"The trust level of a the connection. Free form case-insensitive string (for "
"example \"Home\", \"Work\", \"Public\"). NULL or unspecified zone means the "
-"connection will be placed in the default zone as defined by the firewall. When "
-"updating this property on a currently activated connection, the change takes "
-"effect immediately."
+"connection will be placed in the default zone as defined by the firewall. "
+"When updating this property on a currently activated connection, the change "
+"takes effect immediately."
msgstr ""
-"Уровень доверия для подключения. Строка произвольной формы без учета регистра "
-"(например, «Главная», «Работа», «Публичное»). NULL или неопределенная зона "
-"означает, что подключение будет помещено в зону по умолчанию, как определено "
-"брандмауэром. При обновлении этого свойства в текущем подключении, изменение "
-"вступает в силу немедленно."
+"Уровень доверия для подключения. Строка произвольной формы без учета "
+"регистра (например, «Главная», «Работа», «Публичное»). NULL или "
+"неопределенная зона означает, что подключение будет помещено в зону по "
+"умолчанию, как определено брандмауэром. При обновлении этого свойства в "
+"текущем подключении, изменение вступает в силу немедленно."
-#: src/libnmc-setting/settings-docs.h.in:31
+#: src/libnmc-setting/settings-docs.h.in:32
msgid ""
"If given, specifies the parent interface name or parent connection UUID from "
"which this 6LowPAN interface should be created."
@@ -6602,47 +6665,48 @@ msgstr ""
"Если задано, указывает имя родительского интерфейса или UUID родительского "
"подключения, из которого должен быть создан этот интерфейс 6LowPAN."
-#: src/libnmc-setting/settings-docs.h.in:32
+#: src/libnmc-setting/settings-docs.h.in:33
msgid ""
"List of strings to be matched against the altSubjectName of the certificate "
-"presented by the authentication server. If the list is empty, no verification "
-"of the server certificate's altSubjectName is performed."
+"presented by the authentication server. If the list is empty, no "
+"verification of the server certificate's altSubjectName is performed."
msgstr ""
"Список строк, подлежащих сопоставлению с altSubjectName сертификата, "
"представленного сервером аутентификации. Если список пуст, проверка "
"подлинности altSubjectName сертификата сервера не выполняется."
-#: src/libnmc-setting/settings-docs.h.in:33
+#: src/libnmc-setting/settings-docs.h.in:34
msgid ""
"Anonymous identity string for EAP authentication methods. Used as the "
"unencrypted identity with EAP types that support different tunneled identity "
"like EAP-TTLS."
msgstr ""
"Анонимная строка идентификации для методов аутентификации EAP. Используется "
-"как незашифрованный идентификатор с типами EAP, которые поддерживают различные "
-"туннелированные идентификаторы, например EAP-TTLS."
+"как незашифрованный идентификатор с типами EAP, которые поддерживают "
+"различные туннелированные идентификаторы, например EAP-TTLS."
-#: src/libnmc-setting/settings-docs.h.in:34
+#: src/libnmc-setting/settings-docs.h.in:35
msgid ""
-"A timeout for the authentication. Zero means the global default; if the global "
-"default is not set, the authentication timeout is 25 seconds."
+"A timeout for the authentication. Zero means the global default; if the "
+"global default is not set, the authentication timeout is 25 seconds."
msgstr ""
"Истечение времени ожидания аутентификации. 0 означает глобальное значение по "
"умолчанию; если глобальное значение по умолчанию не установлено, время "
"ожидания аутентификации составляет 25 секунд."
-#: src/libnmc-setting/settings-docs.h.in:35
+#: src/libnmc-setting/settings-docs.h.in:36
msgid ""
-"Contains the CA certificate if used by the EAP method specified in the \"eap\" "
-"property. Certificate data is specified using a \"scheme\"; three are "
-"currently supported: blob, path and pkcs#11 URL. When using the blob scheme "
-"this property should be set to the certificate's DER encoded data. When using "
-"the path scheme, this property should be set to the full UTF-8 encoded path of "
-"the certificate, prefixed with the string \"file://\" and ending with a "
-"terminating NUL byte. This property can be unset even if the EAP method "
-"supports CA certificates, but this allows man-in-the-middle attacks and is NOT "
-"recommended. Note that enabling NMSetting8021x:system-ca-certs will override "
-"this setting to use the built-in path, if the built-in path is not a directory."
+"Contains the CA certificate if used by the EAP method specified in the "
+"\"eap\" property. Certificate data is specified using a \"scheme\"; three "
+"are currently supported: blob, path and pkcs#11 URL. When using the blob "
+"scheme this property should be set to the certificate's DER encoded data. "
+"When using the path scheme, this property should be set to the full UTF-8 "
+"encoded path of the certificate, prefixed with the string \"file://\" and "
+"ending with a terminating NUL byte. This property can be unset even if the "
+"EAP method supports CA certificates, but this allows man-in-the-middle "
+"attacks and is NOT recommended. Note that enabling NMSetting8021x:system-ca-"
+"certs will override this setting to use the built-in path, if the built-in "
+"path is not a directory."
msgstr ""
"При использовании с методом EAP, указанным параметром \"eap\", здесь "
"содержится сертификат ЦС. Данные сертификата указываются с помощью схемы "
@@ -6651,48 +6715,50 @@ msgstr ""
"сертификата. При использовании схемы «path» в данном значении нужно указать "
"полный путь до сертификата в кодировке UTF-8, с префиксом \"file://\" и "
"заканчивающийся завершающим байтом NUL. Данный параметр может не иметь "
-"значения, даже если метод EAP поддерживает сертификаты ЦС, но в таком случае "
-"может быть выполнена атака «злоумышленник в середине», поэтому это НЕ "
-"рекомендуется. Обратите внимание, что включение свойства NMSetting8021x:system-"
-"ca-cert перезапишет данное свойство на использование встроенного пути, если "
-"этот встроенный путь не является каталогом."
+"значения, даже если метод EAP поддерживает сертификаты ЦС, но в таком "
+"случае может быть выполнена атака «злоумышленник в середине», поэтому это "
+"НЕ рекомендуется. Обратите внимание, что включение свойства NMSetting8021x:"
+"system-ca-cert перезапишет данное свойство на использование встроенного "
+"пути, если этот встроенный путь не является каталогом."
-#: src/libnmc-setting/settings-docs.h.in:36
+#: src/libnmc-setting/settings-docs.h.in:37
msgid ""
-"The password used to access the CA certificate stored in \"ca-cert\" property. "
-"Only makes sense if the certificate is stored on a PKCS#11 token that requires "
-"a login."
+"The password used to access the CA certificate stored in \"ca-cert\" "
+"property. Only makes sense if the certificate is stored on a PKCS#11 token "
+"that requires a login."
msgstr ""
-"Пароль, используемый для доступа к сертификату ЦС, хранящемуся в свойстве «ca-"
-"cert». Имеет смысл только в том случае, если сертификат хранится в маркере "
-"PKCS # 11, для которого требуется выполнить вход."
+"Пароль, используемый для доступа к сертификату ЦС, хранящемуся в свойстве "
+"«ca-cert». Имеет смысл только в том случае, если сертификат хранится в "
+"маркере PKCS # 11, для которого требуется выполнить вход."
-#: src/libnmc-setting/settings-docs.h.in:37
+#: src/libnmc-setting/settings-docs.h.in:38
msgid "Flags indicating how to handle the \"ca-cert-password\" property."
-msgstr "Флаги, указывающие, как нужно обрабатывать свойство «ca-cert-password»."
+msgstr ""
+"Флаги, указывающие, как нужно обрабатывать свойство «ca-cert-password»."
-#: src/libnmc-setting/settings-docs.h.in:38
+#: src/libnmc-setting/settings-docs.h.in:39
msgid ""
-"UTF-8 encoded path to a directory containing PEM or DER formatted certificates "
-"to be added to the verification chain in addition to the certificate specified "
-"in the \"ca-cert\" property. If NMSetting8021x:system-ca-certs is enabled and "
-"the built-in CA path is an existing directory, then this setting is ignored."
+"UTF-8 encoded path to a directory containing PEM or DER formatted "
+"certificates to be added to the verification chain in addition to the "
+"certificate specified in the \"ca-cert\" property. If NMSetting8021x:system-"
+"ca-certs is enabled and the built-in CA path is an existing directory, then "
+"this setting is ignored."
msgstr ""
-"Путь в кодировке UTF-8 к каталогу, где хранятся сертификаты в форматах PEM или "
-"DER, которые будут добавляться в цепочку верификации в дополнение к "
+"Путь в кодировке UTF-8 к каталогу, где хранятся сертификаты в форматах PEM "
+"или DER, которые будут добавляться в цепочку верификации в дополнение к "
"сертификату, указанному свойством \"ca-cert\". При активированном свойстве "
"NMSetting8021x:system-ca-certs, и если встроенный путь до ЦС является "
"существующим каталогом, это свойство игнорируется."
-#: src/libnmc-setting/settings-docs.h.in:39
+#: src/libnmc-setting/settings-docs.h.in:40
msgid ""
"Contains the client certificate if used by the EAP method specified in the "
"\"eap\" property. Certificate data is specified using a \"scheme\"; two are "
"currently supported: blob and path. When using the blob scheme (which is "
"backwards compatible with NM 0.7.x) this property should be set to the "
"certificate's DER encoded data. When using the path scheme, this property "
-"should be set to the full UTF-8 encoded path of the certificate, prefixed with "
-"the string \"file://\" and ending with a terminating NUL byte."
+"should be set to the full UTF-8 encoded path of the certificate, prefixed "
+"with the string \"file://\" and ending with a terminating NUL byte."
msgstr ""
"При использовании с методом EAP, указанным в свойстве \"eap\", здесь "
"содержится клиентский сертификат. Данные сертификата указываются с помощью "
@@ -6700,25 +6766,26 @@ msgstr ""
"«blob» (которая имеет обратную совместимость с NM 0.7.x), в этом свойстве "
"необходимо указать зашифрованные данные DER сертификата. При использовании "
"схемы «path» в данном свойстве нужно указать полный путь до сертификата в "
-"кодировке UTF-8, с префиксом \"file://\" и заканчивающийся завершающим байтом "
-"NUL."
+"кодировке UTF-8, с префиксом \"file://\" и заканчивающийся завершающим "
+"байтом NUL."
-#: src/libnmc-setting/settings-docs.h.in:40
+#: src/libnmc-setting/settings-docs.h.in:41
msgid ""
"The password used to access the client certificate stored in \"client-cert\" "
"property. Only makes sense if the certificate is stored on a PKCS#11 token "
"that requires a login."
msgstr ""
-"Пароль, используемый для доступа к сертификату клиента, хранящемуся в свойстве "
-"«ca-cert». Имеет смысл только в том случае, если сертификат хранится в маркере "
-"PKCS # 11, для которого требуется указание данных учётной записи."
+"Пароль, используемый для доступа к сертификату клиента, хранящемуся в "
+"свойстве «ca-cert». Имеет смысл только в том случае, если сертификат "
+"хранится в маркере PKCS # 11, для которого требуется указание данных учётной "
+"записи."
-#: src/libnmc-setting/settings-docs.h.in:41
+#: src/libnmc-setting/settings-docs.h.in:42
msgid "Flags indicating how to handle the \"client-cert-password\" property."
msgstr ""
"Флаги, указывающие, как нужно обрабатывать свойство «client-cert-password»."
-#: src/libnmc-setting/settings-docs.h.in:42
+#: src/libnmc-setting/settings-docs.h.in:43
msgid ""
"Constraint for server domain name. If set, this list of FQDNs is used as a "
"match requirement for dNSName element(s) of the certificate presented by the "
@@ -6731,14 +6798,15 @@ msgstr ""
"полных доменных имён используется как требование соответствия элементам "
"dNSName сертификата, предоставленного сервером аутентификации. Если найден "
"соответствующий dNSName, то требование этого ограничения считается "
-"выполненным. Если значения dNSName отсутствуют, это ограничение сопоставляется "
-"с SubjectName CN, используя то же сравнение соответствия. Несколько допустимых "
-"FQDN можно передать в списке, разделяемом точкой с запятой (\";\")."
+"выполненным. Если значения dNSName отсутствуют, это ограничение "
+"сопоставляется с SubjectName CN, используя то же сравнение соответствия. "
+"Несколько допустимых FQDN можно передать в списке, разделяемом точкой с "
+"запятой (\";\")."
-#: src/libnmc-setting/settings-docs.h.in:43
+#: src/libnmc-setting/settings-docs.h.in:44
msgid ""
-"Constraint for server domain name. If set, this FQDN is used as a suffix match "
-"requirement for dNSName element(s) of the certificate presented by the "
+"Constraint for server domain name. If set, this FQDN is used as a suffix "
+"match requirement for dNSName element(s) of the certificate presented by the "
"authentication server. If a matching dNSName is found, this constraint is "
"met. If no dNSName values are present, this constraint is matched against "
"SubjectName CN using same suffix match comparison. Since version 1.24, "
@@ -6748,26 +6816,26 @@ msgstr ""
"используется как требование соответствия суффикса элементам dNSName "
"сертификата, предоставленного сервером аутентификации. Если найден "
"соответствующий dNSName, то требование этого ограничения считается "
-"выполненным. Если значения dNSName отсутствуют, это ограничение сопоставляется "
-"с SubjectName CN, используя то же сравнение соответствия суффикса. Начиная с "
-"версии 1.24, несколько допустимых FQDN можно передать в списке, разделяемом "
-"точкой с запятой (\";\")."
+"выполненным. Если значения dNSName отсутствуют, это ограничение "
+"сопоставляется с SubjectName CN, используя то же сравнение соответствия "
+"суффикса. Начиная с версии 1.24, несколько допустимых FQDN можно передать в "
+"списке, разделяемом точкой с запятой (\";\")."
-#: src/libnmc-setting/settings-docs.h.in:44
+#: src/libnmc-setting/settings-docs.h.in:45
msgid ""
"The allowed EAP method to be used when authenticating to the network with "
"802.1x. Valid methods are: \"leap\", \"md5\", \"tls\", \"peap\", \"ttls\", "
-"\"pwd\", and \"fast\". Each method requires different configuration using the "
-"properties of this setting; refer to wpa_supplicant documentation for the "
-"allowed combinations."
+"\"pwd\", and \"fast\". Each method requires different configuration using "
+"the properties of this setting; refer to wpa_supplicant documentation for "
+"the allowed combinations."
msgstr ""
"Разрешенный метод EAP, используемый при аутентификации в сети с 802.1x. "
-"Действующие методы: \"leap\", \"md5\", \"tls\", \"peap\", \"ttls\", \"pwd\" и "
-"\"fast\". Каждый метод требует различной конфигурации с использованием свойств "
-"этого параметра; обратитесь к документации wpa_supplicant чтобы получить "
-"информацию о разрешённых комбинациях."
+"Действующие методы: \"leap\", \"md5\", \"tls\", \"peap\", \"ttls\", \"pwd\" "
+"и \"fast\". Каждый метод требует различной конфигурации с использованием "
+"свойств этого параметра; обратитесь к документации wpa_supplicant чтобы "
+"получить информацию о разрешённых комбинациях."
-#: src/libnmc-setting/settings-docs.h.in:45
+#: src/libnmc-setting/settings-docs.h.in:46
msgid ""
"Identity string for EAP authentication methods. Often the user's user or "
"login name."
@@ -6775,26 +6843,26 @@ msgstr ""
"Строка идентификатора для методов аутентификации EAP. Часто используется имя "
"пользователя или имя для входа."
-#: src/libnmc-setting/settings-docs.h.in:46
+#: src/libnmc-setting/settings-docs.h.in:47
msgid ""
"Whether the 802.1X authentication is optional. If TRUE, the activation will "
"continue even after a timeout or an authentication failure. Setting the "
-"property to TRUE is currently allowed only for Ethernet connections. If set to "
-"FALSE, the activation can continue only after a successful authentication."
+"property to TRUE is currently allowed only for Ethernet connections. If set "
+"to FALSE, the activation can continue only after a successful authentication."
msgstr ""
"Является ли аутентификация 802.1X опциональной. Если ВЕРНО, то активация "
"продолжится даже после истечения времени ожидания или сбоя аутентификации. "
-"Указание ВЕРНО на данный момент разрешено только для подключений по Ethernet. "
-"Если ЛОЖНО, то активация может быть продолжена только после успешной "
-"аутентификации."
+"Указание ВЕРНО на данный момент разрешено только для подключений по "
+"Ethernet. Если ЛОЖНО, то активация может быть продолжена только после "
+"успешной аутентификации."
-#: src/libnmc-setting/settings-docs.h.in:47
+#: src/libnmc-setting/settings-docs.h.in:48
msgid "UTF-8 encoded file path containing PAC for EAP-FAST."
msgstr ""
"Путь в кодировке UTF-8 к файлу сертификата атрибута привилегий (PAC) для "
"протокола EAP-FAST."
-#: src/libnmc-setting/settings-docs.h.in:48
+#: src/libnmc-setting/settings-docs.h.in:49
msgid ""
"UTF-8 encoded password used for EAP authentication methods. If both the "
"\"password\" property and the \"password-raw\" property are specified, "
@@ -6804,15 +6872,15 @@ msgstr ""
"указано и свойство «password» и свойство «password-raw», то предпочтительным "
"является «password»."
-#: src/libnmc-setting/settings-docs.h.in:49
-#: src/libnmc-setting/settings-docs.h.in:81
-#: src/libnmc-setting/settings-docs.h.in:123
-#: src/libnmc-setting/settings-docs.h.in:150
-#: src/libnmc-setting/settings-docs.h.in:295
+#: src/libnmc-setting/settings-docs.h.in:50
+#: src/libnmc-setting/settings-docs.h.in:82
+#: src/libnmc-setting/settings-docs.h.in:124
+#: src/libnmc-setting/settings-docs.h.in:151
+#: src/libnmc-setting/settings-docs.h.in:296
msgid "Flags indicating how to handle the \"password\" property."
msgstr "Флаги, указывающие, как нужно обрабатывать свойство «password»."
-#: src/libnmc-setting/settings-docs.h.in:50
+#: src/libnmc-setting/settings-docs.h.in:51
msgid ""
"Password used for EAP authentication methods, given as a byte array to allow "
"passwords in other encodings than UTF-8 to be used. If both the \"password\" "
@@ -6820,48 +6888,48 @@ msgid ""
"preferred."
msgstr ""
"Пароль, используемый для методов аутентификации EAP, заданный как массив "
-"байтов, позволяющий использовать пароли в кодировках, отличных от UTF-8. Если "
-"указано и свойство «password» и свойство «password-raw», то предпочтительным "
-"является «password»."
+"байтов, позволяющий использовать пароли в кодировках, отличных от UTF-8. "
+"Если указано и свойство «password» и свойство «password-raw», то "
+"предпочтительным является «password»."
-#: src/libnmc-setting/settings-docs.h.in:51
+#: src/libnmc-setting/settings-docs.h.in:52
msgid "Flags indicating how to handle the \"password-raw\" property."
msgstr "Флаги, указывающие, как нужно обрабатывать свойство «password-raw»."
-#: src/libnmc-setting/settings-docs.h.in:52
+#: src/libnmc-setting/settings-docs.h.in:53
msgid ""
"Specifies authentication flags to use in \"phase 1\" outer authentication "
"using NMSetting8021xAuthFlags options. The individual TLS versions can be "
"explicitly disabled. TLS time checks can be also disabled. If a certain TLS "
-"disable flag is not set, it is up to the supplicant to allow or forbid it. The "
-"TLS options map to tls_disable_tlsv1_x and tls_disable_time_checks settings. "
-"See the wpa_supplicant documentation for more details."
+"disable flag is not set, it is up to the supplicant to allow or forbid it. "
+"The TLS options map to tls_disable_tlsv1_x and tls_disable_time_checks "
+"settings. See the wpa_supplicant documentation for more details."
msgstr ""
"Указывает флаги аутентификации для использования в «фазе 1» внешней "
-"аутентификации с использованием параметров NMSetting8021xAuthFlags. Отдельные "
-"версии TLS могут быть явно отключены. Проверки времени TLS также можно "
-"отключать. Если определённый флаг для отключения TLS не настроен, то разрешить "
-"или запретить его может только запрашивающее устройство. Параметры TLS "
-"отображаются на параметры tls_disable_tlsv1_x и tls_disable_time_checks. "
+"аутентификации с использованием параметров NMSetting8021xAuthFlags. "
+"Отдельные версии TLS могут быть явно отключены. Проверки времени TLS также "
+"можно отключать. Если определённый флаг для отключения TLS не настроен, то "
+"разрешить или запретить его может только запрашивающее устройство. Параметры "
+"TLS отображаются на параметры tls_disable_tlsv1_x и tls_disable_time_checks. "
"Дополнительную информацию см. в документации wpa_supplicant."
-#: src/libnmc-setting/settings-docs.h.in:53
+#: src/libnmc-setting/settings-docs.h.in:54
msgid ""
-"Enables or disables in-line provisioning of EAP-FAST credentials when FAST is "
-"specified as the EAP method in the \"eap\" property. Recognized values are "
-"\"0\" (disabled), \"1\" (allow unauthenticated provisioning), \"2\" (allow "
-"authenticated provisioning), and \"3\" (allow both authenticated and "
-"unauthenticated provisioning). See the wpa_supplicant documentation for more "
-"details."
+"Enables or disables in-line provisioning of EAP-FAST credentials when FAST "
+"is specified as the EAP method in the \"eap\" property. Recognized values "
+"are \"0\" (disabled), \"1\" (allow unauthenticated provisioning), "
+"\"2\" (allow authenticated provisioning), and \"3\" (allow both "
+"authenticated and unauthenticated provisioning). See the wpa_supplicant "
+"documentation for more details."
msgstr ""
-"Включает или отключает поточное предоставление учетных данных EAP-FAST, когда "
-"FAST указывается как метод EAP в свойстве «eap». Распознаваемые значения: "
-"«0» (отключено), «1» (разрешить инициализацию без аутентификации), "
-"«2» (разрешить инициализацию с аутентификацией) и «3» (разрешить инициализацию "
-"как без аутентификации, так и с аутентификацией). Дополнительную информацию "
-"см. в документации для wpa_supplicant."
+"Включает или отключает поточное предоставление учетных данных EAP-FAST, "
+"когда FAST указывается как метод EAP в свойстве «eap». Распознаваемые "
+"значения: «0» (отключено), «1» (разрешить инициализацию без аутентификации), "
+"«2» (разрешить инициализацию с аутентификацией) и «3» (разрешить "
+"инициализацию как без аутентификации, так и с аутентификацией). "
+"Дополнительную информацию см. в документации для wpa_supplicant."
-#: src/libnmc-setting/settings-docs.h.in:54
+#: src/libnmc-setting/settings-docs.h.in:55
msgid ""
"Forces use of the new PEAP label during key derivation. Some RADIUS servers "
"may require forcing the new PEAP label to interoperate with PEAPv1. Set to "
@@ -6874,23 +6942,23 @@ msgstr ""
"использовать новую метку PEAP. Дополнительную информацию см. в документации "
"для wpa_supplicant."
-#: src/libnmc-setting/settings-docs.h.in:55
+#: src/libnmc-setting/settings-docs.h.in:56
msgid ""
"Forces which PEAP version is used when PEAP is set as the EAP method in the "
"\"eap\" property. When unset, the version reported by the server will be "
-"used. Sometimes when using older RADIUS servers, it is necessary to force the "
-"client to use a particular PEAP version. To do so, this property may be set "
-"to \"0\" or \"1\" to force that specific PEAP version."
+"used. Sometimes when using older RADIUS servers, it is necessary to force "
+"the client to use a particular PEAP version. To do so, this property may be "
+"set to \"0\" or \"1\" to force that specific PEAP version."
msgstr ""
"Принудительно указывает, какая версия протокола PEAP будет использоваться, "
"если для свойства \"eap\" методом EAP указан PEAP. Если значение не указано, "
-"используется версия, поддерживаемая сервером. Иногда, при использовании старых "
-"версий серверов RADIUS, бывает необходимо принудительно заставить клиента "
-"использовать конкретную версию PEAP. Для этого значение данного свойства можно "
-"установить на \"0\" или на \"1\", чтобы принудительно указать именно эту "
-"версию PEAP."
+"используется версия, поддерживаемая сервером. Иногда, при использовании "
+"старых версий серверов RADIUS, бывает необходимо принудительно заставить "
+"клиента использовать конкретную версию PEAP. Для этого значение данного "
+"свойства можно установить на \"0\" или на \"1\", чтобы принудительно указать "
+"именно эту версию PEAP."
-#: src/libnmc-setting/settings-docs.h.in:56
+#: src/libnmc-setting/settings-docs.h.in:57
msgid ""
"List of strings to be matched against the altSubjectName of the certificate "
"presented by the authentication server during the inner \"phase 2\" "
@@ -6902,146 +6970,150 @@ msgstr ""
"аутентификации. Если список пуст, проверка подлинности altSubjectName "
"сертификата сервера не выполняется."
-#: src/libnmc-setting/settings-docs.h.in:57
+#: src/libnmc-setting/settings-docs.h.in:58
msgid ""
"Specifies the allowed \"phase 2\" inner authentication method when an EAP "
"method that uses an inner TLS tunnel is specified in the \"eap\" property. "
"For TTLS this property selects one of the supported non-EAP inner methods: "
"\"pap\", \"chap\", \"mschap\", \"mschapv2\" while \"phase2-autheap\" selects "
"an EAP inner method. For PEAP this selects an inner EAP method, one of: "
-"\"gtc\", \"otp\", \"md5\" and \"tls\". Each \"phase 2\" inner method requires "
-"specific parameters for successful authentication; see the wpa_supplicant "
-"documentation for more details. Both \"phase2-auth\" and \"phase2-autheap\" "
-"cannot be specified."
+"\"gtc\", \"otp\", \"md5\" and \"tls\". Each \"phase 2\" inner method "
+"requires specific parameters for successful authentication; see the "
+"wpa_supplicant documentation for more details. Both \"phase2-auth\" and "
+"\"phase2-autheap\" cannot be specified."
msgstr ""
"Указывает разрешённый метод внутренней идентификации \"phase 2\", если в "
-"свойстве \"eap\" указывается метод EAP, использующий внутренний TLS-тоннель. "
-"Для TTLS данное свойство выбирает один из поддерживаемых внутренних методов, "
-"не относящихся к EAP: \"pap\", \"chap\", \"mschap\", \"mschapv2\", в то время, "
-"как \"phase2-autheap\" выбирает внутренний метод EAP. В случае PEAP здесь "
-"выбирается внутренний метод EAP, что-то одно из: \"gtc\", \"otp\", \"md5\" и "
-"\"tls\". Для успешного прохождения аутентификации, каждому методу внутренней "
-"идентификации \"phase 2\" требуется конкретный параметр; подробности смотрите "
-"в документации к wpa_supplicant. Нельзя указать одновременно и \"phase2-auth\" "
-"и \"phase2-autheap\"."
+"свойстве \"eap\" указывается метод EAP, использующий внутренний TLS-"
+"тоннель. Для TTLS данное свойство выбирает один из поддерживаемых внутренних "
+"методов, не относящихся к EAP: \"pap\", \"chap\", \"mschap\", \"mschapv2\", "
+"в то время, как \"phase2-autheap\" выбирает внутренний метод EAP. В случае "
+"PEAP здесь выбирается внутренний метод EAP, что-то одно из: \"gtc\", "
+"\"otp\", \"md5\" и \"tls\". Для успешного прохождения аутентификации, "
+"каждому методу внутренней идентификации \"phase 2\" требуется конкретный "
+"параметр; подробности смотрите в документации к wpa_supplicant. Нельзя "
+"указать одновременно и \"phase2-auth\" и \"phase2-autheap\"."
-#: src/libnmc-setting/settings-docs.h.in:58
+#: src/libnmc-setting/settings-docs.h.in:59
msgid ""
"Specifies the allowed \"phase 2\" inner EAP-based authentication method when "
"TTLS is specified in the \"eap\" property. Recognized EAP-based \"phase 2\" "
-"methods are \"md5\", \"mschapv2\", \"otp\", \"gtc\", and \"tls\". Each \"phase "
-"2\" inner method requires specific parameters for successful authentication; "
-"see the wpa_supplicant documentation for more details."
+"methods are \"md5\", \"mschapv2\", \"otp\", \"gtc\", and \"tls\". Each "
+"\"phase 2\" inner method requires specific parameters for successful "
+"authentication; see the wpa_supplicant documentation for more details."
msgstr ""
"Указывает метод внутренней идентификации \"phase 2\", если метод EAP, "
"использующий внутренний TLS-тоннель, указывается в свойстве \"eap\". "
-"Распознаются следующие методы \"phase 2\" на базе EAP: \"md5\", \"mschapv2\", "
-"\"otp\", \"gtc\", и \"tls\". Для успешного прохождения аутентификации, каждому "
-"методу внутренней идентификации \"phase 2\" требуется конкретный параметр; "
-"подробности смотрите в документации к wpa_supplicant. Нельзя указать "
-"одновременно и \"phase2-auth\" и \"phase2-autheap\"."
+"Распознаются следующие методы \"phase 2\" на базе EAP: \"md5\", "
+"\"mschapv2\", \"otp\", \"gtc\", и \"tls\". Для успешного прохождения "
+"аутентификации, каждому методу внутренней идентификации \"phase 2\" "
+"требуется конкретный параметр; подробности смотрите в документации к "
+"wpa_supplicant. Нельзя указать одновременно и \"phase2-auth\" и \"phase2-"
+"autheap\"."
-#: src/libnmc-setting/settings-docs.h.in:59
+#: src/libnmc-setting/settings-docs.h.in:60
msgid ""
-"Contains the \"phase 2\" CA certificate if used by the EAP method specified in "
-"the \"phase2-auth\" or \"phase2-autheap\" properties. Certificate data is "
+"Contains the \"phase 2\" CA certificate if used by the EAP method specified "
+"in the \"phase2-auth\" or \"phase2-autheap\" properties. Certificate data is "
"specified using a \"scheme\"; three are currently supported: blob, path and "
"pkcs#11 URL. When using the blob scheme this property should be set to the "
"certificate's DER encoded data. When using the path scheme, this property "
-"should be set to the full UTF-8 encoded path of the certificate, prefixed with "
-"the string \"file://\" and ending with a terminating NUL byte. This property "
-"can be unset even if the EAP method supports CA certificates, but this allows "
-"man-in-the-middle attacks and is NOT recommended. Note that enabling "
-"NMSetting8021x:system-ca-certs will override this setting to use the built-in "
-"path, if the built-in path is not a directory."
+"should be set to the full UTF-8 encoded path of the certificate, prefixed "
+"with the string \"file://\" and ending with a terminating NUL byte. This "
+"property can be unset even if the EAP method supports CA certificates, but "
+"this allows man-in-the-middle attacks and is NOT recommended. Note that "
+"enabling NMSetting8021x:system-ca-certs will override this setting to use "
+"the built-in path, if the built-in path is not a directory."
msgstr ""
"При использовании с методом EAP, указанным в свойствах \"phase2-auth\" или "
"\"phase2-autheap\", здесь содержится сертификат ЦС \"phase 2\". Данные "
"сертификата указываются с помощью схемы (\"scheme\"); поддерживаются «blob», "
-"pkcs#11 UR и «path». При использовании схемы «blob» в этом свойстве необходимо "
-"указать зашифрованные данные DER сертификата. При использовании схемы «path» в "
-"данном значении нужно указать полный путь до сертификата в кодировке UTF-8, с "
-"префиксом \"file://\" и заканчивающийся завершающим байтом NUL. Данный "
-"параметр может не иметь значения, даже если метод EAP поддерживает "
-"сертификаты ЦС, но в таком случае может быть выполнена атака «злоумышленник в "
-"середине», поэтому это НЕ рекомендуется. Обратите внимание, что включение "
-"свойства NMSetting8021x:system-ca-cert перезапишет данное свойство на "
-"использование встроенного пути, если этот встроенный путь не является "
-"каталогом."
+"pkcs#11 UR и «path». При использовании схемы «blob» в этом свойстве "
+"необходимо указать зашифрованные данные DER сертификата. При использовании "
+"схемы «path» в данном значении нужно указать полный путь до сертификата в "
+"кодировке UTF-8, с префиксом \"file://\" и заканчивающийся завершающим "
+"байтом NUL. Данный параметр может не иметь значения, даже если метод EAP "
+"поддерживает сертификаты ЦС, но в таком случае может быть выполнена атака "
+"«злоумышленник в середине», поэтому это НЕ рекомендуется. Обратите внимание, "
+"что включение свойства NMSetting8021x:system-ca-cert перезапишет данное "
+"свойство на использование встроенного пути, если этот встроенный путь не "
+"является каталогом."
-#: src/libnmc-setting/settings-docs.h.in:60
+#: src/libnmc-setting/settings-docs.h.in:61
msgid ""
"The password used to access the \"phase2\" CA certificate stored in \"phase2-"
-"ca-cert\" property. Only makes sense if the certificate is stored on a PKCS#11 "
-"token that requires a login."
+"ca-cert\" property. Only makes sense if the certificate is stored on a "
+"PKCS#11 token that requires a login."
msgstr ""
"Пароль, используемый для доступа к сертификату ЦС \"phase2\", хранящемуся в "
"свойстве «phase2-ca-cert». Имеет смысл только в том случае, если сертификат "
"хранится в маркере PKCS # 11, для которого требуется указание данных учётной "
"записи."
-#: src/libnmc-setting/settings-docs.h.in:61
-msgid "Flags indicating how to handle the \"phase2-ca-cert-password\" property."
+#: src/libnmc-setting/settings-docs.h.in:62
+msgid ""
+"Flags indicating how to handle the \"phase2-ca-cert-password\" property."
msgstr ""
-"Флаги, указывающие, как нужно обрабатывать свойство «phase2-ca-cert-password»."
+"Флаги, указывающие, как нужно обрабатывать свойство «phase2-ca-cert-"
+"password»."
-#: src/libnmc-setting/settings-docs.h.in:62
+#: src/libnmc-setting/settings-docs.h.in:63
msgid ""
-"UTF-8 encoded path to a directory containing PEM or DER formatted certificates "
-"to be added to the verification chain in addition to the certificate specified "
-"in the \"phase2-ca-cert\" property. If NMSetting8021x:system-ca-certs is "
-"enabled and the built-in CA path is an existing directory, then this setting "
-"is ignored."
+"UTF-8 encoded path to a directory containing PEM or DER formatted "
+"certificates to be added to the verification chain in addition to the "
+"certificate specified in the \"phase2-ca-cert\" property. If NMSetting8021x:"
+"system-ca-certs is enabled and the built-in CA path is an existing "
+"directory, then this setting is ignored."
msgstr ""
-"Путь в кодировке UTF-8 к каталогу, где хранятся сертификаты в форматах PEM или "
-"DER, которые будут добавляться в цепочку верификации в дополнение к "
+"Путь в кодировке UTF-8 к каталогу, где хранятся сертификаты в форматах PEM "
+"или DER, которые будут добавляться в цепочку верификации в дополнение к "
"сертификату, указанному свойством \"phase2-ca-cert\". При активированном "
-"свойстве NMSetting8021x:system-ca-certs, и если встроенный путь до ЦС является "
-"существующим каталогом, это свойство игнорируется."
+"свойстве NMSetting8021x:system-ca-certs, и если встроенный путь до ЦС "
+"является существующим каталогом, это свойство игнорируется."
-#: src/libnmc-setting/settings-docs.h.in:63
+#: src/libnmc-setting/settings-docs.h.in:64
msgid ""
"Contains the \"phase 2\" client certificate if used by the EAP method "
-"specified in the \"phase2-auth\" or \"phase2-autheap\" properties. Certificate "
-"data is specified using a \"scheme\"; two are currently supported: blob and "
-"path. When using the blob scheme (which is backwards compatible with NM 0.7.x) "
-"this property should be set to the certificate's DER encoded data. When using "
-"the path scheme, this property should be set to the full UTF-8 encoded path of "
-"the certificate, prefixed with the string \"file://\" and ending with a "
-"terminating NUL byte. This property can be unset even if the EAP method "
-"supports CA certificates, but this allows man-in-the-middle attacks and is NOT "
-"recommended."
+"specified in the \"phase2-auth\" or \"phase2-autheap\" properties. "
+"Certificate data is specified using a \"scheme\"; two are currently "
+"supported: blob and path. When using the blob scheme (which is backwards "
+"compatible with NM 0.7.x) this property should be set to the certificate's "
+"DER encoded data. When using the path scheme, this property should be set to "
+"the full UTF-8 encoded path of the certificate, prefixed with the string "
+"\"file://\" and ending with a terminating NUL byte. This property can be "
+"unset even if the EAP method supports CA certificates, but this allows man-"
+"in-the-middle attacks and is NOT recommended."
msgstr ""
"При использовании с методом EAP, указанным свойствами \"phase2-auth\" или "
"\"phase2-autheap\", здесь содержится клиентский сертификат «фазы 2». Данные "
-"сертификата указываются с помощью схемы (\"scheme\"); поддерживаются «blob» и "
-"«path». При использовании схемы «blob» (которая имеет обратную совместимость с "
-"NM 0.7.x), в этом свойстве необходимо указать зашифрованные данные DER "
-"сертификата. При использовании схемы «path» в данном свойстве нужно указать "
-"полный путь до сертификата в кодировке UTF-8, с префиксом \"file://\" и "
-"заканчивающийся завершающим байтом NUL. Данное свойство может не иметь "
-"значения, даже если метод EAP поддерживает сертификаты ЦС, но в таком случае "
-"может быть выполнена атака «злоумышленник в середине», поэтому это НЕ "
-"рекомендуется."
+"сертификата указываются с помощью схемы (\"scheme\"); поддерживаются «blob» "
+"и «path». При использовании схемы «blob» (которая имеет обратную "
+"совместимость с NM 0.7.x), в этом свойстве необходимо указать зашифрованные "
+"данные DER сертификата. При использовании схемы «path» в данном свойстве "
+"нужно указать полный путь до сертификата в кодировке UTF-8, с префиксом "
+"\"file://\" и заканчивающийся завершающим байтом NUL. Данное свойство может "
+"не иметь значения, даже если метод EAP поддерживает сертификаты ЦС, но в "
+"таком случае может быть выполнена атака «злоумышленник в середине», поэтому "
+"это НЕ рекомендуется."
-#: src/libnmc-setting/settings-docs.h.in:64
+#: src/libnmc-setting/settings-docs.h.in:65
msgid ""
"The password used to access the \"phase2\" client certificate stored in "
-"\"phase2-client-cert\" property. Only makes sense if the certificate is stored "
-"on a PKCS#11 token that requires a login."
+"\"phase2-client-cert\" property. Only makes sense if the certificate is "
+"stored on a PKCS#11 token that requires a login."
msgstr ""
"Пароль, используемый для доступа к сертификату «фазы 2», хранящемуся в "
"свойстве «phase2-client-cert». Имеет смысл только в том случае, если "
-"сертификат хранится в маркере PKCS # 11, для которого требуется выполнить вход."
+"сертификат хранится в маркере PKCS # 11, для которого требуется выполнить "
+"вход."
-#: src/libnmc-setting/settings-docs.h.in:65
+#: src/libnmc-setting/settings-docs.h.in:66
msgid ""
"Flags indicating how to handle the \"phase2-client-cert-password\" property."
msgstr ""
"Флаги, указывающие, как нужно обрабатывать свойство \"phase2-client-cert-"
"password\"."
-#: src/libnmc-setting/settings-docs.h.in:66
+#: src/libnmc-setting/settings-docs.h.in:67
msgid ""
"Constraint for server domain name. If set, this list of FQDNs is used as a "
"match requirement for dNSName element(s) of the certificate presented by the "
@@ -7053,86 +7125,86 @@ msgstr ""
"Ограничение для доменного имени сервера. Если параметр указан, этот список "
"полных доменных имён используется как требование соответствия элементам "
"dNSName сертификата, предоставленного сервером аутентификации во время "
-"внутренней аутентификации \"phase 2\". Если найден соответствующий dNSName, то "
-"требование этого ограничения считается выполненным. Если значения dNSName "
-"отсутствуют, это ограничение сопоставляется с SubjectName CN, используя то же "
-"сравнение соответствия. Несколько допустимых FQDN можно передать в списке, "
-"разделяемом точкой с запятой (\";\")."
+"внутренней аутентификации \"phase 2\". Если найден соответствующий dNSName, "
+"то требование этого ограничения считается выполненным. Если значения dNSName "
+"отсутствуют, это ограничение сопоставляется с SubjectName CN, используя то "
+"же сравнение соответствия. Несколько допустимых FQDN можно передать в "
+"списке, разделяемом точкой с запятой (\";\")."
-#: src/libnmc-setting/settings-docs.h.in:67
+#: src/libnmc-setting/settings-docs.h.in:68
msgid ""
-"Constraint for server domain name. If set, this FQDN is used as a suffix match "
-"requirement for dNSName element(s) of the certificate presented by the "
+"Constraint for server domain name. If set, this FQDN is used as a suffix "
+"match requirement for dNSName element(s) of the certificate presented by the "
"authentication server during the inner \"phase 2\" authentication. If a "
"matching dNSName is found, this constraint is met. If no dNSName values are "
"present, this constraint is matched against SubjectName CN using same suffix "
-"match comparison. Since version 1.24, multiple valid FQDNs can be passed as a "
-"\";\" delimited list."
+"match comparison. Since version 1.24, multiple valid FQDNs can be passed as "
+"a \";\" delimited list."
msgstr ""
"Ограничение для доменного имени сервера. Если параметр указан, это полное "
"доменное имя используется как требование соответствия суффикса для "
-"элемента(ов) dNSName сертификата, предоставленного сервером аутентификации во "
-"время внутренней аутентификации \"phase 2\". Если найден соответствующий "
+"элемента(ов) dNSName сертификата, предоставленного сервером аутентификации "
+"во время внутренней аутентификации \"phase 2\". Если найден соответствующий "
"dNSName, требование этого ограничения выполняется. Если какие-либо значения "
"dNSName отсутствуют, это ограничение сопоставляется с SubjectName CN, "
"используя то же сравнение соответствия суффикса. Начиная с версии 1.24, "
-"несколько действительных FQDN можно передавать списком, разделённым с помощью "
-"точки и запятой (;)."
+"несколько действительных FQDN можно передавать списком, разделённым с "
+"помощью точки и запятой (;)."
-#: src/libnmc-setting/settings-docs.h.in:68
+#: src/libnmc-setting/settings-docs.h.in:69
msgid ""
"Contains the \"phase 2\" inner private key when the \"phase2-auth\" or "
"\"phase2-autheap\" property is set to \"tls\". Key data is specified using a "
"\"scheme\"; two are currently supported: blob and path. When using the blob "
"scheme and private keys, this property should be set to the key's encrypted "
-"PEM encoded data. When using private keys with the path scheme, this property "
-"should be set to the full UTF-8 encoded path of the key, prefixed with the "
-"string \"file://\" and ending with a terminating NUL byte. When using PKCS#12 "
-"format private keys and the blob scheme, this property should be set to the "
-"PKCS#12 data and the \"phase2-private-key-password\" property must be set to "
-"password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 "
-"files and the path scheme, this property should be set to the full UTF-8 "
-"encoded path of the key, prefixed with the string \"file://\" and ending with "
-"a terminating NUL byte, and as with the blob scheme the \"phase2-private-key-"
-"password\" property must be set to the password used to decode the PKCS#12 "
-"private key and certificate."
+"PEM encoded data. When using private keys with the path scheme, this "
+"property should be set to the full UTF-8 encoded path of the key, prefixed "
+"with the string \"file://\" and ending with a terminating NUL byte. When "
+"using PKCS#12 format private keys and the blob scheme, this property should "
+"be set to the PKCS#12 data and the \"phase2-private-key-password\" property "
+"must be set to password used to decrypt the PKCS#12 certificate and key. "
+"When using PKCS#12 files and the path scheme, this property should be set to "
+"the full UTF-8 encoded path of the key, prefixed with the string \"file://\" "
+"and ending with a terminating NUL byte, and as with the blob scheme the "
+"\"phase2-private-key-password\" property must be set to the password used to "
+"decode the PKCS#12 private key and certificate."
msgstr ""
"Содержит внутренний закрытый ключ «фазы 2», если значение свойств \"phase2-"
-"auth\" или \"phase2-autheap\" равно «tls». Данные ключа указываются с помощью "
-"«схемы» (\"scheme\"); на данный момент поддерживаются две: blob и path. При "
-"использовании схемы blob и закрытого ключа, в данном свойстве необходимо "
-"указывать закодированные данные зашифрованного формата PEM ключа. При "
-"использовании закрытых ключей со схемой path, в значении данного свойстве "
-"должен присутствовать полный путь до ключа в кодировке UTF-8, с префиксом "
-"“file://” и заканчивающийся завершающим байтом NUL. При использовании закрытых "
-"ключей в формате PKCS#12 и схемы blob, в значении данного свойства должны "
-"присутствовать данные PKCS#12, а в значении свойства \"phase2-private-key-"
-"password\" — пароль, используемый для расшифровки сертификата PKCS#12 и ключа. "
-"При использовании файлов PKCS#12 и схемы path, в значении данного свойства "
-"должен присутствовать полный путь до ключа в кодировке UTF-8, с префиксом "
-"\"file://\" и заканчивающийся завершающим байтом NUL, и, также как и в случае "
-"схемы blob, в значении свойства \"phase2-private-key-password\" должен "
-"указываться пароль, используемый для расшифровки сертификата PKCS#12 и "
-"закрытого ключа."
+"auth\" или \"phase2-autheap\" равно «tls». Данные ключа указываются с "
+"помощью «схемы» (\"scheme\"); на данный момент поддерживаются две: blob и "
+"path. При использовании схемы blob и закрытого ключа, в данном свойстве "
+"необходимо указывать закодированные данные зашифрованного формата PEM ключа. "
+"При использовании закрытых ключей со схемой path, в значении данного "
+"свойстве должен присутствовать полный путь до ключа в кодировке UTF-8, с "
+"префиксом “file://” и заканчивающийся завершающим байтом NUL. При "
+"использовании закрытых ключей в формате PKCS#12 и схемы blob, в значении "
+"данного свойства должны присутствовать данные PKCS#12, а в значении свойства "
+"\"phase2-private-key-password\" — пароль, используемый для расшифровки "
+"сертификата PKCS#12 и ключа. При использовании файлов PKCS#12 и схемы path, "
+"в значении данного свойства должен присутствовать полный путь до ключа в "
+"кодировке UTF-8, с префиксом \"file://\" и заканчивающийся завершающим "
+"байтом NUL, и, также как и в случае схемы blob, в значении свойства \"phase2-"
+"private-key-password\" должен указываться пароль, используемый для "
+"расшифровки сертификата PKCS#12 и закрытого ключа."
-#: src/libnmc-setting/settings-docs.h.in:69
+#: src/libnmc-setting/settings-docs.h.in:70
msgid ""
"The password used to decrypt the \"phase 2\" private key specified in the "
"\"phase2-private-key\" property when the private key either uses the path "
"scheme, or is a PKCS#12 format key."
msgstr ""
"Пароль, используемый для расшифровки закрытого ключа «фазы 2», указанного в "
-"свойстве \"phase2-private-key\", если закрытый ключ использует схему path или "
-"является ключом в формате PKCS#12."
+"свойстве \"phase2-private-key\", если закрытый ключ использует схему path "
+"или является ключом в формате PKCS#12."
-#: src/libnmc-setting/settings-docs.h.in:70
+#: src/libnmc-setting/settings-docs.h.in:71
msgid ""
"Flags indicating how to handle the \"phase2-private-key-password\" property."
msgstr ""
"Флаги, указывающие, как нужно обрабатывать свойство \"phase2-private-key-"
"password\"."
-#: src/libnmc-setting/settings-docs.h.in:71
+#: src/libnmc-setting/settings-docs.h.in:72
msgid ""
"Substring to be matched against the subject of the certificate presented by "
"the authentication server during the inner \"phase 2\" authentication. When "
@@ -7143,77 +7215,77 @@ msgstr ""
"Подстрока, подлежащая сопоставлению с объектом сертификата, представленным "
"сервером аутентификации во время внутренней аутентификации «фаза 2». Если "
"значение не настроено, проверка состояния сертификата сервера аутентификации "
-"не выполняется. Это свойство обеспечивает низкую безопасность, если вообще её "
-"обеспечивает, и использовать его не нужно."
+"не выполняется. Это свойство обеспечивает низкую безопасность, если вообще "
+"её обеспечивает, и использовать его не нужно."
-#: src/libnmc-setting/settings-docs.h.in:72
+#: src/libnmc-setting/settings-docs.h.in:73
msgid "PIN used for EAP authentication methods."
msgstr "PIN, используемый для методов аутентификации EAP."
-#: src/libnmc-setting/settings-docs.h.in:73
-#: src/libnmc-setting/settings-docs.h.in:152
+#: src/libnmc-setting/settings-docs.h.in:74
+#: src/libnmc-setting/settings-docs.h.in:153
msgid "Flags indicating how to handle the \"pin\" property."
msgstr "Флаги, указывающие, как нужно обрабатывать свойство «pin»."
-#: src/libnmc-setting/settings-docs.h.in:74
+#: src/libnmc-setting/settings-docs.h.in:75
msgid ""
-"Contains the private key when the \"eap\" property is set to \"tls\". Key data "
-"is specified using a \"scheme\"; two are currently supported: blob and path. "
-"When using the blob scheme and private keys, this property should be set to "
-"the key's encrypted PEM encoded data. When using private keys with the path "
-"scheme, this property should be set to the full UTF-8 encoded path of the key, "
-"prefixed with the string \"file://\" and ending with a terminating NUL byte. "
-"When using PKCS#12 format private keys and the blob scheme, this property "
-"should be set to the PKCS#12 data and the \"private-key-password\" property "
-"must be set to password used to decrypt the PKCS#12 certificate and key. When "
-"using PKCS#12 files and the path scheme, this property should be set to the "
-"full UTF-8 encoded path of the key, prefixed with the string \"file://\" and "
-"ending with a terminating NUL byte, and as with the blob scheme the \"private-"
-"key-password\" property must be set to the password used to decode the PKCS#12 "
-"private key and certificate. WARNING: \"private-key\" is not a \"secret\" "
-"property, and thus unencrypted private key data using the BLOB scheme may be "
-"readable by unprivileged users. Private keys should always be encrypted with "
-"a private key password to prevent unauthorized access to unencrypted private "
-"key data."
+"Contains the private key when the \"eap\" property is set to \"tls\". Key "
+"data is specified using a \"scheme\"; two are currently supported: blob and "
+"path. When using the blob scheme and private keys, this property should be "
+"set to the key's encrypted PEM encoded data. When using private keys with "
+"the path scheme, this property should be set to the full UTF-8 encoded path "
+"of the key, prefixed with the string \"file://\" and ending with a "
+"terminating NUL byte. When using PKCS#12 format private keys and the blob "
+"scheme, this property should be set to the PKCS#12 data and the \"private-"
+"key-password\" property must be set to password used to decrypt the PKCS#12 "
+"certificate and key. When using PKCS#12 files and the path scheme, this "
+"property should be set to the full UTF-8 encoded path of the key, prefixed "
+"with the string \"file://\" and ending with a terminating NUL byte, and as "
+"with the blob scheme the \"private-key-password\" property must be set to "
+"the password used to decode the PKCS#12 private key and certificate. "
+"WARNING: \"private-key\" is not a \"secret\" property, and thus unencrypted "
+"private key data using the BLOB scheme may be readable by unprivileged "
+"users. Private keys should always be encrypted with a private key password "
+"to prevent unauthorized access to unencrypted private key data."
msgstr ""
"Содержит закрытый ключ, если значение параметра \"eap\" равно «tls». Данные "
"ключа указываются с помощью «схемы» (\"scheme\"); на данный момент "
"поддерживаются две: blob и path. При использовании схемы blob и закрытого "
"ключа в данном свойстве необходимо указывать закодированные данные "
-"зашифрованного формата PEM ключа. При использовании закрытых ключей со схемой "
-"path, в значении данного свойства должен присутствовать полный путь до ключа в "
-"кодировке UTF-8, с префиксом “file://” и заканчивающийся завершающим байтом "
-"NUL. При использовании закрытых ключей в формате PKCS#12 и схемы blob, в "
-"значении данного свойства должны присутствовать данные PKCS#12, а в значении "
-"свойства \"private-key-password\" — пароль, используемый для расшифровки "
-"сертификата PKCS#12 и ключа. При использовании файлов PKCS#12 и схемы path, в "
-"значении данного свойства должен присутствовать полный путь до ключа в "
-"кодировке UTF-8, с префиксом \"file://\" и заканчивающийся завершающим байтом "
-"NUL, и, также как и в случае схемы blob, в значении свойства \"phase2-private-"
-"key-password\" должен указываться пароль, используемый для расшифровки "
-"сертификата PKCS#12 и закрытого ключа. ПРЕДУПРЕЖДЕНИЕ: свойство \"private-"
-"key\" не является «секретным», и, соответственно, незашифрованные данные "
-"закрытого ключа, при использовании схемы blob, могут быть прочтены "
-"пользователями без привилегий. Для предотвращения неавторизованного доступа к "
-"незашифрованным данным закрытого ключа, ключи всегда должны шифроваться "
-"паролем."
+"зашифрованного формата PEM ключа. При использовании закрытых ключей со "
+"схемой path, в значении данного свойства должен присутствовать полный путь "
+"до ключа в кодировке UTF-8, с префиксом “file://” и заканчивающийся "
+"завершающим байтом NUL. При использовании закрытых ключей в формате PKCS#12 "
+"и схемы blob, в значении данного свойства должны присутствовать данные "
+"PKCS#12, а в значении свойства \"private-key-password\" — пароль, "
+"используемый для расшифровки сертификата PKCS#12 и ключа. При использовании "
+"файлов PKCS#12 и схемы path, в значении данного свойства должен "
+"присутствовать полный путь до ключа в кодировке UTF-8, с префиксом \"file://"
+"\" и заканчивающийся завершающим байтом NUL, и, также как и в случае схемы "
+"blob, в значении свойства \"phase2-private-key-password\" должен указываться "
+"пароль, используемый для расшифровки сертификата PKCS#12 и закрытого ключа. "
+"ПРЕДУПРЕЖДЕНИЕ: свойство \"private-key\" не является «секретным», и, "
+"соответственно, незашифрованные данные закрытого ключа, при использовании "
+"схемы blob, могут быть прочтены пользователями без привилегий. Для "
+"предотвращения неавторизованного доступа к незашифрованным данным закрытого "
+"ключа, ключи всегда должны шифроваться паролем."
-#: src/libnmc-setting/settings-docs.h.in:75
+#: src/libnmc-setting/settings-docs.h.in:76
msgid ""
-"The password used to decrypt the private key specified in the \"private-key\" "
-"property when the private key either uses the path scheme, or if the private "
-"key is a PKCS#12 format key."
+"The password used to decrypt the private key specified in the \"private-"
+"key\" property when the private key either uses the path scheme, or if the "
+"private key is a PKCS#12 format key."
msgstr ""
"Пароль, используемый для дешифровки закрытого ключа, указанного в свойстве "
"«private-key», если закрытый ключ использует схему path, или если закрытый "
"ключ является ключом в формате PKCS#12."
-#: src/libnmc-setting/settings-docs.h.in:76
+#: src/libnmc-setting/settings-docs.h.in:77
msgid "Flags indicating how to handle the \"private-key-password\" property."
msgstr ""
"Флаги, указывающие, как нужно обрабатывать свойство «private-key-password»."
-#: src/libnmc-setting/settings-docs.h.in:77
+#: src/libnmc-setting/settings-docs.h.in:78
msgid ""
"Substring to be matched against the subject of the certificate presented by "
"the authentication server. When unset, no verification of the authentication "
@@ -7222,59 +7294,62 @@ msgid ""
msgstr ""
"Подстрока, подлежащая сопоставлению с объектом сертификата, представленным "
"сервером аутентификации. Если значение не указано, проверка состояния "
-"сертификата сервера аутентификации не выполняется. Это свойство предоставляет "
-"низкую защиту, если вообще её предоставляет, и использовать его не нужно."
+"сертификата сервера аутентификации не выполняется. Это свойство "
+"предоставляет низкую защиту, если вообще её предоставляет, и использовать "
+"его не нужно."
-#: src/libnmc-setting/settings-docs.h.in:78
+#: src/libnmc-setting/settings-docs.h.in:79
msgid ""
"When TRUE, overrides the \"ca-path\" and \"phase2-ca-path\" properties using "
-"the system CA directory specified at configure time with the --system-ca-path "
-"switch. The certificates in this directory are added to the verification "
-"chain in addition to any certificates specified by the \"ca-cert\" and "
-"\"phase2-ca-cert\" properties. If the path provided with --system-ca-path is "
-"rather a file name (bundle of trusted CA certificates), it overrides \"ca-"
-"cert\" and \"phase2-ca-cert\" properties instead (sets ca_cert/ca_cert2 "
-"options for wpa_supplicant)."
+"the system CA directory specified at configure time with the --system-ca-"
+"path switch. The certificates in this directory are added to the "
+"verification chain in addition to any certificates specified by the \"ca-"
+"cert\" and \"phase2-ca-cert\" properties. If the path provided with --system-"
+"ca-path is rather a file name (bundle of trusted CA certificates), it "
+"overrides \"ca-cert\" and \"phase2-ca-cert\" properties instead (sets "
+"ca_cert/ca_cert2 options for wpa_supplicant)."
msgstr ""
"При значении ВЕРНО перезаписывает значения параметров \"ca-path\" и \"phase2-"
"ca-path\" с использованием каталога ЦС системы, указанного во время создания "
"конфигурации с помощью переключателя --system-ca-path. Сертификаты в этом "
-"каталоге добавляются в цепочку верификации в добавление к любым сертификатам, "
-"указанным в параметрах \"ca-cert\" и \"phase2-ca-cert\". Если путь, указанный "
-"с помощью --system-ca-path, представляет собой имя файла (пакет доверенных "
-"сертификатов ЦС), то вместо этого он перезаписывает параметры \"ca-cert\" и "
-"\"phase2-ca-cert\" (настраивает параметры ca_cert/ca_cert2 для wpa_supplicant)."
+"каталоге добавляются в цепочку верификации в добавление к любым "
+"сертификатам, указанным в параметрах \"ca-cert\" и \"phase2-ca-cert\". Если "
+"путь, указанный с помощью --system-ca-path, представляет собой имя файла "
+"(пакет доверенных сертификатов ЦС), то вместо этого он перезаписывает "
+"параметры \"ca-cert\" и \"phase2-ca-cert\" (настраивает параметры ca_cert/"
+"ca_cert2 для wpa_supplicant)."
-#: src/libnmc-setting/settings-docs.h.in:79
+#: src/libnmc-setting/settings-docs.h.in:80
msgid "Encapsulation of ADSL connection. Can be \"vcmux\" or \"llc\"."
msgstr "Инкапсуляция подключения ADSL. Может быть «vcmux» или «llc»."
-#: src/libnmc-setting/settings-docs.h.in:80
+#: src/libnmc-setting/settings-docs.h.in:81
msgid "Password used to authenticate with the ADSL service."
msgstr "Пароль, используемый для аутентификации с помощью службы ADSL."
-#: src/libnmc-setting/settings-docs.h.in:82
+#: src/libnmc-setting/settings-docs.h.in:83
msgid "ADSL connection protocol. Can be \"pppoa\", \"pppoe\" or \"ipoatm\"."
msgstr ""
"Протокол подключения ADSL. Может быть: \"pppoa\", \"pppoe\" или \"ipoatm\"."
-#: src/libnmc-setting/settings-docs.h.in:83
+#: src/libnmc-setting/settings-docs.h.in:84
msgid "Username used to authenticate with the ADSL service."
-msgstr "Имя пользователя, используемое для аутентификации с помощью службы ADSL."
+msgstr ""
+"Имя пользователя, используемое для аутентификации с помощью службы ADSL."
-#: src/libnmc-setting/settings-docs.h.in:84
+#: src/libnmc-setting/settings-docs.h.in:85
msgid "VCI of ADSL connection"
msgstr "Идентификатор VCI подключения ADSL"
-#: src/libnmc-setting/settings-docs.h.in:85
+#: src/libnmc-setting/settings-docs.h.in:86
msgid "VPI of ADSL connection"
msgstr "Идентификатор VPI подключения ADSL"
-#: src/libnmc-setting/settings-docs.h.in:86
+#: src/libnmc-setting/settings-docs.h.in:87
msgid "The Bluetooth address of the device."
msgstr "Адрес Bluetooth устройства."
-#: src/libnmc-setting/settings-docs.h.in:87
+#: src/libnmc-setting/settings-docs.h.in:88
msgid ""
"Either \"dun\" for Dial-Up Networking connections or \"panu\" for Personal "
"Area Networking connections to devices supporting the NAP profile."
@@ -7283,43 +7358,43 @@ msgstr ""
"\"panu\" для подключений из персональной сети PAN к устройствам, "
"поддерживающим профиль NAP."
-#: src/libnmc-setting/settings-docs.h.in:88
+#: src/libnmc-setting/settings-docs.h.in:89
msgid ""
"Dictionary of key/value pairs of bonding options. Both keys and values must "
-"be strings. Option names must contain only alphanumeric characters (ie, [a-zA-"
-"Z0-9])."
+"be strings. Option names must contain only alphanumeric characters (ie, [a-"
+"zA-Z0-9])."
msgstr ""
-"Словарь пар «ключ/значение» параметров создания агрегаций bond. Как ключи, так "
-"и значения должны быть представлены строками. Имена параметров должны "
+"Словарь пар «ключ/значение» параметров создания агрегаций bond. Как ключи, "
+"так и значения должны быть представлены строками. Имена параметров должны "
"содержать только буквенно-цифровые символы (т. е. [A-zA-Z0-9])."
-#: src/libnmc-setting/settings-docs.h.in:89
+#: src/libnmc-setting/settings-docs.h.in:90
msgid "The Ethernet MAC address aging time, in seconds."
msgstr "Время действия адресов MAC Ethernet, в секундах."
-#: src/libnmc-setting/settings-docs.h.in:90
+#: src/libnmc-setting/settings-docs.h.in:91
msgid "The Spanning Tree Protocol (STP) forwarding delay, in seconds."
msgstr "Задержка перенаправления для протокола STP, в секундах."
-#: src/libnmc-setting/settings-docs.h.in:91
+#: src/libnmc-setting/settings-docs.h.in:92
msgid ""
-"If specified, 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, ie an address of the form 01:80:C2:00:00:0X, with X in [0, 4..F]. If "
-"not specified the default value is 01:80:C2:00:00:00."
+"If specified, 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, ie an address of the form 01:80:C2:00:00:0X, with X in [0, "
+"4..F]. If not specified the default value is 01:80:C2:00:00:00."
msgstr ""
"Если значение указано, то это значение адреса MAC многоадресной группы, "
"используемое этим мостом для STP. Адрес должен быть адресом link-local в "
"стандартном формате Ethernet MAC, то есть «01:80:C2:00:00:0X», с X в [0, 4.."
"F]. Если не указано, значением по умолчанию будет 01:80:C2:00:00:00."
-#: src/libnmc-setting/settings-docs.h.in:92
+#: src/libnmc-setting/settings-docs.h.in:93
msgid ""
"A mask of group addresses to forward. Usually, group addresses in the range "
"from 01:80:C2:00:00:00 to 01:80:C2:00:00:0F are not forwarded according to "
"standards. This property is a mask of 16 bits, each corresponding to a group "
-"address in that range that must be forwarded. The mask can't have bits 0, 1 or "
-"2 set because they are used for STP, MAC pause frames and LACP."
+"address in that range that must be forwarded. The mask can't have bits 0, 1 "
+"or 2 set because they are used for STP, MAC pause frames and LACP."
msgstr ""
"Маска групповых адресов для перенаправления. Обычно адреса групп в диапазоне "
"от 01: 80: C2: 00: 00: 00 до 01: 80: C2: 00: 00: 0F перенаправляются не в "
@@ -7328,35 +7403,36 @@ msgstr ""
"должен быть перенаправлен. Маска не может иметь биты 0, 1 или 2, потому что "
"они используются для кадров STP, кадров паузы MAC и LACP."
-#: src/libnmc-setting/settings-docs.h.in:93
+#: src/libnmc-setting/settings-docs.h.in:94
msgid "The Spanning Tree Protocol (STP) hello time, in seconds."
msgstr "Время приветствия протокола STP, в секундах."
-#: src/libnmc-setting/settings-docs.h.in:94
+#: src/libnmc-setting/settings-docs.h.in:95
msgid ""
-"If specified, the MAC address of bridge. When creating a new bridge, this MAC "
-"address will be set. If this field is left unspecified, the \"ethernet.cloned-"
-"mac-address\" is referred instead to generate the initial MAC address. Note "
-"that setting \"ethernet.cloned-mac-address\" anyway overwrites the MAC address "
-"of the bridge later while activating the bridge."
+"If specified, the MAC address of bridge. When creating a new bridge, this "
+"MAC address will be set. If this field is left unspecified, the \"ethernet."
+"cloned-mac-address\" is referred instead to generate the initial MAC "
+"address. Note that setting \"ethernet.cloned-mac-address\" anyway overwrites "
+"the MAC address of the bridge later while activating the bridge."
msgstr ""
-"Если значение указано, то оно обозначает адрес MAC моста. При создании нового "
-"моста будет указан этот адрес MAC. Если поле оставить без значения, то вместо "
-"создания начального MAC выполняется обращение к параметру \"ethernet.cloned-"
-"mac-address\". Обратите внимание, что параметр \"ethernet.cloned-mac-address\" "
-"в любом случае перезаписывает MAC моста позже, во время активации моста."
+"Если значение указано, то оно обозначает адрес MAC моста. При создании "
+"нового моста будет указан этот адрес MAC. Если поле оставить без значения, "
+"то вместо создания начального MAC выполняется обращение к параметру "
+"\"ethernet.cloned-mac-address\". Обратите внимание, что параметр \"ethernet."
+"cloned-mac-address\" в любом случае перезаписывает MAC моста позже, во время "
+"активации моста."
-#: src/libnmc-setting/settings-docs.h.in:95
+#: src/libnmc-setting/settings-docs.h.in:96
msgid "The Spanning Tree Protocol (STP) maximum message age, in seconds."
msgstr "Максимальное время жизни сообщения протокола STP, в секундах."
-#: src/libnmc-setting/settings-docs.h.in:96
+#: src/libnmc-setting/settings-docs.h.in:97
msgid "Set maximum size of multicast hash table (value must be a power of 2)."
msgstr ""
"Максимальный размер многоадресной хэш-таблицы (значение должно быть степенью "
"числа два)."
-#: src/libnmc-setting/settings-docs.h.in:97
+#: src/libnmc-setting/settings-docs.h.in:98
msgid ""
"Set the number of queries the bridge will send before stopping forwarding a "
"multicast group after a \"leave\" message has been received."
@@ -7364,7 +7440,7 @@ msgstr ""
"Указывает число запросов, посылаемых мостом перед тем, как прекратить "
"перенаправление многоадресной группы после получения сообщения \"leave\"."
-#: src/libnmc-setting/settings-docs.h.in:98
+#: src/libnmc-setting/settings-docs.h.in:99
msgid ""
"Set interval (in deciseconds) between queries to find remaining members of a "
"group, after a \"leave\" message is received."
@@ -7372,7 +7448,7 @@ msgstr ""
"Интервал (в децисекундах) между запросами по поиску оставшихся участников "
"группы, после получения сообщения \"leave\"."
-#: src/libnmc-setting/settings-docs.h.in:99
+#: src/libnmc-setting/settings-docs.h.in:100
msgid ""
"Set delay (in deciseconds) after which the bridge will leave a group, if no "
"membership reports for this group are received."
@@ -7380,31 +7456,31 @@ msgstr ""
"Время задержки (в децисекундах), после которой мост покинет группу при "
"отсутствии отчётов о членстве в этой группе."
-#: src/libnmc-setting/settings-docs.h.in:100
+#: src/libnmc-setting/settings-docs.h.in:101
msgid ""
-"Enable or disable sending of multicast queries by the bridge. If not specified "
-"the option is disabled."
+"Enable or disable sending of multicast queries by the bridge. If not "
+"specified the option is disabled."
msgstr ""
-"Включить или отключить отсылку многоадресных запросов мостом. если не указано "
-"— параметр отключен."
+"Включить или отключить отсылку многоадресных запросов мостом. если не "
+"указано — параметр отключен."
-#: src/libnmc-setting/settings-docs.h.in:101
+#: src/libnmc-setting/settings-docs.h.in:102
msgid ""
"If no queries are seen after this delay (in deciseconds) has passed, the "
"bridge will start to send its own queries."
msgstr ""
-"Если после данной задержки (в децисекундах) не было обнаружено запросов, мост "
-"начнёт посылать свои собственные запросы."
+"Если после данной задержки (в децисекундах) не было обнаружено запросов, "
+"мост начнёт посылать свои собственные запросы."
-#: src/libnmc-setting/settings-docs.h.in:102
+#: src/libnmc-setting/settings-docs.h.in:103
msgid ""
-"Interval (in deciseconds) between queries sent by the bridge after the end of "
-"the startup phase."
+"Interval (in deciseconds) between queries sent by the bridge after the end "
+"of the startup phase."
msgstr ""
-"Интервал (в децисекундах) между запросами, посылаемыми мостом после окончания "
-"начальной фазы."
+"Интервал (в децисекундах) между запросами, посылаемыми мостом после "
+"окончания начальной фазы."
-#: src/libnmc-setting/settings-docs.h.in:103
+#: src/libnmc-setting/settings-docs.h.in:104
msgid ""
"Set the Max Response Time/Max Response Delay (in deciseconds) for IGMP/MLD "
"queries sent by the bridge."
@@ -7412,28 +7488,29 @@ msgstr ""
"Максимальное время для ответа/максимальная задержка ответа (в децисекундах) "
"для запросов IGMP/MLD, посылаемых мостом."
-#: src/libnmc-setting/settings-docs.h.in:104
+#: src/libnmc-setting/settings-docs.h.in:105
msgid ""
-"If enabled the bridge's own IP address is used as the source address for IGMP "
-"queries otherwise the default of 0.0.0.0 is used."
+"If enabled the bridge's own IP address is used as the source address for "
+"IGMP queries otherwise the default of 0.0.0.0 is used."
msgstr ""
"Если параметр включён, то в качестве исходного адреса для запросов IGMP "
-"используется собственный адрес IP моста, в противном случае используется адрес "
-"по умолчанию: 0.0.0.0."
+"используется собственный адрес IP моста, в противном случае используется "
+"адрес по умолчанию: 0.0.0.0."
-#: src/libnmc-setting/settings-docs.h.in:105
+#: src/libnmc-setting/settings-docs.h.in:106
msgid ""
"Sets bridge's multicast router. Multicast-snooping must be enabled for this "
"option to work. Supported values are: 'auto', 'disabled', 'enabled' to which "
"kernel assigns the numbers 1, 0, and 2, respectively. If not specified the "
"default value is 'auto' (1)."
msgstr ""
-"Настраивает многоадресный маршрутизатор моста. Для работы параметра необходимо "
-"активировать отслеживание групповых передач. Поддерживаемые значения: 'auto', "
-"'disabled', 'enabled', для которых ядро выделяет номера 1, 0 и 2, "
-"соответственно. Если не указано, то значение по умолчанию — 'auto' (1)."
+"Настраивает многоадресный маршрутизатор моста. Для работы параметра "
+"необходимо активировать отслеживание групповых передач. Поддерживаемые "
+"значения: 'auto', 'disabled', 'enabled', для которых ядро выделяет номера 1, "
+"0 и 2, соответственно. Если не указано, то значение по умолчанию — "
+"'auto' (1)."
-#: src/libnmc-setting/settings-docs.h.in:106
+#: src/libnmc-setting/settings-docs.h.in:107
msgid ""
"Controls whether IGMP snooping is enabled for this bridge. Note that if "
"snooping was automatically disabled due to hash collisions, the system may "
@@ -7444,11 +7521,11 @@ msgstr ""
"отказываться включить эту функцию до тех пор, пока конфликты не будут "
"устранены."
-#: src/libnmc-setting/settings-docs.h.in:107
+#: src/libnmc-setting/settings-docs.h.in:108
msgid "Set the number of IGMP queries to send during startup phase."
msgstr "Указывает число запросов IGMP, посылаемых во время начальной стадии."
-#: src/libnmc-setting/settings-docs.h.in:108
+#: src/libnmc-setting/settings-docs.h.in:109
msgid ""
"Sets the time (in deciseconds) between queries sent out at startup to "
"determine membership information."
@@ -7456,44 +7533,46 @@ msgstr ""
"Время (в децисекундах) между запросами, посылаемыми в начальной фазе, для "
"определения информации о членстве."
-#: src/libnmc-setting/settings-docs.h.in:109
+#: src/libnmc-setting/settings-docs.h.in:110
msgid ""
-"Sets the Spanning Tree Protocol (STP) priority for this bridge. Lower values "
-"are \"better\"; the lowest priority bridge will be elected the root bridge."
+"Sets the Spanning Tree Protocol (STP) priority for this bridge. Lower "
+"values are \"better\"; the lowest priority bridge will be elected the root "
+"bridge."
msgstr ""
"Устанавливает приоритет протокола STP для этого моста. Более низкие значения "
"«лучше»; мост с наименьшим приоритетом будет выбран корневым мостом."
-#: src/libnmc-setting/settings-docs.h.in:110
-msgid "Controls whether Spanning Tree Protocol (STP) is enabled for this bridge."
+#: src/libnmc-setting/settings-docs.h.in:111
+msgid ""
+"Controls whether Spanning Tree Protocol (STP) is enabled for this bridge."
msgstr "Управляет включением протокола STP для этого моста."
-#: src/libnmc-setting/settings-docs.h.in:111
+#: src/libnmc-setting/settings-docs.h.in:112
msgid ""
-"The default PVID for the ports of the bridge, that is the VLAN id assigned to "
-"incoming untagged frames."
+"The default PVID for the ports of the bridge, that is the VLAN id assigned "
+"to incoming untagged frames."
msgstr ""
"Идентификатор PVID портов моста, то есть идентификатор VLAN, присвоенный "
"входящим кадрам без меток."
-#: src/libnmc-setting/settings-docs.h.in:112
+#: src/libnmc-setting/settings-docs.h.in:113
msgid "Control whether VLAN filtering is enabled on the bridge."
msgstr "Управляет фильтрацией VLAN для этого моста."
-#: src/libnmc-setting/settings-docs.h.in:113
+#: src/libnmc-setting/settings-docs.h.in:114
msgid ""
"If specified, the protocol used for VLAN filtering. Supported values are: "
"'802.1Q', '802.1ad'. If not specified the default value is '802.1Q'."
msgstr ""
"Если значение указано, означает протокол, используемый для фильтрации VLAN. "
-"Поддерживаемые значения: '802.1Q', '802.1ad'. если не указано, то значением по "
-"умолчанию является '802.1Q'."
+"Поддерживаемые значения: '802.1Q', '802.1ad'. если не указано, то значением "
+"по умолчанию является '802.1Q'."
-#: src/libnmc-setting/settings-docs.h.in:114
+#: src/libnmc-setting/settings-docs.h.in:115
msgid "Controls whether per-VLAN stats accounting is enabled."
msgstr "Включён ли учёт статистики для каждой из VLAN."
-#: src/libnmc-setting/settings-docs.h.in:115
+#: src/libnmc-setting/settings-docs.h.in:116
msgid ""
"Array of bridge VLAN objects. In addition to the VLANs specified here, the "
"bridge will also have the default-pvid VLAN configured by the bridge.vlan-"
@@ -7510,7 +7589,7 @@ msgstr ""
"между 1 и 4094, либо диапазон, представленный как пара идентификаторов, "
"разделяемых с помощью тире."
-#: src/libnmc-setting/settings-docs.h.in:116
+#: src/libnmc-setting/settings-docs.h.in:117
msgid ""
"Enables or disables \"hairpin mode\" for the port, which allows frames to be "
"sent back out through the port the frame was received on."
@@ -7518,43 +7597,43 @@ msgstr ""
"Включает или отключает режим hairpin для порта. Режим позволяет отправлять "
"кадры обратно через порт, на котором они были приняты."
-#: src/libnmc-setting/settings-docs.h.in:117
+#: src/libnmc-setting/settings-docs.h.in:118
msgid ""
"The Spanning Tree Protocol (STP) port cost for destinations via this port."
msgstr "Стоимость порта STP для направления пакетов через этот порт."
-#: src/libnmc-setting/settings-docs.h.in:118
+#: src/libnmc-setting/settings-docs.h.in:119
msgid "The Spanning Tree Protocol (STP) priority of this bridge port."
msgstr "Приоритет STP этого мостового порта."
-#: src/libnmc-setting/settings-docs.h.in:119
+#: src/libnmc-setting/settings-docs.h.in:120
msgid ""
"Array of bridge VLAN objects. In addition to the VLANs specified here, the "
"port will also have the default-pvid VLAN configured on the bridge by the "
"bridge.vlan-default-pvid property. In nmcli the VLAN list can be specified "
"with the following syntax: $vid [pvid] [untagged] [, $vid [pvid] "
-"[untagged]]... where $vid is either a single id between 1 and 4094 or a range, "
-"represented as a couple of ids separated by a dash."
+"[untagged]]... where $vid is either a single id between 1 and 4094 or a "
+"range, represented as a couple of ids separated by a dash."
msgstr ""
"Массив объектов VLAN моста. В дополнению ко всем указанным здесь VLAN, для "
-"порта также будет указан идентификатор порта VLAN по умолчанию, настроенный в "
-"конфигурации моста свойством bridge.vlan-default-pvid. В nmcli список VLAN "
+"порта также будет указан идентификатор порта VLAN по умолчанию, настроенный "
+"в конфигурации моста свойством bridge.vlan-default-pvid. В nmcli список VLAN "
"может быть указан с использованием следующего синтаксиса: $vid [pvid] "
"[untagged] [, $vid [pvid] [untagged]]... , где «$vid» — это либо одиночный "
"идентификатор со значением между 1 и 4094, либо диапазон, представленный как "
"пара идентификаторов, разделяемых с помощью тире."
-#: src/libnmc-setting/settings-docs.h.in:120
-#: src/libnmc-setting/settings-docs.h.in:146
-#: src/libnmc-setting/settings-docs.h.in:157
+#: src/libnmc-setting/settings-docs.h.in:121
+#: src/libnmc-setting/settings-docs.h.in:147
+#: src/libnmc-setting/settings-docs.h.in:158
msgid ""
-"If non-zero, only transmit packets of the specified size or smaller, breaking "
-"larger packets up into multiple frames."
+"If non-zero, only transmit packets of the specified size or smaller, "
+"breaking larger packets up into multiple frames."
msgstr ""
"При значении, отличном от нуля, будут передаваться пакеты только указанного "
"или меньшего размера. Более крупные пакеты разбиваются на несколько кадров."
-#: src/libnmc-setting/settings-docs.h.in:121
+#: src/libnmc-setting/settings-docs.h.in:122
msgid ""
"The number to dial to establish the connection to the CDMA-based mobile "
"broadband network, if any. If not specified, the default number (#777) is "
@@ -7564,8 +7643,8 @@ msgstr ""
"основе CDMA, если таковой имеется. Если не указано, используется номер по "
"умолчанию (# 777)."
-#: src/libnmc-setting/settings-docs.h.in:122
-#: src/libnmc-setting/settings-docs.h.in:149
+#: src/libnmc-setting/settings-docs.h.in:123
+#: src/libnmc-setting/settings-docs.h.in:150
msgid ""
"The password used to authenticate with the network, if required. Many "
"providers do not require a password, or accept any password. But if a "
@@ -7575,67 +7654,69 @@ msgstr ""
"провайдеры не требуют пароля или принимают любой пароль. Но если требуется "
"пароль, он указывается здесь."
-#: src/libnmc-setting/settings-docs.h.in:124
-#: src/libnmc-setting/settings-docs.h.in:155
+#: src/libnmc-setting/settings-docs.h.in:125
+#: src/libnmc-setting/settings-docs.h.in:156
msgid ""
"The username used to authenticate with the network, if required. Many "
"providers do not require a username, or accept any username. But if a "
"username is required, it is specified here."
msgstr ""
-"Имя пользователя, используемое для аутентификации в сети, если оно требуется. "
-"Многие провайдеры не требуют имени пользователя или принимают любое. Но если "
-"имя пользователя требуется, оно указывается здесь."
+"Имя пользователя, используемое для аутентификации в сети, если оно "
+"требуется. Многие провайдеры не требуют имени пользователя или принимают "
+"любое. Но если имя пользователя требуется, оно указывается здесь."
-#: src/libnmc-setting/settings-docs.h.in:125
+#: src/libnmc-setting/settings-docs.h.in:126
msgid ""
"Specifies the NMSettingDcbFlags for the DCB FCoE application. Flags may be "
"any combination of \"enable\" (0x1), \"advertise\" (0x2), and "
"\"willing\" (0x4)."
msgstr ""
-"Задает NMSettingDcbFlags для применения протокола FCoE в мостовом подключении "
-"центра обработки данных (DCB). Возможна любая комбинация следующих флагов: "
-"\"enable\" (0x1), \"advertise (0x2) и \"willing\" (0x4)."
+"Задает NMSettingDcbFlags для применения протокола FCoE в мостовом "
+"подключении центра обработки данных (DCB). Возможна любая комбинация "
+"следующих флагов: \"enable\" (0x1), \"advertise (0x2) и \"willing\" (0x4)."
-#: src/libnmc-setting/settings-docs.h.in:126
+#: src/libnmc-setting/settings-docs.h.in:127
msgid ""
-"The FCoE controller mode; either \"fabric\" or \"vn2vn\". Since 1.34, NULL is "
-"the default and means \"fabric\". Before 1.34, NULL was rejected as invalid "
-"and the default was \"fabric\"."
+"The FCoE controller mode; either \"fabric\" or \"vn2vn\". Since 1.34, NULL "
+"is the default and means \"fabric\". Before 1.34, NULL was rejected as "
+"invalid and the default was \"fabric\"."
msgstr ""
"Режим контроллера FCoE; \"fabric\" или \"vn2vn\". С версии 1.34 значением по "
"умолчанию является NULL и означает \"fabric\". До версии 1.34 значение NULL "
"отвергалось как недействительное, и значением по умолчанию было \"fabric\"."
-#: src/libnmc-setting/settings-docs.h.in:127
+#: src/libnmc-setting/settings-docs.h.in:128
msgid ""
"The highest User Priority (0 - 7) which FCoE frames should use, or -1 for "
-"default priority. Only used when the \"app-fcoe-flags\" property includes the "
-"\"enable\" (0x1) flag."
+"default priority. Only used when the \"app-fcoe-flags\" property includes "
+"the \"enable\" (0x1) flag."
msgstr ""
"Наивысший приоритет пользователя (0 - 7), который должен использоваться "
-"кадрами FCoE, либо «-1» для приоритета по умолчанию. Используется, только если "
-"свойство \"app-fcoe-flags\" включает в себя флаг \"enable\" (0x1)."
+"кадрами FCoE, либо «-1» для приоритета по умолчанию. Используется, только "
+"если свойство \"app-fcoe-flags\" включает в себя флаг \"enable\" (0x1)."
-#: src/libnmc-setting/settings-docs.h.in:128
+#: src/libnmc-setting/settings-docs.h.in:129
msgid ""
-"Specifies the NMSettingDcbFlags for the DCB FIP application. Flags may be any "
-"combination of \"enable\" (0x1), \"advertise\" (0x2), and \"willing\" (0x4)."
+"Specifies the NMSettingDcbFlags for the DCB FIP application. Flags may be "
+"any combination of \"enable\" (0x1), \"advertise\" (0x2), and "
+"\"willing\" (0x4)."
msgstr ""
-"Задает NMSettingDcbFlags для применения протокола инициализации FCoE (FIP) в в "
-"мостовом подключении центра обработки данных (DCB). Возможна любая комбинация "
-"следующих флагов: \"enable\" (0x1), \"advertise\" (0x2) и \"willing\" (0x4)."
+"Задает NMSettingDcbFlags для применения протокола инициализации FCoE (FIP) в "
+"в мостовом подключении центра обработки данных (DCB). Возможна любая "
+"комбинация следующих флагов: \"enable\" (0x1), \"advertise\" (0x2) и "
+"\"willing\" (0x4)."
-#: src/libnmc-setting/settings-docs.h.in:129
+#: src/libnmc-setting/settings-docs.h.in:130
msgid ""
"The highest User Priority (0 - 7) which FIP frames should use, or -1 for "
-"default priority. Only used when the \"app-fip-flags\" property includes the "
-"\"enable\" (0x1) flag."
+"default priority. Only used when the \"app-fip-flags\" property includes "
+"the \"enable\" (0x1) flag."
msgstr ""
"Наивысший приоритет пользователя (0 - 7), который должен использоваться "
-"кадрами FIP, либо «-1» для приоритета по умолчанию. Используется только, если "
-"свойство \"app-fcoe-flags\" включает в себя флаг \"enable\" (0x1)."
+"кадрами FIP, либо «-1» для приоритета по умолчанию. Используется только, "
+"если свойство \"app-fcoe-flags\" включает в себя флаг \"enable\" (0x1)."
-#: src/libnmc-setting/settings-docs.h.in:130
+#: src/libnmc-setting/settings-docs.h.in:131
msgid ""
"Specifies the NMSettingDcbFlags for the DCB iSCSI application. Flags may be "
"any combination of \"enable\" (0x1), \"advertise\" (0x2), and "
@@ -7645,17 +7726,17 @@ msgstr ""
"обработки данных (DCB). Возможна любая комбинация следующих флагов: "
"\"enable\" (0x1), \"advertise\" (0x2) и \"willing\" (0x4)."
-#: src/libnmc-setting/settings-docs.h.in:131
+#: src/libnmc-setting/settings-docs.h.in:132
msgid ""
"The highest User Priority (0 - 7) which iSCSI frames should use, or -1 for "
-"default priority. Only used when the \"app-iscsi-flags\" property includes the "
-"\"enable\" (0x1) flag."
+"default priority. Only used when the \"app-iscsi-flags\" property includes "
+"the \"enable\" (0x1) flag."
msgstr ""
"Наивысший приоритет пользователя (0 - 7), который должен использоваться "
"кадрами iSCSI, либо «-1» для приоритета по умолчанию. Используется только, "
"если свойство \"app-fcoe-flags\" включает в себя флаг \"enable\" (0x1)."
-#: src/libnmc-setting/settings-docs.h.in:132
+#: src/libnmc-setting/settings-docs.h.in:133
msgid ""
"An array of 8 uint values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates the percentage of bandwidth of the "
@@ -7669,7 +7750,7 @@ msgstr ""
"всех процентов для приоритетов, относящихся к одной и той же группе, должна "
"составлять 100 процентов."
-#: src/libnmc-setting/settings-docs.h.in:133
+#: src/libnmc-setting/settings-docs.h.in:134
msgid ""
"An array of 8 boolean values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates whether or not the corresponding "
@@ -7679,18 +7760,18 @@ msgstr ""
"пользователя (0 - 7), а значение указывает, должен ли соответствующий "
"приоритет передавать кадр паузы."
-#: src/libnmc-setting/settings-docs.h.in:134
+#: src/libnmc-setting/settings-docs.h.in:135
msgid ""
-"Specifies the NMSettingDcbFlags for DCB Priority Flow Control (PFC). Flags may "
-"be any combination of \"enable\" (0x1), \"advertise\" (0x2), and "
+"Specifies the NMSettingDcbFlags for DCB Priority Flow Control (PFC). Flags "
+"may be any combination of \"enable\" (0x1), \"advertise\" (0x2), and "
"\"willing\" (0x4)."
msgstr ""
-"Задает NMSettingDcbFlags для применения управления приоритетным потоком (PFC) "
-"в мостовом подключении центра обработки данных (DCB). Возможна любая "
+"Задает NMSettingDcbFlags для применения управления приоритетным потоком "
+"(PFC) в мостовом подключении центра обработки данных (DCB). Возможна любая "
"комбинация следующих флагов: \"enable\" (0x1), \"advertise\" (0x2) и "
"\"willing\" (0x4)."
-#: src/libnmc-setting/settings-docs.h.in:135
+#: src/libnmc-setting/settings-docs.h.in:136
msgid ""
"An array of 8 uint values, where the array index corresponds to the Priority "
"Group ID (0 - 7) and the value indicates the percentage of link bandwidth "
@@ -7699,10 +7780,10 @@ msgid ""
msgstr ""
"Массив из 8 значений uint, где индекс массива соответствует идентификатору "
"группы приоритетов (0 - 7), а значение указывает процент полосы пропускания "
-"канала, выделенной для этой группы. Допустимые значения: 0 - 100, а сумма всех "
-"значений должна составлять 100 процентов."
+"канала, выделенной для этой группы. Допустимые значения: 0 - 100, а сумма "
+"всех значений должна составлять 100 процентов."
-#: src/libnmc-setting/settings-docs.h.in:136
+#: src/libnmc-setting/settings-docs.h.in:137
msgid ""
"Specifies the NMSettingDcbFlags for DCB Priority Groups. Flags may be any "
"combination of \"enable\" (0x1), \"advertise\" (0x2), and \"willing\" (0x4)."
@@ -7711,7 +7792,7 @@ msgstr ""
"обработки данных (DCB). Возможна любая комбинация следующих флагов: "
"\"enable\" (0x1), \"advertise\" (0x2) и \"willing\" (0x4)."
-#: src/libnmc-setting/settings-docs.h.in:137
+#: src/libnmc-setting/settings-docs.h.in:138
msgid ""
"An array of 8 uint values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates the Priority Group ID. Allowed "
@@ -7722,7 +7803,7 @@ msgstr ""
"Допустимые значения идентификатора группы приоритетов: 0-7 или 15 для "
"неограниченной группы."
-#: src/libnmc-setting/settings-docs.h.in:138
+#: src/libnmc-setting/settings-docs.h.in:139
msgid ""
"An array of 8 boolean values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates whether or not the priority may use "
@@ -7732,7 +7813,7 @@ msgstr ""
"пользователя (0 - 7), а значение указывает, может ли приоритет использовать "
"всю ширину полосы пропускания, выделенную для назначенной ей группы."
-#: src/libnmc-setting/settings-docs.h.in:139
+#: src/libnmc-setting/settings-docs.h.in:140
msgid ""
"An array of 8 uint values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates the traffic class (0 - 7) to which "
@@ -7742,45 +7823,46 @@ msgstr ""
"пользователя (0-7), а значение указывает класс трафика (0-7), на который "
"отображается приоритет."
-#: src/libnmc-setting/settings-docs.h.in:140
+#: src/libnmc-setting/settings-docs.h.in:141
msgid ""
"The GPRS Access Point Name specifying the APN used when establishing a data "
"session with the GSM-based network. The APN often determines how the user "
-"will be billed for their network usage and whether the user has access to the "
-"Internet or just a provider-specific walled-garden, so it is important to use "
-"the correct APN for the user's mobile broadband plan. The APN may only be "
-"composed of the characters a-z, 0-9, ., and - per GSM 03.60 Section 14.9."
+"will be billed for their network usage and whether the user has access to "
+"the Internet or just a provider-specific walled-garden, so it is important "
+"to use the correct APN for the user's mobile broadband plan. The APN may "
+"only be composed of the characters a-z, 0-9, ., and - per GSM 03.60 Section "
+"14.9."
msgstr ""
"Имя точки доступа GPRS, определяющее APN, используемое при создании сеанса "
"передачи данных в сети на базе GSM. Имя точки доступ (APN) часто определяет, "
"как пользователю будет выставлен счет за использование сети, и имеет ли "
"пользователь доступ к Интернету или только к огороженной конкретным "
-"поставщиком закрытой платформе, поэтому важно использовать правильный APN для "
-"мобильного широкополосного плана пользователя. Согласно разделу 14.9 "
+"поставщиком закрытой платформе, поэтому важно использовать правильный APN "
+"для мобильного широкополосного плана пользователя. Согласно разделу 14.9 "
"спецификации GSM 03.60, APN может состоять только из символов «a-z», «0-9», "
"«.» и «-»."
-#: src/libnmc-setting/settings-docs.h.in:141
+#: src/libnmc-setting/settings-docs.h.in:142
msgid ""
"When TRUE, the settings such as APN, username, or password will default to "
"values that match the network the modem will register to in the Mobile "
"Broadband Provider database."
msgstr ""
-"Если ВЕРНО, то такие параметры, как APN, имя пользователя или пароль будут по "
-"умолчанию равны значениям, соответствующим сети, в которой зарегистрируется "
-"модем, в базе широкополосных мобильных сетей."
+"Если ВЕРНО, то такие параметры, как APN, имя пользователя или пароль будут "
+"по умолчанию равны значениям, соответствующим сети, в которой "
+"зарегистрируется модем, в базе широкополосных мобильных сетей."
-#: src/libnmc-setting/settings-docs.h.in:142
+#: src/libnmc-setting/settings-docs.h.in:143
msgid ""
"The device unique identifier (as given by the WWAN management service) which "
"this connection applies to. If given, the connection will only apply to the "
"specified device."
msgstr ""
"Уникальный идентификатор устройства (указанной службой управления WWAN), к "
-"которой относится это подключение. Если задано, подключение будет применяться "
-"только к указанному устройству."
+"которой относится это подключение. Если задано, подключение будет "
+"применяться только к указанному устройству."
-#: src/libnmc-setting/settings-docs.h.in:143
+#: src/libnmc-setting/settings-docs.h.in:144
msgid ""
"When TRUE, only connections to the home network will be allowed. Connections "
"to roaming networks will not be made."
@@ -7788,33 +7870,33 @@ msgstr ""
"Если ВЕРНО, разрешены только подключения к домашней сети. Подключения к "
"роуминговым сетям не будут выполнены."
-#: src/libnmc-setting/settings-docs.h.in:144
+#: src/libnmc-setting/settings-docs.h.in:145
msgid ""
"For LTE modems, this sets the APN for the initial EPS bearer that is set up "
"when attaching to the network. Setting this parameter implies initial-eps-"
"bearer-configure to be TRUE."
msgstr ""
-"Для LTE модемов этот параметр задает APN для начального EPS-носителя, который "
-"создается при подключении к сети. Установка этого параметра подразумевает, что "
-"initial-eps-bearer-configure установлен в значение TRUE."
+"Для LTE модемов этот параметр задает APN для начального EPS-носителя, "
+"который создается при подключении к сети. Установка этого параметра "
+"подразумевает, что initial-eps-bearer-configure установлен в значение TRUE."
-#: src/libnmc-setting/settings-docs.h.in:145
+#: src/libnmc-setting/settings-docs.h.in:146
msgid ""
"For LTE modems, this setting determines whether the initial EPS bearer shall "
-"be configured when bringing up the connection. It is inferred TRUE if initial-"
-"eps-bearer-apn is set."
+"be configured when bringing up the connection. It is inferred TRUE if "
+"initial-eps-bearer-apn is set."
msgstr ""
"Для LTE модемов этот параметр определяет, должен ли начальный EPS-носитель "
"быть сконфигурирован при установлении подключения. Если параметр initial-eps-"
"bearer-apn установлен, то он считается TRUE."
-#: src/libnmc-setting/settings-docs.h.in:147
+#: src/libnmc-setting/settings-docs.h.in:148
msgid ""
"The Network ID (GSM LAI format, ie MCC-MNC) to force specific network "
-"registration. If the Network ID is specified, NetworkManager will attempt to "
-"force the device to register only on the specified network. This can be used "
-"to ensure that the device does not roam when direct roaming control of the "
-"device is not otherwise possible."
+"registration. If the Network ID is specified, NetworkManager will attempt "
+"to force the device to register only on the specified network. This can be "
+"used to ensure that the device does not roam when direct roaming control of "
+"the device is not otherwise possible."
msgstr ""
"Сетевой идентификатор (формат GSM LAI, т.е. MCC-MNC) для принудительной "
"регистрации в конкретной сети. Если указан сетевой идентификатор, "
@@ -7823,52 +7905,53 @@ msgstr ""
"устройства в тех случаях, когда прямой контроль роуминга невозможен иными "
"способами."
-#: src/libnmc-setting/settings-docs.h.in:148
+#: src/libnmc-setting/settings-docs.h.in:149
msgid ""
-"Legacy setting that used to help establishing PPP data sessions for GSM-based "
-"modems."
+"Legacy setting that used to help establishing PPP data sessions for GSM-"
+"based modems."
msgstr ""
-"Устаревший параметр, использовавшийся для помощи в создании сеансов данных PPP "
-"для модемов на базе GSM."
+"Устаревший параметр, использовавшийся для помощи в создании сеансов данных "
+"PPP для модемов на базе GSM."
-#: src/libnmc-setting/settings-docs.h.in:151
+#: src/libnmc-setting/settings-docs.h.in:152
msgid ""
"If the SIM is locked with a PIN it must be unlocked before any other "
"operations are requested. Specify the PIN here to allow operation of the "
"device."
msgstr ""
-"Если SIM-карта заблокирована с помощью PIN, она должна быть разблокирована до "
-"того, как будут запрошены другие операции. Укажите здесь PIN, чтобы разрешить "
-"работу устройства."
+"Если SIM-карта заблокирована с помощью PIN, она должна быть разблокирована "
+"до того, как будут запрошены другие операции. Укажите здесь PIN, чтобы "
+"разрешить работу устройства."
-#: src/libnmc-setting/settings-docs.h.in:153
+#: src/libnmc-setting/settings-docs.h.in:154
msgid ""
-"The SIM card unique identifier (as given by the WWAN management service) which "
-"this connection applies to. If given, the connection will apply to any device "
-"also allowed by \"device-id\" which contains a SIM card matching the given "
-"identifier."
+"The SIM card unique identifier (as given by the WWAN management service) "
+"which this connection applies to. If given, the connection will apply to "
+"any device also allowed by \"device-id\" which contains a SIM card matching "
+"the given identifier."
msgstr ""
"Уникальный идентификатор SIM-карты (как указано службой управления WWAN), к "
"которому относится это подключение. Если значение задано, подключение будет "
-"применяться к любому устройству, также разрешённому параметром \"device-id\", "
-"содержащим карту SIM, совпадающую с указанным идентификатором."
+"применяться к любому устройству, также разрешённому параметром \"device-"
+"id\", содержащим карту SIM, совпадающую с указанным идентификатором."
-#: src/libnmc-setting/settings-docs.h.in:154
+#: src/libnmc-setting/settings-docs.h.in:155
msgid ""
-"A MCC/MNC string like \"310260\" or \"21601\" identifying the specific mobile "
-"network operator which this connection applies to. If given, the connection "
-"will apply to any device also allowed by \"device-id\" and \"sim-id\" which "
-"contains a SIM card provisioned by the given operator."
+"A MCC/MNC string like \"310260\" or \"21601\" identifying the specific "
+"mobile network operator which this connection applies to. If given, the "
+"connection will apply to any device also allowed by \"device-id\" and \"sim-"
+"id\" which contains a SIM card provisioned by the given operator."
msgstr ""
-"Строка MCC / MNC, например, «310260» или «21601», идентифицирующая конкретного "
-"оператора мобильной сети, к которому относится это подключение. Если задано, "
-"подключение будет применяться к любому устройству, также разрешенному "
-"«идентификатор устройства» и «sim-id», который содержит SIM-карту, "
-"предоставленную данным оператором. Если значение задано, подключение будет "
-"применяться к любому устройству, также разрешённому параметрами \"device-id\" "
-"и \"sim-id\", содержащим карту SIM, предоставленную указанным оператором."
+"Строка MCC / MNC, например, «310260» или «21601», идентифицирующая "
+"конкретного оператора мобильной сети, к которому относится это подключение. "
+"Если задано, подключение будет применяться к любому устройству, также "
+"разрешенному «идентификатор устройства» и «sim-id», который содержит SIM-"
+"карту, предоставленную данным оператором. Если значение задано, подключение "
+"будет применяться к любому устройству, также разрешённому параметрами "
+"\"device-id\" и \"sim-id\", содержащим карту SIM, предоставленную указанным "
+"оператором."
-#: src/libnmc-setting/settings-docs.h.in:156
+#: src/libnmc-setting/settings-docs.h.in:157
msgid ""
"If specified, this connection will only apply to the IPoIB device whose "
"permanent MAC address matches. This property does not change the MAC address "
@@ -7878,60 +7961,62 @@ msgstr ""
"соответствующим постоянным адресом MAC. Это свойство не изменяет адрес MAC "
"устройства (так называемый спуфинг)."
-#: src/libnmc-setting/settings-docs.h.in:158
+#: src/libnmc-setting/settings-docs.h.in:159
msgid ""
"The InfiniBand p-key to use for this device. A value of -1 means to use the "
"default p-key (aka \"the p-key at index 0\"). Otherwise, it is a 16-bit "
-"unsigned integer, whose high bit 0x8000 is set if it is a \"full membership\" "
-"p-key. The values 0 and 0x8000 are not allowed. With the p-key set, the "
-"interface name is always \"$parent.$p_key\". Setting \"connection.interface-"
-"name\" to another name is not supported. Note that kernel will internally "
-"always set the full membership bit, although the interface name does not "
-"reflect that. Usually the user would want to configure a full membership p-key "
-"with 0x8000 flag set."
-msgstr ""
-"InfiniBand p-key, который будет использоваться для этого устройства. Значение "
-"-1 означает использование p-key по умолчанию (он же \"p-key с индексом 0\"). В "
-"противном случае это 16-битное беззнаковое целое число, старший бит которого "
-"0x8000 установлен, если это p-key \"полного членства\". Значения 0 и 0x8000 "
-"недопустимы. При установленном p-key имя интерфейса всегда будет \"$parent."
-"$p_key\". Установка \"connection.interface-name\" на другое имя не "
-"поддерживается. Обратите внимание, что ядро внутренне всегда устанавливает бит "
-"полного членства, хотя имя интерфейса этого не отражает. Обычно пользователь "
-"хочет сконфигурировать p-key полного членства с установленным флагом 0x8000."
+"unsigned integer, whose high bit 0x8000 is set if it is a \"full "
+"membership\" p-key. The values 0 and 0x8000 are not allowed. With the p-key "
+"set, the interface name is always \"$parent.$p_key\". Setting \"connection."
+"interface-name\" to another name is not supported. Note that kernel will "
+"internally always set the full membership bit, although the interface name "
+"does not reflect that. Usually the user would want to configure a full "
+"membership p-key with 0x8000 flag set."
+msgstr ""
+"InfiniBand p-key, который будет использоваться для этого устройства. "
+"Значение -1 означает использование p-key по умолчанию (он же \"p-key с "
+"индексом 0\"). В противном случае это 16-битное беззнаковое целое число, "
+"старший бит которого 0x8000 установлен, если это p-key \"полного членства\". "
+"Значения 0 и 0x8000 недопустимы. При установленном p-key имя интерфейса "
+"всегда будет \"$parent.$p_key\". Установка \"connection.interface-name\" на "
+"другое имя не поддерживается. Обратите внимание, что ядро внутренне всегда "
+"устанавливает бит полного членства, хотя имя интерфейса этого не отражает. "
+"Обычно пользователь хочет сконфигурировать p-key полного членства с "
+"установленным флагом 0x8000."
-#: src/libnmc-setting/settings-docs.h.in:159
+#: src/libnmc-setting/settings-docs.h.in:160
msgid ""
-"The interface name of the parent device of this device. Normally NULL, but if "
-"the \"p_key\" property is set, then you must specify the base device by "
+"The interface name of the parent device of this device. Normally NULL, but "
+"if the \"p_key\" property is set, then you must specify the base device by "
"setting either this property or \"mac-address\"."
msgstr ""
-"Имя интерфейса родительского устройства этого устройства. Обычно NULL, но если "
-"настроено свойство «p_key», то необходимо указать базовое устройство, "
+"Имя интерфейса родительского устройства этого устройства. Обычно NULL, но "
+"если настроено свойство «p_key», то необходимо указать базовое устройство, "
"установив либо это свойство, либо «mac-address»."
-#: src/libnmc-setting/settings-docs.h.in:160
+#: src/libnmc-setting/settings-docs.h.in:161
msgid ""
"The IP-over-InfiniBand transport mode. Either \"datagram\" or \"connected\"."
msgstr "Режим транспорта IP-over-InfiniBand. \"datagram\" или \"connected\"."
-#: src/libnmc-setting/settings-docs.h.in:161
+#: src/libnmc-setting/settings-docs.h.in:162
msgid ""
"A list of IPv4 addresses and their prefix length. Multiple addresses can be "
-"separated by comma. For example \"192.168.1.5/24, 10.1.0.5/24\". The addresses "
-"are listed in decreasing priority, meaning the first address will be the "
-"primary address."
+"separated by comma. For example \"192.168.1.5/24, 10.1.0.5/24\". The "
+"addresses are listed in decreasing priority, meaning the first address will "
+"be the primary address."
msgstr ""
"Список адресов IPv4 и длин их префиксов. Несколько адресов разделяются "
"запятыми. Например, \"192.168.1.5/24, 10.1.0.5/24\". Адреса в поиске идут по "
"снижению приоритета, то есть первый адрес будет первичным адресом."
-#: src/libnmc-setting/settings-docs.h.in:162
-#: src/libnmc-setting/settings-docs.h.in:192
+#: src/libnmc-setting/settings-docs.h.in:163
+#: src/libnmc-setting/settings-docs.h.in:193
msgid ""
"VPN connections will default to add the route automatically unless this "
-"setting is set to FALSE. For other connection types, adding such an automatic "
-"route is currently not supported and setting this to TRUE has no effect."
+"setting is set to FALSE. For other connection types, adding such an "
+"automatic route is currently not supported and setting this to TRUE has no "
+"effect."
msgstr ""
"По умолчанию, маршрут для подключений VPN добавляется автоматически, если "
"только для данного параметра не будет указано значение «Ложно». Для других "
@@ -7939,89 +8024,93 @@ msgstr ""
"не поддерживается, а значение «Истина» для данного параметра ни на что не "
"влияет."
-#: src/libnmc-setting/settings-docs.h.in:163
-#: src/libnmc-setting/settings-docs.h.in:193
+#: src/libnmc-setting/settings-docs.h.in:164
+#: src/libnmc-setting/settings-docs.h.in:194
msgid ""
-"Maximum timeout in milliseconds used to check for the presence of duplicate IP "
-"addresses on the network. If an address conflict is detected, the activation "
-"will fail. The property is currently implemented only for IPv4. A zero value "
-"means that no duplicate address detection is performed, -1 means the default "
-"value (either the value configured globally in NetworkManger.conf or zero). A "
-"value greater than zero is a timeout in milliseconds. Note that the time "
-"intervals are subject to randomization as per RFC 5227 and so the actual "
-"duration can be between half and the full time specified in this property."
-msgstr ""
-"Максимальное время ожидания в миллисекундах, используемое для проверки наличия "
-"дублирующих IP-адресов в сети. Если будет обнаружен конфликт адресов, "
-"активация завершится неудачей. В настоящее время свойство реализовано только "
-"для IPv4. Нулевое значение означает, что обнаружение дубликатов адресов не "
-"производится, -1 означает значение по умолчанию (либо значение, глобально "
-"настроенное в NetworkManger.conf, либо ноль). Значение больше нуля - это "
-"время ожидания в миллисекундах. Обратите внимание, что временные интервалы "
-"могут быть случайны в соответствии с RFC 5227, поэтому фактическая "
-"продолжительность может быть от половины до полного времени, указанного в этом "
+"Maximum timeout in milliseconds used to check for the presence of duplicate "
+"IP addresses on the network. If an address conflict is detected, the "
+"activation will fail. The property is currently implemented only for IPv4. A "
+"zero value means that no duplicate address detection is performed, -1 means "
+"the default value (either the value configured globally in NetworkManger."
+"conf or 200ms). A value greater than zero is a timeout in milliseconds. "
+"Note that the time intervals are subject to randomization as per RFC 5227 "
+"and so the actual duration can be between half and the full time specified "
+"in this property."
+msgstr ""
+"Максимальное время ожидания в миллисекундах, используемое для проверки "
+"наличия дублирующих IP-адресов в сети. Если будет обнаружен конфликт "
+"адресов, активация завершится неудачей. В настоящее время свойство "
+"реализовано только для IPv4. Нулевое значение означает, что обнаружение "
+"дубликатов адресов не производится, -1 означает значение по умолчанию (либо "
+"значение, глобально настроенное в NetworkManger.conf, либо 200мс). Значение "
+"больше нуля — это истечение времени ожидания в миллисекундах. Обратите "
+"внимание, что временные интервалы могут быть случайными, в соответствии со "
+"стандартом RFC 5227, поэтому фактическая продолжительность может быть от "
+"половины до полной длительности временного промежутка, указанного в этом "
"свойстве."
-#: src/libnmc-setting/settings-docs.h.in:164
+#: src/libnmc-setting/settings-docs.h.in:165
msgid ""
-"A string sent to the DHCP server to identify the local machine which the DHCP "
-"server may use to customize the DHCP lease and options. When the property is a "
-"hex string ('aa:bb:cc') it is interpreted as a binary client ID, in which case "
-"the first byte is assumed to be the 'type' field as per RFC 2132 section 9.14 "
-"and the remaining bytes may be an hardware address (e.g. '01:xx:xx:xx:xx:xx:"
-"xx' where 1 is the Ethernet ARP type and the rest is a MAC address). If the "
-"property is not a hex string it is considered as a non-hardware-address client "
-"ID and the 'type' field is set to 0. The special values \"mac\" and \"perm-"
-"mac\" are supported, which use the current or permanent MAC address of the "
-"device to generate a client identifier with type ethernet (01). Currently, "
-"these options only work for ethernet type of links. The special value \"ipv6-"
-"duid\" uses the DUID from \"ipv6.dhcp-duid\" property as an RFC4361-compliant "
-"client identifier. As IAID it uses \"ipv4.dhcp-iaid\" and falls back to \"ipv6."
-"dhcp-iaid\" if unset. The special value \"duid\" generates a RFC4361-compliant "
-"client identifier based on \"ipv4.dhcp-iaid\" and uses a DUID generated by "
-"hashing /etc/machine-id. The special value \"stable\" is supported to generate "
-"a type 0 client identifier based on the stable-id (see connection.stable-id) "
-"and a per-host key. If you set the stable-id, you may want to include the "
-"\"${DEVICE}\" or \"${MAC}\" specifier to get a per-device key. The special "
-"value \"none\" prevents any client identifier from being sent. Note that this "
-"is normally not recommended. If unset, a globally configured default from "
-"NetworkManager.conf is used. If still unset, the default depends on the DHCP "
-"plugin. The internal dhcp client will default to \"mac\" and the dhclient "
-"plugin will try to use one from its config file if present, or won't sent any "
-"client-id otherwise."
-msgstr ""
-"Строка, посылаемая на сервер DHCP для идентификации локальной машины, которую "
-"сервер может использовать для настройки аренды и параметров DHCP. Если "
-"свойство представлено в виде шестнадцатеричной строки ('aa:bb:cc'), то она "
-"интерпретируется как двоичный идентификатор клиента, и в этом случае "
-"предполагается, что, согласно разделу 9.14 спецификации RFC 2132, первый байт "
-"является полем «тип», а остальные байты — аппаратный адрес (то есть '01:xx:xx:"
-"xx:xx:xx:xx', где 1 является типом Ethernet ARP, а остальное — адрес MAC). "
-"Если параметр не является шестнадцатеричной строкой, то он считается "
+"A string sent to the DHCP server to identify the local machine which the "
+"DHCP server may use to customize the DHCP lease and options. When the "
+"property is a hex string ('aa:bb:cc') it is interpreted as a binary client "
+"ID, in which case the first byte is assumed to be the 'type' field as per "
+"RFC 2132 section 9.14 and the remaining bytes may be an hardware address (e."
+"g. '01:xx:xx:xx:xx:xx:xx' where 1 is the Ethernet ARP type and the rest is a "
+"MAC address). If the property is not a hex string it is considered as a non-"
+"hardware-address client ID and the 'type' field is set to 0. The special "
+"values \"mac\" and \"perm-mac\" are supported, which use the current or "
+"permanent MAC address of the device to generate a client identifier with "
+"type ethernet (01). Currently, these options only work for ethernet type of "
+"links. The special value \"ipv6-duid\" uses the DUID from \"ipv6.dhcp-duid\" "
+"property as an RFC4361-compliant client identifier. As IAID it uses \"ipv4."
+"dhcp-iaid\" and falls back to \"ipv6.dhcp-iaid\" if unset. The special value "
+"\"duid\" generates a RFC4361-compliant client identifier based on \"ipv4."
+"dhcp-iaid\" and uses a DUID generated by hashing /etc/machine-id. The "
+"special value \"stable\" is supported to generate a type 0 client identifier "
+"based on the stable-id (see connection.stable-id) and a per-host key. If you "
+"set the stable-id, you may want to include the \"${DEVICE}\" or \"${MAC}\" "
+"specifier to get a per-device key. The special value \"none\" prevents any "
+"client identifier from being sent. Note that this is normally not "
+"recommended. If unset, a globally configured default from NetworkManager."
+"conf is used. If still unset, the default depends on the DHCP plugin. The "
+"internal dhcp client will default to \"mac\" and the dhclient plugin will "
+"try to use one from its config file if present, or won't sent any client-id "
+"otherwise."
+msgstr ""
+"Строка, посылаемая на сервер DHCP для идентификации локальной машины, "
+"которую сервер может использовать для настройки аренды и параметров DHCP. "
+"Если свойство представлено в виде шестнадцатеричной строки ('aa:bb:cc'), то "
+"она интерпретируется как двоичный идентификатор клиента, и в этом случае "
+"предполагается, что, согласно разделу 9.14 спецификации RFC 2132, первый "
+"байт является полем «тип», а остальные байты — аппаратный адрес (то есть '01:"
+"xx:xx:xx:xx:xx:xx', где 1 является типом Ethernet ARP, а остальное — адрес "
+"MAC). Если параметр не является шестнадцатеричной строкой, то он считается "
"неаппаратным идентификатором клиента, а в поле «тип» указывается 0. "
"Поддерживаются специальные значения \"mac\" и \"perm-mac\", использующие "
"текущий или постоянный адрес MAC устройства для создания идентификатора "
-"клиента с типом ethernet (01). На данный момент эти параметры работают только "
-"для каналов Ethernet. Специальное значение \"ipv6-duid\" использует DUID "
-"свойства \"ipv6.dhcp-duid\" в качестве идентификатора клиента, совместимого со "
-"стандартом RFC4361. В качестве идентификатора IAID, он использует \"ipv4.dhcp-"
-"iaid\", а при отсутствии значения откатывается к \"ipv6.dhcp-iaid\". "
-"Специальное значение \"duid\" создаёт клиентский идентификатор, совместимый со "
-"стандартом RFC4361, и использует идентификатор DUID, созданный на основе "
-"хэширования /etc/machine-id. Специальное значение \"stable\" поддерживается "
-"для создания идентификатора клиента типа 0 на основе stable-id (см. "
-"«connection.stable-id») и ключа на каждый хост. При настройке stable-id также "
-"можно включить спецификатор \"${DEVICE}\" или \"${MAC}\" для получения ключа "
-"на каждое устройство. Специальное значение \"none\" предотвращает отправку "
-"любого идентификатора клиента. Обратите внимание, что обычно это не "
-"рекомендуется. Если значение не установлено, используется глобально "
-"настроенное значение по умолчанию из NetworkManager.conf. Если значение не "
-"установлено, то значение по умолчанию зависит от плагина DHCP. Внутренний dhcp-"
-"клиент по умолчанию будет иметь значение \"mac\", а плагин dhclient попытается "
-"использовать значение из своего конфигурационного файла, если оно есть, или не "
-"будет отправлять никакой client-id в противном случае."
+"клиента с типом ethernet (01). На данный момент эти параметры работают "
+"только для каналов Ethernet. Специальное значение \"ipv6-duid\" использует "
+"DUID свойства \"ipv6.dhcp-duid\" в качестве идентификатора клиента, "
+"совместимого со стандартом RFC4361. В качестве идентификатора IAID, он "
+"использует \"ipv4.dhcp-iaid\", а при отсутствии значения откатывается к "
+"\"ipv6.dhcp-iaid\". Специальное значение \"duid\" создаёт клиентский "
+"идентификатор, совместимый со стандартом RFC4361, и использует идентификатор "
+"DUID, созданный на основе хэширования /etc/machine-id. Специальное значение "
+"\"stable\" поддерживается для создания идентификатора клиента типа 0 на "
+"основе stable-id (см. «connection.stable-id») и ключа на каждый хост. При "
+"настройке stable-id также можно включить спецификатор \"${DEVICE}\" или "
+"\"${MAC}\" для получения ключа на каждое устройство. Специальное значение "
+"\"none\" предотвращает отправку любого идентификатора клиента. Обратите "
+"внимание, что обычно это не рекомендуется. Если значение не установлено, "
+"используется глобально настроенное значение по умолчанию из NetworkManager."
+"conf. Если значение не установлено, то значение по умолчанию зависит от "
+"плагина DHCP. Внутренний dhcp-клиент по умолчанию будет иметь значение "
+"\"mac\", а плагин dhclient попытается использовать значение из своего "
+"конфигурационного файла, если оно есть, или не будет отправлять никакой "
+"client-id в противном случае."
-#: src/libnmc-setting/settings-docs.h.in:165
+#: src/libnmc-setting/settings-docs.h.in:166
msgid ""
"If the \"dhcp-send-hostname\" property is TRUE, then the specified FQDN will "
"be sent to the DHCP server when acquiring a lease. This property and \"dhcp-"
@@ -8032,8 +8121,8 @@ msgstr ""
"свойство «dhcp-hostname» являются взаимоисключающими и не могут указываться "
"одновременно."
-#: src/libnmc-setting/settings-docs.h.in:166
-#: src/libnmc-setting/settings-docs.h.in:195
+#: src/libnmc-setting/settings-docs.h.in:167
+#: src/libnmc-setting/settings-docs.h.in:196
msgid ""
"If the \"dhcp-send-hostname\" property is TRUE, then the specified name will "
"be sent to the DHCP server when acquiring a lease. This property and \"dhcp-"
@@ -8044,65 +8133,66 @@ msgstr ""
"свойство «dhcp-hostname» являются взаимоисключающими и не могут указываться "
"одновременно."
-#: src/libnmc-setting/settings-docs.h.in:167
-#: src/libnmc-setting/settings-docs.h.in:196
+#: src/libnmc-setting/settings-docs.h.in:168
+#: src/libnmc-setting/settings-docs.h.in:197
msgid ""
"Flags for the DHCP hostname and FQDN. Currently, this property only includes "
"flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN "
"flags are \"fqdn-serv-update\" (0x1), \"fqdn-encoded\" (0x2) and \"fqdn-no-"
"update\" (0x4). When no FQDN flag is set and \"fqdn-clear-flags\" (0x8) is "
-"set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is "
-"set and \"fqdn-clear-flags\" (0x8) is not set, the standard FQDN flags are set "
-"in the request: \"fqdn-serv-update\" (0x1), \"fqdn-encoded\" (0x2) for IPv4 "
-"and \"fqdn-serv-update\" (0x1) for IPv6. When this property is set to the "
-"default value \"none\" (0x0), a global default is looked up in NetworkManager "
-"configuration. If that value is unset or also \"none\" (0x0), then the "
-"standard FQDN flags described above are sent in the DHCP requests."
+"set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag "
+"is set and \"fqdn-clear-flags\" (0x8) is not set, the standard FQDN flags "
+"are set in the request: \"fqdn-serv-update\" (0x1), \"fqdn-encoded\" (0x2) "
+"for IPv4 and \"fqdn-serv-update\" (0x1) for IPv6. When this property is set "
+"to the default value \"none\" (0x0), a global default is looked up in "
+"NetworkManager configuration. If that value is unset or also \"none\" (0x0), "
+"then the standard FQDN flags described above are sent in the DHCP requests."
msgstr ""
"Флаги для имени хоста DHCP и FQDN. В настоящее время это свойство включает "
"только флаги для управления флагами FQDN, установленными в параметре DHCP "
-"FQDN. Поддерживаются следующие флаги FQDN: \"fqdn-serv-update\" (0x1), \"fqdn-"
-"encoded\" (0x2) и \"fqdn-no-update\" (0x4). Если флаг FQDN не установлен и "
-"установлен параметр \"fqdn-clear-flags\" (0x8), то параметр DHCP FQDN не будет "
-"содержать флага. В противном случае, если флаг FQDN не установлен и \"fqdn-"
-"clear-flags\" (0x8) не установлен, в запросе устанавливаются стандартные флаги "
-"FQDN: \"fqdn-serv-update\" (0x1), \"fqdn-encoded\" (0x2) для IPv4 и \"fqdn-"
-"serv-update\" (0x1) для IPv6. Если для этого свойства установлено значение по "
-"умолчанию \"none\" (0x0), то в конфигурации NetworkManager ищется глобальное "
-"значение по умолчанию. Если это значение не установлено или также равно "
-"\"none\" (0x0), то в DHCP-запросах передаются стандартные флаги FQDN, "
-"описанные выше."
+"FQDN. Поддерживаются следующие флаги FQDN: \"fqdn-serv-update\" (0x1), "
+"\"fqdn-encoded\" (0x2) и \"fqdn-no-update\" (0x4). Если флаг FQDN не "
+"установлен и установлен параметр \"fqdn-clear-flags\" (0x8), то параметр "
+"DHCP FQDN не будет содержать флага. В противном случае, если флаг FQDN не "
+"установлен и \"fqdn-clear-flags\" (0x8) не установлен, в запросе "
+"устанавливаются стандартные флаги FQDN: \"fqdn-serv-update\" (0x1), \"fqdn-"
+"encoded\" (0x2) для IPv4 и \"fqdn-serv-update\" (0x1) для IPv6. Если для "
+"этого свойства установлено значение по умолчанию \"none\" (0x0), то в "
+"конфигурации NetworkManager ищется глобальное значение по умолчанию. Если "
+"это значение не установлено или также равно \"none\" (0x0), то в DHCP-"
+"запросах передаются стандартные флаги FQDN, описанные выше."
-#: src/libnmc-setting/settings-docs.h.in:168
-#: src/libnmc-setting/settings-docs.h.in:197
+#: src/libnmc-setting/settings-docs.h.in:169
+#: src/libnmc-setting/settings-docs.h.in:198
msgid ""
-"A string containing the \"Identity Association Identifier\" (IAID) used by the "
-"DHCP client. The string can be a 32-bit number (either decimal, hexadecimal or "
-"as colon separated hexadecimal numbers). Alternatively it can be set to the "
-"special values \"mac\", \"perm-mac\", \"ifname\" or \"stable\". When set to "
-"\"mac\" (or \"perm-mac\"), the last 4 bytes of the current (or permanent) MAC "
-"address are used as IAID. When set to \"ifname\", the IAID is computed by "
-"hashing the interface name. The special value \"stable\" can be used to "
-"generate an IAID based on the stable-id (see connection.stable-id), a per-host "
-"key and the interface name. When the property is unset, the value from global "
-"configuration is used; if no global default is set then the IAID is assumed to "
-"be \"ifname\". For DHCPv4, the IAID is only used with \"ipv4.dhcp-client-id\" "
-"values \"duid\" and \"ipv6-duid\" to generate the client-id. For DHCPv6, note "
-"that at the moment this property is only supported by the \"internal\" DHCPv6 "
-"plugin. The \"dhclient\" DHCPv6 plugin always derives the IAID from the MAC "
-"address. The actually used DHCPv6 IAID for a currently activated interface is "
-"exposed in the lease information of the device."
+"A string containing the \"Identity Association Identifier\" (IAID) used by "
+"the DHCP client. The string can be a 32-bit number (either decimal, "
+"hexadecimal or as colon separated hexadecimal numbers). Alternatively it can "
+"be set to the special values \"mac\", \"perm-mac\", \"ifname\" or "
+"\"stable\". When set to \"mac\" (or \"perm-mac\"), the last 4 bytes of the "
+"current (or permanent) MAC address are used as IAID. When set to \"ifname\", "
+"the IAID is computed by hashing the interface name. The special value "
+"\"stable\" can be used to generate an IAID based on the stable-id (see "
+"connection.stable-id), a per-host key and the interface name. When the "
+"property is unset, the value from global configuration is used; if no global "
+"default is set then the IAID is assumed to be \"ifname\". For DHCPv4, the "
+"IAID is only used with \"ipv4.dhcp-client-id\" values \"duid\" and \"ipv6-"
+"duid\" to generate the client-id. For DHCPv6, note that at the moment this "
+"property is only supported by the \"internal\" DHCPv6 plugin. The "
+"\"dhclient\" DHCPv6 plugin always derives the IAID from the MAC address. The "
+"actually used DHCPv6 IAID for a currently activated interface is exposed in "
+"the lease information of the device."
msgstr ""
"Строка, содержащая \"Идентификатор ассоциации идентификации\" (IAID), "
"используемый клиентом DHCP. Строка может быть 32-битным числом (десятичным, "
-"шестнадцатеричным или в виде шестнадцатеричных чисел, разделенных двоеточием). "
-"Также она может быть установлена в специальные значения \"mac\", \"perm-mac\", "
-"\"ifname\" или \"stable\". Если установлено значение \"mac\" (или \"perm-"
-"mac\"), в качестве IAID используются последние 4 байта текущего (или "
-"постоянного) MAC-адреса. Если установлено значение \"ifname\", IAID "
-"вычисляется путем хэширования имени интерфейса. Специальное значение "
-"\"stable\" может быть использовано для генерации IAID на основе stable-id (см. "
-"connection.stable-id), ключа для каждого хоста и имени интерфейса. Если "
+"шестнадцатеричным или в виде шестнадцатеричных чисел, разделенных "
+"двоеточием). Также она может быть установлена в специальные значения "
+"\"mac\", \"perm-mac\", \"ifname\" или \"stable\". Если установлено значение "
+"\"mac\" (или \"perm-mac\"), в качестве IAID используются последние 4 байта "
+"текущего (или постоянного) MAC-адреса. Если установлено значение \"ifname\", "
+"IAID вычисляется путем хэширования имени интерфейса. Специальное значение "
+"\"stable\" может быть использовано для генерации IAID на основе stable-id "
+"(см. connection.stable-id), ключа для каждого хоста и имени интерфейса. Если "
"свойство не установлено, используется значение из глобальной конфигурации; "
"если глобальное значение по умолчанию не установлено, то IAID принимается "
"равным \"ifname\". Для DHCPv4 IAID используется только со значениями \"ipv4."
@@ -8113,8 +8203,8 @@ msgstr ""
"DHCPv6 IAID для активированного в данный момент интерфейса отображается в "
"информации об аренде устройства."
-#: src/libnmc-setting/settings-docs.h.in:169
-#: src/libnmc-setting/settings-docs.h.in:199
+#: src/libnmc-setting/settings-docs.h.in:170
+#: src/libnmc-setting/settings-docs.h.in:200
msgid ""
"Array of servers from which DHCP offers must be rejected. This property is "
"useful to avoid getting a lease from misconfigured or rogue servers. For "
@@ -8122,21 +8212,21 @@ msgid ""
"and a prefix length (e.g. \"192.168.122.0/24\"). This property is currently "
"not implemented for DHCPv6."
msgstr ""
-"Массив серверов, которые не должны принимать предложения DHCP. Данное свойство "
-"удобно, если необходимо избегать получение аренды на некорректно настроенных "
-"или незаконных серверах. В случае DHCPv4 каждый элемент должен представлять "
-"собой адрес IPv4, за которым опционально может быть указана косая черта и "
-"длина префикса (например, \"192.168.122.0/24\"). На данный момент для DHCPv6 "
-"это свойство не реализовано."
+"Массив серверов, которые не должны принимать предложения DHCP. Данное "
+"свойство удобно, если необходимо избегать получение аренды на некорректно "
+"настроенных или незаконных серверах. В случае DHCPv4 каждый элемент должен "
+"представлять собой адрес IPv4, за которым опционально может быть указана "
+"косая черта и длина префикса (например, \"192.168.122.0/24\"). На данный "
+"момент для DHCPv6 это свойство не реализовано."
-#: src/libnmc-setting/settings-docs.h.in:170
-#: src/libnmc-setting/settings-docs.h.in:200
+#: src/libnmc-setting/settings-docs.h.in:171
+#: src/libnmc-setting/settings-docs.h.in:201
msgid ""
"If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some "
-"DHCP servers use this hostname to update DNS databases, essentially providing "
-"a static hostname for the computer. If the \"dhcp-hostname\" property is NULL "
-"and this property is TRUE, the current persistent hostname of the computer is "
-"sent."
+"DHCP servers use this hostname to update DNS databases, essentially "
+"providing a static hostname for the computer. If the \"dhcp-hostname\" "
+"property is NULL and this property is TRUE, the current persistent hostname "
+"of the computer is sent."
msgstr ""
"Если ВЕРНО, имя хоста отправляется на сервер DHCP при приобретении аренды. "
"Некоторые серверы DHCP используют это имя хоста для обновления баз DNS, в "
@@ -8144,12 +8234,13 @@ msgstr ""
"«dhcp-hostname» равно NULL, а данное свойство имеет значение ВЕРНО, то "
"отправляется текущее постоянное имя компьютера."
-#: src/libnmc-setting/settings-docs.h.in:171
-#: src/libnmc-setting/settings-docs.h.in:201
+#: src/libnmc-setting/settings-docs.h.in:172
+#: src/libnmc-setting/settings-docs.h.in:202
msgid ""
-"A timeout for a DHCP transaction in seconds. If zero (the default), a globally "
-"configured default is used. If still unspecified, a device specific timeout is "
-"used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity."
+"A timeout for a DHCP transaction in seconds. If zero (the default), a "
+"globally configured default is used. If still unspecified, a device specific "
+"timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for "
+"infinity."
msgstr ""
"Истечение времени ожидания транзакции DHCP в секундах. При нулевом значении "
"(по умолчанию), используется глобально настроенное значение. Если и оно не "
@@ -8157,321 +8248,328 @@ msgstr ""
"устройству (как правило, 45 секунд). Для бесконечного времени ожидания "
"укажите 2147483647 (MAXINT32)."
-#: src/libnmc-setting/settings-docs.h.in:172
+#: src/libnmc-setting/settings-docs.h.in:173
msgid ""
"The Vendor Class Identifier DHCP option (60). Special characters in the data "
-"string may be escaped using C-style escapes, nevertheless this property cannot "
-"contain nul bytes. If the per-profile value is unspecified (the default), a "
-"global connection default gets consulted. If still unspecified, the DHCP "
-"option is not sent to the server."
+"string may be escaped using C-style escapes, nevertheless this property "
+"cannot contain nul bytes. If the per-profile value is unspecified (the "
+"default), a global connection default gets consulted. If still unspecified, "
+"the DHCP option is not sent to the server."
msgstr ""
"Параметр идентификатора класса поставщиков DHCP (60). Специальные символы в "
"строке данных можно зеркалировать с помощью escape-последовательности C, тем "
"не менее, это свойство не может содержать нулевые байты. Если значение для "
-"каждого профиля не указано (по умолчанию), то опрашивается глобальное значение "
-"по умолчанию. Если и оно не указано, параметр DHCP не отсылается серверу."
+"каждого профиля не указано (по умолчанию), то опрашивается глобальное "
+"значение по умолчанию. Если и оно не указано, параметр DHCP не отсылается "
+"серверу."
-#: src/libnmc-setting/settings-docs.h.in:173
-#: src/libnmc-setting/settings-docs.h.in:202
+#: src/libnmc-setting/settings-docs.h.in:174
+#: src/libnmc-setting/settings-docs.h.in:203
msgid ""
"Array of IP addresses of DNS servers. For DoT (DNS over TLS), the SNI server "
"name can be specified by appending \"#example.com\" to the IP address of the "
"DNS server. This currently only has effect when using systemd-resolved."
msgstr ""
-"Массив адресов IP серверов DNS. Для DoT (DNS over TLS), имя сервера SNI можно "
-"указать, добавив \"#example.com\" в начало адреса IP сервера DNS. На данный "
-"момент действует только, если используется systemd-resolved."
+"Массив адресов IP серверов DNS. Для DoT (DNS over TLS), имя сервера SNI "
+"можно указать, добавив \"#example.com\" в начало адреса IP сервера DNS. На "
+"данный момент действует только, если используется systemd-resolved."
-#: src/libnmc-setting/settings-docs.h.in:174
+#: src/libnmc-setting/settings-docs.h.in:175
msgid ""
"DNS options for /etc/resolv.conf as described in resolv.conf(5) manual. The "
-"currently supported options are \"attempts\", \"debug\", \"edns0\", \"ndots\", "
-"\"no-aaaa\", \"no-check-names\", \"no-reload\", \"no-tld-query\", \"rotate\", "
-"\"single-request\", \"single-request-reopen\", \"timeout\", \"trust-ad\", "
-"\"use-vc\". See the resolv.conf(5) manual. Note that there is a distinction "
-"between an unset (default) list and an empty list. In nmcli, to unset the list "
-"set the value to \"\". To set an empty list, set it to \" \". Currently, an "
-"unset list has the same meaning as an empty list. That might change in the "
-"future. The \"trust-ad\" setting is only honored if the profile contributes "
-"name servers to resolv.conf, and if all contributing profiles have \"trust-"
-"ad\" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in "
-"NetworkManager.conf) then \"edns0\" and \"trust-ad\" are automatically added. "
-"The valid \"ipv4.dns-options\" and \"ipv6.dns-options\" get merged together."
+"currently supported options are \"attempts\", \"debug\", \"edns0\", "
+"\"ndots\", \"no-aaaa\", \"no-check-names\", \"no-reload\", \"no-tld-query\", "
+"\"rotate\", \"single-request\", \"single-request-reopen\", \"timeout\", "
+"\"trust-ad\", \"use-vc\". See the resolv.conf(5) manual. Note that there is "
+"a distinction between an unset (default) list and an empty list. In nmcli, "
+"to unset the list set the value to \"\". To set an empty list, set it to \" "
+"\". Currently, an unset list has the same meaning as an empty list. That "
+"might change in the future. The \"trust-ad\" setting is only honored if the "
+"profile contributes name servers to resolv.conf, and if all contributing "
+"profiles have \"trust-ad\" enabled. When using a caching DNS plugin (dnsmasq "
+"or systemd-resolved in NetworkManager.conf) then \"edns0\" and \"trust-ad\" "
+"are automatically added. The valid \"ipv4.dns-options\" and \"ipv6.dns-"
+"options\" get merged together."
msgstr ""
"Параметры DNS для файла /etc/resolv.conf, описанные в руководстве resolv."
"conf(5). В настоящее время поддерживаются следующие опции: \"attempts\", "
"\"debug\", \"edns0\", \"ndots\", \"no-aaaa\", \"no-check-names\", \"no-"
"reload\", \"no-tld-query\", \"rotate\", \"single-request\", \"single-request-"
"reopen\", \"timeout\", \"trust-ad\", \"use-vc\". См. руководство по resolv."
-"conf(5). Обратите внимание, что существует различие между списком без настроек "
-"(по умолчанию) и пустым списком. В nmcli для снятия установки списка "
-"установите значение \"\". Чтобы установить пустой список, установите значение "
-"\" \". В настоящее время список без установки имеет то же значение, что и "
-"пустой список. В будущем это может измениться. Настройка \"trust-ad\" "
+"conf(5). Обратите внимание, что существует различие между списком без "
+"настроек (по умолчанию) и пустым списком. В nmcli для снятия установки "
+"списка установите значение \"\". Чтобы установить пустой список, установите "
+"значение \" \". В настоящее время список без установки имеет то же значение, "
+"что и пустой список. В будущем это может измениться. Настройка \"trust-ad\" "
"выполняется только в том случае, если профиль вносит имена серверов в resolv."
"conf, а также если у всех профилей, вносящих имена, включена опция \"trust-"
-"ad\". При использовании кэширующего DNS-плагина (dnsmasq или systemd-resolved "
-"в NetworkManager.conf) параметры \"edns0\" и \"trust-ad\" добавляются "
-"автоматически. Действительные \"ipv4.dns-options\" и \"ipv6.dns-options\" "
-"объединяются вместе."
+"ad\". При использовании кэширующего DNS-плагина (dnsmasq или systemd-"
+"resolved в NetworkManager.conf) параметры \"edns0\" и \"trust-ad\" "
+"добавляются автоматически. Действительные \"ipv4.dns-options\" и \"ipv6.dns-"
+"options\" объединяются вместе."
-#: src/libnmc-setting/settings-docs.h.in:175
-#: src/libnmc-setting/settings-docs.h.in:204
+#: src/libnmc-setting/settings-docs.h.in:176
+#: src/libnmc-setting/settings-docs.h.in:205
msgid ""
-"DNS servers priority. The relative priority for DNS servers specified by this "
-"setting. A lower numerical value is better (higher priority). Negative values "
-"have the special effect of excluding other configurations with a greater "
-"numerical priority value; so in presence of at least one negative priority, "
-"only DNS servers from connections with the lowest priority value will be used. "
-"To avoid all DNS leaks, set the priority of the profile that should be used to "
-"the most negative value of all active connections profiles. Zero selects a "
-"globally configured default value. If the latter is missing or zero too, it "
-"defaults to 50 for VPNs (including WireGuard) and 100 for other connections. "
-"Note that the priority is to order DNS settings for multiple active "
-"connections. It does not disambiguate multiple DNS servers within the same "
-"connection profile. When multiple devices have configurations with the same "
-"priority, VPNs will be considered first, then devices with the best (lowest "
-"metric) default route and then all other devices. When using dns=default, "
-"servers with higher priority will be on top of resolv.conf. To prioritize a "
-"given server over another one within the same connection, just specify them in "
-"the desired order. Note that commonly the resolver tries name servers in /etc/"
-"resolv.conf in the order listed, proceeding with the next server in the list "
-"on failure. See for example the \"rotate\" option of the dns-options setting. "
-"If there are any negative DNS priorities, then only name servers from the "
-"devices with that lowest priority will be considered. When using a DNS "
-"resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq "
-"or dns=systemd-resolved settings), each connection is used to query domains in "
-"its search list. The search domains determine which name servers to ask, and "
-"the DNS priority is used to prioritize name servers based on the domain. "
-"Queries for domains not present in any search list are routed through "
-"connections having the '~.' special wildcard domain, which is added "
-"automatically to connections with the default route (or can be added "
-"manually). When multiple connections specify the same domain, the one with "
-"the best priority (lowest numerical value) wins. If a sub domain is "
-"configured on another interface it will be accepted regardless the priority, "
-"unless parent domain on the other interface has a negative priority, which "
-"causes the sub domain to be shadowed. With Split DNS one can avoid undesired "
-"DNS leaks by properly configuring DNS priorities and the search domains, so "
-"that only name servers of the desired interface are configured."
-msgstr ""
-"Приоритет серверов DNS. Относительный приоритет серверов DNS, указанный данным "
-"параметром. Чем ниже числовое значение приоритета, тем лучше (более высокий "
-"приоритет). Отрицательные значения имеют специальный эффект: другие "
+"DNS servers priority. The relative priority for DNS servers specified by "
+"this setting. A lower numerical value is better (higher priority). Negative "
+"values have the special effect of excluding other configurations with a "
+"greater numerical priority value; so in presence of at least one negative "
+"priority, only DNS servers from connections with the lowest priority value "
+"will be used. To avoid all DNS leaks, set the priority of the profile that "
+"should be used to the most negative value of all active connections "
+"profiles. Zero selects a globally configured default value. If the latter is "
+"missing or zero too, it defaults to 50 for VPNs (including WireGuard) and "
+"100 for other connections. Note that the priority is to order DNS settings "
+"for multiple active connections. It does not disambiguate multiple DNS "
+"servers within the same connection profile. When multiple devices have "
+"configurations with the same priority, VPNs will be considered first, then "
+"devices with the best (lowest metric) default route and then all other "
+"devices. When using dns=default, servers with higher priority will be on top "
+"of resolv.conf. To prioritize a given server over another one within the "
+"same connection, just specify them in the desired order. Note that commonly "
+"the resolver tries name servers in /etc/resolv.conf in the order listed, "
+"proceeding with the next server in the list on failure. See for example the "
+"\"rotate\" option of the dns-options setting. If there are any negative DNS "
+"priorities, then only name servers from the devices with that lowest "
+"priority will be considered. When using a DNS resolver that supports "
+"Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-"
+"resolved settings), each connection is used to query domains in its search "
+"list. The search domains determine which name servers to ask, and the DNS "
+"priority is used to prioritize name servers based on the domain. Queries "
+"for domains not present in any search list are routed through connections "
+"having the '~.' special wildcard domain, which is added automatically to "
+"connections with the default route (or can be added manually). When "
+"multiple connections specify the same domain, the one with the best priority "
+"(lowest numerical value) wins. If a sub domain is configured on another "
+"interface it will be accepted regardless the priority, unless parent domain "
+"on the other interface has a negative priority, which causes the sub domain "
+"to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly "
+"configuring DNS priorities and the search domains, so that only name servers "
+"of the desired interface are configured."
+msgstr ""
+"Приоритет серверов DNS. Относительный приоритет серверов DNS, указанный "
+"данным параметром. Чем ниже числовое значение приоритета, тем лучше (более "
+"высокий приоритет). Отрицательные значения имеют специальный эффект: другие "
"подключения с более высокими числовыми значениями приоритетов исключаются; "
"поэтому при наличии хотя бы одного отрицательного значения приоритета, будут "
"использоваться только серверы DNS из подключений с самыми низкими значениями "
"приоритетов. Для избежания утечек DNS настройте приоритет используемого "
-"профиля на самое отрицательное значение из всех профилей активных подключений. "
-"Нулевое значение выбирает глобально настроенное значение по умолчанию. Если и "
-"оно отсутствует или равно нулю, то по умолчанию используется 50 для всех VPN "
-"(включая WireGuard) и 100 для других типов подключений. Обратите внимание, что "
-"приоритет — это порядок параметров DNS для нескольких активных подключений. "
-"Приоритет не отменяет двойственности нескольких серверов DNS в рамках одного "
-"профиля подключения. В случае, если конфигурации нескольких устройств имеют "
-"один и тот же приоритет, сначала обрабатываются VPN, затем устройства с лучшим "
-"(самая низкая метрика) маршрутом по умолчанию, а затем все остальные "
-"устройства. Если используется dns=default, то серверы с самыми высокими "
-"приоритетами будут указываться в начале resolv.conf. Для повышения приоритета "
-"указанного сервера над другим сервером просто укажите их в нужном порядке. "
-"Обратите внимание, что обычно сопоставитель DNS опробует серверы имён в "
-"порядке их указания в /etc/resolv.conf, в случае неудачи переходя к следующему "
-"серверу по списку. Рассмотрим, например, параметр \"rotate\" из dns-options. В "
-"случае присутствия отрицательных приоритетов DNS будут учитываться только "
-"серверы имён с устройств с этими низкими приоритетами. При использовании "
-"сопоставителей, поддерживающих условную переадресацию или разделённый DNS (с "
-"параметрами dns=dnsmasq или dns=systemd-resolved), каждое подключение "
-"используется для опроса доменов в его списке поиска. Домены поиска определяют, "
-"какие именно серверы имён нужно опрашивать, а приоритет DNS используется для "
-"определения приоритета серверов имён на основе доменов. Опросы доменов, не "
-"присутствующих ни в одном из списков поиска, направляются через подключения со "
-"специальными подстановочными доменами '~.', добавляемыми автоматически в "
+"профиля на самое отрицательное значение из всех профилей активных "
+"подключений. Нулевое значение выбирает глобально настроенное значение по "
+"умолчанию. Если и оно отсутствует или равно нулю, то по умолчанию "
+"используется 50 для всех VPN (включая WireGuard) и 100 для других типов "
+"подключений. Обратите внимание, что приоритет — это порядок параметров DNS "
+"для нескольких активных подключений. Приоритет не отменяет двойственности "
+"нескольких серверов DNS в рамках одного профиля подключения. В случае, если "
+"конфигурации нескольких устройств имеют один и тот же приоритет, сначала "
+"обрабатываются VPN, затем устройства с лучшим (самая низкая метрика) "
+"маршрутом по умолчанию, а затем все остальные устройства. Если используется "
+"dns=default, то серверы с самыми высокими приоритетами будут указываться в "
+"начале resolv.conf. Для повышения приоритета указанного сервера над другим "
+"сервером просто укажите их в нужном порядке. Обратите внимание, что обычно "
+"сопоставитель DNS опробует серверы имён в порядке их указания в /etc/resolv."
+"conf, в случае неудачи переходя к следующему серверу по списку. Рассмотрим, "
+"например, параметр \"rotate\" из dns-options. В случае присутствия "
+"отрицательных приоритетов DNS будут учитываться только серверы имён с "
+"устройств с этими низкими приоритетами. При использовании сопоставителей, "
+"поддерживающих условную переадресацию или разделённый DNS (с параметрами "
+"dns=dnsmasq или dns=systemd-resolved), каждое подключение используется для "
+"опроса доменов в его списке поиска. Домены поиска определяют, какие именно "
+"серверы имён нужно опрашивать, а приоритет DNS используется для определения "
+"приоритета серверов имён на основе доменов. Опросы доменов, не "
+"присутствующих ни в одном из списков поиска, направляются через подключения "
+"со специальными подстановочными доменами '~.', добавляемыми автоматически в "
"подключения с маршрутом по умолчанию (или добавляемыми вручную). Если один и "
"тот же домен указывается несколькими подключениями, побеждает домен с лучшим "
-"приоритетом (самое низкое числовое значение). Если поддомен настроен на другом "
-"интерфейсе, то он будет принят вне зависимости от приоритета, если только "
-"родительский домен на другом интерфейсе не будет иметь отрицательного "
+"приоритетом (самое низкое числовое значение). Если поддомен настроен на "
+"другом интерфейсе, то он будет принят вне зависимости от приоритета, если "
+"только родительский домен на другом интерфейсе не будет иметь отрицательного "
"приоритета, что приводит к скрытию поддомена. При использовании разделённых "
"DNS избежать нежелательных утечек DNS можно с помощью правильно настроенных "
"приоритетов DNS и доменов поиска так, чтобы на нужных интерфейсах были "
"настроены только серверы имён."
-#: src/libnmc-setting/settings-docs.h.in:176
-#: src/libnmc-setting/settings-docs.h.in:205
+#: src/libnmc-setting/settings-docs.h.in:177
+#: src/libnmc-setting/settings-docs.h.in:206
msgid ""
-"List of DNS search domains. Domains starting with a tilde ('~') are considered "
-"'routing' domains and are used only to decide the interface over which a query "
-"must be forwarded; they are not used to complete unqualified host names. When "
-"using a DNS plugin that supports Conditional Forwarding or Split DNS, then the "
-"search domains specify which name servers to query. This makes the behavior "
-"different from running with plain /etc/resolv.conf. For more information see "
-"also the dns-priority setting. When set on a profile that also enabled DHCP, "
-"the DNS search list received automatically (option 119 for DHCPv4 and option "
-"24 for DHCPv6) gets merged with the manual list. This can be prevented by "
-"setting \"ignore-auto-dns\". Note that if no DNS searches are configured, the "
-"fallback will be derived from the domain from DHCP (option 15)."
+"List of DNS search domains. Domains starting with a tilde ('~') are "
+"considered 'routing' domains and are used only to decide the interface over "
+"which a query must be forwarded; they are not used to complete unqualified "
+"host names. When using a DNS plugin that supports Conditional Forwarding or "
+"Split DNS, then the search domains specify which name servers to query. This "
+"makes the behavior different from running with plain /etc/resolv.conf. For "
+"more information see also the dns-priority setting. When set on a profile "
+"that also enabled DHCP, the DNS search list received automatically (option "
+"119 for DHCPv4 and option 24 for DHCPv6) gets merged with the manual list. "
+"This can be prevented by setting \"ignore-auto-dns\". Note that if no DNS "
+"searches are configured, the fallback will be derived from the domain from "
+"DHCP (option 15)."
msgstr ""
"Список доменов поиска DNS. Домены, начинающиеся с тильды («~»), считаются "
-"доменами маршрутизации и используются только для определения интерфейса, через "
-"который должен быть перенаправлен запрос; они не используются для заполнения "
-"неполных имён хостов. При использовании модуля DNS, поддерживающего условное "
-"перенаправление DNS или разделённый DNS, домены поиска указывают, какие "
-"сервера имён необходимо опрашивать. Это поведение отличается от поведения, "
-"основанного только на /etc/resolv.conf. Подробности также смотрите в описании "
-"параметра dns-priority. Если настроено в профиле, где также включён DHCP, то "
-"автоматически полученный список поиска DNS (параметр 119 для DHCPv4 и параметр "
-"24 для DHCPv6) объединяется с ручным списком. Это поведение можно запретить, "
-"указав \"ignore-auto-dns\". Обратите внимание, что если поиски DNS не "
-"настроены, то запасные варианты будут получаться из домена, указанного для "
-"DHCP (параметр 15)."
+"доменами маршрутизации и используются только для определения интерфейса, "
+"через который должен быть перенаправлен запрос; они не используются для "
+"заполнения неполных имён хостов. При использовании модуля DNS, "
+"поддерживающего условное перенаправление DNS или разделённый DNS, домены "
+"поиска указывают, какие сервера имён необходимо опрашивать. Это поведение "
+"отличается от поведения, основанного только на /etc/resolv.conf. Подробности "
+"также смотрите в описании параметра dns-priority. Если настроено в профиле, "
+"где также включён DHCP, то автоматически полученный список поиска DNS "
+"(параметр 119 для DHCPv4 и параметр 24 для DHCPv6) объединяется с ручным "
+"списком. Это поведение можно запретить, указав \"ignore-auto-dns\". Обратите "
+"внимание, что если поиски DNS не настроены, то запасные варианты будут "
+"получаться из домена, указанного для DHCP (параметр 15)."
-#: src/libnmc-setting/settings-docs.h.in:177
-#: src/libnmc-setting/settings-docs.h.in:206
+#: src/libnmc-setting/settings-docs.h.in:178
+#: src/libnmc-setting/settings-docs.h.in:207
msgid ""
"The gateway associated with this configuration. This is only meaningful if "
"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
"configure a standard default route with the gateway as next hop. This is "
"ignored if \"never-default\" is set. An alternative is to configure the "
"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager configures "
-"for WireGuard interfaces, so usually it should not be set in that case. See "
-"\"ip4-auto-default-route\"."
+"that the gateway usually conflicts with routing that NetworkManager "
+"configures for WireGuard interfaces, so usually it should not be set in that "
+"case. See \"ip4-auto-default-route\"."
msgstr ""
"Шлюз, связанный с этой конфигурацией. Имеет смысл только при настроенном "
"параметре \"addresses\". Если шлюз настроен, то NetworkManager создаст "
"конфигурацию стандартного маршрута по умолчанию со шлюзом в качестве "
"следующего сетевого перехода. Игнорируется при указанном \"never-default\". "
-"Альтернатива: явно настроить маршрут по умолчанию с ручным маршрутом и с «/0» "
-"в качестве длины префикса. Обратите внимание, что шлюз обычно конфликтует с "
-"маршрутизацией, которую NetworkManager настраивает для интерфейсов WireGuard, "
-"поэтому в этих случаях шлюз настраивать не нужно. См. \"ip4-auto-default-"
-"route\"."
+"Альтернатива: явно настроить маршрут по умолчанию с ручным маршрутом и с "
+"«/0» в качестве длины префикса. Обратите внимание, что шлюз обычно "
+"конфликтует с маршрутизацией, которую NetworkManager настраивает для "
+"интерфейсов WireGuard, поэтому в этих случаях шлюз настраивать не нужно. См. "
+"\"ip4-auto-default-route\"."
-#: src/libnmc-setting/settings-docs.h.in:178
-#: src/libnmc-setting/settings-docs.h.in:207
+#: src/libnmc-setting/settings-docs.h.in:179
+#: src/libnmc-setting/settings-docs.h.in:208
msgid ""
"When \"method\" is set to \"auto\" and this property to TRUE, automatically "
"configured name servers and search domains are ignored and only name servers "
-"and search domains specified in the \"dns\" and \"dns-search\" properties, if "
-"any, are used."
+"and search domains specified in the \"dns\" and \"dns-search\" properties, "
+"if any, are used."
msgstr ""
"Если для параметра «method» установлено значение «auto», а для данного "
-"параметра указано ВЕРНО, то автоматически настроенные серверы имен и поисковые "
-"домены игнорируются, и используются только серверы имён и поисковые домены, "
-"указанные в свойствах «dns» и «dns-search», при их наличии."
+"параметра указано ВЕРНО, то автоматически настроенные серверы имен и "
+"поисковые домены игнорируются, и используются только серверы имён и "
+"поисковые домены, указанные в свойствах «dns» и «dns-search», при их наличии."
-#: src/libnmc-setting/settings-docs.h.in:179
-#: src/libnmc-setting/settings-docs.h.in:208
+#: src/libnmc-setting/settings-docs.h.in:180
+#: src/libnmc-setting/settings-docs.h.in:209
msgid ""
"When \"method\" is set to \"auto\" and this property to TRUE, automatically "
"configured routes are ignored and only routes specified in the \"routes\" "
"property, if any, are used."
msgstr ""
"Если для параметра «method» установлено значение «auto», а для данного "
-"свойства указано ВЕРНО, то автоматически настроенные маршруты игнорируются, и "
-"используются только маршруты, указанные в свойстве «routes», при их наличии."
+"свойства указано ВЕРНО, то автоматически настроенные маршруты игнорируются, "
+"и используются только маршруты, указанные в свойстве «routes», при их "
+"наличии."
-#: src/libnmc-setting/settings-docs.h.in:180
+#: src/libnmc-setting/settings-docs.h.in:181
msgid ""
-"Enable and disable the IPv4 link-local configuration independently of the ipv4."
-"method configuration. This allows a link-local address (169.254.x.y/16) to be "
-"obtained in addition to other addresses, such as those manually configured or "
-"obtained from a DHCP server. When set to \"auto\", the value is dependent on "
-"\"ipv4.method\". When set to \"default\", it honors the global connection "
-"default, before falling back to \"auto\". Note that if \"ipv4.method\" is "
-"\"disabled\", then link local addressing is always disabled too. The default "
-"is \"default\"."
-msgstr ""
-"Вкл-выкл. конфигурацию IPv4 канального уровня вне зависимости от конфигурации "
-"ipv4.method. Это позволяет получать адрес канального уровня (169.254.x.y/16) в "
-"дополнение к другим адресам, например, адресам, настроенным вручную, или "
-"полученным с сервера DHCP. При значении «автоматически», значение зависит от "
-"значения \"ipv4.method\". При значении «по умолчанию» учитываются глобальные "
-"параметры подключения по умолчанию, перед откатом к «автоматическому» "
-"значению. Обратите внимание, что если для \"ipv4.method\" указано значение "
-"«отключено», то адресация канального уровня также тоже всегда будет отключена. "
-"Значение по умолчанию: «по умолчанию»."
+"Enable and disable the IPv4 link-local configuration independently of the "
+"ipv4.method configuration. This allows a link-local address (169.254.x.y/16) "
+"to be obtained in addition to other addresses, such as those manually "
+"configured or obtained from a DHCP server. When set to \"auto\", the value "
+"is dependent on \"ipv4.method\". When set to \"default\", it honors the "
+"global connection default, before falling back to \"auto\". Note that if "
+"\"ipv4.method\" is \"disabled\", then link local addressing is always "
+"disabled too. The default is \"default\"."
+msgstr ""
+"Вкл-выкл. конфигурацию IPv4 канального уровня вне зависимости от "
+"конфигурации ipv4.method. Это позволяет получать адрес канального уровня "
+"(169.254.x.y/16) в дополнение к другим адресам, например, адресам, "
+"настроенным вручную, или полученным с сервера DHCP. При значении "
+"«автоматически», значение зависит от значения \"ipv4.method\". При значении "
+"«по умолчанию» учитываются глобальные параметры подключения по умолчанию, "
+"перед откатом к «автоматическому» значению. Обратите внимание, что если для "
+"\"ipv4.method\" указано значение «отключено», то адресация канального уровня "
+"также тоже всегда будет отключена. Значение по умолчанию: «по умолчанию»."
-#: src/libnmc-setting/settings-docs.h.in:181
-#: src/libnmc-setting/settings-docs.h.in:210
+#: src/libnmc-setting/settings-docs.h.in:182
+#: src/libnmc-setting/settings-docs.h.in:211
msgid ""
"If TRUE, allow overall network configuration to proceed even if the "
-"configuration specified by this property times out. Note that at least one IP "
-"configuration must succeed or overall network configuration will still fail. "
-"For example, in IPv6-only networks, setting this property to TRUE on the "
-"NMSettingIP4Config allows the overall network configuration to succeed if IPv4 "
-"configuration fails but IPv6 configuration completes successfully."
+"configuration specified by this property times out. Note that at least one "
+"IP configuration must succeed or overall network configuration will still "
+"fail. For example, in IPv6-only networks, setting this property to TRUE on "
+"the NMSettingIP4Config allows the overall network configuration to succeed "
+"if IPv4 configuration fails but IPv6 configuration completes successfully."
msgstr ""
"Значение ВЕРНО разрешает продолжить с общей сетевой конфигурацией, даже при "
-"истечении времени ожидания конфигурации, указанной данным свойством. Обратите "
-"внимание, что как минимум одна конфигурация IP должна быть успешной, в "
-"противном случае общая сетевая конфигурация даст сбой. В сетях только с IPv6, "
-"например, указание значение ВЕРНО для данного параметра в NMSettingIP4Config "
-"даёт возможность успешно выполнить общую сетевую конфигурацию в случае "
-"неудачной конфигурации IPv4, но удачной конфигурации IPv6."
+"истечении времени ожидания конфигурации, указанной данным свойством. "
+"Обратите внимание, что как минимум одна конфигурация IP должна быть "
+"успешной, в противном случае общая сетевая конфигурация даст сбой. В сетях "
+"только с IPv6, например, указание значение ВЕРНО для данного параметра в "
+"NMSettingIP4Config даёт возможность успешно выполнить общую сетевую "
+"конфигурацию в случае неудачной конфигурации IPv4, но удачной конфигурации "
+"IPv6."
-#: src/libnmc-setting/settings-docs.h.in:182
+#: src/libnmc-setting/settings-docs.h.in:183
msgid "The IPv4 connection method."
msgstr "Метод подключения по протоколу IPv4."
-#: src/libnmc-setting/settings-docs.h.in:183
-#: src/libnmc-setting/settings-docs.h.in:213
+#: src/libnmc-setting/settings-docs.h.in:184
+#: src/libnmc-setting/settings-docs.h.in:214
msgid ""
"If TRUE, this connection will never be the default connection for this IP "
"type, meaning it will never be assigned the default route by NetworkManager."
msgstr ""
-"Если ВЕРНО, то это подключение никогда не будет подключением по умолчанию для "
-"данного типа IP, то есть NetworkManager никогда не назначит ему маршрута по "
-"умолчанию.."
+"Если ВЕРНО, то это подключение никогда не будет подключением по умолчанию "
+"для данного типа IP, то есть NetworkManager никогда не назначит ему маршрута "
+"по умолчанию.."
-#: src/libnmc-setting/settings-docs.h.in:184
-#: src/libnmc-setting/settings-docs.h.in:215
+#: src/libnmc-setting/settings-docs.h.in:185
+#: src/libnmc-setting/settings-docs.h.in:216
msgid ""
"Connections will default to keep the autogenerated priority 0 local rule "
"unless this setting is set to TRUE."
msgstr ""
-"Подключения по умолчанию будут сохранять автогенерируемое локальное правило с "
-"приоритетом 0, если этот параметр не установлен в TRUE."
+"Подключения по умолчанию будут сохранять автогенерируемое локальное правило "
+"с приоритетом 0, если этот параметр не установлен в TRUE."
-#: src/libnmc-setting/settings-docs.h.in:185
-#: src/libnmc-setting/settings-docs.h.in:216
+#: src/libnmc-setting/settings-docs.h.in:186
+#: src/libnmc-setting/settings-docs.h.in:217
msgid ""
"The minimum time interval in milliseconds for which dynamic IP configuration "
"should be tried before the connection succeeds. This property is useful for "
"example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally "
-"the connection succeeds as soon as one of the two address families completes; "
-"by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 "
-"succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the "
-"connection becomes active. Note that if \"may-fail\" is FALSE for the same "
-"address family, this property has no effect as NetworkManager needs to wait "
-"for the full DHCP timeout. A zero value means that no required timeout is "
-"present, -1 means the default value (either configuration ipvx.required-"
-"timeout override or zero)."
+"the connection succeeds as soon as one of the two address families "
+"completes; by setting a required timeout for e.g. IPv4, one can ensure that "
+"even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for "
+"IPv4 before the connection becomes active. Note that if \"may-fail\" is "
+"FALSE for the same address family, this property has no effect as "
+"NetworkManager needs to wait for the full DHCP timeout. A zero value means "
+"that no required timeout is present, -1 means the default value (either "
+"configuration ipvx.required-timeout override or zero)."
msgstr ""
"Минимальный временной интервал (мсек.), в течение которого проверяется "
"конфигурация динамического IP перед успешным подключением. Этот параметр "
-"удобен в случаях, когда, например, включено использование и IPv4 и IPv6, и для "
-"\"may-fail\" указана истина. Как правило, подключение считается успешным, как "
-"только будет успешным одно из двух семейств адресов; установив требуемый тайм-"
-"аут, например, для IPv4, можно быть уверенным, что даже если IP6 будет "
-"успешным раньше, чем IPv4, то NetworkManager будет ещё некоторое время ожидать "
-"IPv4, перед тем, как подключение станет активным. Обратите внимание, что если "
-"для этого семейства адресов параметр \"may-fail\" указан как «ложно», то это "
-"свойство не будет иметь никакого эффекта, поскольку ожидание NetworkManager "
-"должно длиться в течение всего истечения времени ожидания DHCP. Нулевое "
-"значение означает, что требуемого истечения времени ожидания нет, «-1» "
-"означает значение по умолчанию (либо переопределение конфигурации ipvx."
-"required-timeout, либо нуль)."
+"удобен в случаях, когда, например, включено использование и IPv4 и IPv6, и "
+"для \"may-fail\" указана истина. Как правило, подключение считается "
+"успешным, как только будет успешным одно из двух семейств адресов; установив "
+"требуемый тайм-аут, например, для IPv4, можно быть уверенным, что даже если "
+"IP6 будет успешным раньше, чем IPv4, то NetworkManager будет ещё некоторое "
+"время ожидать IPv4, перед тем, как подключение станет активным. Обратите "
+"внимание, что если для этого семейства адресов параметр \"may-fail\" указан "
+"как «ложно», то это свойство не будет иметь никакого эффекта, поскольку "
+"ожидание NetworkManager должно длиться в течение всего истечения времени "
+"ожидания DHCP. Нулевое значение означает, что требуемого истечения времени "
+"ожидания нет, «-1» означает значение по умолчанию (либо переопределение "
+"конфигурации ipvx.required-timeout, либо нуль)."
-#: src/libnmc-setting/settings-docs.h.in:186
-#: src/libnmc-setting/settings-docs.h.in:217
+#: src/libnmc-setting/settings-docs.h.in:187
+#: src/libnmc-setting/settings-docs.h.in:218
msgid ""
"The default metric for routes that don't explicitly specify a metric. The "
"default value -1 means that the metric is chosen automatically based on the "
-"device type. The metric applies to dynamic routes, manual (static) routes that "
-"don't have an explicit metric setting, address prefix routes, and the default "
-"route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 "
-"(user default). Hence, setting this property to zero effectively mean setting "
-"it to 1024. For IPv4, zero is a regular value for the metric."
+"device type. The metric applies to dynamic routes, manual (static) routes "
+"that don't have an explicit metric setting, address prefix routes, and the "
+"default route. Note that for IPv6, the kernel accepts zero (0) but coerces "
+"it to 1024 (user default). Hence, setting this property to zero effectively "
+"mean setting it to 1024. For IPv4, zero is a regular value for the metric."
msgstr ""
"Метрика по умолчанию для маршрутов, которые не указывают метрику явно. "
"Значение по умолчанию «-1» означает, что метрика выбирается автоматически на "
@@ -8480,28 +8578,29 @@ msgstr ""
"маршрутам префикса адресов и маршрутам по умолчанию. Обратите внимание, что "
"для IPv6 ядро ​​принимает ноль (0), но принудительно выставляет для него "
"значение 1024 (по умолчанию для пользователя). Следовательно, установка "
-"значения 0 для этого свойства фактически означает установку значения 1024. Для "
-"IPv4 нуль является обычным значением метрики."
+"значения 0 для этого свойства фактически означает установку значения 1024. "
+"Для IPv4 нуль является обычным значением метрики."
-#: src/libnmc-setting/settings-docs.h.in:187
-#: src/libnmc-setting/settings-docs.h.in:218
+#: src/libnmc-setting/settings-docs.h.in:188
+#: src/libnmc-setting/settings-docs.h.in:219
msgid ""
"Enable policy routing (source routing) and set the routing table used when "
-"adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, "
-"SLAAC, default-routes and static routes. But note that static routes can "
-"individually overwrite the setting by explicitly specifying a non-zero routing "
-"table. If the table setting is left at zero, it is eligible to be overwritten "
-"via global configuration. If the property is zero even after applying the "
-"global configuration value, policy routing is disabled for the address family "
-"of this connection. Policy routing disabled means that NetworkManager will add "
-"all routes to the main table (except static routes that explicitly configure a "
-"different table). Additionally, NetworkManager will not delete any extraneous "
-"routes from tables except the main table. This is to preserve backward "
-"compatibility for users who manage routing tables outside of NetworkManager."
-msgstr ""
-"Включить маршрутизацию на основе политики (исходную маршрутизацию) и настроить "
-"таблицу маршрутизации при добавлении маршрутов. Параметр влияет на все "
-"маршруты, включая маршруты устройств, IPv4LL, DHCP, SLAAC, маршруты по "
+"adding routes. This affects all routes, including device-routes, IPv4LL, "
+"DHCP, SLAAC, default-routes and static routes. But note that static routes "
+"can individually overwrite the setting by explicitly specifying a non-zero "
+"routing table. If the table setting is left at zero, it is eligible to be "
+"overwritten via global configuration. If the property is zero even after "
+"applying the global configuration value, policy routing is disabled for the "
+"address family of this connection. Policy routing disabled means that "
+"NetworkManager will add all routes to the main table (except static routes "
+"that explicitly configure a different table). Additionally, NetworkManager "
+"will not delete any extraneous routes from tables except the main table. "
+"This is to preserve backward compatibility for users who manage routing "
+"tables outside of NetworkManager."
+msgstr ""
+"Включить маршрутизацию на основе политики (исходную маршрутизацию) и "
+"настроить таблицу маршрутизации при добавлении маршрутов. Параметр влияет на "
+"все маршруты, включая маршруты устройств, IPv4LL, DHCP, SLAAC, маршруты по "
"умолчанию и статические маршруты. Но обратите внимание, что статические "
"маршруты могут статически перезаписывать этот параметр, явно указывая "
"ненулевую таблицу маршрутизации. Если в значении параметра таблицы оставлен "
@@ -8510,12 +8609,12 @@ msgstr ""
"конфигурации, то для семьи адресов данного подключения. Отключение политики "
"маршрутизации означает, что NetworkManager добавит все маршруты в главную "
"таблицу (кроме статических маршрутов, явно настраивающих другую таблицу). "
-"Дополнительно, NetworkManager не будет удалять из таблицы никаких посторонних "
-"маршрутов, за исключением главной таблицы. Это делается для сохранения "
-"обратной совместимости для пользователей, настраивающих таблицы маршрутизации "
-"без использования NetworkManager."
+"Дополнительно, NetworkManager не будет удалять из таблицы никаких "
+"посторонних маршрутов, за исключением главной таблицы. Это делается для "
+"сохранения обратной совместимости для пользователей, настраивающих таблицы "
+"маршрутизации без использования NetworkManager."
-#: src/libnmc-setting/settings-docs.h.in:188
+#: src/libnmc-setting/settings-docs.h.in:189
msgid ""
"A list of IPv4 destination addresses, prefix length, optional IPv4 next hop "
"addresses, optional route metric, optional attribute. The valid syntax is: "
@@ -8523,109 +8622,112 @@ msgid ""
"example \"192.0.2.0/24 10.1.1.1 77, 198.51.100.0/24\"."
msgstr ""
"Список адресов IPv4 назначения, длина префикса, дополнительные адреса IPv4 "
-"следующих переходов, дополнительная метрика маршрута, дополнительный атрибут. "
-"Допустимый синтаксис: \"ip[/prefix] [next-hop] [metric] [attribute=val]...[,"
-"ip[/prefix]...]\". Например: \"192.0.2.0/24 10.1.1.1 77, 198.51.100.0/24\"."
+"следующих переходов, дополнительная метрика маршрута, дополнительный "
+"атрибут. Допустимый синтаксис: \"ip[/prefix] [next-hop] [metric] "
+"[attribute=val]...[,ip[/prefix]...]\". Например: \"192.0.2.0/24 10.1.1.1 77, "
+"198.51.100.0/24\"."
-#: src/libnmc-setting/settings-docs.h.in:189
-#: src/libnmc-setting/settings-docs.h.in:220
+#: src/libnmc-setting/settings-docs.h.in:190
+#: src/libnmc-setting/settings-docs.h.in:221
msgid "A comma separated list of routing rules for policy routing."
msgstr "Список, через запятую, правил маршрутизации для маршрутизации политик."
-#: src/libnmc-setting/settings-docs.h.in:190
+#: src/libnmc-setting/settings-docs.h.in:191
msgid ""
"Configure method for creating the IPv6 interface identifer of addresses with "
-"RFC4862 IPv6 Stateless Address Autoconfiguration and Link Local addresses. The "
-"permitted values are: \"eui64\" (0), \"stable-privacy\" (1), \"default\" (3) "
-"or \"default-or-eui64\" (2). If the property is set to \"eui64\", the "
-"addresses will be generated using the interface token derived from hardware "
-"address. This makes the host part of the address to stay constant, making it "
-"possible to track the host's presence when it changes networks. The address "
-"changes when the interface hardware is replaced. If a duplicate address is "
-"detected, there is also no fallback to generate another address. When "
-"configured, the \"ipv6.token\" is used instead of the MAC address to generate "
-"addresses for stateless autoconfiguration. If the property is set to \"stable-"
-"privacy\", the interface identifier is generated as specified by RFC7217. This "
-"works by hashing a host specific key (see NetworkManager(8) manual), the "
-"interface name, the connection's \"connection.stable-id\" property and the "
-"address prefix. This improves privacy by making it harder to use the address "
-"to track the host's presence and the address is stable when the network "
-"interface hardware is replaced. The special values \"default\" and \"default-"
-"or-eui64\" will fallback to the global connection default as documented in the "
-"NetworkManager.conf(5) manual. If the global default is not specified, the "
-"fallback value is \"stable-privacy\" or \"eui64\", respectively. If not "
-"specified, when creating a new profile the default is \"default\". Note that "
-"this setting is distinct from the Privacy Extensions as configured by \"ip6-"
-"privacy\" property and it does not affect the temporary addresses configured "
-"with this option."
-msgstr ""
-"Настройка метода создания идентификатора интерфейса IPv6 для адресов с RFC4862 "
-"IPv6 Stateless Address Autoconfiguration и Link Local адресов. Допустимыми "
-"значениями являются: \"eui64\" (0), \"stable-privacy\" (1), \"default\" (3) "
-"или \"default-or-eui64\" (2). Если свойство установлено в \"eui64\", адреса "
-"будут генерироваться с использованием интерфейсного маркера, полученного из "
-"аппаратного адреса. Таким образом, часть адреса хоста остается постоянной, что "
-"позволяет отслеживать присутствие хоста при смене сети. Адрес меняется при "
-"замене аппаратного обеспечения интерфейса. При обнаружении дублирующегося "
-"адреса также не существует запасного варианта для генерации другого адреса. "
-"Когда свойство настроено, \"ipv6.token\" используется вместо MAC-адреса для "
-"генерации адресов для автоконфигурации без статического изменения. Если "
-"свойство установлено в \"stable-privacy\", идентификатор интерфейса "
-"генерируется, как указано в RFC7217. Это происходит путем хэширования ключа, "
-"специфичного для хоста (см. руководство NetworkManager(8)), имени интерфейса, "
-"свойства \"connection.stable-id\" соединения и префикса адреса. Это улучшает "
-"конфиденциальность, так как затрудняет использование адреса для отслеживания "
-"присутствия хоста, и адрес остается стабильным при замене оборудования "
-"сетевого интерфейса. Специальные значения \"default\" и \"default-or-eui64\" "
-"возвращаются к глобальному значению соединения по умолчанию, как описано в "
-"руководстве NetworkManager.conf(5). Если глобальное значение по умолчанию не "
-"указано, то возвратом будет значение \"stable-privacy\" или \"eui64\", "
-"соответственно. Если значение не указано, то при создании нового профиля по "
-"умолчанию используется значение \"default\". Обратите внимание, что эта "
-"настройка отличается от расширений конфиденциальности, настроенных свойством "
-"\"ip6-privacy\", и не влияет на временные адреса, настроенные с помощью этой "
-"опции."
+"RFC4862 IPv6 Stateless Address Autoconfiguration and Link Local addresses. "
+"The permitted values are: \"eui64\" (0), \"stable-privacy\" (1), "
+"\"default\" (3) or \"default-or-eui64\" (2). If the property is set to "
+"\"eui64\", the addresses will be generated using the interface token derived "
+"from hardware address. This makes the host part of the address to stay "
+"constant, making it possible to track the host's presence when it changes "
+"networks. The address changes when the interface hardware is replaced. If a "
+"duplicate address is detected, there is also no fallback to generate another "
+"address. When configured, the \"ipv6.token\" is used instead of the MAC "
+"address to generate addresses for stateless autoconfiguration. If the "
+"property is set to \"stable-privacy\", the interface identifier is generated "
+"as specified by RFC7217. This works by hashing a host specific key (see "
+"NetworkManager(8) manual), the interface name, the connection's \"connection."
+"stable-id\" property and the address prefix. This improves privacy by "
+"making it harder to use the address to track the host's presence and the "
+"address is stable when the network interface hardware is replaced. The "
+"special values \"default\" and \"default-or-eui64\" will fallback to the "
+"global connection default as documented in the NetworkManager.conf(5) "
+"manual. If the global default is not specified, the fallback value is "
+"\"stable-privacy\" or \"eui64\", respectively. If not specified, when "
+"creating a new profile the default is \"default\". Note that this setting is "
+"distinct from the Privacy Extensions as configured by \"ip6-privacy\" "
+"property and it does not affect the temporary addresses configured with this "
+"option."
+msgstr ""
+"Настройка метода создания идентификатора интерфейса IPv6 для адресов с "
+"RFC4862 IPv6 Stateless Address Autoconfiguration и Link Local адресов. "
+"Допустимыми значениями являются: \"eui64\" (0), \"stable-privacy\" (1), "
+"\"default\" (3) или \"default-or-eui64\" (2). Если свойство установлено в "
+"\"eui64\", адреса будут генерироваться с использованием интерфейсного "
+"маркера, полученного из аппаратного адреса. Таким образом, часть адреса "
+"хоста остается постоянной, что позволяет отслеживать присутствие хоста при "
+"смене сети. Адрес меняется при замене аппаратного обеспечения интерфейса. "
+"При обнаружении дублирующегося адреса также не существует запасного варианта "
+"для генерации другого адреса. Когда свойство настроено, \"ipv6.token\" "
+"используется вместо MAC-адреса для генерации адресов для автоконфигурации "
+"без статического изменения. Если свойство установлено в \"stable-privacy\", "
+"идентификатор интерфейса генерируется, как указано в RFC7217. Это происходит "
+"путем хэширования ключа, специфичного для хоста (см. руководство "
+"NetworkManager(8)), имени интерфейса, свойства \"connection.stable-id\" "
+"соединения и префикса адреса. Это улучшает конфиденциальность, так как "
+"затрудняет использование адреса для отслеживания присутствия хоста, и адрес "
+"остается стабильным при замене оборудования сетевого интерфейса. Специальные "
+"значения \"default\" и \"default-or-eui64\" возвращаются к глобальному "
+"значению соединения по умолчанию, как описано в руководстве NetworkManager."
+"conf(5). Если глобальное значение по умолчанию не указано, то возвратом "
+"будет значение \"stable-privacy\" или \"eui64\", соответственно. Если "
+"значение не указано, то при создании нового профиля по умолчанию "
+"используется значение \"default\". Обратите внимание, что эта настройка "
+"отличается от расширений конфиденциальности, настроенных свойством \"ip6-"
+"privacy\", и не влияет на временные адреса, настроенные с помощью этой опции."
-#: src/libnmc-setting/settings-docs.h.in:191
+#: src/libnmc-setting/settings-docs.h.in:192
msgid ""
"A list of IPv6 addresses and their prefix length. Multiple addresses can be "
"separated by comma. For example \"2001:db8:85a3::8a2e:370:7334/64, 2001:"
-"db8:85a3::5/64\". The addresses are listed in decreasing priority, meaning the "
-"first address will be the primary address. This can make a difference with "
-"IPv6 source address selection (RFC 6724, section 5)."
+"db8:85a3::5/64\". The addresses are listed in decreasing priority, meaning "
+"the first address will be the primary address. This can make a difference "
+"with IPv6 source address selection (RFC 6724, section 5)."
msgstr ""
"Список адресов IPv6 и длин их префиксов. Несколько адресов разделяются "
-"запятыми. Например: \"2001:db8:85a3::8a2e:370:7334/64, 2001:db8:85a3::5/64\". "
-"Адреса перечисляются по уменьшающемуся приоритету, то есть первый адрес будет "
-"первичным. Параметр может иметь существенное влияние на выбор исходных адресов "
-"IPv6 (RFC 6724, раздел 5)."
+"запятыми. Например: \"2001:db8:85a3::8a2e:370:7334/64, 2001:"
+"db8:85a3::5/64\". Адреса перечисляются по уменьшающемуся приоритету, то есть "
+"первый адрес будет первичным. Параметр может иметь существенное влияние на "
+"выбор исходных адресов IPv6 (RFC 6724, раздел 5)."
-#: src/libnmc-setting/settings-docs.h.in:194
+#: src/libnmc-setting/settings-docs.h.in:195
msgid ""
"A string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp "
-"client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in "
-"the Client Identifier option. If the property is a hex string ('aa:bb:cc') it "
-"is interpreted as a binary DUID and filled as an opaque value in the Client "
-"Identifier option. The special value \"lease\" will retrieve the DUID "
-"previously used from the lease file belonging to the connection. If no DUID is "
-"found and \"dhclient\" is the configured dhcp client, the DUID is searched in "
-"the system-wide dhclient lease file. If still no DUID is found, or another "
-"dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be "
-"generated based on the machine-id. The special values \"llt\" and \"ll\" will "
-"generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC "
-"address of the device. In order to try providing a stable DUID-LLT, the time "
-"field will contain a constant timestamp that is used globally (for all "
-"profiles) and persisted to disk. The special values \"stable-llt\", \"stable-"
-"ll\" and \"stable-uuid\" will generate a DUID of the corresponding type, "
-"derived from the connection's stable-id and a per-host unique key. You may "
-"want to include the \"${DEVICE}\" or \"${MAC}\" specifier in the stable-id, in "
-"case this profile gets activated on multiple devices. So, the link-layer "
-"address of \"stable-ll\" and \"stable-llt\" will be a generated address "
-"derived from the stable id. The DUID-LLT time value in the \"stable-llt\" "
-"option will be picked among a static timespan of three years (the upper bound "
-"of the interval is the same constant timestamp used in \"llt\"). When the "
-"property is unset, the global value provided for \"ipv6.dhcp-duid\" is used. "
-"If no global value is provided, the default \"lease\" value is assumed."
+"client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried "
+"in the Client Identifier option. If the property is a hex string ('aa:bb:"
+"cc') it is interpreted as a binary DUID and filled as an opaque value in the "
+"Client Identifier option. The special value \"lease\" will retrieve the DUID "
+"previously used from the lease file belonging to the connection. If no DUID "
+"is found and \"dhclient\" is the configured dhcp client, the DUID is "
+"searched in the system-wide dhclient lease file. If still no DUID is found, "
+"or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) "
+"will be generated based on the machine-id. The special values \"llt\" and "
+"\"ll\" will generate a DUID of type LLT or LL (see RFC 3315) based on the "
+"current MAC address of the device. In order to try providing a stable DUID-"
+"LLT, the time field will contain a constant timestamp that is used globally "
+"(for all profiles) and persisted to disk. The special values \"stable-llt\", "
+"\"stable-ll\" and \"stable-uuid\" will generate a DUID of the corresponding "
+"type, derived from the connection's stable-id and a per-host unique key. You "
+"may want to include the \"${DEVICE}\" or \"${MAC}\" specifier in the stable-"
+"id, in case this profile gets activated on multiple devices. So, the link-"
+"layer address of \"stable-ll\" and \"stable-llt\" will be a generated "
+"address derived from the stable id. The DUID-LLT time value in the \"stable-"
+"llt\" option will be picked among a static timespan of three years (the "
+"upper bound of the interval is the same constant timestamp used in \"llt\"). "
+"When the property is unset, the global value provided for \"ipv6.dhcp-duid\" "
+"is used. If no global value is provided, the default \"lease\" value is "
+"assumed."
msgstr ""
"Строка, содержащая уникальный идентификатор DHCPv6 (DUID), используемый "
"клиентом dhcp для идентификации себя на серверах DHCPv6 (RFC 3315). DUID "
@@ -8636,53 +8738,55 @@ msgstr ""
"файла аренды, принадлежащего подключению. Если DUID не найден и «dhclient» "
"является настроенным клиентом dhcp, поиск DUID выполняется в общесистемном "
"файле аренды dhclient. Если DUID всё ещё не будет найден, или используется "
-"другой клиент dhcp, глобальный и постоянный DUID-UUID (RFC 6355) будет создан "
-"на основе идентификатора машины. Специальные значения «llt» и «ll» будут "
-"создавать DUID типа LLT или LL (см. RFC 3315) на основе текущего MAC-адреса "
-"устройства. Чтобы попытаться предоставить стабильный DUID-LLT, поле времени "
-"будет содержать постоянную метку времени, которая используется глобально (для "
-"всех профилей) и сохраняется на диске. Специальные значения «stable-llt», "
-"«stable-ll» и «stable-uuid» будут создавать DUID соответствующего типа, "
-"полученные из стабильного идентификатора подключения и уникального ключа для "
-"каждого узла. В случае, если этот профиль будет активирован на нескольких "
-"устройствах, можно посоветовать включить в stable-id описатели \"${DEVICE}\" "
-"или \"${MAC}\". Таким образом, адрес канального уровня «stable-ll» и «stable-"
-"llt» будет созданным адресом, полученным на базе стабильного id. Значение "
-"времени DUID-LLT в опции «stable-llt» будет выбрано из статического временно́го "
-"интервала в три года (верхняя граница интервала — это та же самая постоянная "
-"временная метка, что и используемая в «llt»). Если параметр не настроен, "
-"используется глобальное значение для «ipv6.dhcp-duid». Если глобальное "
-"значение не настроено, предполагается значение по умолчанию «lease»."
+"другой клиент dhcp, глобальный и постоянный DUID-UUID (RFC 6355) будет "
+"создан на основе идентификатора машины. Специальные значения «llt» и «ll» "
+"будут создавать DUID типа LLT или LL (см. RFC 3315) на основе текущего MAC-"
+"адреса устройства. Чтобы попытаться предоставить стабильный DUID-LLT, поле "
+"времени будет содержать постоянную метку времени, которая используется "
+"глобально (для всех профилей) и сохраняется на диске. Специальные значения "
+"«stable-llt», «stable-ll» и «stable-uuid» будут создавать DUID "
+"соответствующего типа, полученные из стабильного идентификатора подключения "
+"и уникального ключа для каждого узла. В случае, если этот профиль будет "
+"активирован на нескольких устройствах, можно посоветовать включить в stable-"
+"id описатели \"${DEVICE}\" или \"${MAC}\". Таким образом, адрес канального "
+"уровня «stable-ll» и «stable-llt» будет созданным адресом, полученным на "
+"базе стабильного id. Значение времени DUID-LLT в опции «stable-llt» будет "
+"выбрано из статического временно́го интервала в три года (верхняя граница "
+"интервала — это та же самая постоянная временная метка, что и используемая в "
+"«llt»). Если параметр не настроен, используется глобальное значение для "
+"«ipv6.dhcp-duid». Если глобальное значение не настроено, предполагается "
+"значение по умолчанию «lease»."
-#: src/libnmc-setting/settings-docs.h.in:198
+#: src/libnmc-setting/settings-docs.h.in:199
msgid ""
"A IPv6 address followed by a slash and a prefix length. If set, the value is "
-"sent to the DHCPv6 server as hint indicating the prefix delegation (IA_PD) we "
-"want to receive. To only hint a prefix length without prefix, set the address "
-"part to the zero address (for example \"::/60\")."
+"sent to the DHCPv6 server as hint indicating the prefix delegation (IA_PD) "
+"we want to receive. To only hint a prefix length without prefix, set the "
+"address part to the zero address (for example \"::/60\")."
msgstr ""
"IPv6-адрес, за которым следует косая черта и длина префикса. Если значение "
-"установлено, оно отправляется серверу DHCPv6 в качестве подсказки, указывающей "
-"на делегирование префикса (IA_PD), который мы хотим получить. Чтобы указать "
-"только длину префикса без префикса, установите часть адреса на нулевой адрес "
-"(например, \"::/60\")."
+"установлено, оно отправляется серверу DHCPv6 в качестве подсказки, "
+"указывающей на делегирование префикса (IA_PD), который мы хотим получить. "
+"Чтобы указать только длину префикса без префикса, установите часть адреса на "
+"нулевой адрес (например, \"::/60\")."
-#: src/libnmc-setting/settings-docs.h.in:203
+#: src/libnmc-setting/settings-docs.h.in:204
msgid ""
"DNS options for /etc/resolv.conf as described in resolv.conf(5) manual. The "
-"currently supported options are \"attempts\", \"debug\", \"edns0\", \"ndots\", "
-"\"no-aaaa\", \"no-check-names\", \"no-reload\", \"no-tld-query\", \"rotate\", "
-"\"single-request\", \"single-request-reopen\", \"timeout\", \"trust-ad\", "
-"\"use-vc\" and \"inet6\", \"ip6-bytestring\", \"ip6-dotint\", \"no-ip6-"
-"dotint\". See the resolv.conf(5) manual. Note that there is a distinction "
-"between an unset (default) list and an empty list. In nmcli, to unset the list "
-"set the value to \"\". To set an empty list, set it to \" \". Currently, an "
-"unset list has the same meaning as an empty list. That might change in the "
-"future. The \"trust-ad\" setting is only honored if the profile contributes "
-"name servers to resolv.conf, and if all contributing profiles have \"trust-"
-"ad\" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in "
-"NetworkManager.conf) then \"edns0\" and \"trust-ad\" are automatically added. "
-"The valid \"ipv4.dns-options\" and \"ipv6.dns-options\" get merged together."
+"currently supported options are \"attempts\", \"debug\", \"edns0\", "
+"\"ndots\", \"no-aaaa\", \"no-check-names\", \"no-reload\", \"no-tld-query\", "
+"\"rotate\", \"single-request\", \"single-request-reopen\", \"timeout\", "
+"\"trust-ad\", \"use-vc\" and \"inet6\", \"ip6-bytestring\", \"ip6-dotint\", "
+"\"no-ip6-dotint\". See the resolv.conf(5) manual. Note that there is a "
+"distinction between an unset (default) list and an empty list. In nmcli, to "
+"unset the list set the value to \"\". To set an empty list, set it to \" \". "
+"Currently, an unset list has the same meaning as an empty list. That might "
+"change in the future. The \"trust-ad\" setting is only honored if the "
+"profile contributes name servers to resolv.conf, and if all contributing "
+"profiles have \"trust-ad\" enabled. When using a caching DNS plugin (dnsmasq "
+"or systemd-resolved in NetworkManager.conf) then \"edns0\" and \"trust-ad\" "
+"are automatically added. The valid \"ipv4.dns-options\" and \"ipv6.dns-"
+"options\" get merged together."
msgstr ""
"Параметры DNS для файла /etc/resolv.conf, описанные в руководстве resolv."
"conf(5). В настоящее время поддерживаются следующие опции: \"attempts\", "
@@ -8690,38 +8794,39 @@ msgstr ""
"reload\", \"no-tld-query\", \"rotate\", \"single-request\", \"single-request-"
"reopen\", \"timeout\", \"trust-ad\", \"use-vc\" и \"inet6\", \"ip6-"
"bytestring\", \"ip6-dotint\", \"no-ip6-dotint\". См. руководство по resolv."
-"conf(5). Обратите внимание, что существует различие между неустановленным (по "
-"умолчанию) списком и пустым списком. В nmcli для отмены установки списка "
-"установите значение \"\". Чтобы установить пустой список, установите значение "
-"\" \". В настоящее время список без установки имеет то же значение, что и "
-"пустой список. В будущем это может измениться. Настройка \"trust-ad\" "
+"conf(5). Обратите внимание, что существует различие между неустановленным "
+"(по умолчанию) списком и пустым списком. В nmcli для отмены установки списка "
+"установите значение \"\". Чтобы установить пустой список, установите "
+"значение \" \". В настоящее время список без установки имеет то же значение, "
+"что и пустой список. В будущем это может измениться. Настройка \"trust-ad\" "
"выполняется только в том случае, если профиль вносит имена серверов в resolv."
"conf, а также если у всех профилей, вносящих имена, включена опция \"trust-"
-"ad\". При использовании кэширующего DNS-плагина (dnsmasq или systemd-resolved "
-"в NetworkManager.conf) параметры \"edns0\" и \"trust-ad\" добавляются "
-"автоматически. Действительные \"ipv4.dns-options\" и \"ipv6.dns-options\" "
-"объединяются вместе."
+"ad\". При использовании кэширующего DNS-плагина (dnsmasq или systemd-"
+"resolved в NetworkManager.conf) параметры \"edns0\" и \"trust-ad\" "
+"добавляются автоматически. Действительные \"ipv4.dns-options\" и \"ipv6.dns-"
+"options\" объединяются вместе."
-#: src/libnmc-setting/settings-docs.h.in:209
+#: src/libnmc-setting/settings-docs.h.in:210
msgid ""
"Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941. If "
-"enabled, it makes the kernel generate a temporary IPv6 address in addition to "
-"the public one generated from MAC address via modified EUI-64. This enhances "
-"privacy, but could cause problems in some applications, on the other hand. "
-"The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public "
-"address), 2: enabled (prefer temporary addresses). Having a per-connection "
-"setting set to \"-1\" (unknown) means fallback to global configuration \"ipv6."
-"ip6-privacy\". If also global configuration is unspecified or set to \"-1\", "
-"fallback to read \"/proc/sys/net/ipv6/conf/default/use_tempaddr\". Note that "
-"this setting is distinct from the Stable Privacy addresses that can be enabled "
-"with the \"addr-gen-mode\" property's \"stable-privacy\" setting as another "
-"way of avoiding host tracking with IPv6 addresses."
+"enabled, it makes the kernel generate a temporary IPv6 address in addition "
+"to the public one generated from MAC address via modified EUI-64. This "
+"enhances privacy, but could cause problems in some applications, on the "
+"other hand. The permitted values are: -1: unknown, 0: disabled, 1: enabled "
+"(prefer public address), 2: enabled (prefer temporary addresses). Having a "
+"per-connection setting set to \"-1\" (unknown) means fallback to global "
+"configuration \"ipv6.ip6-privacy\". If also global configuration is "
+"unspecified or set to \"-1\", fallback to read \"/proc/sys/net/ipv6/conf/"
+"default/use_tempaddr\". Note that this setting is distinct from the Stable "
+"Privacy addresses that can be enabled with the \"addr-gen-mode\" property's "
+"\"stable-privacy\" setting as another way of avoiding host tracking with "
+"IPv6 addresses."
msgstr ""
"Настройте расширения конфиденциальности IPv6 для SLAAC, описанные в "
"спецификации RFC4941. Если включено, это заставляет ядро создавать временный "
"IPv6-адрес в дополнение к общедоступному, созданному с MAC-адреса, через "
-"измененный EUI-64. Это повышает конфиденциальность, но может вызвать проблемы "
-"в некоторых приложениях, с другой стороны. Допустимые значения: -1: "
+"измененный EUI-64. Это повышает конфиденциальность, но может вызвать "
+"проблемы в некоторых приложениях, с другой стороны. Допустимые значения: -1: "
"неизвестно, 0: отключено, 1: включено (предпочитают публичный адрес), 2: "
"включено (предпочитают временные адреса). Если для каждого подключения "
"установлено значение «-1» (неизвестно), это означает возврат к глобальной "
@@ -8732,11 +8837,11 @@ msgstr ""
"параметра \"stable-privacy\" свойства «addr-gen-mode», как еще один способ "
"избежать отслеживания хостов с IPv6-адресами."
-#: src/libnmc-setting/settings-docs.h.in:211
+#: src/libnmc-setting/settings-docs.h.in:212
msgid "The IPv6 connection method."
msgstr "Метод подключения по протоколу IPv6."
-#: src/libnmc-setting/settings-docs.h.in:212
+#: src/libnmc-setting/settings-docs.h.in:213
msgid ""
"Maximum transmission unit size, in bytes. If zero (the default), the MTU is "
"set automatically from router advertisements or is left equal to the link-"
@@ -8749,12 +8854,12 @@ msgstr ""
"канального уровня, либо превышает нулевое значение, но не превышает мин. "
"значения IPv6 MTU в 1280, то это значение ни на что не влияет."
-#: src/libnmc-setting/settings-docs.h.in:214
+#: src/libnmc-setting/settings-docs.h.in:215
msgid ""
-"A timeout for waiting Router Advertisements in seconds. If zero (the default), "
-"a globally configured default is used. If still unspecified, the timeout "
-"depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for "
-"infinity."
+"A timeout for waiting Router Advertisements in seconds. If zero (the "
+"default), a globally configured default is used. If still unspecified, the "
+"timeout depends on the sysctl settings of the device. Set to 2147483647 "
+"(MAXINT32) for infinity."
msgstr ""
"Истечение времени ожидания объявления маршрутизатора, в секундах. В случае "
"нулевого значения (по умолчанию) используется глобально настроенное значение "
@@ -8762,26 +8867,26 @@ msgstr ""
"ожидания зависит от параметров sysctl устройства. Для бесконечного времени "
"ожидания укажите 2147483647 (MAXINT32)."
-#: src/libnmc-setting/settings-docs.h.in:219
+#: src/libnmc-setting/settings-docs.h.in:220
msgid "Array of IP routes."
msgstr "Массив маршрутов IP."
-#: src/libnmc-setting/settings-docs.h.in:221
+#: src/libnmc-setting/settings-docs.h.in:222
msgid ""
"Configure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 "
"tokenized interface identifiers. Useful with eui64 addr-gen-mode. When set, "
"the token is used as IPv6 interface identifier instead of the hardware "
-"address. This only applies to addresses from stateless autoconfiguration, not "
-"to IPv6 link local addresses."
+"address. This only applies to addresses from stateless autoconfiguration, "
+"not to IPv6 link local addresses."
msgstr ""
"Настройка токена для draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 "
-"токенизированных идентификаторов интерфейсов. Используется в режиме eui64 addr-"
-"gen-mode. Если установлено, токен используется в качестве идентификатора "
-"интерфейса IPv6 вместо аппаратного адреса. Это применимо только к адресам из "
-"автоконфигурации без статического изменения, но не к локальным адресам "
-"соединения IPv6."
+"токенизированных идентификаторов интерфейсов. Используется в режиме eui64 "
+"addr-gen-mode. Если установлено, токен используется в качестве "
+"идентификатора интерфейса IPv6 вместо аппаратного адреса. Это применимо "
+"только к адресам из автоконфигурации без статического изменения, но не к "
+"локальным адресам соединения IPv6."
-#: src/libnmc-setting/settings-docs.h.in:222
+#: src/libnmc-setting/settings-docs.h.in:223
msgid ""
"How many additional levels of encapsulation are permitted to be prepended to "
"packets. This property applies only to IPv6 tunnels. To disable this option, "
@@ -8791,27 +8896,27 @@ msgstr ""
"пакета. Это свойство применяется только к туннелям IPv6. Чтобы отключить эту "
"опцию, добавьте 0x1 (ip6-ign-encap-limit) к флагам ip-tunnel."
-#: src/libnmc-setting/settings-docs.h.in:223
+#: src/libnmc-setting/settings-docs.h.in:224
msgid ""
"Tunnel flags. Currently, the following values are supported: 0x1 (ip6-ign-"
"encap-limit), 0x2 (ip6-use-orig-tclass), 0x4 (ip6-use-orig-flowlabel), 0x8 "
-"(ip6-mip6-dev), 0x10 (ip6-rcv-dscp-copy) and 0x20 (ip6-use-orig-fwmark). They "
-"are valid only for IPv6 tunnels."
+"(ip6-mip6-dev), 0x10 (ip6-rcv-dscp-copy) and 0x20 (ip6-use-orig-fwmark). "
+"They are valid only for IPv6 tunnels."
msgstr ""
"Флаги туннеля. В настоящее время поддерживаются следующие значения: 0x1 (ip6-"
-"ign-encap-limit), 0x2 (ip6-use-orig-tclass), 0x4 (ip6-use-orig-flowlabel), 0x8 "
-"(ip6-mip6-dev), 0x10 (ip6-rcv-dscp-copy) и 0x20 (ip6-use-orig-fwmark). Они "
-"действительны только для туннелей IPv6."
+"ign-encap-limit), 0x2 (ip6-use-orig-tclass), 0x4 (ip6-use-orig-flowlabel), "
+"0x8 (ip6-mip6-dev), 0x10 (ip6-rcv-dscp-copy) и 0x20 (ip6-use-orig-fwmark). "
+"Они действительны только для туннелей IPv6."
-#: src/libnmc-setting/settings-docs.h.in:224
+#: src/libnmc-setting/settings-docs.h.in:225
msgid ""
-"The flow label to assign to tunnel packets. This property applies only to IPv6 "
-"tunnels."
+"The flow label to assign to tunnel packets. This property applies only to "
+"IPv6 tunnels."
msgstr ""
"Метка потока для назначения туннельным пакетам. Это свойство применяется "
"только к туннелям IPv6."
-#: src/libnmc-setting/settings-docs.h.in:225
+#: src/libnmc-setting/settings-docs.h.in:226
msgid ""
"The fwmark value to assign to tunnel packets. This property can be set to a "
"non zero value only on VTI and VTI6 tunnels."
@@ -8819,16 +8924,16 @@ msgstr ""
"Значение fwmark, назначаемое тоннельным пакетам. Значение данного параметра, "
"не равное нулю, можно указывать только для тоннелей VTI и VTI6."
-#: src/libnmc-setting/settings-docs.h.in:226
+#: src/libnmc-setting/settings-docs.h.in:227
msgid ""
-"The key used for tunnel input packets; the property is valid only for certain "
-"tunnel modes (GRE, IP6GRE). If empty, no key is used."
+"The key used for tunnel input packets; the property is valid only for "
+"certain tunnel modes (GRE, IP6GRE). If empty, no key is used."
msgstr ""
-"Ключ, используемый для входящих пакетов туннеля; свойство действует только для "
-"определённых туннельных режимов (GRE, IP6GRE). Если значение отсутствует, "
-"ключи не используются."
+"Ключ, используемый для входящих пакетов туннеля; свойство действует только "
+"для определённых туннельных режимов (GRE, IP6GRE). Если значение "
+"отсутствует, ключи не используются."
-#: src/libnmc-setting/settings-docs.h.in:227
+#: src/libnmc-setting/settings-docs.h.in:228
msgid ""
"The local endpoint of the tunnel; the value can be empty, otherwise it must "
"contain an IPv4 or IPv6 address."
@@ -8836,34 +8941,35 @@ msgstr ""
"Локальная конечная точка туннеля; значение может быть пустым, в противном "
"случае оно должно содержать адрес IPv4 или IPv6."
-#: src/libnmc-setting/settings-docs.h.in:228
+#: src/libnmc-setting/settings-docs.h.in:229
msgid ""
-"The tunneling mode. Valid values: ipip (1), gre (2), sit (3), isatap (4), vti "
-"(5), ip6ip6 (6), ipip6 (7), ip6gre (8), vti6 (9), gretap (10) and ip6gretap "
-"(11)"
-msgstr ""
-"Режим туннелирования. Допустимые значения: ipip (1), gre (2), sit (3), isatap "
-"(4), vti (5), ip6ip6 (6), ipip6 (7), ip6gre (8), vti6 (9), gretap (10) и "
+"The tunneling mode. Valid values: ipip (1), gre (2), sit (3), isatap (4), "
+"vti (5), ip6ip6 (6), ipip6 (7), ip6gre (8), vti6 (9), gretap (10) and "
"ip6gretap (11)"
+msgstr ""
+"Режим туннелирования. Допустимые значения: ipip (1), gre (2), sit (3), "
+"isatap (4), vti (5), ip6ip6 (6), ipip6 (7), ip6gre (8), vti6 (9), gretap "
+"(10) и ip6gretap (11)"
-#: src/libnmc-setting/settings-docs.h.in:229
+#: src/libnmc-setting/settings-docs.h.in:230
msgid ""
-"If non-zero, only transmit packets of the specified size or smaller, breaking "
-"larger packets up into multiple fragments."
+"If non-zero, only transmit packets of the specified size or smaller, "
+"breaking larger packets up into multiple fragments."
msgstr ""
"При значении, отличном от нуля, будут передаваться пакеты только указанного "
-"или меньшего размера. Более крупные пакеты разбиваются на несколько фрагментов."
+"или меньшего размера. Более крупные пакеты разбиваются на несколько "
+"фрагментов."
-#: src/libnmc-setting/settings-docs.h.in:230
+#: src/libnmc-setting/settings-docs.h.in:231
msgid ""
-"The key used for tunnel output packets; the property is valid only for certain "
-"tunnel modes (GRE, IP6GRE). If empty, no key is used."
+"The key used for tunnel output packets; the property is valid only for "
+"certain tunnel modes (GRE, IP6GRE). If empty, no key is used."
msgstr ""
"Ключ, используемый для исходящих пакетов туннеля; свойство действует только "
-"для определённых туннельных режимов (GRE, IP6GRE). Если значение отсутствует, "
-"ключи не используются."
+"для определённых туннельных режимов (GRE, IP6GRE). Если значение "
+"отсутствует, ключи не используются."
-#: src/libnmc-setting/settings-docs.h.in:231
+#: src/libnmc-setting/settings-docs.h.in:232
msgid ""
"If given, specifies the parent interface name or parent connection UUID the "
"new device will be bound to so that tunneled packets will only be routed via "
@@ -8873,11 +8979,11 @@ msgstr ""
"подключения, с которым будет объединено новое устройство, чтобы маршрут "
"туннелируемых пакетов проходил только через этот интерфейс."
-#: src/libnmc-setting/settings-docs.h.in:232
+#: src/libnmc-setting/settings-docs.h.in:233
msgid "Whether to enable Path MTU Discovery on this tunnel."
msgstr "Включить ли обнаружение пути MTU в этом туннеле."
-#: src/libnmc-setting/settings-docs.h.in:233
+#: src/libnmc-setting/settings-docs.h.in:234
msgid ""
"The remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 "
"address."
@@ -8885,27 +8991,28 @@ msgstr ""
"Удалённая конечная точка туннеля; значение должно содержать адрес IPv4 или "
"IPv6."
-#: src/libnmc-setting/settings-docs.h.in:234
+#: src/libnmc-setting/settings-docs.h.in:235
msgid ""
-"The type of service (IPv4) or traffic class (IPv6) field to be set on tunneled "
-"packets."
+"The type of service (IPv4) or traffic class (IPv6) field to be set on "
+"tunneled packets."
msgstr ""
"Тип сервиса (IPv4) или класс трафика (IPv6), который должен быть установлен "
"для туннелированных пакетов."
-#: src/libnmc-setting/settings-docs.h.in:235
+#: src/libnmc-setting/settings-docs.h.in:236
msgid ""
"The TTL to assign to tunneled packets. 0 is a special value meaning that "
"packets inherit the TTL value."
msgstr ""
-"Время жизни (TTL), назначаемое туннелированным пакетам. 0 является специальным "
-"значением, означающим, что значение TTL пакетов является наследуемым."
+"Время жизни (TTL), назначаемое туннелированным пакетам. 0 является "
+"специальным значением, означающим, что значение TTL пакетов является "
+"наследуемым."
-#: src/libnmc-setting/settings-docs.h.in:236
+#: src/libnmc-setting/settings-docs.h.in:237
msgid "Whether the transmitted traffic must be encrypted."
msgstr "Необходимо ли шифровать передаваемый трафик."
-#: src/libnmc-setting/settings-docs.h.in:237
+#: src/libnmc-setting/settings-docs.h.in:238
msgid ""
"The pre-shared CAK (Connectivity Association Key) for MACsec Key Agreement. "
"Must be a string of 32 hexadecimal characters."
@@ -8914,21 +9021,21 @@ msgstr ""
"ключах MACsec. Должен представлять собой строку из 32 шестнадцатеричных "
"символов."
-#: src/libnmc-setting/settings-docs.h.in:238
+#: src/libnmc-setting/settings-docs.h.in:239
msgid "Flags indicating how to handle the \"mka-cak\" property."
msgstr "Флаги, указывающие, как нужно обрабатывать свойство «mka-cak»."
-#: src/libnmc-setting/settings-docs.h.in:239
+#: src/libnmc-setting/settings-docs.h.in:240
msgid ""
"The pre-shared CKN (Connectivity-association Key Name) for MACsec Key "
"Agreement. Must be a string of hexadecimal characters with a even length "
"between 2 and 64."
msgstr ""
"Предварительный общий CKN (ключ ассоциации подключения) для соглашения о "
-"ключах MACsec. Должен представлять собой строку из шестнадцатеричных символов "
-"чётной длины от 2 до 64."
+"ключах MACsec. Должен представлять собой строку из шестнадцатеричных "
+"символов чётной длины от 2 до 64."
-#: src/libnmc-setting/settings-docs.h.in:240
+#: src/libnmc-setting/settings-docs.h.in:241
msgid ""
"Specifies how the CAK (Connectivity Association Key) for MKA (MACsec Key "
"Agreement) is obtained."
@@ -8936,92 +9043,94 @@ msgstr ""
"Определяет способ получения CAK (ключ ассоциации подключения) для MKA "
"(соглашение о ключах MACsec)."
-#: src/libnmc-setting/settings-docs.h.in:241
+#: src/libnmc-setting/settings-docs.h.in:242
msgid ""
"If given, specifies the parent interface name or parent connection UUID from "
"which this MACSEC interface should be created. If this property is not "
"specified, the connection must contain an \"802-3-ethernet\" setting with a "
"\"mac-address\" property."
msgstr ""
-"Если значение указано, то оно определяет имя интерфейса или UUID родительского "
-"подключения, на базе которого должен быть создан данный интерфейс MACSEC. Если "
-"свойство не определено, то подключение должно иметь параметр \"802-3-"
-"ethernet\" со свойством \"mac-address\"."
+"Если значение указано, то оно определяет имя интерфейса или UUID "
+"родительского подключения, на базе которого должен быть создан данный "
+"интерфейс MACSEC. Если свойство не определено, то подключение должно иметь "
+"параметр \"802-3-ethernet\" со свойством \"mac-address\"."
-#: src/libnmc-setting/settings-docs.h.in:242
+#: src/libnmc-setting/settings-docs.h.in:243
msgid ""
-"The port component of the SCI (Secure Channel Identifier), between 1 and 65534."
+"The port component of the SCI (Secure Channel Identifier), between 1 and "
+"65534."
msgstr ""
"Компонент порта идентификатора защищённого канала (SCI), значение от 1 и до "
"65534."
-#: src/libnmc-setting/settings-docs.h.in:243
+#: src/libnmc-setting/settings-docs.h.in:244
msgid ""
"Specifies whether the SCI (Secure Channel Identifier) is included in every "
"packet."
msgstr ""
-"Указывает, будет ли идентификатор защищённого канала (SCI) включаться ​​в каждый "
-"пакет."
+"Указывает, будет ли идентификатор защищённого канала (SCI) включаться ​​в "
+"каждый пакет."
-#: src/libnmc-setting/settings-docs.h.in:244
+#: src/libnmc-setting/settings-docs.h.in:245
msgid "Specifies the validation mode for incoming frames."
msgstr "Определяет режим проверки для входящих кадров."
-#: src/libnmc-setting/settings-docs.h.in:245
+#: src/libnmc-setting/settings-docs.h.in:246
msgid ""
-"The macvlan mode, which specifies the communication mechanism between multiple "
-"macvlans on the same lower device."
+"The macvlan mode, which specifies the communication mechanism between "
+"multiple macvlans on the same lower device."
msgstr ""
-"Режим macvlan, который определяет механизм связи между несколькими macvlan на "
-"одном и том же нижнем устройстве."
+"Режим macvlan, который определяет механизм связи между несколькими macvlan "
+"на одном и том же нижнем устройстве."
-#: src/libnmc-setting/settings-docs.h.in:246
+#: src/libnmc-setting/settings-docs.h.in:247
msgid ""
"If given, specifies the parent interface name or parent connection UUID from "
"which this MAC-VLAN interface should be created. If this property is not "
"specified, the connection must contain an \"802-3-ethernet\" setting with a "
"\"mac-address\" property."
msgstr ""
-"Если значение указано, то оно определяет имя интерфейса или UUID родительского "
-"подключения, на базе которого должен быть создан данный интерфейс MAC-VLAN. "
-"Если свойство не определено, то подключение должно иметь параметр \"802-3-"
-"ethernet\" со свойством \"mac-address\"."
+"Если значение указано, то оно определяет имя интерфейса или UUID "
+"родительского подключения, на базе которого должен быть создан данный "
+"интерфейс MAC-VLAN. Если свойство не определено, то подключение должно иметь "
+"параметр \"802-3-ethernet\" со свойством \"mac-address\"."
-#: src/libnmc-setting/settings-docs.h.in:247
+#: src/libnmc-setting/settings-docs.h.in:248
msgid "Whether the interface should be put in promiscuous mode."
msgstr "Должен ли интерфейс быть помещен в неизбирательный режим."
-#: src/libnmc-setting/settings-docs.h.in:248
+#: src/libnmc-setting/settings-docs.h.in:249
msgid "Whether the interface should be a MACVTAP."
msgstr "Должен ли интерфейс использовать MACVTAP."
-#: src/libnmc-setting/settings-docs.h.in:249
+#: src/libnmc-setting/settings-docs.h.in:250
msgid ""
-"A list of driver names to match. Each element is a shell wildcard pattern. See "
-"NMSettingMatch:interface-name for how special characters '|', '&', '!' and "
-"'\\' are used for optional and mandatory matches and inverting the pattern."
+"A list of driver names to match. Each element is a shell wildcard pattern. "
+"See NMSettingMatch:interface-name for how special characters '|', '&', '!' "
+"and '\\' are used for optional and mandatory matches and inverting the "
+"pattern."
msgstr ""
"Список названий драйверов для сопоставлений. Каждый элемент списка "
"представляет собой шаблон shell с подстановочными символами. Сведения о том, "
-"как специальные символы '|', '&', '!' и '\\' используются для дополнительных "
-"и обязательных совпадений, а также об инвертировании шаблонов ищите в "
-"NMSettingMatch:interface-name."
+"как специальные символы '|', '&', '!' и '\\' используются для "
+"дополнительных и обязательных совпадений, а также об инвертировании шаблонов "
+"ищите в NMSettingMatch:interface-name."
-#: src/libnmc-setting/settings-docs.h.in:250
+#: src/libnmc-setting/settings-docs.h.in:251
msgid ""
-"A list of interface names to match. Each element is a shell wildcard pattern. "
-"An element can be prefixed with a pipe symbol (|) or an ampersand (&). The "
-"former means that the element is optional and the latter means that it is "
-"mandatory. If there are any optional elements, than the match evaluates to "
-"true if at least one of the optional element matches (logical OR). If there "
-"are any mandatory elements, then they all must match (logical AND). By "
-"default, an element is optional. This means that an element \"foo\" behaves "
-"the same as \"|foo\". An element can also be inverted with exclamation mark "
-"(!) between the pipe symbol (or the ampersand) and before the pattern. Note "
-"that \"!foo\" is a shortcut for the mandatory match \"&!foo\". Finally, a "
-"backslash can be used at the beginning of the element (after the optional "
-"special characters) to escape the start of the pattern. For example, \"&\\!a\" "
-"is an mandatory match for literally \"!a\"."
+"A list of interface names to match. Each element is a shell wildcard "
+"pattern. An element can be prefixed with a pipe symbol (|) or an ampersand "
+"(&). The former means that the element is optional and the latter means that "
+"it is mandatory. If there are any optional elements, than the match "
+"evaluates to true if at least one of the optional element matches (logical "
+"OR). If there are any mandatory elements, then they all must match (logical "
+"AND). By default, an element is optional. This means that an element \"foo\" "
+"behaves the same as \"|foo\". An element can also be inverted with "
+"exclamation mark (!) between the pipe symbol (or the ampersand) and before "
+"the pattern. Note that \"!foo\" is a shortcut for the mandatory match \"&!"
+"foo\". Finally, a backslash can be used at the beginning of the element "
+"(after the optional special characters) to escape the start of the pattern. "
+"For example, \"&\\!a\" is an mandatory match for literally \"!a\"."
msgstr ""
"Список имён интерфейсов для сравнения. Каждый элемент списка представляет "
"собой шаблон shell с подстановочными символами. Перед элементом может идти "
@@ -9033,71 +9142,71 @@ msgstr ""
"для всех элементов (логическое И). По умолчанию, элемент считается "
"необязательным. Это означает, что элемент \"foo\" ведёт себя так же, как и "
"элемент \"|foo\". Элемент можно инвертировать с помощью символа "
-"восклицательного знака (!) между символом вертикальной черты (или амперсанда) "
-"и перед шаблоном. Обратите внимание, что \"!foo\" представляет собой краткую "
-"форму обязательного совпадения \"&!foo\". И наконец, в начале элемента может "
-"использоваться обратная косая черта (после необязательного специального "
-"символа) для зеркалирования начала шаблона. Например: \"&\\!a\" является "
-"обязательным совпадением для буквального \"!a\"."
+"восклицательного знака (!) между символом вертикальной черты (или "
+"амперсанда) и перед шаблоном. Обратите внимание, что \"!foo\" представляет "
+"собой краткую форму обязательного совпадения \"&!foo\". И наконец, в начале "
+"элемента может использоваться обратная косая черта (после необязательного "
+"специального символа) для зеркалирования начала шаблона. Например: \"&\\!a\" "
+"является обязательным совпадением для буквального \"!a\"."
-#: src/libnmc-setting/settings-docs.h.in:251
+#: src/libnmc-setting/settings-docs.h.in:252
msgid ""
"A list of kernel command line arguments to match. This may be used to check "
"whether a specific kernel command line option is set (or unset, if prefixed "
"with the exclamation mark). The argument must either be a single word, or an "
"assignment (i.e. two words, joined by \"=\"). In the former case the kernel "
-"command line is searched for the word appearing as is, or as left hand side of "
-"an assignment. In the latter case, the exact assignment is looked for with "
-"right and left hand side matching. Wildcard patterns are not supported. See "
-"NMSettingMatch:interface-name for how special characters '|', '&', '!' and "
-"'\\' are used for optional and mandatory matches and inverting the match."
-msgstr ""
-"Список аргументов командной строки для сопоставлений. Может использоваться для "
-"проверки, установлена ли конкретная команда (или не установлена, если вначале "
-"идёт префикс в виде восклицательного знака). Аргументом должно быть одно "
-"слово, либо присвоение (например, два слова, объединённые знаком равенства "
-"«=»). В первом случае в командной строке ядра выполняется поиск слова в том "
-"виде, как оно присутствует в строке, либо как левая часть присвоения. Во "
-"втором случае ищется точное присвоение с совпадающими левой и правой сторонами "
-"присвоения. Шаблоны с подстановочными символами не поддерживаются. Сведения о "
-"том, как специальные символы '|', '&', '!' и '\\' используются для "
-"дополнительных и обязательных совпадений, а также об инвертировании совпадений "
-"ищите в NMSettingMatch:interface-name."
+"command line is searched for the word appearing as is, or as left hand side "
+"of an assignment. In the latter case, the exact assignment is looked for "
+"with right and left hand side matching. Wildcard patterns are not supported. "
+"See NMSettingMatch:interface-name for how special characters '|', '&', '!' "
+"and '\\' are used for optional and mandatory matches and inverting the match."
+msgstr ""
+"Список аргументов командной строки для сопоставлений. Может использоваться "
+"для проверки, установлена ли конкретная команда (или не установлена, если "
+"вначале идёт префикс в виде восклицательного знака). Аргументом должно быть "
+"одно слово, либо присвоение (например, два слова, объединённые знаком "
+"равенства «=»). В первом случае в командной строке ядра выполняется поиск "
+"слова в том виде, как оно присутствует в строке, либо как левая часть "
+"присвоения. Во втором случае ищется точное присвоение с совпадающими левой и "
+"правой сторонами присвоения. Шаблоны с подстановочными символами не "
+"поддерживаются. Сведения о том, как специальные символы '|', '&', '!' и "
+"'\\' используются для дополнительных и обязательных совпадений, а также об "
+"инвертировании совпадений ищите в NMSettingMatch:interface-name."
-#: src/libnmc-setting/settings-docs.h.in:252
+#: src/libnmc-setting/settings-docs.h.in:253
msgid ""
-"A list of paths to match against the ID_PATH udev property of devices. ID_PATH "
-"represents the topological persistent path of a device. It typically contains "
-"a subsystem string (pci, usb, platform, etc.) and a subsystem-specific "
-"identifier. For PCI devices the path has the form \"pci-$domain:$bus:$device."
-"$function\", where each variable is an hexadecimal value; for example "
-"\"pci-0000:0a:00.0\". The path of a device can be obtained with \"udevadm "
-"info /sys/class/net/$dev | grep ID_PATH=\" or by looking at the \"path\" "
-"property exported by NetworkManager (\"nmcli -f general.path device show "
-"$dev\"). Each element of the list is a shell wildcard pattern. See "
+"A list of paths to match against the ID_PATH udev property of devices. "
+"ID_PATH represents the topological persistent path of a device. It typically "
+"contains a subsystem string (pci, usb, platform, etc.) and a subsystem-"
+"specific identifier. For PCI devices the path has the form \"pci-$domain:"
+"$bus:$device.$function\", where each variable is an hexadecimal value; for "
+"example \"pci-0000:0a:00.0\". The path of a device can be obtained with "
+"\"udevadm info /sys/class/net/$dev | grep ID_PATH=\" or by looking at the "
+"\"path\" property exported by NetworkManager (\"nmcli -f general.path device "
+"show $dev\"). Each element of the list is a shell wildcard pattern. See "
"NMSettingMatch:interface-name for how special characters '|', '&', '!' and "
"'\\' are used for optional and mandatory matches and inverting the pattern."
msgstr ""
"Список путей, сопоставляемых со свойством udev ID_PATH устройства. ID_PATH "
"представляет собой постоянный топологический путь устройства. Он обычно "
"содержит запись о подсистеме (pci, usb, платформа и так далее), а также "
-"идентификатор подсистемы. Для устройств PCI путь имеет вид \"pci-$domain:$bus:"
-"$device.$function\", где каждая переменная имеет шестнадцатеричное значение; "
-"например, \"pci-0000:0a:00.0\". Путь до устройства можно получить с помощью "
-"\"udevadm info /sys/class/net/$dev | grep ID_PATH=\" или просмотрев свойство "
-"\"path\", экспортируемое NetworkManager (\"nmcli -f general.path device show "
-"$dev\"). Каждый элемент списка представляет собой шаблон командного "
-"интерпретатора с подстановочным символом. Сведения об инвертировании шаблонов "
-"и о том, как специальные символы '|', '&', '!' и '\\' используются для "
-"опционального и обязательного поисков, смотрите в NMSettingMatch:interface-"
-"name."
+"идентификатор подсистемы. Для устройств PCI путь имеет вид \"pci-$domain:"
+"$bus:$device.$function\", где каждая переменная имеет шестнадцатеричное "
+"значение; например, \"pci-0000:0a:00.0\". Путь до устройства можно получить "
+"с помощью \"udevadm info /sys/class/net/$dev | grep ID_PATH=\" или "
+"просмотрев свойство \"path\", экспортируемое NetworkManager (\"nmcli -f "
+"general.path device show $dev\"). Каждый элемент списка представляет собой "
+"шаблон командного интерпретатора с подстановочным символом. Сведения об "
+"инвертировании шаблонов и о том, как специальные символы '|', '&', '!' и "
+"'\\' используются для опционального и обязательного поисков, смотрите в "
+"NMSettingMatch:interface-name."
-#: src/libnmc-setting/settings-docs.h.in:253
+#: src/libnmc-setting/settings-docs.h.in:254
msgid "Channel on which the mesh network to join is located."
msgstr ""
"Канал, на котором расположена сеть mesh, к которой необходимо присоединиться."
-#: src/libnmc-setting/settings-docs.h.in:254
+#: src/libnmc-setting/settings-docs.h.in:255
msgid ""
"Anycast DHCP MAC address used when requesting an IP address via DHCP. The "
"specific anycast address used determines which DHCP server class answers the "
@@ -9108,82 +9217,82 @@ msgstr ""
"определяет, сервер DHCP какого класса отвечает на запрос. На данный момент "
"параметр реализован только в модуле dhclient DHCP."
-#: src/libnmc-setting/settings-docs.h.in:255
+#: src/libnmc-setting/settings-docs.h.in:256
msgid "SSID of the mesh network to join."
msgstr "SSID сети mesh, к которой нужно присоединиться."
-#: src/libnmc-setting/settings-docs.h.in:256
+#: src/libnmc-setting/settings-docs.h.in:257
msgid "The data path type. One of \"system\", \"netdev\" or empty."
msgstr "Тип пути данных. Один из: \"system\", \"netdev\" или пустое значение."
-#: src/libnmc-setting/settings-docs.h.in:257
+#: src/libnmc-setting/settings-docs.h.in:258
msgid "The bridge failure mode. One of \"secure\", \"standalone\" or empty."
msgstr ""
"Режим сбоя моста. Один из: \"secure\", \"standalone\" или пустое значение."
-#: src/libnmc-setting/settings-docs.h.in:258
+#: src/libnmc-setting/settings-docs.h.in:259
msgid "Enable or disable multicast snooping."
msgstr "Включение или выключение multicast snooping."
-#: src/libnmc-setting/settings-docs.h.in:259
+#: src/libnmc-setting/settings-docs.h.in:260
msgid "Enable or disable RSTP."
msgstr "Включение или выключение RSTP."
-#: src/libnmc-setting/settings-docs.h.in:260
+#: src/libnmc-setting/settings-docs.h.in:261
msgid "Enable or disable STP."
msgstr "Включение или выключение STP."
-#: src/libnmc-setting/settings-docs.h.in:261
+#: src/libnmc-setting/settings-docs.h.in:262
msgid "Open vSwitch DPDK device arguments."
msgstr "Аргументы устройства Open vSwitch DPDK."
-#: src/libnmc-setting/settings-docs.h.in:262
+#: src/libnmc-setting/settings-docs.h.in:263
msgid ""
"Open vSwitch DPDK number of rx queues. Defaults to zero which means to leave "
"the parameter in OVS unspecified and effectively configures one queue."
msgstr ""
-"Число очередей RX для Open vSwitch DPDK. По умолчанию — нуль, то есть параметр "
-"в OVS не настраивается, что по факту настраивает одну очередь."
+"Число очередей RX для Open vSwitch DPDK. По умолчанию — нуль, то есть "
+"параметр в OVS не настраивается, что по факту настраивает одну очередь."
-#: src/libnmc-setting/settings-docs.h.in:263
+#: src/libnmc-setting/settings-docs.h.in:264
msgid ""
-"The rx queue size (number of rx descriptors) for DPDK ports. Must be zero or a "
-"power of 2 between 1 and 4096, and supported by the hardware. Defaults to zero "
-"which means to leave the parameter in OVS unspecified and effectively "
+"The rx queue size (number of rx descriptors) for DPDK ports. Must be zero or "
+"a power of 2 between 1 and 4096, and supported by the hardware. Defaults to "
+"zero which means to leave the parameter in OVS unspecified and effectively "
"configures 2048 descriptors."
msgstr ""
"Размер очереди rx (число дескрипторов rx) для портов DPDK. Должен быть равен "
-"нулю, либо быть степенью 2 между 1 и 4096, а также иметь аппаратную поддержку. "
-"По умолчанию — ноль, т.е. параметр в OVS остаётся неуказанным и фактически "
-"настраивает 2048 дескрипторов."
+"нулю, либо быть степенью 2 между 1 и 4096, а также иметь аппаратную "
+"поддержку. По умолчанию — ноль, т.е. параметр в OVS остаётся неуказанным и "
+"фактически настраивает 2048 дескрипторов."
-#: src/libnmc-setting/settings-docs.h.in:264
+#: src/libnmc-setting/settings-docs.h.in:265
msgid ""
-"The tx queue size (number of tx descriptors) for DPDK ports. Must be zero or a "
-"power of 2 between 1 and 4096, and supported by the hardware. Defaults to zero "
-"which means to leave the parameter in OVS unspecified and effectively "
+"The tx queue size (number of tx descriptors) for DPDK ports. Must be zero or "
+"a power of 2 between 1 and 4096, and supported by the hardware. Defaults to "
+"zero which means to leave the parameter in OVS unspecified and effectively "
"configures 2048 descriptors."
msgstr ""
"Размер очереди tx (число дескрипторов tx) для портов DPDK. Должен быть равен "
-"нулю, либо быть степенью 2 между 1 и 4096, а также иметь аппаратную поддержку. "
-"По умолчанию — ноль, т.е. параметр в OVS остаётся неуказанным и фактически "
-"настраивает 2048 дескрипторов."
+"нулю, либо быть степенью 2 между 1 и 4096, а также иметь аппаратную "
+"поддержку. По умолчанию — ноль, т.е. параметр в OVS остаётся неуказанным и "
+"фактически настраивает 2048 дескрипторов."
-#: src/libnmc-setting/settings-docs.h.in:265
+#: src/libnmc-setting/settings-docs.h.in:266
msgid ""
"Open vSwitch openflow port number. Defaults to zero which means that port "
"number will not be specified and it will be chosen randomly by ovs. OpenFlow "
"ports are the network interfaces for passing packets between OpenFlow "
-"processing and the rest of the network. OpenFlow switches connect logically to "
-"each other via their OpenFlow ports."
+"processing and the rest of the network. OpenFlow switches connect logically "
+"to each other via their OpenFlow ports."
msgstr ""
"Номер порта для Open vSwitch openflow. По умолчанию — ноль, то есть номер "
"порта не указывается, и OVS выбирает его случайным образом. Порты OpenFlow "
"представляют собой сетевые интерфейсы для передачи пакетов в остальную сеть "
-"после обработки их в OpenFlow. Коммутаторы OpenFlow логически подключены друг "
-"к другу с помощью своих портов OpenFlow."
+"после обработки их в OpenFlow. Коммутаторы OpenFlow логически подключены "
+"друг к другу с помощью своих портов OpenFlow."
-#: src/libnmc-setting/settings-docs.h.in:266
+#: src/libnmc-setting/settings-docs.h.in:267
msgid ""
"The interface type. Either \"internal\", \"system\", \"patch\", \"dpdk\", or "
"empty."
@@ -9191,52 +9300,52 @@ msgstr ""
"Тип интерфейса. Либо \"internal\", \"system\", \"patch\", \"dpdk\", "
"\"internal\", либо пустое значение."
-#: src/libnmc-setting/settings-docs.h.in:267
+#: src/libnmc-setting/settings-docs.h.in:268
msgid ""
-"Specifies the name of the interface for the other side of the patch. The patch "
-"on the other side must also set this interface as peer."
+"Specifies the name of the interface for the other side of the patch. The "
+"patch on the other side must also set this interface as peer."
msgstr ""
"Указывает имя интерфейса для другой стороны патч-порта. Интерфейс патча на "
"другой стороне также должен быть настроен как одноранговый узел."
-#: src/libnmc-setting/settings-docs.h.in:268
+#: src/libnmc-setting/settings-docs.h.in:269
msgid "The time port must be inactive in order to be considered down."
msgstr "Чтобы считаться не запущенным, порт времени должен быть неактивным."
-#: src/libnmc-setting/settings-docs.h.in:269
+#: src/libnmc-setting/settings-docs.h.in:270
msgid ""
"Bonding mode. One of \"active-backup\", \"balance-slb\", or \"balance-tcp\"."
msgstr ""
"Режим агрегации. Один из: \"active-backup\", \"balance-slb\" или \"balance-"
"tcp\"."
-#: src/libnmc-setting/settings-docs.h.in:270
+#: src/libnmc-setting/settings-docs.h.in:271
msgid "The time port must be active before it starts forwarding traffic."
msgstr ""
"Порт времени должен быть активным до того, как он начнет перенаправление "
"трафика."
-#: src/libnmc-setting/settings-docs.h.in:271
+#: src/libnmc-setting/settings-docs.h.in:272
msgid "LACP mode. One of \"active\", \"off\", or \"passive\"."
msgstr ""
-"Режим протокола агрегирования каналов (LACP). Один из: \"active\", \"off\" или "
-"\"passive\"."
+"Режим протокола агрегирования каналов (LACP). Один из: \"active\", \"off\" "
+"или \"passive\"."
-#: src/libnmc-setting/settings-docs.h.in:272
+#: src/libnmc-setting/settings-docs.h.in:273
msgid "The VLAN tag in the range 0-4095."
msgstr "Метка VLAN в диапазоне 0-4095."
-#: src/libnmc-setting/settings-docs.h.in:273
+#: src/libnmc-setting/settings-docs.h.in:274
msgid ""
"A list of VLAN ranges that this port trunks. The property is valid only for "
-"ports with mode \"trunk\", \"native-tagged\", or \"native-untagged port\". If "
-"it is empty, the port trunks all VLANs."
+"ports with mode \"trunk\", \"native-tagged\", or \"native-untagged port\". "
+"If it is empty, the port trunks all VLANs."
msgstr ""
-"Список диапазонов VLAN, обрезаемых данным портом. Параметр действителен только "
-"для портов с режимами \"trunk\", \"native-tagged\" или \"native-untagged "
-"port\". Если значение не указано, порт обрезает все VLAN."
+"Список диапазонов VLAN, обрезаемых данным портом. Параметр действителен "
+"только для портов с режимами \"trunk\", \"native-tagged\" или \"native-"
+"untagged port\". Если значение не указано, порт обрезает все VLAN."
-#: src/libnmc-setting/settings-docs.h.in:274
+#: src/libnmc-setting/settings-docs.h.in:275
msgid ""
"The VLAN mode. One of \"access\", \"native-tagged\", \"native-untagged\", "
"\"trunk\", \"dot1q-tunnel\" or unset."
@@ -9244,118 +9353,123 @@ msgstr ""
"Режим VLAN. Один из: \"access\", \"native-tagged\", \"native-untagged\", "
"\"trunk\", \"dot1q-tunnel\", либо режим не указан."
-#: src/libnmc-setting/settings-docs.h.in:275
+#: src/libnmc-setting/settings-docs.h.in:276
msgid ""
-"If non-zero, instruct pppd to set the serial port to the specified baudrate. "
-"This value should normally be left as 0 to automatically choose the speed."
+"If non-zero, instruct pppd to set the serial port to the specified "
+"baudrate. This value should normally be left as 0 to automatically choose "
+"the speed."
msgstr ""
"При значении, отличном от нуля, передаёт pppd сведения о том, какую скорость "
"передачи (в бодах) необходимо установить на последовательном порте. Обычно "
"указывают 0, чтобы скорость была выбрана автоматически."
-#: src/libnmc-setting/settings-docs.h.in:276
+#: src/libnmc-setting/settings-docs.h.in:277
msgid ""
"If TRUE, specify that pppd should set the serial port to use hardware flow "
-"control with RTS and CTS signals. This value should normally be set to FALSE."
+"control with RTS and CTS signals. This value should normally be set to "
+"FALSE."
msgstr ""
"Если ВЕРНО, указывает pppd использовать на последовательном порте аппаратный "
"контроль потока данных с помощью сигналов RTS и CTS. Обычно здесь стоит "
"значение ЛОЖНО."
-#: src/libnmc-setting/settings-docs.h.in:277
+#: src/libnmc-setting/settings-docs.h.in:278
msgid ""
-"If non-zero, instruct pppd to presume the connection to the peer has failed if "
-"the specified number of LCP echo-requests go unanswered by the peer. The "
+"If non-zero, instruct pppd to presume the connection to the peer has failed "
+"if the specified number of LCP echo-requests go unanswered by the peer. The "
"\"lcp-echo-interval\" property must also be set to a non-zero value if this "
"property is used."
msgstr ""
-"Если значение отлично от нуля, то в случае, если одноранговый узел не ответит "
-"на указанное число эхо-запросов LCP, pppd будет считать, что подключение к "
-"пиру было прервано. При использовании данного свойства также необходимо "
-"установить отличное от нуля значение для параметра \"lcp-echo-interval\"."
+"Если значение отлично от нуля, то в случае, если одноранговый узел не "
+"ответит на указанное число эхо-запросов LCP, pppd будет считать, что "
+"подключение к пиру было прервано. При использовании данного свойства также "
+"необходимо установить отличное от нуля значение для параметра \"lcp-echo-"
+"interval\"."
-#: src/libnmc-setting/settings-docs.h.in:278
+#: src/libnmc-setting/settings-docs.h.in:279
msgid ""
-"If non-zero, instruct pppd to send an LCP echo-request frame to the peer every "
-"n seconds (where n is the specified value). Note that some PPP peers will "
-"respond to echo requests and some will not, and it is not possible to "
+"If non-zero, instruct pppd to send an LCP echo-request frame to the peer "
+"every n seconds (where n is the specified value). Note that some PPP peers "
+"will respond to echo requests and some will not, and it is not possible to "
"autodetect this."
msgstr ""
"Если ВЕРНО, указывает pppd посылать одноранговому узлу кадры эхо-запроса LCP "
-"каждые n секунд (где n — указанное значение). Обратите внимание, что некоторые "
-"одноранговые узлы PPP будут отвечать на запросы, а некоторые — не будут, и "
-"автоматически определить эти узлы невозможно."
+"каждые n секунд (где n — указанное значение). Обратите внимание, что "
+"некоторые одноранговые узлы PPP будут отвечать на запросы, а некоторые — не "
+"будут, и автоматически определить эти узлы невозможно."
-#: src/libnmc-setting/settings-docs.h.in:279
+#: src/libnmc-setting/settings-docs.h.in:280
msgid ""
"If TRUE, stateful MPPE is used. See pppd documentation for more information "
"on stateful MPPE."
msgstr ""
-"Если ВЕРНО, то используется MPPE с сохранением состояния. Подробности о MPPE с "
-"сохранением состояния смотрите в документации к pppd."
+"Если ВЕРНО, то используется MPPE с сохранением состояния. Подробности о MPPE "
+"с сохранением состояния смотрите в документации к pppd."
-#: src/libnmc-setting/settings-docs.h.in:280
+#: src/libnmc-setting/settings-docs.h.in:281
msgid ""
"If non-zero, instruct pppd to request that the peer send packets no larger "
-"than the specified size. If non-zero, the MRU should be between 128 and 16384."
+"than the specified size. If non-zero, the MRU should be between 128 and "
+"16384."
msgstr ""
"При значении, отличном от нуля, указывает pppd передать запрос о том, чтобы "
"одноранговый узел посылал пакеты, не превышающие указанный размер. При "
-"значении, отличном от нуля, значение MRU должно находиться в диапазоне от 128 "
-"до 16384."
+"значении, отличном от нуля, значение MRU должно находиться в диапазоне от "
+"128 до 16384."
-#: src/libnmc-setting/settings-docs.h.in:281
+#: src/libnmc-setting/settings-docs.h.in:282
msgid ""
"If non-zero, instruct pppd to send packets no larger than the specified size."
msgstr ""
-"При значении, отличном от нуля, указывает pppd посылать пакеты, не превышающие "
-"указанный размер."
+"При значении, отличном от нуля, указывает pppd посылать пакеты, не "
+"превышающие указанный размер."
-#: src/libnmc-setting/settings-docs.h.in:282
+#: src/libnmc-setting/settings-docs.h.in:283
msgid "If TRUE, Van Jacobsen TCP header compression will not be requested."
msgstr ""
-"Если ВЕРНО, то метод сжатия заголовков TCP Ван Якобсона не будет запрашиваться."
+"Если ВЕРНО, то метод сжатия заголовков TCP Ван Якобсона не будет "
+"запрашиваться."
-#: src/libnmc-setting/settings-docs.h.in:283
+#: src/libnmc-setting/settings-docs.h.in:284
msgid ""
"If TRUE, do not require the other side (usually the PPP server) to "
-"authenticate itself to the client. If FALSE, require authentication from the "
-"remote side. In almost all cases, this should be TRUE."
+"authenticate itself to the client. If FALSE, require authentication from "
+"the remote side. In almost all cases, this should be TRUE."
msgstr ""
"При значении ВЕРНО не требовать от другой стороны (обычно это сервер PPP) "
"аутентифицироваться клиенту. При значении ЛОЖНО — требовать от удалённой "
"стороны аутентификацию. Почти во всех случаях здесь должно указываться "
"значение ВЕРНО."
-#: src/libnmc-setting/settings-docs.h.in:284
+#: src/libnmc-setting/settings-docs.h.in:285
msgid "If TRUE, BSD compression will not be requested."
msgstr "Если ВЕРНО, сжатие BSD не будет запрашиваться."
-#: src/libnmc-setting/settings-docs.h.in:285
+#: src/libnmc-setting/settings-docs.h.in:286
msgid "If TRUE, \"deflate\" compression will not be requested."
msgstr "Если ВЕРНО, то сжатие «deflate» не будет запрашиваться."
-#: src/libnmc-setting/settings-docs.h.in:286
+#: src/libnmc-setting/settings-docs.h.in:287
msgid "If TRUE, the CHAP authentication method will not be used."
msgstr "Если ВЕРНО, метод аутентификации CHAP не будет использоваться."
-#: src/libnmc-setting/settings-docs.h.in:287
+#: src/libnmc-setting/settings-docs.h.in:288
msgid "If TRUE, the EAP authentication method will not be used."
msgstr "Если ВЕРНО, метод аутентификации EAP не будет использоваться."
-#: src/libnmc-setting/settings-docs.h.in:288
+#: src/libnmc-setting/settings-docs.h.in:289
msgid "If TRUE, the MSCHAP authentication method will not be used."
msgstr "Если ВЕРНО, метод аутентификации MSCHAP не будет использоваться."
-#: src/libnmc-setting/settings-docs.h.in:289
+#: src/libnmc-setting/settings-docs.h.in:290
msgid "If TRUE, the MSCHAPv2 authentication method will not be used."
msgstr "Если ВЕРНО, метод аутентификации MSCHAPv2 не будет использоваться."
-#: src/libnmc-setting/settings-docs.h.in:290
+#: src/libnmc-setting/settings-docs.h.in:291
msgid "If TRUE, the PAP authentication method will not be used."
msgstr "Если ВЕРНО, метод аутентификации PAP не будет использоваться."
-#: src/libnmc-setting/settings-docs.h.in:291
+#: src/libnmc-setting/settings-docs.h.in:292
msgid ""
"If TRUE, MPPE (Microsoft Point-to-Point Encryption) will be required for the "
"PPP session. If either 64-bit or 128-bit MPPE is not available the session "
@@ -9366,17 +9480,17 @@ msgstr ""
"завершится с ошибкой. Обратите внимание, что MPPE не используется для "
"мобильных широкополосных подключений."
-#: src/libnmc-setting/settings-docs.h.in:292
+#: src/libnmc-setting/settings-docs.h.in:293
msgid ""
"If TRUE, 128-bit MPPE (Microsoft Point-to-Point Encryption) will be required "
"for the PPP session, and the \"require-mppe\" property must also be set to "
"TRUE. If 128-bit MPPE is not available the session will fail."
msgstr ""
-"Если ВЕРНО, то для сеанса PPP потребуется 128-битный MPPE (Microsoft Point-to-"
-"Point Encryption), а свойство \"require-mppe\" также должно иметь значение "
-"ВЕРНО. Если 128-битный MPPE недоступен, то сеанс завершится сбоем."
+"Если ВЕРНО, то для сеанса PPP потребуется 128-битный MPPE (Microsoft Point-"
+"to-Point Encryption), а свойство \"require-mppe\" также должно иметь "
+"значение ВЕРНО. Если 128-битный MPPE недоступен, то сеанс завершится сбоем."
-#: src/libnmc-setting/settings-docs.h.in:293
+#: src/libnmc-setting/settings-docs.h.in:294
msgid ""
"If given, specifies the parent interface name on which this PPPoE connection "
"should be created. If this property is not specified, the connection is "
@@ -9388,11 +9502,11 @@ msgstr ""
"задано, подключение активируется на интерфейсе, указанном в «interface-name» "
"параметра NMSettingConnection."
-#: src/libnmc-setting/settings-docs.h.in:294
+#: src/libnmc-setting/settings-docs.h.in:295
msgid "Password used to authenticate with the PPPoE service."
msgstr "Пароль, используемый для аутентификации с помощью службы PPPoE."
-#: src/libnmc-setting/settings-docs.h.in:296
+#: src/libnmc-setting/settings-docs.h.in:297
msgid ""
"If specified, instruct PPPoE to only initiate sessions with access "
"concentrators that provide the specified service. For most providers, this "
@@ -9402,29 +9516,29 @@ msgstr ""
"Если значение задано, указывает PPPoE инициировать только те сеансы на "
"концентраторах доступа, которые предоставляют указанные службы. В случае "
"большинства поставщиков, данный параметр должен оставаться пустым. Он "
-"требуется только в случае наличия нескольких концентраторов доступа, или если "
-"известно, что потребуется конкретная служба."
+"требуется только в случае наличия нескольких концентраторов доступа, или "
+"если известно, что потребуется конкретная служба."
-#: src/libnmc-setting/settings-docs.h.in:297
+#: src/libnmc-setting/settings-docs.h.in:298
msgid "Username used to authenticate with the PPPoE service."
msgstr ""
"Имя пользователя, используемое для аутентификации с помощью службы PPPoE."
-#: src/libnmc-setting/settings-docs.h.in:298
+#: src/libnmc-setting/settings-docs.h.in:299
msgid "Whether the proxy configuration is for browser only."
msgstr "Используется ли конфигурация прокси-сервера только для браузера."
-#: src/libnmc-setting/settings-docs.h.in:299
+#: src/libnmc-setting/settings-docs.h.in:300
msgid "Method for proxy configuration, Default is \"none\" (0)"
msgstr "Способ настройки прокси-сервера, по умолчанию \"none\" (0)"
-#: src/libnmc-setting/settings-docs.h.in:300
+#: src/libnmc-setting/settings-docs.h.in:301
msgid ""
"The PAC script. In the profile this must be an UTF-8 encoded javascript code "
-"that defines a FindProxyForURL() function. When setting the property in nmcli, "
-"a filename is accepted too. In that case, nmcli will read the content of the "
-"file and set the script. The prefixes \"file://\" and \"js://\" are supported "
-"to explicitly differentiate between the two."
+"that defines a FindProxyForURL() function. When setting the property in "
+"nmcli, a filename is accepted too. In that case, nmcli will read the content "
+"of the file and set the script. The prefixes \"file://\" and \"js://\" are "
+"supported to explicitly differentiate between the two."
msgstr ""
"Сценарий PAC. В профиле он должен представлять собой код javascript в "
"кодировке UTF-8, определяющий функцию FindProxyForURL(). При настройке "
@@ -9432,11 +9546,11 @@ msgstr ""
"содержимое файла и настроит сценарий. Для явных различий между двумя "
"сценариями поддерживаются префиксы file://\" и \"js://\"."
-#: src/libnmc-setting/settings-docs.h.in:301
+#: src/libnmc-setting/settings-docs.h.in:302
msgid "PAC URL for obtaining PAC file."
msgstr "Адрес URL PAC для получения файла PAC."
-#: src/libnmc-setting/settings-docs.h.in:302
+#: src/libnmc-setting/settings-docs.h.in:303
msgid ""
"Speed to use for communication over the serial port. Note that this value "
"usually has no effect for mobile broadband modems as they generally ignore "
@@ -9447,35 +9561,36 @@ msgstr ""
"широкополосные модемы, поскольку они обычно игнорируют настройки скорости и "
"используют самую высокую доступную скорость."
-#: src/libnmc-setting/settings-docs.h.in:303
+#: src/libnmc-setting/settings-docs.h.in:304
msgid "Byte-width of the serial communication. The 8 in \"8n1\" for example."
msgstr "Байтовая ширина последовательного интерфейса. Например, 8 в «8n1»."
-#: src/libnmc-setting/settings-docs.h.in:304
+#: src/libnmc-setting/settings-docs.h.in:305
msgid "Parity setting of the serial port."
msgstr "Настройка чётности последовательного порта."
-#: src/libnmc-setting/settings-docs.h.in:305
+#: src/libnmc-setting/settings-docs.h.in:306
msgid "Time to delay between each byte sent to the modem, in microseconds."
msgstr ""
"Время задержки между каждым байтом, отправленным на модем, в микросекундах."
-#: src/libnmc-setting/settings-docs.h.in:306
+#: src/libnmc-setting/settings-docs.h.in:307
msgid ""
-"Number of stop bits for communication on the serial port. Either 1 or 2. The "
-"1 in \"8n1\" for example."
+"Number of stop bits for communication on the serial port. Either 1 or 2. "
+"The 1 in \"8n1\" for example."
msgstr ""
-"Количество стоповых бит для связи по последовательному порту. Либо 1, либо 2. "
-"Например, 1 в «8n1»."
+"Количество стоповых бит для связи по последовательному порту. Либо 1, либо "
+"2. Например, 1 в «8n1»."
-#: src/libnmc-setting/settings-docs.h.in:307
+#: src/libnmc-setting/settings-docs.h.in:308
msgid ""
"Whether to autoprobe virtual functions by a compatible driver. If set to "
"\"true\" (1), the kernel will try to bind VFs to a compatible driver and if "
-"this succeeds a new network interface will be instantiated for each VF. If set "
-"to \"false\" (0), VFs will not be claimed and no network interfaces will be "
-"created for them. When set to \"default\" (-1), the global default is used; in "
-"case the global default is unspecified it is assumed to be \"true\" (1)."
+"this succeeds a new network interface will be instantiated for each VF. If "
+"set to \"false\" (0), VFs will not be claimed and no network interfaces will "
+"be created for them. When set to \"default\" (-1), the global default is "
+"used; in case the global default is unspecified it is assumed to be "
+"\"true\" (1)."
msgstr ""
"Выполнять ли автоматическую пробу виртуальных функций с помощью совместимого "
"драйвера. При значении \"true\" (1) ядро попробует привязать виртуальные "
@@ -9486,11 +9601,11 @@ msgstr ""
"глобальные параметры по умолчанию; если глобальные параметры не установлены, "
"то предполагается значение \"true\" (1)."
-#: src/libnmc-setting/settings-docs.h.in:308
+#: src/libnmc-setting/settings-docs.h.in:309
msgid ""
"The total number of virtual functions to create. Note that when the sriov "
-"setting is present NetworkManager enforces the number of virtual functions on "
-"the interface (also when it is zero) during activation and resets it upon "
+"setting is present NetworkManager enforces the number of virtual functions "
+"on the interface (also when it is zero) during activation and resets it upon "
"deactivation. To prevent any changes to SR-IOV parameters don't add a sriov "
"setting to the connection."
msgstr ""
@@ -9501,11 +9616,11 @@ msgstr ""
"изменений в параметры SR-IOV, не добавляйте параметр sriov в параметры "
"подключения."
-#: src/libnmc-setting/settings-docs.h.in:309
+#: src/libnmc-setting/settings-docs.h.in:310
msgid ""
"Array of virtual function descriptors. Each VF descriptor is a dictionary "
-"mapping attribute names to GVariant values. The 'index' entry is mandatory for "
-"each VF. When represented as string a VF is in the form: \"INDEX "
+"mapping attribute names to GVariant values. The 'index' entry is mandatory "
+"for each VF. When represented as string a VF is in the form: \"INDEX "
"[ATTR=VALUE[ ATTR=VALUE]...]\". for example: \"2 mac=00:11:22:33:44:55 spoof-"
"check=true\". Multiple VFs can be specified using a comma as separator. "
"Currently, the following attributes are supported: mac, spoof-check, trust, "
@@ -9516,44 +9631,45 @@ msgid ""
msgstr ""
"Массив дескрипторов виртуальных функций (VF). Каждый из дескрипторов "
"представляет собой словарь отображения имён атрибутов на значения GVariant. "
-"Запись 'index' обязательна для каждой VF. Представленная строкой VF имеет вид "
-"\"INDEX [ATTR=VALUE[ ATTR=VALUE]...]\". Например: \"2 mac=00:11:22:33:44:55 "
-"spoof-check=true\". При указании нескольких VF в качестве разделителя "
-"используется запятая. На данный момент поддерживаются следующие атрибуты: mac, "
-"spoof-check, trust, min-tx-rate, max-tx-rate, vlans. Атрибут \"vlans\" "
-"представлен в виде списка дескрипторов VLAN, разделяемых точкой с запятой, где "
-"каждый дескриптор имеет вид \"ID[.PRIORITY[.PROTO]]\". PROTO может иметь "
-"значение либо «q» для 802.1Q (по умолчанию), либо «ad» для 802.1ad."
+"Запись 'index' обязательна для каждой VF. Представленная строкой VF имеет "
+"вид \"INDEX [ATTR=VALUE[ ATTR=VALUE]...]\". Например: \"2 "
+"mac=00:11:22:33:44:55 spoof-check=true\". При указании нескольких VF в "
+"качестве разделителя используется запятая. На данный момент поддерживаются "
+"следующие атрибуты: mac, spoof-check, trust, min-tx-rate, max-tx-rate, "
+"vlans. Атрибут \"vlans\" представлен в виде списка дескрипторов VLAN, "
+"разделяемых точкой с запятой, где каждый дескриптор имеет вид \"ID[."
+"PRIORITY[.PROTO]]\". PROTO может иметь значение либо «q» для 802.1Q (по "
+"умолчанию), либо «ad» для 802.1ad."
-#: src/libnmc-setting/settings-docs.h.in:310
+#: src/libnmc-setting/settings-docs.h.in:311
msgid ""
"Array of TC queueing disciplines. When the \"tc\" setting is present, qdiscs "
-"from this property are applied upon activation. If the property is empty, all "
-"qdiscs are removed and the device will only have the default qdisc assigned by "
-"kernel according to the \"net.core.default_qdisc\" sysctl. If the \"tc\" "
-"setting is not present, NetworkManager doesn't touch the qdiscs present on the "
-"interface."
+"from this property are applied upon activation. If the property is empty, "
+"all qdiscs are removed and the device will only have the default qdisc "
+"assigned by kernel according to the \"net.core.default_qdisc\" sysctl. If "
+"the \"tc\" setting is not present, NetworkManager doesn't touch the qdiscs "
+"present on the interface."
msgstr ""
"Массив планировщиков очередей контроля трафика (TC). При наличии параметра "
-"«tc», планировщики очередей из этого параметра применяются по факту активации. "
-"Если параметр пустой, все планировщики удаляются, и у устройства будет только "
-"планировщик по умолчанию, назначенный ядром согласно sysctl \"net.core."
-"default_qdisc\". Если параметр «tc» отсутствует, NetworkManager не касается "
-"планировщиков, присутствующих на интерфейсе."
+"«tc», планировщики очередей из этого параметра применяются по факту "
+"активации. Если параметр пустой, все планировщики удаляются, и у устройства "
+"будет только планировщик по умолчанию, назначенный ядром согласно sysctl "
+"\"net.core.default_qdisc\". Если параметр «tc» отсутствует, NetworkManager "
+"не касается планировщиков, присутствующих на интерфейсе."
-#: src/libnmc-setting/settings-docs.h.in:311
+#: src/libnmc-setting/settings-docs.h.in:312
msgid ""
-"Array of TC traffic filters. When the \"tc\" setting is present, filters from "
-"this property are applied upon activation. If the property is empty, "
-"NetworkManager removes all the filters. If the \"tc\" setting is not present, "
-"NetworkManager doesn't touch the filters present on the interface."
+"Array of TC traffic filters. When the \"tc\" setting is present, filters "
+"from this property are applied upon activation. If the property is empty, "
+"NetworkManager removes all the filters. If the \"tc\" setting is not "
+"present, NetworkManager doesn't touch the filters present on the interface."
msgstr ""
-"Массив фильтров контроля трафика (TC). При наличии параметра «tc», фильтры из "
-"этого параметра применяются по факту активации. Если параметр пустой, "
+"Массив фильтров контроля трафика (TC). При наличии параметра «tc», фильтры "
+"из этого параметра применяются по факту активации. Если параметр пустой, "
"NetworkManager удаляет все фильтры. Если параметр «tc» отсутствует, "
"NetworkManager не трогает фильтры, присутствующие на интерфейсе."
-#: src/libnmc-setting/settings-docs.h.in:312
+#: src/libnmc-setting/settings-docs.h.in:313
msgid ""
"The JSON configuration for the team network interface. The property should "
"contain raw JSON configuration data suitable for teamd, because the value is "
@@ -9561,48 +9677,48 @@ msgid ""
"used. See man teamd.conf for the format details."
msgstr ""
"Конфигурация JSON для сетевых интерфейсов team. Свойство должно содержать "
-"необработанные данные конфигурации JSON, пригодные для teamd, так как значение "
-"передаётся напрямую в teamd. Если значение не указано, используется "
+"необработанные данные конфигурации JSON, пригодные для teamd, так как "
+"значение передаётся напрямую в teamd. Если значение не указано, используется "
"конфигурация по умолчанию. Подробности о формате см. в teamd.conf."
-#: src/libnmc-setting/settings-docs.h.in:313
-#: src/libnmc-setting/settings-docs.h.in:331
+#: src/libnmc-setting/settings-docs.h.in:314
+#: src/libnmc-setting/settings-docs.h.in:332
msgid ""
"Link watchers configuration for the connection: each link watcher is defined "
"by a dictionary, whose keys depend upon the selected link watcher. Available "
-"link watchers are 'ethtool', 'nsna_ping' and 'arp_ping' and it is specified in "
-"the dictionary with the key 'name'. Available keys are: ethtool: 'delay-up', "
-"'delay-down', 'init-wait'; nsna_ping: 'init-wait', 'interval', 'missed-max', "
-"'target-host'; arp_ping: all the ones in nsna_ping and 'source-host', "
-"'validate-active', 'validate-inactive', 'send-always'. See teamd.conf man for "
-"more details."
+"link watchers are 'ethtool', 'nsna_ping' and 'arp_ping' and it is specified "
+"in the dictionary with the key 'name'. Available keys are: ethtool: 'delay-"
+"up', 'delay-down', 'init-wait'; nsna_ping: 'init-wait', 'interval', 'missed-"
+"max', 'target-host'; arp_ping: all the ones in nsna_ping and 'source-host', "
+"'validate-active', 'validate-inactive', 'send-always'. See teamd.conf man "
+"for more details."
msgstr ""
"Конфигурация наблюдателя за каналами для данного подключения: каждый из "
"наблюдателей настраивается словарём, ключи которого зависят от выбранного "
-"наблюдателя. Доступны следующие наблюдатели: ethtool, nsna_ping и arp_ping, в "
-"словаре они указываются с помощью ключа «name». Доступные ключи для ethtool: "
-"'delay-up', 'delay-down', 'init-wait'; для nsna_ping: 'init-wait', 'interval', "
-"'missed-max', 'target-host'; для arp_ping: все ключи для nsna_ping, а также "
-"'source-host', 'validate-active', 'validate-inactive', 'send-always'. "
-"Подробности см. в man teamd.conf."
+"наблюдателя. Доступны следующие наблюдатели: ethtool, nsna_ping и arp_ping, "
+"в словаре они указываются с помощью ключа «name». Доступные ключи для "
+"ethtool: 'delay-up', 'delay-down', 'init-wait'; для nsna_ping: 'init-wait', "
+"'interval', 'missed-max', 'target-host'; для arp_ping: все ключи для "
+"nsna_ping, а также 'source-host', 'validate-active', 'validate-inactive', "
+"'send-always'. Подробности см. в man teamd.conf."
-#: src/libnmc-setting/settings-docs.h.in:314
+#: src/libnmc-setting/settings-docs.h.in:315
msgid "Corresponds to the teamd mcast_rejoin.count."
msgstr "Соответствует mcast_rejoin.count в teamd."
-#: src/libnmc-setting/settings-docs.h.in:315
+#: src/libnmc-setting/settings-docs.h.in:316
msgid "Corresponds to the teamd mcast_rejoin.interval."
msgstr "Соответствует mcast_rejoin.interval в teamd."
-#: src/libnmc-setting/settings-docs.h.in:316
+#: src/libnmc-setting/settings-docs.h.in:317
msgid "Corresponds to the teamd notify_peers.count."
msgstr "Соответствует notify_peers.count в teamd."
-#: src/libnmc-setting/settings-docs.h.in:317
+#: src/libnmc-setting/settings-docs.h.in:318
msgid "Corresponds to the teamd notify_peers.interval."
msgstr "Соответствует notify_peers.interval в teamd."
-#: src/libnmc-setting/settings-docs.h.in:318
+#: src/libnmc-setting/settings-docs.h.in:319
msgid ""
"Corresponds to the teamd runner.name. Permitted values are: \"roundrobin\", "
"\"broadcast\", \"activebackup\", \"loadbalance\", \"lacp\", \"random\"."
@@ -9610,115 +9726,116 @@ msgstr ""
"Соответствует runner.name в teamd. Разрешённые значения: \"roundrobin\", "
"\"broadcast\", \"activebackup\", \"loadbalance\", \"lacp\", \"random\"."
-#: src/libnmc-setting/settings-docs.h.in:319
+#: src/libnmc-setting/settings-docs.h.in:320
msgid "Corresponds to the teamd runner.active."
msgstr "Соответствует runner.active в teamd."
-#: src/libnmc-setting/settings-docs.h.in:320
+#: src/libnmc-setting/settings-docs.h.in:321
msgid "Corresponds to the teamd runner.agg_select_policy."
msgstr "Соответствует runner.agg_select_policy в teamd."
-#: src/libnmc-setting/settings-docs.h.in:321
+#: src/libnmc-setting/settings-docs.h.in:322
msgid "Corresponds to the teamd runner.fast_rate."
msgstr "Соответствует runner.fast_rate в teamd."
-#: src/libnmc-setting/settings-docs.h.in:322
+#: src/libnmc-setting/settings-docs.h.in:323
msgid "Corresponds to the teamd runner.hwaddr_policy."
msgstr "Соответствует runner.hwaddr_policy в teamd."
-#: src/libnmc-setting/settings-docs.h.in:323
+#: src/libnmc-setting/settings-docs.h.in:324
msgid "Corresponds to the teamd runner.min_ports."
msgstr "Соответствует run.min_ports в teamd."
-#: src/libnmc-setting/settings-docs.h.in:324
+#: src/libnmc-setting/settings-docs.h.in:325
msgid "Corresponds to the teamd runner.sys_prio."
msgstr "Соответствует runner.sys_prio в teamd."
-#: src/libnmc-setting/settings-docs.h.in:325
+#: src/libnmc-setting/settings-docs.h.in:326
msgid "Corresponds to the teamd runner.tx_balancer.name."
msgstr "Соответствует runner.tx_balancer.name в teamd."
-#: src/libnmc-setting/settings-docs.h.in:326
+#: src/libnmc-setting/settings-docs.h.in:327
msgid "Corresponds to the teamd runner.tx_balancer.interval."
msgstr "Соответствует runner.tx_balancer.interval в teamd."
-#: src/libnmc-setting/settings-docs.h.in:327
+#: src/libnmc-setting/settings-docs.h.in:328
msgid "Corresponds to the teamd runner.tx_hash."
msgstr "Соответствует runner.tx_hash в teamd."
-#: src/libnmc-setting/settings-docs.h.in:328
+#: src/libnmc-setting/settings-docs.h.in:329
msgid ""
-"The JSON configuration for the team port. The property should contain raw JSON "
-"configuration data suitable for teamd, because the value is passed directly to "
-"teamd. If not specified, the default configuration is used. See man teamd.conf "
-"for the format details."
+"The JSON configuration for the team port. The property should contain raw "
+"JSON configuration data suitable for teamd, because the value is passed "
+"directly to teamd. If not specified, the default configuration is used. See "
+"man teamd.conf for the format details."
msgstr ""
"Конфигурация JSON для портов team. Свойство должно содержать необработанные "
"данные конфигурации JSON, пригодные для teamd, так как значение передаётся "
"напрямую в teamd. Если значение не указано, используется конфигурация по "
"умолчанию. Подробности о формате см. в teamd.conf."
-#: src/libnmc-setting/settings-docs.h.in:329
+#: src/libnmc-setting/settings-docs.h.in:330
msgid "Corresponds to the teamd ports.PORTIFNAME.lacp_key."
msgstr "Соответствует ports.PORTIFNAME.lacp_key в teamd."
-#: src/libnmc-setting/settings-docs.h.in:330
+#: src/libnmc-setting/settings-docs.h.in:331
msgid "Corresponds to the teamd ports.PORTIFNAME.lacp_prio."
msgstr "Соответствует port.PORTIFNAME.lacp_prio в teamd."
-#: src/libnmc-setting/settings-docs.h.in:332
+#: src/libnmc-setting/settings-docs.h.in:333
msgid "Corresponds to the teamd ports.PORTIFNAME.prio."
msgstr "Соответствует port.PORTIFNAME.prio в teamd."
-#: src/libnmc-setting/settings-docs.h.in:333
+#: src/libnmc-setting/settings-docs.h.in:334
msgid ""
"Corresponds to the teamd ports.PORTIFNAME.queue_id. When set to -1 means the "
"parameter is skipped from the json config."
msgstr ""
-"Соответствует port.PORTIFNAME.queue_id в teamd. Если установлено значение -1, "
-"то параметр из конфигурации json пропускается."
+"Соответствует port.PORTIFNAME.queue_id в teamd. Если установлено значение "
+"-1, то параметр из конфигурации json пропускается."
-#: src/libnmc-setting/settings-docs.h.in:334
+#: src/libnmc-setting/settings-docs.h.in:335
msgid "Corresponds to the teamd ports.PORTIFNAME.sticky."
msgstr "Соответствует ports.PORTIFNAME.sticky в teamd."
-#: src/libnmc-setting/settings-docs.h.in:335
+#: src/libnmc-setting/settings-docs.h.in:336
msgid ""
"The group ID which will own the device. If set to NULL everyone will be able "
"to use the device."
msgstr ""
-"Идентификатор группы, которой будет принадлежать устройство. Если установлено "
-"значение NULL, каждый сможет использовать устройство."
+"Идентификатор группы, которой будет принадлежать устройство. Если "
+"установлено значение NULL, каждый сможет использовать устройство."
-#: src/libnmc-setting/settings-docs.h.in:336
+#: src/libnmc-setting/settings-docs.h.in:337
msgid ""
"The operating mode of the virtual device. Allowed values are \"tun\" (1) to "
-"create a layer 3 device and \"tap\" (2) to create an Ethernet-like layer 2 one."
+"create a layer 3 device and \"tap\" (2) to create an Ethernet-like layer 2 "
+"one."
msgstr ""
-"Режим работы виртуального устройства. Допустимые значения: \"tun\" (1), чтобы "
-"создать устройство уровня 3 и \"tap\" (2), чтобы создать слой 2, подобный "
-"Ethernet."
+"Режим работы виртуального устройства. Допустимые значения: \"tun\" (1), "
+"чтобы создать устройство уровня 3 и \"tap\" (2), чтобы создать слой 2, "
+"подобный Ethernet."
-#: src/libnmc-setting/settings-docs.h.in:337
+#: src/libnmc-setting/settings-docs.h.in:338
msgid ""
"If the property is set to TRUE, the interface will support multiple file "
"descriptors (queues) to parallelize packet sending or receiving. Otherwise, "
"the interface will only support a single queue."
msgstr ""
-"Если для свойства установлено значение ВЕРНО, то интерфейс будет поддерживать "
-"несколько файловых дескрипторов (очередей) для параллелизации отправки или "
-"приема пакетов. В противном случае интерфейс будет поддерживать только одну "
-"очередь."
+"Если для свойства установлено значение ВЕРНО, то интерфейс будет "
+"поддерживать несколько файловых дескрипторов (очередей) для параллелизации "
+"отправки или приема пакетов. В противном случае интерфейс будет поддерживать "
+"только одну очередь."
-#: src/libnmc-setting/settings-docs.h.in:338
+#: src/libnmc-setting/settings-docs.h.in:339
msgid ""
-"The user ID which will own the device. If set to NULL everyone will be able to "
-"use the device."
+"The user ID which will own the device. If set to NULL everyone will be able "
+"to use the device."
msgstr ""
-"Идентификатор пользователя, которому принадлежит устройство. Если установлено "
-"значение NULL, каждый сможет использовать устройство."
+"Идентификатор пользователя, которому принадлежит устройство. Если "
+"установлено значение NULL, каждый сможет использовать устройство."
-#: src/libnmc-setting/settings-docs.h.in:339
+#: src/libnmc-setting/settings-docs.h.in:340
msgid ""
"If TRUE the interface will prepend a 4 byte header describing the physical "
"interface to the packets."
@@ -9726,7 +9843,7 @@ msgstr ""
"Если ВЕРНО, интерфейс в начале пакетов добавит 4-байтовый заголовок, "
"описывающий физический интерфейс."
-#: src/libnmc-setting/settings-docs.h.in:340
+#: src/libnmc-setting/settings-docs.h.in:341
msgid ""
"If TRUE the IFF_VNET_HDR the tunnel packets will include a virtio network "
"header."
@@ -9734,50 +9851,51 @@ msgstr ""
"При значении ВЕРНО для флага IFF_VNET_HDR пакеты туннеля будут содержать "
"заголовок сети virtio."
-#: src/libnmc-setting/settings-docs.h.in:341
+#: src/libnmc-setting/settings-docs.h.in:342
msgid ""
"A dictionary of key/value pairs with user data. This data is ignored by "
-"NetworkManager and can be used at the users discretion. The keys only support "
-"a strict ascii format, but the values can be arbitrary UTF8 strings up to a "
-"certain length."
+"NetworkManager and can be used at the users discretion. The keys only "
+"support a strict ascii format, but the values can be arbitrary UTF8 strings "
+"up to a certain length."
msgstr ""
-"Словарь пар «ключ/значение» с данными пользователей. NetworkManager игнорирует "
-"эти данные, и их можно использовать по усмотрению пользователей. Ключи "
-"поддерживают только строгий формат ascii, но значения могут быть представлены "
-"произвольными строками в кодировке UTF-8 определённой длинны."
+"Словарь пар «ключ/значение» с данными пользователей. NetworkManager "
+"игнорирует эти данные, и их можно использовать по усмотрению пользователей. "
+"Ключи поддерживают только строгий формат ascii, но значения могут быть "
+"представлены произвольными строками в кодировке UTF-8 определённой длинны."
-#: src/libnmc-setting/settings-docs.h.in:342
+#: src/libnmc-setting/settings-docs.h.in:343
msgid ""
"For outgoing packets, a list of mappings from Linux SKB priorities to 802.1p "
"priorities. The mapping is given in the format \"from:to\" where both "
"\"from\" and \"to\" are unsigned integers, ie \"7:3\"."
msgstr ""
"Для исходящих пакетов — список сопоставлений приоритетов Linux SKB с "
-"приоритетами 802.1p. Отображение задается в формате «from:to», где и «from», и "
-"«to» представляют собой беззнаковые целые, то есть «7:3»."
+"приоритетами 802.1p. Отображение задается в формате «from:to», где и «from», "
+"и «to» представляют собой беззнаковые целые, то есть «7:3»."
-#: src/libnmc-setting/settings-docs.h.in:343
+#: src/libnmc-setting/settings-docs.h.in:344
msgid ""
"One or more flags which control the behavior and features of the VLAN "
"interface. Flags include \"reorder-headers\" (0x1) (reordering of output "
"packet headers), \"gvrp\" (0x2) (use of the GVRP protocol), and \"loose-"
"binding\" (0x4) (loose binding of the interface to its master device's "
-"operating state). \"mvrp\" (0x8) (use of the MVRP protocol). The default value "
-"of this property is NM_VLAN_FLAG_REORDER_HEADERS, but it used to be 0. To "
-"preserve backward compatibility, the default-value in the D-Bus API continues "
-"to be 0 and a missing property on D-Bus is still considered as 0."
-msgstr ""
-"Один или несколько флагов, которые управляют поведением и функциями интерфейса "
-"VLAN. Флаги включают в себя: \"reorder-headers\" (0x1) (переупорядочение "
-"заголовков исходящих пакетов), \"gvrp\" (0x2) (использование протокола GVRP) и "
-"\"loose-binding\" (0x4) (свободное связывание интерфейса с рабочим состоянием "
-"его ведущего устройства). \"mvrp\" (0x8) (использование протокола MVRP). "
-"Значением по умолчанию для этого свойства является "
-"NM_VLAN_FLAG_REORDER_HEADERS, но обычно оно было равно 0. Чтобы сохранить "
-"обратную совместимость, значение по умолчанию в D-Bus API по-прежнему остаётся "
-"нулём, а недостающее свойство D-Bus по-прежнему считается нулём."
+"operating state). \"mvrp\" (0x8) (use of the MVRP protocol). The default "
+"value of this property is NM_VLAN_FLAG_REORDER_HEADERS, but it used to be 0. "
+"To preserve backward compatibility, the default-value in the D-Bus API "
+"continues to be 0 and a missing property on D-Bus is still considered as 0."
+msgstr ""
+"Один или несколько флагов, которые управляют поведением и функциями "
+"интерфейса VLAN. Флаги включают в себя: \"reorder-headers\" (0x1) "
+"(переупорядочение заголовков исходящих пакетов), \"gvrp\" (0x2) "
+"(использование протокола GVRP) и \"loose-binding\" (0x4) (свободное "
+"связывание интерфейса с рабочим состоянием его ведущего устройства). "
+"\"mvrp\" (0x8) (использование протокола MVRP). Значением по умолчанию для "
+"этого свойства является NM_VLAN_FLAG_REORDER_HEADERS, но обычно оно было "
+"равно 0. Чтобы сохранить обратную совместимость, значение по умолчанию в D-"
+"Bus API по-прежнему остаётся нулём, а недостающее свойство D-Bus по-прежнему "
+"считается нулём."
-#: src/libnmc-setting/settings-docs.h.in:344
+#: src/libnmc-setting/settings-docs.h.in:345
msgid ""
"The VLAN identifier that the interface created by this connection should be "
"assigned. The valid range is from 0 to 4094, without the reserved id 4095."
@@ -9786,29 +9904,29 @@ msgstr ""
"подключением. Действительный диапазон: от 0 до 4094, без зарезервированного "
"идентификатора 4095."
-#: src/libnmc-setting/settings-docs.h.in:345
+#: src/libnmc-setting/settings-docs.h.in:346
msgid ""
"For incoming packets, a list of mappings from 802.1p priorities to Linux SKB "
"priorities. The mapping is given in the format \"from:to\" where both "
"\"from\" and \"to\" are unsigned integers, ie \"7:3\"."
msgstr ""
"Для входящих пакетов — список сопоставлений приоритетов Linux SKB с "
-"приоритетами p. Отображение задается в формате «from:to», где и «from», и «to» "
-"представляют собой беззнаковые целые, то есть «7:3»."
+"приоритетами p. Отображение задается в формате «from:to», где и «from», и "
+"«to» представляют собой беззнаковые целые, то есть «7:3»."
-#: src/libnmc-setting/settings-docs.h.in:346
+#: src/libnmc-setting/settings-docs.h.in:347
msgid ""
"If given, specifies the parent interface name or parent connection UUID from "
"which this VLAN interface should be created. If this property is not "
"specified, the connection must contain an \"802-3-ethernet\" setting with a "
"\"mac-address\" property."
msgstr ""
-"Если значение указано, то оно определяет имя интерфейса или UUID родительского "
-"подключения, на базе которого должен быть создан данный интерфейс VLAN. Если "
-"свойство не определено, то подключение должно иметь параметр \"802-3-"
-"ethernet\" со свойством \"mac-address\"."
+"Если значение указано, то оно определяет имя интерфейса или UUID "
+"родительского подключения, на базе которого должен быть создан данный "
+"интерфейс VLAN. Если свойство не определено, то подключение должно иметь "
+"параметр \"802-3-ethernet\" со свойством \"mac-address\"."
-#: src/libnmc-setting/settings-docs.h.in:347
+#: src/libnmc-setting/settings-docs.h.in:348
msgid ""
"Specifies the VLAN protocol to use for encapsulation. Supported values are: "
"'802.1Q', '802.1ad'. If not specified the default value is '802.1Q'."
@@ -9817,15 +9935,15 @@ msgstr ""
"значения: '802.1Q', '802.1ad'. Если значение не указано, значением по "
"умолчанию будет '802.1Q'."
-#: src/libnmc-setting/settings-docs.h.in:348
+#: src/libnmc-setting/settings-docs.h.in:349
msgid ""
"Dictionary of key/value pairs of VPN plugin specific data. Both keys and "
"values must be strings."
msgstr ""
-"Словарь пар «ключ/значение» данных, относящихся к модулю VPN. Как ключи, так и "
-"значения должны быть представлены строками."
+"Словарь пар «ключ/значение» данных, относящихся к модулю VPN. Как ключи, так "
+"и значения должны быть представлены строками."
-#: src/libnmc-setting/settings-docs.h.in:349
+#: src/libnmc-setting/settings-docs.h.in:350
msgid ""
"If the VPN service supports persistence, and this property is TRUE, the VPN "
"will attempt to stay connected across link changes and outages, until "
@@ -9836,37 +9954,37 @@ msgstr ""
"каналов и отключений питания, до тех пор, пока разрыв подключения не будет "
"выполнен явным образом."
-#: src/libnmc-setting/settings-docs.h.in:350
+#: src/libnmc-setting/settings-docs.h.in:351
msgid ""
-"Dictionary of key/value pairs of VPN plugin specific secrets like passwords or "
-"private keys. Both keys and values must be strings."
+"Dictionary of key/value pairs of VPN plugin specific secrets like passwords "
+"or private keys. Both keys and values must be strings."
msgstr ""
"Словарь пар «ключ/значение» секретов (пароли, закрытые ключи и т.п.), "
"относящихся к модулю VPN. Как ключи, так и значения должны быть представлены "
"строками."
-#: src/libnmc-setting/settings-docs.h.in:351
+#: src/libnmc-setting/settings-docs.h.in:352
msgid ""
-"D-Bus service name of the VPN plugin that this setting uses to connect to its "
-"network. i.e. org.freedesktop.NetworkManager.vpnc for the vpnc plugin."
+"D-Bus service name of the VPN plugin that this setting uses to connect to "
+"its network. i.e. org.freedesktop.NetworkManager.vpnc for the vpnc plugin."
msgstr ""
"Имя службы D-Bus модуля VPN, используемого этим параметром для подключения к "
"своей сети. Например, «org.freedesktop.NetworkManager.vpnc» для модуля vpnc."
-#: src/libnmc-setting/settings-docs.h.in:352
+#: src/libnmc-setting/settings-docs.h.in:353
msgid ""
"Timeout for the VPN service to establish the connection. Some services may "
"take quite a long time to connect. Value of 0 means a default timeout, which "
-"is 60 seconds (unless overridden by vpn.timeout in configuration file). Values "
-"greater than zero mean timeout in seconds."
+"is 60 seconds (unless overridden by vpn.timeout in configuration file). "
+"Values greater than zero mean timeout in seconds."
msgstr ""
"Истечение времени ожидания установки подключения службой VPN. Некоторым "
-"службам может потребоваться довольно много времени для подключения. Значение 0 "
-"означает значение по умолчанию, то есть 60 секунд (если оно не переопределено "
-"параметром vpn.timeout в файле конфигурации). Значения выше нуля означают "
-"значение в секундах."
+"службам может потребоваться довольно много времени для подключения. Значение "
+"0 означает значение по умолчанию, то есть 60 секунд (если оно не "
+"переопределено параметром vpn.timeout в файле конфигурации). Значения выше "
+"нуля означают значение в секундах."
-#: src/libnmc-setting/settings-docs.h.in:353
+#: src/libnmc-setting/settings-docs.h.in:354
msgid ""
"If the VPN connection requires a user name for authentication, that name "
"should be provided here. If the connection is available to more than one "
@@ -9878,20 +9996,20 @@ msgstr ""
"Если для подключения VPN требуется имя пользователя для аутентификации, это "
"имя должно быть указано здесь. Если подключение доступно нескольким "
"пользователям, а VPN требует, чтобы каждый пользователь указывал другое имя, "
-"оставьте это свойство пустым. При пустом свойстве NetworkManager автоматически "
-"укажет имя пользователя, запросившего VPN-соединение."
+"оставьте это свойство пустым. При пустом свойстве NetworkManager "
+"автоматически укажет имя пользователя, запросившего VPN-соединение."
-#: src/libnmc-setting/settings-docs.h.in:354
+#: src/libnmc-setting/settings-docs.h.in:355
msgid "The routing table for this VRF."
msgstr ""
"Таблица маршрутизации для данной виртуальной маршрутизации и переадресации "
"(VRF)"
-#: src/libnmc-setting/settings-docs.h.in:355
+#: src/libnmc-setting/settings-docs.h.in:356
msgid "Specifies the lifetime in seconds of FDB entries learnt by the kernel."
msgstr "Указывает время жизни записей FDB, полученных ядром (в сек.)."
-#: src/libnmc-setting/settings-docs.h.in:356
+#: src/libnmc-setting/settings-docs.h.in:357
msgid ""
"Specifies the UDP destination port to communicate to the remote VXLAN tunnel "
"endpoint."
@@ -9899,30 +10017,32 @@ msgstr ""
"Указывает порт назначения UDP для связи с удаленной конечной точкой VXLAN-"
"туннеля."
-#: src/libnmc-setting/settings-docs.h.in:357
+#: src/libnmc-setting/settings-docs.h.in:358
msgid ""
"Specifies the VXLAN Network Identifier (or VXLAN Segment Identifier) to use."
msgstr ""
"Задает используемый идентификатор сети VXLAN (или идентификатор сегмента "
"VXLAN)."
-#: src/libnmc-setting/settings-docs.h.in:358
+#: src/libnmc-setting/settings-docs.h.in:359
msgid "Specifies whether netlink LL ADDR miss notifications are generated."
-msgstr "Указывает, создаются ли уведомления о пропуске LL ADDR сетевого канала."
+msgstr ""
+"Указывает, создаются ли уведомления о пропуске LL ADDR сетевого канала."
-#: src/libnmc-setting/settings-docs.h.in:359
+#: src/libnmc-setting/settings-docs.h.in:360
msgid "Specifies whether netlink IP ADDR miss notifications are generated."
-msgstr "Указывает, создаются ли уведомления о пропуске IP ADDR сетевого канала."
+msgstr ""
+"Указывает, создаются ли уведомления о пропуске IP ADDR сетевого канала."
-#: src/libnmc-setting/settings-docs.h.in:360
+#: src/libnmc-setting/settings-docs.h.in:361
msgid ""
"Specifies whether unknown source link layer addresses and IP addresses are "
"entered into the VXLAN device forwarding database."
msgstr ""
-"Указывает, будут ли добавляться в базу данных перенаправления устройства VXLAN "
-"адреса канального уровня и адреса IP от неизвестных источников."
+"Указывает, будут ли добавляться в базу данных перенаправления устройства "
+"VXLAN адреса канального уровня и адреса IP от неизвестных источников."
-#: src/libnmc-setting/settings-docs.h.in:361
+#: src/libnmc-setting/settings-docs.h.in:362
msgid ""
"Specifies the maximum number of FDB entries. A value of zero means that the "
"kernel will store unlimited entries."
@@ -9930,37 +10050,38 @@ msgstr ""
"Указывает максимальное количество записей FDB. Ноль означает, что ядро ​​будет "
"хранить неограниченное число записей."
-#: src/libnmc-setting/settings-docs.h.in:362
+#: src/libnmc-setting/settings-docs.h.in:363
msgid "If given, specifies the source IP address to use in outgoing packets."
msgstr ""
"Если задано, указывает адрес IP источника для использования в исходящих "
"пакетах."
-#: src/libnmc-setting/settings-docs.h.in:363
-msgid "If given, specifies the parent interface name or parent connection UUID."
+#: src/libnmc-setting/settings-docs.h.in:364
+msgid ""
+"If given, specifies the parent interface name or parent connection UUID."
msgstr ""
"Если задано, указывает имя родительского интерфейса или UUID родительского "
"подключения."
-#: src/libnmc-setting/settings-docs.h.in:364
+#: src/libnmc-setting/settings-docs.h.in:365
msgid "Specifies whether ARP proxy is turned on."
msgstr "Указывает, включен ли прокси-сервер ARP."
-#: src/libnmc-setting/settings-docs.h.in:365
+#: src/libnmc-setting/settings-docs.h.in:366
msgid ""
"Specifies the unicast destination IP address to use in outgoing packets when "
-"the destination link layer address is not known in the VXLAN device forwarding "
-"database, or the multicast IP address to join."
+"the destination link layer address is not known in the VXLAN device "
+"forwarding database, or the multicast IP address to join."
msgstr ""
"Указывает одноадресный целевой адрес IP, используемый в исходящих пакетах, "
"если целевой адрес канального уровня неизвестен базе данных перенаправления "
"устройства VXLAN, или же указывает многоадресный адрес IP для присоединения."
-#: src/libnmc-setting/settings-docs.h.in:366
+#: src/libnmc-setting/settings-docs.h.in:367
msgid "Specifies whether route short circuit is turned on."
msgstr "Указывает, включено ли сокращение маршрута."
-#: src/libnmc-setting/settings-docs.h.in:367
+#: src/libnmc-setting/settings-docs.h.in:368
msgid ""
"Specifies the maximum UDP source port to communicate to the remote VXLAN "
"tunnel endpoint."
@@ -9968,33 +10089,33 @@ msgstr ""
"Указывает максимальный номер исходного порта UDP для связи с удаленной "
"конечной точкой VXLAN-туннеля."
-#: src/libnmc-setting/settings-docs.h.in:368
+#: src/libnmc-setting/settings-docs.h.in:369
msgid ""
"Specifies the minimum UDP source port to communicate to the remote VXLAN "
"tunnel endpoint."
msgstr ""
-"Указывает минимальный номер исходного порта UDP для связи с удаленной конечной "
-"точкой VXLAN-туннеля."
+"Указывает минимальный номер исходного порта UDP для связи с удаленной "
+"конечной точкой VXLAN-туннеля."
-#: src/libnmc-setting/settings-docs.h.in:369
+#: src/libnmc-setting/settings-docs.h.in:370
msgid "Specifies the TOS value to use in outgoing packets."
msgstr ""
-"Указывает значение байта типа обслуживания (TOS) для использования в исходящих "
-"пакетах."
+"Указывает значение байта типа обслуживания (TOS) для использования в "
+"исходящих пакетах."
-#: src/libnmc-setting/settings-docs.h.in:370
+#: src/libnmc-setting/settings-docs.h.in:371
msgid "Specifies the time-to-live value to use in outgoing packets."
msgstr "Задает значение времени жизни для использования в исходящих пакетах."
-#: src/libnmc-setting/settings-docs.h.in:371
+#: src/libnmc-setting/settings-docs.h.in:372
msgid ""
-"The P2P device that should be connected to. Currently, this is the only way to "
-"create or join a group."
+"The P2P device that should be connected to. Currently, this is the only way "
+"to create or join a group."
msgstr ""
"Устройство P2P, к которому необходимо подключиться. На данный момент это "
"единственный способ создания или присоединения к группе."
-#: src/libnmc-setting/settings-docs.h.in:372
+#: src/libnmc-setting/settings-docs.h.in:373
msgid ""
"The Wi-Fi Display (WFD) Information Elements (IEs) to set. Wi-Fi Display "
"requires a protocol specific information element to be set in certain Wi-Fi "
@@ -10002,22 +10123,23 @@ msgid ""
"connection. This setting is only useful when implementing a Wi-Fi Display "
"client."
msgstr ""
-"Настройка информативных элементов Wi-Fi Display (WFD). Wi-Fi Display требует, "
-"чтобы в некоторых кадрах присутствовали элементы с информацией о протоколе. В "
-"целях установки подключения, эти элементы могут быть указаны здесь. Данный "
-"параметр используется только при реализации клиента Wi-Fi Display."
+"Настройка информативных элементов Wi-Fi Display (WFD). Wi-Fi Display "
+"требует, чтобы в некоторых кадрах присутствовали элементы с информацией о "
+"протоколе. В целях установки подключения, эти элементы могут быть указаны "
+"здесь. Данный параметр используется только при реализации клиента Wi-Fi "
+"Display."
-#: src/libnmc-setting/settings-docs.h.in:373
+#: src/libnmc-setting/settings-docs.h.in:374
msgid ""
"Flags indicating which mode of WPS is to be used. There's little point in "
"changing the default setting as NetworkManager will automatically determine "
"the best method to use."
msgstr ""
-"Флаги, указывающие, какой режим WPS должен использоваться. Нет особого смысла "
-"изменять значение по умолчанию, поскольку используемый метод NetworkManager "
-"определит автоматически."
+"Флаги, указывающие, какой режим WPS должен использоваться. Нет особого "
+"смысла изменять значение по умолчанию, поскольку используемый метод "
+"NetworkManager определит автоматически."
-#: src/libnmc-setting/settings-docs.h.in:374
+#: src/libnmc-setting/settings-docs.h.in:375
msgid ""
"If specified, this connection will only apply to the WiMAX device whose MAC "
"address matches. This property does not change the MAC address of the device "
@@ -10027,7 +10149,7 @@ msgstr ""
"совпадающим адресом MAC. Это свойство не изменяет адрес MAC устройства (так "
"называемый спуфинг)."
-#: src/libnmc-setting/settings-docs.h.in:375
+#: src/libnmc-setting/settings-docs.h.in:376
msgid ""
"Network Service Provider (NSP) name of the WiMAX network this connection "
"should use."
@@ -10035,7 +10157,7 @@ msgstr ""
"Имя поставщика сетевых услуг (NSP) сети WiMAX, которую должно использовать "
"данное подключение."
-#: src/libnmc-setting/settings-docs.h.in:376
+#: src/libnmc-setting/settings-docs.h.in:377
msgid ""
"When TRUE, setup the interface to accept packets for all MAC addresses. This "
"is enabling the kernel interface flag IFF_PROMISC. When FALSE, the interface "
@@ -10043,72 +10165,75 @@ msgid ""
"broadcast."
msgstr ""
"Если «Истина», то на интерфейсе будет настроено принятие пакетов для всех "
-"адресов MAC. Параметр включает флаг ядра интерфейса IFF_PROMISC. Если «Ложно», "
-"интерфейс будет принимать только пакеты с целевым адресом MAC этого интерфейса "
-"или широковещательные пакеты."
+"адресов MAC. Параметр включает флаг ядра интерфейса IFF_PROMISC. Если "
+"«Ложно», интерфейс будет принимать только пакеты с целевым адресом MAC этого "
+"интерфейса или широковещательные пакеты."
-#: src/libnmc-setting/settings-docs.h.in:377
+#: src/libnmc-setting/settings-docs.h.in:378
msgid ""
-"When TRUE, enforce auto-negotiation of speed and duplex mode. If \"speed\" and "
-"\"duplex\" properties are both specified, only that single mode will be "
+"When TRUE, enforce auto-negotiation of speed and duplex mode. If \"speed\" "
+"and \"duplex\" properties are both specified, only that single mode will be "
"advertised and accepted during the link auto-negotiation process: this works "
"only for BASE-T 802.3 specifications and is useful for enforcing gigabits "
-"modes, as in these cases link negotiation is mandatory. When FALSE, \"speed\" "
-"and \"duplex\" properties should be both set or link configuration will be "
-"skipped."
-msgstr ""
-"При значении «ИСТИНА», принудительно устанавливается автосогласование скорости "
-"и дуплексного режима. Если заданы свойства и «speed» и «duplex», то во время "
-"процесса автосогласования канала будет объявлен и принят только этот "
-"единственный режим: данная конфигурация работает только для спецификаций на "
-"базе BASE-T 802.3 и удобна для принудительного применения гигабитных режимов, "
-"поскольку в этих случаях согласование канала является обязательным. При "
-"значении «ЛОЖНО» должны указываться оба свойства, и \"speed\" и \"duplex\", в "
-"противном случае настройка канала будет пропущена."
+"modes, as in these cases link negotiation is mandatory. When FALSE, "
+"\"speed\" and \"duplex\" properties should be both set or link configuration "
+"will be skipped."
+msgstr ""
+"При значении «ИСТИНА», принудительно устанавливается автосогласование "
+"скорости и дуплексного режима. Если заданы свойства и «speed» и «duplex», то "
+"во время процесса автосогласования канала будет объявлен и принят только "
+"этот единственный режим: данная конфигурация работает только для "
+"спецификаций на базе BASE-T 802.3 и удобна для принудительного применения "
+"гигабитных режимов, поскольку в этих случаях согласование канала является "
+"обязательным. При значении «ЛОЖНО» должны указываться оба свойства, и "
+"\"speed\" и \"duplex\", в противном случае настройка канала будет пропущена."
-#: src/libnmc-setting/settings-docs.h.in:378
+#: src/libnmc-setting/settings-docs.h.in:379
msgid ""
"If specified, request that the device use this MAC address instead. This is "
-"known as MAC cloning or spoofing. Beside explicitly specifying a MAC address, "
-"the special values \"preserve\", \"permanent\", \"random\" and \"stable\" are "
-"supported. \"preserve\" means not to touch the MAC address on activation. "
-"\"permanent\" means to use the permanent hardware address if the device has "
-"one (otherwise this is treated as \"preserve\"). \"random\" creates a random "
-"MAC address on each connect. \"stable\" creates a hashed MAC address based on "
-"connection.stable-id and a machine dependent key. If unspecified, the value "
-"can be overwritten via global defaults, see manual of NetworkManager.conf. If "
-"still unspecified, it defaults to \"preserve\" (older versions of "
-"NetworkManager may use a different default value). On D-Bus, this field is "
-"expressed as \"assigned-mac-address\" or the deprecated \"cloned-mac-address\"."
+"known as MAC cloning or spoofing. Beside explicitly specifying a MAC "
+"address, the special values \"preserve\", \"permanent\", \"random\" and "
+"\"stable\" are supported. \"preserve\" means not to touch the MAC address on "
+"activation. \"permanent\" means to use the permanent hardware address if the "
+"device has one (otherwise this is treated as \"preserve\"). \"random\" "
+"creates a random MAC address on each connect. \"stable\" creates a hashed "
+"MAC address based on connection.stable-id and a machine dependent key. If "
+"unspecified, the value can be overwritten via global defaults, see manual of "
+"NetworkManager.conf. If still unspecified, it defaults to "
+"\"preserve\" (older versions of NetworkManager may use a different default "
+"value). On D-Bus, this field is expressed as \"assigned-mac-address\" or the "
+"deprecated \"cloned-mac-address\"."
msgstr ""
"При указанном параметре делается запрос на использование именно этого адреса "
"MAC Данная технология известна как «клонирование MAC» или «спуфинг». Кроме "
"явного указания адреса MAC, также поддерживаются специальные значения "
"\"preserve\", \"permanent\", \"random\" и \"stable\". \"Preserve\" означает, "
-"что адрес MAC не будет изменяться при активации, \"permanent\" — необходимость "
-"использовать постоянный аппаратный адрес устройства, если у устройства он есть "
-"(в противном случае он обрабатывается как \"preserve\"). \"random\" — создаёт "
-"случайный MAC при каждом подключении, \"stable\" — создаёт хэшированный MAC на "
-"базе идентификатора connection.stable-id и машинозависимого ключа. Если не "
-"указано, значение может переопределяться глобальными значениями по умолчанию, "
-"смотрите руководство для NetworkManager.conf. Если и в этом случае значение не "
-"будет указано, то по умолчанию используется \"preserve\" (в более старых "
-"версиях NetworkManager по умолчанию может использоваться другое значение). Для "
-"D-Bus это поле выражается в виде \"assigned-mac-address\", либо (устаревшее "
-"значение) \"cloned-mac-address\"."
+"что адрес MAC не будет изменяться при активации, \"permanent\" — "
+"необходимость использовать постоянный аппаратный адрес устройства, если у "
+"устройства он есть (в противном случае он обрабатывается как \"preserve\"). "
+"\"random\" — создаёт случайный MAC при каждом подключении, \"stable\" — "
+"создаёт хэшированный MAC на базе идентификатора connection.stable-id и "
+"машинозависимого ключа. Если не указано, значение может переопределяться "
+"глобальными значениями по умолчанию, смотрите руководство для NetworkManager."
+"conf. Если и в этом случае значение не будет указано, то по умолчанию "
+"используется \"preserve\" (в более старых версиях NetworkManager по "
+"умолчанию может использоваться другое значение). Для D-Bus это поле "
+"выражается в виде \"assigned-mac-address\", либо (устаревшее значение) "
+"\"cloned-mac-address\"."
-#: src/libnmc-setting/settings-docs.h.in:379
+#: src/libnmc-setting/settings-docs.h.in:380
msgid ""
-"When a value is set, either \"half\" or \"full\", configures the device to use "
-"the specified duplex mode. If \"auto-negotiate\" is \"yes\" the specified "
-"duplex mode will be the only one advertised during link negotiation: this "
-"works only for BASE-T 802.3 specifications and is useful for enforcing "
-"gigabits modes, as in these cases link negotiation is mandatory. If the value "
-"is unset (the default), the link configuration will be either skipped (if "
-"\"auto-negotiate\" is \"no\", the default) or will be auto-negotiated (if "
-"\"auto-negotiate\" is \"yes\") and the local device will advertise all the "
-"supported duplex modes. Must be set together with the \"speed\" property if "
-"specified. Before specifying a duplex mode be sure your device supports it."
+"When a value is set, either \"half\" or \"full\", configures the device to "
+"use the specified duplex mode. If \"auto-negotiate\" is \"yes\" the "
+"specified duplex mode will be the only one advertised during link "
+"negotiation: this works only for BASE-T 802.3 specifications and is useful "
+"for enforcing gigabits modes, as in these cases link negotiation is "
+"mandatory. If the value is unset (the default), the link configuration will "
+"be either skipped (if \"auto-negotiate\" is \"no\", the default) or will be "
+"auto-negotiated (if \"auto-negotiate\" is \"yes\") and the local device will "
+"advertise all the supported duplex modes. Must be set together with the "
+"\"speed\" property if specified. Before specifying a duplex mode be sure "
+"your device supports it."
msgstr ""
"При указанном значении (либо \"half\", либо \"full\") настраивает устройство "
"на использование указанного режима дуплекса. Если для \"auto-negotiate\" "
@@ -10116,256 +10241,263 @@ msgstr ""
"объявленным во время согласования каналов: это работает только для "
"спецификаций BASE-T 802.3 и удобен для для принудительного применения "
"гигабитных режимов, поскольку в этих случаях согласование канала является "
-"обязательным. Если значение не указано (по умолчанию), то конфигурация канала "
-"будет либо пропущена (при значении «нет» для параметра \"auto-negotiate\", т."
-"е. значении по умолчанию), либо согласование будет автоматическим (при "
-"значении «да» для параметра \"auto-negotiate\"), а локальное устройство будет "
-"объявлять все поддерживаемые режимы дуплекса. Если параметр указан, то он "
-"должен указываться вместе со свойством \"speed\". Перед указанием режима "
-"дуплекса убедитесь в том, что устройство его поддерживает."
+"обязательным. Если значение не указано (по умолчанию), то конфигурация "
+"канала будет либо пропущена (при значении «нет» для параметра \"auto-"
+"negotiate\", т.е. значении по умолчанию), либо согласование будет "
+"автоматическим (при значении «да» для параметра \"auto-negotiate\"), а "
+"локальное устройство будет объявлять все поддерживаемые режимы дуплекса. "
+"Если параметр указан, то он должен указываться вместе со свойством "
+"\"speed\". Перед указанием режима дуплекса убедитесь в том, что устройство "
+"его поддерживает."
-#: src/libnmc-setting/settings-docs.h.in:380
-#: src/libnmc-setting/settings-docs.h.in:404
+#: src/libnmc-setting/settings-docs.h.in:381
+#: src/libnmc-setting/settings-docs.h.in:405
msgid ""
"With \"cloned-mac-address\" setting \"random\" or \"stable\", by default all "
-"bits of the MAC address are scrambled and a locally-administered, unicast MAC "
-"address is created. This property allows to specify that certain bits are "
-"fixed. Note that the least significant bit of the first MAC address will "
+"bits of the MAC address are scrambled and a locally-administered, unicast "
+"MAC address is created. This property allows to specify that certain bits "
+"are fixed. Note that the least significant bit of the first MAC address will "
"always be unset to create a unicast MAC address. If the property is NULL, it "
-"is eligible to be overwritten by a default connection setting. If the value is "
-"still NULL or an empty string, the default is to create a locally-"
-"administered, unicast MAC address. If the value contains one MAC address, this "
-"address is used as mask. The set bits of the mask are to be filled with the "
-"current MAC address of the device, while the unset bits are subject to "
-"randomization. Setting \"FE:FF:FF:00:00:00\" means to preserve the OUI of the "
-"current MAC address and only randomize the lower 3 bytes using the \"random\" "
-"or \"stable\" algorithm. If the value contains one additional MAC address "
-"after the mask, this address is used instead of the current MAC address to "
-"fill the bits that shall not be randomized. For example, a value of \"FE:FF:"
-"FF:00:00:00 68:F7:28:00:00:00\" will set the OUI of the MAC address to 68:"
-"F7:28, while the lower bits are randomized. A value of \"02:00:00:00:00:00 "
-"00:00:00:00:00:00\" will create a fully scrambled globally-administered, "
-"burned-in MAC address. If the value contains more than one additional MAC "
-"addresses, one of them is chosen randomly. For example, \"02:00:00:00:00:00 "
-"00:00:00:00:00:00 02:00:00:00:00:00\" will create a fully scrambled MAC "
-"address, randomly locally or globally administered."
-msgstr ""
-"Если параметр \"cloned-mac-address\" имеет значение \"random\" or \"stable\", "
-"то, по умолчанию, все биты адреса MAC скремблируются, и создаётся локально "
-"администрируемый MAC-адрес одноадресной передачи. Это свойство предоставляет "
-"возможность фиксации некоторых указанных битов. Обратите внимание, что для "
-"создания адреса одноадресной передачи значение наименее важных битов первого "
-"адреса MAC будет отменено. При значении NULL оно подлежит выборке для "
-"перезаписи параметрами подключения по умолчанию. Если значение по-прежнему "
-"останется NULL, либо будет пустой строкой, то, по умолчанию, будет создан "
-"локально администрируемый адрес MAC одноадресной передачи. Если значение "
-"содержит один адрес MAC, то этот адрес используется в качестве маски. "
-"Настроенные биты маски должны быть заполнены текущим MAC-адресом устройства, а "
-"ненастроенные подлежат рандомизации. Значение \"FE:FF:FF:00:00:00\" означает, "
-"что идентификатор OUI текущего адреса должен быть сохранён, а "
-"рандомизироваться должны нижние 3 байта с помощью алгоритмов \"random\" или "
-"\"stable\". Если значение после маски содержит один дополнительный адрес MAC, "
-"то этот адрес используется вместе текущего MAC для заполнения битов, которые "
-"не должны рандомизироваться. Например, значение \"FE:FF:FF:00:00:00 68:"
-"F7:28:00:00:00\" настроит OUI адреса на 68:F7:28, а нижние биты будут "
-"рандомизированы. Значение \"02:00:00:00:00:00 00:00:00:00:00:00\" создаст "
-"полностью скремблированный, глобально администрируемый прожжённый MAC-адрес. "
-"Если значение содержит более одного дополнительного MAC, то один из них "
-"выбирается случайно. Например, значение \"02:00:00:00:00:00 00:00:00:00:00:00 "
-"02:00:00:00:00:00\" создаст полностью скремблированный адрес, рандомно "
-"администрируемый локально или глобально."
+"is eligible to be overwritten by a default connection setting. If the value "
+"is still NULL or an empty string, the default is to create a locally-"
+"administered, unicast MAC address. If the value contains one MAC address, "
+"this address is used as mask. The set bits of the mask are to be filled with "
+"the current MAC address of the device, while the unset bits are subject to "
+"randomization. Setting \"FE:FF:FF:00:00:00\" means to preserve the OUI of "
+"the current MAC address and only randomize the lower 3 bytes using the "
+"\"random\" or \"stable\" algorithm. If the value contains one additional MAC "
+"address after the mask, this address is used instead of the current MAC "
+"address to fill the bits that shall not be randomized. For example, a value "
+"of \"FE:FF:FF:00:00:00 68:F7:28:00:00:00\" will set the OUI of the MAC "
+"address to 68:F7:28, while the lower bits are randomized. A value of "
+"\"02:00:00:00:00:00 00:00:00:00:00:00\" will create a fully scrambled "
+"globally-administered, burned-in MAC address. If the value contains more "
+"than one additional MAC addresses, one of them is chosen randomly. For "
+"example, \"02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00\" will "
+"create a fully scrambled MAC address, randomly locally or globally "
+"administered."
+msgstr ""
+"Если параметр \"cloned-mac-address\" имеет значение \"random\" or "
+"\"stable\", то, по умолчанию, все биты адреса MAC скремблируются, и "
+"создаётся локально администрируемый MAC-адрес одноадресной передачи. Это "
+"свойство предоставляет возможность фиксации некоторых указанных битов. "
+"Обратите внимание, что для создания адреса одноадресной передачи значение "
+"наименее важных битов первого адреса MAC будет отменено. При значении NULL "
+"оно подлежит выборке для перезаписи параметрами подключения по умолчанию. "
+"Если значение по-прежнему останется NULL, либо будет пустой строкой, то, по "
+"умолчанию, будет создан локально администрируемый адрес MAC одноадресной "
+"передачи. Если значение содержит один адрес MAC, то этот адрес используется "
+"в качестве маски. Настроенные биты маски должны быть заполнены текущим MAC-"
+"адресом устройства, а ненастроенные подлежат рандомизации. Значение \"FE:FF:"
+"FF:00:00:00\" означает, что идентификатор OUI текущего адреса должен быть "
+"сохранён, а рандомизироваться должны нижние 3 байта с помощью алгоритмов "
+"\"random\" или \"stable\". Если значение после маски содержит один "
+"дополнительный адрес MAC, то этот адрес используется вместе текущего MAC для "
+"заполнения битов, которые не должны рандомизироваться. Например, значение "
+"\"FE:FF:FF:00:00:00 68:F7:28:00:00:00\" настроит OUI адреса на 68:F7:28, а "
+"нижние биты будут рандомизированы. Значение \"02:00:00:00:00:00 "
+"00:00:00:00:00:00\" создаст полностью скремблированный, глобально "
+"администрируемый прожжённый MAC-адрес. Если значение содержит более одного "
+"дополнительного MAC, то один из них выбирается случайно. Например, значение "
+"\"02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00\" создаст полностью "
+"скремблированный адрес, рандомно администрируемый локально или глобально."
-#: src/libnmc-setting/settings-docs.h.in:381
+#: src/libnmc-setting/settings-docs.h.in:382
msgid ""
"If specified, this connection will only apply to the Ethernet device whose "
"permanent MAC address matches. This property does not change the MAC address "
"of the device (i.e. MAC spoofing)."
msgstr ""
-"Если указано, это подключение будет применяться только к устройству Ethernet, "
-"с соответствующим постоянным адресом MAC. Это свойство не изменяет адрес MAC "
-"устройства (так называемый спуфинг)."
+"Если указано, это подключение будет применяться только к устройству "
+"Ethernet, с соответствующим постоянным адресом MAC. Это свойство не изменяет "
+"адрес MAC устройства (так называемый спуфинг)."
-#: src/libnmc-setting/settings-docs.h.in:382
+#: src/libnmc-setting/settings-docs.h.in:383
msgid ""
"If specified, this connection will never apply to the Ethernet device whose "
-"permanent MAC address matches an address in the list. Each MAC address is in "
-"the standard hex-digits-and-colons notation (00:11:22:33:44:55)."
+"permanent MAC address matches an address in the list. Each MAC address is "
+"in the standard hex-digits-and-colons notation (00:11:22:33:44:55)."
msgstr ""
"Если указано, это подключение никогда не будет применяться к устройству "
-"Ethernet, постоянный MAC-адрес которого соответствует адресу в списке. Каждый "
-"MAC-адрес предоставляется в стандартной нотации шестнадцатеричных цифр и "
-"колоний (00: 11: 22: 33: 44: 55)."
+"Ethernet, постоянный MAC-адрес которого соответствует адресу в списке. "
+"Каждый MAC-адрес предоставляется в стандартной нотации шестнадцатеричных "
+"цифр и колоний (00: 11: 22: 33: 44: 55)."
-#: src/libnmc-setting/settings-docs.h.in:383
-#: src/libnmc-setting/settings-docs.h.in:410
+#: src/libnmc-setting/settings-docs.h.in:384
+#: src/libnmc-setting/settings-docs.h.in:411
#: src/libnmc-setting/settings-docs.h.in:457
msgid ""
-"If non-zero, only transmit packets of the specified size or smaller, breaking "
-"larger packets up into multiple Ethernet frames."
+"If non-zero, only transmit packets of the specified size or smaller, "
+"breaking larger packets up into multiple Ethernet frames."
msgstr ""
"При значении, отличном от нуля, будут передаваться пакеты только указанного "
"или меньшего размера. Более крупные пакеты разбиваются на несколько кадров "
"Ethernet."
-#: src/libnmc-setting/settings-docs.h.in:384
+#: src/libnmc-setting/settings-docs.h.in:385
msgid ""
-"Specific port type to use if the device supports multiple attachment methods. "
-"One of \"tp\" (Twisted Pair), \"aui\" (Attachment Unit Interface), "
+"Specific port type to use if the device supports multiple attachment "
+"methods. One of \"tp\" (Twisted Pair), \"aui\" (Attachment Unit Interface), "
"\"bnc\" (Thin Ethernet) or \"mii\" (Media Independent Interface). If the "
"device supports only one port type, this setting is ignored."
msgstr ""
"Конкретный тип используемого порта, если устройство поддерживает несколько "
"методов присоединения. Один из: «tp» (витая пара), «aui» (интерфейс модуля "
"присоединения), «bnc» (тонкий Ethernet) или «mii» (независящий от среды "
-"передачи интерфейс). Если устройство поддерживает только один тип порта, этот "
-"параметр игнорируется."
+"передачи интерфейс). Если устройство поддерживает только один тип порта, "
+"этот параметр игнорируется."
-#: src/libnmc-setting/settings-docs.h.in:385
+#: src/libnmc-setting/settings-docs.h.in:386
msgid ""
"s390 network device type; one of \"qeth\", \"lcs\", or \"ctc\", representing "
"the different types of virtual network devices available on s390 systems."
msgstr ""
-"Тип сетевого устройства s390; один из: «qeth», «lcs» или «ctc», представляющие "
-"различные типы виртуальных сетевых устройств, доступных в системах s390."
+"Тип сетевого устройства s390; один из: «qeth», «lcs» или «ctc», "
+"представляющие различные типы виртуальных сетевых устройств, доступных в "
+"системах s390."
-#: src/libnmc-setting/settings-docs.h.in:386
+#: src/libnmc-setting/settings-docs.h.in:387
msgid ""
-"Dictionary of key/value pairs of s390-specific device options. Both keys and "
-"values must be strings. Allowed keys include \"portno\", \"layer2\", "
+"Dictionary of key/value pairs of s390-specific device options. Both keys "
+"and values must be strings. Allowed keys include \"portno\", \"layer2\", "
"\"portname\", \"protocol\", among others. Key names must contain only "
"alphanumeric characters (ie, [a-zA-Z0-9]). Currently, NetworkManager itself "
-"does nothing with this information. However, s390utils ships a udev rule which "
-"parses this information and applies it to the interface."
+"does nothing with this information. However, s390utils ships a udev rule "
+"which parses this information and applies it to the interface."
msgstr ""
"Словарь пар «ключ/значение» параметров устройств, имеющих отношение к s390. "
"Как ключи, так и значения должны быть представлены строками. К числу "
"разрешённых ключей относятся: «portno», «layer2», «portname», «protocol» и "
-"другие. Имена ключей должны содержать только буквенно-цифровые символы (т. е. "
-"[A-zA-Z0-9]). На данный момент NetworkManager никак не реагирует на эти "
+"другие. Имена ключей должны содержать только буквенно-цифровые символы (т. "
+"е. [A-zA-Z0-9]). На данный момент NetworkManager никак не реагирует на эти "
"сведения, но s390utils поставляет правило udev, которое обрабатывает эти "
"сведения и применяет их к интерфейсу."
-#: src/libnmc-setting/settings-docs.h.in:387
+#: src/libnmc-setting/settings-docs.h.in:388
msgid ""
"Identifies specific subchannels that this network device uses for "
"communication with z/VM or s390 host. Like the \"mac-address\" property for "
"non-z/VM devices, this property can be used to ensure this connection only "
"applies to the network device that uses these subchannels. The list should "
-"contain exactly 3 strings, and each string may only be composed of hexadecimal "
-"characters and the period (.) character."
+"contain exactly 3 strings, and each string may only be composed of "
+"hexadecimal characters and the period (.) character."
msgstr ""
"Идентифицирует конкретные подканалы, используемые данным сетевым устройством "
-"для обмена информацией с хостами z/VM или s390. Как и в случае свойства \"mac-"
-"address\" для устройств, не относящихся к z/VM, этот параметр можно "
-"использовать для обеспечения того, чтобы данное подключение применялось только "
-"к тем устройствам подсети, которые используют данные подканалы. В списке "
-"должно присутствовать ровно 3 строки, и каждая строка должна состоять только "
-"из шестнадцатеричных символов и символа точки (.)."
+"для обмена информацией с хостами z/VM или s390. Как и в случае свойства "
+"\"mac-address\" для устройств, не относящихся к z/VM, этот параметр можно "
+"использовать для обеспечения того, чтобы данное подключение применялось "
+"только к тем устройствам подсети, которые используют данные подканалы. В "
+"списке должно присутствовать ровно 3 строки, и каждая строка должна состоять "
+"только из шестнадцатеричных символов и символа точки (.)."
-#: src/libnmc-setting/settings-docs.h.in:388
+#: src/libnmc-setting/settings-docs.h.in:389
msgid ""
-"When a value greater than 0 is set, configures the device to use the specified "
-"speed. If \"auto-negotiate\" is \"yes\" the specified speed will be the only "
-"one advertised during link negotiation: this works only for BASE-T 802.3 "
-"specifications and is useful for enforcing gigabit speeds, as in this case "
-"link negotiation is mandatory. If the value is unset (0, the default), the "
-"link configuration will be either skipped (if \"auto-negotiate\" is \"no\", "
-"the default) or will be auto-negotiated (if \"auto-negotiate\" is \"yes\") and "
-"the local device will advertise all the supported speeds. In Mbit/s, ie 100 == "
-"100Mbit/s. Must be set together with the \"duplex\" property when non-zero. "
-"Before specifying a speed value be sure your device supports it."
+"When a value greater than 0 is set, configures the device to use the "
+"specified speed. If \"auto-negotiate\" is \"yes\" the specified speed will "
+"be the only one advertised during link negotiation: this works only for BASE-"
+"T 802.3 specifications and is useful for enforcing gigabit speeds, as in "
+"this case link negotiation is mandatory. If the value is unset (0, the "
+"default), the link configuration will be either skipped (if \"auto-"
+"negotiate\" is \"no\", the default) or will be auto-negotiated (if \"auto-"
+"negotiate\" is \"yes\") and the local device will advertise all the "
+"supported speeds. In Mbit/s, ie 100 == 100Mbit/s. Must be set together with "
+"the \"duplex\" property when non-zero. Before specifying a speed value be "
+"sure your device supports it."
msgstr ""
"При указании значения большего, чем 0, параметр настраивает на устройстве "
-"использование указанной скорости. Если для \"auto-negotiate\" указано значение "
-"«да», то указанная скорость будет только той, которая была объявлена во время "
-"согласования каналов: это эффективно только для спецификаций BASE-T 802.3 и "
-"обычно применяется для принудительного включения гигабитных скоростей, "
-"поскольку в этом случае согласование каналов является обязательным. Если "
-"значение не указано (0, т.е. значение по умолчанию), то согласование каналов "
-"будет либо пропущено (при значении «нет» для \"auto-negotiate\", т.е. при "
-"значении по умолчанию), либо будет автоматическим (при значении «да» для "
-"\"auto-negotiate\"), а локальное устройство объявит обо всех поддерживаемых "
-"скоростях. Единицы: Мбит/сек, то есть 100 == 100Мбит/сек. При ненулевом "
-"значении это свойство необходимо настраивать вместе со значением дуплекса. "
-"Перед указанием скорости убедитесь в том, что имеющееся устройство её "
-"поддерживает."
+"использование указанной скорости. Если для \"auto-negotiate\" указано "
+"значение «да», то указанная скорость будет только той, которая была "
+"объявлена во время согласования каналов: это эффективно только для "
+"спецификаций BASE-T 802.3 и обычно применяется для принудительного включения "
+"гигабитных скоростей, поскольку в этом случае согласование каналов является "
+"обязательным. Если значение не указано (0, т.е. значение по умолчанию), то "
+"согласование каналов будет либо пропущено (при значении «нет» для \"auto-"
+"negotiate\", т.е. при значении по умолчанию), либо будет автоматическим (при "
+"значении «да» для \"auto-negotiate\"), а локальное устройство объявит обо "
+"всех поддерживаемых скоростях. Единицы: Мбит/сек, то есть 100 == 100Мбит/"
+"сек. При ненулевом значении это свойство необходимо настраивать вместе со "
+"значением дуплекса. Перед указанием скорости убедитесь в том, что имеющееся "
+"устройство её поддерживает."
-#: src/libnmc-setting/settings-docs.h.in:389
+#: src/libnmc-setting/settings-docs.h.in:390
msgid ""
"The NMSettingWiredWakeOnLan options to enable. Not all devices support all "
"options. May be any combination of \"phy\" (0x2), \"unicast\" (0x4), "
-"\"multicast\" (0x8), \"broadcast\" (0x10), \"arp\" (0x20), \"magic\" (0x40) or "
-"the special values \"default\" (0x1) (to use global settings) and "
+"\"multicast\" (0x8), \"broadcast\" (0x10), \"arp\" (0x20), \"magic\" (0x40) "
+"or the special values \"default\" (0x1) (to use global settings) and "
"\"ignore\" (0x8000) (to disable management of Wake-on-LAN in NetworkManager)."
msgstr ""
"Параметры NMSettingWiredWakeOnLan для включения. Не все устройства "
-"поддерживают все параметры. Возможна любая комбинация следующих возможностей: "
-"\"phy\" (0x2), \"unicast\" (0x4), \"multicast\"(0x8), \"broadcast\" (0x10), "
-"\"arp\" (0x20), \"magic\" (0x40) или специальных значений \"default\" (0x1) "
-"(использовать глобальные настройки) и \"ignore\" (0x8000) (чтобы отключить "
-"управление Wake-on-LAN в NetworkManager)."
+"поддерживают все параметры. Возможна любая комбинация следующих "
+"возможностей: \"phy\" (0x2), \"unicast\" (0x4), \"multicast\"(0x8), "
+"\"broadcast\" (0x10), \"arp\" (0x20), \"magic\" (0x40) или специальных "
+"значений \"default\" (0x1) (использовать глобальные настройки) и "
+"\"ignore\" (0x8000) (чтобы отключить управление Wake-on-LAN в "
+"NetworkManager)."
-#: src/libnmc-setting/settings-docs.h.in:390
+#: src/libnmc-setting/settings-docs.h.in:391
msgid ""
"If specified, the password used with magic-packet-based Wake-on-LAN, "
-"represented as an Ethernet MAC address. If NULL, no password will be required."
+"represented as an Ethernet MAC address. If NULL, no password will be "
+"required."
msgstr ""
"Если указано, пароль используется с использованием Wake-on-LAN с волшебным "
"пакетом, представленным как адрес MAC Ethernet. Если NULL, пароль не "
"потребуется."
-#: src/libnmc-setting/settings-docs.h.in:391
+#: src/libnmc-setting/settings-docs.h.in:392
msgid ""
-"The use of fwmark is optional and is by default off. Setting it to 0 disables "
-"it. Otherwise, it is a 32-bit fwmark for outgoing packets. Note that \"ip4-"
-"auto-default-route\" or \"ip6-auto-default-route\" enabled, implies to "
-"automatically choose a fwmark."
+"The use of fwmark is optional and is by default off. Setting it to 0 "
+"disables it. Otherwise, it is a 32-bit fwmark for outgoing packets. Note "
+"that \"ip4-auto-default-route\" or \"ip6-auto-default-route\" enabled, "
+"implies to automatically choose a fwmark."
msgstr ""
-"Использование фильтра fwmark является необязательным и по умолчанию отключено. "
-"Значение 0 отключает использование. В противном случае используется 32-битный "
-"fwmark для исходящих пакетов. Обратите внимание, что активация \"ip4-auto-"
-"default-route\" или \"ip6-auto-default-route\" подразумевает автоматический "
-"выбор fwmark."
+"Использование фильтра fwmark является необязательным и по умолчанию "
+"отключено. Значение 0 отключает использование. В противном случае "
+"используется 32-битный fwmark для исходящих пакетов. Обратите внимание, что "
+"активация \"ip4-auto-default-route\" или \"ip6-auto-default-route\" "
+"подразумевает автоматический выбор fwmark."
-#: src/libnmc-setting/settings-docs.h.in:392
+#: src/libnmc-setting/settings-docs.h.in:393
msgid ""
-"Whether to enable special handling of the IPv4 default route. If enabled, the "
-"IPv4 default route from wireguard.peer-routes will be placed to a dedicated "
-"routing-table and two policy routing rules will be added. The fwmark number is "
-"also used as routing-table for the default-route, and if fwmark is zero, an "
-"unused fwmark/table is chosen automatically. This corresponds to what wg-quick "
-"does with Table=auto and what WireGuard calls \"Improved Rule-based Routing\". "
-"Note that for this automatism to work, you usually don't want to set ipv4."
-"gateway, because that will result in a conflicting default route. Leaving this "
-"at the default will enable this option automatically if ipv4.never-default is "
-"not set and there are any peers that use a default-route as allowed-ips. Since "
-"this automatism only makes sense if you also have a peer with an /0 allowed-"
-"ips, it is usually not necessary to enable this explicitly. However, you can "
-"disable it if you want to configure your own routing and rules."
-msgstr ""
-"Нужно ли активировать специальную обработку маршрутов IPv4 по умолчанию. Если "
-"включено, то изначальные маршруты IPv4 из wireguard.peer-routes будут "
+"Whether to enable special handling of the IPv4 default route. If enabled, "
+"the IPv4 default route from wireguard.peer-routes will be placed to a "
+"dedicated routing-table and two policy routing rules will be added. The "
+"fwmark number is also used as routing-table for the default-route, and if "
+"fwmark is zero, an unused fwmark/table is chosen automatically. This "
+"corresponds to what wg-quick does with Table=auto and what WireGuard calls "
+"\"Improved Rule-based Routing\". Note that for this automatism to work, you "
+"usually don't want to set ipv4.gateway, because that will result in a "
+"conflicting default route. Leaving this at the default will enable this "
+"option automatically if ipv4.never-default is not set and there are any "
+"peers that use a default-route as allowed-ips. Since this automatism only "
+"makes sense if you also have a peer with an /0 allowed-ips, it is usually "
+"not necessary to enable this explicitly. However, you can disable it if you "
+"want to configure your own routing and rules."
+msgstr ""
+"Нужно ли активировать специальную обработку маршрутов IPv4 по умолчанию. "
+"Если включено, то изначальные маршруты IPv4 из wireguard.peer-routes будут "
"размещены в специальной таблице маршрутизации, а также будут добавлено два "
"правила в политику маршрутизации. Число fwmark также используется в качестве "
"таблицы маршрутизации для маршрута по умолчанию, и если оно равно нулю, то "
-"автоматически будет выбрана неиспользуемая таблица/fwmark. Это соответствует "
-"действиям wg-quick с параметром «Table=auto» и тому, что в WireGuard "
-"называется «улучшенной маршрутизацией на основе правил». Обратите внимание, "
-"что для того, чтобы эта автоматизация сработала, обычно не требуется "
-"настраивать ipv4.gateway, так как это приведёт к конфликтующим маршрутам по "
-"умолчанию. Значение данного параметра по умолчанию активирует его "
-"автоматически в отсутствии ipv4.never-default, и если есть одноранговые узлы, "
-"использующие default-route как allowed-ips. Поскольку эта автоматизация имеет "
-"смысл только при наличии однорангового узла со значением /0 для «allowed-"
-"ips», то обычно явном образом данный параметр включать не требуется. Тем не "
-"менее, при желании настроить свои собственные правила и маршрутизацию, этот "
-"параметр можно отключить."
+"автоматически будет выбрана неиспользуемая таблица/fwmark. Это "
+"соответствует действиям wg-quick с параметром «Table=auto» и тому, что в "
+"WireGuard называется «улучшенной маршрутизацией на основе правил». Обратите "
+"внимание, что для того, чтобы эта автоматизация сработала, обычно не "
+"требуется настраивать ipv4.gateway, так как это приведёт к конфликтующим "
+"маршрутам по умолчанию. Значение данного параметра по умолчанию активирует "
+"его автоматически в отсутствии ipv4.never-default, и если есть одноранговые "
+"узлы, использующие default-route как allowed-ips. Поскольку эта "
+"автоматизация имеет смысл только при наличии однорангового узла со "
+"значением /0 для «allowed-ips», то обычно явном образом данный параметр "
+"включать не требуется. Тем не менее, при желании настроить свои собственные "
+"правила и маршрутизацию, этот параметр можно отключить."
-#: src/libnmc-setting/settings-docs.h.in:393
+#: src/libnmc-setting/settings-docs.h.in:394
msgid "Like ip4-auto-default-route, but for the IPv6 default route."
msgstr "Аналог ip4-auto-default-route, но для маршрута IPv6 по умолчанию."
-#: src/libnmc-setting/settings-docs.h.in:394
+#: src/libnmc-setting/settings-docs.h.in:395
msgid ""
"The listen-port. If listen-port is not specified, the port will be chosen "
"randomly when the interface comes up."
@@ -10373,59 +10505,59 @@ msgstr ""
"Порт для прослушивания (listen-port). Если listen-port не указан, порт будет "
"выбираться автоматически во время запуска интерфейса."
-#: src/libnmc-setting/settings-docs.h.in:395
+#: src/libnmc-setting/settings-docs.h.in:396
msgid ""
-"If non-zero, only transmit packets of the specified size or smaller, breaking "
-"larger packets up into multiple fragments. If zero a default MTU is used. Note "
-"that contrary to wg-quick's MTU setting, this does not take into account the "
-"current routes at the time of activation."
+"If non-zero, only transmit packets of the specified size or smaller, "
+"breaking larger packets up into multiple fragments. If zero a default MTU is "
+"used. Note that contrary to wg-quick's MTU setting, this does not take into "
+"account the current routes at the time of activation."
msgstr ""
"При значении, отличном от нуля, будут пересылаться пакеты указанного или "
-"меньшего размера, а большие пакеты будут разбиваться на несколько фрагментов. "
-"При нулевом значении используется MTU по умолчанию. Обратите внимание, что, в "
-"отличие от параметров MTU для wg-quick, данный параметр не принимает во "
-"внимание текущие маршруты, существующие во время активации."
+"меньшего размера, а большие пакеты будут разбиваться на несколько "
+"фрагментов. При нулевом значении используется MTU по умолчанию. Обратите "
+"внимание, что, в отличие от параметров MTU для wg-quick, данный параметр не "
+"принимает во внимание текущие маршруты, существующие во время активации."
-#: src/libnmc-setting/settings-docs.h.in:396
+#: src/libnmc-setting/settings-docs.h.in:397
msgid ""
-"Whether to automatically add routes for the AllowedIPs ranges of the peers. If "
-"TRUE (the default), NetworkManager will automatically add routes in the "
-"routing tables according to ipv4.route-table and ipv6.route-table. Usually you "
-"want this automatism enabled. If FALSE, no such routes are added "
+"Whether to automatically add routes for the AllowedIPs ranges of the peers. "
+"If TRUE (the default), NetworkManager will automatically add routes in the "
+"routing tables according to ipv4.route-table and ipv6.route-table. Usually "
+"you want this automatism enabled. If FALSE, no such routes are added "
"automatically. In this case, the user may want to configure static routes in "
-"ipv4.routes and ipv6.routes, respectively. Note that if the peer's AllowedIPs "
-"is \"0.0.0.0/0\" or \"::/0\" and the profile's ipv4.never-default or ipv6."
-"never-default setting is enabled, the peer route for this peer won't be added "
-"automatically."
+"ipv4.routes and ipv6.routes, respectively. Note that if the peer's "
+"AllowedIPs is \"0.0.0.0/0\" or \"::/0\" and the profile's ipv4.never-default "
+"or ipv6.never-default setting is enabled, the peer route for this peer won't "
+"be added automatically."
msgstr ""
"Нужно ли автоматически добавлять маршруты для диапазонов AllowedIPs "
-"одноранговых узлов. Если ВЕРНО (по умолчанию), то NetworkManager автоматически "
-"добавит маршруты в таблицу согласно ipv4.route-table и ipv6.route-table. Если "
-"ЛОЖНО, то такие маршруты не будут добавляться автоматически. В таком случае "
-"пользователю нужно будет настроить статические маршруты в ipv4.routes и ipv6."
-"routes, соответственно. Обратите внимание, что если AllowedIP однорангового "
-"узла имеет значение \"0.0.0.0/0\" или \"::/0\", и активирован параметр ipv4."
-"never-default или ipv6.never-default профиля, то маршрут однорангового узла не "
-"будет добавляться автоматически."
+"одноранговых узлов. Если ВЕРНО (по умолчанию), то NetworkManager "
+"автоматически добавит маршруты в таблицу согласно ipv4.route-table и ipv6."
+"route-table. Если ЛОЖНО, то такие маршруты не будут добавляться "
+"автоматически. В таком случае пользователю нужно будет настроить статические "
+"маршруты в ipv4.routes и ipv6.routes, соответственно. Обратите внимание, что "
+"если AllowedIP однорангового узла имеет значение \"0.0.0.0/0\" или \"::/0\", "
+"и активирован параметр ipv4.never-default или ipv6.never-default профиля, то "
+"маршрут однорангового узла не будет добавляться автоматически."
-#: src/libnmc-setting/settings-docs.h.in:397
+#: src/libnmc-setting/settings-docs.h.in:398
msgid "The 256 bit private-key in base64 encoding."
msgstr "Частный ключ в 256 бит в кодировке base64."
-#: src/libnmc-setting/settings-docs.h.in:398
+#: src/libnmc-setting/settings-docs.h.in:399
msgid "Flags indicating how to handle the \"private-key\" property."
msgstr "Флаги, указывающие, как нужно обрабатывать свойство «private-key»."
-#: src/libnmc-setting/settings-docs.h.in:399
+#: src/libnmc-setting/settings-docs.h.in:400
msgid ""
-"Configures AP isolation, which prevents communication between wireless devices "
-"connected to this AP. This property can be set to a value different from "
-"\"default\" (-1) only when the interface is configured in AP mode. If set to "
-"\"true\" (1), devices are not able to communicate with each other. This "
-"increases security because it protects devices against attacks from other "
-"clients in the network. At the same time, it prevents devices to access "
-"resources on the same wireless networks as file shares, printers, etc. If set "
-"to \"false\" (0), devices can talk to each other. When set to "
+"Configures AP isolation, which prevents communication between wireless "
+"devices connected to this AP. This property can be set to a value different "
+"from \"default\" (-1) only when the interface is configured in AP mode. If "
+"set to \"true\" (1), devices are not able to communicate with each other. "
+"This increases security because it protects devices against attacks from "
+"other clients in the network. At the same time, it prevents devices to "
+"access resources on the same wireless networks as file shares, printers, "
+"etc. If set to \"false\" (0), devices can talk to each other. When set to "
"\"default\" (-1), the global default is used; in case the global default is "
"unspecified it is assumed to be \"false\" (0)."
msgstr ""
@@ -10433,120 +10565,120 @@ msgstr ""
"беспроводными устройствами, подключённым к этой точке доступа. Для данного "
"свойства можно установить значение, отличное от значения \"default\" (-1), "
"только если интерфейс настроен в режиме точки доступа. Если указать "
-"\"true\" (1), то устройства не смогут обмениваться информацией друг с другом. "
-"Это свойство повышает безопасность, так как защищает устройства от атак с "
-"других клиентов в сети. В тоже время оно препятствует доступу устройств к "
-"таким общим ресурсам в одной беспроводной сети, как файлы, принтеры и так "
-"далее. Если указать \"false\" (0), то устройства смогут подключаться друг к "
-"другу. Если указать \"default\" (-1), то будет использоваться глобальное "
-"значение по умолчанию; в случае его отсутствия, подразумевается значение "
-"\"false\" (0)."
+"\"true\" (1), то устройства не смогут обмениваться информацией друг с "
+"другом. Это свойство повышает безопасность, так как защищает устройства от "
+"атак с других клиентов в сети. В тоже время оно препятствует доступу "
+"устройств к таким общим ресурсам в одной беспроводной сети, как файлы, "
+"принтеры и так далее. Если указать \"false\" (0), то устройства смогут "
+"подключаться друг к другу. Если указать \"default\" (-1), то будет "
+"использоваться глобальное значение по умолчанию; в случае его отсутствия, "
+"подразумевается значение \"false\" (0)."
-#: src/libnmc-setting/settings-docs.h.in:400
+#: src/libnmc-setting/settings-docs.h.in:401
msgid ""
-"802.11 frequency band of the network. One of \"a\" for 5GHz 802.11a or \"bg\" "
-"for 2.4GHz 802.11. This will lock associations to the Wi-Fi network to the "
-"specific band, i.e. if \"a\" is specified, the device will not associate with "
-"the same network in the 2.4GHz band even if the network's settings are "
-"compatible. This setting depends on specific driver capability and may not "
-"work with all drivers."
+"802.11 frequency band of the network. One of \"a\" for 5GHz 802.11a or "
+"\"bg\" for 2.4GHz 802.11. This will lock associations to the Wi-Fi network "
+"to the specific band, i.e. if \"a\" is specified, the device will not "
+"associate with the same network in the 2.4GHz band even if the network's "
+"settings are compatible. This setting depends on specific driver capability "
+"and may not work with all drivers."
msgstr ""
"Частотный диапазон 802.11 сети. Может иметь значение «а» для 5 ГГц 802.11a, "
"или «bg» для 2.4GHz 802.11. Значение закрепляет ассоциации с сетью Wi-Fi в "
"определенном диапазоне, т. е., если указано «a», устройство не будет "
"сопоставляться с этой же сетью в диапазоне 2,4 ГГц, даже если параметры сети "
-"совместимы. Этот параметр зависит от возможностей конкретных драйверов и может "
-"не работать со всеми драйверами."
+"совместимы. Этот параметр зависит от возможностей конкретных драйверов и "
+"может не работать со всеми драйверами."
-#: src/libnmc-setting/settings-docs.h.in:401
+#: src/libnmc-setting/settings-docs.h.in:402
msgid ""
"If specified, directs the device to only associate with the given access "
"point. This capability is highly driver dependent and not supported by all "
-"devices. Note: this property does not control the BSSID used when creating an "
-"Ad-Hoc network and is unlikely to in the future. Locking a client profile to a "
-"certain BSSID will prevent roaming and also disable background scanning. That "
-"can be useful, if there is only one access point for the SSID."
+"devices. Note: this property does not control the BSSID used when creating "
+"an Ad-Hoc network and is unlikely to in the future. Locking a client profile "
+"to a certain BSSID will prevent roaming and also disable background "
+"scanning. That can be useful, if there is only one access point for the SSID."
msgstr ""
"Если указано, то устройство будет сопоставляться только с указанной точкой "
-"доступа. Эта возможность сильно зависит от драйверов и поддерживается не всеми "
-"устройствами. Внимание: это свойство не контролирует BSSID, используемый при "
-"создании сетей без точек доступа, и вряд ли будет контролировать в будущем. "
-"Привязка профиля клиента к конкретному BSSID предотвратит роуминг и также "
-"отключит фоновое сканирование. Параметр может оказаться удобным, если для SSID "
-"есть только одна точка доступа."
+"доступа. Эта возможность сильно зависит от драйверов и поддерживается не "
+"всеми устройствами. Внимание: это свойство не контролирует BSSID, "
+"используемый при создании сетей без точек доступа, и вряд ли будет "
+"контролировать в будущем. Привязка профиля клиента к конкретному BSSID "
+"предотвратит роуминг и также отключит фоновое сканирование. Параметр может "
+"оказаться удобным, если для SSID есть только одна точка доступа."
-#: src/libnmc-setting/settings-docs.h.in:402
+#: src/libnmc-setting/settings-docs.h.in:403
msgid ""
"Wireless channel to use for the Wi-Fi connection. The device will only join "
"(or create for Ad-Hoc networks) a Wi-Fi network on the specified channel. "
-"Because channel numbers overlap between bands, this property also requires the "
-"\"band\" property to be set."
+"Because channel numbers overlap between bands, this property also requires "
+"the \"band\" property to be set."
msgstr ""
"Беспроводной канал, используемый для подключений Wi-Fi. Устройство будет "
-"присоединяться к сети Wi-Fi (или создавать, в случае сетей без точек доступа) "
-"только по указанному каналу. Поскольку между диапазонами номера каналов "
-"перекрываются, при использовании этого свойства также необходимо настроить "
-"свойство «band»."
+"присоединяться к сети Wi-Fi (или создавать, в случае сетей без точек "
+"доступа) только по указанному каналу. Поскольку между диапазонами номера "
+"каналов перекрываются, при использовании этого свойства также необходимо "
+"настроить свойство «band»."
-#: src/libnmc-setting/settings-docs.h.in:403
+#: src/libnmc-setting/settings-docs.h.in:404
msgid ""
"If specified, request that the device use this MAC address instead. This is "
-"known as MAC cloning or spoofing. Beside explicitly specifying a MAC address, "
-"the special values \"preserve\", \"permanent\", \"random\", \"stable\" and "
-"\"stable-ssid\" are supported. \"preserve\" means not to touch the MAC address "
-"on activation. \"permanent\" means to use the permanent hardware address of "
-"the device. \"random\" creates a random MAC address on each connect. "
-"\"stable\" creates a hashed MAC address based on connection.stable-id and a "
-"machine dependent key. \"stable-ssid\" creates a hashed MAC address based on "
-"the SSID, the same as setting the stable-id to \"${NETWORK_SSID}\". If "
-"unspecified, the value can be overwritten via global defaults, see manual of "
-"NetworkManager.conf. If still unspecified, it defaults to \"preserve\" (older "
-"versions of NetworkManager may use a different default value). On D-Bus, this "
-"field is expressed as \"assigned-mac-address\" or the deprecated \"cloned-mac-"
-"address\"."
+"known as MAC cloning or spoofing. Beside explicitly specifying a MAC "
+"address, the special values \"preserve\", \"permanent\", \"random\", "
+"\"stable\" and \"stable-ssid\" are supported. \"preserve\" means not to "
+"touch the MAC address on activation. \"permanent\" means to use the "
+"permanent hardware address of the device. \"random\" creates a random MAC "
+"address on each connect. \"stable\" creates a hashed MAC address based on "
+"connection.stable-id and a machine dependent key. \"stable-ssid\" creates a "
+"hashed MAC address based on the SSID, the same as setting the stable-id to "
+"\"${NETWORK_SSID}\". If unspecified, the value can be overwritten via global "
+"defaults, see manual of NetworkManager.conf. If still unspecified, it "
+"defaults to \"preserve\" (older versions of NetworkManager may use a "
+"different default value). On D-Bus, this field is expressed as \"assigned-"
+"mac-address\" or the deprecated \"cloned-mac-address\"."
msgstr ""
"При указанном параметре делается запрос на использование именно этого адреса "
"MAC. Данная технология известна как «клонирование MAC» или «спуфинг». Кроме "
"явного указания адреса MAC, также поддерживаются специальные значения "
"\"preserve\", \"permanent\", \"random\" и \"stable-ssid\". \"Preserve\" "
"означает, что адрес MAC не будет изменяться при активации, \"permanent\" — "
-"необходимость использовать постоянный аппаратный адрес устройства, \"random\" "
-"— создаёт случайный MAC при каждом подключении, \"stable\" — создаёт "
-"хэшированный MAC на базе идентификатора connection.stable-id и "
+"необходимость использовать постоянный аппаратный адрес устройства, "
+"\"random\" — создаёт случайный MAC при каждом подключении, \"stable\" — "
+"создаёт хэшированный MAC на базе идентификатора connection.stable-id и "
"машинозависимого ключа. \"stable-ssid\" создает хэшированный MAC-адрес на "
-"основе SSID, как и установка stable-id в \"${NETWORK_SSID}\". Если не указано, "
-"значение может переопределяться глобальными значениями по умолчанию, смотрите "
-"руководство для NetworkManager.conf. Если и в этом случае значение не будет "
-"указано, то по умолчанию используется \"preserve\" (в более старых версиях "
-"NetworkManager по умолчанию может использоваться другое значение). Для D-Bus "
-"это поле выражается в виде \"assigned-mac-address\", либо (устаревшее "
-"значение) \"cloned-mac-address\"."
+"основе SSID, как и установка stable-id в \"${NETWORK_SSID}\". Если не "
+"указано, значение может переопределяться глобальными значениями по "
+"умолчанию, смотрите руководство для NetworkManager.conf. Если и в этом "
+"случае значение не будет указано, то по умолчанию используется "
+"\"preserve\" (в более старых версиях NetworkManager по умолчанию может "
+"использоваться другое значение). Для D-Bus это поле выражается в виде "
+"\"assigned-mac-address\", либо (устаревшее значение) \"cloned-mac-address\"."
-#: src/libnmc-setting/settings-docs.h.in:405
+#: src/libnmc-setting/settings-docs.h.in:406
msgid ""
"If TRUE, indicates that the network is a non-broadcasting network that hides "
"its SSID. This works both in infrastructure and AP mode. In infrastructure "
"mode, various workarounds are used for a more reliable discovery of hidden "
-"networks, such as probe-scanning the SSID. However, these workarounds expose "
-"inherent insecurities with hidden SSID networks, and thus hidden SSID networks "
-"should be used with caution. In AP mode, the created network does not "
-"broadcast its SSID. Note that marking the network as hidden may be a privacy "
-"issue for you (in infrastructure mode) or client stations (in AP mode), as the "
-"explicit probe-scans are distinctly recognizable on the air."
-msgstr ""
-"Значение ВЕРНО указывает, что сеть не является транслирующей, а её SSID будет "
-"скрыт. Значение работает как в режиме инфраструктуры, так и в режиме точки "
-"доступа. В режиме инфраструктуры используются несколько обходных способов "
-"более надёжного распознания скрытых сетей, такие, как сканирование SSID. Тем "
-"не менее, эти обходные способы раскрывают уязвимости, присущие сетям со "
-"скрытыми SSID, и поэтому сети со скрытыми SSID должны создаваться с "
-"осторожностью. В режиме точки доступа созданная сеть не транслирует свой SSID. "
-"Обратите внимание, что обозначение сети, как скрытой, может представлять "
-"собой проблему конфиденциальности для станций (в режиме инфраструктуры) или "
-"для станций клиента (в режиме точки доступа), поскольку явные сканирования "
-"проб чётко опознаются в эфире."
+"networks, such as probe-scanning the SSID. However, these workarounds "
+"expose inherent insecurities with hidden SSID networks, and thus hidden SSID "
+"networks should be used with caution. In AP mode, the created network does "
+"not broadcast its SSID. Note that marking the network as hidden may be a "
+"privacy issue for you (in infrastructure mode) or client stations (in AP "
+"mode), as the explicit probe-scans are distinctly recognizable on the air."
+msgstr ""
+"Значение ВЕРНО указывает, что сеть не является транслирующей, а её SSID "
+"будет скрыт. Значение работает как в режиме инфраструктуры, так и в режиме "
+"точки доступа. В режиме инфраструктуры используются несколько обходных "
+"способов более надёжного распознания скрытых сетей, такие, как сканирование "
+"SSID. Тем не менее, эти обходные способы раскрывают уязвимости, присущие "
+"сетям со скрытыми SSID, и поэтому сети со скрытыми SSID должны создаваться с "
+"осторожностью. В режиме точки доступа созданная сеть не транслирует свой "
+"SSID. Обратите внимание, что обозначение сети, как скрытой, может "
+"представлять собой проблему конфиденциальности для станций (в режиме "
+"инфраструктуры) или для станций клиента (в режиме точки доступа), поскольку "
+"явные сканирования проб чётко опознаются в эфире."
-#: src/libnmc-setting/settings-docs.h.in:406
+#: src/libnmc-setting/settings-docs.h.in:407
msgid ""
"If specified, this connection will only apply to the Wi-Fi device whose "
"permanent MAC address matches. This property does not change the MAC address "
@@ -10556,7 +10688,7 @@ msgstr ""
"соответствующим постоянным адресом MAC. Это свойство не изменяет адрес MAC "
"устройства (так называемый спуфинг)."
-#: src/libnmc-setting/settings-docs.h.in:407
+#: src/libnmc-setting/settings-docs.h.in:408
msgid ""
"A list of permanent MAC addresses of Wi-Fi devices to which this connection "
"should never apply. Each MAC address should be given in the standard hex-"
@@ -10567,7 +10699,7 @@ msgstr ""
"нотации шестнадцатеричных цифр и двоеточий (например, «00: 11: 22: 33: 44: "
"55»)."
-#: src/libnmc-setting/settings-docs.h.in:408
+#: src/libnmc-setting/settings-docs.h.in:409
msgid ""
"One of \"default\" (0) (never randomize unless the user has set a global "
"default to randomize and the supplicant supports randomization), "
@@ -10575,46 +10707,46 @@ msgid ""
"randomize the MAC address)."
msgstr ""
"Один из вариантов: \"default\" (0) (никогда не рандомизировать, если "
-"пользователь не установил глобальное значение по умолчанию для рандомизации и "
-"суппликант поддерживает рандомизацию), \"never\" (1) (никогда не "
+"пользователь не установил глобальное значение по умолчанию для рандомизации "
+"и суппликант поддерживает рандомизацию), \"never\" (1) (никогда не "
"рандомизировать MAC-адрес) или \"always\" (2) (всегда рандомизировать MAC-"
"адрес)."
-#: src/libnmc-setting/settings-docs.h.in:409
+#: src/libnmc-setting/settings-docs.h.in:410
msgid ""
-"Wi-Fi network mode; one of \"infrastructure\", \"mesh\", \"adhoc\" or \"ap\". "
-"If blank, infrastructure is assumed."
+"Wi-Fi network mode; one of \"infrastructure\", \"mesh\", \"adhoc\" or "
+"\"ap\". If blank, infrastructure is assumed."
msgstr ""
-"Режим сети Wi-Fi; одно из значений: \"infrastructure\", \"mesh\", \"adhoc\" or "
-"\"ap\" (точка доступа). При пустом значении предполагается инфраструктура."
+"Режим сети Wi-Fi; одно из значений: \"infrastructure\", \"mesh\", \"adhoc\" "
+"or \"ap\" (точка доступа). При пустом значении предполагается инфраструктура."
-#: src/libnmc-setting/settings-docs.h.in:411
+#: src/libnmc-setting/settings-docs.h.in:412
msgid ""
-"One of \"disable\" (2) (disable Wi-Fi power saving), \"enable\" (3) (enable Wi-"
-"Fi power saving), \"ignore\" (1) (don't touch currently configure setting) or "
-"\"default\" (0) (use the globally configured value). All other values are "
-"reserved."
+"One of \"disable\" (2) (disable Wi-Fi power saving), \"enable\" (3) (enable "
+"Wi-Fi power saving), \"ignore\" (1) (don't touch currently configure "
+"setting) or \"default\" (0) (use the globally configured value). All other "
+"values are reserved."
msgstr ""
"Одно из следующих значений: \"disable\" (2) (отключает энергосбережение Wi-"
"Fi), \"enable\" (3) (включает энергосбережение Wi-Fi), \"ignore\" (1) (не "
"трогать текущую конфигурацию) или \"default\" (0) (используется глобально "
"настроенное значение). Все остальные значения зарезервированы."
-#: src/libnmc-setting/settings-docs.h.in:412
-#: src/libnmc-setting/settings-docs.h.in:415
+#: src/libnmc-setting/settings-docs.h.in:413
+#: src/libnmc-setting/settings-docs.h.in:416
msgid "This property is not implemented and has no effect."
msgstr "Это свойство не реализовано и не имеет никакого эффекта."
-#: src/libnmc-setting/settings-docs.h.in:413
+#: src/libnmc-setting/settings-docs.h.in:414
msgid ""
"A list of BSSIDs (each BSSID formatted as a MAC address like "
-"\"00:11:22:33:44:55\") that have been detected as part of the Wi-Fi network. "
-"NetworkManager internally tracks previously seen BSSIDs. The property is only "
-"meant for reading and reflects the BSSID list of NetworkManager. The changes "
-"you make to this property will not be preserved. This is not a regular "
-"property that the user would configure. Instead, NetworkManager automatically "
-"sets the seen BSSIDs and tracks them internally in \"/var/lib/NetworkManager/"
-"seen-bssids\" file."
+"\"00:11:22:33:44:55\") that have been detected as part of the Wi-Fi "
+"network. NetworkManager internally tracks previously seen BSSIDs. The "
+"property is only meant for reading and reflects the BSSID list of "
+"NetworkManager. The changes you make to this property will not be preserved. "
+"This is not a regular property that the user would configure. Instead, "
+"NetworkManager automatically sets the seen BSSIDs and tracks them internally "
+"in \"/var/lib/NetworkManager/seen-bssids\" file."
msgstr ""
"Список BSSID (каждый BSSID форматируется как MAC-адрес, например "
"\"00:11:22:33:44:55\"), которые были обнаружены как часть сети Wi-Fi. "
@@ -10622,17 +10754,17 @@ msgstr ""
"предназначено только для чтения и отражает список BSSID NetworkManager. "
"Изменения, внесенные вами в это свойство, не будут сохранены. Это не обычное "
"свойство, которое пользователь настраивает. Вместо этого NetworkManager "
-"автоматически устанавливает видимые BSSID и отслеживает их внутри файла \"/var/"
-"lib/NetworkManager/seen-bssids\"."
+"автоматически устанавливает видимые BSSID и отслеживает их внутри файла \"/"
+"var/lib/NetworkManager/seen-bssids\"."
-#: src/libnmc-setting/settings-docs.h.in:414
+#: src/libnmc-setting/settings-docs.h.in:415
msgid "SSID of the Wi-Fi network. Must be specified."
msgstr "SSID сети Wi-Fi. Должен быть указан."
-#: src/libnmc-setting/settings-docs.h.in:416
+#: src/libnmc-setting/settings-docs.h.in:417
msgid ""
-"The NMSettingWirelessWakeOnWLan options to enable. Not all devices support all "
-"options. May be any combination of \"any\" (0x2), \"disconnect\" (0x4), "
+"The NMSettingWirelessWakeOnWLan options to enable. Not all devices support "
+"all options. May be any combination of \"any\" (0x2), \"disconnect\" (0x4), "
"\"magic\" (0x8), \"gtk-rekey-failure\" (0x10), \"eap-identity-"
"request\" (0x20), \"4way-handshake\" (0x40), \"rfkill-release\" (0x80), "
"\"tcp\" (0x100) or the special values \"default\" (0x1) (to use global "
@@ -10642,34 +10774,35 @@ msgstr ""
"Параметры NMSettingWirelessWakeOnWLan, которые необходимо включить. Не все "
"устройства поддерживают все параметры. Может быть любой комбинацией из "
"\"any\" (0x2), \"disconnect\" (0x4), \"magic\" (0x8), \"gtk-rekey-"
-"failure\" (0x10), \"eap-identity-request\" (0x20), \"4way-handshake\" (0x40), "
-"\"rfkill-release\" (0x80), \"tcp\" (0x100) или специальные значения "
-"\"default\" (0x1) (для использования глобальных настроек) и "
-"\"ignore\" (0x8000) (для отключения управления Wake-on-LAN в NetworkManager)."
+"failure\" (0x10), \"eap-identity-request\" (0x20), \"4way-"
+"handshake\" (0x40), \"rfkill-release\" (0x80), \"tcp\" (0x100) или "
+"специальные значения \"default\" (0x1) (для использования глобальных "
+"настроек) и \"ignore\" (0x8000) (для отключения управления Wake-on-LAN в "
+"NetworkManager)."
-#: src/libnmc-setting/settings-docs.h.in:417
+#: src/libnmc-setting/settings-docs.h.in:418
msgid ""
"When WEP is used (ie, key-mgmt = \"none\" or \"ieee8021x\") indicate the "
-"802.11 authentication algorithm required by the AP here. One of \"open\" for "
-"Open System, \"shared\" for Shared Key, or \"leap\" for Cisco LEAP. When "
-"using Cisco LEAP (ie, key-mgmt = \"ieee8021x\" and auth-alg = \"leap\") the "
-"\"leap-username\" and \"leap-password\" properties must be specified."
+"802.11 authentication algorithm required by the AP here. One of \"open\" "
+"for Open System, \"shared\" for Shared Key, or \"leap\" for Cisco LEAP. "
+"When using Cisco LEAP (ie, key-mgmt = \"ieee8021x\" and auth-alg = \"leap\") "
+"the \"leap-username\" and \"leap-password\" properties must be specified."
msgstr ""
"При использовании WEP (например, key-mgmt = \"none\" или \"ieee8021x\") "
-"указывает алгоритм аутентификации 802.11, требующийся для точки доступа здесь. "
-"Что-то одно: \"open\" для Open System, \"shared\" для разделяемого ключа или "
-"\"leap\" для Cisco LEAP. При использовании Cisco LEAP (например, key-mgmt = "
-"\"ieee8021x\" и auth-alg = \"leap\") необходимо указать параметры \"leap-"
-"username\" и \"leap-password\"."
+"указывает алгоритм аутентификации 802.11, требующийся для точки доступа "
+"здесь. Что-то одно: \"open\" для Open System, \"shared\" для разделяемого "
+"ключа или \"leap\" для Cisco LEAP. При использовании Cisco LEAP (например, "
+"key-mgmt = \"ieee8021x\" и auth-alg = \"leap\") необходимо указать параметры "
+"\"leap-username\" и \"leap-password\"."
-#: src/libnmc-setting/settings-docs.h.in:418
+#: src/libnmc-setting/settings-docs.h.in:419
msgid ""
"Indicates whether Fast Initial Link Setup (802.11ai) must be enabled for the "
"connection. One of \"default\" (0) (use global default value), "
"\"disable\" (1) (disable FILS), \"optional\" (2) (enable FILS if the "
"supplicant and the access point support it) or \"required\" (3) (enable FILS "
-"and fail if not supported). When set to \"default\" (0) and no global default "
-"is set, FILS will be optionally enabled."
+"and fail if not supported). When set to \"default\" (0) and no global "
+"default is set, FILS will be optionally enabled."
msgstr ""
"Указывает, должна ли быть включена быстрая начальная установка соединения "
"(802.11ai) для данного соединения. Одно из значений: \"default\" (0) "
@@ -10679,26 +10812,27 @@ msgstr ""
"поддерживается). Если установлено значение \"default\" (0) и не задано "
"глобальное значение по умолчанию, то FILS будет включен опционально."
-#: src/libnmc-setting/settings-docs.h.in:419
+#: src/libnmc-setting/settings-docs.h.in:420
msgid ""
-"A list of group/broadcast encryption algorithms which prevents connections to "
-"Wi-Fi networks that do not utilize one of the algorithms in the list. For "
-"maximum compatibility leave this property empty. Each list element may be one "
-"of \"wep40\", \"wep104\", \"tkip\", or \"ccmp\"."
+"A list of group/broadcast encryption algorithms which prevents connections "
+"to Wi-Fi networks that do not utilize one of the algorithms in the list. "
+"For maximum compatibility leave this property empty. Each list element may "
+"be one of \"wep40\", \"wep104\", \"tkip\", or \"ccmp\"."
msgstr ""
"Список алгоритмов шифрования группы/трансляции, который предотвращает "
"подключения к сетям Wi-Fi, в которых не используется один из алгоритмов в "
-"списке. Для максимальной совместимости оставляйте это свойство пустым. Каждый "
-"элемент списка может быть одним из: «wep40», «wep104», «tkip» или «ccmp»."
+"списке. Для максимальной совместимости оставляйте это свойство пустым. "
+"Каждый элемент списка может быть одним из: «wep40», «wep104», «tkip» или "
+"«ccmp»."
-#: src/libnmc-setting/settings-docs.h.in:420
+#: src/libnmc-setting/settings-docs.h.in:421
msgid ""
"Key management used for the connection. One of \"none\" (WEP or no password "
"protection), \"ieee8021x\" (Dynamic WEP), \"owe\" (Opportunistic Wireless "
-"Encryption), \"wpa-psk\" (WPA2 + WPA3 personal), \"sae\" (WPA3 personal only), "
-"\"wpa-eap\" (WPA2 + WPA3 enterprise) or \"wpa-eap-suite-b-192\" (WPA3 "
-"enterprise only). This property must be set for any Wi-Fi connection that uses "
-"security."
+"Encryption), \"wpa-psk\" (WPA2 + WPA3 personal), \"sae\" (WPA3 personal "
+"only), \"wpa-eap\" (WPA2 + WPA3 enterprise) or \"wpa-eap-suite-b-192\" (WPA3 "
+"enterprise only). This property must be set for any Wi-Fi connection that "
+"uses security."
msgstr ""
"Управление ключами, используемое подключением. Одно из следующих значений: "
"\"none\" (WEP или без парольной защиты), \"ieee8021x\" (динамический WEP), "
@@ -10708,7 +10842,7 @@ msgstr ""
"параметр должен быть настроен для любого подключения Wi-Fi, использующего "
"защиту."
-#: src/libnmc-setting/settings-docs.h.in:421
+#: src/libnmc-setting/settings-docs.h.in:422
msgid ""
"The login password for legacy LEAP connections (ie, key-mgmt = \"ieee8021x\" "
"and auth-alg = \"leap\")."
@@ -10716,38 +10850,38 @@ msgstr ""
"Пароль для входа для устаревших подключений LEAP (например, key-mgmt = "
"\"ieee8021x\" и auth-alg = \"leap\")."
-#: src/libnmc-setting/settings-docs.h.in:422
+#: src/libnmc-setting/settings-docs.h.in:423
msgid "Flags indicating how to handle the \"leap-password\" property."
msgstr "Флаги, указывающие, как нужно обрабатывать свойство «leap-password»."
-#: src/libnmc-setting/settings-docs.h.in:423
+#: src/libnmc-setting/settings-docs.h.in:424
msgid ""
"The login username for legacy LEAP connections (ie, key-mgmt = \"ieee8021x\" "
"and auth-alg = \"leap\")."
msgstr ""
-"Имя пользователя для входа в устаревших подключениях LEAP (например, key-mgmt "
-"= \"ieee8021x\" и auth-alg = \"leap\")."
+"Имя пользователя для входа в устаревших подключениях LEAP (например, key-"
+"mgmt = \"ieee8021x\" и auth-alg = \"leap\")."
-#: src/libnmc-setting/settings-docs.h.in:424
+#: src/libnmc-setting/settings-docs.h.in:425
msgid ""
"A list of pairwise encryption algorithms which prevents connections to Wi-Fi "
"networks that do not utilize one of the algorithms in the list. For maximum "
"compatibility leave this property empty. Each list element may be one of "
"\"tkip\" or \"ccmp\"."
msgstr ""
-"Список парных алгоритмов шифрования, которые предотвращают подключения к сетям "
-"Wi-Fi, где не используется один из алгоритмов в списке. Для максимальной "
-"совместимости оставляйте это свойство пустым. Каждый элемент списка может быть "
-"одним из: \"tkip\" или \"ccmp\"."
+"Список парных алгоритмов шифрования, которые предотвращают подключения к "
+"сетям Wi-Fi, где не используется один из алгоритмов в списке. Для "
+"максимальной совместимости оставляйте это свойство пустым. Каждый элемент "
+"списка может быть одним из: \"tkip\" или \"ccmp\"."
-#: src/libnmc-setting/settings-docs.h.in:425
+#: src/libnmc-setting/settings-docs.h.in:426
msgid ""
"Indicates whether Protected Management Frames (802.11w) must be enabled for "
"the connection. One of \"default\" (0) (use global default value), "
-"\"disable\" (1) (disable PMF), \"optional\" (2) (enable PMF if the supplicant "
-"and the access point support it) or \"required\" (3) (enable PMF and fail if "
-"not supported). When set to \"default\" (0) and no global default is set, PMF "
-"will be optionally enabled."
+"\"disable\" (1) (disable PMF), \"optional\" (2) (enable PMF if the "
+"supplicant and the access point support it) or \"required\" (3) (enable PMF "
+"and fail if not supported). When set to \"default\" (0) and no global "
+"default is set, PMF will be optionally enabled."
msgstr ""
"Указывает, должна ли быть включена функция Protected Management Frames "
"(802.11w) для данного соединения. Одно из значений: \"default\" (0) "
@@ -10757,33 +10891,36 @@ msgstr ""
"поддерживается). Если установлено значение \"default\" (0) и не задано "
"глобальное значение по умолчанию, PMF будет включен опционально."
-#: src/libnmc-setting/settings-docs.h.in:426
+#: src/libnmc-setting/settings-docs.h.in:427
msgid ""
"List of strings specifying the allowed WPA protocol versions to use. Each "
"element may be one \"wpa\" (allow WPA) or \"rsn\" (allow WPA2/RSN). If not "
"specified, both WPA and RSN connections are allowed."
msgstr ""
-"Список строк, указывающих разрешённые для использования версии протокола WPA. "
-"Каждый элемент может быть одним из: «wpa» (разрешить WPA) или «rsn» (разрешить "
-"WPA2 / RSN). Если не указано, разрешаются подключения WPA и RSN."
+"Список строк, указывающих разрешённые для использования версии протокола "
+"WPA. Каждый элемент может быть одним из: «wpa» (разрешить WPA) или "
+"«rsn» (разрешить WPA2 / RSN). Если не указано, разрешаются подключения WPA и "
+"RSN."
-#: src/libnmc-setting/settings-docs.h.in:427
+#: src/libnmc-setting/settings-docs.h.in:428
msgid ""
-"Pre-Shared-Key for WPA networks. For WPA-PSK, it's either an ASCII passphrase "
-"of 8 to 63 characters that is (as specified in the 802.11i standard) hashed to "
-"derive the actual key, or the key in form of 64 hexadecimal character. The "
-"WPA3-Personal networks use a passphrase of any length for SAE authentication."
+"Pre-Shared-Key for WPA networks. For WPA-PSK, it's either an ASCII "
+"passphrase of 8 to 63 characters that is (as specified in the 802.11i "
+"standard) hashed to derive the actual key, or the key in form of 64 "
+"hexadecimal character. The WPA3-Personal networks use a passphrase of any "
+"length for SAE authentication."
msgstr ""
"Общий ключ для сетей WPA. Для WPA-PSK это либо парольная фраза от 8 до 63 "
"символов ASCII, хэшированная (как указано стандартом 802.11i) для получения "
"фактического ключа, либо ключ в форме 64 шестнадцатеричных символов. В сетях "
-"WPA3-Personal для аутентификации SAE используются парольные фразы любой длины."
+"WPA3-Personal для аутентификации SAE используются парольные фразы любой "
+"длины."
-#: src/libnmc-setting/settings-docs.h.in:428
+#: src/libnmc-setting/settings-docs.h.in:429
msgid "Flags indicating how to handle the \"psk\" property."
msgstr "Флаги, указывающие, как нужно обрабатывать свойство «psk»."
-#: src/libnmc-setting/settings-docs.h.in:429
+#: src/libnmc-setting/settings-docs.h.in:430
msgid ""
"Flags indicating how to handle the \"wep-key0\", \"wep-key1\", \"wep-key2\", "
"and \"wep-key3\" properties."
@@ -10791,22 +10928,22 @@ msgstr ""
"Флаги, указывающие, как нужно обрабатывать параметры «wep-key0», «wep-key1», "
"«wep-key2» и «wep-key3»."
-#: src/libnmc-setting/settings-docs.h.in:430
+#: src/libnmc-setting/settings-docs.h.in:431
msgid ""
"Controls the interpretation of WEP keys. Allowed values are \"key\" (1), in "
-"which case the key is either a 10- or 26-character hexadecimal string, or a 5- "
-"or 13-character ASCII password; or \"passphrase\" (2), in which case the "
+"which case the key is either a 10- or 26-character hexadecimal string, or a "
+"5- or 13-character ASCII password; or \"passphrase\" (2), in which case the "
"passphrase is provided as a string and will be hashed using the de-facto MD5 "
"method to derive the actual WEP key."
msgstr ""
"Управляет интерпретацией ключей WEP. Допустимыми значениями являются "
-"\"key\" (1), и в этом случае ключ представляет собой шестнадцатеричную строку "
-"с 10 или 26 символами или 5 или 13-символьный пароль ASCII; или "
-"\"passphrase\" (2), и в этом случае кодовая фраза предоставляется как строка и "
-"будет хеширована с использованием метода de-facto MD5 для получения "
+"\"key\" (1), и в этом случае ключ представляет собой шестнадцатеричную "
+"строку с 10 или 26 символами или 5 или 13-символьный пароль ASCII; или "
+"\"passphrase\" (2), и в этом случае кодовая фраза предоставляется как строка "
+"и будет хеширована с использованием метода de-facto MD5 для получения "
"фактического ключа WEP."
-#: src/libnmc-setting/settings-docs.h.in:431
+#: src/libnmc-setting/settings-docs.h.in:432
msgid ""
"Index 0 WEP key. This is the WEP key used in most networks. See the \"wep-"
"key-type\" property for a description of how this key is interpreted."
@@ -10814,31 +10951,31 @@ msgstr ""
"Ключ WEP Index 0. Это ключ WEP, используемый в большинстве сетей. Описание "
"интерпретации этого ключа см. в свойстве \"wep-key-type\"."
-#: src/libnmc-setting/settings-docs.h.in:432
+#: src/libnmc-setting/settings-docs.h.in:433
msgid ""
-"Index 1 WEP key. This WEP index is not used by most networks. See the \"wep-"
-"key-type\" property for a description of how this key is interpreted."
+"Index 1 WEP key. This WEP index is not used by most networks. See the "
+"\"wep-key-type\" property for a description of how this key is interpreted."
msgstr ""
"Ключ WEP Index 1. Данный индекс WEP не используется в большинстве сетей. "
"Описание интерпретации этого ключа см. в свойстве \"wep-key-type\"."
-#: src/libnmc-setting/settings-docs.h.in:433
+#: src/libnmc-setting/settings-docs.h.in:434
msgid ""
-"Index 2 WEP key. This WEP index is not used by most networks. See the \"wep-"
-"key-type\" property for a description of how this key is interpreted."
+"Index 2 WEP key. This WEP index is not used by most networks. See the "
+"\"wep-key-type\" property for a description of how this key is interpreted."
msgstr ""
"Ключ WEP Index 2. Данный индекс WEP не используется в большинстве сетей. "
"Описание интерпретации этого ключа см. в свойстве \"wep-key-type\"."
-#: src/libnmc-setting/settings-docs.h.in:434
+#: src/libnmc-setting/settings-docs.h.in:435
msgid ""
-"Index 3 WEP key. This WEP index is not used by most networks. See the \"wep-"
-"key-type\" property for a description of how this key is interpreted."
+"Index 3 WEP key. This WEP index is not used by most networks. See the "
+"\"wep-key-type\" property for a description of how this key is interpreted."
msgstr ""
"Ключ WEP Index 3. Данный индекс WEP не используется в большинстве сетей. "
"Описание интерпретации этого ключа см. в свойстве \"wep-key-type\"."
-#: src/libnmc-setting/settings-docs.h.in:435
+#: src/libnmc-setting/settings-docs.h.in:436
msgid ""
"When static WEP is used (ie, key-mgmt = \"none\") and a non-default WEP key "
"index is used by the AP, put that WEP key index here. Valid values are 0 "
@@ -10849,126 +10986,128 @@ msgstr ""
"при использовании точкой доступа ключа WEP, не являющегося ключом по "
"умолчанию, разместите индекс этого ключа WEP здесь. Действительные значения: "
"от 0 (ключ по умолчанию) до 3. Обратите внимание, что в некоторых "
-"потребительских точках доступа (таких, как Linksys WRT54G) ключи нумеруются от "
-"1 до 4."
+"потребительских точках доступа (таких, как Linksys WRT54G) ключи нумеруются "
+"от 1 до 4."
-#: src/libnmc-setting/settings-docs.h.in:436
+#: src/libnmc-setting/settings-docs.h.in:437
msgid ""
-"Flags indicating which mode of WPS is to be used if any. There's little point "
-"in changing the default setting as NetworkManager will automatically determine "
-"whether it's feasible to start WPS enrollment from the Access Point "
-"capabilities. WPS can be disabled by setting this property to a value of 1."
+"Flags indicating which mode of WPS is to be used if any. There's little "
+"point in changing the default setting as NetworkManager will automatically "
+"determine whether it's feasible to start WPS enrollment from the Access "
+"Point capabilities. WPS can be disabled by setting this property to a value "
+"of 1."
msgstr ""
"Флаги, указывающие, какой режим WPS должен использоваться, если таковой "
"имеется. Нет смысла менять настройку по умолчанию, так как NetworkManager по "
"возможностям точки доступа автоматически определит, можно ли начинать "
-"регистрацию WPS. WPS можно отключить, установив для данного свойства значение "
-"1."
+"регистрацию WPS. WPS можно отключить, установив для данного свойства "
+"значение 1."
-#: src/libnmc-setting/settings-docs.h.in:437
+#: src/libnmc-setting/settings-docs.h.in:438
msgid ""
"IEEE 802.15.4 channel. A positive integer or -1, meaning \"do not set, use "
"whatever the device is already set to\"."
msgstr ""
-"Канал EEE 802.15.4. Указывается положительное целое число или -1, что означает "
-"«не настраивать, использовать любое ранее настроенное устройство»."
+"Канал EEE 802.15.4. Указывается положительное целое число или -1, что "
+"означает «не настраивать, использовать любое ранее настроенное устройство»."
-#: src/libnmc-setting/settings-docs.h.in:438
+#: src/libnmc-setting/settings-docs.h.in:439
msgid ""
-"If specified, this connection will only apply to the IEEE 802.15.4 (WPAN) MAC "
-"layer device whose permanent MAC address matches."
+"If specified, this connection will only apply to the IEEE 802.15.4 (WPAN) "
+"MAC layer device whose permanent MAC address matches."
msgstr ""
"Если значение указано, это подключение будет применяться только к устройству "
"уровня MAC IEEE 802.15.4 (WPAN), с соответствующим постоянным адресом MAC."
-#: src/libnmc-setting/settings-docs.h.in:439
+#: src/libnmc-setting/settings-docs.h.in:440
msgid ""
"IEEE 802.15.4 channel page. A positive integer or -1, meaning \"do not set, "
"use whatever the device is already set to\"."
msgstr ""
-"Страницы канала EEE 80215.4. Указывается положительное целое число, либо «-1», "
-"что означает «не настраивать, использовать любое ранее настроенное устройство»."
+"Страницы канала EEE 80215.4. Указывается положительное целое число, либо "
+"«-1», что означает «не настраивать, использовать любое ранее настроенное "
+"устройство»."
-#: src/libnmc-setting/settings-docs.h.in:440
+#: src/libnmc-setting/settings-docs.h.in:441
msgid "IEEE 802.15.4 Personal Area Network (PAN) identifier."
msgstr "Идентификатор персональной сети IEEE 802.15.4 (PAN)."
-#: src/libnmc-setting/settings-docs.h.in:441
+#: src/libnmc-setting/settings-docs.h.in:442
msgid "Short IEEE 802.15.4 address to be used within a restricted environment."
msgstr ""
"Короткий адрес IEEE 802.15.4, который будет использоваться в ограниченной "
"среде."
-#: src/libnmc-setting/settings-docs.h.in:442
+#: src/libnmc-setting/settings-docs.h.in:443
msgid ""
-"The port priority for bond active port re-selection during failover. A higher "
-"number means a higher priority in selection. The primary port has the highest "
-"priority. This option is only compatible with active-backup, balance-tlb and "
-"balance-alb modes."
+"The port priority for bond active port re-selection during failover. A "
+"higher number means a higher priority in selection. The primary port has the "
+"highest priority. This option is only compatible with active-backup, balance-"
+"tlb and balance-alb modes."
msgstr ""
-"Приоритет порта для повторного выбора активного порта связи во время отработки "
-"отказа. Большее число означает более высокий приоритет при выборе. Основной "
-"порт имеет наивысший приоритет. Эта опция совместима только с режимами active-"
-"backup, balance-tlb и balance-alb."
+"Приоритет порта для повторного выбора активного порта связи во время "
+"отработки отказа. Большее число означает более высокий приоритет при выборе. "
+"Основной порт имеет наивысший приоритет. Эта опция совместима только с "
+"режимами active-backup, balance-tlb и balance-alb."
-#: src/libnmc-setting/settings-docs.h.in:443
+#: src/libnmc-setting/settings-docs.h.in:444
msgid ""
-"The queue ID of this bond port. The maximum value of queue ID is the number of "
-"TX queues currently active in device."
+"The queue ID of this bond port. The maximum value of queue ID is the number "
+"of TX queues currently active in device."
msgstr ""
"ID очереди данного порта связки. Макс. значение ID очереди — число очередей "
"TX, активных на устройстве на текущий момент."
-#: src/libnmc-setting/settings-docs.h.in:444
+#: src/libnmc-setting/settings-docs.h.in:445
msgid ""
"Whether the system hostname can be determined from DHCP on this connection. "
-"When set to \"default\" (-1), the value from global configuration is used. If "
-"the property doesn't have a value in the global configuration, NetworkManager "
-"assumes the value to be \"true\" (1)."
+"When set to \"default\" (-1), the value from global configuration is used. "
+"If the property doesn't have a value in the global configuration, "
+"NetworkManager assumes the value to be \"true\" (1)."
msgstr ""
-"Может ли для данного подключения системное имя хоста определяться по DHCP. При "
-"значении \"default\" (-1) используется значение из глобальной конфигурации. "
-"Если для этого свойства значение в глобальной конфигурации отсутствует, то "
-"NetworkManager считает, что значение равно \"true\" (1)."
+"Может ли для данного подключения системное имя хоста определяться по DHCP. "
+"При значении \"default\" (-1) используется значение из глобальной "
+"конфигурации. Если для этого свойства значение в глобальной конфигурации "
+"отсутствует, то NetworkManager считает, что значение равно \"true\" (1)."
-#: src/libnmc-setting/settings-docs.h.in:445
+#: src/libnmc-setting/settings-docs.h.in:446
msgid ""
"Whether the system hostname can be determined from reverse DNS lookup of "
-"addresses on this device. When set to \"default\" (-1), the value from global "
-"configuration is used. If the property doesn't have a value in the global "
-"configuration, NetworkManager assumes the value to be \"true\" (1)."
-msgstr ""
-"Может ли для данного устройства системное имя хоста определяться по обратному "
-"поиску DNS по адресам на этом устройстве. При значении \"default\" (-1) "
-"используется значение из глобальной конфигурации. Если для этого свойства "
-"значение в глобальной конфигурации отсутствует, то NetworkManager считает, что "
-"значение равно \"true\" (1)."
+"addresses on this device. When set to \"default\" (-1), the value from "
+"global configuration is used. If the property doesn't have a value in the "
+"global configuration, NetworkManager assumes the value to be \"true\" (1)."
+msgstr ""
+"Может ли для данного устройства системное имя хоста определяться по "
+"обратному поиску DNS по адресам на этом устройстве. При значении "
+"\"default\" (-1) используется значение из глобальной конфигурации. Если для "
+"этого свойства значение в глобальной конфигурации отсутствует, то "
+"NetworkManager считает, что значение равно \"true\" (1)."
-#: src/libnmc-setting/settings-docs.h.in:446
+#: src/libnmc-setting/settings-docs.h.in:447
msgid ""
-"If set to \"true\" (1), NetworkManager attempts to get the hostname via DHCPv4/"
-"DHCPv6 or reverse DNS lookup on this device only when the device has the "
-"default route for the given address family (IPv4/IPv6). If set to "
+"If set to \"true\" (1), NetworkManager attempts to get the hostname via "
+"DHCPv4/DHCPv6 or reverse DNS lookup on this device only when the device has "
+"the default route for the given address family (IPv4/IPv6). If set to "
"\"false\" (0), the hostname can be set from this device even if it doesn't "
"have the default route. When set to \"default\" (-1), the value from global "
"configuration is used. If the property doesn't have a value in the global "
"configuration, NetworkManager assumes the value to be \"false\" (0)."
msgstr ""
-"При значении \"true\" (1), NetworkManager попытается получить имя хоста через "
-"DHCPv4/DHCPv6 или с помощью обратного поиска DNS на этом устройстве только "
-"если маршрут по умолчанию на устройстве относится к семейству адресов по "
-"умолчанию (IPv4/IPv6). При значении \"false\" (0) имя хоста можно получить из "
-"устройства даже при отсутствии маршрута по умолчанию. При значении "
-"\"default\" (-1) используется значение из глобальной конфигурации. Если в "
-"глобальной конфигурации значение для этого свойства отсутствует, "
+"При значении \"true\" (1), NetworkManager попытается получить имя хоста "
+"через DHCPv4/DHCPv6 или с помощью обратного поиска DNS на этом устройстве "
+"только если маршрут по умолчанию на устройстве относится к семейству адресов "
+"по умолчанию (IPv4/IPv6). При значении \"false\" (0) имя хоста можно "
+"получить из устройства даже при отсутствии маршрута по умолчанию. При "
+"значении \"default\" (-1) используется значение из глобальной конфигурации. "
+"Если в глобальной конфигурации значение для этого свойства отсутствует, "
"NetworkManager считает, что значение равно \"false\" (0)."
-#: src/libnmc-setting/settings-docs.h.in:447
+#: src/libnmc-setting/settings-docs.h.in:448
msgid ""
"The relative priority of this connection to determine the system hostname. A "
"lower numerical value is better (higher priority). A connection with higher "
-"priority is considered before connections with lower priority. If the value is "
-"zero, it can be overridden by a global value from NetworkManager "
+"priority is considered before connections with lower priority. If the value "
+"is zero, it can be overridden by a global value from NetworkManager "
"configuration. If the property doesn't have a value in the global "
"configuration, the value is assumed to be 100. Negative values have the "
"special effect of excluding other connections with a greater numerical "
@@ -10979,35 +11118,31 @@ msgstr ""
"Относительный приоритет данного подключения для определения системного имени "
"хоста. Более низкое числовое значение является лучшим (более высокий "
"приоритет). Подключения с более высокими приоритетами рассматривается раньше "
-"подключений с более низкими приоритетами. При нулевом значении оно может быть "
-"перезаписано глобальным значением из конфигурации NetworkManager. Если в "
-"глобальной конфигурации значение для этого свойства отсутствует, то значение "
-"считается равным 100. Отрицательные значения имеют специальный эффект: другие "
-"подключения с более высокими числовыми значениями приоритетов исключаются; "
-"поэтому при наличии хотя бы одного отрицательного значения для определения "
-"имени хоста будут использоваться только подключения с самыми низкими "
-"значениями приоритетов."
+"подключений с более низкими приоритетами. При нулевом значении оно может "
+"быть перезаписано глобальным значением из конфигурации NetworkManager. Если "
+"в глобальной конфигурации значение для этого свойства отсутствует, то "
+"значение считается равным 100. Отрицательные значения имеют специальный "
+"эффект: другие подключения с более высокими числовыми значениями приоритетов "
+"исключаются; поэтому при наличии хотя бы одного отрицательного значения для "
+"определения имени хоста будут использоваться только подключения с самыми "
+"низкими значениями приоритетов."
-#: src/libnmc-setting/settings-docs.h.in:448
+#: src/libnmc-setting/settings-docs.h.in:449
msgid "The last byte of supervision address."
msgstr "Последний байт адреса супервизора."
-#: src/libnmc-setting/settings-docs.h.in:449
+#: src/libnmc-setting/settings-docs.h.in:450
msgid "The port1 interface name of the HSR. This property is mandatory."
msgstr "Имя интерфейса порта1 HSR. Это свойство является обязательным."
-#: src/libnmc-setting/settings-docs.h.in:450
+#: src/libnmc-setting/settings-docs.h.in:451
msgid "The port2 interface name of the HSR. This property is mandatory."
msgstr "Имя интерфейса порта2 HSR. Это свойство является обязательным."
-#: src/libnmc-setting/settings-docs.h.in:451
+#: src/libnmc-setting/settings-docs.h.in:452
msgid "The protocol used by the interface, whether it is PRP or HSR."
msgstr "Протокол, используемый интерфейсом, будь то PRP или HSR."
-#: src/libnmc-setting/settings-docs.h.in:452
-msgid "The supervision MAC address."
-msgstr "MAC-адрес супервизора."
-
#: src/libnmc-setting/settings-docs.h.in:453
msgid ""
"The maximum size of a packet built by the Generic Receive Offload stack for "
@@ -11030,22 +11165,22 @@ msgstr ""
#: src/libnmc-setting/settings-docs.h.in:455
msgid ""
-"The maximum size of a Generic Segment Offload packet the device should accept. "
-"The value must be between 0 and 4294967295. When set to -1, the existing value "
-"is preserved."
+"The maximum size of a Generic Segment Offload packet the device should "
+"accept. The value must be between 0 and 4294967295. When set to -1, the "
+"existing value is preserved."
msgstr ""
"Максимальный размер пакета Generic Segment Offload, который должно принять "
-"устройство. Значение должно быть между 0 и 4294967295. При установке значения "
-"-1 сохраняется существующее значение."
+"устройство. Значение должно быть между 0 и 4294967295. При установке "
+"значения -1 сохраняется существующее значение."
#: src/libnmc-setting/settings-docs.h.in:456
msgid ""
-"The size of the transmit queue for the device, in number of packets. The value "
-"must be between 0 and 4294967295. When set to -1, the existing value is "
-"preserved."
+"The size of the transmit queue for the device, in number of packets. The "
+"value must be between 0 and 4294967295. When set to -1, the existing value "
+"is preserved."
msgstr ""
-"Размер очереди передачи для устройства, в количестве пакетов. Значение должно "
-"находиться в диапазоне от 0 до 4294967295. При установке значения -1 "
+"Размер очереди передачи для устройства, в количестве пакетов. Значение "
+"должно находиться в диапазоне от 0 до 4294967295. При установке значения -1 "
"сохраняется существующее значение."
#: src/libnmc-setting/settings-docs.h.in:458
@@ -11055,17 +11190,17 @@ msgstr "Словарь пар «ключ/значение» с внешними
#: src/libnmc-setting/settings-docs.h.in:459
msgid ""
"A dictionary of key/value pairs with other_config settings for OVS. See also "
-"\"other_config\" in the \"ovs-vswitchd.conf.db\" manual for the keys that OVS "
-"supports."
+"\"other_config\" in the \"ovs-vswitchd.conf.db\" manual for the keys that "
+"OVS supports."
msgstr ""
"Словарь пар «ключ/значение» с параметрами other_config для OVS. См. также "
-"\"other_config\" в руководстве \"ovs-vswitchd.conf.db\" для получения сведений "
-"о ключах, поддерживаемых OVS."
+"\"other_config\" в руководстве \"ovs-vswitchd.conf.db\" для получения "
+"сведений о ключах, поддерживаемых OVS."
#: src/libnmc-setting/settings-docs.h.in:460
msgid ""
-"This property specifies the peer interface name of the veth. This property is "
-"mandatory."
+"This property specifies the peer interface name of the veth. This property "
+"is mandatory."
msgstr ""
"Данное свойство указывает имя интерфейса однорангового узла veth. данное "
"свойство является обязательным."
@@ -11157,7 +11292,8 @@ msgid ""
"Usage: nmcli agent secret { help }\n"
"\n"
"Runs nmcli as NetworkManager secret agent. When NetworkManager requires\n"
-"a password it asks registered agents for it. This command keeps nmcli running\n"
+"a password it asks registered agents for it. This command keeps nmcli "
+"running\n"
"and if a password is required asks the user for it.\n"
"\n"
msgstr ""
@@ -11174,7 +11310,8 @@ msgid ""
"Usage: nmcli agent polkit { help }\n"
"\n"
"Registers nmcli as a polkit action for the user session.\n"
-"When a polkit daemon requires an authorization, nmcli asks the user and gives\n"
+"When a polkit daemon requires an authorization, nmcli asks the user and "
+"gives\n"
"the response back to polkit.\n"
"\n"
msgstr ""
@@ -11249,7 +11386,8 @@ msgstr "Ошибка: NetworkManager не запущен."
#: src/nmcli/common.c:1524
#, c-format
msgid "Error: argument '%s' not understood. Try passing --help instead."
-msgstr "Ошибка: аргумент '%s' не понял. Попробуйте передать --help вместо этого."
+msgstr ""
+"Ошибка: аргумент '%s' не понял. Попробуйте передать --help вместо этого."
#: src/nmcli/common.c:1535
msgid "Error: missing argument. Try passing --help."
@@ -11370,8 +11508,8 @@ msgstr "никогда"
msgid ""
"Usage: nmcli connection { COMMAND | help }\n"
"\n"
-"COMMAND := { show | up | down | add | modify | clone | edit | delete | monitor "
-"| reload | load | import | export }\n"
+"COMMAND := { show | up | down | add | modify | clone | edit | delete | "
+"monitor | reload | load | import | export }\n"
"\n"
" show [--active] [--order <order spec>]\n"
" show [--active] [id | uuid | path | apath] <ID> ...\n"
@@ -11449,15 +11587,18 @@ msgid ""
"ARGUMENTS := [--active] [--order <order spec>]\n"
"\n"
"List in-memory and on-disk connection profiles, some of which may also be\n"
-"active if a device is using that connection profile. Without a parameter, all\n"
+"active if a device is using that connection profile. Without a parameter, "
+"all\n"
"profiles are listed. When --active option is specified, only the active\n"
"profiles are shown. --order allows custom connection ordering (see manual "
"page).\n"
"\n"
"ARGUMENTS := [--active] [id | uuid | path | apath] <ID> ...\n"
"\n"
-"Show details for specified connections. By default, both static configuration\n"
-"and active connection data are displayed. It is possible to filter the output\n"
+"Show details for specified connections. By default, both static "
+"configuration\n"
+"and active connection data are displayed. It is possible to filter the "
+"output\n"
"using global '--fields' option. Refer to the manual page for more "
"information.\n"
"When --active option is specified, only the active profiles are taken into\n"
@@ -11495,8 +11636,8 @@ msgid ""
"its\n"
"name, UUID or D-Bus path.\n"
"\n"
-"ARGUMENTS := ifname <ifname> [ap <BSSID>] [nsp <name>] [passwd-file <file with "
-"passwords>]\n"
+"ARGUMENTS := ifname <ifname> [ap <BSSID>] [nsp <name>] [passwd-file <file "
+"with passwords>]\n"
"\n"
"Activate a device with a connection. The connection profile is selected\n"
"automatically by NetworkManager.\n"
@@ -11550,8 +11691,8 @@ msgstr ""
msgid ""
"Usage: nmcli connection add { ARGUMENTS | help }\n"
"\n"
-"ARGUMENTS := COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS SLAVE_OPTIONS IP_OPTIONS [-- "
-"([+|-]<setting>.<property> <value>)+]\n"
+"ARGUMENTS := COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS SLAVE_OPTIONS IP_OPTIONS "
+"[-- ([+|-]<setting>.<property> <value>)+]\n"
"\n"
" COMMON_OPTIONS:\n"
" type <type>\n"
@@ -11605,9 +11746,10 @@ msgid ""
" [egress <egress priority mapping>]\n"
" [mtu <MTU>]\n"
"\n"
-" bond: [mode balance-rr (0) | active-backup (1) | balance-xor (2) | "
-"broadcast (3) |\n"
-" 802.3ad (4) | balance-tlb (5) | balance-alb (6)]\n"
+" bond: [mode balance-rr (0) | active-backup (1) | balance-xor (2) "
+"| broadcast (3) |\n"
+" 802.3ad (4) | balance-tlb (5) | balance-alb "
+"(6)]\n"
" [primary <ifname>]\n"
" [miimon <num>]\n"
" [downdelay <num>]\n"
@@ -11707,8 +11849,8 @@ msgid ""
msgstr ""
"Использование: nmcli connection add { АРГУМЕНТЫ | help }\n"
"\n"
-"АРГУМЕНТЫ := COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS SLAVE_OPTIONS IP_OPTIONS [-- "
-"([+|-]<setting>.<property> <value>)+]\n"
+"АРГУМЕНТЫ := COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS SLAVE_OPTIONS IP_OPTIONS "
+"[-- ([+|-]<setting>.<property> <value>)+]\n"
"\n"
" COMMON_OPTIONS:\n"
" type <тип>\n"
@@ -11763,9 +11905,10 @@ msgstr ""
" [egress <приоритетное отображение исходящих пакетов>]\n"
" [mtu <MTU>]\n"
"\n"
-" bond: [mode balance-rr (0) | active-backup (1) | balance-xor (2) | "
-"broadcast (3) |\n"
-" 802.3ad (4) | balance-tlb (5) | balance-alb (6)]\n"
+" bond: [mode balance-rr (0) | active-backup (1) | balance-xor (2) "
+"| broadcast (3) |\n"
+" 802.3ad (4) | balance-tlb (5) | balance-alb "
+"(6)]\n"
" [primary <ifname>]\n"
" [miimon <num>]\n"
" [downdelay <num>]\n"
@@ -11835,7 +11978,8 @@ msgstr ""
" [tap yes|no]\n"
"\n"
" vxlan: id <VXLAN ID>\n"
-" [remote <IP широковещательной группы или удалённый адрес>]\n"
+" [remote <IP широковещательной группы или удалённый "
+"адрес>]\n"
" [local <исходный IP>]\n"
" [dev <родительское устройство (ifname или UUID "
"подключения)>]\n"
@@ -11897,7 +12041,8 @@ msgid ""
msgstr ""
"Использование: nmcli connection modify { АРГУМЕНТЫ | help }\n"
"\n"
-"АРГУМЕНТЫ := [id | uuid | path] <ID> ([+|-]<параметр>.<свойство> <значение>)+\n"
+"АРГУМЕНТЫ := [id | uuid | path] <ID> ([+|-]<параметр>.<свойство> "
+"<значение>)+\n"
"\n"
"Позволяет изменить один или несколько параметров профиля подключения.\n"
"Профиль идентифицируется по имени, идентификатору UUID или пути D-Bus.\n"
@@ -11927,7 +12072,8 @@ msgid ""
"ARGUMENTS := [--temporary] [id | uuid | path] <ID> <new name>\n"
"\n"
"Clone an existing connection profile. The newly created connection will be\n"
-"the exact copy of the <ID>, except the uuid property (will be generated) and\n"
+"the exact copy of the <ID>, except the uuid property (will be generated) "
+"and\n"
"id (provided as <new name> argument).\n"
"\n"
msgstr ""
@@ -12074,7 +12220,8 @@ msgstr ""
"\n"
"АРГУМЕНТЫ := [id | uuid | path] <ID> [<output file>]\n"
"\n"
-"Экспорт подключения. В настоящее время поддерживаются только подключения VPN.\n"
+"Экспорт подключения. В настоящее время поддерживаются только подключения "
+"VPN.\n"
"Данные направляются на стандартный вывод или в файл, если задано имя.\n"
"\n"
@@ -12114,9 +12261,9 @@ msgstr "Ошибка «connection show»: %s"
msgid "Active connection details"
msgstr "Сведения об активации подключения"
-#: src/nmcli/connections.c:1825 src/nmcli/devices.c:1681 src/nmcli/devices.c:1698
-#: src/nmcli/devices.c:1716 src/nmcli/devices.c:1735 src/nmcli/devices.c:1799
-#: src/nmcli/devices.c:1928
+#: src/nmcli/connections.c:1825 src/nmcli/devices.c:1681
+#: src/nmcli/devices.c:1698 src/nmcli/devices.c:1716 src/nmcli/devices.c:1735
+#: src/nmcli/devices.c:1799 src/nmcli/devices.c:1928
msgid "NAME"
msgstr "ИМЯ"
@@ -12168,15 +12315,15 @@ msgstr "Профили подключений NetworkManager"
#: src/nmcli/connections.c:2462 src/nmcli/connections.c:3189
#: src/nmcli/connections.c:3201 src/nmcli/connections.c:3213
-#: src/nmcli/connections.c:3449 src/nmcli/connections.c:9697
-#: src/nmcli/connections.c:9716 src/nmcli/devices.c:3391 src/nmcli/devices.c:3404
-#: src/nmcli/devices.c:3416 src/nmcli/devices.c:3720 src/nmcli/devices.c:3731
-#: src/nmcli/devices.c:3750 src/nmcli/devices.c:3759 src/nmcli/devices.c:3781
-#: src/nmcli/devices.c:3792 src/nmcli/devices.c:3813 src/nmcli/devices.c:4384
-#: src/nmcli/devices.c:4395 src/nmcli/devices.c:4404 src/nmcli/devices.c:4418
-#: src/nmcli/devices.c:4436 src/nmcli/devices.c:4445 src/nmcli/devices.c:4594
-#: src/nmcli/devices.c:4605 src/nmcli/devices.c:4824 src/nmcli/devices.c:5003
-#: src/nmcli/devices.c:5224
+#: src/nmcli/connections.c:3449 src/nmcli/connections.c:9703
+#: src/nmcli/connections.c:9722 src/nmcli/devices.c:3391
+#: src/nmcli/devices.c:3404 src/nmcli/devices.c:3416 src/nmcli/devices.c:3720
+#: src/nmcli/devices.c:3731 src/nmcli/devices.c:3750 src/nmcli/devices.c:3759
+#: src/nmcli/devices.c:3781 src/nmcli/devices.c:3792 src/nmcli/devices.c:3813
+#: src/nmcli/devices.c:4384 src/nmcli/devices.c:4395 src/nmcli/devices.c:4404
+#: src/nmcli/devices.c:4418 src/nmcli/devices.c:4436 src/nmcli/devices.c:4445
+#: src/nmcli/devices.c:4594 src/nmcli/devices.c:4605 src/nmcli/devices.c:4824
+#: src/nmcli/devices.c:5003 src/nmcli/devices.c:5224
#, c-format
msgid "Error: %s argument is missing."
msgstr "Ошибка: не указан аргумент %s."
@@ -12187,8 +12334,8 @@ msgid "Error: %s - no such connection profile."
msgstr "Ошибка: профиль подключения %s не обнаружен."
#: src/nmcli/connections.c:2589 src/nmcli/connections.c:3175
-#: src/nmcli/connections.c:3249 src/nmcli/connections.c:9201
-#: src/nmcli/connections.c:9285 src/nmcli/connections.c:9821
+#: src/nmcli/connections.c:3249 src/nmcli/connections.c:9207
+#: src/nmcli/connections.c:9291 src/nmcli/connections.c:9827
#: src/nmcli/devices.c:2028 src/nmcli/devices.c:2330 src/nmcli/devices.c:2497
#: src/nmcli/devices.c:2623 src/nmcli/devices.c:2808 src/nmcli/devices.c:3591
#: src/nmcli/devices.c:4558 src/nmcli/devices.c:5010 src/nmcli/general.c:1069
@@ -12236,7 +12383,7 @@ msgid "Connection successfully activated (%s) (D-Bus active path: %s)\n"
msgstr "Подключение успешно активировано (%s) (активный путь D-Bus: %s)\n"
#: src/nmcli/connections.c:2844 src/nmcli/connections.c:2995
-#: src/nmcli/connections.c:7440
+#: src/nmcli/connections.c:7446
#, c-format
msgid "Connection successfully activated (D-Bus active path: %s)\n"
msgstr "Подключение успешно активировано (активный путь D-Bus: %s)\n"
@@ -12270,7 +12417,7 @@ msgstr "недействительный passwd-file '%s' в строке %zd: %
msgid "invalid passwd-file '%s': %s"
msgstr "недействительный passwd-file '%s': %s"
-#: src/nmcli/connections.c:3223 src/nmcli/connections.c:9725
+#: src/nmcli/connections.c:3223 src/nmcli/connections.c:9731
#: src/nmcli/devices.c:1985 src/nmcli/devices.c:2034 src/nmcli/devices.c:2503
#: src/nmcli/devices.c:2696 src/nmcli/devices.c:2763 src/nmcli/devices.c:2963
#: src/nmcli/devices.c:3451 src/nmcli/devices.c:3829 src/nmcli/devices.c:4455
@@ -12293,8 +12440,8 @@ msgstr "Подключение «%s» (%s) успешно удалено.\n"
msgid "Connection '%s' successfully deactivated (D-Bus active path: %s)\n"
msgstr "Подключение «%s» успешно отключено (активный путь D-Bus: %s)\n"
-#: src/nmcli/connections.c:3430 src/nmcli/connections.c:9381
-#: src/nmcli/connections.c:9418 src/nmcli/connections.c:9607
+#: src/nmcli/connections.c:3430 src/nmcli/connections.c:9387
+#: src/nmcli/connections.c:9424 src/nmcli/connections.c:9613
msgid "Error: No connection specified."
msgstr "Ошибка: не указано подключение."
@@ -12347,80 +12494,80 @@ msgstr "Ошибка: недействительный тип подчинённ
msgid "Error: invalid connection type; %s."
msgstr "Ошибка: недействительный тип подключения; %s."
-#: src/nmcli/connections.c:4608
+#: src/nmcli/connections.c:4609
#, c-format
msgid "Error: bad connection type: %s"
msgstr "Ошибка: неверный тип подключения: %s"
-#: src/nmcli/connections.c:4684
+#: src/nmcli/connections.c:4685
msgid "Error: master is required"
msgstr "Ошибка: требуется master"
-#: src/nmcli/connections.c:4785
+#: src/nmcli/connections.c:4786
#, c-format
msgid "Error: '%s' is not a valid monitoring mode; use '%s' or '%s'.\n"
msgstr ""
-"Ошибка: «%s» не является действительным режимом мониторинга. Используйте «%s» "
-"или «%s».\n"
+"Ошибка: «%s» не является действительным режимом мониторинга. Используйте "
+"«%s» или «%s».\n"
-#: src/nmcli/connections.c:4825
+#: src/nmcli/connections.c:4826
#, c-format
msgid "Error: 'bt-type': '%s' not valid; use [%s, %s, %s (%s), %s]."
msgstr ""
"Ошибка: «bt-type»: «%s» не является действительным; используйте [%s, %s, %s "
"(%s), %s]."
-#: src/nmcli/connections.c:5174
+#: src/nmcli/connections.c:5180
#, c-format
msgid "Error: setting '%s' is mandatory and cannot be removed."
msgstr "Ошибка: значение «%s» является обязательным и не может быть удалено."
-#: src/nmcli/connections.c:5190
+#: src/nmcli/connections.c:5196
#, c-format
msgid "Error: value for '%s' is missing."
msgstr "Ошибка: не указано значение для «%s»."
-#: src/nmcli/connections.c:5241
+#: src/nmcli/connections.c:5247
msgid "Error: <setting>.<property> argument is missing."
msgstr "Ошибка: отсутствует аргумент <setting>.<property>."
-#: src/nmcli/connections.c:5283
+#: src/nmcli/connections.c:5289
msgid "Error: missing setting."
msgstr "Ошибка: отсутствует настройка."
-#: src/nmcli/connections.c:5297
+#: src/nmcli/connections.c:5303
#, c-format
msgid "Error: invalid setting argument '%s'."
msgstr "Ошибка: недействительный аргумент «%s» параметра."
-#: src/nmcli/connections.c:5328
+#: src/nmcli/connections.c:5334
#, c-format
msgid "Error: invalid or not allowed setting '%s': %s."
msgstr "Ошибка: недействительный или неразрешённый параметр «%s»: %s."
-#: src/nmcli/connections.c:5387 src/nmcli/connections.c:5408
+#: src/nmcli/connections.c:5393 src/nmcli/connections.c:5414
#, c-format
msgid "Error: '%s' is ambiguous (%s.%s or %s.%s)."
msgstr "Ошибка: «%s» не является однозначным (%s.%s или %s.%s)."
-#: src/nmcli/connections.c:5432
+#: src/nmcli/connections.c:5438
#, c-format
msgid "Error: invalid <setting>.<property> '%s'."
msgstr "Ошибка: недействительный <параметр>.<свойство> «%s»."
-#: src/nmcli/connections.c:5466 src/nmcli/devices.c:2217
+#: src/nmcli/connections.c:5472 src/nmcli/devices.c:2217
#, c-format
msgid "Warning: %s.\n"
msgstr "Предупреждение: %s.\n"
-#: src/nmcli/connections.c:5482
+#: src/nmcli/connections.c:5488
#, c-format
msgid ""
"Warning: There is another connection with the name '%1$s'. Reference the "
"connection by its uuid '%2$s'\n"
msgid_plural ""
-"Warning: There are %3$u other connections with the name '%1$s'. Reference the "
-"connection by its uuid '%2$s'\n"
+"Warning: There are %3$u other connections with the name '%1$s'. Reference "
+"the connection by its uuid '%2$s'\n"
msgstr[0] ""
"Предупреждение: есть ещё %3$u подключение с именем '%1$s'. Ссылайтесь на "
"подключение по его uuid '%2$s'\n"
@@ -12431,7 +12578,7 @@ msgstr[2] ""
"Предупреждение: есть ещё %3$u других подключений с именем '%1$s'. Ссылайтесь "
"на подключение по его uuid '%2$s'\n"
-#: src/nmcli/connections.c:5504 src/nmcli/connections.c:9233
+#: src/nmcli/connections.c:5510 src/nmcli/connections.c:9239
#, c-format
msgid "Error: Failed to add '%s' connection: %s"
msgstr "Ошибка: не удалось добавить подключение «%s»: %s"
@@ -12445,44 +12592,44 @@ msgstr "Ошибка: не удалось добавить подключени
#. *
#. * This is true for many messages that the user might parse. But this one
#. * seems in particular interesting for a user to parse.
-#: src/nmcli/connections.c:5521
+#: src/nmcli/connections.c:5527
#, c-format
msgid "Connection '%s' (%s) successfully added.\n"
msgstr "Подключение «%s» (%s) успешно добавлено.\n"
-#: src/nmcli/connections.c:5670
+#: src/nmcli/connections.c:5676
msgid ""
"You can specify this option more than once. Press <Enter> when you're done.\n"
msgstr ""
"Этот параметр можно указать более одного раза. Закончив, нажмите <Ввод>.\n"
#. Ask for optional arguments.
-#: src/nmcli/connections.c:5781
+#: src/nmcli/connections.c:5787
#, c-format
msgid "There are %d optional settings for %s.\n"
msgstr "%d дополнительных параметров для %s.\n"
-#: src/nmcli/connections.c:5783
+#: src/nmcli/connections.c:5789
#, c-format
msgid "Do you want to provide them? %s"
msgstr "Хотите их указать? %s"
-#: src/nmcli/connections.c:5923 src/nmcli/utils.c:280
+#: src/nmcli/connections.c:5929 src/nmcli/utils.c:280
#, c-format
msgid "Error: value for '%s' argument is required."
msgstr "Ошибка: необходимо указать значение аргумента «%s»."
-#: src/nmcli/connections.c:5930
+#: src/nmcli/connections.c:5936
#, c-format
msgid "Error: 'save': %s."
msgstr "Ошибка «save»: %s."
-#: src/nmcli/connections.c:6018 src/nmcli/connections.c:6031
+#: src/nmcli/connections.c:6024 src/nmcli/connections.c:6037
#, c-format
msgid "Error: '%s' argument is required."
msgstr "Ошибка: требуется аргумент «%s»."
-#: src/nmcli/connections.c:6988
+#: src/nmcli/connections.c:6994
#, c-format
msgid "['%s' setting values]\n"
msgstr "[значения параметра '%s']\n"
@@ -12490,7 +12637,7 @@ msgstr "[значения параметра '%s']\n"
#. TRANSLATORS: do not translate command names and keywords before ::
#. * However, you should translate terms enclosed in <>.
#.
-#: src/nmcli/connections.c:7099
+#: src/nmcli/connections.c:7105
msgid ""
"---[ Main menu ]---\n"
"goto [<setting> | <prop>] :: go to a setting or property\n"
@@ -12514,9 +12661,10 @@ msgstr ""
"сбросить значение свойства\n"
"set [<параметр>.<свойство> <значение>] :: установить значение "
"свойства\n"
-"describe [<параметр>.<свойство>] :: показать описание свойства\n"
-"print [all | <параметр>[.<свойство>]] :: показать список параметров и "
-"свойств\n"
+"describe [<параметр>.<свойство>] :: показать описание "
+"свойства\n"
+"print [all | <параметр>[.<свойство>]] :: показать список параметров "
+"и свойств\n"
"verify [all | fix] :: проверить свойства\n"
"save [persistent|temporary] :: сохранить подключение\n"
"activate [<интерфейс>] [/<ap>|<nsp>] :: активировать подключение\n"
@@ -12526,7 +12674,7 @@ msgstr ""
"nmcli <параметр> <значение> :: конфигурация nmcli\n"
"quit :: выход из nmcli\n"
-#: src/nmcli/connections.c:7127
+#: src/nmcli/connections.c:7133
msgid ""
"goto <setting>[.<prop>] | <prop> :: enter setting/property for editing\n"
"\n"
@@ -12545,11 +12693,12 @@ msgstr ""
" nmcli connection> goto secondaries\n"
" nmcli> goto ipv4.addresses\n"
-#: src/nmcli/connections.c:7135
+#: src/nmcli/connections.c:7141
msgid ""
"remove <setting>[.<prop>] :: remove setting or reset property value\n"
"\n"
-"This command removes an entire setting from the connection, or if a property\n"
+"This command removes an entire setting from the connection, or if a "
+"property\n"
"is given, resets that property to the default value.\n"
"\n"
"Examples: nmcli> remove wifi-sec\n"
@@ -12565,7 +12714,7 @@ msgstr ""
"Примеры: nmcli> remove wifi-sec\n"
" nmcli> remove eth.mtu\n"
-#: src/nmcli/connections.c:7142
+#: src/nmcli/connections.c:7148
msgid ""
"set [<setting>.<prop> <value>] :: set property value\n"
"\n"
@@ -12579,7 +12728,7 @@ msgstr ""
"\n"
"Пример: nmcli> set con.id моё_подключение\n"
-#: src/nmcli/connections.c:7147
+#: src/nmcli/connections.c:7153
msgid ""
"add [<setting>.<prop> <value>] :: add property value\n"
"\n"
@@ -12593,19 +12742,19 @@ msgstr ""
"\n"
"Пример: nmcli> add ipv4.addresses 192.168.1.1/24\n"
-#: src/nmcli/connections.c:7152
+#: src/nmcli/connections.c:7158
msgid ""
"describe [<setting>.<prop>] :: describe property\n"
"\n"
-"Shows property description. You can consult nm-settings(5) manual page to see "
-"all NM settings and properties.\n"
+"Shows property description. You can consult nm-settings(5) manual page to "
+"see all NM settings and properties.\n"
msgstr ""
"describe [<параметр>.<свойство>] :: описание свойства\n"
"\n"
"Показывает описание свойства. Полный список параметров и свойств Network "
"Manager можно найти на справочной странице nm-settings(5).\n"
-#: src/nmcli/connections.c:7157
+#: src/nmcli/connections.c:7163
msgid ""
"print [all] :: print setting or connection values\n"
"\n"
@@ -12619,12 +12768,13 @@ msgstr ""
"\n"
"Пример: nmcli ipv4> print all\n"
-#: src/nmcli/connections.c:7163
+#: src/nmcli/connections.c:7169
msgid ""
"verify [all | fix] :: verify setting or connection validity\n"
"\n"
"Verifies whether the setting or connection is valid and can be saved later.\n"
-"It indicates invalid values on error. Some errors may be fixed automatically\n"
+"It indicates invalid values on error. Some errors may be fixed "
+"automatically\n"
"by 'fix' option.\n"
"\n"
"Examples: nmcli> verify\n"
@@ -12642,7 +12792,7 @@ msgstr ""
" nmcli> verify fix\n"
" nmcli bond> verify\n"
-#: src/nmcli/connections.c:7173
+#: src/nmcli/connections.c:7179
msgid ""
"save [persistent|temporary] :: save the connection\n"
"\n"
@@ -12672,7 +12822,7 @@ msgstr ""
"основе,\n"
"необходимо удалить его профиль. \n"
-#: src/nmcli/connections.c:7184
+#: src/nmcli/connections.c:7190
msgid ""
"activate [<ifname>] [/<ap>|<nsp>] :: activate the connection\n"
"\n"
@@ -12689,10 +12839,10 @@ msgstr ""
"\n"
"Параметры:\n"
"<интерфейс> - устройство, на котором будет активировано подключение\n"
-"/<ap>|<nsp> - AP (Wi-Fi) или NSP (WiMAX) (если <интерфейс> не задан, в начале "
-"строки надо добавить /)\n"
+"/<ap>|<nsp> - AP (Wi-Fi) или NSP (WiMAX) (если <интерфейс> не задан, в "
+"начале строки надо добавить /)\n"
-#: src/nmcli/connections.c:7192 src/nmcli/connections.c:7351
+#: src/nmcli/connections.c:7198 src/nmcli/connections.c:7357
msgid ""
"back :: go to upper menu level\n"
"\n"
@@ -12700,7 +12850,7 @@ msgstr ""
"back :: переход на уровень меню выше\n"
"\n"
-#: src/nmcli/connections.c:7195
+#: src/nmcli/connections.c:7201
msgid ""
"help/? [<command>] :: help for the nmcli commands\n"
"\n"
@@ -12708,7 +12858,7 @@ msgstr ""
"help/? [<команда>] :: справка по командам nmcli\n"
"\n"
-#: src/nmcli/connections.c:7198
+#: src/nmcli/connections.c:7204
#, c-format
msgid ""
"nmcli [<conf-option> <value>] :: nmcli configuration\n"
@@ -12735,7 +12885,7 @@ msgstr ""
" nmcli> nmcli save-confirmation no\n"
" nmcli> nmcli prompt-color 3\n"
-#: src/nmcli/connections.c:7220 src/nmcli/connections.c:7357
+#: src/nmcli/connections.c:7226 src/nmcli/connections.c:7363
msgid ""
"quit :: exit nmcli\n"
"\n"
@@ -12747,8 +12897,8 @@ msgstr ""
"Данная команда выполняет выход из nmcli. Если изменения подключения не "
"сохранены, будет выведен запрос о подтверждении действия.\n"
-#: src/nmcli/connections.c:7225 src/nmcli/connections.c:7362
-#: src/nmcli/connections.c:7754 src/nmcli/connections.c:8796
+#: src/nmcli/connections.c:7231 src/nmcli/connections.c:7368
+#: src/nmcli/connections.c:7760 src/nmcli/connections.c:8802
#, c-format
msgid "Unknown command: '%s'\n"
msgstr "Неизвестная команда: «%s»\n"
@@ -12756,7 +12906,7 @@ msgstr "Неизвестная команда: «%s»\n"
#. TRANSLATORS: do not translate command names and keywords before ::
#. * However, you should translate terms enclosed in <>.
#.
-#: src/nmcli/connections.c:7290
+#: src/nmcli/connections.c:7296
msgid ""
"---[ Property menu ]---\n"
"set [<value>] :: set new value\n"
@@ -12781,7 +12931,7 @@ msgstr ""
"help/? [<команда>] :: показать справку или описание команды\n"
"quit :: выход из nmcli\n"
-#: src/nmcli/connections.c:7314
+#: src/nmcli/connections.c:7320
msgid ""
"set [<value>] :: set new value\n"
"\n"
@@ -12791,7 +12941,7 @@ msgstr ""
"\n"
"Эта команда устанавливает новое <значение> свойства.\n"
-#: src/nmcli/connections.c:7318
+#: src/nmcli/connections.c:7324
msgid ""
"add [<value>] :: append new value to the property\n"
"\n"
@@ -12802,10 +12952,10 @@ msgstr ""
"add [<значение>] :: добавление нового значения свойства\n"
"\n"
"Эта команда добавляет свойству указанное <значение>, если тип свойства — "
-"контейнер. Если свойство имеет единственное значение, оно будет заменено (что "
-"равносильно команде «set»).\n"
+"контейнер. Если свойство имеет единственное значение, оно будет заменено "
+"(что равносильно команде «set»).\n"
-#: src/nmcli/connections.c:7324
+#: src/nmcli/connections.c:7330
msgid ""
"change :: change current value\n"
"\n"
@@ -12815,14 +12965,15 @@ msgstr ""
"\n"
"Показывает значение и позволяет его отредактировать.\n"
-#: src/nmcli/connections.c:7329
+#: src/nmcli/connections.c:7335
msgid ""
"remove [<value>|<index>|<option name>] :: delete the value\n"
"\n"
"Removes the property value. For single-valued properties, this sets the\n"
"property back to its default value. For container-type properties, this "
"removes\n"
-"all the values of that property or you can specify an argument to remove just\n"
+"all the values of that property or you can specify an argument to remove "
+"just\n"
"a single item or option. The argument is either a value or index of the item "
"to\n"
"remove, or an option name (for properties with named options).\n"
@@ -12847,19 +12998,19 @@ msgstr ""
" nmcli ipv4.dns> remove 2\n"
" nmcli bond.options> remove downdelay\n"
-#: src/nmcli/connections.c:7340
+#: src/nmcli/connections.c:7346
msgid ""
"describe :: describe property\n"
"\n"
-"Shows property description. You can consult nm-settings(5) manual page to see "
-"all NM settings and properties.\n"
+"Shows property description. You can consult nm-settings(5) manual page to "
+"see all NM settings and properties.\n"
msgstr ""
"describe :: описание свойства\n"
"\n"
"Возвращает описание свойства. Полный список параметров и их значений можно "
"найти на справочной странице nm-settings(5).\n"
-#: src/nmcli/connections.c:7345
+#: src/nmcli/connections.c:7351
msgid ""
"print [property|setting|connection] :: print property (setting, connection) "
"value(s)\n"
@@ -12873,7 +13024,7 @@ msgstr ""
"Если аргумент не указан, возвращает значение свойства. Укажите параметр или "
"подключение, чтобы получить соответствующую информацию.\n"
-#: src/nmcli/connections.c:7354
+#: src/nmcli/connections.c:7360
msgid ""
"help/? [<command>] :: help for nmcli commands\n"
"\n"
@@ -12881,22 +13032,22 @@ msgstr ""
"help/? [<команда>] :: справка по командам nmcli\n"
"\n"
-#: src/nmcli/connections.c:7446
+#: src/nmcli/connections.c:7452
msgid "Error: Connection activation failed.\n"
msgstr "Ошибка. Не удалось активировать подключение.\n"
#. TRANSLATORS: status line in nmcli connection editor
-#: src/nmcli/connections.c:7544
+#: src/nmcli/connections.c:7550
#, c-format
msgid "[ Type: %s | Name: %s | UUID: %s | Dirty: %s | Temp: %s ]\n"
msgstr "[Тип: %s | Имя: %s | UUID: %s | Не сохранено: %s | Временно.: %s ]\n"
-#: src/nmcli/connections.c:7582
+#: src/nmcli/connections.c:7588
#, c-format
msgid "The connection is not saved. Do you really want to quit? %s"
msgstr "Подключение не сохранено. Вы действительно хотите выйти? %s"
-#: src/nmcli/connections.c:7626
+#: src/nmcli/connections.c:7632
msgid ""
"The connection profile has been removed from another client. You may type "
"'save' in the main menu to restore it.\n"
@@ -12904,60 +13055,60 @@ msgstr ""
"Профиль подключения был удален из другого клиента. Чтобы его восстановить, "
"введите «save».\n"
-#: src/nmcli/connections.c:7658 src/nmcli/connections.c:8054
-#: src/nmcli/connections.c:8127
+#: src/nmcli/connections.c:7664 src/nmcli/connections.c:8060
+#: src/nmcli/connections.c:8133
#, c-format
msgid "Allowed values for '%s' property: %s\n"
msgstr "Разрешённые значения свойства «%s»: %s\n"
-#: src/nmcli/connections.c:7660 src/nmcli/connections.c:8059
-#: src/nmcli/connections.c:8131
+#: src/nmcli/connections.c:7666 src/nmcli/connections.c:8065
+#: src/nmcli/connections.c:8137
#, c-format
msgid "Enter '%s' value: "
msgstr "Введите значение «%s»: "
-#: src/nmcli/connections.c:7673 src/nmcli/connections.c:7692
-#: src/nmcli/connections.c:8067 src/nmcli/connections.c:8142
+#: src/nmcli/connections.c:7679 src/nmcli/connections.c:7698
+#: src/nmcli/connections.c:8073 src/nmcli/connections.c:8148
#, c-format
msgid "Error: failed to set '%s' property: %s\n"
msgstr "Ошибка. Не удалось установить свойство «%s»: %s\n"
-#: src/nmcli/connections.c:7684
+#: src/nmcli/connections.c:7690
#, c-format
msgid "Edit '%s' value: "
msgstr "Измените значение «%s»: "
-#: src/nmcli/connections.c:7707 src/nmcli/settings.c:443
+#: src/nmcli/connections.c:7713 src/nmcli/settings.c:443
#, c-format
msgid "Error: %s\n"
msgstr "Ошибка: %s\n"
-#: src/nmcli/connections.c:7726
+#: src/nmcli/connections.c:7732
#, c-format
msgid "Unknown command argument: '%s'\n"
msgstr "Неизвестный аргумент команды: «%s»\n"
-#: src/nmcli/connections.c:7821
+#: src/nmcli/connections.c:7827
#, c-format
msgid "Available settings: %s\n"
msgstr "Доступные параметры: %s\n"
-#: src/nmcli/connections.c:7832
+#: src/nmcli/connections.c:7838
#, c-format
msgid "Error: invalid setting name; %s\n"
msgstr "Ошибка. Недействительное значение параметра: %s\n"
-#: src/nmcli/connections.c:7849
+#: src/nmcli/connections.c:7855
#, c-format
msgid "Available properties: %s\n"
msgstr "Доступные свойства: %s\n"
-#: src/nmcli/connections.c:7857
+#: src/nmcli/connections.c:7863
#, c-format
msgid "Error: property %s\n"
msgstr "Ошибка: свойство %s\n"
-#: src/nmcli/connections.c:7902
+#: src/nmcli/connections.c:7908
#, c-format
msgid ""
"Saving the connection with 'autoconnect=yes'. That might result in an "
@@ -12968,12 +13119,12 @@ msgstr ""
"«autoconnect=yes», что может привести к его немедленной активации.\n"
"Сохранить? %s"
-#: src/nmcli/connections.c:7988
+#: src/nmcli/connections.c:7994
#, c-format
msgid "You may edit the following settings: %s\n"
msgstr "Разрешается изменить следующие параметры: %s\n"
-#: src/nmcli/connections.c:8016
+#: src/nmcli/connections.c:8022
msgid ""
"The connection profile has been removed from another client. You may type "
"'save' to restore it.\n"
@@ -12981,216 +13132,218 @@ msgstr ""
"Профиль подключения был удален из другого клиента. Чтобы его восстановить, "
"введите «save».\n"
-#: src/nmcli/connections.c:8073 src/nmcli/connections.c:8359
-#: src/nmcli/connections.c:8394
+#: src/nmcli/connections.c:8079 src/nmcli/connections.c:8365
+#: src/nmcli/connections.c:8400
#, c-format
msgid "Error: no setting selected; valid are [%s]\n"
msgstr "Ошибка. Параметр не выбран. Действительные: [%s]\n"
-#: src/nmcli/connections.c:8075
+#: src/nmcli/connections.c:8081
msgid "use 'goto <setting>' first, or 'set <setting>.<property>'\n"
msgstr "используйте «goto <параметр>» или «set <параметр>.<свойство>»\n"
-#: src/nmcli/connections.c:8095 src/nmcli/connections.c:8275
-#: src/nmcli/connections.c:8383
+#: src/nmcli/connections.c:8101 src/nmcli/connections.c:8281
+#: src/nmcli/connections.c:8389
#, c-format
msgid "Error: invalid setting argument '%s'; valid are [%s]\n"
msgstr "Ошибка. Недействительный аргумент «%s». Допускается: [%s]\n"
-#: src/nmcli/connections.c:8105
+#: src/nmcli/connections.c:8111
#, c-format
msgid "Error: missing setting for '%s' property\n"
msgstr "Ошибка: не указано определение свойства «%s»\n"
-#: src/nmcli/connections.c:8112
+#: src/nmcli/connections.c:8118
#, c-format
msgid "Error: invalid property: %s\n"
msgstr "Ошибка. Недействительное свойство: %s\n"
-#: src/nmcli/connections.c:8175
+#: src/nmcli/connections.c:8181
#, c-format
msgid "Error: unknown setting '%s'\n"
msgstr "Ошибка: неизвестный параметр: %s\n"
-#: src/nmcli/connections.c:8201
+#: src/nmcli/connections.c:8207
#, c-format
msgid "You may edit the following properties: %s\n"
msgstr "Вы можете изменить следующие свойства: %s\n"
-#: src/nmcli/connections.c:8247 src/nmcli/connections.c:8309
+#: src/nmcli/connections.c:8253 src/nmcli/connections.c:8315
#, c-format
msgid "Error: failed to remove value of '%s': %s\n"
msgstr "Ошибка. Не удалось изменить значение «%s»: %s\n"
-#: src/nmcli/connections.c:8253
+#: src/nmcli/connections.c:8259
#, c-format
msgid "Error: no argument given; valid are [%s]\n"
msgstr "Ошибка. Аргумент не задан. Действительные: [%s]\n"
-#: src/nmcli/connections.c:8272
+#: src/nmcli/connections.c:8278
#, c-format
msgid "Setting '%s' is not present in the connection.\n"
msgstr "Параметр «%s» не определен в подключении.\n"
-#: src/nmcli/connections.c:8335
+#: src/nmcli/connections.c:8341
#, c-format
msgid "Error: %s properties, nor it is a setting name.\n"
msgstr "Ошибка. %s не является именем параметра или свойства.\n"
-#: src/nmcli/connections.c:8362 src/nmcli/connections.c:8397
+#: src/nmcli/connections.c:8368 src/nmcli/connections.c:8403
msgid "use 'goto <setting>' first, or 'describe <setting>.<property>'\n"
msgstr "используйте «goto <параметр>» или «describe <параметр>.<свойство>»\n"
-#: src/nmcli/connections.c:8420
+#: src/nmcli/connections.c:8426
#, c-format
msgid "Error: invalid property: %s, neither a valid setting name.\n"
msgstr ""
-"Ошибка: недействительное свойство %s, а также недействительное имя параметра.\n"
+"Ошибка: недействительное свойство %s, а также недействительное имя "
+"параметра.\n"
-#: src/nmcli/connections.c:8450
+#: src/nmcli/connections.c:8456
#, c-format
msgid "Error: unknown setting: '%s'\n"
msgstr "Ошибка. Неизвестный параметр: %s\n"
-#: src/nmcli/connections.c:8455
+#: src/nmcli/connections.c:8461
#, c-format
msgid "Error: '%s' setting not present in the connection\n"
msgstr "Ошибка: в подключении не определен параметр «%s»\n"
-#: src/nmcli/connections.c:8487
+#: src/nmcli/connections.c:8493
#, c-format
msgid "Error: invalid property: %s%s\n"
msgstr "Ошибка: недействительное свойство %s%s\n"
-#: src/nmcli/connections.c:8489
+#: src/nmcli/connections.c:8495
msgid ", neither a valid setting name"
msgstr "и не является действительным именем параметра"
-#: src/nmcli/connections.c:8505
+#: src/nmcli/connections.c:8511
#, c-format
msgid "Invalid verify option: %s\n"
msgstr "Недопустимый параметр проверки: %s\n"
-#: src/nmcli/connections.c:8513
+#: src/nmcli/connections.c:8519
#, c-format
msgid "Verify setting '%s': %s\n"
msgstr "Проверьте параметр «%s»: %s\n"
-#: src/nmcli/connections.c:8528
+#: src/nmcli/connections.c:8534
#, c-format
msgid "Verify connection: %s\n"
msgstr "Проверьте подключение: %s\n"
-#: src/nmcli/connections.c:8530
+#: src/nmcli/connections.c:8536
msgid "The error cannot be fixed automatically.\n"
msgstr "Эта ошибка не может быть исправлена автоматически.\n"
-#: src/nmcli/connections.c:8550
+#: src/nmcli/connections.c:8556
#, c-format
msgid "Error: invalid argument '%s'\n"
msgstr "Ошибка: недействительный аргумент «%s»\n"
-#: src/nmcli/connections.c:8607
+#: src/nmcli/connections.c:8613
#, c-format
msgid "Error: Failed to save '%s' (%s) connection: %s\n"
msgstr "Ошибка: не удалось сохранить подключение «%s» (%s): %s\n"
-#: src/nmcli/connections.c:8613
+#: src/nmcli/connections.c:8619
#, c-format
msgid "Error: Timeout saving '%s' (%s) connection\n"
msgstr "Ошибка: истечение времени ожидания сохранения подключения «%s» (%s)\n"
-#: src/nmcli/connections.c:8617
+#: src/nmcli/connections.c:8623
#, c-format
msgid "Connection '%s' (%s) successfully saved.\n"
msgstr "Подключение «%s» (%s) успешно сохранено.\n"
-#: src/nmcli/connections.c:8618
+#: src/nmcli/connections.c:8624
#, c-format
msgid "Connection '%s' (%s) successfully updated.\n"
msgstr "Подключение «%s» (%s) успешно обновлено.\n"
-#: src/nmcli/connections.c:8652
+#: src/nmcli/connections.c:8658
#, c-format
msgid "Error: connection verification failed: %s\n"
msgstr "Ошибка: сбой проверки правильности подключения: %s\n"
-#: src/nmcli/connections.c:8653
+#: src/nmcli/connections.c:8659
msgid "(unknown error)"
msgstr "(неизвестная ошибка)"
-#: src/nmcli/connections.c:8654
+#: src/nmcli/connections.c:8660
msgid "You may try running 'verify fix' to fix errors.\n"
msgstr "Для исправления ошибок можно попробовать выполнить «verify fix».\n"
#. TRANSLATORS: do not translate 'save', leave it as it is
-#: src/nmcli/connections.c:8677
+#: src/nmcli/connections.c:8683
msgid "Error: connection is not saved. Type 'save' first.\n"
msgstr "Ошибка: подключение не сохранено. Сначала введите «save».\n"
-#: src/nmcli/connections.c:8681
+#: src/nmcli/connections.c:8687
#, c-format
msgid "Error: connection is not valid: %s\n"
msgstr "Ошибка: недействительное подключение: %s\n"
-#: src/nmcli/connections.c:8697
+#: src/nmcli/connections.c:8703
#, c-format
msgid "Error: Cannot activate connection: %s.\n"
msgstr "Ошибка: не удалось активировать подключение: %s\n"
-#: src/nmcli/connections.c:8706
+#: src/nmcli/connections.c:8712
#, c-format
msgid "Error: Failed to activate '%s' (%s) connection: %s\n"
msgstr "Ошибка: не удалось активировать подключение «%s» (%s): %s\n"
-#: src/nmcli/connections.c:8713
+#: src/nmcli/connections.c:8719
msgid "Monitoring connection activation (press any key to continue)\n"
msgstr ""
-"Наблюдение за активацией подключения (нажмите любую клавишу для продолжения)\n"
+"Наблюдение за активацией подключения (нажмите любую клавишу для "
+"продолжения)\n"
-#: src/nmcli/connections.c:8748
+#: src/nmcli/connections.c:8754
#, c-format
msgid "Error: status-line: %s\n"
msgstr "Ошибка: status-line: %s\n"
-#: src/nmcli/connections.c:8756
+#: src/nmcli/connections.c:8762
#, c-format
msgid "Error: save-confirmation: %s\n"
msgstr "Ошибка: save-confirmation: %s\n"
-#: src/nmcli/connections.c:8764
+#: src/nmcli/connections.c:8770
#, c-format
msgid "Error: show-secrets: %s\n"
msgstr "Ошибка: show-secrets: %s\n"
-#: src/nmcli/connections.c:8772
+#: src/nmcli/connections.c:8778
msgid "Current nmcli configuration:\n"
msgstr "Текущая конфигурация nmcli:\n"
-#: src/nmcli/connections.c:8780
+#: src/nmcli/connections.c:8786
#, c-format
msgid "Invalid configuration option '%s'; allowed [%s]\n"
msgstr "Недействительный параметр конфигурации «%s». Допускается: [%s]\n"
-#: src/nmcli/connections.c:9012
+#: src/nmcli/connections.c:9018
msgid "Error: only one of 'id', 'filename', uuid, or 'path' can be provided."
msgstr ""
"Ошибка: может быть предоставлено только одно значение из: «id», «filename», "
"uuid или «path»."
-#: src/nmcli/connections.c:9027
+#: src/nmcli/connections.c:9033
#, c-format
msgid "Error: Unknown connection '%s'."
msgstr "Ошибка: неизвестное подключение: «%s»."
-#: src/nmcli/connections.c:9044
+#: src/nmcli/connections.c:9050
#, c-format
msgid "Warning: editing existing connection '%s'; 'type' argument is ignored\n"
msgstr ""
-"Предупреждение: редактирование существующего подключения «%s»; аргумент «type» "
-"игнорируется.\n"
+"Предупреждение: редактирование существующего подключения «%s»; аргумент "
+"«type» игнорируется.\n"
-#: src/nmcli/connections.c:9048
+#: src/nmcli/connections.c:9054
#, c-format
msgid ""
"Warning: editing existing connection '%s'; 'con-name' argument is ignored\n"
@@ -13198,202 +13351,202 @@ msgstr ""
"Предупреждение: редактирование существующего подключения «%s»; аргумент «con-"
"name» игнорируется.\n"
-#: src/nmcli/connections.c:9075
+#: src/nmcli/connections.c:9081
#, c-format
msgid "Valid connection types: %s\n"
msgstr "Действительные типы подключений: %s\n"
-#: src/nmcli/connections.c:9077
+#: src/nmcli/connections.c:9083
#, c-format
msgid "Error: invalid connection type; %s\n"
msgstr "Ошибка: недействительный тип подключения: %s.\n"
-#: src/nmcli/connections.c:9116
+#: src/nmcli/connections.c:9122
msgid "===| nmcli interactive connection editor |==="
msgstr "===| интерактивный редактор подключений nmcli |==="
-#: src/nmcli/connections.c:9119
+#: src/nmcli/connections.c:9125
#, c-format
msgid "Editing existing '%s' connection: '%s'"
msgstr "Редактируется существующее подключение «%s»: «%s»"
-#: src/nmcli/connections.c:9121
+#: src/nmcli/connections.c:9127
#, c-format
msgid "Adding a new '%s' connection"
msgstr "Добавление нового подключения «%s»"
#. TRANSLATORS: do not translate 'help', leave it as it is
-#: src/nmcli/connections.c:9124
+#: src/nmcli/connections.c:9130
msgid "Type 'help' or '?' for available commands."
msgstr "Для просмотра доступных команд введите «help» или «?»."
#. TRANSLATORS: do not translate 'print', leave it as it is
-#: src/nmcli/connections.c:9127
+#: src/nmcli/connections.c:9133
msgid "Type 'print' to show all the connection properties."
msgstr "Введите «print», чтобы просмотреть все свойства подключения."
#. TRANSLATORS: do not translate 'describe', leave it as it is
-#: src/nmcli/connections.c:9130
+#: src/nmcli/connections.c:9136
msgid "Type 'describe [<setting>.<prop>]' for detailed property description."
msgstr ""
"Для просмотра описания свойства введите «describe [<параметр>.<свойство>]»."
-#: src/nmcli/connections.c:9157
+#: src/nmcli/connections.c:9163
#, c-format
msgid "Error: Failed to modify connection '%s': %s"
msgstr "Ошибка: не удалось изменить подключение «%s»: %s"
-#: src/nmcli/connections.c:9165
+#: src/nmcli/connections.c:9171
#, c-format
msgid "Connection '%s' (%s) successfully modified.\n"
msgstr "Подключение «%s» (%s) успешно изменено.\n"
-#: src/nmcli/connections.c:9238
+#: src/nmcli/connections.c:9244
#, c-format
msgid "%s (%s) cloned as %s (%s).\n"
msgstr "%s (%s) было клонировано в %s (%s).\n"
-#: src/nmcli/connections.c:9296
+#: src/nmcli/connections.c:9302
msgid "New connection name: "
msgstr "Название нового подключения: "
-#: src/nmcli/connections.c:9298
+#: src/nmcli/connections.c:9304
msgid "Error: <new name> argument is missing."
msgstr "Ошибка: не указан аргумент <новое имя>."
-#: src/nmcli/connections.c:9304 src/nmcli/connections.c:9832
+#: src/nmcli/connections.c:9310 src/nmcli/connections.c:9838
#, c-format
msgid "Error: unknown extra argument: '%s'."
msgstr "Ошибка: неизвестный дополнительный аргумент: «%s»."
-#: src/nmcli/connections.c:9338
+#: src/nmcli/connections.c:9344
msgid "Error: not all connections deleted."
msgstr "Ошибка: не все подключения были удалены."
-#: src/nmcli/connections.c:9339
+#: src/nmcli/connections.c:9345
#, c-format
msgid "Error: Connection deletion failed: %s\n"
msgstr "Ошибка: сбой удаления подключения: %s\n"
-#: src/nmcli/connections.c:9394 src/nmcli/connections.c:9523
-#: src/nmcli/connections.c:9985
+#: src/nmcli/connections.c:9400 src/nmcli/connections.c:9529
+#: src/nmcli/connections.c:9991
#, c-format
msgid "Error: %s.\n"
msgstr "Ошибка: %s.\n"
-#: src/nmcli/connections.c:9395 src/nmcli/connections.c:9524
-#: src/nmcli/connections.c:9986
+#: src/nmcli/connections.c:9401 src/nmcli/connections.c:9530
+#: src/nmcli/connections.c:9992
msgid "Error: not all connections found."
msgstr "Ошибка: обнаружены не все подключения."
-#: src/nmcli/connections.c:9456
+#: src/nmcli/connections.c:9462
#, c-format
msgid "Error: cannot delete unknown connection(s): %s."
msgstr "Ошибка: невозможно удалить неизвестные подключения: %s."
-#: src/nmcli/connections.c:9464
+#: src/nmcli/connections.c:9470
#, c-format
msgid "%s: connection profile changed\n"
msgstr "%s: профиль подключения изменился\n"
-#: src/nmcli/connections.c:9490
+#: src/nmcli/connections.c:9496
#, c-format
msgid "%s: connection profile created\n"
msgstr "%s: профиль подключения создан\n"
-#: src/nmcli/connections.c:9499
+#: src/nmcli/connections.c:9505
#, c-format
msgid "%s: connection profile removed\n"
msgstr "%s: профиль подключения удалён\n"
-#: src/nmcli/connections.c:9567
+#: src/nmcli/connections.c:9573
#, c-format
msgid "Error: failed to reload connections: %s."
msgstr "Ошибка: не удалось перезагрузить подключения: %s."
-#: src/nmcli/connections.c:9639
+#: src/nmcli/connections.c:9645
#, c-format
msgid "Error: failed to load connection: %s."
msgstr "Ошибка: не удалось загрузить подключение: %s."
-#: src/nmcli/connections.c:9647
+#: src/nmcli/connections.c:9653
#, c-format
msgid "Could not load file '%s'\n"
msgstr "Не удалось загрузить файл «%s»\n"
-#: src/nmcli/connections.c:9651
+#: src/nmcli/connections.c:9657
msgid "File to import: "
msgstr "Импортируемый файл: "
-#: src/nmcli/connections.c:9682
+#: src/nmcli/connections.c:9688
msgid "Error: No arguments provided."
msgstr "Ошибка: не указаны аргументы."
-#: src/nmcli/connections.c:9737
+#: src/nmcli/connections.c:9743
msgid "Error: 'type' argument is required."
msgstr "Ошибка: требуется аргумент «type»."
-#: src/nmcli/connections.c:9742
+#: src/nmcli/connections.c:9748
msgid "Error: 'file' argument is required."
msgstr "Ошибка: требуется аргумент «file»."
-#: src/nmcli/connections.c:9752
+#: src/nmcli/connections.c:9758
#, c-format
msgid "Error: failed to find VPN plugin for %s."
msgstr "Ошибка: не удалось найти модуль VPN для %s."
-#: src/nmcli/connections.c:9761 src/nmcli/connections.c:9853
+#: src/nmcli/connections.c:9767 src/nmcli/connections.c:9859
#, c-format
msgid "Error: failed to load VPN plugin: %s."
msgstr "Ошибка: не удалось загрузить модуль VPN: %s."
-#: src/nmcli/connections.c:9772
+#: src/nmcli/connections.c:9778
#, c-format
msgid "Error: failed to import '%s': %s."
msgstr "Ошибка: сбой импорта «%s»: %s."
-#: src/nmcli/connections.c:9838
+#: src/nmcli/connections.c:9844
msgid "Output file name: "
msgstr "Имя файла вывода: "
-#: src/nmcli/connections.c:9843
+#: src/nmcli/connections.c:9849
msgid "Error: the connection is not VPN."
msgstr "Ошибка: подключение не является подключением VPN."
-#: src/nmcli/connections.c:9867
+#: src/nmcli/connections.c:9873
#, c-format
msgid "Error: failed to create temporary file %s."
msgstr "Ошибка: не удалось создать временный файл %s."
-#: src/nmcli/connections.c:9877
+#: src/nmcli/connections.c:9883
#, c-format
msgid "Error: failed to export '%s': %s."
msgstr "Ошибка: не удалось экспортировать «%s»: %s."
-#: src/nmcli/connections.c:9891
+#: src/nmcli/connections.c:9897
#, c-format
msgid "Error: failed to read temporary file '%s': %s."
msgstr "Ошибка: не удалось прочитать временный файл «%s»: %s."
-#: src/nmcli/connections.c:9915
+#: src/nmcli/connections.c:9921
msgid "Error: not all connections migrated."
msgstr "Ошибка: не все подключения мигрировали."
-#: src/nmcli/connections.c:9916
+#: src/nmcli/connections.c:9922
#, c-format
msgid "Error: Connection migration failed: %s\n"
msgstr "Ошибка: сбой миграции подключения: %s\n"
-#: src/nmcli/connections.c:9920
+#: src/nmcli/connections.c:9926
#, c-format
msgid "Connection '%s' (%s) successfully migrated.\n"
msgstr "Миграция подключения '%s' (%s) выполнена успешно.\n"
-#: src/nmcli/connections.c:9952
+#: src/nmcli/connections.c:9958
msgid "'--plugin' argument is missing"
msgstr "отсутствует аргумент'--plugin'"
-#: src/nmcli/connections.c:10048
+#: src/nmcli/connections.c:10054
#, c-format
msgid "Error: cannot migrate unknown connection(s): %s."
msgstr "Ошибка: миграция неизвестных подключений невозможна: %s."
@@ -13493,15 +13646,16 @@ msgstr ""
" wifi [list [ifname <имя_интерфейса>] [bssid <BSSID>] [--rescan yes|no|"
"auto]]\n"
"\n"
-" wifi connect <(B)SSID> [password <пароль>] [wep-key-type key|phrase] [ifname "
-"<ifname>]\n"
-" [bssid <BSSID>] [name <имя>] [private yes|no] [hidden "
-"yes|no]\n"
+" wifi connect <(B)SSID> [password <пароль>] [wep-key-type key|phrase] "
+"[ifname <ifname>]\n"
+" [bssid <BSSID>] [name <имя>] [private yes|no] "
+"[hidden yes|no]\n"
"\n"
-" wifi hotspot [ifname <имя_интерфейса>] [con-name <имя>] [ssid <SSID>] [band "
-"a|bg] [channel <канал>] [password <пароль>]\n"
+" wifi hotspot [ifname <имя_интерфейса>] [con-name <имя>] [ssid <SSID>] "
+"[band a|bg] [channel <канал>] [password <пароль>]\n"
"\n"
-" wifi rescan [ifname <имя_интерфейса>] [[ssid <SSID для сканирования>] ...]\n"
+" wifi rescan [ifname <имя_интерфейса>] [[ssid <SSID для "
+"сканирования>] ...]\n"
"\n"
" wifi show-password [ifname <имя_интерфейса>]\n"
"\n"
@@ -13518,8 +13672,10 @@ msgid ""
" TYPE - device type\n"
" STATE - device state\n"
" CONNECTION - connection activated on device (if any)\n"
-"Displayed columns can be changed using '--fields' global option. 'status' is\n"
-"the default command, which means 'nmcli device' calls 'nmcli device status'.\n"
+"Displayed columns can be changed using '--fields' global option. 'status' "
+"is\n"
+"the default command, which means 'nmcli device' calls 'nmcli device "
+"status'.\n"
"\n"
msgstr ""
"Использование: nmcli device status { help }\n"
@@ -13531,8 +13687,8 @@ msgstr ""
" СТАТУС - статус устройства\n"
" ПОДКЛЮЧЕНИЕ - подключение, активированное на устройстве\n"
"Глобальный параметр «--fields» позволяет изменить показанные столбцы.\n"
-"«status» используется по умолчанию, то есть «nmcli device» эквивалентно «nmcli "
-"device status».\n"
+"«status» используется по умолчанию, то есть «nmcli device» эквивалентно "
+"«nmcli device status».\n"
"\n"
#: src/nmcli/devices.c:895
@@ -13560,7 +13716,8 @@ msgid ""
"ARGUMENTS := <ifname>\n"
"\n"
"Connect the device.\n"
-"NetworkManager will try to find a suitable connection that will be activated.\n"
+"NetworkManager will try to find a suitable connection that will be "
+"activated.\n"
"It will also consider connections that are not set to auto-connect.\n"
"\n"
msgstr ""
@@ -13597,8 +13754,8 @@ msgid ""
"\n"
"ARGUMENTS := <ifname> ([+|-]<setting>.<property> <value>)+\n"
"\n"
-"Modify one or more properties that are currently active on the device without "
-"modifying\n"
+"Modify one or more properties that are currently active on the device "
+"without modifying\n"
"the connection profile. The changes have immediate effect. For multi-valued\n"
"properties you can use optional '+' or '-' prefix to the property name.\n"
"The '+' sign allows appending items instead of overwriting the whole value.\n"
@@ -13718,14 +13875,15 @@ msgid ""
"\n"
"Perform operation on Wi-Fi devices.\n"
"\n"
-"ARGUMENTS := [list [ifname <ifname>] [bssid <BSSID>] [--rescan yes|no|auto]]\n"
+"ARGUMENTS := [list [ifname <ifname>] [bssid <BSSID>] [--rescan yes|no|"
+"auto]]\n"
"\n"
"List available Wi-Fi access points. The 'ifname' and 'bssid' options can be\n"
"used to list APs for a particular interface, or with a specific BSSID. The\n"
"--rescan flag tells whether a new Wi-Fi scan should be triggered.\n"
"\n"
-"ARGUMENTS := connect <(B)SSID> [password <password>] [wep-key-type key|phrase] "
-"[ifname <ifname>]\n"
+"ARGUMENTS := connect <(B)SSID> [password <password>] [wep-key-type key|"
+"phrase] [ifname <ifname>]\n"
" [bssid <BSSID>] [name <name>] [private yes|no] [hidden "
"yes|no]\n"
"\n"
@@ -13752,8 +13910,10 @@ msgid ""
"\n"
"ARGUMENTS := rescan [ifname <ifname>] [[ssid <SSID to scan>] ...]\n"
"\n"
-"Request that NetworkManager immediately re-scan for available access points.\n"
-"NetworkManager scans Wi-Fi networks periodically, but in some cases it might\n"
+"Request that NetworkManager immediately re-scan for available access "
+"points.\n"
+"NetworkManager scans Wi-Fi networks periodically, but in some cases it "
+"might\n"
"be useful to start scanning manually. 'ssid' allows scanning for a specific\n"
"SSID, which is useful for APs with hidden SSIDs. More 'ssid' parameters can "
"be\n"
@@ -13765,33 +13925,34 @@ msgstr ""
"\n"
"Выполнение работы на устройствах Wi-Fi.\n"
"\n"
-"АРГУМЕНТЫ: = [list [ifname <ifname>] [bssid <BSSID>]] [--rescan yes|no|auto]]\n"
+"АРГУМЕНТЫ: = [list [ifname <ifname>] [bssid <BSSID>]] [--rescan yes|no|"
+"auto]]\n"
"\n"
"Список доступных точек доступа Wi-Fi. Параметры «ifname» и «bssid» могут "
-"использоваться для перечисления точек доступа для определенного интерфейса или "
-"с определенным BSSID. Флаг --rescan указывает, будет ли произведено новое "
-"сканирование Wi-Fi\n"
+"использоваться для перечисления точек доступа для определенного интерфейса "
+"или с определенным BSSID. Флаг --rescan указывает, будет ли произведено "
+"новое сканирование Wi-Fi\n"
"\n"
"АРГУМЕНТЫ: = connect <(B)SSID> [password <пароль>] [wep-key-type key|phrase] "
"[ifname <ifname>]\n"
-" [bssid <BSSID>] [name <название>] [private yes|no] [hidden yes|"
-"no]\n"
+" [bssid <BSSID>] [name <название>] [private yes|no] [hidden "
+"yes|no]\n"
"\n"
"Подключение к сети Wi-Fi, указанной SSID или BSSID. Команда создает новое "
"подключение, а затем активирует его на устройстве. Это дубликат командной "
"строки для нажатия SSID в клиенте GUI. Команда всегда создает новое "
-"подключение и, следовательно, в основном полезна для подключения к новым сетям "
-"Wi-Fi. Если подключение для сети уже существует, лучше создать существующий "
-"профиль следующим образом: nmcli con id <name>Обратите внимание, что в "
-"настоящий момент поддерживаются только открытые, WEP и WPA-PSK-сети. Также "
-"предполагается, что конфигурация IP получена через DHCP. \n"
+"подключение и, следовательно, в основном полезна для подключения к новым "
+"сетям Wi-Fi. Если подключение для сети уже существует, лучше создать "
+"существующий профиль следующим образом: nmcli con id <name>Обратите "
+"внимание, что в настоящий момент поддерживаются только открытые, WEP и WPA-"
+"PSK-сети. Также предполагается, что конфигурация IP получена через DHCP. \n"
"\n"
"АРГУМЕНТЫ: = hotspot [ifname <ifname>] [con-name <name>] [ssid <SSID>]\n"
" [band a | bg] [channel <канал>] [password <пароль>]\n"
"\n"
-"Создайте точку доступа Wi-Fi. Используйте «подключение вниз» или «отсоединение "
-"устройства», чтобы остановить точку доступа. На параметры точки доступа могут "
-"влиять дополнительные параметры:\n"
+"Создайте точку доступа Wi-Fi. Используйте «подключение вниз» или "
+"«отсоединение устройства», чтобы остановить точку доступа. На параметры "
+"точки доступа могут влиять дополнительные параметры:\n"
" ifname - устройство Wi-Fi для использования\n"
" con-name - имя созданного профиля подключения точки доступа\n"
" ssid - SSID диапазона хот-спотов\n"
@@ -13803,11 +13964,11 @@ msgstr ""
"\n"
"Запросите, чтобы NetworkManager немедленно повторно просматривал доступные "
"точки доступа. NetworkManager периодически проверяет сети Wi-Fi, но в "
-"некоторых случаях может оказаться полезным начать сканирование вручную. «ssid» "
-"позволяет сканировать определенный SSID, который полезен для AP со скрытыми "
-"SSID. Могут быть предоставлены дополнительные параметры ssid. Обратите "
-"внимание, что эта команда не отображает точки доступа, для этого используется "
-"«nmcli device wifi list».\n"
+"некоторых случаях может оказаться полезным начать сканирование вручную. "
+"«ssid» позволяет сканировать определенный SSID, который полезен для AP со "
+"скрытыми SSID. Могут быть предоставлены дополнительные параметры ssid. "
+"Обратите внимание, что эта команда не отображает точки доступа, для этого "
+"используется «nmcli device wifi list».\n"
"\n"
#: src/nmcli/devices.c:1049
@@ -13816,7 +13977,8 @@ msgid ""
"\n"
"ARGUMENTS := [list [ifname <ifname>]]\n"
"\n"
-"List neighboring devices discovered through LLDP. The 'ifname' option can be\n"
+"List neighboring devices discovered through LLDP. The 'ifname' option can "
+"be\n"
"used to list neighbors for a particular interface.\n"
"\n"
msgstr ""
@@ -14076,8 +14238,8 @@ msgstr "Ошибка: не найдено устройство «%s»."
#: src/nmcli/devices.c:3507
#, c-format
msgid ""
-"Error: Device '%s' was not recognized as a Wi-Fi device, check NetworkManager "
-"Wi-Fi plugin."
+"Error: Device '%s' was not recognized as a Wi-Fi device, check "
+"NetworkManager Wi-Fi plugin."
msgstr ""
"Ошибка: «%s» не было распознано как устройство Wi-Fi. Проверьте модуль Wi-Fi "
"для NetworkManager."
@@ -14099,7 +14261,8 @@ msgstr "Ошибка: не указан SSID или BSSID."
#: src/nmcli/devices.c:3741
#, c-format
msgid "Error: bssid argument value '%s' is not a valid BSSID."
-msgstr "Ошибка: значение аргумента bssid «%s» не является действительным BSSID."
+msgstr ""
+"Ошибка: значение аргумента bssid «%s» не является действительным BSSID."
#: src/nmcli/devices.c:3772
#, c-format
@@ -14117,7 +14280,8 @@ msgstr "Ошибка: %s: %s."
#: src/nmcli/devices.c:3843
#, c-format
msgid "Error: BSSID to connect to (%s) differs from bssid argument (%s)."
-msgstr "Ошибка: BSSID для подключения к (%s) отличается от аргумента bssid (%s)."
+msgstr ""
+"Ошибка: BSSID для подключения к (%s) отличается от аргумента bssid (%s)."
#: src/nmcli/devices.c:3851
#, c-format
@@ -14151,10 +14315,11 @@ msgstr "Ошибка: подключение «%s» существует, но
#: src/nmcli/devices.c:4004
#, c-format
-msgid "Warning: '%s' should be SSID for hidden APs; but it looks like a BSSID.\n"
+msgid ""
+"Warning: '%s' should be SSID for hidden APs; but it looks like a BSSID.\n"
msgstr ""
-"Предупреждение: «%s» должен представлять собой SSID для скрытой точки доступа, "
-"но он выглядит как BSSID.\n"
+"Предупреждение: «%s» должен представлять собой SSID для скрытой точки "
+"доступа, но он выглядит как BSSID.\n"
#: src/nmcli/devices.c:4046
msgid "Password: "
@@ -14169,8 +14334,8 @@ msgstr "«%s» не является действительным WPA PSK"
#, c-format
msgid "'%s' is not valid WEP key (it should be 5 or 13 ASCII chars)"
msgstr ""
-"«%s» не является действительным ключом WEP (должен содержать 5 или 13 символов "
-"ASCII)"
+"«%s» не является действительным ключом WEP (должен содержать 5 или 13 "
+"символов ASCII)"
#: src/nmcli/devices.c:4226
#, c-format
@@ -14185,8 +14350,8 @@ msgstr "Ошибка: слишком длинный SSID."
#, c-format
msgid "Error: band argument value '%s' is invalid; use 'a' or 'bg'."
msgstr ""
-"Ошибка: недействительное значение аргумента «band»: «%s». Используйте «a» или "
-"«bg»."
+"Ошибка: недействительное значение аргумента «band»: «%s». Используйте «a» "
+"или «bg»."
#: src/nmcli/devices.c:4471
msgid "Error: channel requires band too."
@@ -14372,7 +14537,8 @@ msgid ""
"\n"
"Get or change persistent system hostname.\n"
"With no arguments, this prints currently configured hostname. When you pass\n"
-"a hostname, NetworkManager will set it as the new persistent system hostname.\n"
+"a hostname, NetworkManager will set it as the new persistent system "
+"hostname.\n"
"\n"
msgstr ""
"Использование: nmcli general hostname { АРГУМЕНТЫ | help }\n"
@@ -14395,7 +14561,8 @@ msgid ""
msgstr ""
"Использование: nmcli general permissions { help }\n"
"\n"
-"Показывает полномочия вызывающей стороны на действия с проверкой подлинности.\n"
+"Показывает полномочия вызывающей стороны на действия с проверкой "
+"подлинности.\n"
"\n"
#: src/nmcli/general.c:345
@@ -14449,7 +14616,8 @@ msgstr ""
" которые можно перезагрузить с помощью 'nmcli connection "
"reload'.\n"
"\n"
-" 'dns-rc' Обновление конфигурации DNS, обычно это выполняется с помощью\n"
+" 'dns-rc' Обновление конфигурации DNS, обычно это выполняется с "
+"помощью\n"
" создания /etc/resolv.conf с нуля. Аналог посылки сигнала "
"SIGUSR1 процессу\n"
" NetworkManager.\n"
@@ -14460,8 +14628,8 @@ msgstr ""
"конфигурация\n"
" в /etc/NetworkManager/dnsmasq.d. Если эти файлы подвергались "
"редактированию,\n"
-" то модуль DNS можно перезагрузить. Данное действие на короткое "
-"время\n"
+" то модуль DNS можно перезагрузить. Данное действие на "
+"короткое время\n"
" прерывает процесс разрешения имён.\n"
"\n"
"В случае, если флаги не указываются, перезагружается всё поддерживаемое, что "
@@ -14475,7 +14643,8 @@ msgid ""
"ARGUMENTS := [level <log level>] [domains <log domains>]\n"
"\n"
"Get or change NetworkManager logging level and domains.\n"
-"Without any argument current logging level and domains are shown. In order to\n"
+"Without any argument current logging level and domains are shown. In order "
+"to\n"
"change logging state, provide level and/or domain. Please refer to the man "
"page\n"
"for the list of possible logging domains.\n"
@@ -14547,7 +14716,8 @@ msgid ""
"ARGUMENTS := [check]\n"
"\n"
"Get network connectivity state.\n"
-"The optional 'check' argument makes NetworkManager re-check the connectivity.\n"
+"The optional 'check' argument makes NetworkManager re-check the "
+"connectivity.\n"
"\n"
msgstr ""
"Использование: nmcli networking connectivity { АРГУМЕНТЫ | help }\n"
@@ -14697,8 +14867,8 @@ msgstr "Ошибка: не удалось настроить имя хоста:
#, c-format
msgid "Error: '--fields' value '%s' is not valid here (allowed field: %s)"
msgstr ""
-"Ошибка: значение «%s» параметра «--fields» здесь недействительно (разрешённое "
-"поле: %s)"
+"Ошибка: значение «%s» параметра «--fields» здесь недействительно "
+"(разрешённое поле: %s)"
#: src/nmcli/general.c:989
#, c-format
@@ -14864,14 +15034,15 @@ msgstr "%s: %s"
#: src/nmcli/general.c:1594
msgid ""
-"Use \"nmcli device show\" to get complete information about known devices and\n"
+"Use \"nmcli device show\" to get complete information about known devices "
+"and\n"
"\"nmcli connection show\" to get an overview on active connection profiles.\n"
"\n"
"Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage "
"details.\n"
msgstr ""
-"Чтобы получить полную информацию об известных устройствах, используйте «nmcli "
-"device show», а чтобы получить обзор активных профилей подключений, "
+"Чтобы получить полную информацию об известных устройствах, используйте "
+"«nmcli device show», а чтобы получить обзор активных профилей подключений, "
"используйте «nmcli connection show». Проконсультируйтесь с страницами nmcli "
"(1) и nmcli-examples (5) для получения полной информации об использовании.\n"
@@ -14919,7 +15090,8 @@ msgstr ""
" -e, --escape yes|no опускать разделители столбцов в "
"значениях\n"
" -f, --fields <field,...>|all|common указать выводимые поля\n"
-" -g, --get-values <field,...>|all|common краткая форма для -m tabular -t -f\n"
+" -g, --get-values <field,...>|all|common краткая форма для -m tabular -t -"
+"f\n"
" -h, --help показать данную справку\n"
" -m, --mode tabular|multiline режим вывода\n"
" -o, --overview режим обзора\n"
@@ -15035,15 +15207,15 @@ msgstr "Нужно ли также очистить «%s»? [да]: "
msgid ""
"Warning: %s.%s set to '%s', but it might be ignored in infrastructure mode\n"
msgstr ""
-"Предупреждение: для %s.%s настроено значение «%s», но оно будет игнорироваться "
-"в режиме инфраструктуры\n"
+"Предупреждение: для %s.%s настроено значение «%s», но оно будет "
+"игнорироваться в режиме инфраструктуры\n"
#: src/nmcli/settings.c:269
#, c-format
msgid "Warning: setting %s.%s requires removing ipv4 and ipv6 settings\n"
msgstr ""
-"Предупреждение: настройка параметров %s.%s требует удаления параметров ipv4 и "
-"ipv6\n"
+"Предупреждение: настройка параметров %s.%s требует удаления параметров ipv4 "
+"и ipv6\n"
#: src/nmcli/settings.c:272
msgid "Do you want to remove them? [yes] "
@@ -16058,7 +16230,8 @@ msgstr "Включить"
msgid "Deactivate"
msgstr "Отключить"
-#: src/nmtui/nmtui-connect.c:375 src/nmtui/nmtui-edit.c:96 src/nmtui/nmtui.c:109
+#: src/nmtui/nmtui-connect.c:375 src/nmtui/nmtui-edit.c:96
+#: src/nmtui/nmtui.c:109
msgid "Quit"
msgstr "Выйти"
@@ -16086,8 +16259,8 @@ msgstr "Выберите тип создаваемого подключения.
#: src/nmtui/nmtui-edit.c:358
msgid ""
-"If you are creating a VPN, and the VPN connection you wish to create does not "
-"appear in the list, you may not have the correct VPN plugin installed."
+"If you are creating a VPN, and the VPN connection you wish to create does "
+"not appear in the list, you may not have the correct VPN plugin installed."
msgstr ""
"Отсутствие VPN в списке возможных типов подключений скорей всего говорит о "
"том, что корректный модуль VPN не был установлен."
@@ -16204,19 +16377,26 @@ msgstr "Не удалось выполнить анализ аргументов
msgid "Could not contact NetworkManager: %s.\n"
msgstr "Не удалось связаться с NetworkManager: %s.\n"
+#~ msgid "hsr supervision address"
+#~ msgstr "адрес супервизора hsr"
+
+#~ msgid "The supervision MAC address."
+#~ msgstr "MAC-адрес супервизора."
+
#~ msgid ""
-#~ "The NMSettingWirelessWakeOnWLan options to enable. Not all devices support "
-#~ "all options. May be any combination of NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY "
-#~ "(0x2), NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT (0x4), "
+#~ "The NMSettingWirelessWakeOnWLan options to enable. Not all devices "
+#~ "support all options. May be any combination of "
+#~ "NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY (0x2), "
+#~ "NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT (0x4), "
#~ "NM_SETTING_WIRELESS_WAKE_ON_WLAN_MAGIC (0x8), "
#~ "NM_SETTING_WIRELESS_WAKE_ON_WLAN_GTK_REKEY_FAILURE (0x10), "
#~ "NM_SETTING_WIRELESS_WAKE_ON_WLAN_EAP_IDENTITY_REQUEST (0x20), "
#~ "NM_SETTING_WIRELESS_WAKE_ON_WLAN_4WAY_HANDSHAKE (0x40), "
#~ "NM_SETTING_WIRELESS_WAKE_ON_WLAN_RFKILL_RELEASE (0x80), "
#~ "NM_SETTING_WIRELESS_WAKE_ON_WLAN_TCP (0x100) or the special values "
-#~ "NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT (0x1) (to use global settings) and "
-#~ "NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE (0x8000) (to disable management of "
-#~ "Wake-on-LAN in NetworkManager)."
+#~ "NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT (0x1) (to use global settings) "
+#~ "and NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE (0x8000) (to disable "
+#~ "management of Wake-on-LAN in NetworkManager)."
#~ msgstr ""
#~ "Параметры NMSettingWirelessWakeOnWLan для включения. Не все устройства "
#~ "поддерживают все параметры. Возможна любая комбинация следующих "
@@ -16246,8 +16426,8 @@ msgstr "Не удалось связаться с NetworkManager: %s.\n"
#~ "NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS (0x2), "
#~ "NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL (0x4), "
#~ "NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV (0x8), NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY "
-#~ "(0x10), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK (0x20). Действительны только "
-#~ "для туннелей IPv6."
+#~ "(0x10), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK (0x20). Действительны "
+#~ "только для туннелей IPv6."
#~ msgid ""
#~ "The tunneling mode, for example NM_IP_TUNNEL_MODE_IPIP (1) or "
@@ -16257,15 +16437,16 @@ msgstr "Не удалось связаться с NetworkManager: %s.\n"
#~ "NM_IP_TUNNEL_MODE_GRE (2)."
#~ msgid ""
-#~ "The InfiniBand P_Key to use for this device. A value of -1 means to use the "
-#~ "default P_Key (aka \"the P_Key at index 0\"). Otherwise, it is a 16-bit "
-#~ "unsigned integer, whose high bit is set if it is a \"full membership\" "
-#~ "P_Key."
+#~ "The InfiniBand P_Key to use for this device. A value of -1 means to use "
+#~ "the default P_Key (aka \"the P_Key at index 0\"). Otherwise, it is a 16-"
+#~ "bit unsigned integer, whose high bit is set if it is a \"full "
+#~ "membership\" P_Key."
#~ msgstr ""
#~ "Ключ InfiniBand P_Key для использования с эти устройством. Значение «-1» "
-#~ "означает, что нужно использовать изначальный P_Key (он же \"P_Key в индексе "
-#~ "0\"). В противном случае используется неподписанное 16-битное целое число, "
-#~ "чей старший бит настроен в виде ключа P_Key «полного членства»."
+#~ "означает, что нужно использовать изначальный P_Key (он же \"P_Key в "
+#~ "индексе 0\"). В противном случае используется неподписанное 16-битное "
+#~ "целое число, чей старший бит настроен в виде ключа P_Key «полного "
+#~ "членства»."
#~ msgid ""
#~ "IP configuration method. NMSettingIP4Config and NMSettingIP6Config both "
@@ -16278,30 +16459,30 @@ msgstr "Не удалось связаться с NetworkManager: %s.\n"
#~ "network, such as \"shared\" or \"link-local\", these properties must be "
#~ "empty. For IPv4 method \"shared\", the IP subnet can be configured by "
#~ "adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note "
-#~ "that the shared method must be configured on the interface which shares the "
-#~ "internet to a subnet, not on the uplink which is shared."
+#~ "that the shared method must be configured on the interface which shares "
+#~ "the internet to a subnet, not on the uplink which is shared."
#~ msgstr ""
#~ "Метод конфигурации IP. Как NMSettingIP4Config, так и NMSettingIP6Config "
-#~ "поддерживают значения \"disabled\", \"auto\", \"manual\" и \"link-local\". "
-#~ "Другие значения смотрите в документации, относящейся к конкретному "
-#~ "подклассу. В целом, для метода \"auto\", такие свойства, как \"dns\" и "
-#~ "\"routes\" указывают сведения, добавляемые к сведениям, возвращаемым "
-#~ "автоматической конфигурацией. Параметры \"ignore-auto-routes\" и \"ignore-"
-#~ "auto-dns\" изменяют это поведение. Для методов, не подразумевающих "
-#~ "вышестоящую сеть, таких, как \"shared\" или \"link-local\", эти параметры "
-#~ "должны быть пустыми. Для метода IPv4 \"shared\" подсеть IP может быть "
-#~ "настроена с помощью ручного добавления одного адреса IPv4, в противном "
-#~ "случае выбирается 10.42.x.0/24. Обратите внимание, что разделяемый метод "
-#~ "должен конфигурироваться на том интерфейсе, который раздаёт Интернет в "
-#~ "подсеть, а не в раздаваемом канале."
+#~ "поддерживают значения \"disabled\", \"auto\", \"manual\" и \"link-"
+#~ "local\". Другие значения смотрите в документации, относящейся к "
+#~ "конкретному подклассу. В целом, для метода \"auto\", такие свойства, как "
+#~ "\"dns\" и \"routes\" указывают сведения, добавляемые к сведениям, "
+#~ "возвращаемым автоматической конфигурацией. Параметры \"ignore-auto-"
+#~ "routes\" и \"ignore-auto-dns\" изменяют это поведение. Для методов, не "
+#~ "подразумевающих вышестоящую сеть, таких, как \"shared\" или \"link-"
+#~ "local\", эти параметры должны быть пустыми. Для метода IPv4 \"shared\" "
+#~ "подсеть IP может быть настроена с помощью ручного добавления одного "
+#~ "адреса IPv4, в противном случае выбирается 10.42.x.0/24. Обратите "
+#~ "внимание, что разделяемый метод должен конфигурироваться на том "
+#~ "интерфейсе, который раздаёт Интернет в подсеть, а не в раздаваемом канале."
#~ msgid ""
-#~ "Configure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 "
-#~ "tokenized interface identifiers. Useful with eui64 addr-gen-mode."
+#~ "Configure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 "
+#~ "IPv6 tokenized interface identifiers. Useful with eui64 addr-gen-mode."
#~ msgstr ""
-#~ "Настройка токенов для идентификаторов IPv6 draft-chown-6man-tokenised-ipv6-"
-#~ "identifiers-02 интерфейсов с токеном. Удобно использовать совместно с eui64 "
-#~ "addr-gen-mode."
+#~ "Настройка токенов для идентификаторов IPv6 draft-chown-6man-tokenised-"
+#~ "ipv6-identifiers-02 интерфейсов с токеном. Удобно использовать совместно "
+#~ "с eui64 addr-gen-mode."
#, c-format
#~ msgid "Error: openconnect failed with status %d\n"
@@ -16322,27 +16503,27 @@ msgstr "Не удалось связаться с NetworkManager: %s.\n"
#~ msgstr ""
#~ "ЛОЖНО — если подключение может быть изменено с использованием "
#~ "предоставляемых параметров интерфейса D-BUS службы с необходимыми "
-#~ "полномочиями, или ВЕРНО — если подключение доступно только для чтения и не "
-#~ "может быть изменено."
+#~ "полномочиями, или ВЕРНО — если подключение доступно только для чтения и "
+#~ "не может быть изменено."
#~ msgid ""
#~ "If non-zero, directs the device to only use the specified bitrate for "
-#~ "communication with the access point. Units are in Kb/s, ie 5500 = 5.5 Mbit/"
-#~ "s. This property is highly driver dependent and not all devices support "
-#~ "setting a static bitrate."
+#~ "communication with the access point. Units are in Kb/s, ie 5500 = 5.5 "
+#~ "Mbit/s. This property is highly driver dependent and not all devices "
+#~ "support setting a static bitrate."
#~ msgstr ""
-#~ "При значении, отличном от нуля, то при обмене информацией с точкой доступа "
-#~ "устройство инструктируется на использование только указанной скорости "
-#~ "передачи. Единица измерения — Кб/сек, то есть 5500 = 5.5 Мбит/с. Данное "
-#~ "свойство очень сильно зависит от драйвера, и не все устройства поддерживают "
-#~ "установку статической скорости."
+#~ "При значении, отличном от нуля, то при обмене информацией с точкой "
+#~ "доступа устройство инструктируется на использование только указанной "
+#~ "скорости передачи. Единица измерения — Кб/сек, то есть 5500 = 5.5 Мбит/с. "
+#~ "Данное свойство очень сильно зависит от драйвера, и не все устройства "
+#~ "поддерживают установку статической скорости."
#~ msgid ""
-#~ "If non-zero, directs the device to use the specified transmit power. Units "
-#~ "are dBm. This property is highly driver dependent and not all devices "
-#~ "support setting a static transmit power."
+#~ "If non-zero, directs the device to use the specified transmit power. "
+#~ "Units are dBm. This property is highly driver dependent and not all "
+#~ "devices support setting a static transmit power."
#~ msgstr ""
-#~ "При значении, отличном от нуля, устройство инструктируется на использование "
-#~ "указанной мощности передачи. Единицы измерения — дБм (децибел на "
-#~ "милливатт). Данное свойство очень сильно зависит от драйвера, и не все "
-#~ "устройства поддерживают установку статической мощности передачи."
+#~ "При значении, отличном от нуля, устройство инструктируется на "
+#~ "использование указанной мощности передачи. Единицы измерения — дБм "
+#~ "(децибел на милливатт). Данное свойство очень сильно зависит от драйвера, "
+#~ "и не все устройства поддерживают установку статической мощности передачи."
diff --git a/po/sv.po b/po/sv.po
index c453d5cd6b..146c29e343 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -5,13 +5,14 @@
# Josef Andersson <l10nl18nsweja@gmail.com>, 2014, 2015, 2017.
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015, 2016, 2017.
# Luna Jernberg <lunajernberg@gnome.org>, 2022, 2023, 2024.
+
msgid ""
msgstr ""
"Project-Id-Version: NetworkManager\n"
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
"NetworkManager/issues\n"
-"POT-Creation-Date: 2024-01-16 03:26+0000\n"
-"PO-Revision-Date: 2024-01-23 10:36+0100\n"
+"POT-Creation-Date: 2024-02-07 15:26+0000\n"
+"PO-Revision-Date: 2024-02-08 08:46+0100\n"
"Last-Translator: Luna Jernberg <lunajernberg@gnome.org>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -19,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 3.4.1\n"
+"X-Generator: Poedit 3.4.2\n"
"X-Project-Style: gnome\n"
#: data/org.freedesktop.NetworkManager.policy.in.in:13
@@ -199,7 +200,7 @@ msgid "%s %u"
msgstr "%s %u"
#: src/core/devices/adsl/nm-device-adsl.c:118
-#: src/libnmc-setting/nm-meta-setting-desc.c:8633
+#: src/libnmc-setting/nm-meta-setting-desc.c:8656
msgid "ADSL connection"
msgstr "ADSL-anslutning"
@@ -277,7 +278,7 @@ msgid "Wired connection %d"
msgstr "Trådbunden anslutning %d"
#: src/core/devices/nm-device-ethernet.c:1641
-#: src/libnmc-setting/nm-meta-setting-desc.c:8675
+#: src/libnmc-setting/nm-meta-setting-desc.c:8698
msgid "Veth connection"
msgstr "Veth-anslutning"
@@ -290,7 +291,7 @@ msgid "Wired connection"
msgstr "Trådbunden anslutning"
#: src/core/devices/nm-device-infiniband.c:160
-#: src/libnmc-setting/nm-meta-setting-desc.c:8648
+#: src/libnmc-setting/nm-meta-setting-desc.c:8671
msgid "InfiniBand connection"
msgstr "InfiniBand-anslutning"
@@ -311,17 +312,17 @@ msgid "TUN connection"
msgstr "TUN-anslutning"
#: src/core/devices/nm-device-vlan.c:380
-#: src/libnmc-setting/nm-meta-setting-desc.c:8676
+#: src/libnmc-setting/nm-meta-setting-desc.c:8699
msgid "VLAN connection"
msgstr "VLAN-anslutning"
#: src/core/devices/nm-device-vrf.c:185
-#: src/libnmc-setting/nm-meta-setting-desc.c:8678
+#: src/libnmc-setting/nm-meta-setting-desc.c:8701
msgid "VRF connection"
msgstr "VRF-anslutning"
#: src/core/devices/nm-device-vxlan.c:385
-#: src/libnmc-setting/nm-meta-setting-desc.c:8679
+#: src/libnmc-setting/nm-meta-setting-desc.c:8702
msgid "VXLAN connection"
msgstr "VXLAN-anslutning"
@@ -642,7 +643,7 @@ msgstr "Flaggor för Nätverkshanteraren"
msgid "Show NetworkManager options"
msgstr "Visa Nätverkshanterarens flaggor"
-#: src/core/nm-manager.c:6886 src/libnmc-setting/nm-meta-setting-desc.c:8677
+#: src/core/nm-manager.c:6886 src/libnmc-setting/nm-meta-setting-desc.c:8700
msgid "VPN connection"
msgstr "VPN-anslutning"
@@ -664,7 +665,7 @@ msgstr "Grupp"
msgid "Bridge"
msgstr "Brygga"
-#: src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c:9026
+#: src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c:9024
#: src/libnm-core-impl/nm-team-utils.c:2391
msgid "invalid json"
msgstr "ogiltig json"
@@ -1124,43 +1125,47 @@ msgstr "egenskapen får inte vara längre än 255 byte"
msgid "property cannot contain any nul bytes"
msgstr "egenskapen kan inte innehålla några nullbyte"
-#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:674
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:474
+msgid "invalid DSCP value; allowed values are: 'CS0', 'CS4', 'CS6'"
+msgstr "ogiltigt DSCP-värde; tillåtna värden är: 'CS0', 'CS4', 'CS6'"
+
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:691
#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:82
#: src/libnm-core-impl/nm-setting-user.c:93
msgid "missing key"
msgstr "saknar nyckel"
-#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:682
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:699
#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:90
#: src/libnm-core-impl/nm-setting-user.c:101
msgid "key is too long"
msgstr "nyckeln är för lång"
-#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:689
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:706
#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:97
#: src/libnm-core-impl/nm-setting-user.c:108
msgid "key must be UTF8"
msgstr "nyckeln måste vara i UTF8"
-#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:698
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:715
#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:106
#: src/libnm-core-impl/nm-setting-user.c:155
msgid "key contains invalid characters"
msgstr "nyckeln innehåller ogiltiga tecken"
-#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:726
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:743
#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:195
#: src/libnm-core-impl/nm-setting-user.c:182
msgid "value is missing"
msgstr "värdet saknas"
-#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:735
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:752
#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:204
#: src/libnm-core-impl/nm-setting-user.c:191
msgid "value is too large"
msgstr "värdet är för stort"
-#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:743
+#: src/libnm-core-aux-intern/nm-libnm-core-utils.c:760
#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:212
#: src/libnm-core-impl/nm-setting-user.c:199
msgid "value is not valid UTF8"
@@ -1229,10 +1234,10 @@ msgstr "oväntat uuid %s istället för %s"
#: src/libnm-core-impl/nm-setting-bluetooth.c:190
#: src/libnm-core-impl/nm-setting-bluetooth.c:207
#: src/libnm-core-impl/nm-setting-cdma.c:142
-#: src/libnm-core-impl/nm-setting-connection.c:1188
-#: src/libnm-core-impl/nm-setting-connection.c:1226
-#: src/libnm-core-impl/nm-setting-connection.c:1555
-#: src/libnm-core-impl/nm-setting-ip-config.c:5480
+#: src/libnm-core-impl/nm-setting-connection.c:1231
+#: src/libnm-core-impl/nm-setting-connection.c:1269
+#: src/libnm-core-impl/nm-setting-connection.c:1598
+#: src/libnm-core-impl/nm-setting-ip-config.c:5500
#: src/libnm-core-impl/nm-setting-ip-tunnel.c:405
#: src/libnm-core-impl/nm-setting-olpc-mesh.c:97
#: src/libnm-core-impl/nm-setting-ovs-patch.c:75
@@ -1241,7 +1246,7 @@ msgstr "oväntat uuid %s istället för %s"
#: src/libnm-core-impl/nm-setting-wifi-p2p.c:119
#: src/libnm-core-impl/nm-setting-wimax.c:106
#: src/libnm-core-impl/nm-setting-wireless-security.c:912
-#: src/libnm-core-impl/nm-setting-wireless.c:895
+#: src/libnm-core-impl/nm-setting-wireless.c:902
msgid "property is missing"
msgstr "egenskapen saknas"
@@ -1568,14 +1573,14 @@ msgstr "lösenordet stöds ej när certifikat inte på ett PKCS#11-token"
#: src/libnm-core-impl/nm-setting-adsl.c:179
#: src/libnm-core-impl/nm-setting-cdma.c:147
#: src/libnm-core-impl/nm-setting-cdma.c:157
-#: src/libnm-core-impl/nm-setting-connection.c:1198
#: src/libnm-core-impl/nm-setting-connection.c:1241
-#: src/libnm-core-impl/nm-setting-connection.c:1493
+#: src/libnm-core-impl/nm-setting-connection.c:1284
+#: src/libnm-core-impl/nm-setting-connection.c:1536
#: src/libnm-core-impl/nm-setting-gsm.c:396
#: src/libnm-core-impl/nm-setting-gsm.c:411
#: src/libnm-core-impl/nm-setting-gsm.c:454
#: src/libnm-core-impl/nm-setting-gsm.c:463
-#: src/libnm-core-impl/nm-setting-ip-config.c:5489
+#: src/libnm-core-impl/nm-setting-ip-config.c:5509
#: src/libnm-core-impl/nm-setting-ip4-config.c:284
#: src/libnm-core-impl/nm-setting-ip4-config.c:296
#: src/libnm-core-impl/nm-setting-pppoe.c:149
@@ -1585,7 +1590,7 @@ msgstr "lösenordet stöds ej när certifikat inte på ett PKCS#11-token"
#: src/libnm-core-impl/nm-setting-wimax.c:107
#: src/libnm-core-impl/nm-setting-wireless-security.c:968
#: src/libnm-core-impl/nm-setting-wireless-security.c:996
-#: src/libnm-core-impl/nm-setting.c:2461
+#: src/libnm-core-impl/nm-setting.c:2552
msgid "property is empty"
msgstr "egenskap är tom"
@@ -1623,9 +1628,9 @@ msgstr "kan endast aktiveras på Ethernet-anslutningar"
#: src/libnm-core-impl/nm-setting-wireless-security.c:1089
#: src/libnm-core-impl/nm-setting-wireless-security.c:1156
#: src/libnm-core-impl/nm-setting-wireless-security.c:1205
-#: src/libnm-core-impl/nm-setting-wireless.c:991
-#: src/libnm-core-impl/nm-setting-wireless.c:1003
-#: src/libnm-core-impl/nm-setting-wireless.c:1016
+#: src/libnm-core-impl/nm-setting-wireless.c:998
+#: src/libnm-core-impl/nm-setting-wireless.c:1010
+#: src/libnm-core-impl/nm-setting-wireless.c:1023
#: src/libnm-core-impl/nm-setting-wpan.c:164
#: src/libnm-core-impl/nm-utils.c:4557
msgid "property is invalid"
@@ -1678,7 +1683,6 @@ msgstr "saknar inställning"
#: src/libnm-core-impl/nm-setting-bond-port.c:109
#: src/libnm-core-impl/nm-setting-bridge-port.c:336
#: src/libnm-core-impl/nm-setting-ovs-interface.c:329
-#: src/libnm-core-impl/nm-setting-ovs-port.c:434
#: src/libnm-core-impl/nm-setting-team-port.c:331
#, c-format
msgid ""
@@ -1831,90 +1835,90 @@ msgstr "”%s”-alternativet måste vara en potens av 2"
msgid "bridge connection should have a ethernet setting as well"
msgstr "brygganslutning bör också ha en ethernetinställning"
-#: src/libnm-core-impl/nm-setting-connection.c:1081
+#: src/libnm-core-impl/nm-setting-connection.c:1124
#, c-format
msgid "setting required for connection of type '%s'"
msgstr "inställning krävs för anslutning av typen ”%s”"
-#: src/libnm-core-impl/nm-setting-connection.c:1112
+#: src/libnm-core-impl/nm-setting-connection.c:1155
#, c-format
msgid "Unknown slave type '%s'"
msgstr "Okänd slavtyp ”%s”"
-#: src/libnm-core-impl/nm-setting-connection.c:1127
+#: src/libnm-core-impl/nm-setting-connection.c:1170
#, c-format
msgid "Slave connections need a valid '%s' property"
msgstr "Slavanslutningar behöver en giltig ”%s”-egenskap"
-#: src/libnm-core-impl/nm-setting-connection.c:1151
+#: src/libnm-core-impl/nm-setting-connection.c:1194
#, c-format
msgid "Cannot set '%s' without '%s'"
msgstr "Kan inte sätta ”%s” utan ”%s”"
-#: src/libnm-core-impl/nm-setting-connection.c:1210
+#: src/libnm-core-impl/nm-setting-connection.c:1253
#, c-format
msgid "'%s' is not a valid UUID"
msgstr "”%s” är inte ett giltigt UUID"
-#: src/libnm-core-impl/nm-setting-connection.c:1255
+#: src/libnm-core-impl/nm-setting-connection.c:1298
#, c-format
msgid "connection type '%s' is not valid"
msgstr "anslutningstypen ”%s” är inte giltig"
-#: src/libnm-core-impl/nm-setting-connection.c:1361
+#: src/libnm-core-impl/nm-setting-connection.c:1404
#, c-format
msgid "'%s' connections must be enslaved to '%s', not '%s'"
msgstr "”%s”-anslutningar måste vara slavar till ”%s”, inte ”%s”"
-#: src/libnm-core-impl/nm-setting-connection.c:1376
+#: src/libnm-core-impl/nm-setting-connection.c:1419
#, c-format
msgid "metered value %d is not valid"
msgstr "mätvärdet %d är inte giltigt"
-#: src/libnm-core-impl/nm-setting-connection.c:1390
-#: src/libnm-core-impl/nm-setting-connection.c:1404
-#: src/libnm-core-impl/nm-setting-connection.c:1418
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1433
+#: src/libnm-core-impl/nm-setting-connection.c:1447
+#: src/libnm-core-impl/nm-setting-connection.c:1461
+#: src/libnm-core-impl/nm-setting-connection.c:1522
#, c-format
msgid "value %d is not valid"
msgstr "värdet %d är ogiltigt"
-#: src/libnm-core-impl/nm-setting-connection.c:1434
+#: src/libnm-core-impl/nm-setting-connection.c:1477
msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
msgstr "\"inaktiverad\"-flagga kan inte kombineras med andra MPTCP-flaggor"
-#: src/libnm-core-impl/nm-setting-connection.c:1448
+#: src/libnm-core-impl/nm-setting-connection.c:1491
msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
msgstr "kan inte ställa in både \"signal\" och \"fullmesh\" MPTCP-flaggor"
-#: src/libnm-core-impl/nm-setting-connection.c:1460
+#: src/libnm-core-impl/nm-setting-connection.c:1503
#, c-format
msgid "value %u is not a valid combination of MPTCP flags"
msgstr "värdet %u är inte en giltig kombination av MPTCP-flaggor"
-#: src/libnm-core-impl/nm-setting-connection.c:1507
+#: src/libnm-core-impl/nm-setting-connection.c:1550
msgid "DHCP option cannot be longer than 255 characters"
msgstr "DHCP-alternativet får inte vara längre än 255 tecken"
-#: src/libnm-core-impl/nm-setting-connection.c:1518
+#: src/libnm-core-impl/nm-setting-connection.c:1561
msgid "MUD URL is not a valid URL"
msgstr "MUD URL är inte en giltig URL"
-#: src/libnm-core-impl/nm-setting-connection.c:1538
+#: src/libnm-core-impl/nm-setting-connection.c:1581
msgid "invalid permissions not in format \"user:$UNAME[:]\""
msgstr "ogiltiga rättigheter inte på formatet ”användare:$UNAME[:]”"
-#: src/libnm-core-impl/nm-setting-connection.c:1567
+#: src/libnm-core-impl/nm-setting-connection.c:1610
#, c-format
msgid "property type should be set to '%s'"
msgstr "egenskapstypen borde vara satt till ”%s”"
-#: src/libnm-core-impl/nm-setting-connection.c:1585
+#: src/libnm-core-impl/nm-setting-connection.c:1628
#, c-format
-msgid "slave-type '%s' requires a '%s' setting in the connection"
-msgstr "slavtypen ”%s” kräver en ”%s”-inställning i anslutningen"
+msgid "port-type '%s' requires a '%s' setting in the connection"
+msgstr "porttyp '%s' kräver en '%s'-inställning i anslutningen"
-#: src/libnm-core-impl/nm-setting-connection.c:1596
+#: src/libnm-core-impl/nm-setting-connection.c:1639
#, c-format
msgid ""
"Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1923,17 +1927,17 @@ msgstr ""
"Upptäck en slavanslutning med ”%s” satt och en porttyp ”%s”. ”%s” bör sättas "
"till ”%s”"
-#: src/libnm-core-impl/nm-setting-connection.c:1622
+#: src/libnm-core-impl/nm-setting-connection.c:1665
#, c-format
msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
msgstr ""
"En slavanslutning med ”%s” satt till ”%s” kan inte ha en inställning ”%s”"
-#: src/libnm-core-impl/nm-setting-connection.c:1639
+#: src/libnm-core-impl/nm-setting-connection.c:1682
msgid "UUID needs normalization"
msgstr "UUID kräver normalisering"
-#: src/libnm-core-impl/nm-setting-connection.c:1654
+#: src/libnm-core-impl/nm-setting-connection.c:1697
msgid "read-only is deprecated and not settable for the user"
msgstr "läs-endast är föråldrat och kan inte ställas in för användaren"
@@ -2302,79 +2306,79 @@ msgstr "regeln är ogiltig: %s"
msgid "invalid address family"
msgstr "ogiltig adressfamilj"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5108
+#: src/libnm-core-impl/nm-setting-ip-config.c:5109
#, c-format
msgid "rule #%u is invalid: %s"
msgstr "regel #%u är ogiltig: %s"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5510
+#: src/libnm-core-impl/nm-setting-ip-config.c:5530
#, c-format
msgid "%u. DNS server address is invalid"
msgstr "%u. DNS-serveradressen är ogiltig"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5530
+#: src/libnm-core-impl/nm-setting-ip-config.c:5550
#, c-format
msgid "%d. IP address is invalid"
msgstr "%d. IP-adressen är ogiltig"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5545
+#: src/libnm-core-impl/nm-setting-ip-config.c:5565
#, c-format
msgid "%d. IP address has 'label' property with invalid type"
msgstr "%d. IP-adressen har ”label”-egenskap med ogiltig typ"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5557
+#: src/libnm-core-impl/nm-setting-ip-config.c:5577
#, c-format
msgid "%d. IP address has invalid label '%s'"
msgstr "%d. IP-adressen har ogiltig etikett ”%s”"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5575
+#: src/libnm-core-impl/nm-setting-ip-config.c:5595
msgid "gateway cannot be set if there are no addresses configured"
msgstr "gateway kan inte bestämmas om det inte finns adresser konfigurerade"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5587
+#: src/libnm-core-impl/nm-setting-ip-config.c:5607
msgid "gateway is invalid"
msgstr "ogiltig gateway"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5605
+#: src/libnm-core-impl/nm-setting-ip-config.c:5625
#, c-format
msgid "%d. route is invalid"
msgstr "%d.-rutt ogiltig"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5618
+#: src/libnm-core-impl/nm-setting-ip-config.c:5638
#, c-format
msgid "invalid attribute: %s"
msgstr "ogiltig attribut ”%s”"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5638
+#: src/libnm-core-impl/nm-setting-ip-config.c:5658
#, c-format
msgid "%u. rule has wrong address-family"
msgstr "%u. regel har felaktig adressfamilj"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5650
+#: src/libnm-core-impl/nm-setting-ip-config.c:5670
#, c-format
msgid "%u. rule is invalid: %s"
msgstr "%u. regeln är ogiltig: %s"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5666
+#: src/libnm-core-impl/nm-setting-ip-config.c:5686
#, c-format
msgid "'%s' is not a valid IAID"
msgstr "'%s' är inte ett giltigt IAID"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5680
+#: src/libnm-core-impl/nm-setting-ip-config.c:5700
#, c-format
msgid "the property cannot be set when '%s' is disabled"
msgstr "egenskapen kan inte ställas in när '%s' är inaktiverat"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5706
+#: src/libnm-core-impl/nm-setting-ip-config.c:5726
msgid "the property is currently supported only for DHCPv4"
msgstr "egenskapen stöds förnärvarande endast för DHCPv4"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5723
+#: src/libnm-core-impl/nm-setting-ip-config.c:5743
#, c-format
msgid "'%s' is not a valid IP or subnet"
msgstr "”%s” är inte en giltig IP-adress eller subnät"
-#: src/libnm-core-impl/nm-setting-ip-config.c:5739
+#: src/libnm-core-impl/nm-setting-ip-config.c:5767
#, c-format
msgid "a gateway is incompatible with '%s'"
msgstr "en gateway är inte kompatibel med ”%s”"
@@ -2419,11 +2423,11 @@ msgstr "kan endast ställas in på VTI-tunnlar"
msgid "wired setting not allowed for mode %s"
msgstr "trådbunden inställning är inte tillåten för läget %s"
-#: src/libnm-core-impl/nm-setting-ip4-config.c:170
-#: src/libnm-core-impl/nm-setting-ip6-config.c:235
+#: src/libnm-core-impl/nm-setting-ip4-config.c:171
+#: src/libnm-core-impl/nm-setting-ip6-config.c:236
#, c-format
-msgid "this property cannot be empty for '%s=%s'"
-msgstr "denna egenskap kan inte vara tom för ”%s=%s”"
+msgid "method '%s' requires at least an address or a route"
+msgstr "metod '%s' kräver åtminstone en adress eller en rutt"
#: src/libnm-core-impl/nm-setting-ip4-config.c:186
#: src/libnm-core-impl/nm-setting-ip4-config.c:200
@@ -2481,11 +2485,15 @@ msgstr "ogiltigt DUID"
msgid "must be a valid IPv6 address with prefix"
msgstr "måste vara en giltig IPv6-adress med prefix"
-#: src/libnm-core-impl/nm-setting-ip6-config.c:395
+#: src/libnm-core-impl/nm-setting-ip6-config.c:393
+msgid "DHCP DSCP is not supported for IPv6"
+msgstr "DHCP DSCP stöds inte för IPv6"
+
+#: src/libnm-core-impl/nm-setting-ip6-config.c:407
msgid "token is not in canonical form"
msgstr "token är inte i kanonisk form"
-#: src/libnm-core-impl/nm-setting-ip6-config.c:412
+#: src/libnm-core-impl/nm-setting-ip6-config.c:424
msgid "property should be TRUE when method is set to ignore or disabled"
msgstr ""
"egenskapen borde vara satt till TRUE när metoden är satt till ignorera eller "
@@ -2558,12 +2566,12 @@ msgid "is empty"
msgstr "är tom"
#: src/libnm-core-impl/nm-setting-olpc-mesh.c:110
-#: src/libnm-core-impl/nm-setting-wireless.c:908
+#: src/libnm-core-impl/nm-setting-wireless.c:915
msgid "SSID length is out of range <1-32> bytes"
msgstr "SSID-längden är utanför intervallet <1-32> byte"
#: src/libnm-core-impl/nm-setting-olpc-mesh.c:122
-#: src/libnm-core-impl/nm-setting-wireless.c:961
+#: src/libnm-core-impl/nm-setting-wireless.c:968
#, c-format
msgid "'%d' is not a valid channel"
msgstr "”%d” är inte en giltig kanal"
@@ -2693,6 +2701,15 @@ msgstr "VLAN %u och %u sorteras inte i stigande ordning"
msgid "A connection with a '%s' setting must have a master."
msgstr "En anslutning med en ”%s”-inställning måste ha en master."
+#: src/libnm-core-impl/nm-setting-ovs-port.c:434
+#, c-format
+msgid ""
+"A connection with a '%s' setting must have the port-type set to '%s'. "
+"Instead it is '%s'"
+msgstr ""
+"En anslutning med en '%s'-inställning måste ha porttypen inställd på '%s'. "
+"Istället är det '%s'"
+
#: src/libnm-core-impl/nm-setting-ovs-port.c:457
#, c-format
msgid "'%s' is not allowed in vlan_mode"
@@ -2749,8 +2766,8 @@ msgstr "skriptet saknar funktionen för FindProxyForURL"
#: src/libnm-core-impl/nm-setting-wired.c:825
#: src/libnm-core-impl/nm-setting-wired.c:899
#: src/libnm-core-impl/nm-setting-wired.c:958
-#: src/libnm-core-impl/nm-setting-wireless.c:1051
-#: src/libnm-core-impl/nm-setting-wireless.c:1070
+#: src/libnm-core-impl/nm-setting-wireless.c:1059
+#: src/libnm-core-impl/nm-setting-wireless.c:1079
#: src/libnmc-setting/nm-meta-setting-desc.c:4283
#, c-format
msgid "'%s' is not a valid MAC address"
@@ -2803,33 +2820,33 @@ msgid "there are duplicate TC filters"
msgstr "det finns duplicerade TC-filter"
#: src/libnm-core-impl/nm-setting-team.c:119
-#: src/libnm-core-impl/nm-setting-team.c:193
-#: src/libnm-core-impl/nm-setting-team.c:325
+#: src/libnm-core-impl/nm-setting-team.c:195
+#: src/libnm-core-impl/nm-setting-team.c:327
#, c-format
msgid "%s is out of range [0, %d]"
msgstr "%s är utanför intervallet [0, %d]"
-#: src/libnm-core-impl/nm-setting-team.c:170
+#: src/libnm-core-impl/nm-setting-team.c:172
msgid "Missing target-host in nsna_ping link watcher"
msgstr "Saknar målvärd i länkövervakaren nsna_ping"
-#: src/libnm-core-impl/nm-setting-team.c:178
-#: src/libnm-core-impl/nm-setting-team.c:301
+#: src/libnm-core-impl/nm-setting-team.c:180
+#: src/libnm-core-impl/nm-setting-team.c:303
#, c-format
msgid "target-host '%s' contains invalid characters"
msgstr "målvärden ”%s” innehåller ogiltiga tecken"
-#: src/libnm-core-impl/nm-setting-team.c:292
+#: src/libnm-core-impl/nm-setting-team.c:294
#, c-format
msgid "Missing %s in arp_ping link watcher"
msgstr "Saknar %s i länkövervakaren arp_ping"
-#: src/libnm-core-impl/nm-setting-team.c:310
+#: src/libnm-core-impl/nm-setting-team.c:312
#, c-format
msgid "source-host '%s' contains invalid characters"
msgstr "källvärden ”%s” innehåller ogiltiga tecken"
-#: src/libnm-core-impl/nm-setting-team.c:335
+#: src/libnm-core-impl/nm-setting-team.c:337
msgid "vlanid is out of range [-1, 4094]"
msgstr "vlanid är utanför intervallet [-1, 4094]"
@@ -2892,7 +2909,7 @@ msgid "setting contained a secret with an empty name"
msgstr "inställning innehåller en hemlighet med ett tomt namn"
#: src/libnm-core-impl/nm-setting-vpn.c:651
-#: src/libnm-core-impl/nm-setting.c:3410
+#: src/libnm-core-impl/nm-setting.c:3503
msgid "not a secret property"
msgstr "inte en hemlig egenskap"
@@ -2961,76 +2978,76 @@ msgstr "både speed och duplex ska ha ett giltigt värde eller vara icke angivna
msgid "both speed and duplex are required for static link configuration"
msgstr "både hastighet och duplex krävs för statisk länkkonfiguration"
-#: src/libnm-core-impl/nm-setting-wireguard.c:748
+#: src/libnm-core-impl/nm-setting-wireguard.c:747
msgid "missing public-key for peer"
msgstr "saknar publik-nyckel för peer"
-#: src/libnm-core-impl/nm-setting-wireguard.c:754
+#: src/libnm-core-impl/nm-setting-wireguard.c:753
msgid "invalid public-key for peer"
msgstr "ogiltig publik-nyckel för peer"
-#: src/libnm-core-impl/nm-setting-wireguard.c:764
+#: src/libnm-core-impl/nm-setting-wireguard.c:763
msgid "invalid preshared-key for peer"
msgstr "ogiltig fördelad-nyckel för peer"
-#: src/libnm-core-impl/nm-setting-wireguard.c:783
+#: src/libnm-core-impl/nm-setting-wireguard.c:782
msgid "invalid endpoint for peer"
msgstr "ogiltig ändpunkt för peer"
-#: src/libnm-core-impl/nm-setting-wireguard.c:795
+#: src/libnm-core-impl/nm-setting-wireguard.c:794
#, c-format
msgid "invalid IP address \"%s\" for allowed-ip of peer"
msgstr "ogiltig IP-adress \"%s\" för tillåten IP-adress för peer"
-#: src/libnm-core-impl/nm-setting-wireguard.c:806
+#: src/libnm-core-impl/nm-setting-wireguard.c:805
msgid "invalid preshared-key-flags for peer"
msgstr "ogiltiga fördelade nyckelflaggor för peer"
-#: src/libnm-core-impl/nm-setting-wireguard.c:1588
+#: src/libnm-core-impl/nm-setting-wireguard.c:1587
#, c-format
msgid "peer #%u has no public-key"
msgstr "peer #%u har ingen publik-nyckel"
-#: src/libnm-core-impl/nm-setting-wireguard.c:1601
+#: src/libnm-core-impl/nm-setting-wireguard.c:1600
#, c-format
msgid "peer #%u has invalid public-key"
msgstr "peer #%u har en ogiltig publik-nyckel"
-#: src/libnm-core-impl/nm-setting-wireguard.c:1617
+#: src/libnm-core-impl/nm-setting-wireguard.c:1616
#, c-format
msgid "peer #%u has invalid endpoint"
msgstr "peer #%u har ogiltig ändpunkt"
-#: src/libnm-core-impl/nm-setting-wireguard.c:1649
+#: src/libnm-core-impl/nm-setting-wireguard.c:1648
#, c-format
msgid "peer #%u has invalid allowed-ips setting"
msgstr "peer #%u har ogiltig inställning för tillåtna ips"
-#: src/libnm-core-impl/nm-setting-wireguard.c:1663
+#: src/libnm-core-impl/nm-setting-wireguard.c:1662
#, c-format
msgid "peer #%u is invalid: %s"
msgstr "peer #%u är ogiltig: %s"
-#: src/libnm-core-impl/nm-setting-wireguard.c:1735
-#: src/libnm-core-impl/nm-setting-wireguard.c:1754
+#: src/libnm-core-impl/nm-setting-wireguard.c:1734
+#: src/libnm-core-impl/nm-setting-wireguard.c:1753
#, c-format
msgid "method \"%s\" is not supported for WireGuard"
msgstr "metod \"%s\" stöds inte för WireGuard"
-#: src/libnm-core-impl/nm-setting-wireguard.c:1778
+#: src/libnm-core-impl/nm-setting-wireguard.c:1777
msgid "key must be 32 bytes base64 encoded"
msgstr "nyckel måste vara 32 byte base64-kodad"
-#: src/libnm-core-impl/nm-setting-wireguard.c:1909
+#: src/libnm-core-impl/nm-setting-wireguard.c:1908
msgid "invalid peer secrets"
msgstr "ogiltiga peer hemligheter"
-#: src/libnm-core-impl/nm-setting-wireguard.c:1935
+#: src/libnm-core-impl/nm-setting-wireguard.c:1934
#, c-format
msgid "peer #%u lacks public-key"
msgstr "peer #%u saknar publik-nyckel"
-#: src/libnm-core-impl/nm-setting-wireguard.c:1952
+#: src/libnm-core-impl/nm-setting-wireguard.c:1951
#, c-format
msgid "non-existing peer '%s'"
msgstr "inte-existerande peer '%s'"
@@ -3072,51 +3089,51 @@ msgstr ""
"pmf kan bara vara 'default' eller 'required' när du använder 'owe', 'sae' "
"eller 'wpa-eap-suite-b-192' nyckelhantering"
-#: src/libnm-core-impl/nm-setting-wireless.c:920
+#: src/libnm-core-impl/nm-setting-wireless.c:927
#, c-format
msgid "'%s' is not a valid Wi-Fi mode"
msgstr "”%s” är inte ett giltigt Wi-Fi-läge"
-#: src/libnm-core-impl/nm-setting-wireless.c:933
+#: src/libnm-core-impl/nm-setting-wireless.c:940
#, c-format
msgid "'%s' is not a valid band"
msgstr "”%s” är inte ett giltigt band"
-#: src/libnm-core-impl/nm-setting-wireless.c:946
+#: src/libnm-core-impl/nm-setting-wireless.c:953
#, c-format
msgid "'%s' requires setting '%s' property"
msgstr "”%s” kräver en ”%s”-inställning"
-#: src/libnm-core-impl/nm-setting-wireless.c:976
+#: src/libnm-core-impl/nm-setting-wireless.c:983
#, c-format
msgid "'%s' requires '%s' and '%s' property"
msgstr "'%s' kräver egenskapen '%s' och '%s'"
-#: src/libnm-core-impl/nm-setting-wireless.c:1088
+#: src/libnm-core-impl/nm-setting-wireless.c:1097
#: src/libnm-core-impl/nm-team-utils.c:2251
msgid "invalid value"
msgstr "ogiltigt värde"
-#: src/libnm-core-impl/nm-setting-wireless.c:1101
+#: src/libnm-core-impl/nm-setting-wireless.c:1110
msgid "Wake-on-WLAN mode 'default' and 'ignore' are exclusive flags"
msgstr ""
"Wake-on-WLAN-lägena ”default” och ”ignore” går ej kombinera med andra flaggor"
-#: src/libnm-core-impl/nm-setting-wireless.c:1112
+#: src/libnm-core-impl/nm-setting-wireless.c:1121
msgid "Wake-on-WLAN trying to set unknown flag"
msgstr "Wake-on-WLAN försöker att sätta okänd flagga"
-#: src/libnm-core-impl/nm-setting-wireless.c:1125
+#: src/libnm-core-impl/nm-setting-wireless.c:1134
msgid "AP isolation can be set only in AP mode"
msgstr "AP-isolering kan endast ställas in i AP-läge"
-#: src/libnm-core-impl/nm-setting-wireless.c:1143
+#: src/libnm-core-impl/nm-setting-wireless.c:1152
msgid "conflicting value of mac-address-randomization and cloned-mac-address"
msgstr ""
"värden för slumpmässigt genererad mac-adress och klonade mac-adresser är i "
"konflikt"
-#: src/libnm-core-impl/nm-setting-wireless.c:1155
+#: src/libnm-core-impl/nm-setting-wireless.c:1164
msgid "property is deprecated and not implemented"
msgstr "egenskap är utfasad och inte implementerad"
@@ -3134,37 +3151,41 @@ msgstr "sida måste vara mellan %d och %d"
msgid "channel must not be between %d and %d"
msgstr "kanal måste vara mellan %d och %d"
-#: src/libnm-core-impl/nm-setting.c:1709 src/libnm-core-impl/nm-setting.c:1749
-#: src/libnm-core-impl/nm-setting.c:2060
+#: src/libnm-core-impl/nm-setting.c:1730 src/libnm-core-impl/nm-setting.c:1770
+#: src/libnm-core-impl/nm-setting.c:2081
#, c-format
msgid "can't set property of type '%s' from value of type '%s'"
msgstr "kan inte sätta egenskap för typen ”%s” från värdet av typen ”%s”"
-#: src/libnm-core-impl/nm-setting.c:1725
+#: src/libnm-core-impl/nm-setting.c:1746
#, c-format
msgid "value of type '%s' is invalid or out of range for property '%s'"
msgstr ""
"värdet av typen '%s' är ogiltigt eller utanför intervallet för egenskap '%s'"
-#: src/libnm-core-impl/nm-setting.c:1770
+#: src/libnm-core-impl/nm-setting.c:1791
#, c-format
msgid "can not set property: %s"
msgstr "kan inte sätta egenskap: %s"
-#: src/libnm-core-impl/nm-setting.c:1999
+#: src/libnm-core-impl/nm-setting.c:2020
msgid "duplicate property"
msgstr "duplicerad egenskap"
-#: src/libnm-core-impl/nm-setting.c:2019
+#: src/libnm-core-impl/nm-setting.c:2040
msgid "unknown property"
msgstr "okänd egenskap"
-#: src/libnm-core-impl/nm-setting.c:2093 src/libnm-core-impl/nm-setting.c:2175
+#: src/libnm-core-impl/nm-setting.c:2114 src/libnm-core-impl/nm-setting.c:2196
#, c-format
msgid "failed to set property: %s"
msgstr "misslyckades med att sätta egenskap: %s"
-#: src/libnm-core-impl/nm-setting.c:3307
+#: src/libnm-core-impl/nm-setting.c:2465
+msgid "cannot be empty"
+msgstr "får inte vara tomt"
+
+#: src/libnm-core-impl/nm-setting.c:3400
msgid "secret not found"
msgstr "hemlighet inte funnen"
@@ -4135,7 +4156,7 @@ msgstr "inaktiverar (externt)"
#: src/libnmc-setting/nm-meta-setting-desc.c:2874 src/nmcli/connections.c:5576
#: src/nmcli/connections.c:7554 src/nmcli/connections.c:7555
#: src/nmcli/devices.c:591 src/nmcli/devices.c:597 src/nmcli/devices.c:603
-#: src/nmcli/devices.c:1427 src/nmcli/general.c:92 src/nmcli/utils.h:316
+#: src/nmcli/devices.c:1427 src/nmcli/general.c:92 src/nmcli/utils.h:317
msgid "yes"
msgstr "ja"
@@ -4144,7 +4165,7 @@ msgstr "ja"
#: src/libnmc-setting/nm-meta-setting-desc.c:2877 src/nmcli/connections.c:5575
#: src/nmcli/connections.c:7554 src/nmcli/connections.c:7555
#: src/nmcli/devices.c:591 src/nmcli/devices.c:597 src/nmcli/devices.c:603
-#: src/nmcli/devices.c:1427 src/nmcli/general.c:93 src/nmcli/utils.h:316
+#: src/nmcli/devices.c:1427 src/nmcli/general.c:93 src/nmcli/utils.h:317
msgid "no"
msgstr "nej"
@@ -4655,7 +4676,7 @@ msgid "MACsec PSK authentication"
msgstr "MACsec PSK-autentisering"
#: src/libnmc-base/nm-secret-agent-simple.c:931
-#: src/libnmc-setting/nm-meta-setting-desc.c:6882
+#: src/libnmc-setting/nm-meta-setting-desc.c:6905
msgid "MKA CAK"
msgstr "MKA CAK"
@@ -5133,11 +5154,11 @@ msgstr "index för WEP-nyckel satt till ”%d”"
msgid "'%s' is not compatible with '%s' type, please change or delete the key."
msgstr "”%s” är inte kompatibel med ”%s”-typ, ändra eller ta bort nyckeln."
-#: src/libnmc-setting/nm-meta-setting-desc.c:4483 src/nmcli/utils.h:322
+#: src/libnmc-setting/nm-meta-setting-desc.c:4483 src/nmcli/utils.h:323
msgid "on"
msgstr "på"
-#: src/libnmc-setting/nm-meta-setting-desc.c:4483 src/nmcli/utils.h:322
+#: src/libnmc-setting/nm-meta-setting-desc.c:4483 src/nmcli/utils.h:323
msgid "off"
msgstr "av"
@@ -5169,11 +5190,11 @@ msgstr "Uppfördröjning för bondning"
#: src/libnmc-setting/nm-meta-setting-desc.c:4648
msgid "Bonding arp-interval"
-msgstr "arp-intervall för bonding"
+msgstr "ARP-intervall för bonding"
#: src/libnmc-setting/nm-meta-setting-desc.c:4657
msgid "Bonding arp-ip-target"
-msgstr "arp-ip-target för bondning"
+msgstr "ARP-ip-mål för bondning"
#: src/libnmc-setting/nm-meta-setting-desc.c:4666
msgid "LACP rate (slow/fast)"
@@ -5346,8 +5367,8 @@ msgstr ""
#: src/libnmc-setting/nm-meta-setting-desc.c:5206
#: src/libnmc-setting/nm-meta-setting-desc.c:5509
-#: src/libnmc-setting/nm-meta-setting-desc.c:6019
-#: src/libnmc-setting/nm-meta-setting-desc.c:7243
+#: src/libnmc-setting/nm-meta-setting-desc.c:6036
+#: src/libnmc-setting/nm-meta-setting-desc.c:7266
msgid "Password [none]"
msgstr "Lösenord [inget]"
@@ -5365,11 +5386,11 @@ msgid "Port Priority"
msgstr "Port-prioritet"
#: src/libnmc-setting/nm-meta-setting-desc.c:5319
-#: src/libnmc-setting/nm-meta-setting-desc.c:6130
-#: src/libnmc-setting/nm-meta-setting-desc.c:7976
-#: src/libnmc-setting/nm-meta-setting-desc.c:8014
-#: src/libnmc-setting/nm-meta-setting-desc.c:8196
-#: src/libnmc-setting/nm-meta-setting-desc.c:8443
+#: src/libnmc-setting/nm-meta-setting-desc.c:6147
+#: src/libnmc-setting/nm-meta-setting-desc.c:7999
+#: src/libnmc-setting/nm-meta-setting-desc.c:8037
+#: src/libnmc-setting/nm-meta-setting-desc.c:8219
+#: src/libnmc-setting/nm-meta-setting-desc.c:8466
msgid "MAC [none]"
msgstr "MAC [ingen]"
@@ -5423,8 +5444,8 @@ msgid "Hairpin"
msgstr "Hårnål"
#: src/libnmc-setting/nm-meta-setting-desc.c:5503
-#: src/libnmc-setting/nm-meta-setting-desc.c:6013
-#: src/libnmc-setting/nm-meta-setting-desc.c:7821
+#: src/libnmc-setting/nm-meta-setting-desc.c:6030
+#: src/libnmc-setting/nm-meta-setting-desc.c:7844
msgid "Username [none]"
msgstr "Användarnamn [inget]"
@@ -5448,7 +5469,7 @@ msgstr ""
msgid "Controller"
msgstr "Styrenhet"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5676
+#: src/libnmc-setting/nm-meta-setting-desc.c:5693
msgid ""
"Enter secondary connections that should be activated when this connection "
"is\n"
@@ -5469,7 +5490,7 @@ msgstr ""
"\n"
"Exempel: private-openvpn, fe6ba5d8-c2fc-4aae-b2e3-97efddd8d9a7\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:5700
+#: src/libnmc-setting/nm-meta-setting-desc.c:5717
msgid ""
"Enter a value which indicates whether the connection is subject to a data\n"
"quota, usage costs or other limitations. Accepted options are:\n"
@@ -5485,41 +5506,41 @@ msgstr ""
"”unknown” för att låta Nätverkshanteraren välja ett värde enligt någon "
"heuristik\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6029
+#: src/libnmc-setting/nm-meta-setting-desc.c:6046
msgid "APN"
msgstr "APN"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6083
+#: src/libnmc-setting/nm-meta-setting-desc.c:6100
msgid "hsr port1"
msgstr "hsr port1"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6090
+#: src/libnmc-setting/nm-meta-setting-desc.c:6107
msgid "hsr port2"
msgstr "hsr port2"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6096
+#: src/libnmc-setting/nm-meta-setting-desc.c:6113
msgid "hsr multicast spec"
msgstr "hsr multicast-specifikationer"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6139
-#: src/libnmc-setting/nm-meta-setting-desc.c:6789
-#: src/libnmc-setting/nm-meta-setting-desc.c:8046
-#: src/libnmc-setting/nm-meta-setting-desc.c:8243
+#: src/libnmc-setting/nm-meta-setting-desc.c:6156
+#: src/libnmc-setting/nm-meta-setting-desc.c:6812
+#: src/libnmc-setting/nm-meta-setting-desc.c:8069
+#: src/libnmc-setting/nm-meta-setting-desc.c:8266
#: src/nmtui/nmt-page-ethernet.c:124 src/nmtui/nmt-page-infiniband.c:81
#: src/nmtui/nmt-page-ip-tunnel.c:178 src/nmtui/nmt-page-vlan.c:100
#: src/nmtui/nmt-page-wifi.c:395 src/nmtui/nmt-page-wireguard.c:85
msgid "MTU"
msgstr "MTU"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6158
+#: src/libnmc-setting/nm-meta-setting-desc.c:6175
msgid "P_KEY [none]"
msgstr "P_KEY [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6176
+#: src/libnmc-setting/nm-meta-setting-desc.c:6193
msgid "Parent interface [none]"
msgstr "Överordnat gränssnitt [inget]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6205
+#: src/libnmc-setting/nm-meta-setting-desc.c:6222
msgid ""
"Enter a list of IPv4 addresses of DNS servers.\n"
"\n"
@@ -5529,11 +5550,11 @@ msgstr ""
"\n"
"Exempel: 8.8.8.8, 8.8.4.4\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6255
+#: src/libnmc-setting/nm-meta-setting-desc.c:6272
msgid "IPv4 address (IP[/plen]) [none]"
msgstr "IPv4-adress (IP[/plen]) [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6257
+#: src/libnmc-setting/nm-meta-setting-desc.c:6274
msgid ""
"Enter a list of IPv4 addresses formatted as:\n"
" ip[/prefix], ip[/prefix],...\n"
@@ -5547,11 +5568,11 @@ msgstr ""
"\n"
"Exempel: 192.168.1.5/24 192.168.1.1, 10.0.0.11/24\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6276
+#: src/libnmc-setting/nm-meta-setting-desc.c:6293
msgid "IPv4 gateway [none]"
msgstr "IPv4-gateway [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6285
+#: src/libnmc-setting/nm-meta-setting-desc.c:6302
msgid ""
"Enter a list of IPv4 routes formatted as:\n"
" ip[/prefix] [next-hop] [metric],...\n"
@@ -5574,7 +5595,7 @@ msgstr ""
"Exempel: 192.168.2.0/24 192.168.2.1 3, 10.1.0.0/16 10.0.0.254\n"
" 10.1.2.0/24\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6325
+#: src/libnmc-setting/nm-meta-setting-desc.c:6342
msgid ""
"Enter a list of IPv4 routing rules formatted as:\n"
" priority [prio] [from [src]] [to [dst]], ,...\n"
@@ -5584,7 +5605,7 @@ msgstr ""
"priority [prio] [from [src]] [to [dst]], ,...\n"
"\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6463
+#: src/libnmc-setting/nm-meta-setting-desc.c:6486
msgid ""
"Enter a list of IPv6 addresses of DNS servers. If the IPv6 configuration "
"method is 'auto' these DNS servers are appended to those (if any) returned "
@@ -5604,11 +5625,11 @@ msgstr ""
"\n"
"Exempel: 2607:f0d0:1002:51::4, 2607:f0d0:1002:51::1\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6519
+#: src/libnmc-setting/nm-meta-setting-desc.c:6542
msgid "IPv6 address (IP[/plen]) [none]"
msgstr "IPv6-adress (IP[/plen]) [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6521
+#: src/libnmc-setting/nm-meta-setting-desc.c:6544
msgid ""
"Enter a list of IPv6 addresses formatted as:\n"
" ip[/prefix], ip[/prefix],...\n"
@@ -5623,11 +5644,11 @@ msgstr ""
"Exempel: 2607:f0d0:1002:51::4/64 2607:f0d0:1002:51::1, "
"1050:0:0:0:5:600:300c:326b\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6540
+#: src/libnmc-setting/nm-meta-setting-desc.c:6563
msgid "IPv6 gateway [none]"
msgstr "IPv6-gateway [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6549
+#: src/libnmc-setting/nm-meta-setting-desc.c:6572
msgid ""
"Enter a list of IPv6 routes formatted as:\n"
" ip[/prefix] [next-hop] [metric],...\n"
@@ -5651,7 +5672,7 @@ msgstr ""
"db8:beef::3 2\n"
" abbe::/64 55\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6589
+#: src/libnmc-setting/nm-meta-setting-desc.c:6612
msgid ""
"Enter a list of IPv6 routing rules formatted as:\n"
" priority [prio] [from [src]] [to [dst]], ,...\n"
@@ -5661,170 +5682,170 @@ msgstr ""
" priority [prio] [from [src]] [to [dst]], ,...\n"
"\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6726
-#: src/libnmc-setting/nm-meta-setting-desc.c:7876
+#: src/libnmc-setting/nm-meta-setting-desc.c:6749
+#: src/libnmc-setting/nm-meta-setting-desc.c:7899
msgid "Parent device [none]"
msgstr "Överordnad enhet [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6732
+#: src/libnmc-setting/nm-meta-setting-desc.c:6755
msgid "Local endpoint [none]"
msgstr "Lokal ändpunkt [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6739
-#: src/libnmc-setting/nm-meta-setting-desc.c:7895
+#: src/libnmc-setting/nm-meta-setting-desc.c:6762
+#: src/libnmc-setting/nm-meta-setting-desc.c:7918
msgid "Remote"
msgstr "Fjärrplats"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6855
+#: src/libnmc-setting/nm-meta-setting-desc.c:6878
msgid "MACsec parent device or connection UUID"
msgstr "Överordnad MACVLAN-enhet eller anslutnings-UUID"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6876
+#: src/libnmc-setting/nm-meta-setting-desc.c:6899
msgid "Enable encryption"
msgstr "Aktivera kryptering"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6892
+#: src/libnmc-setting/nm-meta-setting-desc.c:6915
msgid "MKA_CKN"
msgstr "MKA_CKN"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6898
+#: src/libnmc-setting/nm-meta-setting-desc.c:6921
#: src/nmtui/nmt-page-macsec.c:170
msgid "SCI port"
msgstr "SCI-port"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6924
+#: src/libnmc-setting/nm-meta-setting-desc.c:6947
msgid "MACVLAN parent device or connection UUID"
msgstr "Överordnad MACVLAN-enhet eller anslutnings-UUID"
-#: src/libnmc-setting/nm-meta-setting-desc.c:6945
+#: src/libnmc-setting/nm-meta-setting-desc.c:6968
msgid "Tap"
msgstr "Tap"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7016
-#: src/libnmc-setting/nm-meta-setting-desc.c:8156 src/nmtui/nmt-page-wifi.c:216
+#: src/libnmc-setting/nm-meta-setting-desc.c:7039
+#: src/libnmc-setting/nm-meta-setting-desc.c:8179 src/nmtui/nmt-page-wifi.c:216
msgid "SSID"
msgstr "SSID"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7026
+#: src/libnmc-setting/nm-meta-setting-desc.c:7049
msgid "OLPC Mesh channel"
msgstr "OLPC-meshkanal"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7036
+#: src/libnmc-setting/nm-meta-setting-desc.c:7059
msgid "DHCP anycast MAC address [none]"
msgstr "DHCP-anycast MAC-adress [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7224
+#: src/libnmc-setting/nm-meta-setting-desc.c:7247
msgid "PPPoE parent device"
msgstr "Överordnad PPPoE-enhet"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7230
+#: src/libnmc-setting/nm-meta-setting-desc.c:7253
msgid "Service [none]"
msgstr "Tjänst [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7237
+#: src/libnmc-setting/nm-meta-setting-desc.c:7260
msgid "PPPoE username"
msgstr "PPPoE-användarnamn"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7273
+#: src/libnmc-setting/nm-meta-setting-desc.c:7296
msgid "Browser only"
msgstr "Webbläsare endast"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7279
+#: src/libnmc-setting/nm-meta-setting-desc.c:7302
msgid "PAC URL"
msgstr "PAC URL"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7285
+#: src/libnmc-setting/nm-meta-setting-desc.c:7308
msgid "PAC script"
msgstr "PAC-skript"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7409
-#: src/libnmc-setting/nm-meta-setting-desc.c:7598
+#: src/libnmc-setting/nm-meta-setting-desc.c:7432
+#: src/libnmc-setting/nm-meta-setting-desc.c:7621
msgid "Team JSON configuration [none]"
msgstr "JSON-konfiguration för grupp [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7701
+#: src/libnmc-setting/nm-meta-setting-desc.c:7724
msgid "User ID [none]"
msgstr "Användar-ID [inget]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7707
+#: src/libnmc-setting/nm-meta-setting-desc.c:7730
msgid "Group ID [none]"
msgstr "Grupp-ID [inget]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7713
+#: src/libnmc-setting/nm-meta-setting-desc.c:7736
msgid "Enable PI"
msgstr "Aktivera PI"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7719
+#: src/libnmc-setting/nm-meta-setting-desc.c:7742
msgid "Enable VNET header"
msgstr "Aktivera VNET-huvud"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7725
+#: src/libnmc-setting/nm-meta-setting-desc.c:7748
msgid "Enable multi queue"
msgstr "Aktivera multikö"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7738
+#: src/libnmc-setting/nm-meta-setting-desc.c:7761
msgid "veth peer"
msgstr "veth peer"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7751
+#: src/libnmc-setting/nm-meta-setting-desc.c:7774
msgid "VLAN parent device or connection UUID"
msgstr "Överordnad VLAN-enhet eller anslutnings-UUID"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7758
+#: src/libnmc-setting/nm-meta-setting-desc.c:7781
msgid "VLAN ID (<0-4094>)"
msgstr "VLAN-ID (<0-4094>)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7764
+#: src/libnmc-setting/nm-meta-setting-desc.c:7787
msgid "VLAN flags (<0-7>) [none]"
msgstr "VLAN-flaggor (<0-7>) [inga]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7780
+#: src/libnmc-setting/nm-meta-setting-desc.c:7803
msgid "Ingress priority maps [none]"
msgstr "Inträdesprioritetshash [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7791
+#: src/libnmc-setting/nm-meta-setting-desc.c:7814
msgid "Egress priority maps [none]"
msgstr "Utträdesprioritetshash [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7863
+#: src/libnmc-setting/nm-meta-setting-desc.c:7886
msgid "Table"
msgstr "Tabell"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7883
+#: src/libnmc-setting/nm-meta-setting-desc.c:7906
msgid "VXLAN ID"
msgstr "VXLAN-ID"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7889
+#: src/libnmc-setting/nm-meta-setting-desc.c:7912
msgid "Local address [none]"
msgstr "Lokal adress [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7901
+#: src/libnmc-setting/nm-meta-setting-desc.c:7924
msgid "Minimum source port"
msgstr "Lägsta källport"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7907
+#: src/libnmc-setting/nm-meta-setting-desc.c:7930
msgid "Maximum source port"
msgstr "Högsta källport"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7913
+#: src/libnmc-setting/nm-meta-setting-desc.c:7936
msgid "Destination port"
msgstr "Destinationsport"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7953
+#: src/libnmc-setting/nm-meta-setting-desc.c:7976
#: src/nmtui/nmt-wireguard-peer-editor.c:78
msgid "Peer"
msgstr "Peer"
-#: src/libnmc-setting/nm-meta-setting-desc.c:7983
+#: src/libnmc-setting/nm-meta-setting-desc.c:8006
msgid "WiMAX NSP name"
msgstr "WiMAX NSP-namn"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8020
-#: src/libnmc-setting/nm-meta-setting-desc.c:8201
+#: src/libnmc-setting/nm-meta-setting-desc.c:8043
+#: src/libnmc-setting/nm-meta-setting-desc.c:8224
msgid "Cloned MAC [none]"
msgstr "Klonad MAC [ingen]"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8054
+#: src/libnmc-setting/nm-meta-setting-desc.c:8077
msgid ""
"Enter a list of subchannels (comma or space separated).\n"
"\n"
@@ -5834,7 +5855,7 @@ msgstr ""
"\n"
"Exempel: 0.0.0e20 0.0.0e21 0.0.0e22\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8392
+#: src/libnmc-setting/nm-meta-setting-desc.c:8415
msgid ""
"Enter the type of WEP keys. The accepted values are: 0 or unknown, 1 or key, "
"and 2 or passphrase.\n"
@@ -5842,220 +5863,220 @@ msgstr ""
"Ange typ på WEP-nycklarna. Accepterade värden är: 0 eller okänd, 1 eller "
"nyckel, 2 eller lösenfras.\n"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8451
+#: src/libnmc-setting/nm-meta-setting-desc.c:8474
msgid "Short address (<0x0000-0xffff>)"
msgstr "Kort adress (<0x0000-0xffff>)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8467
+#: src/libnmc-setting/nm-meta-setting-desc.c:8490
msgid "PAN Identifier (<0x0000-0xffff>)"
msgstr "PAN-identifierare (<0x0000-0xffff>)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8482
+#: src/libnmc-setting/nm-meta-setting-desc.c:8505
msgid "Page (<default|0-31>)"
msgstr "Sida (<standardvärde|0-31>)"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8496
+#: src/libnmc-setting/nm-meta-setting-desc.c:8519
msgid "Channel (<default|0-26>)"
msgstr "Kanal(<standardvärde|0-26>)"
#. ***************************************************************************
-#: src/libnmc-setting/nm-meta-setting-desc.c:8631
+#: src/libnmc-setting/nm-meta-setting-desc.c:8654
msgid "6LOWPAN settings"
msgstr "6LOWPAN-inställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8632
+#: src/libnmc-setting/nm-meta-setting-desc.c:8655
msgid "802-1x settings"
msgstr "802-1x-inställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8634
+#: src/libnmc-setting/nm-meta-setting-desc.c:8657
msgid "bluetooth connection"
msgstr "bluetoothanslutning"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8635
+#: src/libnmc-setting/nm-meta-setting-desc.c:8658
msgid "Bond device"
msgstr "Kombineringsenhet"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8636
+#: src/libnmc-setting/nm-meta-setting-desc.c:8659
msgid "Bond port"
msgstr "Bondport"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8637
+#: src/libnmc-setting/nm-meta-setting-desc.c:8660
msgid "Bridge device"
msgstr "Bryggenhet"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8638
+#: src/libnmc-setting/nm-meta-setting-desc.c:8661
msgid "Bridge port"
msgstr "Bryggport"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8639
+#: src/libnmc-setting/nm-meta-setting-desc.c:8662
msgid "CDMA mobile broadband connection"
msgstr "CDMA-mobil bredbandsanslutning"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8640
+#: src/libnmc-setting/nm-meta-setting-desc.c:8663
msgid "General settings"
msgstr "Allmänna inställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8641
+#: src/libnmc-setting/nm-meta-setting-desc.c:8664
msgid "DCB settings"
msgstr "DCB-inställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8642
+#: src/libnmc-setting/nm-meta-setting-desc.c:8665
msgid "Dummy settings"
msgstr "Attrappinställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8643
+#: src/libnmc-setting/nm-meta-setting-desc.c:8666
msgid "Ethtool settings"
msgstr "Ethtool-inställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8644
+#: src/libnmc-setting/nm-meta-setting-desc.c:8667
msgid "Generic settings"
msgstr "Generella inställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8645
+#: src/libnmc-setting/nm-meta-setting-desc.c:8668
msgid "GSM mobile broadband connection"
msgstr "GSM-mobil bredbandsanslutning"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8646
+#: src/libnmc-setting/nm-meta-setting-desc.c:8669
msgid "Hostname settings"
msgstr "Värdnamnsinställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8647
+#: src/libnmc-setting/nm-meta-setting-desc.c:8670
msgid "HSR settings"
msgstr "HSR inställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8649
+#: src/libnmc-setting/nm-meta-setting-desc.c:8672
msgid "IPv4 protocol"
msgstr "IPv4-protokoll"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8650
+#: src/libnmc-setting/nm-meta-setting-desc.c:8673
msgid "IPv6 protocol"
msgstr "IPv6-protokoll"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8651
+#: src/libnmc-setting/nm-meta-setting-desc.c:8674
msgid "IP-tunnel settings"
msgstr "IP-tunnelinställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8652
+#: src/libnmc-setting/nm-meta-setting-desc.c:8675
msgid "Link settings"
msgstr "Länk inställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8653
+#: src/libnmc-setting/nm-meta-setting-desc.c:8676
msgid "Loopback settings"
msgstr "Loopback inställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8654
+#: src/libnmc-setting/nm-meta-setting-desc.c:8677
msgid "MACsec connection"
msgstr "MACsec-anslutning"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8655
+#: src/libnmc-setting/nm-meta-setting-desc.c:8678
msgid "macvlan connection"
msgstr "macvlan-anslutning"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8656
+#: src/libnmc-setting/nm-meta-setting-desc.c:8679
msgid "Match"
msgstr "Matchning"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8657
+#: src/libnmc-setting/nm-meta-setting-desc.c:8680
msgid "OLPC Mesh connection"
msgstr "OLPC-meshanslutning"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8658
+#: src/libnmc-setting/nm-meta-setting-desc.c:8681
msgid "Open vSwitch bridge settings"
msgstr "Inställningar för Open vSwitch-brygga"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8659
+#: src/libnmc-setting/nm-meta-setting-desc.c:8682
msgid "Open vSwitch DPDK interface settings"
msgstr "Inställningar för Open vSwitch DPDK-gränssnitt"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8660
+#: src/libnmc-setting/nm-meta-setting-desc.c:8683
msgid "OVS Other Config"
msgstr "OVS annan konfiguration"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8661
+#: src/libnmc-setting/nm-meta-setting-desc.c:8684
msgid "OVS External IDs"
msgstr "OVS externa ID"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8662
+#: src/libnmc-setting/nm-meta-setting-desc.c:8685
msgid "Open vSwitch interface settings"
msgstr "Inställningar för Open vSwitch-gränssnitt"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8663
+#: src/libnmc-setting/nm-meta-setting-desc.c:8686
msgid "Open vSwitch patch interface settings"
msgstr "Open vSwitch-patch-gränssnittsinställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8664
+#: src/libnmc-setting/nm-meta-setting-desc.c:8687
msgid "Open vSwitch port settings"
msgstr "Inställningar för Open vSwitch-port"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8665
+#: src/libnmc-setting/nm-meta-setting-desc.c:8688
msgid "PPP settings"
msgstr "PPP-tunnelinställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8666
+#: src/libnmc-setting/nm-meta-setting-desc.c:8689
msgid "PPPoE"
msgstr "PPPoE"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8667
+#: src/libnmc-setting/nm-meta-setting-desc.c:8690
msgid "Proxy"
msgstr "Proxy"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8668
+#: src/libnmc-setting/nm-meta-setting-desc.c:8691
msgid "Serial settings"
msgstr "Seriella inställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8669
+#: src/libnmc-setting/nm-meta-setting-desc.c:8692
msgid "SR-IOV settings"
msgstr "SR-IOV-inställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8670
+#: src/libnmc-setting/nm-meta-setting-desc.c:8693
msgid "Traffic controls"
msgstr "Trafikkontroller"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8671
+#: src/libnmc-setting/nm-meta-setting-desc.c:8694
msgid "Team device"
msgstr "Gruppenhet"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8672
+#: src/libnmc-setting/nm-meta-setting-desc.c:8695
msgid "Team port"
msgstr "Grupport"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8673
+#: src/libnmc-setting/nm-meta-setting-desc.c:8696
msgid "Tun device"
msgstr "TUN-enhet"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8674
+#: src/libnmc-setting/nm-meta-setting-desc.c:8697
msgid "User settings"
msgstr "Användarinställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8680
+#: src/libnmc-setting/nm-meta-setting-desc.c:8703
msgid "Wi-Fi P2P connection"
msgstr "Wi-Fi-P2P anslutning"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8681
+#: src/libnmc-setting/nm-meta-setting-desc.c:8704
msgid "WiMAX connection"
msgstr "WiMAX-anslutning"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8682
+#: src/libnmc-setting/nm-meta-setting-desc.c:8705
msgid "Wired Ethernet"
msgstr "Trådbundet Ethernet"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8683
+#: src/libnmc-setting/nm-meta-setting-desc.c:8706
msgid "WireGuard VPN settings"
msgstr "WireGuard VPN-inställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8684
+#: src/libnmc-setting/nm-meta-setting-desc.c:8707
msgid "Wi-Fi connection"
msgstr "Trådlös anslutning"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8685
+#: src/libnmc-setting/nm-meta-setting-desc.c:8708
msgid "Wi-Fi security settings"
msgstr "Säkerhetsinställningar för trådlöst nätverk"
-#: src/libnmc-setting/nm-meta-setting-desc.c:8686
+#: src/libnmc-setting/nm-meta-setting-desc.c:8709
msgid "WPAN settings"
msgstr "WPAN-tunnelinställningar"
-#: src/libnmc-setting/nm-meta-setting-desc.c:9115
+#: src/libnmc-setting/nm-meta-setting-desc.c:9138
msgid "name"
msgstr "namn"
@@ -6107,6 +6128,27 @@ msgstr ""
#: src/libnmc-setting/settings-docs.h.in:5
msgid ""
+"Whether or not ports of this connection should be automatically brought up "
+"when NetworkManager activates this connection. This only has a real effect "
+"for controller connections. The properties \"autoconnect\", \"autoconnect-"
+"priority\" and \"autoconnect-retries\" are unrelated to this setting. The "
+"permitted values are: 0: leave port connections untouched, 1: activate all "
+"the port connections with this connection, -1: default. If -1 (default) is "
+"set, global connection.autoconnect-ports is read to determine the real "
+"value. If it is default as well, this fallbacks to 0."
+msgstr ""
+"Huruvida portar för denna anslutning ska tas upp automatiskt när "
+"NetworkManager aktiverar denna anslutning. Detta har bara en verklig effekt "
+"för styrenhetsanslutningar. Egenskaperna \"autoconnect\", \"autoconnect-"
+"priority\" och \"autoconnect-retries\" är inte relaterade till denna "
+"inställning. De tillåtna värdena är: 0: lämna portanslutningar orörda, 1: "
+"aktivera alla portanslutningar med denna anslutning, -1: standard. Om -1 "
+"(standard) är inställt, läses globala connection.autoconnect-portar för att "
+"fastställa det verkliga värdet. Om det också är standard, faller detta "
+"tillbaka till 0."
+
+#: src/libnmc-setting/settings-docs.h.in:6
+msgid ""
"The autoconnect priority in range -999 to 999. If the connection is set to "
"autoconnect, connections with higher priority will be preferred. The higher "
"number means higher priority. Defaults to 0. Note that this property only "
@@ -6121,7 +6163,7 @@ msgstr ""
"fler än en kandidatprofil att välja för automatisk anslutning. Vid lika "
"prioritet väljs den senast använda profilen."
-#: src/libnmc-setting/settings-docs.h.in:6
+#: src/libnmc-setting/settings-docs.h.in:7
msgid ""
"The number of times a connection should be tried when autoactivating before "
"giving up. Zero means forever, -1 means the global default (4 times if not "
@@ -6135,7 +6177,7 @@ msgstr ""
"sedan blockera automatisk anslutning. Observera att efter en tidsgräns "
"uppnåtts kommer Nätverkshanteraren att försöka ansluta automatiskt igen."
-#: src/libnmc-setting/settings-docs.h.in:7
+#: src/libnmc-setting/settings-docs.h.in:8
msgid ""
"Whether or not slaves of this connection should be automatically brought up "
"when NetworkManager activates this connection. This only has a real effect "
@@ -6155,12 +6197,12 @@ msgstr ""
"är satt läses global connection.autoconnect-slaves för att avgöra det "
"riktiga värdet. Om det är standard också faller det tillbaka på 0."
-#: src/libnmc-setting/settings-docs.h.in:8
+#: src/libnmc-setting/settings-docs.h.in:9
msgid ""
"Interface name of the controller device or UUID of the controller connection."
msgstr "Gränssnittsnamn på styrenhet eller UUID för styrenhetsanslutningen."
-#: src/libnmc-setting/settings-docs.h.in:9
+#: src/libnmc-setting/settings-docs.h.in:10
msgid ""
"Whether DNSOverTls (dns-over-tls) is enabled for the connection. DNSOverTls "
"is a technology which uses TLS to encrypt dns traffic. The permitted values "
@@ -6181,7 +6223,7 @@ msgstr ""
"DNSOverTls. Annars har inställningen ingen effekt. En sådan plugin är dns-"
"systemd-resolved."
-#: src/libnmc-setting/settings-docs.h.in:10
+#: src/libnmc-setting/settings-docs.h.in:11
msgid ""
"If greater than zero, delay success of IP addressing until either the "
"timeout is reached, or an IP gateway replies to a ping."
@@ -6189,7 +6231,7 @@ msgstr ""
"Om större än 0, fördröj IP-adresseringen tills antingen tidsgränsen nås "
"eller en IP-gateway svarar på ping."
-#: src/libnmc-setting/settings-docs.h.in:11
+#: src/libnmc-setting/settings-docs.h.in:12
msgid ""
"A human readable unique identifier for the connection, like \"Work Wi-Fi\" "
"or \"T-Mobile 3G\"."
@@ -6197,7 +6239,7 @@ msgstr ""
"En mänskligt läsbar unik identifierare för anslutningen som ”Trådlös "
"(arbete)” eller ”Televerket NMT”."
-#: src/libnmc-setting/settings-docs.h.in:12
+#: src/libnmc-setting/settings-docs.h.in:13
msgid ""
"The name of the network interface this connection is bound to. If not set, "
"then the connection can be attached to any interface of the appropriate type "
@@ -6219,11 +6261,11 @@ msgstr ""
"gränssnittsnamn ändras eller flyttas om kan anslutningen tillämpas på fel "
"gränssnitt."
-#: src/libnmc-setting/settings-docs.h.in:13
+#: src/libnmc-setting/settings-docs.h.in:14
msgid "Whether LLDP is enabled for the connection."
msgstr "Huruvida LLDP är aktiverat för anslutningen."
-#: src/libnmc-setting/settings-docs.h.in:14
+#: src/libnmc-setting/settings-docs.h.in:15
msgid ""
"Whether Link-Local Multicast Name Resolution (LLMNR) is enabled for the "
"connection. LLMNR is a protocol based on the Domain Name System (DNS) packet "
@@ -6247,7 +6289,7 @@ msgstr ""
"\"ja\"). Denna funktion kräver en plugin som stöder LLMNR. Annars har "
"inställningen ingen effekt. En sådan plugin är dns-systemd-resolved."
-#: src/libnmc-setting/settings-docs.h.in:15
+#: src/libnmc-setting/settings-docs.h.in:16
msgid ""
"Interface name of the master device or UUID of the master connection. "
"Deprecated 1.46. Use \"controller\" instead, this is just an alias."
@@ -6255,29 +6297,30 @@ msgstr ""
"Gränssnittsnamnet för huvudenheten eller UUID för huvudanslutningen. Utfasad "
"1,46. Använd \"controller\" istället, detta är bara ett alias."
-#: src/libnmc-setting/settings-docs.h.in:16
+#: src/libnmc-setting/settings-docs.h.in:17
msgid ""
"Whether mDNS is enabled for the connection. The permitted values are: "
"\"yes\" (2) register hostname and resolving for the connection, \"no\" (0) "
"disable mDNS for the interface, \"resolve\" (1) do not register hostname but "
"allow resolving of mDNS host names and \"default\" (-1) to allow lookup of a "
"global default in NetworkManager.conf. If unspecified, \"default\" "
-"ultimately depends on the DNS plugin (which for systemd-resolved currently "
-"means \"no\"). This feature requires a plugin which supports mDNS. "
-"Otherwise, the setting has no effect. One such plugin is dns-systemd-"
-"resolved."
+"ultimately depends on the DNS plugin. This feature requires a plugin which "
+"supports mDNS. Otherwise, the setting has no effect. Currently the only "
+"supported DNS plugin is systemd-resolved. For systemd-resolved, the default "
+"is configurable via MulticastDNS= setting in resolved.conf."
msgstr ""
"Huruvida mDNS är aktiverat för anslutningen. De tillåtna värdena är: "
"\"yes\" (2) registrera värdnamn och lösa upp för anslutningen, \"no\" (0) "
"inaktivera mDNS för gränssnittet, \"resolve\" (1) registrera inte värdnamn "
"men tillåt upplösning av mDNS-värdnamn och \" default\" (-1) för att tillåta "
-"uppslagning av en global standard i NetworkManager.conf. Om det inte anges "
-"beror \"default\" i slutändan på DNS-plugin (som för systemd-resolved för "
-"närvarande betyder \"nej\"). Den här funktionen kräver en plugin som stöder "
-"mDNS. Annars har inställningen ingen effekt. En sådan plugin är dns-systemd-"
-"resolved."
+"uppslagning av en global standard i NetworkManager.conf. Om det är "
+"ospecificerat beror \"default\" i slutändan på DNS-plugin. Den här "
+"funktionen kräver en plugin som stöder mDNS. Annars har inställningen ingen "
+"effekt. För närvarande är den enda DNS-plugin som stöds systemlöst. För "
+"systemd-resolved är standardinställningen konfigurerbar via MulticastDNS=-"
+"inställningen i resolved.conf."
-#: src/libnmc-setting/settings-docs.h.in:17
+#: src/libnmc-setting/settings-docs.h.in:18
msgid ""
"Whether the connection is metered. When updating this property on a "
"currently activated connection, the change takes effect immediately."
@@ -6285,7 +6328,7 @@ msgstr ""
"Huruvida anslutningen mäts. Vid uppdatering av denna egenskap på en aktuellt "
"aktiv anslutning tillämpas ändringen direkt."
-#: src/libnmc-setting/settings-docs.h.in:18
+#: src/libnmc-setting/settings-docs.h.in:19
msgid ""
"Whether to configure MPTCP endpoints and the address flags. If MPTCP is "
"enabled in NetworkManager, it will configure the addresses of the interface "
@@ -6353,7 +6396,7 @@ msgstr ""
"aktiverad, skulle NetworkManager lossa den strikta omvända "
"sökvägsfiltreringen (1) till den lösa inställningen (2)."
-#: src/libnmc-setting/settings-docs.h.in:19
+#: src/libnmc-setting/settings-docs.h.in:20
msgid ""
"If configured, set to a Manufacturer Usage Description (MUD) URL that points "
"to manufacturer-recommended network policies for IoT devices. It is "
@@ -6372,7 +6415,7 @@ msgstr ""
"anslutningsstandard. Om det fortfarande är ospecificerat är den ultimata "
"standardinställningen \"ingen\"."
-#: src/libnmc-setting/settings-docs.h.in:20
+#: src/libnmc-setting/settings-docs.h.in:21
msgid ""
"Specifies whether the profile can be active multiple times at a particular "
"moment. The value is of type NMConnectionMultiConnect."
@@ -6380,7 +6423,7 @@ msgstr ""
"Specificerar huruvida profilen kan vara aktiv flera gånger i ett speciellt "
"ögonblick. Värdet är av typen NMConnectionMultiConnect."
-#: src/libnmc-setting/settings-docs.h.in:21
+#: src/libnmc-setting/settings-docs.h.in:22
msgid ""
"An array of strings defining what access a given user has to this "
"connection. If this is NULL or empty, all users are allowed to access this "
@@ -6407,11 +6450,19 @@ msgstr ""
"reserverad för framtida användning. Alla av [type], [id] och [reserved] "
"måste vara giltig UTF-8."
-#: src/libnmc-setting/settings-docs.h.in:22
+#: src/libnmc-setting/settings-docs.h.in:23
+msgid ""
+"Setting name of the device type of this port's controller connection (eg, "
+"\"bond\"), or NULL if this connection is not a port."
+msgstr ""
+"Inställningsnamn på enhetstypen för den här portens kontrolleranslutning (t."
+"ex. \"bond\"), eller NULL om denna anslutning inte är en port."
+
+#: src/libnmc-setting/settings-docs.h.in:24
msgid "This property is deprecated and has no meaning."
msgstr "Den här egenskapen är utfasad och har ingen betydelse."
-#: src/libnmc-setting/settings-docs.h.in:23
+#: src/libnmc-setting/settings-docs.h.in:25
msgid ""
"List of connection UUIDs that should be activated when the base connection "
"itself is activated. Currently, only VPN connections are supported."
@@ -6419,15 +6470,17 @@ msgstr ""
"Lista över anslutnings-UUID som ska aktiveras när själva basanslutningen är "
"aktiverad. För närvarande stöds endast VPN-anslutningar."
-#: src/libnmc-setting/settings-docs.h.in:24
+#: src/libnmc-setting/settings-docs.h.in:26
msgid ""
"Setting name of the device type of this slave's master connection (eg, "
-"\"bond\"), or NULL if this connection is not a slave."
+"\"bond\"), or NULL if this connection is not a slave. Deprecated 1.46. Use "
+"\"port-type\" instead, this is just an alias."
msgstr ""
-"Sätter namnet för enhetstypen av denna slavs master-anslutning (t.ex. "
-"”bond”) eller NULL om denna anslutning inte är en slav."
+"Inställningsnamn på enhetstypen för denna slavs masteranslutning (t.ex. "
+"\"bond\"), eller NULL om denna anslutning inte är en slav. Utfasad 1,46. "
+"Använd \"port-type\" istället, detta är bara ett alias."
-#: src/libnmc-setting/settings-docs.h.in:25
+#: src/libnmc-setting/settings-docs.h.in:27
msgid ""
"This represents the identity of the connection used for various purposes. It "
"allows to configure multiple profiles to share the identity. Also, the "
@@ -6497,7 +6550,7 @@ msgstr ""
"standardvärdet \"default${CONNECTION}\" och generera ett unikt ID per "
"anslutningsprofil."
-#: src/libnmc-setting/settings-docs.h.in:26
+#: src/libnmc-setting/settings-docs.h.in:28
msgid ""
"The time, in seconds since the Unix Epoch, that the connection was last "
"_successfully_ fully activated. NetworkManager updates the connection "
@@ -6511,7 +6564,7 @@ msgstr ""
"anslutning har den senaste tidstämpeln. Egenskapen är endast avsedd att "
"läsas (ändringar till denna egenskap kommer inte att sparas)."
-#: src/libnmc-setting/settings-docs.h.in:27
+#: src/libnmc-setting/settings-docs.h.in:29
msgid ""
"Base type of the connection. For hardware-dependent connections, should "
"contain the setting name of the hardware-type specific setting (ie, \"802-3-"
@@ -6526,7 +6579,7 @@ msgstr ""
"inställningsnamnet av den inställningstypen (d.v.s. ”vpn”, ”brygga” och så "
"vidare)."
-#: src/libnmc-setting/settings-docs.h.in:28
+#: src/libnmc-setting/settings-docs.h.in:30
msgid ""
"The connection.uuid is the real identifier of a profile. It cannot change "
"and it must be unique. It is therefore often best to refer to a profile by "
@@ -6541,7 +6594,7 @@ msgstr ""
"specialvärdena \"new\", \"generate\" och \"\" att generera ett nytt "
"slumpmässigt UUID."
-#: src/libnmc-setting/settings-docs.h.in:29
+#: src/libnmc-setting/settings-docs.h.in:31
msgid ""
"Time in milliseconds to wait for connection to be considered activated. The "
"wait will start after the pre-up dispatcher event. The value 0 means no wait "
@@ -6553,7 +6606,7 @@ msgstr ""
"väntetid. Standardvärdet är -1, vilket för närvarande har samma betydelse "
"som ingen väntetid."
-#: src/libnmc-setting/settings-docs.h.in:30
+#: src/libnmc-setting/settings-docs.h.in:32
msgid ""
"Timeout in milliseconds to wait for device at startup. During boot, devices "
"may take a while to be detected by the driver. This property will cause to "
@@ -6571,7 +6624,7 @@ msgstr ""
"tillgänglig och hanteras. Värdet 0 betyder ingen väntetid. Standardvärdet är "
"-1, vilket för närvarande har samma betydelse som ingen väntetid."
-#: src/libnmc-setting/settings-docs.h.in:31
+#: src/libnmc-setting/settings-docs.h.in:33
msgid ""
"The trust level of a the connection. Free form case-insensitive string (for "
"example \"Home\", \"Work\", \"Public\"). NULL or unspecified zone means the "
@@ -6585,7 +6638,7 @@ msgstr ""
"definierad av brandväggen. Vid uppdatering av denna zon på en aktuell "
"aktiverad anslutning kommer ändringarna att tillämpas direkt."
-#: src/libnmc-setting/settings-docs.h.in:32
+#: src/libnmc-setting/settings-docs.h.in:34
msgid ""
"If given, specifies the parent interface name or parent connection UUID from "
"which this 6LowPAN interface should be created."
@@ -6593,7 +6646,7 @@ msgstr ""
"Om angiven, föräldragränssnittet eller föräldraanslutningens UUID från "
"vilken detta 6LowPAN-gränssnitt ska skapas."
-#: src/libnmc-setting/settings-docs.h.in:33
+#: src/libnmc-setting/settings-docs.h.in:35
msgid ""
"List of strings to be matched against the altSubjectName of the certificate "
"presented by the authentication server. If the list is empty, no "
@@ -6603,7 +6656,7 @@ msgstr ""
"presenterat av autentiseringsservern. Om listan är tom kommer ingen "
"verifiering av servercertifikatets altSubjectName utföras."
-#: src/libnmc-setting/settings-docs.h.in:34
+#: src/libnmc-setting/settings-docs.h.in:36
msgid ""
"Anonymous identity string for EAP authentication methods. Used as the "
"unencrypted identity with EAP types that support different tunneled identity "
@@ -6613,7 +6666,7 @@ msgstr ""
"okrypterade identiteten med EAP-typer som stöder olika tunnlade identiteter "
"som EAP-TTLS."
-#: src/libnmc-setting/settings-docs.h.in:35
+#: src/libnmc-setting/settings-docs.h.in:37
msgid ""
"A timeout for the authentication. Zero means the global default; if the "
"global default is not set, the authentication timeout is 25 seconds."
@@ -6622,7 +6675,7 @@ msgstr ""
"globala standardvärdet ej är satt är tidsgränsen för autentisering 25 "
"sekunder."
-#: src/libnmc-setting/settings-docs.h.in:36
+#: src/libnmc-setting/settings-docs.h.in:38
msgid ""
"Contains the CA certificate if used by the EAP method specified in the "
"\"eap\" property. Certificate data is specified using a \"scheme\"; three "
@@ -6649,7 +6702,7 @@ msgstr ""
"att använda den inbyggda sökvägen, om den inbyggda sökvägen inte är en "
"katalog."
-#: src/libnmc-setting/settings-docs.h.in:37
+#: src/libnmc-setting/settings-docs.h.in:39
msgid ""
"The password used to access the CA certificate stored in \"ca-cert\" "
"property. Only makes sense if the certificate is stored on a PKCS#11 token "
@@ -6659,12 +6712,12 @@ msgstr ""
"cert”. Endast relevant om certifikatet lagras med en PKCS#11-token som "
"kräver inloggning."
-#: src/libnmc-setting/settings-docs.h.in:38
+#: src/libnmc-setting/settings-docs.h.in:40
msgid "Flags indicating how to handle the \"ca-cert-password\" property."
msgstr ""
"Flaggor vilka indikerar hur egenskapen ”ca-cert-password” ska hanteras."
-#: src/libnmc-setting/settings-docs.h.in:39
+#: src/libnmc-setting/settings-docs.h.in:41
msgid ""
"UTF-8 encoded path to a directory containing PEM or DER formatted "
"certificates to be added to the verification chain in addition to the "
@@ -6678,7 +6731,7 @@ msgstr ""
"aktiverat och den inbyggda CA-sökvägen är en befintlig katalog, ignoreras "
"denna inställning."
-#: src/libnmc-setting/settings-docs.h.in:40
+#: src/libnmc-setting/settings-docs.h.in:42
msgid ""
"Contains the client certificate if used by the EAP method specified in the "
"\"eap\" property. Certificate data is specified using a \"scheme\"; two are "
@@ -6696,7 +6749,7 @@ msgstr ""
"till hela UTF-8-kodade sökvägen för certifikatet, prefixat med strängen "
"”file://” och avslutas med en NOLL-byte."
-#: src/libnmc-setting/settings-docs.h.in:41
+#: src/libnmc-setting/settings-docs.h.in:43
msgid ""
"The password used to access the client certificate stored in \"client-cert\" "
"property. Only makes sense if the certificate is stored on a PKCS#11 token "
@@ -6706,12 +6759,12 @@ msgstr ""
"egenskapen ”client-cert”. Endast relevant om certifikatet är lagrat i ett "
"PKCS#11-token som kräver en inloggning."
-#: src/libnmc-setting/settings-docs.h.in:42
+#: src/libnmc-setting/settings-docs.h.in:44
msgid "Flags indicating how to handle the \"client-cert-password\" property."
msgstr ""
"Flaggor som indikerar hur egenskapen ”client-cert-password” ska hanteras."
-#: src/libnmc-setting/settings-docs.h.in:43
+#: src/libnmc-setting/settings-docs.h.in:45
msgid ""
"Constraint for server domain name. If set, this list of FQDNs is used as a "
"match requirement for dNSName element(s) of the certificate presented by the "
@@ -6727,7 +6780,7 @@ msgstr ""
"begränsning mot SubjectName CN med samma jämförelse. Flera giltiga FQDN kan "
"skickas som en \";\" avgränsad lista."
-#: src/libnmc-setting/settings-docs.h.in:44
+#: src/libnmc-setting/settings-docs.h.in:46
msgid ""
"Constraint for server domain name. If set, this FQDN is used as a suffix "
"match requirement for dNSName element(s) of the certificate presented by the "
@@ -6743,7 +6796,7 @@ msgstr ""
"begränsning mot SubjectName CN med samma suffixmatchningsjämförelse. Sedan "
"version 1.24 kan flera giltiga FQDN skickas som \";\" avgränsad lista."
-#: src/libnmc-setting/settings-docs.h.in:45
+#: src/libnmc-setting/settings-docs.h.in:47
msgid ""
"The allowed EAP method to be used when authenticating to the network with "
"802.1x. Valid methods are: \"leap\", \"md5\", \"tls\", \"peap\", \"ttls\", "
@@ -6757,7 +6810,7 @@ msgstr ""
"egenskaperna för denna inställning; se dokumentationen för wpa_supplicant "
"för tillåtna kombinationer."
-#: src/libnmc-setting/settings-docs.h.in:46
+#: src/libnmc-setting/settings-docs.h.in:48
msgid ""
"Identity string for EAP authentication methods. Often the user's user or "
"login name."
@@ -6765,7 +6818,7 @@ msgstr ""
"Identifieringssträng för EAP-autentiseringsmetoder. Oftast användarens "
"användare eller inloggningsnamn."
-#: src/libnmc-setting/settings-docs.h.in:47
+#: src/libnmc-setting/settings-docs.h.in:49
msgid ""
"Whether the 802.1X authentication is optional. If TRUE, the activation will "
"continue even after a timeout or an authentication failure. Setting the "
@@ -6778,11 +6831,11 @@ msgstr ""
"anslutningar. Om den är inställd på FALSE kan aktiveringen fortsätta endast "
"efter en lyckad autentisering."
-#: src/libnmc-setting/settings-docs.h.in:48
+#: src/libnmc-setting/settings-docs.h.in:50
msgid "UTF-8 encoded file path containing PAC for EAP-FAST."
msgstr "UTF-8-kodad filsökväg innehållandes PAC för EAP-FAST."
-#: src/libnmc-setting/settings-docs.h.in:49
+#: src/libnmc-setting/settings-docs.h.in:51
msgid ""
"UTF-8 encoded password used for EAP authentication methods. If both the "
"\"password\" property and the \"password-raw\" property are specified, "
@@ -6792,15 +6845,15 @@ msgstr ""
"egenskapen ”password” och egenskapen ”password-raw” är angivna föredras "
"”password”."
-#: src/libnmc-setting/settings-docs.h.in:50
-#: src/libnmc-setting/settings-docs.h.in:82
-#: src/libnmc-setting/settings-docs.h.in:124
-#: src/libnmc-setting/settings-docs.h.in:151
-#: src/libnmc-setting/settings-docs.h.in:296
+#: src/libnmc-setting/settings-docs.h.in:52
+#: src/libnmc-setting/settings-docs.h.in:84
+#: src/libnmc-setting/settings-docs.h.in:126
+#: src/libnmc-setting/settings-docs.h.in:153
+#: src/libnmc-setting/settings-docs.h.in:300
msgid "Flags indicating how to handle the \"password\" property."
msgstr "Flaggor vilka indikerar hur egenskapen ”password” ska hanteras."
-#: src/libnmc-setting/settings-docs.h.in:51
+#: src/libnmc-setting/settings-docs.h.in:53
msgid ""
"Password used for EAP authentication methods, given as a byte array to allow "
"passwords in other encodings than UTF-8 to be used. If both the \"password\" "
@@ -6811,11 +6864,11 @@ msgstr ""
"tillåta lösenord i andra kodningar än UTF-8 att användas. Om både egenskapen "
"”password” och egenskapen ”password-raw” är angivna föredras ”password”."
-#: src/libnmc-setting/settings-docs.h.in:52
+#: src/libnmc-setting/settings-docs.h.in:54
msgid "Flags indicating how to handle the \"password-raw\" property."
msgstr "Flaggor vilka indikerar hur egenskapen ”password-raw” ska hanteras."
-#: src/libnmc-setting/settings-docs.h.in:53
+#: src/libnmc-setting/settings-docs.h.in:55
msgid ""
"Specifies authentication flags to use in \"phase 1\" outer authentication "
"using NMSetting8021xAuthFlags options. The individual TLS versions can be "
@@ -6832,7 +6885,7 @@ msgstr ""
"inställningarna tls_disable_tlsv1_x och tls_disable_time_checks. Se "
"wpa_supplicant-dokumentationen för mer information."
-#: src/libnmc-setting/settings-docs.h.in:54
+#: src/libnmc-setting/settings-docs.h.in:56
msgid ""
"Enables or disables in-line provisioning of EAP-FAST credentials when FAST "
"is specified as the EAP method in the \"eap\" property. Recognized values "
@@ -6848,7 +6901,7 @@ msgstr ""
"oautentiserad provisionering). Se dokumentationen för wpa_supplicant för "
"fler detaljer."
-#: src/libnmc-setting/settings-docs.h.in:55
+#: src/libnmc-setting/settings-docs.h.in:57
msgid ""
"Forces use of the new PEAP label during key derivation. Some RADIUS servers "
"may require forcing the new PEAP label to interoperate with PEAPv1. Set to "
@@ -6860,7 +6913,7 @@ msgstr ""
"att interoperera med PEAPv1. Sätt till ”1” för att tvinga fram ny PEAP-"
"etikett. Se dokumentationen för wpa_supplicant för fler detaljer."
-#: src/libnmc-setting/settings-docs.h.in:56
+#: src/libnmc-setting/settings-docs.h.in:58
msgid ""
"Forces which PEAP version is used when PEAP is set as the EAP method in the "
"\"eap\" property. When unset, the version reported by the server will be "
@@ -6875,7 +6928,7 @@ msgstr ""
"göra så kan denna egenskap sättas till ”0” eller ”1” för att tvinga den "
"specifika PEAP-versionen."
-#: src/libnmc-setting/settings-docs.h.in:57
+#: src/libnmc-setting/settings-docs.h.in:59
msgid ""
"List of strings to be matched against the altSubjectName of the certificate "
"presented by the authentication server during the inner \"phase 2\" "
@@ -6886,7 +6939,7 @@ msgstr ""
"autentiseringsservern under inre ”phase 2”-autentiseringen. Om listan är tom "
"utförs ingen verifiering av servercertifikatets altSubjectName."
-#: src/libnmc-setting/settings-docs.h.in:58
+#: src/libnmc-setting/settings-docs.h.in:60
msgid ""
"Specifies the allowed \"phase 2\" inner authentication method when an EAP "
"method that uses an inner TLS tunnel is specified in the \"eap\" property. "
@@ -6908,7 +6961,7 @@ msgstr ""
"för mer information. Både \"phase2-auth\" och \"phase2-autheap\" kan inte "
"specificeras."
-#: src/libnmc-setting/settings-docs.h.in:59
+#: src/libnmc-setting/settings-docs.h.in:61
msgid ""
"Specifies the allowed \"phase 2\" inner EAP-based authentication method when "
"TTLS is specified in the \"eap\" property. Recognized EAP-based \"phase 2\" "
@@ -6922,7 +6975,7 @@ msgstr ""
"metod kräver specifika parametrar för framgångsrik autentisering; se "
"wpa_supplicant-dokumentationen för mer information."
-#: src/libnmc-setting/settings-docs.h.in:60
+#: src/libnmc-setting/settings-docs.h.in:62
msgid ""
"Contains the \"phase 2\" CA certificate if used by the EAP method specified "
"in the \"phase2-auth\" or \"phase2-autheap\" properties. Certificate data is "
@@ -6949,7 +7002,7 @@ msgstr ""
"system-ca-certs kommer att åsidosätta denna inställning för att använda den "
"inbyggda sökvägen, om den inbyggda sökvägen inte är en katalog."
-#: src/libnmc-setting/settings-docs.h.in:61
+#: src/libnmc-setting/settings-docs.h.in:63
msgid ""
"The password used to access the \"phase2\" CA certificate stored in \"phase2-"
"ca-cert\" property. Only makes sense if the certificate is stored on a "
@@ -6959,13 +7012,13 @@ msgstr ""
"egenskapen “phase2-ca-cart”. Endast relevant om certifikatet lagras i "
"PKCS#11-token som kräver en inloggning."
-#: src/libnmc-setting/settings-docs.h.in:62
+#: src/libnmc-setting/settings-docs.h.in:64
msgid ""
"Flags indicating how to handle the \"phase2-ca-cert-password\" property."
msgstr ""
"Flaggor som indikerar hur egenskapen ”phase2-ca-cert-password” ska hanteras."
-#: src/libnmc-setting/settings-docs.h.in:63
+#: src/libnmc-setting/settings-docs.h.in:65
msgid ""
"UTF-8 encoded path to a directory containing PEM or DER formatted "
"certificates to be added to the verification chain in addition to the "
@@ -6979,7 +7032,7 @@ msgstr ""
"är aktiverat och den inbyggda CA-sökvägen är en befintlig katalog, ignoreras "
"denna inställning."
-#: src/libnmc-setting/settings-docs.h.in:64
+#: src/libnmc-setting/settings-docs.h.in:66
msgid ""
"Contains the \"phase 2\" client certificate if used by the EAP method "
"specified in the \"phase2-auth\" or \"phase2-autheap\" properties. "
@@ -7003,7 +7056,7 @@ msgstr ""
"certifikat, men detta möjliggör man-i-mitten-attacker och är INTE "
"rekommenderat."
-#: src/libnmc-setting/settings-docs.h.in:65
+#: src/libnmc-setting/settings-docs.h.in:67
msgid ""
"The password used to access the \"phase2\" client certificate stored in "
"\"phase2-client-cert\" property. Only makes sense if the certificate is "
@@ -7013,14 +7066,14 @@ msgstr ""
"egenskapen ”phase2-client-cert”. Endast relevant om certifikatet är lagrat i "
"ett PKCS#11-token som kräver en inloggning."
-#: src/libnmc-setting/settings-docs.h.in:66
+#: src/libnmc-setting/settings-docs.h.in:68
msgid ""
"Flags indicating how to handle the \"phase2-client-cert-password\" property."
msgstr ""
"Flaggor som indikerar hur egenskapen ”phase2-client-cert-password” ska "
"hanteras."
-#: src/libnmc-setting/settings-docs.h.in:67
+#: src/libnmc-setting/settings-docs.h.in:69
msgid ""
"Constraint for server domain name. If set, this list of FQDNs is used as a "
"match requirement for dNSName element(s) of the certificate presented by the "
@@ -7037,7 +7090,7 @@ msgstr ""
"SubjectName CN med samma jämförelse. Flera giltiga FQDN kan skickas som en "
"\";\" avgränsad lista."
-#: src/libnmc-setting/settings-docs.h.in:68
+#: src/libnmc-setting/settings-docs.h.in:70
msgid ""
"Constraint for server domain name. If set, this FQDN is used as a suffix "
"match requirement for dNSName element(s) of the certificate presented by the "
@@ -7055,7 +7108,7 @@ msgstr ""
"SubjectName CN med samma suffixmatchningsjämförelse. Sedan version 1.24 kan "
"flera giltiga FQDN skickas som \";\" avgränsad lista."
-#: src/libnmc-setting/settings-docs.h.in:69
+#: src/libnmc-setting/settings-docs.h.in:71
msgid ""
"Contains the \"phase 2\" inner private key when the \"phase2-auth\" or "
"\"phase2-autheap\" property is set to \"tls\". Key data is specified using a "
@@ -7089,7 +7142,7 @@ msgstr ""
"”phase2-private-key-password” sättas till lösenordet för att avkoda den "
"privata PKCS#12-nyckeln samt certifikatet."
-#: src/libnmc-setting/settings-docs.h.in:70
+#: src/libnmc-setting/settings-docs.h.in:72
msgid ""
"The password used to decrypt the \"phase 2\" private key specified in the "
"\"phase2-private-key\" property when the private key either uses the path "
@@ -7099,14 +7152,14 @@ msgstr ""
"egenskapen ”phase2-private-key” när den privata nyckeln antingen använder "
"path-schemat eller är en PKCS#12-formatnyckel."
-#: src/libnmc-setting/settings-docs.h.in:71
+#: src/libnmc-setting/settings-docs.h.in:73
msgid ""
"Flags indicating how to handle the \"phase2-private-key-password\" property."
msgstr ""
"Flaggor vilka indikerar hur egenskapen ”phase2-private-key-password” ska "
"hanteras."
-#: src/libnmc-setting/settings-docs.h.in:72
+#: src/libnmc-setting/settings-docs.h.in:74
msgid ""
"Substring to be matched against the subject of the certificate presented by "
"the authentication server during the inner \"phase 2\" authentication. When "
@@ -7120,16 +7173,16 @@ msgstr ""
"autentiseringsservercertifikatets ämne. Den här egenskapen ger liten "
"säkerhet, om någon, och bör inte användas."
-#: src/libnmc-setting/settings-docs.h.in:73
+#: src/libnmc-setting/settings-docs.h.in:75
msgid "PIN used for EAP authentication methods."
msgstr "PIN används för EAP-autentiseringsmetoder."
-#: src/libnmc-setting/settings-docs.h.in:74
-#: src/libnmc-setting/settings-docs.h.in:153
+#: src/libnmc-setting/settings-docs.h.in:76
+#: src/libnmc-setting/settings-docs.h.in:155
msgid "Flags indicating how to handle the \"pin\" property."
msgstr "Flaggor vilka indikerar hur egenskapen ”pin” ska hanteras."
-#: src/libnmc-setting/settings-docs.h.in:75
+#: src/libnmc-setting/settings-docs.h.in:77
msgid ""
"Contains the private key when the \"eap\" property is set to \"tls\". Key "
"data is specified using a \"scheme\"; two are currently supported: blob and "
@@ -7170,7 +7223,7 @@ msgstr ""
"privat nyckellösenord för att förhindra otillåten åtkomst till okrypterad "
"privat nyckeldata."
-#: src/libnmc-setting/settings-docs.h.in:76
+#: src/libnmc-setting/settings-docs.h.in:78
msgid ""
"The password used to decrypt the private key specified in the \"private-"
"key\" property when the private key either uses the path scheme, or if the "
@@ -7180,12 +7233,12 @@ msgstr ""
"”private-key” när den privata nyckeln antingen använder path-schemat eller "
"om den privata nyckeln är en nyckel i PKCS#12-format."
-#: src/libnmc-setting/settings-docs.h.in:77
+#: src/libnmc-setting/settings-docs.h.in:79
msgid "Flags indicating how to handle the \"private-key-password\" property."
msgstr ""
"Flaggor vilka indikerar hur egenskapen ”private-key-password” ska hanteras."
-#: src/libnmc-setting/settings-docs.h.in:78
+#: src/libnmc-setting/settings-docs.h.in:80
msgid ""
"Substring to be matched against the subject of the certificate presented by "
"the authentication server. When unset, no verification of the authentication "
@@ -7197,7 +7250,7 @@ msgstr ""
"autentiseringsservercertifikatets ämne. Den här egenskapen ger liten "
"säkerhet, om någon, och bör inte användas."
-#: src/libnmc-setting/settings-docs.h.in:79
+#: src/libnmc-setting/settings-docs.h.in:81
msgid ""
"When TRUE, overrides the \"ca-path\" and \"phase2-ca-path\" properties using "
"the system CA directory specified at configure time with the --system-ca-"
@@ -7216,35 +7269,35 @@ msgstr ""
"CA-certifikat) åsidosätts egenskaperna ”ca-cert” och ”phase2-ca-cert” "
"istället (sätter ca_cert/ca_cert2-flaggorna för wpa_supplicant)."
-#: src/libnmc-setting/settings-docs.h.in:80
+#: src/libnmc-setting/settings-docs.h.in:82
msgid "Encapsulation of ADSL connection. Can be \"vcmux\" or \"llc\"."
msgstr "Inkapsling av ADSL-anslutning. Kan vara “vcmux“ eller ”llc”."
-#: src/libnmc-setting/settings-docs.h.in:81
+#: src/libnmc-setting/settings-docs.h.in:83
msgid "Password used to authenticate with the ADSL service."
msgstr "Lösenord som används för att autentisera mot ADSL-tjänsten."
-#: src/libnmc-setting/settings-docs.h.in:83
+#: src/libnmc-setting/settings-docs.h.in:85
msgid "ADSL connection protocol. Can be \"pppoa\", \"pppoe\" or \"ipoatm\"."
msgstr "ADSL-anslutningsprotokoll. Kan vara ”pppoa”, ”pppoe” eller ”ipoatm”."
-#: src/libnmc-setting/settings-docs.h.in:84
+#: src/libnmc-setting/settings-docs.h.in:86
msgid "Username used to authenticate with the ADSL service."
msgstr "Användarnamn som används för att autentisera mot ADSL-tjänsten."
-#: src/libnmc-setting/settings-docs.h.in:85
+#: src/libnmc-setting/settings-docs.h.in:87
msgid "VCI of ADSL connection"
msgstr "VCI för ADSL-anslutning"
-#: src/libnmc-setting/settings-docs.h.in:86
+#: src/libnmc-setting/settings-docs.h.in:88
msgid "VPI of ADSL connection"
msgstr "VPI för ADSL-anslutning"
-#: src/libnmc-setting/settings-docs.h.in:87
+#: src/libnmc-setting/settings-docs.h.in:89
msgid "The Bluetooth address of the device."
msgstr "Bluetoothadressen för enheten."
-#: src/libnmc-setting/settings-docs.h.in:88
+#: src/libnmc-setting/settings-docs.h.in:90
msgid ""
"Either \"dun\" for Dial-Up Networking connections or \"panu\" for Personal "
"Area Networking connections to devices supporting the NAP profile."
@@ -7252,7 +7305,7 @@ msgstr ""
"Antingen ”dun” för uppringda anslutningar eller ”panu” för PAN-anslutningar "
"till enheter som stödjer NAP-profil."
-#: src/libnmc-setting/settings-docs.h.in:89
+#: src/libnmc-setting/settings-docs.h.in:91
msgid ""
"Dictionary of key/value pairs of bonding options. Both keys and values must "
"be strings. Option names must contain only alphanumeric characters (ie, [a-"
@@ -7262,16 +7315,16 @@ msgstr ""
"värden måste vara strängar. Alternativnamn måste innehålla endast "
"alfanumeriska tecken ([a-zA-Z0-9])."
-#: src/libnmc-setting/settings-docs.h.in:90
+#: src/libnmc-setting/settings-docs.h.in:92
msgid "The Ethernet MAC address aging time, in seconds."
msgstr "Åldringstid för Ethernet-MAC-adress i sekunder."
-#: src/libnmc-setting/settings-docs.h.in:91
+#: src/libnmc-setting/settings-docs.h.in:93
msgid "The Spanning Tree Protocol (STP) forwarding delay, in seconds."
msgstr ""
"Vidarebefordransfördröjning i sekunder för Spanning Tree Protocol (STP)."
-#: src/libnmc-setting/settings-docs.h.in:92
+#: src/libnmc-setting/settings-docs.h.in:94
msgid ""
"If specified, The MAC address of the multicast group this bridge uses for "
"STP. The address must be a link-local address in standard Ethernet MAC "
@@ -7283,7 +7336,7 @@ msgstr ""
"adressformat, dvs en adress av formen 01:80:C2:00:00:0X, med X i [0, 4..F]. "
"Om det inte anges är standardvärdet 01:80:C2:00:00:00."
-#: src/libnmc-setting/settings-docs.h.in:93
+#: src/libnmc-setting/settings-docs.h.in:95
msgid ""
"A mask of group addresses to forward. Usually, group addresses in the range "
"from 01:80:C2:00:00:00 to 01:80:C2:00:00:0F are not forwarded according to "
@@ -7298,11 +7351,11 @@ msgstr ""
"Masken kan ej ha bit 0, 1 eller 2 satt eftersom de används för STP, MAC-"
"pausramar och LACP."
-#: src/libnmc-setting/settings-docs.h.in:94
+#: src/libnmc-setting/settings-docs.h.in:96
msgid "The Spanning Tree Protocol (STP) hello time, in seconds."
msgstr "Hallå-tid i sekunder för Spanning Tree Protocol (STP)."
-#: src/libnmc-setting/settings-docs.h.in:95
+#: src/libnmc-setting/settings-docs.h.in:97
msgid ""
"If specified, the MAC address of bridge. When creating a new bridge, this "
"MAC address will be set. If this field is left unspecified, the \"ethernet."
@@ -7316,18 +7369,18 @@ msgstr ""
"adressen. Observera att inställningen \"ethernet.cloned-mac-address\" ändå "
"skriver över MAC-adressen för bryggan senare medan bryggan aktiveras."
-#: src/libnmc-setting/settings-docs.h.in:96
+#: src/libnmc-setting/settings-docs.h.in:98
msgid "The Spanning Tree Protocol (STP) maximum message age, in seconds."
msgstr ""
"Högsta meddelandeålder i sekunder för The Spanning Tree Protocol (STP)."
-#: src/libnmc-setting/settings-docs.h.in:97
+#: src/libnmc-setting/settings-docs.h.in:99
msgid "Set maximum size of multicast hash table (value must be a power of 2)."
msgstr ""
"Ställ in maximal storlek på multicast-hashtabellen (värdet måste vara en "
"potens av 2)."
-#: src/libnmc-setting/settings-docs.h.in:98
+#: src/libnmc-setting/settings-docs.h.in:100
msgid ""
"Set the number of queries the bridge will send before stopping forwarding a "
"multicast group after a \"leave\" message has been received."
@@ -7336,7 +7389,7 @@ msgstr ""
"vidarebefordran av en multicast-grupp efter att ett \"lämna\"-meddelande har "
"mottagits."
-#: src/libnmc-setting/settings-docs.h.in:99
+#: src/libnmc-setting/settings-docs.h.in:101
msgid ""
"Set interval (in deciseconds) between queries to find remaining members of a "
"group, after a \"leave\" message is received."
@@ -7345,7 +7398,7 @@ msgstr ""
"kvarvarande medlemmar i en grupp, efter att ett \"lämna\"-meddelande har "
"tagits emot."
-#: src/libnmc-setting/settings-docs.h.in:100
+#: src/libnmc-setting/settings-docs.h.in:102
msgid ""
"Set delay (in deciseconds) after which the bridge will leave a group, if no "
"membership reports for this group are received."
@@ -7353,7 +7406,7 @@ msgstr ""
"Ställ in fördröjning (i decisekunder) efter vilken bryggan lämnar en grupp, "
"om inga medlemsrapporter för denna grupp tas emot."
-#: src/libnmc-setting/settings-docs.h.in:101
+#: src/libnmc-setting/settings-docs.h.in:103
msgid ""
"Enable or disable sending of multicast queries by the bridge. If not "
"specified the option is disabled."
@@ -7361,7 +7414,7 @@ msgstr ""
"Aktivera eller inaktivera sändning av multicast-frågor från bryggan. Om det "
"inte anges är alternativet inaktiverat."
-#: src/libnmc-setting/settings-docs.h.in:102
+#: src/libnmc-setting/settings-docs.h.in:104
msgid ""
"If no queries are seen after this delay (in deciseconds) has passed, the "
"bridge will start to send its own queries."
@@ -7369,7 +7422,7 @@ msgstr ""
"Om inga förfrågningar ses efter att denna fördröjning (i antal sekunder) har "
"gått, kommer bryggan att börja skicka sina egna förfrågningar."
-#: src/libnmc-setting/settings-docs.h.in:103
+#: src/libnmc-setting/settings-docs.h.in:105
msgid ""
"Interval (in deciseconds) between queries sent by the bridge after the end "
"of the startup phase."
@@ -7377,7 +7430,7 @@ msgstr ""
"Intervall (i decisekunder) mellan frågor som skickas av bryggan efter slutet "
"av startfasen."
-#: src/libnmc-setting/settings-docs.h.in:104
+#: src/libnmc-setting/settings-docs.h.in:106
msgid ""
"Set the Max Response Time/Max Response Delay (in deciseconds) for IGMP/MLD "
"queries sent by the bridge."
@@ -7385,7 +7438,7 @@ msgstr ""
"Ställ in max svarstid/max svarsfördröjning (i decisekunder) för IGMP/MLD-"
"förfrågningar som skickas av bryggan."
-#: src/libnmc-setting/settings-docs.h.in:105
+#: src/libnmc-setting/settings-docs.h.in:107
msgid ""
"If enabled the bridge's own IP address is used as the source address for "
"IGMP queries otherwise the default of 0.0.0.0 is used."
@@ -7393,7 +7446,7 @@ msgstr ""
"Om aktiverat används bryggans egen IP-adress som källadress för IGMP-frågor, "
"annars används standardvärdet 0.0.0.0."
-#: src/libnmc-setting/settings-docs.h.in:106
+#: src/libnmc-setting/settings-docs.h.in:108
msgid ""
"Sets bridge's multicast router. Multicast-snooping must be enabled for this "
"option to work. Supported values are: 'auto', 'disabled', 'enabled' to which "
@@ -7405,7 +7458,7 @@ msgstr ""
"'auto', 'disabled', 'enabled' till vilken kärnan tilldelar siffrorna 1, 0 "
"respektive 2. Om det inte anges är standardvärdet 'auto' (1)."
-#: src/libnmc-setting/settings-docs.h.in:107
+#: src/libnmc-setting/settings-docs.h.in:109
msgid ""
"Controls whether IGMP snooping is enabled for this bridge. Note that if "
"snooping was automatically disabled due to hash collisions, the system may "
@@ -7416,11 +7469,11 @@ msgstr ""
"hashkollisioner kommer systemet att vägra att aktivera egenskapen tills "
"kollisionerna är lösta."
-#: src/libnmc-setting/settings-docs.h.in:108
+#: src/libnmc-setting/settings-docs.h.in:110
msgid "Set the number of IGMP queries to send during startup phase."
msgstr "Ställ in antalet IGMP-frågor som ska skickas under startfasen."
-#: src/libnmc-setting/settings-docs.h.in:109
+#: src/libnmc-setting/settings-docs.h.in:111
msgid ""
"Sets the time (in deciseconds) between queries sent out at startup to "
"determine membership information."
@@ -7428,7 +7481,7 @@ msgstr ""
"Ställer in tiden (i decisekunder) mellan frågor som skickas ut vid start för "
"att fastställa medlemsinformation."
-#: src/libnmc-setting/settings-docs.h.in:110
+#: src/libnmc-setting/settings-docs.h.in:112
msgid ""
"Sets the Spanning Tree Protocol (STP) priority for this bridge. Lower "
"values are \"better\"; the lowest priority bridge will be elected the root "
@@ -7438,14 +7491,14 @@ msgstr ""
"värden är ”bättre”; den lägsta prioritetsbryggan kommer att väljas vara "
"rotbryggan."
-#: src/libnmc-setting/settings-docs.h.in:111
+#: src/libnmc-setting/settings-docs.h.in:113
msgid ""
"Controls whether Spanning Tree Protocol (STP) is enabled for this bridge."
msgstr ""
"Kontrollera huruvida Spanning Tree Protocol (STP) är aktiverat för denna "
"brygga."
-#: src/libnmc-setting/settings-docs.h.in:112
+#: src/libnmc-setting/settings-docs.h.in:114
msgid ""
"The default PVID for the ports of the bridge, that is the VLAN id assigned "
"to incoming untagged frames."
@@ -7453,11 +7506,11 @@ msgstr ""
"Standard-PVID för portarna på bryggan, det vill säga VLAN-id:t som "
"tilldelats inkommande otaggade ramar."
-#: src/libnmc-setting/settings-docs.h.in:113
+#: src/libnmc-setting/settings-docs.h.in:115
msgid "Control whether VLAN filtering is enabled on the bridge."
msgstr "Kontrollera om VLAN-filtrering är aktiverad på bryggan."
-#: src/libnmc-setting/settings-docs.h.in:114
+#: src/libnmc-setting/settings-docs.h.in:116
msgid ""
"If specified, the protocol used for VLAN filtering. Supported values are: "
"'802.1Q', '802.1ad'. If not specified the default value is '802.1Q'."
@@ -7465,11 +7518,11 @@ msgstr ""
"Om specificerat, protokollet som används för VLAN-filtrering. Värden som "
"stöds är: '802.1Q', '802.1ad'. Om det inte anges är standardvärdet '802.1Q'."
-#: src/libnmc-setting/settings-docs.h.in:115
+#: src/libnmc-setting/settings-docs.h.in:117
msgid "Controls whether per-VLAN stats accounting is enabled."
msgstr "Styr om per-VLAN-statistik beräkning är aktiverad."
-#: src/libnmc-setting/settings-docs.h.in:116
+#: src/libnmc-setting/settings-docs.h.in:118
msgid ""
"Array of bridge VLAN objects. In addition to the VLANs specified here, the "
"bridge will also have the default-pvid VLAN configured by the bridge.vlan-"
@@ -7485,7 +7538,7 @@ msgstr ""
"id mellan 1 och 4094 eller ett intervall , representerad som ett par id "
"åtskilda av ett bindestreck."
-#: src/libnmc-setting/settings-docs.h.in:117
+#: src/libnmc-setting/settings-docs.h.in:119
msgid ""
"Enables or disables \"hairpin mode\" for the port, which allows frames to be "
"sent back out through the port the frame was received on."
@@ -7493,18 +7546,18 @@ msgstr ""
"Aktivera eller inaktivera ”hårnålsläge” för porten vilket tillåter ramar att "
"bli tillbakaskickade genom den port ramen togs emot på."
-#: src/libnmc-setting/settings-docs.h.in:118
+#: src/libnmc-setting/settings-docs.h.in:120
msgid ""
"The Spanning Tree Protocol (STP) port cost for destinations via this port."
msgstr ""
"Portkostnaden för Spanning Tree Protocol (STP) för destinationerna via denna "
"port."
-#: src/libnmc-setting/settings-docs.h.in:119
+#: src/libnmc-setting/settings-docs.h.in:121
msgid "The Spanning Tree Protocol (STP) priority of this bridge port."
msgstr "Prioritet för Spanning Tree Protocol (STP) för denna port."
-#: src/libnmc-setting/settings-docs.h.in:120
+#: src/libnmc-setting/settings-docs.h.in:122
msgid ""
"Array of bridge VLAN objects. In addition to the VLANs specified here, the "
"port will also have the default-pvid VLAN configured on the bridge by the "
@@ -7520,9 +7573,9 @@ msgstr ""
"enda id mellan 1 och 4094 eller ett intervall , representerad som ett par id "
"åtskilda av ett bindestreck."
-#: src/libnmc-setting/settings-docs.h.in:121
-#: src/libnmc-setting/settings-docs.h.in:147
-#: src/libnmc-setting/settings-docs.h.in:158
+#: src/libnmc-setting/settings-docs.h.in:123
+#: src/libnmc-setting/settings-docs.h.in:149
+#: src/libnmc-setting/settings-docs.h.in:160
msgid ""
"If non-zero, only transmit packets of the specified size or smaller, "
"breaking larger packets up into multiple frames."
@@ -7530,7 +7583,7 @@ msgstr ""
"Om icke-noll, överför endast paket för den specificerade storleken eller "
"mindre, bryter upp större paket i mindre ramar."
-#: src/libnmc-setting/settings-docs.h.in:122
+#: src/libnmc-setting/settings-docs.h.in:124
msgid ""
"The number to dial to establish the connection to the CDMA-based mobile "
"broadband network, if any. If not specified, the default number (#777) is "
@@ -7540,8 +7593,8 @@ msgstr ""
"bredbandsnätverk om några. Om ej specificerat används standardnumret (#777) "
"när det krävs."
-#: src/libnmc-setting/settings-docs.h.in:123
-#: src/libnmc-setting/settings-docs.h.in:150
+#: src/libnmc-setting/settings-docs.h.in:125
+#: src/libnmc-setting/settings-docs.h.in:152
msgid ""
"The password used to authenticate with the network, if required. Many "
"providers do not require a password, or accept any password. But if a "
@@ -7551,8 +7604,8 @@ msgstr ""
"leverantörer kräver inte ett lösenord eller accepterar alla lösenord. Men om "
"ett lösenord krävs specificeras det här."
-#: src/libnmc-setting/settings-docs.h.in:125
-#: src/libnmc-setting/settings-docs.h.in:156
+#: src/libnmc-setting/settings-docs.h.in:127
+#: src/libnmc-setting/settings-docs.h.in:158
msgid ""
"The username used to authenticate with the network, if required. Many "
"providers do not require a username, or accept any username. But if a "
@@ -7562,7 +7615,7 @@ msgstr ""
"leverantörer kräver inget användarnamn, eller accepterar alla användarnamn. "
"Men om ett användarnamn krävs specificeras det här."
-#: src/libnmc-setting/settings-docs.h.in:126
+#: src/libnmc-setting/settings-docs.h.in:128
msgid ""
"Specifies the NMSettingDcbFlags for the DCB FCoE application. Flags may be "
"any combination of \"enable\" (0x1), \"advertise\" (0x2), and "
@@ -7572,7 +7625,7 @@ msgstr ""
"valfri kombination av \"enable\" (0x1), \"advertise\" (0x2) och "
"\"willing\" (0x4)."
-#: src/libnmc-setting/settings-docs.h.in:127
+#: src/libnmc-setting/settings-docs.h.in:129
msgid ""
"The FCoE controller mode; either \"fabric\" or \"vn2vn\". Since 1.34, NULL "
"is the default and means \"fabric\". Before 1.34, NULL was rejected as "
@@ -7582,7 +7635,7 @@ msgstr ""
"standard och betyder \"fabric\". Före 1.34 avvisades NULL som ogiltigt och "
"standardinställningen var \"fabric\"."
-#: src/libnmc-setting/settings-docs.h.in:128
+#: src/libnmc-setting/settings-docs.h.in:130
msgid ""
"The highest User Priority (0 - 7) which FCoE frames should use, or -1 for "
"default priority. Only used when the \"app-fcoe-flags\" property includes "
@@ -7592,7 +7645,7 @@ msgstr ""
"för standardprioritet. Används endast när egenskapen \"app-fcoe-flags\" "
"innehåller flaggan \"enable\" (0x1)."
-#: src/libnmc-setting/settings-docs.h.in:129
+#: src/libnmc-setting/settings-docs.h.in:131
msgid ""
"Specifies the NMSettingDcbFlags for the DCB FIP application. Flags may be "
"any combination of \"enable\" (0x1), \"advertise\" (0x2), and "
@@ -7602,7 +7655,7 @@ msgstr ""
"valfri kombination av \"enable\" (0x1), \"advertise\" (0x2) och "
"\"willing\" (0x4)."
-#: src/libnmc-setting/settings-docs.h.in:130
+#: src/libnmc-setting/settings-docs.h.in:132
msgid ""
"The highest User Priority (0 - 7) which FIP frames should use, or -1 for "
"default priority. Only used when the \"app-fip-flags\" property includes "
@@ -7612,7 +7665,7 @@ msgstr ""
"för standardprioritet. Används endast när egenskapen \"app-fip-flags\" "
"inkluderar flaggan \"enable\" (0x1)."
-#: src/libnmc-setting/settings-docs.h.in:131
+#: src/libnmc-setting/settings-docs.h.in:133
msgid ""
"Specifies the NMSettingDcbFlags for the DCB iSCSI application. Flags may be "
"any combination of \"enable\" (0x1), \"advertise\" (0x2), and "
@@ -7622,7 +7675,7 @@ msgstr ""
"valfri kombination av \"enable\" (0x1), \"advertise\" (0x2) och "
"\"willing\" (0x4)."
-#: src/libnmc-setting/settings-docs.h.in:132
+#: src/libnmc-setting/settings-docs.h.in:134
msgid ""
"The highest User Priority (0 - 7) which iSCSI frames should use, or -1 for "
"default priority. Only used when the \"app-iscsi-flags\" property includes "
@@ -7632,7 +7685,7 @@ msgstr ""
"för standardprioritet. Används endast när egenskapen \"app-iscsi-flags\" "
"inkluderar flaggan \"enable\" (0x1)."
-#: src/libnmc-setting/settings-docs.h.in:133
+#: src/libnmc-setting/settings-docs.h.in:135
msgid ""
"An array of 8 uint values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates the percentage of bandwidth of the "
@@ -7645,7 +7698,7 @@ msgstr ""
"grupp som prioriteten kan använda. Summan av alla procent för prioriteter "
"som tillhör samma grupp måste vara totalt 100 procent."
-#: src/libnmc-setting/settings-docs.h.in:134
+#: src/libnmc-setting/settings-docs.h.in:136
msgid ""
"An array of 8 boolean values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates whether or not the corresponding "
@@ -7655,7 +7708,7 @@ msgstr ""
"(0 - 7) och värdet indikerar huruvida motsvarande prioritet ska överföra "
"prioritetspaus."
-#: src/libnmc-setting/settings-docs.h.in:135
+#: src/libnmc-setting/settings-docs.h.in:137
msgid ""
"Specifies the NMSettingDcbFlags for DCB Priority Flow Control (PFC). Flags "
"may be any combination of \"enable\" (0x1), \"advertise\" (0x2), and "
@@ -7665,7 +7718,7 @@ msgstr ""
"kan vara valfri kombination av \"enable\" (0x1), \"advertise\" (0x2) och "
"\"willing\" (0x4)."
-#: src/libnmc-setting/settings-docs.h.in:136
+#: src/libnmc-setting/settings-docs.h.in:138
msgid ""
"An array of 8 uint values, where the array index corresponds to the Priority "
"Group ID (0 - 7) and the value indicates the percentage of link bandwidth "
@@ -7677,7 +7730,7 @@ msgstr ""
"Tillåtna värden är 0 - 100 och summan av alla värden måste vara totalt 100 "
"procent."
-#: src/libnmc-setting/settings-docs.h.in:137
+#: src/libnmc-setting/settings-docs.h.in:139
msgid ""
"Specifies the NMSettingDcbFlags for DCB Priority Groups. Flags may be any "
"combination of \"enable\" (0x1), \"advertise\" (0x2), and \"willing\" (0x4)."
@@ -7686,7 +7739,7 @@ msgstr ""
"valfri kombination av \"enable\" (0x1), \"advertise\" (0x2) och "
"\"willing\" (0x4)."
-#: src/libnmc-setting/settings-docs.h.in:138
+#: src/libnmc-setting/settings-docs.h.in:140
msgid ""
"An array of 8 uint values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates the Priority Group ID. Allowed "
@@ -7696,7 +7749,7 @@ msgstr ""
"7) och värdena indikerar prioritetsgrupp-ID. Tillåtna prioritetsgrupp-ID-"
"värden är 0 - 7 eller 15 för obegränsade gruppen."
-#: src/libnmc-setting/settings-docs.h.in:139
+#: src/libnmc-setting/settings-docs.h.in:141
msgid ""
"An array of 8 boolean values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates whether or not the priority may use "
@@ -7706,7 +7759,7 @@ msgstr ""
"(0 - 7) och värdet indikerar huruvida prioriteten kan använda hela "
"bandbredden tilldelad till dess tilldelade grupp."
-#: src/libnmc-setting/settings-docs.h.in:140
+#: src/libnmc-setting/settings-docs.h.in:142
msgid ""
"An array of 8 uint values, where the array index corresponds to the User "
"Priority (0 - 7) and the value indicates the traffic class (0 - 7) to which "
@@ -7715,7 +7768,7 @@ msgstr ""
"En vektor av 8 uintvärden där vektorindex motsvarar användarprioritet (0 - "
"7) och värdet indikerar trafikklassen (0 -7) till vilken prioritet mappas."
-#: src/libnmc-setting/settings-docs.h.in:141
+#: src/libnmc-setting/settings-docs.h.in:143
msgid ""
"The GPRS Access Point Name specifying the APN used when establishing a data "
"session with the GSM-based network. The APN often determines how the user "
@@ -7723,17 +7776,22 @@ msgid ""
"the Internet or just a provider-specific walled-garden, so it is important "
"to use the correct APN for the user's mobile broadband plan. The APN may "
"only be composed of the characters a-z, 0-9, ., and - per GSM 03.60 Section "
-"14.9."
-msgstr ""
-"GPRS-accesspunkten specificerar APN att använda vid etablering av "
-"datasession med GSM-baserade nätverk. APN avgör ofta hur användaren kommer "
-"att få betala för deras nätverksanvändning och huruvida användaren har "
-"åtkomst till internet eller bara en leverantörsspecifik instängd del, så det "
-"är viktigt att använda rätt APN för användarens mobila bredbandsplan. APN "
-"kan bara bestå av tecknen a-z, 0-9, ., och - per GSM 03.60 enligt avsnitt "
-"14.9."
+"14.9. If the APN is unset (the default) then it may be detected based on "
+"\"auto-config\" setting. The property can be explicitly set to the empty "
+"string to prevent that and use no APN."
+msgstr ""
+"GPRS-åtkomstpunktens namn som anger det APN som används vid upprättande av "
+"en datasession med det GSM-baserade nätverket. APN bestämmer ofta hur "
+"användaren kommer att faktureras för sin nätverksanvändning och om "
+"användaren har tillgång till Internet eller bara en leverantörsspecifik "
+"muromgärdad trädgård, så det är viktigt att använda rätt APN för användarens "
+"mobila bredbandsplan. APN får endast bestå av tecknen a-z, 0-9, ., och - "
+"enligt GSM 03.60 avsnitt 14.9. Om APN är inställt (standard) kan det "
+"upptäckas baserat på inställningen \"auto-config\". Egenskapen kan "
+"uttryckligen ställas in på den tomma strängen för att förhindra det och "
+"använder ingen APN."
-#: src/libnmc-setting/settings-docs.h.in:142
+#: src/libnmc-setting/settings-docs.h.in:144
msgid ""
"When TRUE, the settings such as APN, username, or password will default to "
"values that match the network the modem will register to in the Mobile "
@@ -7743,7 +7801,7 @@ msgstr ""
"standard till värden som matchar nätverket som modemet kommer att registrera "
"sig på i leverantörens databas för mobilt bredband."
-#: src/libnmc-setting/settings-docs.h.in:143
+#: src/libnmc-setting/settings-docs.h.in:145
msgid ""
"The device unique identifier (as given by the WWAN management service) which "
"this connection applies to. If given, the connection will only apply to the "
@@ -7753,7 +7811,7 @@ msgstr ""
"denna anslutning tillämpas till. Om given kommer anslutningen endast att "
"gälla specificerad enhet."
-#: src/libnmc-setting/settings-docs.h.in:144
+#: src/libnmc-setting/settings-docs.h.in:146
msgid ""
"When TRUE, only connections to the home network will be allowed. Connections "
"to roaming networks will not be made."
@@ -7761,7 +7819,7 @@ msgstr ""
"Om TRUE tillåts endast anslutningar till hemmanätverk. Anslutningar till "
"roaming-nätverk sker ej."
-#: src/libnmc-setting/settings-docs.h.in:145
+#: src/libnmc-setting/settings-docs.h.in:147
msgid ""
"For LTE modems, this sets the APN for the initial EPS bearer that is set up "
"when attaching to the network. Setting this parameter implies initial-eps-"
@@ -7771,7 +7829,7 @@ msgstr ""
"ställs in vid anslutning till nätverket. Att ställa in denna parameter "
"innebär att initial-eps-bearer-configure är TRUE."
-#: src/libnmc-setting/settings-docs.h.in:146
+#: src/libnmc-setting/settings-docs.h.in:148
msgid ""
"For LTE modems, this setting determines whether the initial EPS bearer shall "
"be configured when bringing up the connection. It is inferred TRUE if "
@@ -7781,7 +7839,7 @@ msgstr ""
"konfigureras när anslutningen tas fram. Det antas TRUE om initial-eps-bearer-"
"apn är inställd."
-#: src/libnmc-setting/settings-docs.h.in:148
+#: src/libnmc-setting/settings-docs.h.in:150
msgid ""
"The Network ID (GSM LAI format, ie MCC-MNC) to force specific network "
"registration. If the Network ID is specified, NetworkManager will attempt "
@@ -7796,7 +7854,7 @@ msgstr ""
"enheten inte utför roam när direkt roaming-kontroll av enheten inte är "
"möjligt."
-#: src/libnmc-setting/settings-docs.h.in:149
+#: src/libnmc-setting/settings-docs.h.in:151
msgid ""
"Legacy setting that used to help establishing PPP data sessions for GSM-"
"based modems."
@@ -7804,7 +7862,7 @@ msgstr ""
"Föråldrad inställning som användes för att skapa PPP-datasessioner för GSM-"
"baserade modem."
-#: src/libnmc-setting/settings-docs.h.in:152
+#: src/libnmc-setting/settings-docs.h.in:154
msgid ""
"If the SIM is locked with a PIN it must be unlocked before any other "
"operations are requested. Specify the PIN here to allow operation of the "
@@ -7813,7 +7871,7 @@ msgstr ""
"Om SIM-kortet är låst med PIN-kod måste det låsas upp före varje åtgärd som "
"begärs. Specificera PIN här för att tillåta åtgärder för enheten."
-#: src/libnmc-setting/settings-docs.h.in:154
+#: src/libnmc-setting/settings-docs.h.in:156
msgid ""
"The SIM card unique identifier (as given by the WWAN management service) "
"which this connection applies to. If given, the connection will apply to "
@@ -7825,7 +7883,7 @@ msgstr ""
"tillämpas på alla enheter som också tillåts av ”device-id” vilket innehåller "
"ett SIM-kort matchande den givna identifieraren."
-#: src/libnmc-setting/settings-docs.h.in:155
+#: src/libnmc-setting/settings-docs.h.in:157
msgid ""
"A MCC/MNC string like \"310260\" or \"21601\" identifying the specific "
"mobile network operator which this connection applies to. If given, the "
@@ -7838,7 +7896,7 @@ msgstr ""
"”device-id” och ”sim-id” vilka innehåller ett SIM-kort provisionerat av den "
"givna operatören."
-#: src/libnmc-setting/settings-docs.h.in:157
+#: src/libnmc-setting/settings-docs.h.in:159
msgid ""
"If specified, this connection will only apply to the IPoIB device whose "
"permanent MAC address matches. This property does not change the MAC address "
@@ -7848,7 +7906,7 @@ msgstr ""
"vars permanenta MAC-adress matchar. Denna egenskap kommer inte att ändra MAC-"
"adressen för enheten (d.v.s. MAC-förfalskning)."
-#: src/libnmc-setting/settings-docs.h.in:159
+#: src/libnmc-setting/settings-docs.h.in:161
msgid ""
"The InfiniBand p-key to use for this device. A value of -1 means to use the "
"default p-key (aka \"the p-key at index 0\"). Otherwise, it is a 16-bit "
@@ -7871,7 +7929,7 @@ msgstr ""
"Vanligtvis skulle användaren vilja konfigurera en p-nyckel för fullständigt "
"medlemskap med flaggan 0x8000."
-#: src/libnmc-setting/settings-docs.h.in:160
+#: src/libnmc-setting/settings-docs.h.in:162
msgid ""
"The interface name of the parent device of this device. Normally NULL, but "
"if the \"p_key\" property is set, then you must specify the base device by "
@@ -7881,13 +7939,13 @@ msgstr ""
"egenskapen ”p_key” är satt så måste du ange basenheten genom att ange denna "
"egenskap eller ”mac-address”."
-#: src/libnmc-setting/settings-docs.h.in:161
+#: src/libnmc-setting/settings-docs.h.in:163
msgid ""
"The IP-over-InfiniBand transport mode. Either \"datagram\" or \"connected\"."
msgstr ""
"Transportläge för IP-over-InfiniBand. Antingen ”datagram” eller ”connected”."
-#: src/libnmc-setting/settings-docs.h.in:162
+#: src/libnmc-setting/settings-docs.h.in:164
msgid ""
"A list of IPv4 addresses and their prefix length. Multiple addresses can be "
"separated by comma. For example \"192.168.1.5/24, 10.1.0.5/24\". The "
@@ -7899,8 +7957,8 @@ msgstr ""
"Adresserna listas i minskande prioritet, vilket betyder att den första "
"adressen kommer att vara den primära adressen."
-#: src/libnmc-setting/settings-docs.h.in:163
-#: src/libnmc-setting/settings-docs.h.in:193
+#: src/libnmc-setting/settings-docs.h.in:165
+#: src/libnmc-setting/settings-docs.h.in:196
msgid ""
"VPN connections will default to add the route automatically unless this "
"setting is set to FALSE. For other connection types, adding such an "
@@ -7912,8 +7970,8 @@ msgstr ""
"stöds för närvarande inte att lägga till en sådan automatisk rutt och att "
"ställa in detta på TRUE har ingen effekt."
-#: src/libnmc-setting/settings-docs.h.in:164
-#: src/libnmc-setting/settings-docs.h.in:194
+#: src/libnmc-setting/settings-docs.h.in:166
+#: src/libnmc-setting/settings-docs.h.in:197
msgid ""
"Maximum timeout in milliseconds used to check for the presence of duplicate "
"IP addresses on the network. If an address conflict is detected, the "
@@ -7935,7 +7993,7 @@ msgstr ""
"för randomisering enligt RFC 5227 och så att den faktiska varaktigheten kan "
"vara mellan halva och hela tiden som anges i den här egenskapen."
-#: src/libnmc-setting/settings-docs.h.in:165
+#: src/libnmc-setting/settings-docs.h.in:167
msgid ""
"A string sent to the DHCP server to identify the local machine which the "
"DHCP server may use to customize the DHCP lease and options. When the "
@@ -7994,7 +8052,22 @@ msgstr ""
"en från sin konfigurationsfil om den finns, eller kommer inte att skicka "
"något klient-id på annat sätt."
-#: src/libnmc-setting/settings-docs.h.in:166
+#: src/libnmc-setting/settings-docs.h.in:168
+#: src/libnmc-setting/settings-docs.h.in:198
+msgid ""
+"Specifies the value for the DSCP field (traffic class) of the IP header. "
+"When empty, the global default value is used; if no global default is "
+"specified, it is assumed to be \"CS0\". Allowed values are: \"CS0\", \"CS4\" "
+"and \"CS6\". The property is currently valid only for IPv4, and it is "
+"supported only by the \"internal\" DHCP plugin."
+msgstr ""
+"Specificerar värdet för DSCP-fältet (trafikklass) för IP-huvudet. När det är "
+"tomt används det globala standardvärdet; om ingen global standard är "
+"angiven, antas den vara \"CS0\". Tillåtna värden är: \"CS0\", \"CS4\" och "
+"\"CS6\". Egenskapen är för närvarande endast giltig för IPv4, och den stöds "
+"endast av den \"interna\" DHCP-plugin."
+
+#: src/libnmc-setting/settings-docs.h.in:169
msgid ""
"If the \"dhcp-send-hostname\" property is TRUE, then the specified FQDN will "
"be sent to the DHCP server when acquiring a lease. This property and \"dhcp-"
@@ -8004,8 +8077,8 @@ msgstr ""
"skickas till DHCP-servern vid lån. Denna egenskap och ”dhcp-hostname” kan "
"inte kombineras."
-#: src/libnmc-setting/settings-docs.h.in:167
-#: src/libnmc-setting/settings-docs.h.in:196
+#: src/libnmc-setting/settings-docs.h.in:170
+#: src/libnmc-setting/settings-docs.h.in:200
msgid ""
"If the \"dhcp-send-hostname\" property is TRUE, then the specified name will "
"be sent to the DHCP server when acquiring a lease. This property and \"dhcp-"
@@ -8015,8 +8088,8 @@ msgstr ""
"att skickas till DHCP-servern vid lån. Denna egenskap och ”dhcp-fqdn” kan "
"inte kombineras."
-#: src/libnmc-setting/settings-docs.h.in:168
-#: src/libnmc-setting/settings-docs.h.in:197
+#: src/libnmc-setting/settings-docs.h.in:171
+#: src/libnmc-setting/settings-docs.h.in:201
msgid ""
"Flags for the DHCP hostname and FQDN. Currently, this property only includes "
"flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN "
@@ -8045,8 +8118,8 @@ msgstr ""
"är \"ingen\" (0x0), så skickas standard FQDN-flaggor som beskrivs ovan i "
"DHCP-förfrågningarna."
-#: src/libnmc-setting/settings-docs.h.in:169
-#: src/libnmc-setting/settings-docs.h.in:198
+#: src/libnmc-setting/settings-docs.h.in:172
+#: src/libnmc-setting/settings-docs.h.in:202
msgid ""
"A string containing the \"Identity Association Identifier\" (IAID) used by "
"the DHCP client. The string can be a 32-bit number (either decimal, "
@@ -8084,8 +8157,8 @@ msgstr ""
"IAID från MAC-adressen. Den faktiskt använda DHCPv6 IAID för ett för "
"närvarande aktiverat gränssnitt exponeras i leasinginformationen för enheten."
-#: src/libnmc-setting/settings-docs.h.in:170
-#: src/libnmc-setting/settings-docs.h.in:200
+#: src/libnmc-setting/settings-docs.h.in:173
+#: src/libnmc-setting/settings-docs.h.in:204
msgid ""
"Array of servers from which DHCP offers must be rejected. This property is "
"useful to avoid getting a lease from misconfigured or rogue servers. For "
@@ -8100,8 +8173,8 @@ msgstr ""
"\"192.168.122.0/24\"). Den här egenskapen är för närvarande inte "
"implementerad för DHCPv6."
-#: src/libnmc-setting/settings-docs.h.in:171
-#: src/libnmc-setting/settings-docs.h.in:201
+#: src/libnmc-setting/settings-docs.h.in:174
+#: src/libnmc-setting/settings-docs.h.in:205
msgid ""
"If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some "
"DHCP servers use this hostname to update DNS databases, essentially "
@@ -8114,8 +8187,8 @@ msgstr ""
"princip ett statiskt värdnamn till datorn. Om egenskapen ”dhcp-hostname” är "
"NULL och egenskapen är TRUE kan det lagrade värdnamnet sändas."
-#: src/libnmc-setting/settings-docs.h.in:172
-#: src/libnmc-setting/settings-docs.h.in:202
+#: src/libnmc-setting/settings-docs.h.in:175
+#: src/libnmc-setting/settings-docs.h.in:206
msgid ""
"A timeout for a DHCP transaction in seconds. If zero (the default), a "
"globally configured default is used. If still unspecified, a device specific "
@@ -8127,7 +8200,7 @@ msgstr ""
"en enhetsspecifik timeout (vanligtvis 45 sekunder). Ställ in på 2147483647 "
"(MAXINT32) för oändlighet."
-#: src/libnmc-setting/settings-docs.h.in:173
+#: src/libnmc-setting/settings-docs.h.in:176
msgid ""
"The Vendor Class Identifier DHCP option (60). Special characters in the data "
"string may be escaped using C-style escapes, nevertheless this property "
@@ -8141,8 +8214,8 @@ msgstr ""
"global anslutningsstandard. Om det fortfarande är ospecificerat skickas inte "
"DHCP-alternativet till servern."
-#: src/libnmc-setting/settings-docs.h.in:174
-#: src/libnmc-setting/settings-docs.h.in:203
+#: src/libnmc-setting/settings-docs.h.in:177
+#: src/libnmc-setting/settings-docs.h.in:207
msgid ""
"Array of IP addresses of DNS servers. For DoT (DNS over TLS), the SNI server "
"name can be specified by appending \"#example.com\" to the IP address of the "
@@ -8153,7 +8226,7 @@ msgstr ""
"för DNS-servern. Detta har för närvarande endast effekt när man använder "
"systemd-resolved."
-#: src/libnmc-setting/settings-docs.h.in:175
+#: src/libnmc-setting/settings-docs.h.in:178
msgid ""
"DNS options for /etc/resolv.conf as described in resolv.conf(5) manual. The "
"currently supported options are \"attempts\", \"debug\", \"edns0\", "
@@ -8186,8 +8259,8 @@ msgstr ""
"ad\" till automatiskt. De giltiga \"ipv4.dns-options\" och \"ipv6.dns-"
"options\" slås samman."
-#: src/libnmc-setting/settings-docs.h.in:176
-#: src/libnmc-setting/settings-docs.h.in:205
+#: src/libnmc-setting/settings-docs.h.in:179
+#: src/libnmc-setting/settings-docs.h.in:209
msgid ""
"DNS servers priority. The relative priority for DNS servers specified by "
"this setting. A lower numerical value is better (higher priority). Negative "
@@ -8264,8 +8337,8 @@ msgstr ""
"läckor genom att korrekt konfigurera DNS-prioriteter och sökdomäner, så att "
"endast namnservrar för det önskade gränssnittet konfigureras."
-#: src/libnmc-setting/settings-docs.h.in:177
-#: src/libnmc-setting/settings-docs.h.in:206
+#: src/libnmc-setting/settings-docs.h.in:180
+#: src/libnmc-setting/settings-docs.h.in:210
msgid ""
"List of DNS search domains. Domains starting with a tilde ('~') are "
"considered 'routing' domains and are used only to decide the interface over "
@@ -8294,8 +8367,8 @@ msgstr ""
"om inga DNS-sökningar är konfigurerade kommer reservalternativet att "
"härledas från domänen från DHCP (alternativ 15)."
-#: src/libnmc-setting/settings-docs.h.in:178
-#: src/libnmc-setting/settings-docs.h.in:207
+#: src/libnmc-setting/settings-docs.h.in:181
+#: src/libnmc-setting/settings-docs.h.in:211
msgid ""
"The gateway associated with this configuration. This is only meaningful if "
"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
@@ -8315,8 +8388,8 @@ msgstr ""
"routing som NetworkManager konfigurerar för WireGuard-gränssnitt, så "
"vanligtvis ska den inte ställas in i så fall. Se \"ip4-auto-default-route\"."
-#: src/libnmc-setting/settings-docs.h.in:179
-#: src/libnmc-setting/settings-docs.h.in:208
+#: src/libnmc-setting/settings-docs.h.in:182
+#: src/libnmc-setting/settings-docs.h.in:212
msgid ""
"When \"method\" is set to \"auto\" and this property to TRUE, automatically "
"configured name servers and search domains are ignored and only name servers "
@@ -8328,8 +8401,8 @@ msgstr ""
"namnservrar och sökdomäner som anges i \"dns\" och \"dns-search\"-"
"egenskaperna, om några, är används."
-#: src/libnmc-setting/settings-docs.h.in:180
-#: src/libnmc-setting/settings-docs.h.in:209
+#: src/libnmc-setting/settings-docs.h.in:183
+#: src/libnmc-setting/settings-docs.h.in:213
msgid ""
"When \"method\" is set to \"auto\" and this property to TRUE, automatically "
"configured routes are ignored and only routes specified in the \"routes\" "
@@ -8339,7 +8412,7 @@ msgstr ""
"automatiskt konfigurerade rutter att ignoreras och endast rutter "
"specificerade i egenskapen ”router” används, om några."
-#: src/libnmc-setting/settings-docs.h.in:181
+#: src/libnmc-setting/settings-docs.h.in:184
msgid ""
"Enable and disable the IPv4 link-local configuration independently of the "
"ipv4.method configuration. This allows a link-local address (169.254.x.y/16) "
@@ -8359,8 +8432,8 @@ msgstr ""
"till \"auto\". Observera att om \"ipv4.method\" är \"inaktiverad\", så är "
"länklokaladressering alltid inaktiverad också. Standard är \"default\"."
-#: src/libnmc-setting/settings-docs.h.in:182
-#: src/libnmc-setting/settings-docs.h.in:211
+#: src/libnmc-setting/settings-docs.h.in:185
+#: src/libnmc-setting/settings-docs.h.in:215
msgid ""
"If TRUE, allow overall network configuration to proceed even if the "
"configuration specified by this property times out. Note that at least one "
@@ -8377,12 +8450,12 @@ msgstr ""
"nätverkskonfigurationen lyckas om IPv4-konfigurationen misslyckas men IPv6-"
"konfigurationen lyckas."
-#: src/libnmc-setting/settings-docs.h.in:183
+#: src/libnmc-setting/settings-docs.h.in:186
msgid "The IPv4 connection method."
msgstr "IPv4-anslutningsmetoden."
-#: src/libnmc-setting/settings-docs.h.in:184
-#: src/libnmc-setting/settings-docs.h.in:214
+#: src/libnmc-setting/settings-docs.h.in:187
+#: src/libnmc-setting/settings-docs.h.in:218
msgid ""
"If TRUE, this connection will never be the default connection for this IP "
"type, meaning it will never be assigned the default route by NetworkManager."
@@ -8391,8 +8464,8 @@ msgstr ""
"IP-typ, vilket betyder att den inte kommer att tilldelas standardrutt av "
"Nätverkshanteraren."
-#: src/libnmc-setting/settings-docs.h.in:185
-#: src/libnmc-setting/settings-docs.h.in:216
+#: src/libnmc-setting/settings-docs.h.in:188
+#: src/libnmc-setting/settings-docs.h.in:220
msgid ""
"Connections will default to keep the autogenerated priority 0 local rule "
"unless this setting is set to TRUE."
@@ -8400,8 +8473,8 @@ msgstr ""
"Anslutningar kommer som standard att behålla den autogenererade prioritet 0 "
"lokala regeln om inte denna inställning är satt till TRUE."
-#: src/libnmc-setting/settings-docs.h.in:186
-#: src/libnmc-setting/settings-docs.h.in:217
+#: src/libnmc-setting/settings-docs.h.in:189
+#: src/libnmc-setting/settings-docs.h.in:221
msgid ""
"The minimum time interval in milliseconds for which dynamic IP configuration "
"should be tried before the connection succeeds. This property is useful for "
@@ -8428,8 +8501,8 @@ msgstr ""
"standardvärdet (antingen konfiguration ipvx.required-timeout override eller "
"noll)."
-#: src/libnmc-setting/settings-docs.h.in:187
-#: src/libnmc-setting/settings-docs.h.in:218
+#: src/libnmc-setting/settings-docs.h.in:190
+#: src/libnmc-setting/settings-docs.h.in:222
msgid ""
"The default metric for routes that don't explicitly specify a metric. The "
"default value -1 means that the metric is chosen automatically based on the "
@@ -8448,8 +8521,8 @@ msgstr ""
"betyder alltså att sätta den till 1024. För IPv4 är 0 ett vanligt värde för "
"mätvärdet."
-#: src/libnmc-setting/settings-docs.h.in:188
-#: src/libnmc-setting/settings-docs.h.in:219
+#: src/libnmc-setting/settings-docs.h.in:191
+#: src/libnmc-setting/settings-docs.h.in:223
msgid ""
"Enable policy routing (source routing) and set the routing table used when "
"adding routes. This affects all routes, including device-routes, IPv4LL, "
@@ -8480,7 +8553,7 @@ msgstr ""
"förutom huvudtabellen. Detta är för att bibehålla bakåtkompatibilitet för "
"användare som hanterar ruttabeller utanför Nätverkshanteraren."
-#: src/libnmc-setting/settings-docs.h.in:189
+#: src/libnmc-setting/settings-docs.h.in:192
msgid ""
"A list of IPv4 destination addresses, prefix length, optional IPv4 next hop "
"addresses, optional route metric, optional attribute. The valid syntax is: "
@@ -8492,12 +8565,12 @@ msgstr ""
"är: \"ip[/prefix] [next-hop] [metric] [attribut=val]...[,ip[/prefix]...]\". "
"Till exempel \"192.0.2.0/24 10.1.1.1 77, 198.51.100.0/24\"."
-#: src/libnmc-setting/settings-docs.h.in:190
-#: src/libnmc-setting/settings-docs.h.in:221
+#: src/libnmc-setting/settings-docs.h.in:193
+#: src/libnmc-setting/settings-docs.h.in:225
msgid "A comma separated list of routing rules for policy routing."
msgstr "En kommaseparerad lista med routingregler för policyrouting."
-#: src/libnmc-setting/settings-docs.h.in:191
+#: src/libnmc-setting/settings-docs.h.in:194
msgid ""
"Configure method for creating the IPv6 interface identifer of addresses with "
"RFC4862 IPv6 Stateless Address Autoconfiguration and Link Local addresses. "
@@ -8551,7 +8624,7 @@ msgstr ""
"konfigurerats av \"ip6-privacy\"-egenskapen och den påverkar inte de "
"tillfälliga adresserna som konfigurerats med det här alternativet."
-#: src/libnmc-setting/settings-docs.h.in:192
+#: src/libnmc-setting/settings-docs.h.in:195
msgid ""
"A list of IPv6 addresses and their prefix length. Multiple addresses can be "
"separated by comma. For example \"2001:db8:85a3::8a2e:370:7334/64, 2001:"
@@ -8565,7 +8638,7 @@ msgstr ""
"betyder att den första adressen kommer att vara den primära adressen. Detta "
"kan göra skillnad med val av IPv6-källadress (RFC 6724, avsnitt 5)."
-#: src/libnmc-setting/settings-docs.h.in:195
+#: src/libnmc-setting/settings-docs.h.in:199
msgid ""
"A string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp "
"client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried "
@@ -8619,7 +8692,7 @@ msgstr ""
"det globala värdet för ”ipv6.dhcp-duid”. Om inget globalt värde "
"tillhandahålls används standardvärdet ”lease”."
-#: src/libnmc-setting/settings-docs.h.in:199
+#: src/libnmc-setting/settings-docs.h.in:203
msgid ""
"A IPv6 address followed by a slash and a prefix length. If set, the value is "
"sent to the DHCPv6 server as hint indicating the prefix delegation (IA_PD) "
@@ -8632,7 +8705,7 @@ msgstr ""
"prefixlängd utan prefix, ställ in adressdelen till nolladressen (till "
"exempel \"::/60\")."
-#: src/libnmc-setting/settings-docs.h.in:204
+#: src/libnmc-setting/settings-docs.h.in:208
msgid ""
"DNS options for /etc/resolv.conf as described in resolv.conf(5) manual. The "
"currently supported options are \"attempts\", \"debug\", \"edns0\", "
@@ -8667,7 +8740,7 @@ msgstr ""
"ad\" till automatiskt. De giltiga \"ipv4.dns-options\" och \"ipv6.dns-"
"options\" slås samman."
-#: src/libnmc-setting/settings-docs.h.in:210
+#: src/libnmc-setting/settings-docs.h.in:214
msgid ""
"Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941. If "
"enabled, it makes the kernel generate a temporary IPv6 address in addition "
@@ -8697,11 +8770,11 @@ msgstr ""
"inställningen ”stable-privacy” för egenskapen ”addr-gen-mode” som ett annat "
"sätt att undvika värdspårning med IPv6-adresser."
-#: src/libnmc-setting/settings-docs.h.in:212
+#: src/libnmc-setting/settings-docs.h.in:216
msgid "The IPv6 connection method."
msgstr "IPv6-anslutningsmetoden."
-#: src/libnmc-setting/settings-docs.h.in:213
+#: src/libnmc-setting/settings-docs.h.in:217
msgid ""
"Maximum transmission unit size, in bytes. If zero (the default), the MTU is "
"set automatically from router advertisements or is left equal to the link-"
@@ -8713,7 +8786,7 @@ msgstr ""
"Om det är större än länkskiktets MTU, eller större än noll men mindre än den "
"lägsta IPv6 MTU på 1280, har detta värde ingen effekt."
-#: src/libnmc-setting/settings-docs.h.in:215
+#: src/libnmc-setting/settings-docs.h.in:219
msgid ""
"A timeout for waiting Router Advertisements in seconds. If zero (the "
"default), a globally configured default is used. If still unspecified, the "
@@ -8725,11 +8798,11 @@ msgstr ""
"ospecificerat beror timeouten på enhetens sysctl-inställningar. Ställ in på "
"2147483647 (MAXINT32) för oändlighet."
-#: src/libnmc-setting/settings-docs.h.in:220
+#: src/libnmc-setting/settings-docs.h.in:224
msgid "Array of IP routes."
msgstr "Vektor av IP-rutter."
-#: src/libnmc-setting/settings-docs.h.in:222
+#: src/libnmc-setting/settings-docs.h.in:226
msgid ""
"Configure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 "
"tokenized interface identifiers. Useful with eui64 addr-gen-mode. When set, "
@@ -8743,7 +8816,7 @@ msgstr ""
"för hårdvaruadressen. Detta gäller endast adresser från tillståndslös "
"autokonfiguration, inte lokala IPv6-länkadresser."
-#: src/libnmc-setting/settings-docs.h.in:223
+#: src/libnmc-setting/settings-docs.h.in:227
msgid ""
"How many additional levels of encapsulation are permitted to be prepended to "
"packets. This property applies only to IPv6 tunnels. To disable this option, "
@@ -8753,7 +8826,7 @@ msgstr ""
"här egenskapen gäller endast IPv6-tunnlar. För att inaktivera det här "
"alternativet, lägg till 0x1 (ip6-ign-encap-limit) till ip-tunnelflaggor."
-#: src/libnmc-setting/settings-docs.h.in:224
+#: src/libnmc-setting/settings-docs.h.in:228
msgid ""
"Tunnel flags. Currently, the following values are supported: 0x1 (ip6-ign-"
"encap-limit), 0x2 (ip6-use-orig-tclass), 0x4 (ip6-use-orig-flowlabel), 0x8 "
@@ -8765,7 +8838,7 @@ msgstr ""
"mip6-dev), 0x10 (ip6-rcv-dscp-copy) och 0x20 (ip6-use-orig-fwmark). De är "
"endast giltiga för IPv6-tunnlar."
-#: src/libnmc-setting/settings-docs.h.in:225
+#: src/libnmc-setting/settings-docs.h.in:229
msgid ""
"The flow label to assign to tunnel packets. This property applies only to "
"IPv6 tunnels."
@@ -8773,7 +8846,7 @@ msgstr ""
"Flödesetiketten att tilldela tunnelpaket till. Egenskapen gäller bara IPv6-"
"tunnlar."
-#: src/libnmc-setting/settings-docs.h.in:226
+#: src/libnmc-setting/settings-docs.h.in:230
msgid ""
"The fwmark value to assign to tunnel packets. This property can be set to a "
"non zero value only on VTI and VTI6 tunnels."
@@ -8781,7 +8854,7 @@ msgstr ""
"Fwmark-värdet att tilldela tunnelpaket. Den här egenskapen kan endast "
"ställas in på ett värde som inte är noll på VTI- och VTI6-tunnlar."
-#: src/libnmc-setting/settings-docs.h.in:227
+#: src/libnmc-setting/settings-docs.h.in:231
msgid ""
"The key used for tunnel input packets; the property is valid only for "
"certain tunnel modes (GRE, IP6GRE). If empty, no key is used."
@@ -8789,7 +8862,7 @@ msgstr ""
"Nyckel använd för tunnelindatapaket; egenskapen är giltig endast för "
"specifika tunnellägen (GRE, IP6GRE). Om tom används ingen nyckel."
-#: src/libnmc-setting/settings-docs.h.in:228
+#: src/libnmc-setting/settings-docs.h.in:232
msgid ""
"The local endpoint of the tunnel; the value can be empty, otherwise it must "
"contain an IPv4 or IPv6 address."
@@ -8797,7 +8870,7 @@ msgstr ""
"Lokal ändpunkt för tunneln; värdet kan vara tomt, annars måste det innehålla "
"en IPv4- eller IPv6-adress."
-#: src/libnmc-setting/settings-docs.h.in:229
+#: src/libnmc-setting/settings-docs.h.in:233
msgid ""
"The tunneling mode. Valid values: ipip (1), gre (2), sit (3), isatap (4), "
"vti (5), ip6ip6 (6), ipip6 (7), ip6gre (8), vti6 (9), gretap (10) and "
@@ -8806,7 +8879,7 @@ msgstr ""
"Tunnelläge. Giltiga värden: ipip (1), gre (2), sit (3), isatap (4), vti (5), "
"ip6ip6 (6), ipip6 (7), ip6gre (8), vti6 (9), gretap (10) och ip6gretap (11)"
-#: src/libnmc-setting/settings-docs.h.in:230
+#: src/libnmc-setting/settings-docs.h.in:234
msgid ""
"If non-zero, only transmit packets of the specified size or smaller, "
"breaking larger packets up into multiple fragments."
@@ -8814,7 +8887,7 @@ msgstr ""
"Om nollskilt, överför endast paket av angiven storlek eller mindre, och bryt "
"upp större paket i mindre delar."
-#: src/libnmc-setting/settings-docs.h.in:231
+#: src/libnmc-setting/settings-docs.h.in:235
msgid ""
"The key used for tunnel output packets; the property is valid only for "
"certain tunnel modes (GRE, IP6GRE). If empty, no key is used."
@@ -8822,7 +8895,7 @@ msgstr ""
"Nyckeln använd för tunnelutdatapaket; egenskapen är endast giltig för vissa "
"speciella tunnellägen (GRE, IP6GRE). Om tomt används ingen nyckel."
-#: src/libnmc-setting/settings-docs.h.in:232
+#: src/libnmc-setting/settings-docs.h.in:236
msgid ""
"If given, specifies the parent interface name or parent connection UUID the "
"new device will be bound to so that tunneled packets will only be routed via "
@@ -8832,11 +8905,11 @@ msgstr ""
"anslutnings-UUID som den nya enheten kommer att bindas till så att tunnlade "
"paket endast tar rutten via det gränssnittet."
-#: src/libnmc-setting/settings-docs.h.in:233
+#: src/libnmc-setting/settings-docs.h.in:237
msgid "Whether to enable Path MTU Discovery on this tunnel."
msgstr "Huruvida Path MTU Discovery ska aktiveras för denna tunnel."
-#: src/libnmc-setting/settings-docs.h.in:234
+#: src/libnmc-setting/settings-docs.h.in:238
msgid ""
"The remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 "
"address."
@@ -8844,7 +8917,7 @@ msgstr ""
"Fjärrändpunkten för tunneln; värdet måste innehålla en IPv4- eller IPv6-"
"adress."
-#: src/libnmc-setting/settings-docs.h.in:235
+#: src/libnmc-setting/settings-docs.h.in:239
msgid ""
"The type of service (IPv4) or traffic class (IPv6) field to be set on "
"tunneled packets."
@@ -8852,7 +8925,7 @@ msgstr ""
"Typen av fält för tjänst (IPv4) eller trafikklass (IPv6) att sätta på "
"tunnlade paket."
-#: src/libnmc-setting/settings-docs.h.in:236
+#: src/libnmc-setting/settings-docs.h.in:240
msgid ""
"The TTL to assign to tunneled packets. 0 is a special value meaning that "
"packets inherit the TTL value."
@@ -8860,11 +8933,11 @@ msgstr ""
"TTL att tilldela till tunnlade paket. 0 är ett speciellt värde som betyder "
"att paket ärver TTL-värdet."
-#: src/libnmc-setting/settings-docs.h.in:237
+#: src/libnmc-setting/settings-docs.h.in:241
msgid "Whether the transmitted traffic must be encrypted."
msgstr "Huruvida den överförda trafiken måste vara krypterad."
-#: src/libnmc-setting/settings-docs.h.in:238
+#: src/libnmc-setting/settings-docs.h.in:242
msgid ""
"The pre-shared CAK (Connectivity Association Key) for MACsec Key Agreement. "
"Must be a string of 32 hexadecimal characters."
@@ -8872,11 +8945,11 @@ msgstr ""
"Det fördelade CAK (Connectivity Association Key) för MACsec-"
"nyckelöverenskommelse. Måste vara en sträng med 32 hexadecimala tecken."
-#: src/libnmc-setting/settings-docs.h.in:239
+#: src/libnmc-setting/settings-docs.h.in:243
msgid "Flags indicating how to handle the \"mka-cak\" property."
msgstr "Flaggor vilka indikerar hur egenskapen ”mka-cak” ska hanteras."
-#: src/libnmc-setting/settings-docs.h.in:240
+#: src/libnmc-setting/settings-docs.h.in:244
msgid ""
"The pre-shared CKN (Connectivity-association Key Name) for MACsec Key "
"Agreement. Must be a string of hexadecimal characters with a even length "
@@ -8886,7 +8959,7 @@ msgstr ""
"nyckelöverenskommelse. Måste vara en sträng med hexadecimala tecken med en "
"jämn längd mellan 2 och 64."
-#: src/libnmc-setting/settings-docs.h.in:241
+#: src/libnmc-setting/settings-docs.h.in:245
msgid ""
"Specifies how the CAK (Connectivity Association Key) for MKA (MACsec Key "
"Agreement) is obtained."
@@ -8894,7 +8967,7 @@ msgstr ""
"Specificerar hur CAK (Connectivity Association Key) för MKA (MACsec-"
"nyckelöverenskommelse) erhålls."
-#: src/libnmc-setting/settings-docs.h.in:242
+#: src/libnmc-setting/settings-docs.h.in:246
msgid ""
"If given, specifies the parent interface name or parent connection UUID from "
"which this MACSEC interface should be created. If this property is not "
@@ -8906,14 +8979,14 @@ msgstr ""
"är angiven måste anslutningen innehålla en inställning ”802-3-ethernet” med "
"egenskapen ”mac-address”."
-#: src/libnmc-setting/settings-docs.h.in:243
+#: src/libnmc-setting/settings-docs.h.in:247
msgid ""
"The port component of the SCI (Secure Channel Identifier), between 1 and "
"65534."
msgstr ""
"Portkomponenten för SCI (Secure Channel Identifier), mellan 1 och 65534."
-#: src/libnmc-setting/settings-docs.h.in:244
+#: src/libnmc-setting/settings-docs.h.in:248
msgid ""
"Specifies whether the SCI (Secure Channel Identifier) is included in every "
"packet."
@@ -8921,19 +8994,19 @@ msgstr ""
"Specificerar huruvida SCI (Secure Channel Identifier) inkluderas i varje "
"paket."
-#: src/libnmc-setting/settings-docs.h.in:245
+#: src/libnmc-setting/settings-docs.h.in:249
msgid "Specifies the validation mode for incoming frames."
msgstr "Specificerar valideringsläge för inkommande ramar."
-#: src/libnmc-setting/settings-docs.h.in:246
+#: src/libnmc-setting/settings-docs.h.in:250
msgid ""
"The macvlan mode, which specifies the communication mechanism between "
"multiple macvlans on the same lower device."
msgstr ""
-"macvlan-läge som specificerar kommunikationsmekanismen mellan flera macvlan "
+"Macvlan-läge som specificerar kommunikationsmekanismen mellan flera macvlan "
"på samma lägre enhet."
-#: src/libnmc-setting/settings-docs.h.in:247
+#: src/libnmc-setting/settings-docs.h.in:251
msgid ""
"If given, specifies the parent interface name or parent connection UUID from "
"which this MAC-VLAN interface should be created. If this property is not "
@@ -8945,15 +9018,15 @@ msgstr ""
"inte är angiven måste anslutningen innehålla en inställning ”802-3-ethernet” "
"med egenskapen ”mac-address”."
-#: src/libnmc-setting/settings-docs.h.in:248
+#: src/libnmc-setting/settings-docs.h.in:252
msgid "Whether the interface should be put in promiscuous mode."
msgstr "Huruvida gränssnittet ska vara i promiskuöst läge."
-#: src/libnmc-setting/settings-docs.h.in:249
+#: src/libnmc-setting/settings-docs.h.in:253
msgid "Whether the interface should be a MACVTAP."
msgstr "Huruvida gränssnittet ska vara MACVTAP."
-#: src/libnmc-setting/settings-docs.h.in:250
+#: src/libnmc-setting/settings-docs.h.in:254
msgid ""
"A list of driver names to match. Each element is a shell wildcard pattern. "
"See NMSettingMatch:interface-name for how special characters '|', '&', '!' "
@@ -8965,7 +9038,7 @@ msgstr ""
"'|', '&', '!' och '\\' används för valfria och obligatoriska matchningar och "
"invertering av mönstret."
-#: src/libnmc-setting/settings-docs.h.in:251
+#: src/libnmc-setting/settings-docs.h.in:255
msgid ""
"A list of interface names to match. Each element is a shell wildcard "
"pattern. An element can be prefixed with a pipe symbol (|) or an ampersand "
@@ -8996,7 +9069,7 @@ msgstr ""
"mönstret. Till exempel är \"&\\!a\" en obligatorisk matchning för "
"bokstavligen \"!a\"."
-#: src/libnmc-setting/settings-docs.h.in:252
+#: src/libnmc-setting/settings-docs.h.in:256
msgid ""
"A list of kernel command line arguments to match. This may be used to check "
"whether a specific kernel command line option is set (or unset, if prefixed "
@@ -9019,7 +9092,7 @@ msgstr ""
"specialtecken '|', '&', '!' och '\\' används för valfria och obligatoriska "
"matchningar och invertering av matchningen."
-#: src/libnmc-setting/settings-docs.h.in:253
+#: src/libnmc-setting/settings-docs.h.in:257
msgid ""
"A list of paths to match against the ID_PATH udev property of devices. "
"ID_PATH represents the topological persistent path of a device. It typically "
@@ -9046,11 +9119,11 @@ msgstr ""
"'|', '&', '!' och '\\' används för valfria och obligatoriska matchningar och "
"invertering av mönstret."
-#: src/libnmc-setting/settings-docs.h.in:254
+#: src/libnmc-setting/settings-docs.h.in:258
msgid "Channel on which the mesh network to join is located."
msgstr "Kanalen på vilken meshnätverket att ansluta till finns."
-#: src/libnmc-setting/settings-docs.h.in:255
+#: src/libnmc-setting/settings-docs.h.in:259
msgid ""
"Anycast DHCP MAC address used when requesting an IP address via DHCP. The "
"specific anycast address used determines which DHCP server class answers the "
@@ -9061,35 +9134,35 @@ msgstr ""
"svarar på begäran. Detta är för närvarande endast implementerat av dhclient "
"DHCP-plugin."
-#: src/libnmc-setting/settings-docs.h.in:256
+#: src/libnmc-setting/settings-docs.h.in:260
msgid "SSID of the mesh network to join."
msgstr "SSID för meshnätverket att ansluta till."
-#: src/libnmc-setting/settings-docs.h.in:257
+#: src/libnmc-setting/settings-docs.h.in:261
msgid "The data path type. One of \"system\", \"netdev\" or empty."
msgstr "Datasökvägstypen. En av \"system\", \"netdev\" eller tom."
-#: src/libnmc-setting/settings-docs.h.in:258
+#: src/libnmc-setting/settings-docs.h.in:262
msgid "The bridge failure mode. One of \"secure\", \"standalone\" or empty."
msgstr "Felläget för brygga. En av \"secure\", \"standalone\" eller tomt."
-#: src/libnmc-setting/settings-docs.h.in:259
+#: src/libnmc-setting/settings-docs.h.in:263
msgid "Enable or disable multicast snooping."
msgstr "Aktivera eller inaktivera multicast-avlyssning."
-#: src/libnmc-setting/settings-docs.h.in:260
+#: src/libnmc-setting/settings-docs.h.in:264
msgid "Enable or disable RSTP."
msgstr "Aktivera eller inaktivera RSTP."
-#: src/libnmc-setting/settings-docs.h.in:261
+#: src/libnmc-setting/settings-docs.h.in:265
msgid "Enable or disable STP."
msgstr "Aktivera eller inaktivera STP."
-#: src/libnmc-setting/settings-docs.h.in:262
+#: src/libnmc-setting/settings-docs.h.in:266
msgid "Open vSwitch DPDK device arguments."
msgstr "Open vSwitch DPDK-enhetsargument."
-#: src/libnmc-setting/settings-docs.h.in:263
+#: src/libnmc-setting/settings-docs.h.in:267
msgid ""
"Open vSwitch DPDK number of rx queues. Defaults to zero which means to leave "
"the parameter in OVS unspecified and effectively configures one queue."
@@ -9098,7 +9171,7 @@ msgstr ""
"innebär att parametern i OVS ska vara ospecificerad och konfigurerar "
"effektivt en kö."
-#: src/libnmc-setting/settings-docs.h.in:264
+#: src/libnmc-setting/settings-docs.h.in:268
msgid ""
"The rx queue size (number of rx descriptors) for DPDK ports. Must be zero or "
"a power of 2 between 1 and 4096, and supported by the hardware. Defaults to "
@@ -9110,7 +9183,7 @@ msgstr ""
"Standardinställningen är noll vilket innebär att parametern i OVS ska vara "
"ospecificerad och konfigurerar effektivt 2048 deskriptorer."
-#: src/libnmc-setting/settings-docs.h.in:265
+#: src/libnmc-setting/settings-docs.h.in:269
msgid ""
"The tx queue size (number of tx descriptors) for DPDK ports. Must be zero or "
"a power of 2 between 1 and 4096, and supported by the hardware. Defaults to "
@@ -9122,7 +9195,7 @@ msgstr ""
"Standardinställningen är noll vilket innebär att parametern i OVS ska vara "
"ospecificerad och konfigurerar effektivt 2048 deskriptorer."
-#: src/libnmc-setting/settings-docs.h.in:266
+#: src/libnmc-setting/settings-docs.h.in:270
msgid ""
"Open vSwitch openflow port number. Defaults to zero which means that port "
"number will not be specified and it will be chosen randomly by ovs. OpenFlow "
@@ -9136,7 +9209,7 @@ msgstr ""
"OpenFlow-bearbetning och resten av nätverket. OpenFlow-switchar ansluter "
"logiskt till varandra via deras OpenFlow-portar."
-#: src/libnmc-setting/settings-docs.h.in:267
+#: src/libnmc-setting/settings-docs.h.in:271
msgid ""
"The interface type. Either \"internal\", \"system\", \"patch\", \"dpdk\", or "
"empty."
@@ -9144,7 +9217,7 @@ msgstr ""
"Gränssnittstypen. Antingen \"internal\" \"system\", \"patch\", \"dpdk\", "
"eller tom."
-#: src/libnmc-setting/settings-docs.h.in:268
+#: src/libnmc-setting/settings-docs.h.in:272
msgid ""
"Specifies the name of the interface for the other side of the patch. The "
"patch on the other side must also set this interface as peer."
@@ -9152,31 +9225,31 @@ msgstr ""
"Anger namnet på gränssnittet för den andra sidan av patchen. Patchen på "
"andra sidan måste också ställa in detta gränssnitt som peer."
-#: src/libnmc-setting/settings-docs.h.in:269
+#: src/libnmc-setting/settings-docs.h.in:273
msgid "The time port must be inactive in order to be considered down."
msgstr "Tiden som porten måste vara inaktiv för att anses vara nere."
-#: src/libnmc-setting/settings-docs.h.in:270
+#: src/libnmc-setting/settings-docs.h.in:274
msgid ""
"Bonding mode. One of \"active-backup\", \"balance-slb\", or \"balance-tcp\"."
msgstr ""
"Kombineringsläge. Ett av \"active-backup\", \"balance-slb\" eller \"balance-"
"tcp\"."
-#: src/libnmc-setting/settings-docs.h.in:271
+#: src/libnmc-setting/settings-docs.h.in:275
msgid "The time port must be active before it starts forwarding traffic."
msgstr ""
"Tiden som porten måste vara aktiv innan den börjar vidarebefordra trafik."
-#: src/libnmc-setting/settings-docs.h.in:272
+#: src/libnmc-setting/settings-docs.h.in:276
msgid "LACP mode. One of \"active\", \"off\", or \"passive\"."
msgstr "LACP-läget. En av \"active\", \"off\" eller \"passive\"."
-#: src/libnmc-setting/settings-docs.h.in:273
+#: src/libnmc-setting/settings-docs.h.in:277
msgid "The VLAN tag in the range 0-4095."
msgstr "VLAN-taggen i intervallet 0-4095."
-#: src/libnmc-setting/settings-docs.h.in:274
+#: src/libnmc-setting/settings-docs.h.in:278
msgid ""
"A list of VLAN ranges that this port trunks. The property is valid only for "
"ports with mode \"trunk\", \"native-tagged\", or \"native-untagged port\". "
@@ -9186,15 +9259,15 @@ msgstr ""
"giltig för portar med läge \"trunk\", \"native-tagged\" eller \"native-"
"untagged port\". Om den är tom, trunkar porten alla VLAN."
-#: src/libnmc-setting/settings-docs.h.in:275
+#: src/libnmc-setting/settings-docs.h.in:279
msgid ""
"The VLAN mode. One of \"access\", \"native-tagged\", \"native-untagged\", "
"\"trunk\", \"dot1q-tunnel\" or unset."
msgstr ""
"VLAN-läge. En av \"access\", \"native-tagged\", \"native-untagged\", "
-"\"trunk\", \"dot1q-tunnel\" eller inte satt"
+"\"trunk\", \"dot1q-tunnel\" eller inte satt."
-#: src/libnmc-setting/settings-docs.h.in:276
+#: src/libnmc-setting/settings-docs.h.in:280
msgid ""
"If non-zero, instruct pppd to set the serial port to the specified "
"baudrate. This value should normally be left as 0 to automatically choose "
@@ -9204,7 +9277,7 @@ msgstr ""
"baudhastigheten. Detta värde bör normalt lämnas som 0 för att automatiskt "
"välja hastighet."
-#: src/libnmc-setting/settings-docs.h.in:277
+#: src/libnmc-setting/settings-docs.h.in:281
msgid ""
"If TRUE, specify that pppd should set the serial port to use hardware flow "
"control with RTS and CTS signals. This value should normally be set to "
@@ -9214,7 +9287,7 @@ msgstr ""
"hårdvaruflödeskontroll med RTS- och CTS-signaler. Detta värde ska normalt "
"vara FALSE."
-#: src/libnmc-setting/settings-docs.h.in:278
+#: src/libnmc-setting/settings-docs.h.in:282
msgid ""
"If non-zero, instruct pppd to presume the connection to the peer has failed "
"if the specified number of LCP echo-requests go unanswered by the peer. The "
@@ -9226,7 +9299,7 @@ msgstr ""
"jämliken. Egenskapen ”lcp-echo-interval” måste också sättas till ett icke-"
"nollvärde om denna egenskap används."
-#: src/libnmc-setting/settings-docs.h.in:279
+#: src/libnmc-setting/settings-docs.h.in:283
msgid ""
"If non-zero, instruct pppd to send an LCP echo-request frame to the peer "
"every n seconds (where n is the specified value). Note that some PPP peers "
@@ -9238,7 +9311,7 @@ msgstr ""
"jämlikar kommer att svara på ekobegäran och en del inte, och det är inte "
"möjligt att automatiskt upptäcka detta."
-#: src/libnmc-setting/settings-docs.h.in:280
+#: src/libnmc-setting/settings-docs.h.in:284
msgid ""
"If TRUE, stateful MPPE is used. See pppd documentation for more information "
"on stateful MPPE."
@@ -9246,7 +9319,7 @@ msgstr ""
"Om TRUE används MPPE med tillstånd. Se dokumentationen för pppd för mer "
"information om MPPE med tillstånd."
-#: src/libnmc-setting/settings-docs.h.in:281
+#: src/libnmc-setting/settings-docs.h.in:285
msgid ""
"If non-zero, instruct pppd to request that the peer send packets no larger "
"than the specified size. If non-zero, the MRU should be between 128 and "
@@ -9256,18 +9329,18 @@ msgstr ""
"är större än den specificerade storleken. Om icke-noll ska MRU vara mellan "
"128 och 16384."
-#: src/libnmc-setting/settings-docs.h.in:282
+#: src/libnmc-setting/settings-docs.h.in:286
msgid ""
"If non-zero, instruct pppd to send packets no larger than the specified size."
msgstr ""
"Om icke-noll, instruera pppd att skicka paket inte större än den "
"specificerade storleken."
-#: src/libnmc-setting/settings-docs.h.in:283
+#: src/libnmc-setting/settings-docs.h.in:287
msgid "If TRUE, Van Jacobsen TCP header compression will not be requested."
msgstr "Om TRUE begärs ej Van Jacobsen TCP-huvudkomprimering."
-#: src/libnmc-setting/settings-docs.h.in:284
+#: src/libnmc-setting/settings-docs.h.in:288
msgid ""
"If TRUE, do not require the other side (usually the PPP server) to "
"authenticate itself to the client. If FALSE, require authentication from "
@@ -9277,35 +9350,35 @@ msgstr ""
"sig till klienten. Om FALSE, kräv autentisering från fjärrsidan. I de flesta "
"fall bör detta sättas till TRUE."
-#: src/libnmc-setting/settings-docs.h.in:285
+#: src/libnmc-setting/settings-docs.h.in:289
msgid "If TRUE, BSD compression will not be requested."
msgstr "Om TRUE kommer BSD-datakomprimering att begäras."
-#: src/libnmc-setting/settings-docs.h.in:286
+#: src/libnmc-setting/settings-docs.h.in:290
msgid "If TRUE, \"deflate\" compression will not be requested."
msgstr "Om TRUE kommer inte ”deflate”-datakomprimering att begäras."
-#: src/libnmc-setting/settings-docs.h.in:287
+#: src/libnmc-setting/settings-docs.h.in:291
msgid "If TRUE, the CHAP authentication method will not be used."
msgstr "Om TRUE kommer autentiseringsmetoden CHAP inte att användas."
-#: src/libnmc-setting/settings-docs.h.in:288
+#: src/libnmc-setting/settings-docs.h.in:292
msgid "If TRUE, the EAP authentication method will not be used."
msgstr "Om TRUE kommer autentiseringsmetoden EAP inte att användas."
-#: src/libnmc-setting/settings-docs.h.in:289
+#: src/libnmc-setting/settings-docs.h.in:293
msgid "If TRUE, the MSCHAP authentication method will not be used."
msgstr "Om TRUE kommer autentiseringsmetoden MSCHAP inte att användas."
-#: src/libnmc-setting/settings-docs.h.in:290
+#: src/libnmc-setting/settings-docs.h.in:294
msgid "If TRUE, the MSCHAPv2 authentication method will not be used."
msgstr "Om TRUE kommer autentiseringsmetoden MSCHAPv2 inte att användas."
-#: src/libnmc-setting/settings-docs.h.in:291
+#: src/libnmc-setting/settings-docs.h.in:295
msgid "If TRUE, the PAP authentication method will not be used."
msgstr "Om TRUE kommer autentiseringsmetoden PAP inte att användas."
-#: src/libnmc-setting/settings-docs.h.in:292
+#: src/libnmc-setting/settings-docs.h.in:296
msgid ""
"If TRUE, MPPE (Microsoft Point-to-Point Encryption) will be required for the "
"PPP session. If either 64-bit or 128-bit MPPE is not available the session "
@@ -9316,7 +9389,7 @@ msgstr ""
"sessionen att misslyckas. Observera att MPPE inte används på mobila "
"bredbandsanslutningar."
-#: src/libnmc-setting/settings-docs.h.in:293
+#: src/libnmc-setting/settings-docs.h.in:297
msgid ""
"If TRUE, 128-bit MPPE (Microsoft Point-to-Point Encryption) will be required "
"for the PPP session, and the \"require-mppe\" property must also be set to "
@@ -9326,7 +9399,7 @@ msgstr ""
"sessionen och egenskapen ”require-mppe” måste också sättas till TRUE. Om "
"128-bit MPPE inte är tillgängligt kommer sessionen att misslyckas."
-#: src/libnmc-setting/settings-docs.h.in:294
+#: src/libnmc-setting/settings-docs.h.in:298
msgid ""
"If given, specifies the parent interface name on which this PPPoE connection "
"should be created. If this property is not specified, the connection is "
@@ -9338,11 +9411,11 @@ msgstr ""
"anslutningen på gränssnittet angivet i ”interface-name” i "
"NMSettingConnection."
-#: src/libnmc-setting/settings-docs.h.in:295
+#: src/libnmc-setting/settings-docs.h.in:299
msgid "Password used to authenticate with the PPPoE service."
msgstr "Lösenord använt för att autentisera med PPPoE-tjänsten."
-#: src/libnmc-setting/settings-docs.h.in:297
+#: src/libnmc-setting/settings-docs.h.in:301
msgid ""
"If specified, instruct PPPoE to only initiate sessions with access "
"concentrators that provide the specified service. For most providers, this "
@@ -9354,19 +9427,19 @@ msgstr ""
"leverantörer ska detta vara tomt. Det krävs endast om det finns flera "
"åtkomstkoncentrationer eller en specifik tjänst krävs."
-#: src/libnmc-setting/settings-docs.h.in:298
+#: src/libnmc-setting/settings-docs.h.in:302
msgid "Username used to authenticate with the PPPoE service."
msgstr "Användarnamn som används för att autentisera mot PPPoE-tjänsten."
-#: src/libnmc-setting/settings-docs.h.in:299
+#: src/libnmc-setting/settings-docs.h.in:303
msgid "Whether the proxy configuration is for browser only."
msgstr "Huruvida proxykonfigurationen endast är för webbläsare."
-#: src/libnmc-setting/settings-docs.h.in:300
+#: src/libnmc-setting/settings-docs.h.in:304
msgid "Method for proxy configuration, Default is \"none\" (0)"
msgstr "Metod för proxykonfiguration, standard är \"ingen\" (0)"
-#: src/libnmc-setting/settings-docs.h.in:301
+#: src/libnmc-setting/settings-docs.h.in:305
msgid ""
"The PAC script. In the profile this must be an UTF-8 encoded javascript code "
"that defines a FindProxyForURL() function. When setting the property in "
@@ -9380,11 +9453,11 @@ msgstr ""
"innehållet i filen och ställa in skriptet. Prefixen \"file://\" och \"js://"
"\" stöds för att explicit skilja mellan de två."
-#: src/libnmc-setting/settings-docs.h.in:302
+#: src/libnmc-setting/settings-docs.h.in:306
msgid "PAC URL for obtaining PAC file."
msgstr "PAC-URL för att erhålla PAC-fil."
-#: src/libnmc-setting/settings-docs.h.in:303
+#: src/libnmc-setting/settings-docs.h.in:307
msgid ""
"Speed to use for communication over the serial port. Note that this value "
"usually has no effect for mobile broadband modems as they generally ignore "
@@ -9395,20 +9468,20 @@ msgstr ""
"eftersom de allmänt ignorerar hastighetsinställningar och använder högsta "
"tillgängliga hastighet."
-#: src/libnmc-setting/settings-docs.h.in:304
+#: src/libnmc-setting/settings-docs.h.in:308
msgid "Byte-width of the serial communication. The 8 in \"8n1\" for example."
msgstr "Bytebredd för den seriella kommunikationen. Till exempel 8 i ”8n1”."
-#: src/libnmc-setting/settings-docs.h.in:305
+#: src/libnmc-setting/settings-docs.h.in:309
msgid "Parity setting of the serial port."
msgstr "Paritetsinställning för serieporten."
-#: src/libnmc-setting/settings-docs.h.in:306
+#: src/libnmc-setting/settings-docs.h.in:310
msgid "Time to delay between each byte sent to the modem, in microseconds."
msgstr ""
"Tid att vänta mellan varje byte som skickas till modemet, i mikrosekunder."
-#: src/libnmc-setting/settings-docs.h.in:307
+#: src/libnmc-setting/settings-docs.h.in:311
msgid ""
"Number of stop bits for communication on the serial port. Either 1 or 2. "
"The 1 in \"8n1\" for example."
@@ -9416,7 +9489,7 @@ msgstr ""
"Antal stopp-bitar för kommunikation på serieporten. Antingen 1 eller 2. "
"Exempelvis 1 i ”8n1”."
-#: src/libnmc-setting/settings-docs.h.in:308
+#: src/libnmc-setting/settings-docs.h.in:312
msgid ""
"Whether to autoprobe virtual functions by a compatible driver. If set to "
"\"true\" (1), the kernel will try to bind VFs to a compatible driver and if "
@@ -9435,7 +9508,7 @@ msgstr ""
"\"default\" (-1), används den globala standarden; om den globala standarden "
"är ospecificerad antas den vara \"sant\" (1)."
-#: src/libnmc-setting/settings-docs.h.in:309
+#: src/libnmc-setting/settings-docs.h.in:313
msgid ""
"The total number of virtual functions to create. Note that when the sriov "
"setting is present NetworkManager enforces the number of virtual functions "
@@ -9449,7 +9522,7 @@ msgstr ""
"och återställer det vid avaktivering. För att förhindra ändringar av SR-IOV-"
"parametrar, lägg inte till en sriov-inställning till anslutningen."
-#: src/libnmc-setting/settings-docs.h.in:310
+#: src/libnmc-setting/settings-docs.h.in:314
msgid ""
"Array of virtual function descriptors. Each VF descriptor is a dictionary "
"mapping attribute names to GVariant values. The 'index' entry is mandatory "
@@ -9473,7 +9546,7 @@ msgstr ""
"varje deskriptor har formen \"ID[.PRIORITY[.PROTO]]\". PROTO kan vara "
"antingen 'q' för 802.1Q (standard) eller 'ad' för 802.1ad."
-#: src/libnmc-setting/settings-docs.h.in:311
+#: src/libnmc-setting/settings-docs.h.in:315
msgid ""
"Array of TC queueing disciplines. When the \"tc\" setting is present, qdiscs "
"from this property are applied upon activation. If the property is empty, "
@@ -9488,7 +9561,7 @@ msgstr ""
"kärnan enligt \"net.core.default_qdisc\" sysctl. Om \"tc\"-inställningen "
"inte finns, rör NetworkManager inte qdiscs som finns i gränssnittet."
-#: src/libnmc-setting/settings-docs.h.in:312
+#: src/libnmc-setting/settings-docs.h.in:316
msgid ""
"Array of TC traffic filters. When the \"tc\" setting is present, filters "
"from this property are applied upon activation. If the property is empty, "
@@ -9500,7 +9573,7 @@ msgstr ""
"NetworkManager bort alla filter. Om \"tc\"-inställningen inte finns, rör "
"NetworkManager inte filtren som finns på gränssnittet."
-#: src/libnmc-setting/settings-docs.h.in:313
+#: src/libnmc-setting/settings-docs.h.in:317
msgid ""
"The JSON configuration for the team network interface. The property should "
"contain raw JSON configuration data suitable for teamd, because the value is "
@@ -9512,8 +9585,8 @@ msgstr ""
"till teamd. Om ej specificerat används standardkonfigurationen. Se man teamd."
"conf för formatdetaljerna."
-#: src/libnmc-setting/settings-docs.h.in:314
-#: src/libnmc-setting/settings-docs.h.in:332
+#: src/libnmc-setting/settings-docs.h.in:318
+#: src/libnmc-setting/settings-docs.h.in:336
msgid ""
"Link watchers configuration for the connection: each link watcher is defined "
"by a dictionary, whose keys depend upon the selected link watcher. Available "
@@ -9533,23 +9606,23 @@ msgstr ""
"'source-host', 'validate-active', 'validate-incative', 'send-always'. Se "
"teamd.conf man för fler detaljer."
-#: src/libnmc-setting/settings-docs.h.in:315
+#: src/libnmc-setting/settings-docs.h.in:319
msgid "Corresponds to the teamd mcast_rejoin.count."
msgstr "Motsvarar teamd mcast_rejoin.count."
-#: src/libnmc-setting/settings-docs.h.in:316
+#: src/libnmc-setting/settings-docs.h.in:320
msgid "Corresponds to the teamd mcast_rejoin.interval."
msgstr "Motsvarar teamd mcast_rejoin.interval."
-#: src/libnmc-setting/settings-docs.h.in:317
+#: src/libnmc-setting/settings-docs.h.in:321
msgid "Corresponds to the teamd notify_peers.count."
msgstr "Motsvarar teamd notify_peers.count."
-#: src/libnmc-setting/settings-docs.h.in:318
+#: src/libnmc-setting/settings-docs.h.in:322
msgid "Corresponds to the teamd notify_peers.interval."
msgstr "Motsvarar teamd notify_peers.interval."
-#: src/libnmc-setting/settings-docs.h.in:319
+#: src/libnmc-setting/settings-docs.h.in:323
msgid ""
"Corresponds to the teamd runner.name. Permitted values are: \"roundrobin\", "
"\"broadcast\", \"activebackup\", \"loadbalance\", \"lacp\", \"random\"."
@@ -9557,43 +9630,43 @@ msgstr ""
"Motsvarar teamet runner.name. Tillåtna värden är: \"roundrobin\", "
"\"broadcast\", \"activebackup\", \"loadbalance\", \"lacp\", \"random\"."
-#: src/libnmc-setting/settings-docs.h.in:320
+#: src/libnmc-setting/settings-docs.h.in:324
msgid "Corresponds to the teamd runner.active."
msgstr "Motsvarar teamd runner.active."
-#: src/libnmc-setting/settings-docs.h.in:321
+#: src/libnmc-setting/settings-docs.h.in:325
msgid "Corresponds to the teamd runner.agg_select_policy."
msgstr "Motsvarar teamd runner.agg_select_policy."
-#: src/libnmc-setting/settings-docs.h.in:322
+#: src/libnmc-setting/settings-docs.h.in:326
msgid "Corresponds to the teamd runner.fast_rate."
msgstr "Motsvarar teamd runner.fast_rate."
-#: src/libnmc-setting/settings-docs.h.in:323
+#: src/libnmc-setting/settings-docs.h.in:327
msgid "Corresponds to the teamd runner.hwaddr_policy."
msgstr "Motsvarar teamd runner.hwaddr_policy."
-#: src/libnmc-setting/settings-docs.h.in:324
+#: src/libnmc-setting/settings-docs.h.in:328
msgid "Corresponds to the teamd runner.min_ports."
msgstr "Motsvarar teamd runner.min_ports."
-#: src/libnmc-setting/settings-docs.h.in:325
+#: src/libnmc-setting/settings-docs.h.in:329
msgid "Corresponds to the teamd runner.sys_prio."
msgstr "Motsvarar teamd runner.sys_prio."
-#: src/libnmc-setting/settings-docs.h.in:326
+#: src/libnmc-setting/settings-docs.h.in:330
msgid "Corresponds to the teamd runner.tx_balancer.name."
msgstr "Motsvarar teamd runner.tx_balancer.name."
-#: src/libnmc-setting/settings-docs.h.in:327
+#: src/libnmc-setting/settings-docs.h.in:331
msgid "Corresponds to the teamd runner.tx_balancer.interval."
msgstr "Motsvarar teamd runner.tx_balancer.interval."
-#: src/libnmc-setting/settings-docs.h.in:328
+#: src/libnmc-setting/settings-docs.h.in:332
msgid "Corresponds to the teamd runner.tx_hash."
msgstr "Motsvarar teamd runner.tx_hash."
-#: src/libnmc-setting/settings-docs.h.in:329
+#: src/libnmc-setting/settings-docs.h.in:333
msgid ""
"The JSON configuration for the team port. The property should contain raw "
"JSON configuration data suitable for teamd, because the value is passed "
@@ -9605,19 +9678,19 @@ msgstr ""
"teamd. Om ej specificerat används standardkonfigurationen. Se man teamd.conf "
"för formatdetaljerna."
-#: src/libnmc-setting/settings-docs.h.in:330
+#: src/libnmc-setting/settings-docs.h.in:334
msgid "Corresponds to the teamd ports.PORTIFNAME.lacp_key."
msgstr "Motsvarar teamd ports.PORTIFNAME.lacp_key."
-#: src/libnmc-setting/settings-docs.h.in:331
+#: src/libnmc-setting/settings-docs.h.in:335
msgid "Corresponds to the teamd ports.PORTIFNAME.lacp_prio."
msgstr "Motsvarar teamd ports.PORTIFNAME.lacp_prio."
-#: src/libnmc-setting/settings-docs.h.in:333
+#: src/libnmc-setting/settings-docs.h.in:337
msgid "Corresponds to the teamd ports.PORTIFNAME.prio."
msgstr "Motsvarar teamd ports.PORTIFNAME.prio."
-#: src/libnmc-setting/settings-docs.h.in:334
+#: src/libnmc-setting/settings-docs.h.in:338
msgid ""
"Corresponds to the teamd ports.PORTIFNAME.queue_id. When set to -1 means the "
"parameter is skipped from the json config."
@@ -9625,17 +9698,17 @@ msgstr ""
"Motsvarar teamd ports.PORTIFNAME.queue_id. Om satt till -1 betyder det att "
"parametern utelämnas från json-konfigurationen."
-#: src/libnmc-setting/settings-docs.h.in:335
+#: src/libnmc-setting/settings-docs.h.in:339
msgid "Corresponds to the teamd ports.PORTIFNAME.sticky."
msgstr "Motsvarar teamd ports.PORTIFNAME.sticky."
-#: src/libnmc-setting/settings-docs.h.in:336
+#: src/libnmc-setting/settings-docs.h.in:340
msgid ""
"The group ID which will own the device. If set to NULL everyone will be able "
"to use the device."
msgstr "Grupp-ID som äger enheten. Om satt till NULL kan alla använda enheten."
-#: src/libnmc-setting/settings-docs.h.in:337
+#: src/libnmc-setting/settings-docs.h.in:341
msgid ""
"The operating mode of the virtual device. Allowed values are \"tun\" (1) to "
"create a layer 3 device and \"tap\" (2) to create an Ethernet-like layer 2 "
@@ -9645,7 +9718,7 @@ msgstr ""
"att skapa en lager 3-enhet och \"tryck\" (2) för att skapa en Ethernet-"
"liknande lager 2 en."
-#: src/libnmc-setting/settings-docs.h.in:338
+#: src/libnmc-setting/settings-docs.h.in:342
msgid ""
"If the property is set to TRUE, the interface will support multiple file "
"descriptors (queues) to parallelize packet sending or receiving. Otherwise, "
@@ -9655,7 +9728,7 @@ msgstr ""
"fildeskriptorer (köer) för att parallellisera paketskickande eller "
"mottagande. Annars kommer gränssnittet endast att stödja en enda kö."
-#: src/libnmc-setting/settings-docs.h.in:339
+#: src/libnmc-setting/settings-docs.h.in:343
msgid ""
"The user ID which will own the device. If set to NULL everyone will be able "
"to use the device."
@@ -9663,7 +9736,7 @@ msgstr ""
"Användar-ID som kommer att äga enheten. Om satt till NULL kan alla använda "
"enheten."
-#: src/libnmc-setting/settings-docs.h.in:340
+#: src/libnmc-setting/settings-docs.h.in:344
msgid ""
"If TRUE the interface will prepend a 4 byte header describing the physical "
"interface to the packets."
@@ -9671,7 +9744,7 @@ msgstr ""
"Om TRUE kommer gränssnittet att prefixa ett huvud på 4 byte som beskriver "
"det fysiska gränssnittet för paketen."
-#: src/libnmc-setting/settings-docs.h.in:341
+#: src/libnmc-setting/settings-docs.h.in:345
msgid ""
"If TRUE the IFF_VNET_HDR the tunnel packets will include a virtio network "
"header."
@@ -9679,7 +9752,7 @@ msgstr ""
"Om TRUE kommer IFF_VNET_HDR-tunnelpaketen att inkludera ett virtio-"
"nätverkshuvud."
-#: src/libnmc-setting/settings-docs.h.in:342
+#: src/libnmc-setting/settings-docs.h.in:346
msgid ""
"A dictionary of key/value pairs with user data. This data is ignored by "
"NetworkManager and can be used at the users discretion. The keys only "
@@ -9691,7 +9764,7 @@ msgstr ""
"stöder bara strikt ascii-format, men värden kan vara godtyckliga UTF8-"
"strängar upp till en specifik längd."
-#: src/libnmc-setting/settings-docs.h.in:343
+#: src/libnmc-setting/settings-docs.h.in:347
msgid ""
"For outgoing packets, a list of mappings from Linux SKB priorities to 802.1p "
"priorities. The mapping is given in the format \"from:to\" where both "
@@ -9701,7 +9774,7 @@ msgstr ""
"802.1p-prioriteter. Mappningen ges i formatet ”från:till” där både ”från” "
"och ”till” är teckenlösa heltal, t.e.x. ”7:3”."
-#: src/libnmc-setting/settings-docs.h.in:344
+#: src/libnmc-setting/settings-docs.h.in:348
msgid ""
"One or more flags which control the behavior and features of the VLAN "
"interface. Flags include \"reorder-headers\" (0x1) (reordering of output "
@@ -9722,7 +9795,7 @@ msgstr ""
"standardvärdet i D-Bus API att vara 0 och en saknad egenskap på D-Bus anses "
"fortfarande vara 0."
-#: src/libnmc-setting/settings-docs.h.in:345
+#: src/libnmc-setting/settings-docs.h.in:349
msgid ""
"The VLAN identifier that the interface created by this connection should be "
"assigned. The valid range is from 0 to 4094, without the reserved id 4095."
@@ -9731,7 +9804,7 @@ msgstr ""
"tilldelas. Det giltiga intervallet är från 0 till 4094 utan det reserverade "
"id-värdet 4095."
-#: src/libnmc-setting/settings-docs.h.in:346
+#: src/libnmc-setting/settings-docs.h.in:350
msgid ""
"For incoming packets, a list of mappings from 802.1p priorities to Linux SKB "
"priorities. The mapping is given in the format \"from:to\" where both "
@@ -9741,7 +9814,7 @@ msgstr ""
"Linux SKB-prioriteter. Mappningen ges i formatet ”från:till” där både ”från” "
"och ”till” är teckenlösa heltal, t.e.x. ”7:3”."
-#: src/libnmc-setting/settings-docs.h.in:347
+#: src/libnmc-setting/settings-docs.h.in:351
msgid ""
"If given, specifies the parent interface name or parent connection UUID from "
"which this VLAN interface should be created. If this property is not "
@@ -9753,7 +9826,7 @@ msgstr ""
"angiven måste anslutningen innehålla en inställning ”802-3-ethernet” med "
"egenskapen ”mac-address”."
-#: src/libnmc-setting/settings-docs.h.in:348
+#: src/libnmc-setting/settings-docs.h.in:352
msgid ""
"Specifies the VLAN protocol to use for encapsulation. Supported values are: "
"'802.1Q', '802.1ad'. If not specified the default value is '802.1Q'."
@@ -9761,7 +9834,7 @@ msgstr ""
"Specificerar VLAN-protokollet som ska användas för inkapsling. Värden som "
"stöds är: '802.1Q', '802.1ad'. Om det inte anges är standardvärdet '802.1Q'."
-#: src/libnmc-setting/settings-docs.h.in:349
+#: src/libnmc-setting/settings-docs.h.in:353
msgid ""
"Dictionary of key/value pairs of VPN plugin specific data. Both keys and "
"values must be strings."
@@ -9769,7 +9842,7 @@ msgstr ""
"Lexikon för nyckel/värdepar av VPN-insticksmodulspecifik data. Både nycklar "
"och värden måste vara strängar."
-#: src/libnmc-setting/settings-docs.h.in:350
+#: src/libnmc-setting/settings-docs.h.in:354
msgid ""
"If the VPN service supports persistence, and this property is TRUE, the VPN "
"will attempt to stay connected across link changes and outages, until "
@@ -9779,7 +9852,7 @@ msgstr ""
"servern att försöka att fortsätta vara ansluten över länkändringar och "
"avbrott, tills den explicit kopplas från."
-#: src/libnmc-setting/settings-docs.h.in:351
+#: src/libnmc-setting/settings-docs.h.in:355
msgid ""
"Dictionary of key/value pairs of VPN plugin specific secrets like passwords "
"or private keys. Both keys and values must be strings."
@@ -9788,7 +9861,7 @@ msgstr ""
"som lösenord eller privata nycklar. Både nycklar och värden måste vara "
"strängar."
-#: src/libnmc-setting/settings-docs.h.in:352
+#: src/libnmc-setting/settings-docs.h.in:356
msgid ""
"D-Bus service name of the VPN plugin that this setting uses to connect to "
"its network. i.e. org.freedesktop.NetworkManager.vpnc for the vpnc plugin."
@@ -9797,7 +9870,7 @@ msgstr ""
"ansluta till dess nätverk, dvs org.freedesktop.NetworkManager.vpnc för vpnc-"
"insticket."
-#: src/libnmc-setting/settings-docs.h.in:353
+#: src/libnmc-setting/settings-docs.h.in:357
msgid ""
"Timeout for the VPN service to establish the connection. Some services may "
"take quite a long time to connect. Value of 0 means a default timeout, which "
@@ -9809,7 +9882,7 @@ msgstr ""
"standardtidsgräns, vilken är 60 sekunder (om inte åsidosatt av vpn.timeout i "
"konfigurationsfilen). Värden större än noll betyder tidsgräns i sekunder."
-#: src/libnmc-setting/settings-docs.h.in:354
+#: src/libnmc-setting/settings-docs.h.in:358
msgid ""
"If the VPN connection requires a user name for authentication, that name "
"should be provided here. If the connection is available to more than one "
@@ -9824,15 +9897,15 @@ msgstr ""
"tom. Om denna egenskap är tom kommer Nätverkshanteraren automatiskt att ge "
"användarnamnet för användaren som begärs av VPN-anslutningen."
-#: src/libnmc-setting/settings-docs.h.in:355
+#: src/libnmc-setting/settings-docs.h.in:359
msgid "The routing table for this VRF."
msgstr "Routingtabellen för denna VRF."
-#: src/libnmc-setting/settings-docs.h.in:356
+#: src/libnmc-setting/settings-docs.h.in:360
msgid "Specifies the lifetime in seconds of FDB entries learnt by the kernel."
msgstr "Specificerar livstiden för FDB-poster lärda av kärnan i sekunder."
-#: src/libnmc-setting/settings-docs.h.in:357
+#: src/libnmc-setting/settings-docs.h.in:361
msgid ""
"Specifies the UDP destination port to communicate to the remote VXLAN tunnel "
"endpoint."
@@ -9840,22 +9913,22 @@ msgstr ""
"Specificerar UDP-destinationsport att kommunicera med mot fjärr-VXLAN-"
"tunnelslutpunkten."
-#: src/libnmc-setting/settings-docs.h.in:358
+#: src/libnmc-setting/settings-docs.h.in:362
msgid ""
"Specifies the VXLAN Network Identifier (or VXLAN Segment Identifier) to use."
msgstr ""
"Specificerar VXLAN-nätverksidentifierare (eller VXLAN-segmentidentifierare) "
"att använda."
-#: src/libnmc-setting/settings-docs.h.in:359
+#: src/libnmc-setting/settings-docs.h.in:363
msgid "Specifies whether netlink LL ADDR miss notifications are generated."
msgstr "Specificerar huruvida netlink LL ADDR miss-aviseringar genereras."
-#: src/libnmc-setting/settings-docs.h.in:360
+#: src/libnmc-setting/settings-docs.h.in:364
msgid "Specifies whether netlink IP ADDR miss notifications are generated."
msgstr "Specificerar huruvida netlink IP ADDR miss-aviseringar genereras."
-#: src/libnmc-setting/settings-docs.h.in:361
+#: src/libnmc-setting/settings-docs.h.in:365
msgid ""
"Specifies whether unknown source link layer addresses and IP addresses are "
"entered into the VXLAN device forwarding database."
@@ -9863,7 +9936,7 @@ msgstr ""
"Huruvida okända källänklageradresser och IP-adresser är angivna i VXLAN-"
"enhetens databas för vidarebefordran."
-#: src/libnmc-setting/settings-docs.h.in:362
+#: src/libnmc-setting/settings-docs.h.in:366
msgid ""
"Specifies the maximum number of FDB entries. A value of zero means that the "
"kernel will store unlimited entries."
@@ -9871,20 +9944,20 @@ msgstr ""
"Högsta antal FDB-poster. Ett nollvärde betyder att kärnan kommer att lagra "
"obegränsat antal poster."
-#: src/libnmc-setting/settings-docs.h.in:363
+#: src/libnmc-setting/settings-docs.h.in:367
msgid "If given, specifies the source IP address to use in outgoing packets."
msgstr "Om angiven, IP-källadressen att använda i utgående paket."
-#: src/libnmc-setting/settings-docs.h.in:364
+#: src/libnmc-setting/settings-docs.h.in:368
msgid ""
"If given, specifies the parent interface name or parent connection UUID."
msgstr "Om angiven, föräldragränssnittet eller föräldraanslutningens UUID."
-#: src/libnmc-setting/settings-docs.h.in:365
+#: src/libnmc-setting/settings-docs.h.in:369
msgid "Specifies whether ARP proxy is turned on."
msgstr "Huruvida ARP-proxy är påslaget."
-#: src/libnmc-setting/settings-docs.h.in:366
+#: src/libnmc-setting/settings-docs.h.in:370
msgid ""
"Specifies the unicast destination IP address to use in outgoing packets when "
"the destination link layer address is not known in the VXLAN device "
@@ -9894,11 +9967,11 @@ msgstr ""
"destinationens länklageradress är okänd i VXLAN-enhetens "
"vidarebefordansdatabas, eller IP-adressen för multicast att gå med i."
-#: src/libnmc-setting/settings-docs.h.in:367
+#: src/libnmc-setting/settings-docs.h.in:371
msgid "Specifies whether route short circuit is turned on."
msgstr "Huruvida short circuit för rutter är påslaget."
-#: src/libnmc-setting/settings-docs.h.in:368
+#: src/libnmc-setting/settings-docs.h.in:372
msgid ""
"Specifies the maximum UDP source port to communicate to the remote VXLAN "
"tunnel endpoint."
@@ -9906,7 +9979,7 @@ msgstr ""
"Den högsta UDP-källporten att kommunicera med slutpunkten för VXLAN-"
"fjärrtunneln."
-#: src/libnmc-setting/settings-docs.h.in:369
+#: src/libnmc-setting/settings-docs.h.in:373
msgid ""
"Specifies the minimum UDP source port to communicate to the remote VXLAN "
"tunnel endpoint."
@@ -9914,15 +9987,15 @@ msgstr ""
"Den lägsta UDP-källporten att kommunicera med slutpunkten för VXLAN-"
"fjärrtunneln."
-#: src/libnmc-setting/settings-docs.h.in:370
+#: src/libnmc-setting/settings-docs.h.in:374
msgid "Specifies the TOS value to use in outgoing packets."
msgstr "Värdet för TOS i utgående paket."
-#: src/libnmc-setting/settings-docs.h.in:371
+#: src/libnmc-setting/settings-docs.h.in:375
msgid "Specifies the time-to-live value to use in outgoing packets."
msgstr "Värdet för time-to-live i utgående paket."
-#: src/libnmc-setting/settings-docs.h.in:372
+#: src/libnmc-setting/settings-docs.h.in:376
msgid ""
"The P2P device that should be connected to. Currently, this is the only way "
"to create or join a group."
@@ -9930,7 +10003,7 @@ msgstr ""
"P2P-enheten som ska anslutas till. För närvarande är detta det enda sättet "
"att skapa eller gå med i en grupp."
-#: src/libnmc-setting/settings-docs.h.in:373
+#: src/libnmc-setting/settings-docs.h.in:377
msgid ""
"The Wi-Fi Display (WFD) Information Elements (IEs) to set. Wi-Fi Display "
"requires a protocol specific information element to be set in certain Wi-Fi "
@@ -9944,7 +10017,7 @@ msgstr ""
"connection. This setting is only useful when implementing a Wi-Fi Display "
"client."
-#: src/libnmc-setting/settings-docs.h.in:374
+#: src/libnmc-setting/settings-docs.h.in:378
msgid ""
"Flags indicating which mode of WPS is to be used. There's little point in "
"changing the default setting as NetworkManager will automatically determine "
@@ -9954,7 +10027,7 @@ msgstr ""
"mening med att ändra standardinställningen eftersom NetworkManager "
"automatiskt avgör den bästa metoden att använda."
-#: src/libnmc-setting/settings-docs.h.in:375
+#: src/libnmc-setting/settings-docs.h.in:379
msgid ""
"If specified, this connection will only apply to the WiMAX device whose MAC "
"address matches. This property does not change the MAC address of the device "
@@ -9964,7 +10037,7 @@ msgstr ""
"enhet vars MAC-adress matchar. Den här egenskapen ändrar inte enhetens MAC-"
"adress (känd som MAC-spoofing)."
-#: src/libnmc-setting/settings-docs.h.in:376
+#: src/libnmc-setting/settings-docs.h.in:380
msgid ""
"Network Service Provider (NSP) name of the WiMAX network this connection "
"should use."
@@ -9972,7 +10045,7 @@ msgstr ""
"Nätverkstjänstleverantörens (NSP) namn på WiMAX-nätverket som denna "
"anslutning ska använda."
-#: src/libnmc-setting/settings-docs.h.in:377
+#: src/libnmc-setting/settings-docs.h.in:381
msgid ""
"When TRUE, setup the interface to accept packets for all MAC addresses. This "
"is enabling the kernel interface flag IFF_PROMISC. When FALSE, the interface "
@@ -9984,7 +10057,7 @@ msgstr ""
"accepterar gränssnittet endast paketen med gränssnittets destinations mac-"
"adress eller broadcast."
-#: src/libnmc-setting/settings-docs.h.in:378
+#: src/libnmc-setting/settings-docs.h.in:382
msgid ""
"When TRUE, enforce auto-negotiation of speed and duplex mode. If \"speed\" "
"and \"duplex\" properties are both specified, only that single mode will be "
@@ -10002,7 +10075,7 @@ msgstr ""
"obligatoriskt. Om FALSE bör egenskaperna ”speed” och ”duplex” båda anges, "
"annars uteblir länkkonfigurationen."
-#: src/libnmc-setting/settings-docs.h.in:379
+#: src/libnmc-setting/settings-docs.h.in:383
msgid ""
"If specified, request that the device use this MAC address instead. This is "
"known as MAC cloning or spoofing. Beside explicitly specifying a MAC "
@@ -10033,7 +10106,7 @@ msgstr ""
"fält uttryckt som ”assigned-mac-address” eller det föråldrade ”cloned-mac-"
"address”."
-#: src/libnmc-setting/settings-docs.h.in:380
+#: src/libnmc-setting/settings-docs.h.in:384
msgid ""
"When a value is set, either \"half\" or \"full\", configures the device to "
"use the specified duplex mode. If \"auto-negotiate\" is \"yes\" the "
@@ -10060,8 +10133,8 @@ msgstr ""
"satt tillsammans med egenskapen ”speed”. Innan specifikation av ett duplex-"
"läge, försäkra dig om att din enhet stöder det."
-#: src/libnmc-setting/settings-docs.h.in:381
-#: src/libnmc-setting/settings-docs.h.in:405
+#: src/libnmc-setting/settings-docs.h.in:385
+#: src/libnmc-setting/settings-docs.h.in:409
msgid ""
"With \"cloned-mac-address\" setting \"random\" or \"stable\", by default all "
"bits of the MAC address are scrambled and a locally-administered, unicast "
@@ -10111,7 +10184,7 @@ msgstr ""
"att skapa en helt omkastad MAC-adress, slumpmässigt globalt eller lokalt "
"administrerad."
-#: src/libnmc-setting/settings-docs.h.in:382
+#: src/libnmc-setting/settings-docs.h.in:386
msgid ""
"If specified, this connection will only apply to the Ethernet device whose "
"permanent MAC address matches. This property does not change the MAC address "
@@ -10121,7 +10194,7 @@ msgstr ""
"vars permanenta MAC-adress matchar. Denna egenskap kommer inte att ändra MAC-"
"adressen för enheten (d.v.s. MAC-förfalskning)."
-#: src/libnmc-setting/settings-docs.h.in:383
+#: src/libnmc-setting/settings-docs.h.in:387
msgid ""
"If specified, this connection will never apply to the Ethernet device whose "
"permanent MAC address matches an address in the list. Each MAC address is "
@@ -10132,9 +10205,9 @@ msgstr ""
"adress är i standardnotation med hexadecimala siffror och kolon "
"(00:11:22:33:44:55)."
-#: src/libnmc-setting/settings-docs.h.in:384
-#: src/libnmc-setting/settings-docs.h.in:411
-#: src/libnmc-setting/settings-docs.h.in:457
+#: src/libnmc-setting/settings-docs.h.in:388
+#: src/libnmc-setting/settings-docs.h.in:415
+#: src/libnmc-setting/settings-docs.h.in:461
msgid ""
"If non-zero, only transmit packets of the specified size or smaller, "
"breaking larger packets up into multiple Ethernet frames."
@@ -10142,7 +10215,7 @@ msgstr ""
"Om nollskilt, överför endast paket av angiven storlek och mindre, större "
"paket delas upp i flera Ethernet-ramar."
-#: src/libnmc-setting/settings-docs.h.in:385
+#: src/libnmc-setting/settings-docs.h.in:389
msgid ""
"Specific port type to use if the device supports multiple attachment "
"methods. One of \"tp\" (Twisted Pair), \"aui\" (Attachment Unit Interface), "
@@ -10154,7 +10227,7 @@ msgstr ""
"Ethernet) eller ”mii” (Media Independent Interface). Om enheten endast "
"stöder en porttyp ignoreras denna inställning."
-#: src/libnmc-setting/settings-docs.h.in:386
+#: src/libnmc-setting/settings-docs.h.in:390
msgid ""
"s390 network device type; one of \"qeth\", \"lcs\", or \"ctc\", representing "
"the different types of virtual network devices available on s390 systems."
@@ -10163,7 +10236,7 @@ msgstr ""
"olika typerna av virtuella nätverksenheter som finns tillgängliga på s390-"
"system."
-#: src/libnmc-setting/settings-docs.h.in:387
+#: src/libnmc-setting/settings-docs.h.in:391
msgid ""
"Dictionary of key/value pairs of s390-specific device options. Both keys "
"and values must be strings. Allowed keys include \"portno\", \"layer2\", "
@@ -10180,7 +10253,7 @@ msgstr ""
"en udev-regel som analyserar denna information och tillämpar den på "
"gränssnittet."
-#: src/libnmc-setting/settings-docs.h.in:388
+#: src/libnmc-setting/settings-docs.h.in:392
msgid ""
"Identifies specific subchannels that this network device uses for "
"communication with z/VM or s390 host. Like the \"mac-address\" property for "
@@ -10196,7 +10269,7 @@ msgstr ""
"subkanaler. Listan bör innehålla precis 3 strängar och varje sträng kan "
"endast bestå av hexadecimala tecken och punkttecknet (.)."
-#: src/libnmc-setting/settings-docs.h.in:389
+#: src/libnmc-setting/settings-docs.h.in:393
msgid ""
"When a value greater than 0 is set, configures the device to use the "
"specified speed. If \"auto-negotiate\" is \"yes\" the specified speed will "
@@ -10223,7 +10296,7 @@ msgstr ""
"tillsammans med egenskapen \"duplex\" när den inte är noll. Innan du anger "
"ett hastighetsvärde, se till att din enhet stöder det."
-#: src/libnmc-setting/settings-docs.h.in:390
+#: src/libnmc-setting/settings-docs.h.in:394
msgid ""
"The NMSettingWiredWakeOnLan options to enable. Not all devices support all "
"options. May be any combination of \"phy\" (0x2), \"unicast\" (0x4), "
@@ -10238,7 +10311,7 @@ msgstr ""
"att använda globala inställningar) och \"ignorera\" (0x8000) (för att "
"inaktivera hantering av Wake-on-LAN i NetworkManager)."
-#: src/libnmc-setting/settings-docs.h.in:391
+#: src/libnmc-setting/settings-docs.h.in:395
msgid ""
"If specified, the password used with magic-packet-based Wake-on-LAN, "
"represented as an Ethernet MAC address. If NULL, no password will be "
@@ -10248,7 +10321,7 @@ msgstr ""
"representeras som en Ethernet-MAC-adress. Om NULL kommer inget lösenord att "
"krävas."
-#: src/libnmc-setting/settings-docs.h.in:392
+#: src/libnmc-setting/settings-docs.h.in:396
msgid ""
"The use of fwmark is optional and is by default off. Setting it to 0 "
"disables it. Otherwise, it is a 32-bit fwmark for outgoing packets. Note "
@@ -10260,7 +10333,7 @@ msgstr ""
"paket. Observera att \"ip4-auto-default-route\" eller \"ip6-auto-default-"
"route\" aktiverat, innebär att man automatiskt väljer ett fwmark."
-#: src/libnmc-setting/settings-docs.h.in:393
+#: src/libnmc-setting/settings-docs.h.in:397
msgid ""
"Whether to enable special handling of the IPv4 default route. If enabled, "
"the IPv4 default route from wireguard.peer-routes will be placed to a "
@@ -10293,11 +10366,11 @@ msgstr ""
"vanligtvis inte nödvändigt att aktivera detta explicit. Du kan dock "
"inaktivera den om du vill konfigurera din egen routing och regler."
-#: src/libnmc-setting/settings-docs.h.in:394
+#: src/libnmc-setting/settings-docs.h.in:398
msgid "Like ip4-auto-default-route, but for the IPv6 default route."
msgstr "Som ip4-auto-default-route, men för IPv6-standardrutten."
-#: src/libnmc-setting/settings-docs.h.in:395
+#: src/libnmc-setting/settings-docs.h.in:399
msgid ""
"The listen-port. If listen-port is not specified, the port will be chosen "
"randomly when the interface comes up."
@@ -10305,7 +10378,7 @@ msgstr ""
"Lyssningsporten. Om lyssningsport inte är specificerad kommer porten att "
"väljas slumpmässigt när gränssnittet kommer upp."
-#: src/libnmc-setting/settings-docs.h.in:396
+#: src/libnmc-setting/settings-docs.h.in:400
msgid ""
"If non-zero, only transmit packets of the specified size or smaller, "
"breaking larger packets up into multiple fragments. If zero a default MTU is "
@@ -10317,7 +10390,7 @@ msgstr ""
"Observera att i motsats till wg-quicks MTU-inställning, tar detta inte "
"hänsyn till de aktuella rutterna vid aktiveringstillfället."
-#: src/libnmc-setting/settings-docs.h.in:397
+#: src/libnmc-setting/settings-docs.h.in:401
msgid ""
"Whether to automatically add routes for the AllowedIPs ranges of the peers. "
"If TRUE (the default), NetworkManager will automatically add routes in the "
@@ -10339,15 +10412,15 @@ msgstr ""
"never-default eller ipv6.never-default-inställning är aktiverad, kommer peer-"
"rutten för denna peer inte att läggas till automatiskt."
-#: src/libnmc-setting/settings-docs.h.in:398
+#: src/libnmc-setting/settings-docs.h.in:402
msgid "The 256 bit private-key in base64 encoding."
msgstr "Den 256 bitars privata nyckeln i base64-kodning."
-#: src/libnmc-setting/settings-docs.h.in:399
+#: src/libnmc-setting/settings-docs.h.in:403
msgid "Flags indicating how to handle the \"private-key\" property."
msgstr "Flaggor som indikerar hur egenskapen \"private-key\" ska hanteras."
-#: src/libnmc-setting/settings-docs.h.in:400
+#: src/libnmc-setting/settings-docs.h.in:404
msgid ""
"Configures AP isolation, which prevents communication between wireless "
"devices connected to this AP. This property can be set to a value different "
@@ -10371,7 +10444,7 @@ msgstr ""
"När den är inställd på \"default\" (-1), används den globala standarden; om "
"den globala standarden är ospecificerad antas den vara \"false\" (0)."
-#: src/libnmc-setting/settings-docs.h.in:401
+#: src/libnmc-setting/settings-docs.h.in:405
msgid ""
"802.11 frequency band of the network. One of \"a\" for 5GHz 802.11a or "
"\"bg\" for 2.4GHz 802.11. This will lock associations to the Wi-Fi network "
@@ -10387,7 +10460,7 @@ msgstr ""
"är kompatibla. Denna inställning beror på specifika drivrutinsförmågor och "
"fungerar kanske inte med alla enheter."
-#: src/libnmc-setting/settings-docs.h.in:402
+#: src/libnmc-setting/settings-docs.h.in:406
msgid ""
"If specified, directs the device to only associate with the given access "
"point. This capability is highly driver dependent and not supported by all "
@@ -10404,7 +10477,7 @@ msgstr ""
"förhindra roaming och även inaktivera bakgrundsskanning. Det kan vara "
"användbart om det bara finns en åtkomstpunkt för SSID."
-#: src/libnmc-setting/settings-docs.h.in:403
+#: src/libnmc-setting/settings-docs.h.in:407
msgid ""
"Wireless channel to use for the Wi-Fi connection. The device will only join "
"(or create for Ad-Hoc networks) a Wi-Fi network on the specified channel. "
@@ -10416,7 +10489,7 @@ msgstr ""
"Eftersom kanalnumren överlappar mellan band kommer denna egenskap också att "
"kräva att egenskapen ”band” är angiven."
-#: src/libnmc-setting/settings-docs.h.in:404
+#: src/libnmc-setting/settings-docs.h.in:408
msgid ""
"If specified, request that the device use this MAC address instead. This is "
"known as MAC cloning or spoofing. Beside explicitly specifying a MAC "
@@ -10449,7 +10522,7 @@ msgstr ""
"detta fält som \"assigned-mac-address\" eller det föråldrade \"cloned-mac-"
"address\"."
-#: src/libnmc-setting/settings-docs.h.in:406
+#: src/libnmc-setting/settings-docs.h.in:410
msgid ""
"If TRUE, indicates that the network is a non-broadcasting network that hides "
"its SSID. This works both in infrastructure and AP mode. In infrastructure "
@@ -10472,7 +10545,7 @@ msgstr ""
"infrastrukturläge) eller klientstationer (i AP-läge) då explicita skanningar "
"är specifikt igenkännbara."
-#: src/libnmc-setting/settings-docs.h.in:407
+#: src/libnmc-setting/settings-docs.h.in:411
msgid ""
"If specified, this connection will only apply to the Wi-Fi device whose "
"permanent MAC address matches. This property does not change the MAC address "
@@ -10482,7 +10555,7 @@ msgstr ""
"vars permanenta MAC-adress matchar. Denna egenskap kommer inte att ändra MAC-"
"adressen för enheten (d.v.s. MAC-förfalskning)."
-#: src/libnmc-setting/settings-docs.h.in:408
+#: src/libnmc-setting/settings-docs.h.in:412
msgid ""
"A list of permanent MAC addresses of Wi-Fi devices to which this connection "
"should never apply. Each MAC address should be given in the standard hex-"
@@ -10492,7 +10565,7 @@ msgstr ""
"aldrig ska ske. Varje MAC-adress ska anges i standardnotationen hexsiffror "
"och kolon (t.ex. \"00:11:22:33:44:55\")."
-#: src/libnmc-setting/settings-docs.h.in:409
+#: src/libnmc-setting/settings-docs.h.in:413
msgid ""
"One of \"default\" (0) (never randomize unless the user has set a global "
"default to randomize and the supplicant supports randomization), "
@@ -10504,7 +10577,7 @@ msgstr ""
"\"never\" (1) (randomisera aldrig MAC-adressen) eller \"always\" (2) "
"( randomisera alltid MAC-adressen)."
-#: src/libnmc-setting/settings-docs.h.in:410
+#: src/libnmc-setting/settings-docs.h.in:414
msgid ""
"Wi-Fi network mode; one of \"infrastructure\", \"mesh\", \"adhoc\" or "
"\"ap\". If blank, infrastructure is assumed."
@@ -10512,7 +10585,7 @@ msgstr ""
"Wi-Fi-nätverksläge; en av \"infrastructure\", \"mesh\", \"adhoc\" eller "
"\"ap\". Om tomt, antas infrastructure."
-#: src/libnmc-setting/settings-docs.h.in:412
+#: src/libnmc-setting/settings-docs.h.in:416
msgid ""
"One of \"disable\" (2) (disable Wi-Fi power saving), \"enable\" (3) (enable "
"Wi-Fi power saving), \"ignore\" (1) (don't touch currently configure "
@@ -10524,12 +10597,12 @@ msgstr ""
"konfigureringsinställning) eller \"default \" (0) (använd det globalt "
"konfigurerade värdet). Alla andra värden är reserverade."
-#: src/libnmc-setting/settings-docs.h.in:413
-#: src/libnmc-setting/settings-docs.h.in:416
+#: src/libnmc-setting/settings-docs.h.in:417
+#: src/libnmc-setting/settings-docs.h.in:420
msgid "This property is not implemented and has no effect."
msgstr "Den här egenskapen är inte implementerad och har ingen effekt."
-#: src/libnmc-setting/settings-docs.h.in:414
+#: src/libnmc-setting/settings-docs.h.in:418
msgid ""
"A list of BSSIDs (each BSSID formatted as a MAC address like "
"\"00:11:22:33:44:55\") that have been detected as part of the Wi-Fi "
@@ -10549,11 +10622,11 @@ msgstr ""
"NetworkManager automatiskt in de sedda BSSID:n och spårar dem internt i "
"filen \"/var/lib/NetworkManager/seen-bssids\"."
-#: src/libnmc-setting/settings-docs.h.in:415
+#: src/libnmc-setting/settings-docs.h.in:419
msgid "SSID of the Wi-Fi network. Must be specified."
msgstr "SSID för det trådlösa nätverket. Måste anges."
-#: src/libnmc-setting/settings-docs.h.in:417
+#: src/libnmc-setting/settings-docs.h.in:421
msgid ""
"The NMSettingWirelessWakeOnWLan options to enable. Not all devices support "
"all options. May be any combination of \"any\" (0x2), \"disconnect\" (0x4), "
@@ -10571,7 +10644,7 @@ msgstr ""
"(för att använda globala inställningar) och \"ignore\" (0x8000) (för att "
"inaktivera hantering av Wake-on-LAN i NetworkManager)."
-#: src/libnmc-setting/settings-docs.h.in:418
+#: src/libnmc-setting/settings-docs.h.in:422
msgid ""
"When WEP is used (ie, key-mgmt = \"none\" or \"ieee8021x\") indicate the "
"802.11 authentication algorithm required by the AP here. One of \"open\" "
@@ -10586,7 +10659,7 @@ msgstr ""
"och auth-alg = \"leap\") måste egenskaperna \"leap-username\" och \"leap-"
"password\" specificeras."
-#: src/libnmc-setting/settings-docs.h.in:419
+#: src/libnmc-setting/settings-docs.h.in:423
msgid ""
"Indicates whether Fast Initial Link Setup (802.11ai) must be enabled for the "
"connection. One of \"default\" (0) (use global default value), "
@@ -10603,7 +10676,7 @@ msgstr ""
"\"default\" (0) och ingen global standard är inställd, kommer FILS att vara "
"valfritt aktiverat."
-#: src/libnmc-setting/settings-docs.h.in:420
+#: src/libnmc-setting/settings-docs.h.in:424
msgid ""
"A list of group/broadcast encryption algorithms which prevents connections "
"to Wi-Fi networks that do not utilize one of the algorithms in the list. "
@@ -10615,7 +10688,7 @@ msgstr ""
"listan. För högsta kompatibilitet, lämna denna egenskap tom. Varje "
"listelement kan vara en av \"wep40\", \"wep104\", \"tkip\" eller \"ccmp\"."
-#: src/libnmc-setting/settings-docs.h.in:421
+#: src/libnmc-setting/settings-docs.h.in:425
msgid ""
"Key management used for the connection. One of \"none\" (WEP or no password "
"protection), \"ieee8021x\" (Dynamic WEP), \"owe\" (Opportunistic Wireless "
@@ -10631,7 +10704,7 @@ msgstr ""
"b-192\" (endast WPA3-företag). Den här egenskapen måste ställas in för alla "
"Wi-Fi-anslutningar som använder säkerhet."
-#: src/libnmc-setting/settings-docs.h.in:422
+#: src/libnmc-setting/settings-docs.h.in:426
msgid ""
"The login password for legacy LEAP connections (ie, key-mgmt = \"ieee8021x\" "
"and auth-alg = \"leap\")."
@@ -10639,11 +10712,11 @@ msgstr ""
"Inloggningslösenordet för föråldrade LEAP-anslutningar (d.v.s. key-mgmt = "
"\"ieee8021x\" och auth-alg = \"leap\")."
-#: src/libnmc-setting/settings-docs.h.in:423
+#: src/libnmc-setting/settings-docs.h.in:427
msgid "Flags indicating how to handle the \"leap-password\" property."
msgstr "Flaggor vilka indikerar hur egenskapen ”leap-password” ska hanteras."
-#: src/libnmc-setting/settings-docs.h.in:424
+#: src/libnmc-setting/settings-docs.h.in:428
msgid ""
"The login username for legacy LEAP connections (ie, key-mgmt = \"ieee8021x\" "
"and auth-alg = \"leap\")."
@@ -10651,7 +10724,7 @@ msgstr ""
"Inloggningsanvändarnamnet för föråldrade LEAP-anslutningar (d.v.s. key-mgmt "
"= \"ieee8021x\" och auth-alg = \"leap\")."
-#: src/libnmc-setting/settings-docs.h.in:425
+#: src/libnmc-setting/settings-docs.h.in:429
msgid ""
"A list of pairwise encryption algorithms which prevents connections to Wi-Fi "
"networks that do not utilize one of the algorithms in the list. For maximum "
@@ -10663,7 +10736,7 @@ msgstr ""
"kompatibilitet, lämna egenskapen tom. Varje listelement kan vara en av "
"”tkip” eller ”ccmp”."
-#: src/libnmc-setting/settings-docs.h.in:426
+#: src/libnmc-setting/settings-docs.h.in:430
msgid ""
"Indicates whether Protected Management Frames (802.11w) must be enabled for "
"the connection. One of \"default\" (0) (use global default value), "
@@ -10680,7 +10753,7 @@ msgstr ""
"\"default\" (0) och ingen global standard är inställd, kommer PMF att vara "
"valfritt aktiverat."
-#: src/libnmc-setting/settings-docs.h.in:427
+#: src/libnmc-setting/settings-docs.h.in:431
msgid ""
"List of strings specifying the allowed WPA protocol versions to use. Each "
"element may be one \"wpa\" (allow WPA) or \"rsn\" (allow WPA2/RSN). If not "
@@ -10690,7 +10763,7 @@ msgstr ""
"använda. Varje element kan vara ”wpa” (tillåt WPA) eller ”rsn” (tillåt WPA2/"
"RSN). Om inte specificerat är både WPA- och RSN-anslutningar tillåtna."
-#: src/libnmc-setting/settings-docs.h.in:428
+#: src/libnmc-setting/settings-docs.h.in:432
msgid ""
"Pre-Shared-Key for WPA networks. For WPA-PSK, it's either an ASCII "
"passphrase of 8 to 63 characters that is (as specified in the 802.11i "
@@ -10704,11 +10777,11 @@ msgstr ""
"tecken. WPA3-Personliga nätverk använder en lösenordsfras av valfri längd "
"för SAE-autentisering."
-#: src/libnmc-setting/settings-docs.h.in:429
+#: src/libnmc-setting/settings-docs.h.in:433
msgid "Flags indicating how to handle the \"psk\" property."
msgstr "Flaggor vilka indikerar hur egenskapen ”psk” ska hanteras."
-#: src/libnmc-setting/settings-docs.h.in:430
+#: src/libnmc-setting/settings-docs.h.in:434
msgid ""
"Flags indicating how to handle the \"wep-key0\", \"wep-key1\", \"wep-key2\", "
"and \"wep-key3\" properties."
@@ -10716,7 +10789,7 @@ msgstr ""
"Flaggor vilka indikerar hur egenskaperna \"wep-key0\", \"wep-key1\", \"wep-"
"key2\" och \"wep-key3\" ska hanteras."
-#: src/libnmc-setting/settings-docs.h.in:431
+#: src/libnmc-setting/settings-docs.h.in:435
msgid ""
"Controls the interpretation of WEP keys. Allowed values are \"key\" (1), in "
"which case the key is either a 10- or 26-character hexadecimal string, or a "
@@ -10730,7 +10803,7 @@ msgstr ""
"vilket fall lösenfrasen tillhandahålls som en sträng och kommer att hashas "
"med hjälp av de-facto MD5-metoden för att härleda den faktiska WEP-nyckeln."
-#: src/libnmc-setting/settings-docs.h.in:432
+#: src/libnmc-setting/settings-docs.h.in:436
msgid ""
"Index 0 WEP key. This is the WEP key used in most networks. See the \"wep-"
"key-type\" property for a description of how this key is interpreted."
@@ -10738,7 +10811,7 @@ msgstr ""
"WEP-nyckel för index 0. Detta är WEP-nyckeln använd i de flesta nätverk. Se "
"egenskapen ”wep-key-type” för en beskrivning över hur denna nyckel tolkas."
-#: src/libnmc-setting/settings-docs.h.in:433
+#: src/libnmc-setting/settings-docs.h.in:437
msgid ""
"Index 1 WEP key. This WEP index is not used by most networks. See the "
"\"wep-key-type\" property for a description of how this key is interpreted."
@@ -10746,7 +10819,7 @@ msgstr ""
"WEP-nyckel för index 1. Denna WEP-nyckel används inte i de flesta nätverk. "
"Se egenskapen ”wep-key-type” för en beskrivning över hur denna nyckel tolkas."
-#: src/libnmc-setting/settings-docs.h.in:434
+#: src/libnmc-setting/settings-docs.h.in:438
msgid ""
"Index 2 WEP key. This WEP index is not used by most networks. See the "
"\"wep-key-type\" property for a description of how this key is interpreted."
@@ -10754,7 +10827,7 @@ msgstr ""
"WEP-nyckel för index 2. Denna WEP-nyckel används inte i de flesta nätverk. "
"Se egenskapen ”wep-key-type” för en beskrivning över hur denna nyckel tolkas."
-#: src/libnmc-setting/settings-docs.h.in:435
+#: src/libnmc-setting/settings-docs.h.in:439
msgid ""
"Index 3 WEP key. This WEP index is not used by most networks. See the "
"\"wep-key-type\" property for a description of how this key is interpreted."
@@ -10762,7 +10835,7 @@ msgstr ""
"WEP-nyckel för index 3. Denna WEP-nyckel används inte i de flesta nätverk. "
"Se egenskapen ”wep-key-type” för en beskrivning över hur denna nyckel tolkas."
-#: src/libnmc-setting/settings-docs.h.in:436
+#: src/libnmc-setting/settings-docs.h.in:440
msgid ""
"When static WEP is used (ie, key-mgmt = \"none\") and a non-default WEP key "
"index is used by the AP, put that WEP key index here. Valid values are 0 "
@@ -10774,7 +10847,7 @@ msgstr ""
"Giltiga värden är 0 (standardnyckel) till 3. Observera att en del "
"konsumentaccesspunkter (som Linksys WRT54G) namnger nycklarna 1-4."
-#: src/libnmc-setting/settings-docs.h.in:437
+#: src/libnmc-setting/settings-docs.h.in:441
msgid ""
"Flags indicating which mode of WPS is to be used if any. There's little "
"point in changing the default setting as NetworkManager will automatically "
@@ -10788,7 +10861,7 @@ msgstr ""
"accesspunktens egenskaper. WPS kan inaktiveras genom att ställa in denna "
"egenskap till värdet 1."
-#: src/libnmc-setting/settings-docs.h.in:438
+#: src/libnmc-setting/settings-docs.h.in:442
msgid ""
"IEEE 802.15.4 channel. A positive integer or -1, meaning \"do not set, use "
"whatever the device is already set to\"."
@@ -10796,7 +10869,7 @@ msgstr ""
"IEEE 802.15.4-kanal. En positivt heltalsvärde, eller -1 som betyder ”ange "
"ej, använd enhetens befintliga värde”."
-#: src/libnmc-setting/settings-docs.h.in:439
+#: src/libnmc-setting/settings-docs.h.in:443
msgid ""
"If specified, this connection will only apply to the IEEE 802.15.4 (WPAN) "
"MAC layer device whose permanent MAC address matches."
@@ -10804,7 +10877,7 @@ msgstr ""
"Om angivet kommer denna anslutning endast att tillämpas på IEEE 802.15.4 "
"(WPAN) MAC-enheten vars permanenta MAC-adress matchar."
-#: src/libnmc-setting/settings-docs.h.in:440
+#: src/libnmc-setting/settings-docs.h.in:444
msgid ""
"IEEE 802.15.4 channel page. A positive integer or -1, meaning \"do not set, "
"use whatever the device is already set to\"."
@@ -10812,15 +10885,15 @@ msgstr ""
"IEEE 802.15.4-kanalsida. En positivt heltalsvärde, eller -1 som betyder "
"”ange inte, använd enhetens befintliga värde”."
-#: src/libnmc-setting/settings-docs.h.in:441
+#: src/libnmc-setting/settings-docs.h.in:445
msgid "IEEE 802.15.4 Personal Area Network (PAN) identifier."
msgstr "IEEE 802.15.4 Personal Area Network (PAN)-identifierare."
-#: src/libnmc-setting/settings-docs.h.in:442
+#: src/libnmc-setting/settings-docs.h.in:446
msgid "Short IEEE 802.15.4 address to be used within a restricted environment."
msgstr "Kort IEEE 802.15.4-adress att användas inom en begränsad miljö."
-#: src/libnmc-setting/settings-docs.h.in:443
+#: src/libnmc-setting/settings-docs.h.in:447
msgid ""
"The port priority for bond active port re-selection during failover. A "
"higher number means a higher priority in selection. The primary port has the "
@@ -10832,7 +10905,7 @@ msgstr ""
"prioritet. Det här alternativet är endast kompatibelt med lägena aktiv "
"säkerhetskopiering, balans-tlb och balans-alb lägen."
-#: src/libnmc-setting/settings-docs.h.in:444
+#: src/libnmc-setting/settings-docs.h.in:448
msgid ""
"The queue ID of this bond port. The maximum value of queue ID is the number "
"of TX queues currently active in device."
@@ -10840,7 +10913,7 @@ msgstr ""
"Kö-ID för denna bondport. Det maximala värdet för kö-ID är antalet "
"sändningsköer som för närvarande är aktiva i enheten."
-#: src/libnmc-setting/settings-docs.h.in:445
+#: src/libnmc-setting/settings-docs.h.in:449
msgid ""
"Whether the system hostname can be determined from DHCP on this connection. "
"When set to \"default\" (-1), the value from global configuration is used. "
@@ -10852,7 +10925,7 @@ msgstr ""
"konfiguration. Om egenskapen inte har ett värde i den globala "
"konfigurationen, antar NetworkManager att värdet är \"true\" (1)."
-#: src/libnmc-setting/settings-docs.h.in:446
+#: src/libnmc-setting/settings-docs.h.in:450
msgid ""
"Whether the system hostname can be determined from reverse DNS lookup of "
"addresses on this device. When set to \"default\" (-1), the value from "
@@ -10864,7 +10937,7 @@ msgstr ""
"används värdet från global konfiguration. Om egenskapen inte har ett värde i "
"den globala konfigurationen, antar NetworkManager att värdet är \"true\" (1)."
-#: src/libnmc-setting/settings-docs.h.in:447
+#: src/libnmc-setting/settings-docs.h.in:451
msgid ""
"If set to \"true\" (1), NetworkManager attempts to get the hostname via "
"DHCPv4/DHCPv6 or reverse DNS lookup on this device only when the device has "
@@ -10882,7 +10955,7 @@ msgstr ""
"värdet från global konfiguration. Om egenskapen inte har ett värde i den "
"globala konfigurationen, antar NetworkManager att värdet är \"false\" (0)."
-#: src/libnmc-setting/settings-docs.h.in:448
+#: src/libnmc-setting/settings-docs.h.in:452
msgid ""
"The relative priority of this connection to determine the system hostname. A "
"lower numerical value is better (higher priority). A connection with higher "
@@ -10906,24 +10979,24 @@ msgstr ""
"endast anslutningar med det lägsta prioritetsvärdet att användas för att "
"bestämma värdnamnet."
-#: src/libnmc-setting/settings-docs.h.in:449
+#: src/libnmc-setting/settings-docs.h.in:453
msgid "The last byte of supervision address."
msgstr "Den sista byten i övervakningsadressen."
-#: src/libnmc-setting/settings-docs.h.in:450
+#: src/libnmc-setting/settings-docs.h.in:454
msgid "The port1 interface name of the HSR. This property is mandatory."
msgstr "Port1-gränssnittsnamnet för HSR. Denna egenskap är obligatorisk."
-#: src/libnmc-setting/settings-docs.h.in:451
+#: src/libnmc-setting/settings-docs.h.in:455
msgid "The port2 interface name of the HSR. This property is mandatory."
msgstr "Port2-gränssnittsnamnet för HSR. Denna egenskap är obligatorisk."
-#: src/libnmc-setting/settings-docs.h.in:452
+#: src/libnmc-setting/settings-docs.h.in:456
msgid "The protocol used by the interface, whether it is PRP or HSR."
msgstr ""
"Protokollet som används av gränssnittet, oavsett om det är PRP eller HSR."
-#: src/libnmc-setting/settings-docs.h.in:453
+#: src/libnmc-setting/settings-docs.h.in:457
msgid ""
"The maximum size of a packet built by the Generic Receive Offload stack for "
"this device. The value must be between 0 and 4294967295. When set to -1, the "
@@ -10933,7 +11006,7 @@ msgstr ""
"stacken för den här enheten. Värdet måste vara mellan 0 och 4294967295. När "
"det är satt till -1 bevaras det befintliga värdet."
-#: src/libnmc-setting/settings-docs.h.in:454
+#: src/libnmc-setting/settings-docs.h.in:458
msgid ""
"The maximum segments of a Generic Segment Offload packet the device should "
"accept. The value must be between 0 and 4294967295. When set to -1, the "
@@ -10943,7 +11016,7 @@ msgstr ""
"acceptera. Värdet måste vara mellan 0 och 4294967295. När det är satt till "
"-1 bevaras det befintliga värdet."
-#: src/libnmc-setting/settings-docs.h.in:455
+#: src/libnmc-setting/settings-docs.h.in:459
msgid ""
"The maximum size of a Generic Segment Offload packet the device should "
"accept. The value must be between 0 and 4294967295. When set to -1, the "
@@ -10953,7 +11026,7 @@ msgstr ""
"acceptera. Värdet måste vara mellan 0 och 4294967295. När det är satt till "
"-1 bevaras det befintliga värdet."
-#: src/libnmc-setting/settings-docs.h.in:456
+#: src/libnmc-setting/settings-docs.h.in:460
msgid ""
"The size of the transmit queue for the device, in number of packets. The "
"value must be between 0 and 4294967295. When set to -1, the existing value "
@@ -10963,11 +11036,11 @@ msgstr ""
"mellan 0 och 4294967295. När det är satt till -1 bevaras det befintliga "
"värdet."
-#: src/libnmc-setting/settings-docs.h.in:458
+#: src/libnmc-setting/settings-docs.h.in:462
msgid "A dictionary of key/value pairs with external-ids for OVS."
msgstr "En ordbok över nyckel/värdepar med externa ID för OVS."
-#: src/libnmc-setting/settings-docs.h.in:459
+#: src/libnmc-setting/settings-docs.h.in:463
msgid ""
"A dictionary of key/value pairs with other_config settings for OVS. See also "
"\"other_config\" in the \"ovs-vswitchd.conf.db\" manual for the keys that "
@@ -10977,7 +11050,7 @@ msgstr ""
"även \"other_config\" i manualen \"ovs-vswitchd.conf.db\" för nycklar som "
"OVS stöder."
-#: src/libnmc-setting/settings-docs.h.in:460
+#: src/libnmc-setting/settings-docs.h.in:464
msgid ""
"This property specifies the peer interface name of the veth. This property "
"is mandatory."
@@ -12125,7 +12198,7 @@ msgstr "Fel: %s - inga sådana anslutningsprofiler."
#: src/nmcli/connections.c:9291 src/nmcli/connections.c:9827
#: src/nmcli/devices.c:2028 src/nmcli/devices.c:2330 src/nmcli/devices.c:2497
#: src/nmcli/devices.c:2623 src/nmcli/devices.c:2808 src/nmcli/devices.c:3591
-#: src/nmcli/devices.c:4558 src/nmcli/devices.c:5010 src/nmcli/general.c:1069
+#: src/nmcli/devices.c:4558 src/nmcli/devices.c:5010 src/nmcli/general.c:1076
#, c-format
msgid "Error: %s."
msgstr "Fel: %s."
@@ -13354,7 +13427,6 @@ msgid "%u Mb/s"
msgstr "%u Mb/s"
#: src/nmcli/devices.c:852
-#, fuzzy
msgid ""
"Usage: nmcli device { COMMAND | help }\n"
"\n"
@@ -13398,42 +13470,44 @@ msgid ""
msgstr ""
"Användning: nmcli device { KOMMANDO | hjälp }\n"
"\n"
-"KOMMANDO := { status | show | set | connect |reapply | modify | disconnect | "
-"delete | monitor | wifi | lldp }\n"
+"Kommando := { status | show | set | connect | reapply | modify | disconnect "
+"| delete | monitor | wifi | lldp }\n"
"\n"
-" status\n"
+" status\n"
"\n"
-" show [<omnamn>]\n"
+" show [<ifname>]\n"
"\n"
-" set [ifname] <ifname> [autoconnect ja|nej] [hanterad ja|nej]\n"
+" set [ifname] <ifname> [autoconnect ja|nej] [hanterad ja|nej]\n"
"\n"
-" connect <ifname>\n"
+" connect <ifname>\n"
"\n"
-" reapply <ifname>\n"
+" reapply <ifname>\n"
"\n"
-" modify <omnamn> ([+|-]<inställning>.<egenskap> <värde>)+\n"
+" modify <ifname> ([+|-]<setting>.<property> <value>)+\n"
"\n"
-" disconnect <ifname> ...\n"
+" disconnect <ifname> ...\n"
"\n"
-" delete <ifname> ...\n"
+" delete <ifname> ...\n"
"\n"
-" monitor <ifname> ...\n"
+" monitor <ifname> ...\n"
"\n"
-" wifi [list [ifname <ifname>] [bssid <BSSID>] [--rescan ja|nej|auto]]\n"
+" wifi [list [ifname <ifname>] [bssid <BSSID>] [--rescan ja|nej|"
+"automatisk]]\n"
"\n"
-" wifi connect <(B)SSID> [lösenord <lösenord>] [wep-nyckel-typ nyckel|fras] "
+" wifi connect <(B)SSID> [lösenord <password>] [wep-nyckel-typ nyckel|fras] "
"[ifname <ifname>]\n"
-" [bssid <BSSID>] [namn <namn>] [privat ja|nej] "
-"[dold ja|nej]\n"
+" [bssid <BSSID>] [name <name>] [privat ja|nej] [dold "
+"ja|nej]\n"
+"\n"
+" wifi hotspot [ifname <ifname>] [con-name <name>] [ssid <SSID>] [band a|bg] "
+"[kanal <channel>] [lösenord <password>]\n"
"\n"
-" wifi-hotspot [ifname <ifname>] [con-name <name>] [ssid <SSID>] [band a|"
-"bg] [kanal <kanal>] [lösenord <lösenord>]\n"
+" wifi rescan [ifname <ifname>] [[ssid <SSID to scan>] ...]\n"
"\n"
-" wifi rescan [ifname <ifname>] [[ssid <SSID to scan>] ...]\n"
+" wifi show-password [ifname <ifname>]\n"
"\n"
-" wifi show-password [ifname <ifname>]\n"
+" lldp [list [ifname <ifname>]]\n"
"\n"
-" lldp [list [ifname <ifname>]]\n"
#: src/nmcli/devices.c:880
msgid ""
@@ -13865,7 +13939,7 @@ msgstr "Status för enheter"
msgid "Error: 'device status': %s"
msgstr "Fel: ”device status”: %s"
-#: src/nmcli/devices.c:2069 src/nmcli/general.c:528
+#: src/nmcli/devices.c:2069 src/nmcli/general.c:535
#, c-format
msgid "Error: Timeout %d sec expired."
msgstr "Fel: Tidsgränsen %d sekunder gick ut."
@@ -13958,8 +14032,8 @@ msgstr "Fel: Borttagning av enheten ”%s” (%s) misslyckades: %s\n"
msgid "Error: No property specified."
msgstr "Fel: Ingen egenskap angiven."
-#: src/nmcli/devices.c:2831 src/nmcli/devices.c:2850 src/nmcli/general.c:798
-#: src/nmcli/general.c:820
+#: src/nmcli/devices.c:2831 src/nmcli/devices.c:2850 src/nmcli/general.c:805
+#: src/nmcli/general.c:827
#, c-format
msgid "Error: '%s' argument is missing."
msgstr "Fel: ”%s”-argument saknas."
@@ -13974,7 +14048,7 @@ msgstr "Fel: ”managed”: %s."
msgid "Error: 'autoconnect': %s."
msgstr "Fel: ”autoconnect”: %s."
-#: src/nmcli/devices.c:2865 src/nmcli/general.c:870
+#: src/nmcli/devices.c:2865 src/nmcli/general.c:877
#, c-format
msgid "Error: property '%s' is not known."
msgstr "Fel: egenskapen ”%s” är okänd."
@@ -14237,32 +14311,31 @@ msgstr "kopplar från"
msgid "auth"
msgstr "aute"
-#: src/nmcli/general.c:123
+#: src/nmcli/general.c:124
msgid "running"
msgstr "kör"
-#: src/nmcli/general.c:137
+#: src/nmcli/general.c:138
msgid "starting"
msgstr "startar"
-#: src/nmcli/general.c:137
+#: src/nmcli/general.c:138
msgid "started"
msgstr "startad"
-#: src/nmcli/general.c:150 src/nmcli/general.c:161
+#: src/nmcli/general.c:151 src/nmcli/general.c:162
msgid "missing"
msgstr "saknas"
-#: src/nmcli/general.c:181
+#: src/nmcli/general.c:187
msgid "enabled"
msgstr "aktiverad"
-#: src/nmcli/general.c:181
+#: src/nmcli/general.c:187
msgid "disabled"
msgstr "inaktiverad"
-#: src/nmcli/general.c:302
-#, fuzzy
+#: src/nmcli/general.c:309
msgid ""
"Usage: nmcli general { COMMAND | help }\n"
"\n"
@@ -14281,19 +14354,20 @@ msgid ""
msgstr ""
"Användning: nmcli general { KOMMANDO | hjälp }\n"
"\n"
-"KOMMANDO := { status | hostname | permissions | loggning | reload }\n"
+"KOMMANDO := { status | hostname | permissions | logging | reload }\n"
"\n"
-" status\n"
+" status\n"
+"\n"
+" hostname [<hostname>]\n"
"\n"
-" hostname [<värdnamn>]\n"
+" permissions\n"
"\n"
-" permissions\n"
+" logging [nivå <log level>] [domäner <log domains>]\n"
"\n"
-" loggning [level <loggnivå>] [domains <logga domäner>]\n"
+" reload [<flags>]\n"
"\n"
-" reload [<flaggor>]\n"
-#: src/nmcli/general.c:315
+#: src/nmcli/general.c:322
msgid ""
"Usage: nmcli general status { help }\n"
"\n"
@@ -14309,7 +14383,7 @@ msgstr ""
"status”\n"
"\n"
-#: src/nmcli/general.c:325
+#: src/nmcli/general.c:332
msgid ""
"Usage: nmcli general hostname { ARGUMENTS | help }\n"
"\n"
@@ -14331,7 +14405,7 @@ msgstr ""
"systemvärdnamnet.\n"
"\n"
-#: src/nmcli/general.c:337
+#: src/nmcli/general.c:344
msgid ""
"Usage: nmcli general permissions { help }\n"
"\n"
@@ -14343,7 +14417,7 @@ msgstr ""
"Visar anropsrättigheter för autentiserade åtgärder.\n"
"\n"
-#: src/nmcli/general.c:345
+#: src/nmcli/general.c:352
msgid ""
"Usage: nmcli general reload { ARGUMENTS | help }\n"
"\n"
@@ -14409,7 +14483,7 @@ msgstr ""
"Utan flaggor laddas allt som stöds om, vilket är\n"
"identisk med att skicka en SIGHUP.\n"
-#: src/nmcli/general.c:379
+#: src/nmcli/general.c:386
msgid ""
"Usage: nmcli general logging { ARGUMENTS | help }\n"
"\n"
@@ -14433,7 +14507,7 @@ msgstr ""
"för en lista över möjliga loggdomäner.\n"
"\n"
-#: src/nmcli/general.c:392
+#: src/nmcli/general.c:399
msgid ""
"Usage: nmcli networking { COMMAND | help }\n"
"\n"
@@ -14457,7 +14531,7 @@ msgstr ""
" connectivity [check]\n"
"\n"
-#: src/nmcli/general.c:402
+#: src/nmcli/general.c:409
msgid ""
"Usage: nmcli networking on { help }\n"
"\n"
@@ -14469,7 +14543,7 @@ msgstr ""
"Slå på nätverk.\n"
"\n"
-#: src/nmcli/general.c:410
+#: src/nmcli/general.c:417
msgid ""
"Usage: nmcli networking off { help }\n"
"\n"
@@ -14481,7 +14555,7 @@ msgstr ""
"Slå av nätverk.\n"
"\n"
-#: src/nmcli/general.c:419
+#: src/nmcli/general.c:426
msgid ""
"Usage: nmcli networking connectivity { ARGUMENTS | help }\n"
"\n"
@@ -14501,7 +14575,7 @@ msgstr ""
"anslutning.\n"
"\n"
-#: src/nmcli/general.c:430
+#: src/nmcli/general.c:437
msgid ""
"Usage: nmcli radio { COMMAND | help }\n"
"\n"
@@ -14517,7 +14591,7 @@ msgstr ""
" all | wifi | wwan [ on | off ]\n"
"\n"
-#: src/nmcli/general.c:438
+#: src/nmcli/general.c:445
msgid ""
"Usage: nmcli radio all { ARGUMENTS | help }\n"
"\n"
@@ -14533,7 +14607,7 @@ msgstr ""
"Hämta statusen för alla radioväxlar eller slå på/av dem.\n"
"\n"
-#: src/nmcli/general.c:448
+#: src/nmcli/general.c:455
msgid ""
"Usage: nmcli radio wifi { ARGUMENTS | help }\n"
"\n"
@@ -14549,7 +14623,7 @@ msgstr ""
"Hämta status för trådlösa radioväxeln eller slå på/av den.\n"
"\n"
-#: src/nmcli/general.c:458
+#: src/nmcli/general.c:465
msgid ""
"Usage: nmcli radio wwan { ARGUMENTS | help }\n"
"\n"
@@ -14565,7 +14639,7 @@ msgstr ""
"Hämta status för mobila bredbandsradioväxeln eller slå på/av den.\n"
"\n"
-#: src/nmcli/general.c:468
+#: src/nmcli/general.c:475
msgid ""
"Usage: nmcli monitor\n"
"\n"
@@ -14579,232 +14653,232 @@ msgstr ""
"Skriver en rad varje gång en ändring inträffar i Nätverkshanteraren\n"
"\n"
-#: src/nmcli/general.c:498
+#: src/nmcli/general.c:505
msgid "NetworkManager status"
msgstr "Status för Nätverkshanteraren"
-#: src/nmcli/general.c:503
+#: src/nmcli/general.c:510
#, c-format
msgid "Error: only these fields are allowed: %s"
msgstr "Fel: endast dessa fält är tillåtna: %s"
#. NetworkManager quit while we were waiting.
-#: src/nmcli/general.c:555 src/nmtui/nmtui.c:243
+#: src/nmcli/general.c:562 src/nmtui/nmtui.c:243
msgid "NetworkManager is not running."
msgstr "Nätverkshanteraren är inte startad."
-#: src/nmcli/general.c:577
+#: src/nmcli/general.c:584
msgid "NetworkManager permissions"
msgstr "Rättigheter för Nätverkshanteraren"
-#: src/nmcli/general.c:581
+#: src/nmcli/general.c:588
#, c-format
msgid "Error: 'general permissions': %s"
msgstr "Fel: ”general permissions”: %s"
-#: src/nmcli/general.c:628
+#: src/nmcli/general.c:635
#, c-format
msgid "Error: failed to reload: %s"
msgstr "Fel: misslyckades att ladda om: %s"
-#: src/nmcli/general.c:669
+#: src/nmcli/general.c:676
#, c-format
msgid "Error: invalid reload flag '%s'. Allowed flags are: %s"
msgstr "Fel: ogiltig omladdningsflagga '%s'. Tillåtna flaggor är: %s"
-#: src/nmcli/general.c:680
+#: src/nmcli/general.c:687
#, c-format
msgid "Error: extra argument '%s'"
msgstr "Fel: extra argument: ”%s”."
-#: src/nmcli/general.c:731
+#: src/nmcli/general.c:738
msgid "NetworkManager logging"
msgstr "Loggning för Nätverkshanteraren"
-#: src/nmcli/general.c:735
+#: src/nmcli/general.c:742
#, c-format
msgid "Error: 'general logging': %s"
msgstr "Fel: ”general logging”: %s"
-#: src/nmcli/general.c:768
+#: src/nmcli/general.c:775
#, c-format
msgid "Error: failed to set logging: %s"
msgstr "Fel: misslyckades att sätta loggning: %s"
-#: src/nmcli/general.c:901
+#: src/nmcli/general.c:908
#, c-format
msgid "Error: failed to set hostname: %s"
msgstr "Fel: misslyckades med att sätta värdnamn: %s"
-#: src/nmcli/general.c:962
+#: src/nmcli/general.c:969
#, c-format
msgid "Error: '--fields' value '%s' is not valid here (allowed field: %s)"
msgstr ""
"Fel: värdet ”%s” för ”--fields” är inte giltigt här (tillåtna fält: %s)"
-#: src/nmcli/general.c:989
+#: src/nmcli/general.c:996
#, c-format
msgid "Error: invalid '%s' argument: '%s' (use on/off)."
msgstr "Fel: ogiltigt ”%s”-argument: ”%s” (använd på/av)."
-#: src/nmcli/general.c:1015
+#: src/nmcli/general.c:1022
#, c-format
msgid "Error: failed to set networking: %s"
msgstr "Fel: misslyckades med att ställa in nätverk: %s"
#. no arguments -> get current state
-#: src/nmcli/general.c:1060 src/nmcli/general.c:1072
+#: src/nmcli/general.c:1067 src/nmcli/general.c:1079
msgid "Connectivity"
msgstr "Anslutning"
-#: src/nmcli/general.c:1076
+#: src/nmcli/general.c:1083
#, c-format
msgid "Error: 'networking' command '%s' is not valid."
msgstr "Fel: ”networking”-kommandot ”%s” är inte giltigt."
-#: src/nmcli/general.c:1089
+#: src/nmcli/general.c:1096
msgid "Networking"
msgstr "Nätverk"
#. no argument, show all radio switches
-#: src/nmcli/general.c:1117
+#: src/nmcli/general.c:1124
msgid "Radio switches"
msgstr "Radioväxlar"
-#: src/nmcli/general.c:1143
+#: src/nmcli/general.c:1150
#, c-format
msgid "Error: failed to set Wi-Fi radio: %s"
msgstr "Fel: misslyckades med att ställa in Wi-Fi-radio: %s"
#. no argument, show current Wi-Fi state
-#: src/nmcli/general.c:1161
+#: src/nmcli/general.c:1168
msgid "Wi-Fi radio switch"
msgstr "Trådlös radioväxel"
#. no argument, show current WWAN (mobile broadband) state
-#: src/nmcli/general.c:1197
+#: src/nmcli/general.c:1204
msgid "WWAN radio switch"
msgstr "WWAN radioväxel"
-#: src/nmcli/general.c:1237
+#: src/nmcli/general.c:1244
msgid "NetworkManager is running"
msgstr "NetworkManager körs"
-#: src/nmcli/general.c:1237
+#: src/nmcli/general.c:1244
msgid "NetworkManager is stopped"
msgstr "NetworkManager är stoppad"
-#: src/nmcli/general.c:1248
+#: src/nmcli/general.c:1255
#, c-format
msgid "Hostname set to '%s'\n"
msgstr "Värdnamnet sattes till ”%s”\n"
-#: src/nmcli/general.c:1263
+#: src/nmcli/general.c:1270
#, c-format
msgid "'%s' is now the primary connection\n"
msgstr "”%s” är nu den primära anslutningen\n"
-#: src/nmcli/general.c:1265
+#: src/nmcli/general.c:1272
msgid "There's no primary connection\n"
msgstr "Det finns ingen primär anslutning\n"
-#: src/nmcli/general.c:1278
+#: src/nmcli/general.c:1285
#, c-format
msgid "Connectivity is now '%s'\n"
msgstr "Anslutbarhet är nu ”%s”\n"
-#: src/nmcli/general.c:1293
+#: src/nmcli/general.c:1300
#, c-format
msgid "Networkmanager is now in the '%s' state\n"
msgstr "Nätverkshanteraren är nu i tillståndet ”%s”\n"
-#: src/nmcli/general.c:1314
+#: src/nmcli/general.c:1321
msgid "connection available"
msgstr "anslutning tillgänglig"
-#: src/nmcli/general.c:1316
+#: src/nmcli/general.c:1323
msgid "connections available"
msgstr "anslutningar tillgängliga"
-#: src/nmcli/general.c:1332
+#: src/nmcli/general.c:1339
msgid "autoconnect"
msgstr "autoansluten"
-#: src/nmcli/general.c:1335
+#: src/nmcli/general.c:1342
msgid "fw missing"
msgstr "fw saknas"
-#: src/nmcli/general.c:1342
+#: src/nmcli/general.c:1349
msgid "plugin missing"
msgstr "insticksmodul saknas"
-#: src/nmcli/general.c:1352 src/nmcli/general.c:1367
+#: src/nmcli/general.c:1359 src/nmcli/general.c:1374
msgid "sw disabled"
msgstr "sw inaktiverad"
-#: src/nmcli/general.c:1357 src/nmcli/general.c:1373
+#: src/nmcli/general.c:1364 src/nmcli/general.c:1380
msgid "hw disabled"
msgstr "hw inaktiverad"
-#: src/nmcli/general.c:1385
+#: src/nmcli/general.c:1392
msgid "sw"
msgstr "sw"
-#: src/nmcli/general.c:1387
+#: src/nmcli/general.c:1394
msgid "hw"
msgstr "hw"
-#: src/nmcli/general.c:1389
+#: src/nmcli/general.c:1396
msgid "sriov"
msgstr "sriov"
-#: src/nmcli/general.c:1392
+#: src/nmcli/general.c:1399
msgid "iface"
msgstr "iface"
-#: src/nmcli/general.c:1397
+#: src/nmcli/general.c:1404
msgid "port"
msgstr "port"
-#: src/nmcli/general.c:1401
+#: src/nmcli/general.c:1408
msgid "mtu"
msgstr "mtu"
-#: src/nmcli/general.c:1422
+#: src/nmcli/general.c:1429
msgid "master"
msgstr "master"
-#: src/nmcli/general.c:1426 src/nmtui/nm-editor-utils.c:255
+#: src/nmcli/general.c:1433 src/nmtui/nm-editor-utils.c:255
#: src/nmtui/nmt-connect-connection-list.c:392
msgid "VPN"
msgstr "VPN"
-#: src/nmcli/general.c:1428
+#: src/nmcli/general.c:1435
msgid "ip4 default"
msgstr "ip4 som standard"
-#: src/nmcli/general.c:1430
+#: src/nmcli/general.c:1437
msgid "ip6 default"
msgstr "ip6 som standard"
-#: src/nmcli/general.c:1513
+#: src/nmcli/general.c:1520
#, c-format
msgid "%s VPN connection"
msgstr "%s VPN-anslutning"
-#: src/nmcli/general.c:1534
+#: src/nmcli/general.c:1541
#, c-format
msgctxt "nmcli-overview"
msgid "%s: %s to %s"
msgstr "%s: %s till %s"
-#: src/nmcli/general.c:1543
+#: src/nmcli/general.c:1550
#, c-format
msgctxt "nmcli-overview"
msgid "%s: %s"
msgstr "%s: %s"
-#: src/nmcli/general.c:1594
+#: src/nmcli/general.c:1601
msgid ""
"Use \"nmcli device show\" to get complete information about known devices "
"and\n"
@@ -14821,43 +14895,12 @@ msgstr ""
"Se manualsidorna för nmcli(1) och nmcli-examples(7) för fullständig "
"användningsinformation.\n"
-#: src/nmcli/general.c:1611
+#: src/nmcli/general.c:1618
#, c-format
msgid "Error: 'monitor' command '%s' is not valid."
msgstr "Fel: ”monitor”-kommandot ”%s” är inte giltigt."
#: src/nmcli/nmcli.c:243
-#, fuzzy
-#| msgid ""
-#| "Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }\n"
-#| "\n"
-#| "OPTIONS\n"
-#| " -a, --ask ask for missing parameters\n"
-#| " -c, --colors auto|yes|no whether to use colors in "
-#| "output\n"
-#| " -e, --escape yes|no escape columns separators in "
-#| "values\n"
-#| " -f, --fields <field,...>|all|common specify fields to output\n"
-#| " -g, --get-values <field,...>|all|common shortcut for -m tabular -t -f\n"
-#| " -h, --help print this help\n"
-#| " -m, --mode tabular|multiline output mode\n"
-#| " -o, --overview overview mode\n"
-#| " -p, --pretty pretty output\n"
-#| " -s, --show-secrets allow displaying passwords\n"
-#| " -t, --terse terse output\n"
-#| " -v, --version how program version\n"
-#| " -w, --wait <seconds> set timeout waiting for "
-#| "finishing operations\n"
-#| "\n"
-#| "OBJECT\n"
-#| " g[eneral] NetworkManager's general status and operations\n"
-#| " n[etworking] overall networking control\n"
-#| " r[adio] NetworkManager radio switches\n"
-#| " c[onnection] NetworkManager's connections\n"
-#| " d[evice] devices managed by NetworkManager\n"
-#| " a[gent] NetworkManager secret agent or polkit agent\n"
-#| " m[onitor] monitor NetworkManager changes\n"
-#| "\n"
msgid ""
"Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }\n"
"\n"
@@ -14897,8 +14940,8 @@ msgstr ""
" -e[scape] yes|no omge kolumnseparatorer i värden "
"med säker sträng\n"
" -f[ields] <field1,…>|all|common ange fält för utdata\n"
-" -g[et-values] <field1,field2,...>|all|common kortkommando för -m tabular "
-"-t -f\n"
+" -g, --get-values <field,...>|all|common kortkommando för -m tabular -t -"
+"f\n"
" -h[elp] skriv ut denna hjälp\n"
" -m[ode] tabular|multiline utdataläge\n"
" -o, --overview överblicksläge\n"
@@ -15115,16 +15158,16 @@ msgstr ""
"Varning: nmcli (%s) och NetworkManager (%s) versioner matchar inte. Det "
"rekommenderas att starta om NetworkManager.\n"
-#: src/nmcli/utils.h:310
+#: src/nmcli/utils.h:311
msgid "(unknown)"
msgstr "(okänd)"
-#: src/nmcli/utils.h:350
+#: src/nmcli/utils.h:351
#, c-format
msgid "%lld (%s)"
msgstr "%lld (%s)"
-#: src/nmcli/utils.h:357
+#: src/nmcli/utils.h:358
#, c-format
msgid "%lld - %s"
msgstr "%lld - %s"
@@ -16179,6 +16222,10 @@ msgid "Could not contact NetworkManager: %s.\n"
msgstr "Kunde inte kontakta Nätverkshanteraren: %s.\n"
#, c-format
+#~ msgid "this property cannot be empty for '%s=%s'"
+#~ msgstr "denna egenskap kan inte vara tom för ”%s=%s”"
+
+#, c-format
#~ msgid "Opening %s failed: %s\n"
#~ msgstr "Öppnandet av %s misslyckades: %s\n"
diff --git a/src/core/dhcp/nm-dhcp-systemd.c b/src/core/dhcp/nm-dhcp-systemd.c
index 0fc5f92866..8c5947e9f9 100644
--- a/src/core/dhcp/nm-dhcp-systemd.c
+++ b/src/core/dhcp/nm-dhcp-systemd.c
@@ -67,6 +67,15 @@ G_DEFINE_TYPE(NMDhcpSystemd, nm_dhcp_systemd, NM_TYPE_DHCP_CLIENT)
/*****************************************************************************/
+static guint32
+lifetime_to_uint32(guint64 lft)
+{
+ if (lft == G_MAXUINT64)
+ return G_MAXUINT32;
+
+ return lft / 1000000;
+}
+
static NML3ConfigData *
lease_to_ip6_config(NMDhcpSystemd *self, sd_dhcp6_lease *lease, gint32 ts, GError **error)
{
@@ -100,18 +109,19 @@ lease_to_ip6_config(NMDhcpSystemd *self, sd_dhcp6_lease *lease, gint32 ts, GErro
if (!config->v6.info_only) {
gboolean has_any_addresses = FALSE;
- uint32_t lft_pref;
- uint32_t lft_valid;
+ uint64_t lft_pref;
+ uint64_t lft_valid;
- sd_dhcp6_lease_reset_address_iter(lease);
+ sd_dhcp6_lease_address_iterator_reset(lease);
nm_gstring_prepare(&str);
- while (sd_dhcp6_lease_get_address(lease, &tmp_addr, &lft_pref, &lft_valid) >= 0) {
- const NMPlatformIP6Address address = {
+ while (sd_dhcp6_lease_get_address(lease, &tmp_addr) >= 0
+ && sd_dhcp6_lease_get_address_lifetime(lease, &lft_pref, &lft_valid) >= 0) {
+ NMPlatformIP6Address address = {
.plen = 128,
.address = tmp_addr,
.timestamp = ts,
- .lifetime = lft_valid,
- .preferred = lft_pref,
+ .lifetime = lifetime_to_uint32(lft_valid),
+ .preferred = lifetime_to_uint32(lft_pref),
.addr_source = NM_IP_CONFIG_SOURCE_DHCP,
};
@@ -121,6 +131,7 @@ lease_to_ip6_config(NMDhcpSystemd *self, sd_dhcp6_lease *lease, gint32 ts, GErro
g_string_append(nm_gstring_add_space_delimiter(str), addr_str);
has_any_addresses = TRUE;
+ sd_dhcp6_lease_address_iterator_next(lease);
}
if (str->len) {
@@ -160,11 +171,12 @@ lease_to_ip6_config(NMDhcpSystemd *self, sd_dhcp6_lease *lease, gint32 ts, GErro
uint8_t prefix_len;
nm_gstring_prepare(&str);
- sd_dhcp6_lease_reset_pd_prefix_iter(lease);
- while (!sd_dhcp6_lease_get_pd(lease, &prefix, &prefix_len, NULL, NULL)) {
+ sd_dhcp6_lease_pd_iterator_reset(lease);
+ while (!sd_dhcp6_lease_get_pd_prefix(lease, &prefix, &prefix_len)) {
nm_gstring_add_space_delimiter(str);
nm_inet6_ntop(&prefix, addr_str);
g_string_append_printf(str, "%s/%u", addr_str, prefix_len);
+ sd_dhcp6_lease_pd_iterator_next(lease);
}
if (str->len > 0) {
nm_dhcp_option_add_option(options,
@@ -235,6 +247,8 @@ bound6_handle(NMDhcpSystemd *self)
gs_free_error GError *error = NULL;
NMPlatformIP6Address prefix = {0};
sd_dhcp6_lease *lease = NULL;
+ guint64 lft_valid;
+ guint64 lft_pref;
if (sd_dhcp6_client_get_lease(priv->client6, &lease) < 0 || !lease) {
_LOGW(" no lease!");
@@ -254,14 +268,14 @@ bound6_handle(NMDhcpSystemd *self)
_nm_dhcp_client_notify(NM_DHCP_CLIENT(self), NM_DHCP_CLIENT_EVENT_TYPE_BOUND, l3cd);
- sd_dhcp6_lease_reset_pd_prefix_iter(lease);
- while (!sd_dhcp6_lease_get_pd(lease,
- &prefix.address,
- &prefix.plen,
- &prefix.preferred,
- &prefix.lifetime)) {
+ sd_dhcp6_lease_pd_iterator_reset(lease);
+ while (!sd_dhcp6_lease_get_pd_prefix(lease, &prefix.address, &prefix.plen)
+ && !sd_dhcp6_lease_get_pd_lifetime(lease, &lft_pref, &lft_valid)) {
+ prefix.preferred = lifetime_to_uint32(lft_pref);
+ prefix.lifetime = lifetime_to_uint32(lft_valid);
prefix.timestamp = ts;
nm_dhcp_client_emit_ipv6_prefix_delegated(NM_DHCP_CLIENT(self), &prefix);
+ sd_dhcp6_lease_pd_iterator_next(lease);
}
}
@@ -339,10 +353,10 @@ ip6_start(NMDhcpClient *client, const struct in6_addr *ll_addr, GError **error)
return FALSE;
}
- r = sd_dhcp6_client_set_duid(sd_client,
- unaligned_read_be16(&duid_arr[0]),
- &duid_arr[2],
- duid_len - 2);
+ r = sd_dhcp6_client_set_duid_raw(sd_client,
+ unaligned_read_be16(&duid_arr[0]),
+ &duid_arr[2],
+ duid_len - 2);
if (r < 0) {
nm_utils_error_set_errno(error, r, "failed to set DUID: %s");
return FALSE;
diff --git a/src/core/nm-audit-manager.c b/src/core/nm-audit-manager.c
index 4e134d1a3c..7cf5294603 100644
--- a/src/core/nm-audit-manager.c
+++ b/src/core/nm-audit-manager.c
@@ -185,13 +185,16 @@ nm_audit_log(NMAuditManager *self,
priv = NM_AUDIT_MANAGER_GET_PRIVATE(self);
if (priv->auditd_fd >= 0) {
- audit_log_user_message(priv->auditd_fd,
- AUDIT_USYS_CONFIG,
- build_message(&strbuf, BACKEND_AUDITD, fields),
- NULL,
- NULL,
- NULL,
- success);
+ int r;
+
+ r = audit_log_user_message(priv->auditd_fd,
+ AUDIT_USYS_CONFIG,
+ build_message(&strbuf, BACKEND_AUDITD, fields),
+ NULL,
+ NULL,
+ NULL,
+ success);
+ (void) r;
}
#endif
diff --git a/src/core/tests/config/test-config.c b/src/core/tests/config/test-config.c
index 054b9003f4..2b27d53549 100644
--- a/src/core/tests/config/test-config.c
+++ b/src/core/tests/config/test-config.c
@@ -1076,7 +1076,7 @@ _set_values_intern_atomic_section_2_set(NMConfig *config,
g_key_file_set_value(keyfile,
NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN "with-whitespace",
"key2",
- " b c\\, d ");
+ " b c\\\\, d ");
*out_expected_changes = NM_CONFIG_CHANGE_CAUSE_SET_VALUES | NM_CONFIG_CHANGE_VALUES
| NM_CONFIG_CHANGE_VALUES_INTERN;
}
diff --git a/src/core/vpn/nm-vpn-connection.c b/src/core/vpn/nm-vpn-connection.c
index 3dba9ff6c8..de0c9f7104 100644
--- a/src/core/vpn/nm-vpn-connection.c
+++ b/src/core/vpn/nm-vpn-connection.c
@@ -2099,20 +2099,12 @@ _dbus_signal_ip_config_cb(NMVpnConnection *self, int addr_family, GVariant *dict
NMP_OBJECT_TYPE_IP_ROUTE(IS_IPv4))
nm_l3_config_data_add_route(l3cd, addr_family, route, NULL);
}
- } else if (IS_IPv4 ? g_variant_lookup(dict, NM_VPN_PLUGIN_IP4_CONFIG_ROUTES, "aau", &var_iter)
- : g_variant_lookup(dict,
- NM_VPN_PLUGIN_IP6_CONFIG_ROUTES,
- "a(ayuayu)",
- &var_iter)) {
- _nm_unused nm_auto_free_variant_iter GVariantIter *var_iter_ref_owner = var_iter;
- NMPlatformIPXRoute route = {};
- guint32 plen;
- GVariant *next_hop;
- GVariant *dest;
- guint32 prefix;
- guint32 metric;
+ } else if (IS_IPv4) {
+ if (g_variant_lookup(dict, NM_VPN_PLUGIN_IP4_CONFIG_ROUTES, "aau", &var_iter)) {
+ _nm_unused nm_auto_free_variant_iter GVariantIter *var_iter_ref_owner = var_iter;
+ NMPlatformIPXRoute route = {};
+ guint32 plen;
- if (IS_IPv4) {
while (g_variant_iter_next(var_iter, "@au", &v)) {
_nm_unused gs_unref_variant GVariant *v_ref_owner = v;
@@ -2151,42 +2143,84 @@ _dbus_signal_ip_config_cb(NMVpnConnection *self, int addr_family, GVariant *dict
break;
}
}
- } else {
- while (
- g_variant_iter_next(var_iter, "(@ayu@ayu)", &dest, &prefix, &next_hop, &metric)) {
- _nm_unused gs_unref_variant GVariant *next_hop_ref_owner = next_hop;
- _nm_unused gs_unref_variant GVariant *dest_ref_owner = dest;
+ }
+ } else {
+ _nm_unused nm_auto_free_variant_iter GVariantIter *var_iter_ref_owner = NULL;
+ NMPlatformIPXRoute route = {};
+ guint32 prefix;
+ guint32 metric;
+ NMOptionBool new_signature = NM_OPTION_BOOL_DEFAULT;
+
+ /* IPv6 and no "preserve-routes" */
+
+ if (g_variant_lookup(dict, NM_VPN_PLUGIN_IP6_CONFIG_ROUTES, "a(ayuayu)", &var_iter))
+ new_signature = FALSE;
+ else if (g_variant_lookup(dict, NM_VPN_PLUGIN_IP6_CONFIG_ROUTES, "a(ayuayuay)", &var_iter))
+ new_signature = TRUE;
+ else
+ var_iter = NULL;
+
+ var_iter_ref_owner = var_iter;
+
+ while (TRUE) {
+ gs_unref_variant GVariant *next_hop = NULL;
+ gs_unref_variant GVariant *dest = NULL;
+ gs_unref_variant GVariant *pref_src = NULL;
+
+ if (new_signature == NM_OPTION_BOOL_DEFAULT) {
+ break;
+ } else if (new_signature) {
+ if (!g_variant_iter_next(var_iter,
+ "(@ayu@ayu@ay)",
+ &dest,
+ &prefix,
+ &next_hop,
+ &metric,
+ &pref_src))
+ break;
+ } else {
+ if (!g_variant_iter_next(var_iter,
+ "(@ayu@ayu)",
+ &dest,
+ &prefix,
+ &next_hop,
+ &metric))
+ break;
+ }
- if (prefix > 128)
- continue;
+ if (prefix > 128)
+ continue;
- route.r6 = (NMPlatformIP6Route){
- .plen = prefix,
- .table_any = TRUE,
- .metric_any = TRUE,
- .rt_source = NM_IP_CONFIG_SOURCE_VPN,
- };
+ route.r6 = (NMPlatformIP6Route){
+ .plen = prefix,
+ .table_any = TRUE,
+ .metric_any = TRUE,
+ .rt_source = NM_IP_CONFIG_SOURCE_VPN,
+ };
- if (!nm_ip_addr_set_from_variant(AF_INET6, &route.r6.network, dest, NULL))
- continue;
+ if (!nm_ip_addr_set_from_variant(AF_INET6, &route.r6.network, dest, NULL))
+ continue;
- nm_ip_addr_set_from_variant(AF_INET6, &route.r6.gateway, next_hop, NULL);
+ if (pref_src
+ && !nm_ip_addr_set_from_variant(AF_INET6, &route.r6.pref_src, pref_src, NULL))
+ continue;
- nm_ip6_addr_clear_host_address(&route.r6.network, &route.r6.network, route.r6.plen);
+ nm_ip_addr_set_from_variant(AF_INET6, &route.r6.gateway, next_hop, NULL);
- if (!IN6_IS_ADDR_UNSPECIFIED(&priv->ip_data_6.gw_external.addr6)
- && IN6_ARE_ADDR_EQUAL(&route.r6.network, &priv->ip_data_6.gw_external.addr6)
- && route.r6.plen == 128) {
- /* Ignore host routes to the VPN gateway since NM adds one itself.
- * Since NM knows more about the routing situation than the VPN
- * server, we want to use the NM created route instead of whatever
- * the server provides.
- */
- continue;
- }
+ nm_ip6_addr_clear_host_address(&route.r6.network, &route.r6.network, route.r6.plen);
- nm_l3_config_data_add_route_6(l3cd, &route.r6);
+ if (!IN6_IS_ADDR_UNSPECIFIED(&priv->ip_data_6.gw_external.addr6)
+ && IN6_ARE_ADDR_EQUAL(&route.r6.network, &priv->ip_data_6.gw_external.addr6)
+ && route.r6.plen == 128) {
+ /* Ignore host routes to the VPN gateway since NM adds one itself.
+ * Since NM knows more about the routing situation than the VPN
+ * server, we want to use the NM created route instead of whatever
+ * the server provides.
+ */
+ continue;
}
+
+ nm_l3_config_data_add_route_6(l3cd, &route.r6);
}
}
diff --git a/src/libnm-core-impl/nm-setting-connection.c b/src/libnm-core-impl/nm-setting-connection.c
index 7c58c84f94..d7314aadcc 100644
--- a/src/libnm-core-impl/nm-setting-connection.c
+++ b/src/libnm-core-impl/nm-setting-connection.c
@@ -2852,11 +2852,12 @@ nm_setting_connection_class_init(NMSettingConnectionClass *klass)
* for the connection, "no" (0) disable mDNS for the interface, "resolve"
* (1) do not register hostname but allow resolving of mDNS host names
* and "default" (-1) to allow lookup of a global default in NetworkManager.conf.
- * If unspecified, "default" ultimately depends on the DNS plugin (which
- * for systemd-resolved currently means "no").
+ * If unspecified, "default" ultimately depends on the DNS plugin.
*
* This feature requires a plugin which supports mDNS. Otherwise, the
- * setting has no effect. One such plugin is dns-systemd-resolved.
+ * setting has no effect. Currently the only supported DNS plugin is
+ * systemd-resolved. For systemd-resolved, the default is configurable via
+ * MulticastDNS= setting in resolved.conf.
*
* Since: 1.12
**/
diff --git a/src/libnm-core-impl/nm-setting-wireless.c b/src/libnm-core-impl/nm-setting-wireless.c
index 244dcdccb7..93461a99da 100644
--- a/src/libnm-core-impl/nm-setting-wireless.c
+++ b/src/libnm-core-impl/nm-setting-wireless.c
@@ -46,24 +46,24 @@ NM_GOBJECT_PROPERTIES_DEFINE(NMSettingWireless,
PROP_AP_ISOLATION, );
typedef struct {
- GBytes *ssid;
- GArray *mac_address_blacklist;
- GPtrArray *seen_bssids;
- char *mode;
- char *band;
- char *bssid;
- char *device_mac_address;
- char *cloned_mac_address;
- char *generate_mac_address_mask;
- int ap_isolation;
- guint32 mac_address_randomization;
- guint32 channel;
- guint32 rate;
- guint32 tx_power;
- guint32 mtu;
- guint32 powersave;
- guint32 wake_on_wlan;
- bool hidden;
+ GBytes *ssid;
+ GPtrArray *seen_bssids;
+ char *mode;
+ char *band;
+ char *bssid;
+ char *device_mac_address;
+ char *cloned_mac_address;
+ char *generate_mac_address_mask;
+ NMValueStrv mac_address_blacklist;
+ int ap_isolation;
+ guint32 mac_address_randomization;
+ guint32 channel;
+ guint32 rate;
+ guint32 tx_power;
+ guint32 mtu;
+ guint32 powersave;
+ guint32 wake_on_wlan;
+ bool hidden;
} NMSettingWirelessPrivate;
/**
@@ -470,12 +470,11 @@ nm_setting_wireless_get_generate_mac_address_mask(NMSettingWireless *setting)
const char *const *
nm_setting_wireless_get_mac_address_blacklist(NMSettingWireless *setting)
{
- NMSettingWirelessPrivate *priv;
-
g_return_val_if_fail(NM_IS_SETTING_WIRELESS(setting), NULL);
- priv = NM_SETTING_WIRELESS_GET_PRIVATE(setting);
- return nm_g_array_data(priv->mac_address_blacklist);
+ return nm_strvarray_get_strv_notnull(
+ NM_SETTING_WIRELESS_GET_PRIVATE(setting)->mac_address_blacklist.arr,
+ NULL);
}
/**
@@ -489,7 +488,7 @@ nm_setting_wireless_get_num_mac_blacklist_items(NMSettingWireless *setting)
{
g_return_val_if_fail(NM_IS_SETTING_WIRELESS(setting), 0);
- return NM_SETTING_WIRELESS_GET_PRIVATE(setting)->mac_address_blacklist->len;
+ return nm_g_array_len(NM_SETTING_WIRELESS_GET_PRIVATE(setting)->mac_address_blacklist.arr);
}
/**
@@ -505,19 +504,11 @@ nm_setting_wireless_get_num_mac_blacklist_items(NMSettingWireless *setting)
const char *
nm_setting_wireless_get_mac_blacklist_item(NMSettingWireless *setting, guint32 idx)
{
- NMSettingWirelessPrivate *priv;
-
g_return_val_if_fail(NM_IS_SETTING_WIRELESS(setting), NULL);
- priv = NM_SETTING_WIRELESS_GET_PRIVATE(setting);
-
- if (idx == priv->mac_address_blacklist->len) {
- return NULL;
- }
-
- g_return_val_if_fail(idx < priv->mac_address_blacklist->len, NULL);
-
- return nm_g_array_index(priv->mac_address_blacklist, const char *, idx);
+ return nm_strvarray_get_idxnull_or_greturn(
+ NM_SETTING_WIRELESS_GET_PRIVATE(setting)->mac_address_blacklist.arr,
+ idx);
}
/**
@@ -534,24 +525,28 @@ gboolean
nm_setting_wireless_add_mac_blacklist_item(NMSettingWireless *setting, const char *mac)
{
NMSettingWirelessPrivate *priv;
+ guint8 mac_bin[ETH_ALEN];
const char *candidate;
- int i;
+ guint i;
+ guint len;
g_return_val_if_fail(NM_IS_SETTING_WIRELESS(setting), FALSE);
g_return_val_if_fail(mac != NULL, FALSE);
- if (!nm_utils_hwaddr_valid(mac, ETH_ALEN))
+ if (!_nm_utils_hwaddr_aton_exact(mac, mac_bin, ETH_ALEN))
return FALSE;
priv = NM_SETTING_WIRELESS_GET_PRIVATE(setting);
- for (i = 0; i < priv->mac_address_blacklist->len; i++) {
- candidate = nm_g_array_index(priv->mac_address_blacklist, char *, i);
- if (nm_utils_hwaddr_matches(mac, -1, candidate, -1))
+ len = nm_g_array_len(priv->mac_address_blacklist.arr);
+ for (i = 0; i < len; i++) {
+ candidate = nm_g_array_index(priv->mac_address_blacklist.arr, char *, i);
+ if (nm_utils_hwaddr_matches(mac_bin, ETH_ALEN, candidate, -1))
return FALSE;
}
mac = nm_utils_hwaddr_canonical(mac, ETH_ALEN);
- g_array_append_val(priv->mac_address_blacklist, mac);
+ nm_g_array_append_simple(nm_strvarray_ensure(&priv->mac_address_blacklist.arr),
+ nm_utils_hwaddr_ntoa(mac_bin, ETH_ALEN));
_notify(setting, PROP_MAC_ADDRESS_BLACKLIST);
return TRUE;
}
@@ -571,9 +566,13 @@ nm_setting_wireless_remove_mac_blacklist_item(NMSettingWireless *setting, guint3
g_return_if_fail(NM_IS_SETTING_WIRELESS(setting));
priv = NM_SETTING_WIRELESS_GET_PRIVATE(setting);
- g_return_if_fail(idx < priv->mac_address_blacklist->len);
+ if (!priv->mac_address_blacklist.arr) {
+ return;
+ }
- g_array_remove_index(priv->mac_address_blacklist, idx);
+ g_return_if_fail(idx < priv->mac_address_blacklist.arr->len);
+
+ g_array_remove_index(priv->mac_address_blacklist.arr, idx);
_notify(setting, PROP_MAC_ADDRESS_BLACKLIST);
}
@@ -591,21 +590,29 @@ gboolean
nm_setting_wireless_remove_mac_blacklist_item_by_value(NMSettingWireless *setting, const char *mac)
{
NMSettingWirelessPrivate *priv;
+ guint8 mac_bin[ETH_ALEN];
const char *candidate;
- int i;
+ guint i;
g_return_val_if_fail(NM_IS_SETTING_WIRELESS(setting), FALSE);
g_return_val_if_fail(mac != NULL, FALSE);
+ if (!_nm_utils_hwaddr_aton_exact(mac, mac_bin, ETH_ALEN))
+ return FALSE;
+
priv = NM_SETTING_WIRELESS_GET_PRIVATE(setting);
- for (i = 0; i < priv->mac_address_blacklist->len; i++) {
- candidate = nm_g_array_index(priv->mac_address_blacklist, char *, i);
- if (nm_utils_hwaddr_matches(mac, -1, candidate, -1)) {
- g_array_remove_index(priv->mac_address_blacklist, i);
- _notify(setting, PROP_MAC_ADDRESS_BLACKLIST);
- return TRUE;
+
+ if (priv->mac_address_blacklist.arr) {
+ for (i = 0; i < priv->mac_address_blacklist.arr->len; i++) {
+ candidate = nm_g_array_index(priv->mac_address_blacklist.arr, char *, i);
+ if (nm_utils_hwaddr_matches(mac_bin, ETH_ALEN, candidate, -1)) {
+ g_array_remove_index(priv->mac_address_blacklist.arr, i);
+ _notify(setting, PROP_MAC_ADDRESS_BLACKLIST);
+ return TRUE;
+ }
}
}
+
return FALSE;
}
@@ -620,8 +627,8 @@ nm_setting_wireless_clear_mac_blacklist_items(NMSettingWireless *setting)
{
g_return_if_fail(NM_IS_SETTING_WIRELESS(setting));
- g_array_set_size(NM_SETTING_WIRELESS_GET_PRIVATE(setting)->mac_address_blacklist, 0);
- _notify(setting, PROP_MAC_ADDRESS_BLACKLIST);
+ if (nm_strvarray_clear(&NM_SETTING_WIRELESS_GET_PRIVATE(setting)->mac_address_blacklist.arr))
+ _notify(setting, PROP_MAC_ADDRESS_BLACKLIST);
}
/**
@@ -1041,20 +1048,22 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
return FALSE;
}
- for (i = 0; i < priv->mac_address_blacklist->len; i++) {
- const char *mac = nm_g_array_index(priv->mac_address_blacklist, const char *, i);
+ if (priv->mac_address_blacklist.arr) {
+ for (i = 0; i < priv->mac_address_blacklist.arr->len; i++) {
+ const char *mac = nm_g_array_index(priv->mac_address_blacklist.arr, const char *, i);
- if (!nm_utils_hwaddr_valid(mac, ETH_ALEN)) {
- g_set_error(error,
- NM_CONNECTION_ERROR,
- NM_CONNECTION_ERROR_INVALID_PROPERTY,
- _("'%s' is not a valid MAC address"),
- mac);
- g_prefix_error(error,
- "%s.%s: ",
- NM_SETTING_WIRELESS_SETTING_NAME,
- NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST);
- return FALSE;
+ if (!nm_utils_hwaddr_valid(mac, ETH_ALEN)) {
+ g_set_error(error,
+ NM_CONNECTION_ERROR,
+ NM_CONNECTION_ERROR_INVALID_PROPERTY,
+ _("'%s' is not a valid MAC address"),
+ mac);
+ g_prefix_error(error,
+ "%s.%s: ",
+ NM_SETTING_WIRELESS_SETTING_NAME,
+ NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST);
+ return FALSE;
+ }
}
}
@@ -1216,12 +1225,6 @@ nm_setting_wireless_get_wake_on_wlan(NMSettingWireless *setting)
return NM_SETTING_WIRELESS_GET_PRIVATE(setting)->wake_on_wlan;
}
-static void
-clear_blacklist_item(char **item_p)
-{
- g_free(*item_p);
-}
-
/*****************************************************************************/
static void
@@ -1234,9 +1237,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
case PROP_CLONED_MAC_ADDRESS:
g_value_set_string(value, nm_setting_wireless_get_cloned_mac_address(setting));
break;
- case PROP_MAC_ADDRESS_BLACKLIST:
- g_value_set_boxed(value, nm_g_array_data(priv->mac_address_blacklist));
- break;
case PROP_SEEN_BSSIDS:
g_value_take_boxed(
value,
@@ -1255,8 +1255,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
{
NMSettingWireless *self = NM_SETTING_WIRELESS(object);
NMSettingWirelessPrivate *priv = NM_SETTING_WIRELESS_GET_PRIVATE(self);
- const char *const *blacklist;
- const char *mac;
gboolean bool_val;
_PropertyEnums prop1 = PROP_0;
_PropertyEnums prop2 = PROP_0;
@@ -1281,18 +1279,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
nm_gobject_notify_together(self, prop1, prop2);
break;
- case PROP_MAC_ADDRESS_BLACKLIST:
- blacklist = g_value_get_boxed(value);
- g_array_set_size(priv->mac_address_blacklist, 0);
- if (blacklist && blacklist[0]) {
- gsize i;
-
- for (i = 0; blacklist[i]; i++) {
- mac = _nm_utils_hwaddr_canonical_or_invalid(blacklist[i], ETH_ALEN);
- g_array_append_val(priv->mac_address_blacklist, mac);
- }
- }
- break;
case PROP_SEEN_BSSIDS:
{
gs_unref_ptrarray GPtrArray *arr_old = NULL;
@@ -1321,13 +1307,7 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
static void
nm_setting_wireless_init(NMSettingWireless *setting)
-{
- NMSettingWirelessPrivate *priv = NM_SETTING_WIRELESS_GET_PRIVATE(setting);
-
- /* We use GArray rather than GPtrArray so it will automatically be NULL-terminated */
- priv->mac_address_blacklist = g_array_new(TRUE, FALSE, sizeof(char *));
- g_array_set_clear_func(priv->mac_address_blacklist, (GDestroyNotify) clear_blacklist_item);
-}
+{}
/**
* nm_setting_wireless_new:
@@ -1348,7 +1328,6 @@ finalize(GObject *object)
NMSettingWirelessPrivate *priv = NM_SETTING_WIRELESS_GET_PRIVATE(object);
g_free(priv->cloned_mac_address);
- g_array_unref(priv->mac_address_blacklist);
nm_g_ptr_array_unref(priv->seen_bssids);
G_OBJECT_CLASS(nm_setting_wireless_parent_class)->finalize(object);
@@ -1733,11 +1712,15 @@ nm_setting_wireless_class_init(NMSettingWirelessClass *klass)
* is listed.
* ---end---
*/
- _nm_setting_property_define_gprop_strv_oldstyle(properties_override,
- obj_properties,
- NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST,
- PROP_MAC_ADDRESS_BLACKLIST,
- NM_SETTING_PARAM_FUZZY_IGNORE);
+ _nm_setting_property_define_direct_strv(properties_override,
+ obj_properties,
+ NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST,
+ PROP_MAC_ADDRESS_BLACKLIST,
+ NM_SETTING_PARAM_FUZZY_IGNORE,
+ NMSettingWirelessPrivate,
+ mac_address_blacklist,
+ .direct_set_strv_normalize_hwaddr = TRUE,
+ .direct_strv_not_null = TRUE);
/**
* NMSettingWireless:seen-bssids:
diff --git a/src/libnm-core-impl/nm-setting.c b/src/libnm-core-impl/nm-setting.c
index 8bc7b4bf4b..ebd2070ead 100644
--- a/src/libnm-core-impl/nm-setting.c
+++ b/src/libnm-core-impl/nm-setting.c
@@ -8,6 +8,8 @@
#include "nm-setting.h"
+#include <linux/if_ether.h>
+
#include "libnm-core-intern/nm-core-internal.h"
#include "libnm-glib-aux/nm-ref-string.h"
#include "libnm-glib-aux/nm-secret-utils.h"
@@ -739,10 +741,29 @@ _property_direct_set_strv(const NMSettInfoSetting *sett_info,
if (!property_info->direct_strv_preserve_empty && strv && !strv[0])
strv = NULL;
- if (nm_strvarray_equal_strv(p_val->arr, strv, -1))
- return FALSE;
+ if (property_info->direct_set_strv_normalize_hwaddr) {
+ gs_unref_array GArray *arr = NULL;
+ if (strv) {
+ nm_strvarray_ensure(&arr);
+
+ for (; strv[0]; strv++) {
+ nm_strvarray_add_take(arr,
+ _nm_utils_hwaddr_canonical_or_invalid(strv[0], ETH_ALEN));
+ }
+ }
+
+ if (nm_strvarray_equal(p_val->arr, arr))
+ return FALSE;
+ NM_SWAP(&p_val->arr, &arr);
+ return TRUE;
+ }
+
+ if (nm_strvarray_equal_strv(p_val->arr, strv, -1)) {
+ return FALSE;
+ }
nm_strvarray_set_strv_full(&p_val->arr, strv, property_info->direct_strv_preserve_empty);
+
return TRUE;
}
@@ -844,7 +865,7 @@ _nm_setting_property_get_property_direct(GObject *object,
value,
nm_strvarray_get_strv_full_dup(p_val->arr,
NULL,
- FALSE,
+ property_info->direct_strv_not_null,
property_info->direct_strv_preserve_empty));
return;
}
diff --git a/src/libnm-core-intern/nm-core-internal.h b/src/libnm-core-intern/nm-core-internal.h
index 3903467df0..fc157c5881 100644
--- a/src/libnm-core-intern/nm-core-internal.h
+++ b/src/libnm-core-intern/nm-core-internal.h
@@ -821,6 +821,10 @@ struct _NMSettInfoProperty {
* normalize the string via g_ascii_strdown(). */
bool direct_set_string_ascii_strdown : 1;
+ /* If TRUE, this is a NM_VALUE_TYPE_STRV direct property holding MAC addresses,
+ * and the setter will normalize them via _nm_utils_hwaddr_canonical_or_invalid(). */
+ bool direct_set_strv_normalize_hwaddr : 1;
+
/* If TRUE, this is a NM_VALUE_TYPE_STRING direct property, and the setter will
* normalize the string via g_strstrip(). */
bool direct_set_string_strip : 1;
@@ -870,6 +874,10 @@ struct _NMSettInfoProperty {
* an empty array. */
bool direct_strv_preserve_empty : 1;
+ /* This flag indicates that an empty strv array should be returned
+ * instead of NULL if it hadn't been created yet. */
+ bool direct_strv_not_null : 1;
+
/* Usually, properties that are set to the default value for the GParamSpec
* are not serialized to GVariant (and NULL is returned by to_dbus_data().
* Set this flag to force always converting the property even if the value
diff --git a/src/libnm-core-public/nm-version-macros.h.in b/src/libnm-core-public/nm-version-macros.h.in
index 072b8ca5e9..7967f28019 100644
--- a/src/libnm-core-public/nm-version-macros.h.in
+++ b/src/libnm-core-public/nm-version-macros.h.in
@@ -74,6 +74,7 @@
#define NM_VERSION_1_42 (NM_ENCODE_VERSION(1, 42, 0))
#define NM_VERSION_1_44 (NM_ENCODE_VERSION(1, 44, 0))
#define NM_VERSION_1_46 (NM_ENCODE_VERSION(1, 46, 0))
+#define NM_VERSION_1_48 (NM_ENCODE_VERSION(1, 48, 0))
/* For releases, NM_API_VERSION is equal to NM_VERSION.
*
diff --git a/src/libnm-core-public/nm-version.h b/src/libnm-core-public/nm-version.h
index 24471129dd..419da2e1f7 100644
--- a/src/libnm-core-public/nm-version.h
+++ b/src/libnm-core-public/nm-version.h
@@ -383,6 +383,20 @@
#define NM_AVAILABLE_IN_1_46
#endif
+#if NM_VERSION_MIN_REQUIRED >= NM_VERSION_1_48
+#define NM_DEPRECATED_IN_1_48 G_DEPRECATED
+#define NM_DEPRECATED_IN_1_48_FOR(f) G_DEPRECATED_FOR(f)
+#else
+#define NM_DEPRECATED_IN_1_48
+#define NM_DEPRECATED_IN_1_48_FOR(f)
+#endif
+
+#if NM_VERSION_MAX_ALLOWED < NM_VERSION_1_48
+#define NM_AVAILABLE_IN_1_48 G_UNAVAILABLE(1, 48)
+#else
+#define NM_AVAILABLE_IN_1_48
+#endif
+
/*
* Synchronous API for calling D-Bus in libnm is deprecated. See
* https://networkmanager.dev/docs/libnm/latest/usage.html#sync-api
diff --git a/src/libnm-lldp/nm-lldp-neighbor.c b/src/libnm-lldp/nm-lldp-neighbor.c
index a2a9695e85..0379cf3844 100644
--- a/src/libnm-lldp/nm-lldp-neighbor.c
+++ b/src/libnm-lldp/nm-lldp-neighbor.c
@@ -648,9 +648,10 @@ nm_lldp_neighbor_tlv_get_oui(NMLldpNeighbor *n, uint8_t oui[static 3], uint8_t *
int r;
g_return_val_if_fail(n, -EINVAL);
- g_return_val_if_fail(oui, -EINVAL);
g_return_val_if_fail(subtype, -EINVAL);
+ nm_assert(oui);
+
r = nm_lldp_neighbor_tlv_is_type(n, NM_LLDP_TYPE_PRIVATE);
if (r < 0)
return r;
diff --git a/src/libnm-systemd-core/meson.build b/src/libnm-systemd-core/meson.build
index 6175e42c4d..fbac8c0d44 100644
--- a/src/libnm-systemd-core/meson.build
+++ b/src/libnm-systemd-core/meson.build
@@ -3,11 +3,11 @@
libnm_systemd_core = static_library(
'nm-systemd-core',
sources: files(
- 'src/libsystemd-network/dhcp-identifier.c',
'src/libsystemd-network/dhcp6-network.c',
'src/libsystemd-network/dhcp6-option.c',
'src/libsystemd-network/dhcp6-protocol.c',
'src/libsystemd-network/network-common.c',
+ 'src/libsystemd-network/sd-dhcp-duid.c',
'src/libsystemd-network/sd-dhcp6-client.c',
'src/libsystemd-network/sd-dhcp6-lease.c',
'src/libsystemd/sd-event/event-util.c',
@@ -15,6 +15,7 @@ libnm_systemd_core = static_library(
'src/libsystemd/sd-id128/id128-util.c',
'src/libsystemd/sd-id128/sd-id128.c',
'nm-sd.c',
+ 'sd-adapt-core/netif-util.c',
'sd-adapt-core/nm-sd-adapt-core.c',
),
include_directories: [
@@ -28,6 +29,7 @@ libnm_systemd_core = static_library(
top_inc,
src_inc,
],
+ c_args: libnm_systemd_common_cflags,
dependencies: [
libnm_systemd_shared_dep_inc,
glib_dep,
diff --git a/src/libnm-systemd-core/sd-adapt-core/netif-util.c b/src/libnm-systemd-core/sd-adapt-core/netif-util.c
new file mode 100644
index 0000000000..b10bdf309b
--- /dev/null
+++ b/src/libnm-systemd-core/sd-adapt-core/netif-util.c
@@ -0,0 +1,219 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#include "nm-sd-adapt-core.h"
+
+#include <linux/if.h>
+#include <linux/if_arp.h>
+
+#include "arphrd-util.h"
+#include "device-util.h"
+#include "log-link.h"
+#include "memory-util.h"
+#include "netif-util.h"
+#include "siphash24.h"
+#include "sparse-endian.h"
+#include "strv.h"
+
+#if 0 /* NM_IGNORED */
+bool netif_has_carrier(uint8_t operstate, unsigned flags) {
+ /* see Documentation/networking/operstates.txt in the kernel sources */
+
+ if (operstate == IF_OPER_UP)
+ return true;
+
+ if (operstate != IF_OPER_UNKNOWN)
+ return false;
+
+ /* operstate may not be implemented, so fall back to flags */
+ return FLAGS_SET(flags, IFF_LOWER_UP | IFF_RUNNING) &&
+ !FLAGS_SET(flags, IFF_DORMANT);
+}
+
+int net_get_type_string(sd_device *device, uint16_t iftype, char **ret) {
+ const char *t;
+ char *p;
+
+ if (device &&
+ sd_device_get_devtype(device, &t) >= 0 &&
+ !isempty(t)) {
+ p = strdup(t);
+ if (!p)
+ return -ENOMEM;
+
+ *ret = p;
+ return 0;
+ }
+
+ t = arphrd_to_name(iftype);
+ if (!t)
+ return -ENOENT;
+
+ p = strdup(t);
+ if (!p)
+ return -ENOMEM;
+
+ *ret = ascii_strlower(p);
+ return 0;
+}
+#endif /* NM_IGNORED */
+
+const char *
+net_get_persistent_name(sd_device *device)
+{
+ assert(device);
+
+ /* fetch some persistent data unique (on this machine) to this device */
+ FOREACH_STRING(field,
+ "ID_NET_NAME_ONBOARD",
+ "ID_NET_NAME_SLOT",
+ "ID_NET_NAME_PATH",
+ "ID_NET_NAME_MAC")
+ {
+ const char *name;
+
+ if (sd_device_get_property_value(device, field, &name) >= 0)
+ return name;
+ }
+
+ return NULL;
+}
+
+#if 0 /* NM_IGNORED */
+/* Used when generating hardware address by udev, and IPv4LL seed by networkd. */
+#define HASH_KEY SD_ID128_MAKE(d3, 1e, 48, fa, 90, fe, 4b, 4c, 9d, af, d5, d7, a1, b1, 2e, 8a)
+
+int net_get_unique_predictable_data(sd_device *device, bool use_sysname, uint64_t *ret) {
+ const char *name;
+
+ assert(device);
+ assert(ret);
+
+ /* net_get_persistent_name() will return one of the device names based on stable information about
+ * the device. If this is not available, we fall back to using the actual device name. */
+ name = net_get_persistent_name(device);
+ if (!name && use_sysname)
+ (void) sd_device_get_sysname(device, &name);
+ if (!name)
+ return log_device_debug_errno(device, SYNTHETIC_ERRNO(ENODATA),
+ "No stable identifying information found");
+
+ log_device_debug(device, "Using \"%s\" as stable identifying information", name);
+
+ return net_get_unique_predictable_data_from_name(name, &HASH_KEY, ret);
+}
+
+int net_get_unique_predictable_data_from_name(
+ const char *name,
+ const sd_id128_t *key,
+ uint64_t *ret) {
+
+ size_t l, sz;
+ uint8_t *v;
+ int r;
+
+ assert(name);
+ assert(key);
+ assert(ret);
+
+ l = strlen(name);
+ sz = sizeof(sd_id128_t) + l;
+ v = newa(uint8_t, sz);
+
+ /* Fetch some persistent data unique to this machine */
+ r = sd_id128_get_machine((sd_id128_t*) v);
+ if (r < 0)
+ return r;
+
+ memcpy(v + sizeof(sd_id128_t), name, l);
+
+ /* Let's hash the machine ID plus the device name. We use
+ * a fixed, but originally randomly created hash key here. */
+ *ret = htole64(siphash24(v, sz, key->bytes));
+ return 0;
+}
+
+typedef struct Link {
+ const char *ifname;
+} Link;
+
+int net_verify_hardware_address(
+ const char *ifname,
+ bool is_static,
+ uint16_t iftype,
+ const struct hw_addr_data *ib_hw_addr, /* current or parent HW address */
+ struct hw_addr_data *new_hw_addr) {
+
+ Link link = { .ifname = ifname };
+
+ assert(new_hw_addr);
+
+ if (new_hw_addr->length == 0)
+ return 0;
+
+ if (new_hw_addr->length != arphrd_to_hw_addr_len(iftype)) {
+ if (is_static)
+ log_link_warning(&link,
+ "Specified MAC address with invalid length (%zu, expected %zu), refusing.",
+ new_hw_addr->length, arphrd_to_hw_addr_len(iftype));
+ return -EINVAL;
+ }
+
+ switch (iftype) {
+ case ARPHRD_ETHER:
+ /* see eth_random_addr() in the kernel */
+
+ if (ether_addr_is_null(&new_hw_addr->ether)) {
+ if (is_static)
+ log_link_warning(&link, "Specified MAC address is null, refusing.");
+ return -EINVAL;
+ }
+
+ if (ether_addr_is_broadcast(&new_hw_addr->ether)) {
+ if (is_static)
+ log_link_warning(&link, "Specified MAC address is broadcast, refusing.");
+ return -EINVAL;
+ }
+
+ if (ether_addr_is_multicast(&new_hw_addr->ether)) {
+ if (is_static)
+ log_link_warning(&link, "Specified MAC address has the multicast bit set, clearing the bit.");
+
+ new_hw_addr->bytes[0] &= 0xfe;
+ }
+
+ if (!is_static && !ether_addr_is_local(&new_hw_addr->ether))
+ /* Adjust local assignment bit when the MAC address is generated randomly. */
+ new_hw_addr->bytes[0] |= 0x02;
+
+ break;
+
+ case ARPHRD_INFINIBAND:
+ /* see ipoib_check_lladdr() in the kernel */
+
+ assert(ib_hw_addr);
+ assert(ib_hw_addr->length == INFINIBAND_ALEN);
+
+ if (is_static &&
+ (!memeqzero(new_hw_addr->bytes, INFINIBAND_ALEN - 8) ||
+ memcmp(new_hw_addr->bytes, ib_hw_addr->bytes, INFINIBAND_ALEN - 8) != 0))
+ log_link_warning(&link, "Only the last 8 bytes of the InifniBand MAC address can be changed, ignoring the first 12 bytes.");
+
+ if (memeqzero(new_hw_addr->bytes + INFINIBAND_ALEN - 8, 8)) {
+ if (is_static)
+ log_link_warning(&link, "The last 8 bytes of the InfiniBand MAC address cannot be null, refusing.");
+ return -EINVAL;
+ }
+
+ memcpy(new_hw_addr->bytes, ib_hw_addr->bytes, INFINIBAND_ALEN - 8);
+ break;
+
+ default:
+ if (is_static)
+ log_link_warning(&link, "Unsupported interface type %s%u to set MAC address, refusing.",
+ strna(arphrd_to_name(iftype)), iftype);
+ return -EINVAL;
+ }
+
+ return 0;
+}
+#endif /* NM_IGNORED */
diff --git a/src/libnm-systemd-core/sd-adapt-core/netif-util.h b/src/libnm-systemd-core/sd-adapt-core/netif-util.h
new file mode 100644
index 0000000000..59a80866b4
--- /dev/null
+++ b/src/libnm-systemd-core/sd-adapt-core/netif-util.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include <inttypes.h>
+#include <stdbool.h>
+
+#include "sd-device.h"
+#include "sd-id128.h"
+
+#include "ether-addr-util.h"
+
+bool netif_has_carrier(uint8_t operstate, unsigned flags);
+int net_get_type_string(sd_device *device, uint16_t iftype, char **ret);
+const char *net_get_persistent_name(sd_device *device);
+int net_get_unique_predictable_data(sd_device *device, bool use_sysname, uint64_t *ret);
+int
+net_get_unique_predictable_data_from_name(const char *name, const sd_id128_t *key, uint64_t *ret);
+int net_verify_hardware_address(const char *ifname,
+ bool is_static,
+ uint16_t iftype,
+ const struct hw_addr_data *ib_hw_addr,
+ struct hw_addr_data *new_hw_addr);
diff --git a/src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.c b/src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.c
index c5ef63eb4a..13effd122c 100644
--- a/src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.c
+++ b/src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.c
@@ -12,15 +12,6 @@
/*****************************************************************************/
-int
-asynchronous_close(int fd)
-{
- safe_close(fd);
- return -1;
-}
-
-/*****************************************************************************/
-
sd_device *
sd_device_ref(sd_device *self)
{
diff --git a/src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.h b/src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.h
index 9c317801de..9cb5574dda 100644
--- a/src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.h
+++ b/src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.h
@@ -86,7 +86,6 @@ sd_notify(int unset_environment, const char *state)
#include "sd-id128.h"
#include "sparse-endian.h"
-#include "async.h"
#endif /* (NETWORKMANAGER_COMPILATION) & NM_NETWORKMANAGER_COMPILATION_WITH_SYSTEMD */
diff --git a/src/libnm-systemd-core/src/libsystemd-network/dhcp-duid-internal.h b/src/libnm-systemd-core/src/libsystemd-network/dhcp-duid-internal.h
new file mode 100644
index 0000000000..f8bc15c47e
--- /dev/null
+++ b/src/libnm-systemd-core/src/libsystemd-network/dhcp-duid-internal.h
@@ -0,0 +1,83 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include "sd-device.h"
+#include "sd-dhcp-duid.h"
+#include "sd-id128.h"
+
+#include "ether-addr-util.h"
+#include "macro.h"
+#include "sparse-endian.h"
+
+#define SYSTEMD_PEN 43793
+
+typedef enum DUIDType {
+ DUID_TYPE_LLT = SD_DUID_TYPE_LLT,
+ DUID_TYPE_EN = SD_DUID_TYPE_EN,
+ DUID_TYPE_LL = SD_DUID_TYPE_LL,
+ DUID_TYPE_UUID = SD_DUID_TYPE_UUID,
+ _DUID_TYPE_MAX,
+ _DUID_TYPE_INVALID = -EINVAL,
+} DUIDType;
+
+/* RFC 8415 section 11.1:
+ * A DUID consists of a 2-octet type code represented in network byte order, followed by a variable number of
+ * octets that make up the actual identifier. The length of the DUID (not including the type code) is at
+ * least 1 octet and at most 128 octets. */
+#define MIN_DUID_DATA_LEN 1
+#define MAX_DUID_DATA_LEN 128
+#define MIN_DUID_LEN (sizeof(be16_t) + MIN_DUID_DATA_LEN)
+#define MAX_DUID_LEN (sizeof(be16_t) + MAX_DUID_DATA_LEN)
+
+/* https://tools.ietf.org/html/rfc3315#section-9.1 */
+struct duid {
+ be16_t type;
+ union {
+ struct {
+ /* DUID_TYPE_LLT */
+ be16_t htype;
+ be32_t time;
+ uint8_t haddr[];
+ } _packed_ llt;
+ struct {
+ /* DUID_TYPE_EN */
+ be32_t pen;
+ uint8_t id[];
+ } _packed_ en;
+ struct {
+ /* DUID_TYPE_LL */
+ be16_t htype;
+ uint8_t haddr[];
+ } _packed_ ll;
+ struct {
+ /* DUID_TYPE_UUID */
+ sd_id128_t uuid;
+ } _packed_ uuid;
+ uint8_t data[MAX_DUID_DATA_LEN];
+ };
+} _packed_;
+
+typedef struct sd_dhcp_duid {
+ size_t size;
+ union {
+ struct duid duid;
+ uint8_t raw[MAX_DUID_LEN];
+ };
+} sd_dhcp_duid;
+
+static inline bool duid_size_is_valid(size_t size) {
+ return size >= MIN_DUID_LEN && size <= MAX_DUID_LEN;
+}
+
+static inline bool duid_data_size_is_valid(size_t size) {
+ return size >= MIN_DUID_DATA_LEN && size <= MAX_DUID_DATA_LEN;
+}
+
+const char *duid_type_to_string(DUIDType t) _const_;
+int dhcp_duid_to_string_internal(uint16_t type, const void *data, size_t data_size, char **ret);
+
+int dhcp_identifier_set_iaid(
+ sd_device *dev,
+ const struct hw_addr_data *hw_addr,
+ bool legacy_unstable_byteorder,
+ void *ret);
diff --git a/src/libnm-systemd-core/src/libsystemd-network/dhcp-identifier.c b/src/libnm-systemd-core/src/libsystemd-network/dhcp-identifier.c
deleted file mode 100644
index 05d0585a9e..0000000000
--- a/src/libnm-systemd-core/src/libsystemd-network/dhcp-identifier.c
+++ /dev/null
@@ -1,252 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1-or-later */
-
-#include "nm-sd-adapt-core.h"
-
-#include <linux/if_infiniband.h>
-#include <net/ethernet.h>
-#include <net/if_arp.h>
-
-#include "dhcp-identifier.h"
-#include "netif-util.h"
-#include "siphash24.h"
-#include "sparse-endian.h"
-#include "string-table.h"
-
-#define HASH_KEY SD_ID128_MAKE(80,11,8c,c2,fe,4a,03,ee,3e,d6,0c,6f,36,39,14,09)
-#define APPLICATION_ID SD_ID128_MAKE(a5,0a,d1,12,bf,60,45,77,a2,fb,74,1a,b1,95,5b,03)
-#define USEC_2000 ((usec_t) 946684800000000) /* 2000-01-01 00:00:00 UTC */
-
-static const char * const duid_type_table[_DUID_TYPE_MAX] = {
- [DUID_TYPE_LLT] = "DUID-LLT",
- [DUID_TYPE_EN] = "DUID-EN/Vendor",
- [DUID_TYPE_LL] = "DUID-LL",
- [DUID_TYPE_UUID] = "UUID",
-};
-
-DEFINE_STRING_TABLE_LOOKUP_TO_STRING(duid_type, DUIDType);
-
-int dhcp_validate_duid_len(DUIDType duid_type, size_t duid_len, bool strict) {
- struct duid d;
-
- assert_cc(sizeof(d.raw) >= MAX_DUID_LEN);
- if (duid_len > MAX_DUID_LEN)
- return -EINVAL;
-
- if (!strict)
- /* Strict validation is not requested. We only ensure that the
- * DUID is not too long. */
- return 0;
-
- switch (duid_type) {
- case DUID_TYPE_LLT:
- if (duid_len <= sizeof(d.llt))
- return -EINVAL;
- break;
- case DUID_TYPE_EN:
- if (duid_len != sizeof(d.en))
- return -EINVAL;
- break;
- case DUID_TYPE_LL:
- if (duid_len <= sizeof(d.ll))
- return -EINVAL;
- break;
- case DUID_TYPE_UUID:
- if (duid_len != sizeof(d.uuid))
- return -EINVAL;
- break;
- default:
- /* accept unknown type in order to be forward compatible */
- break;
- }
- return 0;
-}
-
-#if 0 /* NM_IGNORED */
-static int dhcp_identifier_set_duid_llt(
- const struct hw_addr_data *hw_addr,
- uint16_t arp_type,
- usec_t t,
- struct duid *ret_duid,
- size_t *ret_len) {
-
- uint16_t time_from_2000y;
-
- assert(hw_addr);
- assert(ret_duid);
- assert(ret_len);
-
- if (hw_addr->length == 0)
- return -EOPNOTSUPP;
-
- if (arp_type == ARPHRD_ETHER)
- assert_return(hw_addr->length == ETH_ALEN, -EINVAL);
- else if (arp_type == ARPHRD_INFINIBAND)
- assert_return(hw_addr->length == INFINIBAND_ALEN, -EINVAL);
- else
- return -EOPNOTSUPP;
-
- if (t < USEC_2000)
- time_from_2000y = 0;
- else
- time_from_2000y = (uint16_t) (((t - USEC_2000) / USEC_PER_SEC) & 0xffffffff);
-
- unaligned_write_be16(&ret_duid->type, DUID_TYPE_LLT);
- unaligned_write_be16(&ret_duid->llt.htype, arp_type);
- unaligned_write_be32(&ret_duid->llt.time, time_from_2000y);
- memcpy(ret_duid->llt.haddr, hw_addr->bytes, hw_addr->length);
-
- *ret_len = offsetof(struct duid, llt.haddr) + hw_addr->length;
-
- return 0;
-}
-
-static int dhcp_identifier_set_duid_ll(
- const struct hw_addr_data *hw_addr,
- uint16_t arp_type,
- struct duid *ret_duid,
- size_t *ret_len) {
-
- assert(hw_addr);
- assert(ret_duid);
- assert(ret_len);
-
- if (hw_addr->length == 0)
- return -EOPNOTSUPP;
-
- if (arp_type == ARPHRD_ETHER)
- assert_return(hw_addr->length == ETH_ALEN, -EINVAL);
- else if (arp_type == ARPHRD_INFINIBAND)
- assert_return(hw_addr->length == INFINIBAND_ALEN, -EINVAL);
- else
- return -EOPNOTSUPP;
-
- unaligned_write_be16(&ret_duid->type, DUID_TYPE_LL);
- unaligned_write_be16(&ret_duid->ll.htype, arp_type);
- memcpy(ret_duid->ll.haddr, hw_addr->bytes, hw_addr->length);
-
- *ret_len = offsetof(struct duid, ll.haddr) + hw_addr->length;
-
- return 0;
-}
-#endif /* NM_IGNORED */
-
-int dhcp_identifier_set_duid_en(bool test_mode, struct duid *ret_duid, size_t *ret_len) {
- sd_id128_t machine_id;
- uint64_t hash;
- int r;
-
- assert(ret_duid);
- assert(ret_len);
-
- if (!test_mode) {
- r = sd_id128_get_machine(&machine_id);
- if (r < 0)
- return r;
- } else
- /* For tests, especially for fuzzers, reproducibility is important.
- * Hence, use a static and constant machine ID.
- * See 9216fddc5a8ac2742e6cfa7660f95c20ca4f2193. */
- machine_id = SD_ID128_MAKE(01, 02, 03, 04, 05, 06, 07, 08, 09, 0a, 0b, 0c, 0d, 0e, 0f, 10);
-
- unaligned_write_be16(&ret_duid->type, DUID_TYPE_EN);
- unaligned_write_be32(&ret_duid->en.pen, SYSTEMD_PEN);
-
- /* a bit of snake-oil perhaps, but no need to expose the machine-id
- * directly; duid->en.id might not be aligned, so we need to copy */
- hash = htole64(siphash24(&machine_id, sizeof(machine_id), HASH_KEY.bytes));
- memcpy(ret_duid->en.id, &hash, sizeof(ret_duid->en.id));
-
- *ret_len = offsetof(struct duid, en.id) + sizeof(ret_duid->en.id);
-
- if (test_mode)
- assert_se(memcmp(ret_duid, (const uint8_t[]) { 0x00, 0x02, 0x00, 0x00, 0xab, 0x11, 0x61, 0x77, 0x40, 0xde, 0x13, 0x42, 0xc3, 0xa2 }, *ret_len) == 0);
-
- return 0;
-}
-
-#if 0 /* NM_IGNORED */
-static int dhcp_identifier_set_duid_uuid(struct duid *ret_duid, size_t *ret_len) {
- sd_id128_t machine_id;
- int r;
-
- assert(ret_duid);
- assert(ret_len);
-
- r = sd_id128_get_machine_app_specific(APPLICATION_ID, &machine_id);
- if (r < 0)
- return r;
-
- unaligned_write_be16(&ret_duid->type, DUID_TYPE_UUID);
- memcpy(&ret_duid->uuid.uuid, &machine_id, sizeof(machine_id));
-
- *ret_len = offsetof(struct duid, uuid.uuid) + sizeof(machine_id);
-
- return 0;
-}
-
-int dhcp_identifier_set_duid(
- DUIDType duid_type,
- const struct hw_addr_data *hw_addr,
- uint16_t arp_type,
- usec_t llt_time,
- bool test_mode,
- struct duid *ret_duid,
- size_t *ret_len) {
-
- switch (duid_type) {
- case DUID_TYPE_LLT:
- return dhcp_identifier_set_duid_llt(hw_addr, arp_type, llt_time, ret_duid, ret_len);
- case DUID_TYPE_EN:
- return dhcp_identifier_set_duid_en(test_mode, ret_duid, ret_len);
- case DUID_TYPE_LL:
- return dhcp_identifier_set_duid_ll(hw_addr, arp_type, ret_duid, ret_len);
- case DUID_TYPE_UUID:
- return dhcp_identifier_set_duid_uuid(ret_duid, ret_len);
- default:
- return -EINVAL;
- }
-}
-#endif /* NM_IGNORED */
-
-int dhcp_identifier_set_iaid(
- sd_device *dev,
- const struct hw_addr_data *hw_addr,
- bool legacy_unstable_byteorder,
- void *ret) {
-#if 0 /* NM_IGNORED */
-
- const char *name = NULL;
- uint32_t id32;
- uint64_t id;
-
- assert(hw_addr);
- assert(ret);
-
- if (dev)
- name = net_get_persistent_name(dev);
- if (name)
- id = siphash24(name, strlen(name), HASH_KEY.bytes);
- else
- /* fall back to MAC address if no predictable name available */
- id = siphash24(hw_addr->bytes, hw_addr->length, HASH_KEY.bytes);
-
- id32 = (id & 0xffffffff) ^ (id >> 32);
-
- if (legacy_unstable_byteorder)
- /* for historical reasons (a bug), the bits were swapped and thus
- * the result was endianness dependent. Preserve that behavior. */
- id32 = bswap_32(id32);
- else
- /* the fixed behavior returns a stable byte order. Since LE is expected
- * to be more common, swap the bytes on LE to give the same as legacy
- * behavior. */
- id32 = be32toh(id32);
-
- unaligned_write_ne32(ret, id32);
- return 0;
-#else /* NM_IGNORED */
- /* for NetworkManager, we don't use this function and we should never call here.
- * This got replaced by nm_utils_create_dhcp_iaid(). */
- g_return_val_if_reached (-EINVAL);
-#endif /* NM_IGNORED */
-}
diff --git a/src/libnm-systemd-core/src/libsystemd-network/dhcp-identifier.h b/src/libnm-systemd-core/src/libsystemd-network/dhcp-identifier.h
deleted file mode 100644
index 523dfc4a71..0000000000
--- a/src/libnm-systemd-core/src/libsystemd-network/dhcp-identifier.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1-or-later */
-#pragma once
-
-#include "sd-device.h"
-#include "sd-id128.h"
-
-#include "ether-addr-util.h"
-#include "macro.h"
-#include "sparse-endian.h"
-#include "time-util.h"
-#include "unaligned.h"
-
-#define SYSTEMD_PEN 43793
-
-typedef enum DUIDType {
- DUID_TYPE_LLT = 1,
- DUID_TYPE_EN = 2,
- DUID_TYPE_LL = 3,
- DUID_TYPE_UUID = 4,
- _DUID_TYPE_MAX,
- _DUID_TYPE_INVALID = -EINVAL,
-} DUIDType;
-
-/* RFC 3315 section 9.1:
- * A DUID can be no more than 128 octets long (not including the type code).
- */
-#define MAX_DUID_LEN 128
-
-/* https://tools.ietf.org/html/rfc3315#section-9.1 */
-struct duid {
- be16_t type;
- union {
- struct {
- /* DUID_TYPE_LLT */
- be16_t htype;
- be32_t time;
- uint8_t haddr[0];
- } _packed_ llt;
- struct {
- /* DUID_TYPE_EN */
- be32_t pen;
- uint8_t id[8];
- } _packed_ en;
- struct {
- /* DUID_TYPE_LL */
- be16_t htype;
- uint8_t haddr[0];
- } _packed_ ll;
- struct {
- /* DUID_TYPE_UUID */
- sd_id128_t uuid;
- } _packed_ uuid;
- struct {
- uint8_t data[MAX_DUID_LEN];
- } _packed_ raw;
- };
-} _packed_;
-
-int dhcp_validate_duid_len(DUIDType duid_type, size_t duid_len, bool strict);
-int dhcp_identifier_set_duid_en(bool test_mode, struct duid *ret_duid, size_t *ret_len);
-int dhcp_identifier_set_duid(
- DUIDType duid_type,
- const struct hw_addr_data *hw_addr,
- uint16_t arp_type,
- usec_t llt_time,
- bool test_mode,
- struct duid *ret_duid,
- size_t *ret_len);
-int dhcp_identifier_set_iaid(
- sd_device *dev,
- const struct hw_addr_data *hw_addr,
- bool legacy_unstable_byteorder,
- void *ret);
-
-const char *duid_type_to_string(DUIDType t) _const_;
diff --git a/src/libnm-systemd-core/src/libsystemd-network/dhcp6-client-internal.h b/src/libnm-systemd-core/src/libsystemd-network/dhcp6-client-internal.h
new file mode 100644
index 0000000000..6c17f5749b
--- /dev/null
+++ b/src/libnm-systemd-core/src/libsystemd-network/dhcp6-client-internal.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include "sd-dhcp6-client.h"
+
+int dhcp6_client_set_state_callback(
+ sd_dhcp6_client *client,
+ sd_dhcp6_client_callback_t cb,
+ void *userdata);
+int dhcp6_client_get_state(sd_dhcp6_client *client);
diff --git a/src/libnm-systemd-core/src/libsystemd-network/dhcp6-internal.h b/src/libnm-systemd-core/src/libsystemd-network/dhcp6-internal.h
index fa43f28eb5..3fbfc028e9 100644
--- a/src/libnm-systemd-core/src/libsystemd-network/dhcp6-internal.h
+++ b/src/libnm-systemd-core/src/libsystemd-network/dhcp6-internal.h
@@ -11,7 +11,8 @@
#include "sd-event.h"
#include "sd-dhcp6-client.h"
-#include "dhcp-identifier.h"
+#include "dhcp-duid-internal.h"
+#include "dhcp6-client-internal.h"
#include "dhcp6-option.h"
#include "dhcp6-protocol.h"
#include "ether-addr-util.h"
@@ -63,8 +64,7 @@ struct sd_dhcp6_client {
DHCP6IA ia_na;
DHCP6IA ia_pd;
DHCP6RequestIA request_ia;
- struct duid duid;
- size_t duid_len;
+ sd_dhcp_duid duid;
be16_t *req_opts;
size_t n_req_opts;
char *fqdn;
@@ -79,10 +79,9 @@ struct sd_dhcp6_client {
sd_dhcp6_client_callback_t callback;
void *userdata;
+ sd_dhcp6_client_callback_t state_callback;
+ void *state_userdata;
bool send_release;
-
- /* Ignore machine-ID when generating DUID. See dhcp_identifier_set_duid_en(). */
- bool test_mode;
};
int dhcp6_network_bind_udp_socket(int ifindex, struct in6_addr *address);
@@ -90,7 +89,6 @@ int dhcp6_network_send_udp_socket(int s, struct in6_addr *address,
const void *packet, size_t len);
int dhcp6_client_send_message(sd_dhcp6_client *client);
-void dhcp6_client_set_test_mode(sd_dhcp6_client *client, bool test_mode);
int dhcp6_client_set_transaction_id(sd_dhcp6_client *client, uint32_t transaction_id);
#define log_dhcp6_client_errno(client, error, fmt, ...) \
diff --git a/src/libnm-systemd-core/src/libsystemd-network/dhcp6-lease-internal.h b/src/libnm-systemd-core/src/libsystemd-network/dhcp6-lease-internal.h
index 1f10dccbbb..e76a108f60 100644
--- a/src/libnm-systemd-core/src/libsystemd-network/dhcp6-lease-internal.h
+++ b/src/libnm-systemd-core/src/libsystemd-network/dhcp6-lease-internal.h
@@ -10,7 +10,9 @@
#include "sd-dhcp6-lease.h"
#include "dhcp6-option.h"
+#include "dhcp6-protocol.h"
#include "macro.h"
+#include "set.h"
#include "time-util.h"
struct sd_dhcp6_lease {
@@ -43,9 +45,11 @@ struct sd_dhcp6_lease {
struct in6_addr *sntp;
size_t sntp_count;
char *fqdn;
+ char *captive_portal;
+ struct sd_dhcp6_option **sorted_vendor_options;
+ Set *vendor_options;
};
-int dhcp6_lease_get_lifetime(sd_dhcp6_lease *lease, usec_t *ret_t1, usec_t *ret_t2, usec_t *ret_valid);
int dhcp6_lease_set_clientid(sd_dhcp6_lease *lease, const uint8_t *id, size_t len);
int dhcp6_lease_get_clientid(sd_dhcp6_lease *lease, uint8_t **ret_id, size_t *ret_len);
int dhcp6_lease_set_serverid(sd_dhcp6_lease *lease, const uint8_t *id, size_t len);
@@ -60,6 +64,7 @@ int dhcp6_lease_add_domains(sd_dhcp6_lease *lease, const uint8_t *optval, size_t
int dhcp6_lease_add_ntp(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen);
int dhcp6_lease_add_sntp(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen);
int dhcp6_lease_set_fqdn(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen);
+int dhcp6_lease_set_captive_portal(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen);
int dhcp6_lease_new(sd_dhcp6_lease **ret);
int dhcp6_lease_new_from_message(
@@ -69,3 +74,17 @@ int dhcp6_lease_new_from_message(
const triple_timestamp *timestamp,
const struct in6_addr *server_address,
sd_dhcp6_lease **ret);
+
+#define _FOREACH_DHCP6_ADDRESS(lease, it) \
+ for (int it = sd_dhcp6_lease_address_iterator_reset(lease); \
+ it > 0; \
+ it = sd_dhcp6_lease_address_iterator_next(lease))
+#define FOREACH_DHCP6_ADDRESS(lease) \
+ _FOREACH_DHCP6_ADDRESS(lease, UNIQ_T(i, UNIQ))
+
+#define _FOREACH_DHCP6_PD_PREFIX(lease, it) \
+ for (int it = sd_dhcp6_lease_pd_iterator_reset(lease); \
+ it > 0; \
+ it = sd_dhcp6_lease_pd_iterator_next(lease))
+#define FOREACH_DHCP6_PD_PREFIX(lease) \
+ _FOREACH_DHCP6_PD_PREFIX(lease, UNIQ_T(i, UNIQ))
diff --git a/src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.c b/src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.c
index 23cf8a8966..5fa9b2656e 100644
--- a/src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.c
+++ b/src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.c
@@ -17,6 +17,7 @@
#include "dns-domain.h"
#include "escape.h"
#include "memory-util.h"
+#include "network-common.h"
#include "strv.h"
#include "unaligned.h"
@@ -526,6 +527,26 @@ int dhcp6_option_parse_status(const uint8_t *data, size_t data_len, char **ret_s
return status;
}
+/* parse a string from dhcp option field. *ret must be initialized */
+int dhcp6_option_parse_string(const uint8_t *data, size_t data_len, char **ret) {
+ _cleanup_free_ char *string = NULL;
+ int r;
+
+ assert(data || data_len == 0);
+ assert(ret);
+
+ if (data_len <= 0) {
+ *ret = mfree(*ret);
+ return 0;
+ }
+
+ r = make_cstring((const char *) data, data_len, MAKE_CSTRING_REFUSE_TRAILING_NUL, &string);
+ if (r < 0)
+ return r;
+
+ return free_and_replace(*ret, string);
+}
+
static int dhcp6_option_parse_ia_options(sd_dhcp6_client *client, const uint8_t *buf, size_t buflen) {
int r;
@@ -567,7 +588,7 @@ static int dhcp6_option_parse_ia_options(sd_dhcp6_client *client, const uint8_t
static int dhcp6_option_parse_ia_address(sd_dhcp6_client *client, DHCP6IA *ia, const uint8_t *data, size_t len) {
_cleanup_free_ DHCP6Address *a = NULL;
- uint32_t lt_valid, lt_pref;
+ usec_t lt_valid, lt_pref;
int r;
assert(ia);
@@ -586,17 +607,18 @@ static int dhcp6_option_parse_ia_address(sd_dhcp6_client *client, DHCP6IA *ia, c
memcpy(&a->iaaddr, data, sizeof(struct iaaddr));
- lt_valid = be32toh(a->iaaddr.lifetime_valid);
- lt_pref = be32toh(a->iaaddr.lifetime_preferred);
+ lt_valid = be32_sec_to_usec(a->iaaddr.lifetime_valid, /* max_as_infinity = */ true);
+ lt_pref = be32_sec_to_usec(a->iaaddr.lifetime_preferred, /* max_as_infinity = */ true);
if (lt_valid == 0)
return log_dhcp6_client_errno(client, SYNTHETIC_ERRNO(EINVAL),
"Received an IA address with zero valid lifetime, ignoring.");
if (lt_pref > lt_valid)
return log_dhcp6_client_errno(client, SYNTHETIC_ERRNO(EINVAL),
- "Received an IA address with preferred lifetime %"PRIu32
- " larger than valid lifetime %"PRIu32", ignoring.",
- lt_pref, lt_valid);
+ "Received an IA address with preferred lifetime %s "
+ "larger than valid lifetime %s, ignoring.",
+ FORMAT_TIMESPAN(lt_pref, USEC_PER_SEC),
+ FORMAT_TIMESPAN(lt_valid, USEC_PER_SEC));
if (len > sizeof(struct iaaddr)) {
r = dhcp6_option_parse_ia_options(client, data + sizeof(struct iaaddr), len - sizeof(struct iaaddr));
@@ -610,7 +632,7 @@ static int dhcp6_option_parse_ia_address(sd_dhcp6_client *client, DHCP6IA *ia, c
static int dhcp6_option_parse_ia_pdprefix(sd_dhcp6_client *client, DHCP6IA *ia, const uint8_t *data, size_t len) {
_cleanup_free_ DHCP6Address *a = NULL;
- uint32_t lt_valid, lt_pref;
+ usec_t lt_valid, lt_pref;
int r;
assert(ia);
@@ -629,17 +651,18 @@ static int dhcp6_option_parse_ia_pdprefix(sd_dhcp6_client *client, DHCP6IA *ia,
memcpy(&a->iapdprefix, data, sizeof(struct iapdprefix));
- lt_valid = be32toh(a->iapdprefix.lifetime_valid);
- lt_pref = be32toh(a->iapdprefix.lifetime_preferred);
+ lt_valid = be32_sec_to_usec(a->iapdprefix.lifetime_valid, /* max_as_infinity = */ true);
+ lt_pref = be32_sec_to_usec(a->iapdprefix.lifetime_preferred, /* max_as_infinity = */ true);
if (lt_valid == 0)
return log_dhcp6_client_errno(client, SYNTHETIC_ERRNO(EINVAL),
"Received a PD prefix with zero valid lifetime, ignoring.");
if (lt_pref > lt_valid)
return log_dhcp6_client_errno(client, SYNTHETIC_ERRNO(EINVAL),
- "Received a PD prefix with preferred lifetime %"PRIu32
- " larger than valid lifetime %"PRIu32", ignoring.",
- lt_pref, lt_valid);
+ "Received a PD prefix with preferred lifetime %s "
+ "larger than valid lifetime %s, ignoring.",
+ FORMAT_TIMESPAN(lt_pref, USEC_PER_SEC),
+ FORMAT_TIMESPAN(lt_valid, USEC_PER_SEC));
if (len > sizeof(struct iapdprefix)) {
r = dhcp6_option_parse_ia_options(client, data + sizeof(struct iapdprefix), len - sizeof(struct iapdprefix));
@@ -660,7 +683,7 @@ int dhcp6_option_parse_ia(
DHCP6IA **ret) {
_cleanup_(dhcp6_ia_freep) DHCP6IA *ia = NULL;
- uint32_t lt_t1, lt_t2;
+ usec_t lt_t1, lt_t2;
size_t header_len;
int r;
@@ -710,17 +733,18 @@ int dhcp6_option_parse_ia(
"from the one chosen by the client, ignoring.");
/* It is not necessary to check if the lifetime_t2 is zero here, as in that case it will be updated later. */
- lt_t1 = be32toh(ia->header.lifetime_t1);
- lt_t2 = be32toh(ia->header.lifetime_t2);
+ lt_t1 = be32_sec_to_usec(ia->header.lifetime_t1, /* max_as_infinity = */ true);
+ lt_t2 = be32_sec_to_usec(ia->header.lifetime_t2, /* max_as_infinity = */ true);
if (lt_t1 > lt_t2)
return log_dhcp6_client_errno(client, SYNTHETIC_ERRNO(EINVAL),
- "Received an IA option with T1 %"PRIu32"sec > T2 %"PRIu32"sec, ignoring.",
- lt_t1, lt_t2);
+ "Received an IA option with T1 %s > T2 %s, ignoring.",
+ FORMAT_TIMESPAN(lt_t1, USEC_PER_SEC),
+ FORMAT_TIMESPAN(lt_t2, USEC_PER_SEC));
if (lt_t1 == 0 && lt_t2 > 0)
return log_dhcp6_client_errno(client, SYNTHETIC_ERRNO(EINVAL),
- "Received an IA option with zero T1 and non-zero T2 (%"PRIu32"sec), ignoring.",
- lt_t2);
+ "Received an IA option with zero T1 and non-zero T2 (%s), ignoring.",
+ FORMAT_TIMESPAN(lt_t2, USEC_PER_SEC));
for (size_t offset = header_len; offset < option_data_len;) {
const uint8_t *subdata;
diff --git a/src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.h b/src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.h
index 36841dd270..614b4f8a43 100644
--- a/src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.h
+++ b/src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.h
@@ -88,6 +88,7 @@ int dhcp6_option_parse(
size_t *ret_option_data_len,
const uint8_t **ret_option_data);
int dhcp6_option_parse_status(const uint8_t *data, size_t data_len, char **ret_status_message);
+int dhcp6_option_parse_string(const uint8_t *data, size_t data_len, char **ret);
int dhcp6_option_parse_ia(
sd_dhcp6_client *client,
be32_t iaid,
diff --git a/src/libnm-systemd-core/src/libsystemd-network/network-common.c b/src/libnm-systemd-core/src/libsystemd-network/network-common.c
index bbc289415d..8d62e6ff3b 100644
--- a/src/libnm-systemd-core/src/libsystemd-network/network-common.c
+++ b/src/libnm-systemd-core/src/libsystemd-network/network-common.c
@@ -2,8 +2,11 @@
#include "nm-sd-adapt-core.h"
+#include "env-util.h"
#include "format-util.h"
#include "network-common.h"
+#include "socket-util.h"
+#include "unaligned.h"
int get_ifname(int ifindex, char **ifname) {
assert(ifname);
@@ -15,3 +18,111 @@ int get_ifname(int ifindex, char **ifname) {
return format_ifname_alloc(ifindex, ifname);
}
+
+usec_t unaligned_be32_sec_to_usec(const void *p, bool max_as_infinity) {
+ uint32_t s = unaligned_read_be32(ASSERT_PTR(p));
+
+ if (s == UINT32_MAX && max_as_infinity)
+ return USEC_INFINITY;
+
+ return s * USEC_PER_SEC;
+}
+
+usec_t be32_sec_to_usec(be32_t t, bool max_as_infinity) {
+ uint32_t s = be32toh(t);
+
+ if (s == UINT32_MAX && max_as_infinity)
+ return USEC_INFINITY;
+
+ return s * USEC_PER_SEC;
+}
+
+usec_t be32_msec_to_usec(be32_t t, bool max_as_infinity) {
+ uint32_t s = be32toh(t);
+
+ if (s == UINT32_MAX && max_as_infinity)
+ return USEC_INFINITY;
+
+ return s * USEC_PER_MSEC;
+}
+
+usec_t be16_sec_to_usec(be16_t t, bool max_as_infinity) {
+ uint16_t s = be16toh(t);
+
+ if (s == UINT16_MAX && max_as_infinity)
+ return USEC_INFINITY;
+
+ return s * USEC_PER_SEC;
+}
+
+be32_t usec_to_be32_sec(usec_t t) {
+ if (t == USEC_INFINITY)
+ /* Some settings, e.g. a lifetime of an address, UINT32_MAX is handled as infinity. so let's
+ * map USEC_INFINITY to UINT32_MAX. */
+ return htobe32(UINT32_MAX);
+
+ if (t >= (UINT32_MAX - 1) * USEC_PER_SEC)
+ /* Finite but too large. Let's use the largest (or off-by-one from the largest) finite value. */
+ return htobe32(UINT32_MAX - 1);
+
+ return htobe32((uint32_t) DIV_ROUND_UP(t, USEC_PER_SEC));
+}
+
+be32_t usec_to_be32_msec(usec_t t) {
+ if (t == USEC_INFINITY)
+ return htobe32(UINT32_MAX);
+
+ if (t >= (UINT32_MAX - 1) * USEC_PER_MSEC)
+ return htobe32(UINT32_MAX - 1);
+
+ return htobe32((uint32_t) DIV_ROUND_UP(t, USEC_PER_MSEC));
+}
+
+be16_t usec_to_be16_sec(usec_t t) {
+ if (t == USEC_INFINITY)
+ return htobe16(UINT16_MAX);
+
+ if (t >= (UINT16_MAX - 1) * USEC_PER_SEC)
+ return htobe16(UINT16_MAX - 1);
+
+ return htobe16((uint16_t) DIV_ROUND_UP(t, USEC_PER_SEC));
+}
+
+usec_t time_span_to_stamp(usec_t span, usec_t base) {
+ /* Typically, 0 lifetime (timespan) indicates the corresponding configuration (address or so) must be
+ * dropped. So, when the timespan is zero, here we return 0 rather than 'base'. This makes the caller
+ * easily understand that the configuration needs to be dropped immediately. */
+ if (span == 0)
+ return 0;
+
+ return usec_add(base, span);
+}
+
+bool network_test_mode_enabled(void) {
+ static int test_mode = -1;
+ int r;
+
+ if (test_mode < 0) {
+ r = getenv_bool("SYSTEMD_NETWORK_TEST_MODE");
+ if (r < 0) {
+ if (r != -ENXIO)
+ log_debug_errno(r, "Failed to parse $SYSTEMD_NETWORK_TEST_MODE environment variable, ignoring: %m");
+
+ test_mode = false;
+ } else
+ test_mode = r;
+ }
+
+ return test_mode;
+}
+
+triple_timestamp* triple_timestamp_from_cmsg(triple_timestamp *t, struct msghdr *mh) {
+ assert(t);
+ assert(mh);
+
+ struct timeval *tv = CMSG_FIND_AND_COPY_DATA(mh, SOL_SOCKET, SCM_TIMESTAMP, struct timeval);
+ if (tv)
+ return triple_timestamp_from_realtime(t, timeval_load(tv));
+
+ return triple_timestamp_now(t);
+}
diff --git a/src/libnm-systemd-core/src/libsystemd-network/network-common.h b/src/libnm-systemd-core/src/libsystemd-network/network-common.h
index 2b0e3b5607..1750f1810b 100644
--- a/src/libnm-systemd-core/src/libsystemd-network/network-common.h
+++ b/src/libnm-systemd-core/src/libsystemd-network/network-common.h
@@ -1,7 +1,11 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
+#include <sys/socket.h>
+
#include "log-link.h"
+#include "sparse-endian.h"
+#include "time-util.h"
#define log_interface_prefix_full_errno_zerook(prefix, type, val, error, fmt, ...) \
({ \
@@ -28,3 +32,18 @@
})
int get_ifname(int ifindex, char **ifname);
+
+usec_t unaligned_be32_sec_to_usec(const void *p, bool max_as_infinity);
+usec_t be32_sec_to_usec(be32_t t, bool max_as_infinity);
+usec_t be32_msec_to_usec(be32_t t, bool max_as_infinity);
+usec_t be16_sec_to_usec(be16_t t, bool max_as_infinity);
+be32_t usec_to_be32_sec(usec_t t);
+be32_t usec_to_be32_msec(usec_t t);
+be16_t usec_to_be16_sec(usec_t t);
+usec_t time_span_to_stamp(usec_t span, usec_t base);
+
+bool network_test_mode_enabled(void);
+
+triple_timestamp* triple_timestamp_from_cmsg(triple_timestamp *t, struct msghdr *mh);
+#define TRIPLE_TIMESTAMP_FROM_CMSG(mh) \
+ triple_timestamp_from_cmsg(&(triple_timestamp) {}, mh)
diff --git a/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c b/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c
new file mode 100644
index 0000000000..e664a4a720
--- /dev/null
+++ b/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c
@@ -0,0 +1,290 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#include "nm-sd-adapt-core.h"
+
+#include <linux/if_infiniband.h>
+#include <net/ethernet.h>
+#include <net/if_arp.h>
+
+#include "dhcp-duid-internal.h"
+#include "hexdecoct.h"
+#include "netif-util.h"
+#include "network-common.h"
+#include "siphash24.h"
+#include "string-table.h"
+#include "unaligned.h"
+
+#define HASH_KEY SD_ID128_MAKE(80,11,8c,c2,fe,4a,03,ee,3e,d6,0c,6f,36,39,14,09)
+#define APPLICATION_ID SD_ID128_MAKE(a5,0a,d1,12,bf,60,45,77,a2,fb,74,1a,b1,95,5b,03)
+#define USEC_2000 ((usec_t) 946684800000000) /* 2000-01-01 00:00:00 UTC */
+
+static const char * const duid_type_table[_DUID_TYPE_MAX] = {
+ [DUID_TYPE_LLT] = "DUID-LLT",
+ [DUID_TYPE_EN] = "DUID-EN/Vendor",
+ [DUID_TYPE_LL] = "DUID-LL",
+ [DUID_TYPE_UUID] = "UUID",
+};
+
+DEFINE_STRING_TABLE_LOOKUP_TO_STRING(duid_type, DUIDType);
+
+int sd_dhcp_duid_clear(sd_dhcp_duid *duid) {
+ assert_return(duid, -EINVAL);
+
+ *duid = (sd_dhcp_duid) {};
+ return 0;
+}
+
+int sd_dhcp_duid_is_set(const sd_dhcp_duid *duid) {
+ if (!duid)
+ return false;
+
+ return duid_size_is_valid(duid->size);
+}
+
+int sd_dhcp_duid_get(const sd_dhcp_duid *duid, uint16_t *ret_type, const void **ret_data, size_t *ret_size) {
+ assert_return(sd_dhcp_duid_is_set(duid), -EINVAL);
+ assert_return(ret_type, -EINVAL);
+ assert_return(ret_data, -EINVAL);
+ assert_return(ret_size, -EINVAL);
+
+ *ret_type = be16toh(duid->duid.type);
+ *ret_data = duid->duid.data;
+ *ret_size = duid->size - offsetof(struct duid, data);
+ return 0;
+}
+
+int sd_dhcp_duid_get_raw(const sd_dhcp_duid *duid, const void **ret_data, size_t *ret_size) {
+ assert_return(sd_dhcp_duid_is_set(duid), -EINVAL);
+ assert_return(ret_data, -EINVAL);
+ assert_return(ret_size, -EINVAL);
+
+ /* Unlike sd_dhcp_duid_get(), this returns whole DUID including its type. */
+
+ *ret_data = duid->raw;
+ *ret_size = duid->size;
+ return 0;
+}
+
+int sd_dhcp_duid_set(
+ sd_dhcp_duid *duid,
+ uint16_t duid_type,
+ const void *data,
+ size_t data_size) {
+
+ assert_return(duid, -EINVAL);
+ assert_return(data, -EINVAL);
+
+ if (!duid_data_size_is_valid(data_size))
+ return -EINVAL;
+
+ unaligned_write_be16(&duid->duid.type, duid_type);
+ memcpy(duid->duid.data, data, data_size);
+
+ duid->size = offsetof(struct duid, data) + data_size;
+ return 0;
+}
+
+int sd_dhcp_duid_set_raw(
+ sd_dhcp_duid *duid,
+ const void *data,
+ size_t data_size) {
+
+ assert_return(duid, -EINVAL);
+ assert_return(data, -EINVAL);
+
+ /* Unlike sd_dhcp_duid_set(), this takes whole DUID including its type. */
+
+ if (!duid_size_is_valid(data_size))
+ return -EINVAL;
+
+ memcpy(duid->raw, data, data_size);
+
+ duid->size = data_size;
+ return 0;
+}
+
+int sd_dhcp_duid_set_llt(
+ sd_dhcp_duid *duid,
+ const void *hw_addr,
+ size_t hw_addr_size,
+ uint16_t arp_type,
+ uint64_t usec) {
+
+ uint16_t time_from_2000y;
+
+ assert_return(duid, -EINVAL);
+ assert_return(hw_addr, -EINVAL);
+
+ if (arp_type == ARPHRD_ETHER)
+ assert_return(hw_addr_size == ETH_ALEN, -EINVAL);
+ else if (arp_type == ARPHRD_INFINIBAND)
+ assert_return(hw_addr_size == INFINIBAND_ALEN, -EINVAL);
+ else
+ return -EOPNOTSUPP;
+
+ time_from_2000y = (uint16_t) ((usec_sub_unsigned(usec, USEC_2000) / USEC_PER_SEC) & 0xffffffff);
+
+ unaligned_write_be16(&duid->duid.type, SD_DUID_TYPE_LLT);
+ unaligned_write_be16(&duid->duid.llt.htype, arp_type);
+ unaligned_write_be32(&duid->duid.llt.time, time_from_2000y);
+ memcpy(duid->duid.llt.haddr, hw_addr, hw_addr_size);
+
+ duid->size = offsetof(struct duid, llt.haddr) + hw_addr_size;
+ return 0;
+}
+
+int sd_dhcp_duid_set_ll(
+ sd_dhcp_duid *duid,
+ const void *hw_addr,
+ size_t hw_addr_size,
+ uint16_t arp_type) {
+
+ assert_return(duid, -EINVAL);
+ assert_return(hw_addr, -EINVAL);
+
+ if (arp_type == ARPHRD_ETHER)
+ assert_return(hw_addr_size == ETH_ALEN, -EINVAL);
+ else if (arp_type == ARPHRD_INFINIBAND)
+ assert_return(hw_addr_size == INFINIBAND_ALEN, -EINVAL);
+ else
+ return -EOPNOTSUPP;
+
+ unaligned_write_be16(&duid->duid.type, SD_DUID_TYPE_LL);
+ unaligned_write_be16(&duid->duid.ll.htype, arp_type);
+ memcpy(duid->duid.ll.haddr, hw_addr, hw_addr_size);
+
+ duid->size = offsetof(struct duid, ll.haddr) + hw_addr_size;
+ return 0;
+}
+
+int sd_dhcp_duid_set_en(sd_dhcp_duid *duid) {
+ sd_id128_t machine_id;
+ bool test_mode;
+ uint64_t hash;
+ int r;
+
+ assert_return(duid, -EINVAL);
+
+ test_mode = network_test_mode_enabled();
+
+ if (!test_mode) {
+ r = sd_id128_get_machine(&machine_id);
+ if (r < 0)
+ return r;
+ } else
+ /* For tests, especially for fuzzers, reproducibility is important.
+ * Hence, use a static and constant machine ID.
+ * See 9216fddc5a8ac2742e6cfa7660f95c20ca4f2193. */
+ machine_id = SD_ID128_MAKE(01, 02, 03, 04, 05, 06, 07, 08, 09, 0a, 0b, 0c, 0d, 0e, 0f, 10);
+
+ unaligned_write_be16(&duid->duid.type, SD_DUID_TYPE_EN);
+ unaligned_write_be32(&duid->duid.en.pen, SYSTEMD_PEN);
+
+ /* a bit of snake-oil perhaps, but no need to expose the machine-id
+ * directly; duid->en.id might not be aligned, so we need to copy */
+ hash = htole64(siphash24(&machine_id, sizeof(machine_id), HASH_KEY.bytes));
+ memcpy(duid->duid.en.id, &hash, sizeof(hash));
+
+ duid->size = offsetof(struct duid, en.id) + sizeof(hash);
+
+ if (test_mode)
+ assert_se(memcmp(&duid->duid, (const uint8_t[]) { 0x00, 0x02, 0x00, 0x00, 0xab, 0x11, 0x61, 0x77, 0x40, 0xde, 0x13, 0x42, 0xc3, 0xa2 }, duid->size) == 0);
+
+ return 0;
+}
+
+int sd_dhcp_duid_set_uuid(sd_dhcp_duid *duid) {
+ sd_id128_t machine_id;
+ int r;
+
+ assert_return(duid, -EINVAL);
+
+ r = sd_id128_get_machine_app_specific(APPLICATION_ID, &machine_id);
+ if (r < 0)
+ return r;
+
+ unaligned_write_be16(&duid->duid.type, SD_DUID_TYPE_UUID);
+ memcpy(&duid->duid.uuid.uuid, &machine_id, sizeof(machine_id));
+
+ duid->size = offsetof(struct duid, uuid.uuid) + sizeof(machine_id);
+ return 0;
+}
+
+int dhcp_duid_to_string_internal(uint16_t type, const void *data, size_t data_size, char **ret) {
+ _cleanup_free_ char *p = NULL, *x = NULL;
+ const char *t;
+
+ assert(data);
+ assert(ret);
+
+ if (!duid_data_size_is_valid(data_size))
+ return -EINVAL;
+
+ x = hexmem(data, data_size);
+ if (!x)
+ return -ENOMEM;
+
+ t = duid_type_to_string(type);
+ if (!t)
+ return asprintf(ret, "%04x:%s", htobe16(type), x);
+
+ p = strjoin(t, ":", x);
+ if (!p)
+ return -ENOMEM;
+
+ *ret = TAKE_PTR(p);
+ return 0;
+}
+
+int sd_dhcp_duid_to_string(const sd_dhcp_duid *duid, char **ret) {
+ uint16_t type;
+ const void *data;
+ size_t data_size;
+ int r;
+
+ assert_return(sd_dhcp_duid_is_set(duid), -EINVAL);
+ assert_return(ret, -EINVAL);
+
+ r = sd_dhcp_duid_get(duid, &type, &data, &data_size);
+ if (r < 0)
+ return r;
+
+ return dhcp_duid_to_string_internal(type, data, data_size, ret);
+}
+
+int dhcp_identifier_set_iaid(
+ sd_device *dev,
+ const struct hw_addr_data *hw_addr,
+ bool legacy_unstable_byteorder,
+ void *ret) {
+
+ const char *name = NULL;
+ uint32_t id32;
+ uint64_t id;
+
+ assert(hw_addr);
+ assert(ret);
+
+ if (dev)
+ name = net_get_persistent_name(dev);
+ if (name)
+ id = siphash24(name, strlen(name), HASH_KEY.bytes);
+ else
+ /* fall back to MAC address if no predictable name available */
+ id = siphash24(hw_addr->bytes, hw_addr->length, HASH_KEY.bytes);
+
+ id32 = (id & 0xffffffff) ^ (id >> 32);
+
+ if (legacy_unstable_byteorder)
+ /* for historical reasons (a bug), the bits were swapped and thus
+ * the result was endianness dependent. Preserve that behavior. */
+ id32 = bswap_32(id32);
+ else
+ /* the fixed behavior returns a stable byte order. Since LE is expected
+ * to be more common, swap the bytes on LE to give the same as legacy
+ * behavior. */
+ id32 = be32toh(id32);
+
+ unaligned_write_ne32(ret, id32);
+ return 0;
+}
diff --git a/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-client.c b/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-client.c
index 0e6f21f47b..943630ab8d 100644
--- a/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-client.c
+++ b/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-client.c
@@ -7,27 +7,22 @@
#include <errno.h>
#include <sys/ioctl.h>
-#if 0 /* NM_IGNORED */
#include <linux/if_arp.h>
-#else /* NM_IGNORED */
-#include <net/if_arp.h>
-#endif /* NM_IGNORED */
#include <linux/if_infiniband.h>
#include "sd-dhcp6-client.h"
#include "alloc-util.h"
#include "device-util.h"
-#include "dhcp-identifier.h"
+#include "dhcp-duid-internal.h"
#include "dhcp6-internal.h"
#include "dhcp6-lease-internal.h"
#include "dns-domain.h"
#include "event-util.h"
#include "fd-util.h"
-#include "hexdecoct.h"
#include "hostname-util.h"
#include "in-addr-util.h"
-#include "io-util.h"
+#include "iovec-util.h"
#include "random-util.h"
#include "socket-util.h"
#include "sort-util.h"
@@ -52,6 +47,19 @@ int sd_dhcp6_client_set_callback(
return 0;
}
+int dhcp6_client_set_state_callback(
+ sd_dhcp6_client *client,
+ sd_dhcp6_client_callback_t cb,
+ void *userdata) {
+
+ assert_return(client, -EINVAL);
+
+ client->state_callback = cb;
+ client->state_userdata = userdata;
+
+ return 0;
+}
+
int sd_dhcp6_client_set_ifindex(sd_dhcp6_client *client, int ifindex) {
assert_return(client, -EINVAL);
assert_return(!sd_dhcp6_client_is_running(client), -EBUSY);
@@ -184,10 +192,10 @@ int sd_dhcp6_client_add_vendor_option(sd_dhcp6_client *client, sd_dhcp6_option *
static int client_ensure_duid(sd_dhcp6_client *client) {
assert(client);
- if (client->duid_len != 0)
+ if (sd_dhcp_duid_is_set(&client->duid))
return 0;
- return dhcp_identifier_set_duid_en(client->test_mode, &client->duid, &client->duid_len);
+ return sd_dhcp6_client_set_duid_en(client);
}
/**
@@ -195,101 +203,102 @@ static int client_ensure_duid(sd_dhcp6_client *client) {
* without further modification. Otherwise, if duid_type is supported, DUID
* is set based on that type. Otherwise, an error is returned.
*/
-static int dhcp6_client_set_duid_internal(
- sd_dhcp6_client *client,
- DUIDType duid_type,
- const void *duid,
- size_t duid_len,
- usec_t llt_time) {
+int sd_dhcp6_client_set_duid_llt(sd_dhcp6_client *client, uint64_t llt_time) {
int r;
assert_return(client, -EINVAL);
assert_return(!sd_dhcp6_client_is_running(client), -EBUSY);
- assert_return(duid_len == 0 || duid, -EINVAL);
- if (duid) {
- r = dhcp_validate_duid_len(duid_type, duid_len, true);
- if (r < 0) {
- r = dhcp_validate_duid_len(duid_type, duid_len, false);
- if (r < 0)
- return log_dhcp6_client_errno(client, r, "Failed to validate length of DUID: %m");
+ r = sd_dhcp_duid_set_llt(&client->duid, client->hw_addr.bytes, client->hw_addr.length, client->arp_type, llt_time);
+ if (r < 0)
+ return log_dhcp6_client_errno(client, r, "Failed to set DUID-LLT: %m");
- log_dhcp6_client(client, "Using DUID of type %i of incorrect length, proceeding.", duid_type);
- }
+ return 0;
+}
- client->duid.type = htobe16(duid_type);
- memcpy(&client->duid.raw.data, duid, duid_len);
- client->duid_len = sizeof(client->duid.type) + duid_len;
+int sd_dhcp6_client_set_duid_ll(sd_dhcp6_client *client) {
+ int r;
- } else {
-#if 0 /* NM_IGNORED */
- r = dhcp_identifier_set_duid(duid_type, &client->hw_addr, client->arp_type, llt_time,
- client->test_mode, &client->duid, &client->duid_len);
- if (r == -EOPNOTSUPP)
- return log_dhcp6_client_errno(client, r,
- "Failed to set %s. MAC address is not set or "
- "interface type is not supported.",
- duid_type_to_string(duid_type));
- if (r < 0)
- return log_dhcp6_client_errno(client, r, "Failed to set %s: %m",
- duid_type_to_string(duid_type));
-#else /* NM_IGNORED */
- g_return_val_if_reached (-EINVAL);
-#endif /* NM_IGNORED */
- }
+ assert_return(client, -EINVAL);
+ assert_return(!sd_dhcp6_client_is_running(client), -EBUSY);
+
+ r = sd_dhcp_duid_set_ll(&client->duid, client->hw_addr.bytes, client->hw_addr.length, client->arp_type);
+ if (r < 0)
+ return log_dhcp6_client_errno(client, r, "Failed to set DUID-LL: %m");
return 0;
}
-int sd_dhcp6_client_set_duid(
- sd_dhcp6_client *client,
- uint16_t duid_type,
- const void *duid,
- size_t duid_len) {
- return dhcp6_client_set_duid_internal(client, duid_type, duid, duid_len, 0);
+int sd_dhcp6_client_set_duid_en(sd_dhcp6_client *client) {
+ int r;
+
+ assert_return(client, -EINVAL);
+ assert_return(!sd_dhcp6_client_is_running(client), -EBUSY);
+
+ r = sd_dhcp_duid_set_en(&client->duid);
+ if (r < 0)
+ return log_dhcp6_client_errno(client, r, "Failed to set DUID-EN: %m");
+
+ return 0;
}
-int sd_dhcp6_client_set_duid_llt(
- sd_dhcp6_client *client,
- usec_t llt_time) {
- return dhcp6_client_set_duid_internal(client, DUID_TYPE_LLT, NULL, 0, llt_time);
+int sd_dhcp6_client_set_duid_uuid(sd_dhcp6_client *client) {
+ int r;
+
+ assert_return(client, -EINVAL);
+ assert_return(!sd_dhcp6_client_is_running(client), -EBUSY);
+
+ r = sd_dhcp_duid_set_uuid(&client->duid);
+ if (r < 0)
+ return log_dhcp6_client_errno(client, r, "Failed to set DUID-UUID: %m");
+
+ return 0;
}
-int sd_dhcp6_client_duid_as_string(
- sd_dhcp6_client *client,
- char **duid) {
- _cleanup_free_ char *p = NULL, *s = NULL, *t = NULL;
- const char *v;
+int sd_dhcp6_client_set_duid_raw(sd_dhcp6_client *client, uint16_t duid_type, const uint8_t *duid, size_t duid_len) {
int r;
assert_return(client, -EINVAL);
- assert_return(client->duid_len > 0, -ENODATA);
- assert_return(duid, -EINVAL);
+ assert_return(!sd_dhcp6_client_is_running(client), -EBUSY);
+ assert_return(duid || duid_len == 0, -EINVAL);
- v = duid_type_to_string(be16toh(client->duid.type));
- if (v) {
- s = strdup(v);
- if (!s)
- return -ENOMEM;
- } else {
- r = asprintf(&s, "%0x", client->duid.type);
- if (r < 0)
- return -ENOMEM;
- }
+ r = sd_dhcp_duid_set(&client->duid, duid_type, duid, duid_len);
+ if (r < 0)
+ return log_dhcp6_client_errno(client, r, "Failed to set DUID: %m");
- t = hexmem(&client->duid.raw.data, client->duid_len);
- if (!t)
- return -ENOMEM;
+ return 0;
+}
- p = strjoin(s, ":", t);
- if (!p)
- return -ENOMEM;
+int sd_dhcp6_client_set_duid(sd_dhcp6_client *client, const sd_dhcp_duid *duid) {
+ assert_return(client, -EINVAL);
+ assert_return(!sd_dhcp6_client_is_running(client), -EBUSY);
+ assert_return(sd_dhcp_duid_is_set(duid), -EINVAL);
- *duid = TAKE_PTR(p);
+ client->duid = *duid;
+ return 0;
+}
+int sd_dhcp6_client_get_duid(sd_dhcp6_client *client, const sd_dhcp_duid **ret) {
+ assert_return(client, -EINVAL);
+ assert_return(ret, -EINVAL);
+
+ if (!sd_dhcp_duid_is_set(&client->duid))
+ return -ENODATA;
+
+ *ret = &client->duid;
return 0;
}
+int sd_dhcp6_client_get_duid_as_string(sd_dhcp6_client *client, char **ret) {
+ assert_return(client, -EINVAL);
+ assert_return(ret, -EINVAL);
+
+ if (!sd_dhcp_duid_is_set(&client->duid))
+ return -ENODATA;
+
+ return sd_dhcp_duid_to_string(&client->duid, ret);
+}
+
int sd_dhcp6_client_set_iaid(sd_dhcp6_client *client, uint32_t iaid) {
assert_return(client, -EINVAL);
assert_return(!sd_dhcp6_client_is_running(client), -EBUSY);
@@ -335,12 +344,6 @@ int sd_dhcp6_client_get_iaid(sd_dhcp6_client *client, uint32_t *iaid) {
return 0;
}
-void dhcp6_client_set_test_mode(sd_dhcp6_client *client, bool test_mode) {
- assert(client);
-
- client->test_mode = test_mode;
-}
-
int sd_dhcp6_client_set_fqdn(
sd_dhcp6_client *client,
const char *fqdn) {
@@ -491,7 +494,7 @@ int sd_dhcp6_client_set_address_request(sd_dhcp6_client *client, int request) {
int dhcp6_client_set_transaction_id(sd_dhcp6_client *client, uint32_t transaction_id) {
assert(client);
- assert(client->test_mode);
+ assert_se(network_test_mode_enabled());
/* This is for tests or fuzzers. */
@@ -510,7 +513,6 @@ int sd_dhcp6_client_set_rapid_commit(sd_dhcp6_client *client, int enable) {
int sd_dhcp6_client_set_send_release(sd_dhcp6_client *client, int enable) {
assert_return(client, -EINVAL);
- assert_return(!sd_dhcp6_client_is_running(client), -EBUSY);
client->send_release = enable;
return 0;
@@ -552,6 +554,15 @@ static void client_set_state(sd_dhcp6_client *client, DHCP6State state) {
dhcp6_state_to_string(client->state), dhcp6_state_to_string(state));
client->state = state;
+
+ if (client->state_callback)
+ client->state_callback(client, state, client->state_userdata);
+}
+
+int dhcp6_client_get_state(sd_dhcp6_client *client) {
+ assert_return(client, -EINVAL);
+
+ return client->state;
}
static void client_notify(sd_dhcp6_client *client, int event) {
@@ -809,9 +820,9 @@ int dhcp6_client_send_message(sd_dhcp6_client *client) {
if (r < 0)
return r;
- assert(client->duid_len > 0);
+ assert(sd_dhcp_duid_is_set(&client->duid));
r = dhcp6_option_append(&buf, &offset, SD_DHCP6_OPTION_CLIENTID,
- client->duid_len, &client->duid);
+ client->duid.size, &client->duid.duid);
if (r < 0)
return r;
@@ -824,7 +835,7 @@ int dhcp6_client_send_message(sd_dhcp6_client *client) {
/* RFC 8415 Section 21.9.
* A client MUST include an Elapsed Time option in messages to indicate how long the client has
* been trying to complete a DHCP message exchange. */
- elapsed_usec = NM_MIN(usec_sub_unsigned(time_now, client->transaction_start) / USEC_PER_MSEC / 10, (usec_t) UINT16_MAX);
+ elapsed_usec = MIN(usec_sub_unsigned(time_now, client->transaction_start) / USEC_PER_MSEC / 10, (usec_t) UINT16_MAX);
elapsed_time = htobe16(elapsed_usec);
r = dhcp6_option_append(&buf, &offset, SD_DHCP6_OPTION_ELAPSED_TIME, sizeof(elapsed_time), &elapsed_time);
if (r < 0)
@@ -1047,12 +1058,20 @@ static int client_enter_bound_state(sd_dhcp6_client *client) {
(void) event_source_disable(client->receive_message);
(void) event_source_disable(client->timeout_resend);
- r = dhcp6_lease_get_lifetime(client->lease, &lifetime_t1, &lifetime_t2, &lifetime_valid);
+ r = sd_dhcp6_lease_get_t1(client->lease, &lifetime_t1);
+ if (r < 0)
+ goto error;
+
+ r = sd_dhcp6_lease_get_t2(client->lease, &lifetime_t2);
+ if (r < 0)
+ goto error;
+
+ r = sd_dhcp6_lease_get_valid_lifetime(client->lease, &lifetime_valid);
if (r < 0)
goto error;
lifetime_t2 = client_timeout_compute_random(lifetime_t2);
- lifetime_t1 = client_timeout_compute_random(NM_MIN(lifetime_t1, lifetime_t2));
+ lifetime_t1 = client_timeout_compute_random(MIN(lifetime_t1, lifetime_t2));
if (lifetime_t1 == USEC_INFINITY) {
log_dhcp6_client(client, "Infinite T1");
@@ -1286,16 +1305,15 @@ static int client_receive_message(
.msg_control = &control,
.msg_controllen = sizeof(control),
};
- triple_timestamp t = {};
+ triple_timestamp t;
_cleanup_free_ DHCP6Message *message = NULL;
struct in6_addr *server_address = NULL;
ssize_t buflen, len;
buflen = next_datagram_size_fd(fd);
+ if (ERRNO_IS_NEG_TRANSIENT(buflen) || ERRNO_IS_NEG_DISCONNECT(buflen))
+ return 0;
if (buflen < 0) {
- if (ERRNO_IS_TRANSIENT(buflen) || ERRNO_IS_DISCONNECT(buflen))
- return 0;
-
log_dhcp6_client_errno(client, buflen, "Failed to determine datagram size to read, ignoring: %m");
return 0;
}
@@ -1307,10 +1325,9 @@ static int client_receive_message(
iov = IOVEC_MAKE(message, buflen);
len = recvmsg_safe(fd, &msg, MSG_DONTWAIT);
+ if (ERRNO_IS_NEG_TRANSIENT(len) || ERRNO_IS_NEG_DISCONNECT(len))
+ return 0;
if (len < 0) {
- if (ERRNO_IS_TRANSIENT(len) || ERRNO_IS_DISCONNECT(len))
- return 0;
-
log_dhcp6_client_errno(client, len, "Could not receive message from UDP socket, ignoring: %m");
return 0;
}
@@ -1329,9 +1346,7 @@ static int client_receive_message(
server_address = &sa.in6.sin6_addr;
}
- struct timeval *tv = CMSG_FIND_AND_COPY_DATA(&msg, SOL_SOCKET, SCM_TIMESTAMP, struct timeval);
- if (tv)
- triple_timestamp_from_realtime(&t, timeval_load(tv));
+ triple_timestamp_from_cmsg(&t, &msg);
if (client->transaction_id != (message->transaction_id & htobe32(0x00ffffff)))
return 0;
diff --git a/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-lease.c b/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-lease.c
index 3e25b4e819..a42df24375 100644
--- a/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-lease.c
+++ b/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-lease.c
@@ -10,7 +10,9 @@
#include "alloc-util.h"
#include "dhcp6-internal.h"
#include "dhcp6-lease-internal.h"
+#include "network-common.h"
#include "strv.h"
+#include "unaligned.h"
#define IRT_DEFAULT (1 * USEC_PER_DAY)
#define IRT_MINIMUM (600 * USEC_PER_SEC)
@@ -21,7 +23,7 @@ static void dhcp6_lease_set_timestamp(sd_dhcp6_lease *lease, const triple_timest
if (timestamp && triple_timestamp_is_set(timestamp))
lease->timestamp = *timestamp;
else
- triple_timestamp_get(&lease->timestamp);
+ triple_timestamp_now(&lease->timestamp);
}
int sd_dhcp6_lease_get_timestamp(sd_dhcp6_lease *lease, clockid_t clock, uint64_t *ret) {
@@ -37,30 +39,26 @@ int sd_dhcp6_lease_get_timestamp(sd_dhcp6_lease *lease, clockid_t clock, uint64_
return 0;
}
-static usec_t sec2usec(uint32_t sec) {
- return sec == UINT32_MAX ? USEC_INFINITY : sec * USEC_PER_SEC;
-}
-
static void dhcp6_lease_set_lifetime(sd_dhcp6_lease *lease) {
- uint32_t t1 = UINT32_MAX, t2 = UINT32_MAX, min_valid_lt = UINT32_MAX;
+ usec_t t1 = USEC_INFINITY, t2 = USEC_INFINITY, min_valid_lt = USEC_INFINITY;
assert(lease);
assert(lease->ia_na || lease->ia_pd);
if (lease->ia_na) {
- t1 = MIN(t1, be32toh(lease->ia_na->header.lifetime_t1));
- t2 = MIN(t2, be32toh(lease->ia_na->header.lifetime_t2));
+ t1 = MIN(t1, be32_sec_to_usec(lease->ia_na->header.lifetime_t1, /* max_as_infinity = */ true));
+ t2 = MIN(t2, be32_sec_to_usec(lease->ia_na->header.lifetime_t2, /* max_as_infinity = */ true));
LIST_FOREACH(addresses, a, lease->ia_na->addresses)
- min_valid_lt = MIN(min_valid_lt, be32toh(a->iaaddr.lifetime_valid));
+ min_valid_lt = MIN(min_valid_lt, be32_sec_to_usec(a->iaaddr.lifetime_valid, /* max_as_infinity = */ true));
}
if (lease->ia_pd) {
- t1 = MIN(t1, be32toh(lease->ia_pd->header.lifetime_t1));
- t2 = MIN(t2, be32toh(lease->ia_pd->header.lifetime_t2));
+ t1 = MIN(t1, be32_sec_to_usec(lease->ia_pd->header.lifetime_t1, /* max_as_infinity = */ true));
+ t2 = MIN(t2, be32_sec_to_usec(lease->ia_pd->header.lifetime_t2, /* max_as_infinity = */ true));
LIST_FOREACH(addresses, a, lease->ia_pd->addresses)
- min_valid_lt = MIN(min_valid_lt, be32toh(a->iapdprefix.lifetime_valid));
+ min_valid_lt = MIN(min_valid_lt, be32_sec_to_usec(a->iapdprefix.lifetime_valid, /* max_as_infinity = */ true));
}
if (t2 == 0 || t2 > min_valid_lt) {
@@ -70,25 +68,52 @@ static void dhcp6_lease_set_lifetime(sd_dhcp6_lease *lease) {
t2 = min_valid_lt / 10 * 8;
}
- lease->lifetime_valid = sec2usec(min_valid_lt);
- lease->lifetime_t1 = sec2usec(t1);
- lease->lifetime_t2 = sec2usec(t2);
-}
-
-int dhcp6_lease_get_lifetime(sd_dhcp6_lease *lease, usec_t *ret_t1, usec_t *ret_t2, usec_t *ret_valid) {
- assert(lease);
+ lease->lifetime_valid = min_valid_lt;
+ lease->lifetime_t1 = t1;
+ lease->lifetime_t2 = t2;
+}
+
+#define DEFINE_GET_TIME_FUNCTIONS(name, val) \
+ int sd_dhcp6_lease_get_##name( \
+ sd_dhcp6_lease *lease, \
+ uint64_t *ret) { \
+ \
+ assert_return(lease, -EINVAL); \
+ \
+ if (!lease->ia_na && !lease->ia_pd) \
+ return -ENODATA; \
+ \
+ if (ret) \
+ *ret = lease->val; \
+ return 0; \
+ } \
+ \
+ int sd_dhcp6_lease_get_##name##_timestamp( \
+ sd_dhcp6_lease *lease, \
+ clockid_t clock, \
+ uint64_t *ret) { \
+ \
+ usec_t s, t; \
+ int r; \
+ \
+ assert_return(lease, -EINVAL); \
+ \
+ r = sd_dhcp6_lease_get_##name(lease, &s); \
+ if (r < 0) \
+ return r; \
+ \
+ r = sd_dhcp6_lease_get_timestamp(lease, clock, &t); \
+ if (r < 0) \
+ return r; \
+ \
+ if (ret) \
+ *ret = time_span_to_stamp(s, t); \
+ return 0; \
+ }
- if (!lease->ia_na && !lease->ia_pd)
- return -ENODATA;
-
- if (ret_t1)
- *ret_t1 = lease->lifetime_t1;
- if (ret_t2)
- *ret_t2 = lease->lifetime_t2;
- if (ret_valid)
- *ret_valid = lease->lifetime_valid;
- return 0;
-}
+DEFINE_GET_TIME_FUNCTIONS(t1, lifetime_t1);
+DEFINE_GET_TIME_FUNCTIONS(t2, lifetime_t1);
+DEFINE_GET_TIME_FUNCTIONS(valid_lifetime, lifetime_valid);
static void dhcp6_lease_set_server_address(sd_dhcp6_lease *lease, const struct in6_addr *server_address) {
assert(lease);
@@ -218,61 +243,151 @@ int dhcp6_lease_get_rapid_commit(sd_dhcp6_lease *lease, bool *ret) {
return 0;
}
-int sd_dhcp6_lease_get_address(
+int sd_dhcp6_lease_get_address(sd_dhcp6_lease *lease, struct in6_addr *ret) {
+ assert_return(lease, -EINVAL);
+
+ if (!lease->addr_iter)
+ return -ENODATA;
+
+ if (ret)
+ *ret = lease->addr_iter->iaaddr.address;
+ return 0;
+}
+
+int sd_dhcp6_lease_get_address_lifetime(
sd_dhcp6_lease *lease,
- struct in6_addr *ret_addr,
- uint32_t *ret_lifetime_preferred,
- uint32_t *ret_lifetime_valid) {
+ usec_t *ret_lifetime_preferred,
+ usec_t *ret_lifetime_valid) {
+
+ const struct iaaddr *a;
assert_return(lease, -EINVAL);
if (!lease->addr_iter)
return -ENODATA;
- if (ret_addr)
- *ret_addr = lease->addr_iter->iaaddr.address;
+ a = &lease->addr_iter->iaaddr;
+
if (ret_lifetime_preferred)
- *ret_lifetime_preferred = be32toh(lease->addr_iter->iaaddr.lifetime_preferred);
+ *ret_lifetime_preferred = be32_sec_to_usec(a->lifetime_preferred, /* max_as_infinity = */ true);
if (ret_lifetime_valid)
- *ret_lifetime_valid = be32toh(lease->addr_iter->iaaddr.lifetime_valid);
+ *ret_lifetime_valid = be32_sec_to_usec(a->lifetime_valid, /* max_as_infinity = */ true);
+ return 0;
+}
+
+int sd_dhcp6_lease_address_iterator_reset(sd_dhcp6_lease *lease) {
+ if (!lease)
+ return false;
+
+ lease->addr_iter = lease->ia_na ? lease->ia_na->addresses : NULL;
+ return !!lease->addr_iter;
+}
+
+int sd_dhcp6_lease_address_iterator_next(sd_dhcp6_lease *lease) {
+ if (!lease || !lease->addr_iter)
+ return false;
lease->addr_iter = lease->addr_iter->addresses_next;
- return 0;
+ return !!lease->addr_iter;
}
-void sd_dhcp6_lease_reset_address_iter(sd_dhcp6_lease *lease) {
- if (lease)
- lease->addr_iter = lease->ia_na ? lease->ia_na->addresses : NULL;
+int sd_dhcp6_lease_has_address(sd_dhcp6_lease *lease) {
+ return lease && lease->ia_na;
}
-int sd_dhcp6_lease_get_pd(
+int sd_dhcp6_lease_get_pd_prefix(
sd_dhcp6_lease *lease,
struct in6_addr *ret_prefix,
- uint8_t *ret_prefix_len,
- uint32_t *ret_lifetime_preferred,
- uint32_t *ret_lifetime_valid) {
+ uint8_t *ret_prefix_len) {
+
+ const struct iapdprefix *a;
assert_return(lease, -EINVAL);
if (!lease->prefix_iter)
return -ENODATA;
+ a = &lease->prefix_iter->iapdprefix;
+
if (ret_prefix)
- *ret_prefix = lease->prefix_iter->iapdprefix.address;
+ *ret_prefix = a->address;
if (ret_prefix_len)
- *ret_prefix_len = lease->prefix_iter->iapdprefix.prefixlen;
+ *ret_prefix_len = a->prefixlen;
+ return 0;
+}
+
+int sd_dhcp6_lease_get_pd_lifetime(
+ sd_dhcp6_lease *lease,
+ uint64_t *ret_lifetime_preferred,
+ uint64_t *ret_lifetime_valid) {
+
+ const struct iapdprefix *a;
+
+ assert_return(lease, -EINVAL);
+
+ if (!lease->prefix_iter)
+ return -ENODATA;
+
+ a = &lease->prefix_iter->iapdprefix;
+
if (ret_lifetime_preferred)
- *ret_lifetime_preferred = be32toh(lease->prefix_iter->iapdprefix.lifetime_preferred);
+ *ret_lifetime_preferred = be32_sec_to_usec(a->lifetime_preferred, /* max_as_infinity = */ true);
if (ret_lifetime_valid)
- *ret_lifetime_valid = be32toh(lease->prefix_iter->iapdprefix.lifetime_valid);
-
- lease->prefix_iter = lease->prefix_iter->addresses_next;
+ *ret_lifetime_valid = be32_sec_to_usec(a->lifetime_valid, /* max_as_infinity = */ true);
return 0;
}
-void sd_dhcp6_lease_reset_pd_prefix_iter(sd_dhcp6_lease *lease) {
- if (lease)
- lease->prefix_iter = lease->ia_pd ? lease->ia_pd->addresses : NULL;
+int sd_dhcp6_lease_pd_iterator_reset(sd_dhcp6_lease *lease) {
+ if (!lease)
+ return false;
+
+ lease->prefix_iter = lease->ia_pd ? lease->ia_pd->addresses : NULL;
+ return !!lease->prefix_iter;
+}
+
+int sd_dhcp6_lease_pd_iterator_next(sd_dhcp6_lease *lease) {
+ if (!lease || !lease->prefix_iter)
+ return false;
+
+ lease->prefix_iter = lease->prefix_iter->addresses_next;
+ return !!lease->prefix_iter;
+}
+
+#define DEFINE_GET_TIMESTAMP2(name) \
+ int sd_dhcp6_lease_get_##name##_lifetime_timestamp( \
+ sd_dhcp6_lease *lease, \
+ clockid_t clock, \
+ uint64_t *ret_lifetime_preferred, \
+ uint64_t *ret_lifetime_valid) { \
+ \
+ usec_t t, p, v; \
+ int r; \
+ \
+ assert_return(lease, -EINVAL); \
+ \
+ r = sd_dhcp6_lease_get_##name##_lifetime( \
+ lease, \
+ ret_lifetime_preferred ? &p : NULL, \
+ ret_lifetime_valid ? &v : NULL); \
+ if (r < 0) \
+ return r; \
+ \
+ r = sd_dhcp6_lease_get_timestamp(lease, clock, &t); \
+ if (r < 0) \
+ return r; \
+ \
+ if (ret_lifetime_preferred) \
+ *ret_lifetime_preferred = time_span_to_stamp(p, t); \
+ if (ret_lifetime_valid) \
+ *ret_lifetime_valid = time_span_to_stamp(v, t); \
+ return 0; \
+ }
+
+DEFINE_GET_TIMESTAMP2(address);
+DEFINE_GET_TIMESTAMP2(pd);
+
+int sd_dhcp6_lease_has_pd_prefix(sd_dhcp6_lease *lease) {
+ return lease && lease->ia_pd;
}
int dhcp6_lease_add_dns(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen) {
@@ -447,6 +562,111 @@ int sd_dhcp6_lease_get_fqdn(sd_dhcp6_lease *lease, const char **ret) {
return 0;
}
+int dhcp6_lease_set_captive_portal(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen) {
+ _cleanup_free_ char *uri = NULL;
+ int r;
+
+ assert(lease);
+ assert(optval || optlen == 0);
+
+ r = dhcp6_option_parse_string(optval, optlen, &uri);
+ if (r < 0)
+ return r;
+
+ if (uri && !in_charset(uri, URI_VALID))
+ return -EINVAL;
+
+ return free_and_replace(lease->captive_portal, uri);
+}
+
+int sd_dhcp6_lease_get_captive_portal(sd_dhcp6_lease *lease, const char **ret) {
+ assert_return(lease, -EINVAL);
+ assert_return(ret, -EINVAL);
+
+ if (!lease->captive_portal)
+ return -ENODATA;
+
+ *ret = lease->captive_portal;
+ return 0;
+}
+
+int sd_dhcp6_lease_get_vendor_options(sd_dhcp6_lease *lease, sd_dhcp6_option ***ret) {
+ int r;
+
+ assert_return(lease, -EINVAL);
+
+ if (set_isempty(lease->vendor_options))
+ return -ENODATA;
+
+ if (ret) {
+ if (!lease->sorted_vendor_options) {
+ r = set_dump_sorted(lease->vendor_options, (void***) &lease->sorted_vendor_options, NULL);
+ if (r < 0)
+ return r;
+ }
+
+ *ret = lease->sorted_vendor_options;
+ }
+
+ return set_size(lease->vendor_options);
+}
+
+static int dhcp6_lease_insert_vendor_option(
+ sd_dhcp6_lease *lease,
+ uint16_t option_code,
+ const void *data,
+ size_t len,
+ uint32_t enterprise_id) {
+
+ _cleanup_(sd_dhcp6_option_unrefp) sd_dhcp6_option *option = NULL;
+
+ assert(lease);
+
+ option = new(sd_dhcp6_option, 1);
+ if (!option)
+ return -ENOMEM;
+
+ *option = (sd_dhcp6_option) {
+ .n_ref = 1,
+ .enterprise_identifier = enterprise_id,
+ .option = option_code,
+ .length = len,
+ };
+ option->data = memdup_suffix0(data, len);
+ if (!option->data)
+ return -ENOMEM;
+
+ return set_ensure_consume(&lease->vendor_options, &dhcp6_option_hash_ops, TAKE_PTR(option));
+}
+
+static int dhcp6_lease_add_vendor_option(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen) {
+ int r;
+ uint32_t enterprise_id;
+
+ assert(lease);
+ assert(optval || optlen == 0);
+
+ if (optlen < sizeof(be32_t))
+ return -EBADMSG;
+
+ enterprise_id = unaligned_read_be32(optval);
+
+ for (size_t offset = 4; offset < optlen;) {
+ const uint8_t *subval;
+ size_t sublen;
+ uint16_t subopt;
+
+ r = dhcp6_option_parse(optval, optlen, &offset, &subopt, &sublen, &subval);
+ if (r < 0)
+ return r;
+
+ r = dhcp6_lease_insert_vendor_option(lease, subopt, subval, sublen, enterprise_id);
+ if (r < 0)
+ return r;
+ }
+ return 0;
+}
+
static int dhcp6_lease_parse_message(
sd_dhcp6_client *client,
sd_dhcp6_lease *lease,
@@ -467,6 +687,11 @@ static int dhcp6_lease_parse_message(
size_t optlen;
const uint8_t *optval;
+ if (len - offset < offsetof(DHCP6Option, data)) {
+ log_dhcp6_client(client, "Ignoring %zu invalid byte(s) at the end of the packet", len - offset);
+ break;
+ }
+
r = dhcp6_option_parse(message->options, len, &offset, &optcode, &optlen, &optval);
if (r < 0)
return log_dhcp6_client_errno(client, r,
@@ -607,6 +832,12 @@ static int dhcp6_lease_parse_message(
break;
+ case SD_DHCP6_OPTION_CAPTIVE_PORTAL:
+ r = dhcp6_lease_set_captive_portal(lease, optval, optlen);
+ if (r < 0)
+ log_dhcp6_client_errno(client, r, "Failed to parse captive portal option, ignoring: %m");
+ break;
+
case SD_DHCP6_OPTION_CLIENT_FQDN:
r = dhcp6_lease_set_fqdn(lease, optval, optlen);
if (r < 0)
@@ -619,7 +850,14 @@ static int dhcp6_lease_parse_message(
return log_dhcp6_client_errno(client, SYNTHETIC_ERRNO(EINVAL),
"Received information refresh time option with an invalid length (%zu).", optlen);
- irt = unaligned_read_be32(optval) * USEC_PER_SEC;
+ irt = unaligned_be32_sec_to_usec(optval, /* max_as_infinity = */ false);
+ break;
+
+ case SD_DHCP6_OPTION_VENDOR_OPTS:
+ r = dhcp6_lease_add_vendor_option(lease, optval, optlen);
+ if (r < 0)
+ log_dhcp6_client_errno(client, r, "Failed to parse vendor option, ignoring: %m");
+
break;
}
}
@@ -631,7 +869,7 @@ static int dhcp6_lease_parse_message(
"%s message does not contain client ID. Ignoring.",
dhcp6_message_type_to_string(message->type));
- if (memcmp_nn(clientid, clientid_len, &client->duid, client->duid_len) != 0)
+ if (memcmp_nn(clientid, clientid_len, &client->duid.duid, client->duid.size) != 0)
return log_dhcp6_client_errno(client, SYNTHETIC_ERRNO(EINVAL),
"The client ID in %s message does not match. Ignoring.",
dhcp6_message_type_to_string(message->type));
@@ -661,12 +899,15 @@ static sd_dhcp6_lease *dhcp6_lease_free(sd_dhcp6_lease *lease) {
if (!lease)
return NULL;
+ set_free(lease->vendor_options);
+ free(lease->sorted_vendor_options);
free(lease->clientid);
free(lease->serverid);
dhcp6_ia_free(lease->ia_na);
dhcp6_ia_free(lease->ia_pd);
free(lease->dns);
free(lease->fqdn);
+ free(lease->captive_portal);
strv_free(lease->domains);
free(lease->ntp);
strv_free(lease->ntp_fqdn);
diff --git a/src/libnm-systemd-core/src/libsystemd/sd-device/device-util.h b/src/libnm-systemd-core/src/libsystemd/sd-device/device-util.h
index a1b5e91edf..534a296715 100644
--- a/src/libnm-systemd-core/src/libsystemd/sd-device/device-util.h
+++ b/src/libnm-systemd-core/src/libsystemd/sd-device/device-util.h
@@ -7,39 +7,41 @@
#include "sd-device.h"
+#include "alloc-util.h"
#include "log.h"
#include "macro.h"
+#include "strv.h"
#define device_unref_and_replace(a, b) \
unref_and_replace_full(a, b, sd_device_ref, sd_device_unref)
-#define FOREACH_DEVICE_PROPERTY(device, key, value) \
- for (key = sd_device_get_property_first(device, &(value)); \
- key; \
- key = sd_device_get_property_next(device, &(value)))
+#define FOREACH_DEVICE_PROPERTY(device, key, value) \
+ for (const char *value, *key = sd_device_get_property_first(device, &value); \
+ key; \
+ key = sd_device_get_property_next(device, &value))
-#define FOREACH_DEVICE_TAG(device, tag) \
- for (tag = sd_device_get_tag_first(device); \
- tag; \
+#define FOREACH_DEVICE_TAG(device, tag) \
+ for (const char *tag = sd_device_get_tag_first(device); \
+ tag; \
tag = sd_device_get_tag_next(device))
-#define FOREACH_DEVICE_CURRENT_TAG(device, tag) \
- for (tag = sd_device_get_current_tag_first(device); \
- tag; \
+#define FOREACH_DEVICE_CURRENT_TAG(device, tag) \
+ for (const char *tag = sd_device_get_current_tag_first(device); \
+ tag; \
tag = sd_device_get_current_tag_next(device))
-#define FOREACH_DEVICE_SYSATTR(device, attr) \
- for (attr = sd_device_get_sysattr_first(device); \
- attr; \
+#define FOREACH_DEVICE_SYSATTR(device, attr) \
+ for (const char *attr = sd_device_get_sysattr_first(device); \
+ attr; \
attr = sd_device_get_sysattr_next(device))
-#define FOREACH_DEVICE_DEVLINK(device, devlink) \
- for (devlink = sd_device_get_devlink_first(device); \
- devlink; \
+#define FOREACH_DEVICE_DEVLINK(device, devlink) \
+ for (const char *devlink = sd_device_get_devlink_first(device); \
+ devlink; \
devlink = sd_device_get_devlink_next(device))
#define _FOREACH_DEVICE_CHILD(device, child, suffix_ptr) \
- for (child = sd_device_get_child_first(device, suffix_ptr); \
+ for (sd_device *child = sd_device_get_child_first(device, suffix_ptr); \
child; \
child = sd_device_get_child_next(device, suffix_ptr))
@@ -49,14 +51,14 @@
#define FOREACH_DEVICE_CHILD_WITH_SUFFIX(device, child, suffix) \
_FOREACH_DEVICE_CHILD(device, child, &suffix)
-#define FOREACH_DEVICE(enumerator, device) \
- for (device = sd_device_enumerator_get_device_first(enumerator); \
- device; \
+#define FOREACH_DEVICE(enumerator, device) \
+ for (sd_device *device = sd_device_enumerator_get_device_first(enumerator); \
+ device; \
device = sd_device_enumerator_get_device_next(enumerator))
-#define FOREACH_SUBSYSTEM(enumerator, device) \
- for (device = sd_device_enumerator_get_subsystem_first(enumerator); \
- device; \
+#define FOREACH_SUBSYSTEM(enumerator, device) \
+ for (sd_device *device = sd_device_enumerator_get_subsystem_first(enumerator); \
+ device; \
device = sd_device_enumerator_get_subsystem_next(enumerator))
#define log_device_full_errno_zerook(device, level, error, ...) \
@@ -81,17 +83,17 @@
#define log_device_full(device, level, ...) (void) log_device_full_errno_zerook(device, level, 0, __VA_ARGS__)
-#define log_device_debug(device, ...) log_device_full(device, LOG_DEBUG, __VA_ARGS__)
-#define log_device_info(device, ...) log_device_full(device, LOG_INFO, __VA_ARGS__)
-#define log_device_notice(device, ...) log_device_full(device, LOG_NOTICE, __VA_ARGS__)
+#define log_device_debug(device, ...) log_device_full(device, LOG_DEBUG, __VA_ARGS__)
+#define log_device_info(device, ...) log_device_full(device, LOG_INFO, __VA_ARGS__)
+#define log_device_notice(device, ...) log_device_full(device, LOG_NOTICE, __VA_ARGS__)
#define log_device_warning(device, ...) log_device_full(device, LOG_WARNING, __VA_ARGS__)
-#define log_device_error(device, ...) log_device_full(device, LOG_ERR, __VA_ARGS__)
+#define log_device_error(device, ...) log_device_full(device, LOG_ERR, __VA_ARGS__)
-#define log_device_debug_errno(device, error, ...) log_device_full_errno(device, LOG_DEBUG, error, __VA_ARGS__)
-#define log_device_info_errno(device, error, ...) log_device_full_errno(device, LOG_INFO, error, __VA_ARGS__)
-#define log_device_notice_errno(device, error, ...) log_device_full_errno(device, LOG_NOTICE, error, __VA_ARGS__)
+#define log_device_debug_errno(device, error, ...) log_device_full_errno(device, LOG_DEBUG, error, __VA_ARGS__)
+#define log_device_info_errno(device, error, ...) log_device_full_errno(device, LOG_INFO, error, __VA_ARGS__)
+#define log_device_notice_errno(device, error, ...) log_device_full_errno(device, LOG_NOTICE, error, __VA_ARGS__)
#define log_device_warning_errno(device, error, ...) log_device_full_errno(device, LOG_WARNING, error, __VA_ARGS__)
-#define log_device_error_errno(device, error, ...) log_device_full_errno(device, LOG_ERR, error, __VA_ARGS__)
+#define log_device_error_errno(device, error, ...) log_device_full_errno(device, LOG_ERR, error, __VA_ARGS__)
int devname_from_devnum(mode_t mode, dev_t devnum, char **ret);
static inline int devname_from_stat_rdev(const struct stat *st, char **ret) {
@@ -101,3 +103,13 @@ static inline int devname_from_stat_rdev(const struct stat *st, char **ret) {
int device_open_from_devnum(mode_t mode, dev_t devnum, int flags, char **ret);
char** device_make_log_fields(sd_device *device);
+
+bool device_in_subsystem(sd_device *device, const char *subsystem);
+bool device_is_devtype(sd_device *device, const char *devtype);
+
+static inline bool device_property_can_set(const char *property) {
+ return property &&
+ !STR_IN_SET(property,
+ "ACTION", "DEVLINKS", "DEVNAME", "DEVPATH", "DEVTYPE", "DRIVER",
+ "IFINDEX", "MAJOR", "MINOR", "SEQNUM", "SUBSYSTEM", "TAGS");
+}
diff --git a/src/libnm-systemd-core/src/libsystemd/sd-event/event-util.c b/src/libnm-systemd-core/src/libsystemd/sd-event/event-util.c
index 663296f408..ef0c2d2af2 100644
--- a/src/libnm-systemd-core/src/libsystemd/sd-event/event-util.c
+++ b/src/libnm-systemd-core/src/libsystemd/sd-event/event-util.c
@@ -99,16 +99,21 @@ int event_reset_time_relative(
const char *description,
bool force_reset) {
- usec_t usec_now;
int r;
assert(e);
- r = sd_event_now(e, clock, &usec_now);
- if (r < 0)
- return log_debug_errno(r, "sd-event: Failed to get the current time: %m");
+ if (usec > 0) {
+ usec_t usec_now;
+
+ r = sd_event_now(e, clock, &usec_now);
+ if (r < 0)
+ return log_debug_errno(r, "sd-event: Failed to get the current time: %m");
- return event_reset_time(e, s, clock, usec_add(usec_now, usec), accuracy, callback, userdata, priority, description, force_reset);
+ usec = usec_add(usec_now, usec);
+ }
+
+ return event_reset_time(e, s, clock, usec, accuracy, callback, userdata, priority, description, force_reset);
}
#if 0 /* NM_IGNORED */
@@ -149,4 +154,21 @@ int event_add_time_change(sd_event *e, sd_event_source **ret, sd_event_io_handle
return 0;
}
+
+int event_add_child_pidref(
+ sd_event *e,
+ sd_event_source **s,
+ const PidRef *pid,
+ int options,
+ sd_event_child_handler_t callback,
+ void *userdata) {
+
+ if (!pidref_is_set(pid))
+ return -ESRCH;
+
+ if (pid->fd >= 0)
+ return sd_event_add_child_pidfd(e, s, pid->fd, options, callback, userdata);
+
+ return sd_event_add_child(e, s, pid->pid, options, callback, userdata);
+}
#endif /* NM_IGNORED */
diff --git a/src/libnm-systemd-core/src/libsystemd/sd-event/event-util.h b/src/libnm-systemd-core/src/libsystemd/sd-event/event-util.h
index c185584412..ad0f2e7838 100644
--- a/src/libnm-systemd-core/src/libsystemd/sd-event/event-util.h
+++ b/src/libnm-systemd-core/src/libsystemd/sd-event/event-util.h
@@ -5,6 +5,8 @@
#include "sd-event.h"
+#include "pidref.h"
+
int event_reset_time(
sd_event *e,
sd_event_source **s,
@@ -32,3 +34,7 @@ static inline int event_source_disable(sd_event_source *s) {
}
int event_add_time_change(sd_event *e, sd_event_source **ret, sd_event_io_handler_t callback, void *userdata);
+
+#if 0 /* NM_IGNORED */
+int event_add_child_pidref(sd_event *e, sd_event_source **s, const PidRef *pid, int options, sd_event_child_handler_t callback, void *userdata);
+#endif /* NM_IGNORED */
diff --git a/src/libnm-systemd-core/src/libsystemd/sd-event/sd-event.c b/src/libnm-systemd-core/src/libsystemd/sd-event/sd-event.c
index 5c7ba1821b..33cf30800c 100644
--- a/src/libnm-systemd-core/src/libsystemd/sd-event/sd-event.c
+++ b/src/libnm-systemd-core/src/libsystemd/sd-event/sd-event.c
@@ -1169,10 +1169,10 @@ static int source_set_pending(sd_event_source *s, bool b) {
assert(s->inotify.inode_data->inotify_data);
if (b)
- s->inotify.inode_data->inotify_data->n_pending ++;
+ s->inotify.inode_data->inotify_data->n_pending++;
else {
assert(s->inotify.inode_data->inotify_data->n_pending > 0);
- s->inotify.inode_data->inotify_data->n_pending --;
+ s->inotify.inode_data->inotify_data->n_pending--;
}
}
@@ -1983,7 +1983,7 @@ _public_ int sd_event_add_memory_pressure(
env = secure_getenv("MEMORY_PRESSURE_WRITE");
if (env) {
- r = unbase64mem(env, SIZE_MAX, &write_buffer, &write_buffer_size);
+ r = unbase64mem(env, &write_buffer, &write_buffer_size);
if (r < 0)
return r;
}
@@ -2239,8 +2239,8 @@ static int inode_data_compare(const struct inode_data *x, const struct inode_dat
static void inode_data_hash_func(const struct inode_data *d, struct siphash *state) {
assert(d);
- siphash24_compress(&d->dev, sizeof(d->dev), state);
- siphash24_compress(&d->ino, sizeof(d->ino), state);
+ siphash24_compress_typesafe(d->dev, state);
+ siphash24_compress_typesafe(d->ino, state);
}
DEFINE_PRIVATE_HASH_OPS(inode_data_hash_ops, struct inode_data, inode_data_hash_func, inode_data_compare);
@@ -4008,7 +4008,7 @@ static int process_inotify(sd_event *e) {
if (r < 0)
return r;
if (r > 0)
- done ++;
+ done++;
}
return done;
@@ -4620,7 +4620,7 @@ static int process_epoll(sd_event *e, usec_t timeout, int64_t threshold, int64_t
/* Set timestamp only when this is called first time. */
if (threshold == INT64_MAX)
- triple_timestamp_get(&e->timestamp);
+ triple_timestamp_now(&e->timestamp);
for (size_t i = 0; i < m; i++) {
@@ -5047,7 +5047,7 @@ _public_ int sd_event_set_watchdog(sd_event *e, int b) {
}
}
- e->watchdog = !!b;
+ e->watchdog = b;
return e->watchdog;
fail:
diff --git a/src/libnm-systemd-core/src/libsystemd/sd-id128/id128-util.c b/src/libnm-systemd-core/src/libsystemd/sd-id128/id128-util.c
index c20f7325ad..1fc011c7f3 100644
--- a/src/libnm-systemd-core/src/libsystemd/sd-id128/id128-util.c
+++ b/src/libnm-systemd-core/src/libsystemd/sd-id128/id128-util.c
@@ -11,9 +11,29 @@
#include "hexdecoct.h"
#include "id128-util.h"
#include "io-util.h"
+#include "sha256.h"
#include "stdio-util.h"
#include "string-util.h"
+#include "strv.h"
#include "sync-util.h"
+#include "virt.h"
+
+int id128_from_string_nonzero(const char *s, sd_id128_t *ret) {
+ sd_id128_t t;
+ int r;
+
+ assert(ret);
+
+ r = sd_id128_from_string(ASSERT_PTR(s), &t);
+ if (r < 0)
+ return r;
+
+ if (sd_id128_is_null(t))
+ return -ENXIO;
+
+ *ret = t;
+ return 0;
+}
#if 0 /* NM_IGNORED */
bool id128_is_valid(const char *s) {
@@ -24,7 +44,7 @@ bool id128_is_valid(const char *s) {
l = strlen(s);
if (l == SD_ID128_STRING_MAX - 1)
- /* Plain formatted 128bit hex string */
+ /* Plain formatted 128-bit hex string */
return in_charset(s, HEXDIGITS);
if (l == SD_ID128_UUID_STRING_MAX - 1) {
@@ -53,7 +73,7 @@ int id128_read_fd(int fd, Id128Flag f, sd_id128_t *ret) {
assert(fd >= 0);
- /* Reads an 128bit ID from a file, which may either be in plain format (32 hex digits), or in UUID format, both
+ /* Reads an 128-bit ID from a file, which may either be in plain format (32 hex digits), or in UUID format, both
* optionally followed by a newline and nothing else. ID files should really be newline terminated, but if they
* aren't that's OK too, following the rule of "Be conservative in what you send, be liberal in what you
* accept".
@@ -151,7 +171,7 @@ int id128_write_fd(int fd, Id128Flag f, sd_id128_t id) {
}
buffer[sz - 1] = '\n';
- r = loop_write(fd, buffer, sz, false);
+ r = loop_write(fd, buffer, sz);
if (r < 0)
return r;
@@ -178,11 +198,11 @@ int id128_write_at(int dir_fd, const char *path, Id128Flag f, sd_id128_t id) {
}
void id128_hash_func(const sd_id128_t *p, struct siphash *state) {
- siphash24_compress(p, sizeof(sd_id128_t), state);
+ siphash24_compress_typesafe(*p, state);
}
int id128_compare_func(const sd_id128_t *a, const sd_id128_t *b) {
- return memcmp(a, b, 16);
+ return memcmp(a, b, sizeof(sd_id128_t));
}
sd_id128_t id128_make_v4_uuid(sd_id128_t id) {
@@ -210,9 +230,22 @@ int id128_get_product(sd_id128_t *ret) {
/* Reads the systems product UUID from DMI or devicetree (where it is located on POWER). This is
* particularly relevant in VM environments, where VM managers typically place a VM uuid there. */
- r = id128_read("/sys/class/dmi/id/product_uuid", ID128_FORMAT_UUID, &uuid);
- if (r == -ENOENT)
- r = id128_read("/proc/device-tree/vm,uuid", ID128_FORMAT_UUID, &uuid);
+ r = detect_container();
+ if (r < 0)
+ return r;
+ if (r > 0) /* Refuse returning this in containers, as this is not a property of our system then, but
+ * of the host */
+ return -ENOENT;
+
+ FOREACH_STRING(i,
+ "/sys/class/dmi/id/product_uuid", /* KVM */
+ "/proc/device-tree/vm,uuid", /* Device tree */
+ "/sys/hypervisor/uuid") { /* Xen */
+
+ r = id128_read(i, ID128_FORMAT_UUID, &uuid);
+ if (r != -ENOENT)
+ break;
+ }
if (r < 0)
return r;
@@ -222,4 +255,22 @@ int id128_get_product(sd_id128_t *ret) {
*ret = uuid;
return 0;
}
+
+sd_id128_t id128_digest(const void *data, size_t size) {
+ assert(data || size == 0);
+
+ /* Hashes a UUID from some arbitrary data */
+
+ if (size == SIZE_MAX)
+ size = strlen(data);
+
+ uint8_t h[SHA256_DIGEST_SIZE];
+ sd_id128_t id;
+
+ /* Take the first half of the SHA256 result */
+ assert_cc(sizeof(h) >= sizeof(id.bytes));
+ memcpy(id.bytes, sha256_direct(data, size, h), sizeof(id.bytes));
+
+ return id128_make_v4_uuid(id);
+}
#endif /* NM_IGNORED */
diff --git a/src/libnm-systemd-core/src/libsystemd/sd-id128/id128-util.h b/src/libnm-systemd-core/src/libsystemd/sd-id128/id128-util.h
index 7bcbd8e558..53ba50a8ac 100644
--- a/src/libnm-systemd-core/src/libsystemd/sd-id128/id128-util.h
+++ b/src/libnm-systemd-core/src/libsystemd/sd-id128/id128-util.h
@@ -6,6 +6,7 @@
#include "sd-id128.h"
+#include "errno-util.h"
#include "hash-funcs.h"
#include "macro.h"
@@ -20,6 +21,8 @@ typedef enum Id128Flag {
ID128_REFUSE_NULL = 1 << 3, /* Refuse all zero ID with -ENOMEDIUM. */
} Id128Flag;
+int id128_from_string_nonzero(const char *s, sd_id128_t *ret);
+
int id128_read_fd(int fd, Id128Flag f, sd_id128_t *ret);
int id128_read_at(int dir_fd, const char *path, Id128Flag f, sd_id128_t *ret);
static inline int id128_read(const char *path, Id128Flag f, sd_id128_t *ret) {
@@ -44,9 +47,12 @@ sd_id128_t id128_make_v4_uuid(sd_id128_t id);
int id128_get_product(sd_id128_t *ret);
+sd_id128_t id128_digest(const void *data, size_t size);
+
/* A helper to check for the three relevant cases of "machine ID not initialized" */
-#define ERRNO_IS_MACHINE_ID_UNSET(r) \
- IN_SET(abs(r), \
- ENOENT, \
- ENOMEDIUM, \
- ENOPKG)
+#define ERRNO_IS_NEG_MACHINE_ID_UNSET(r) \
+ IN_SET(r, \
+ -ENOENT, \
+ -ENOMEDIUM, \
+ -ENOPKG)
+_DEFINE_ABS_WRAPPER(MACHINE_ID_UNSET);
diff --git a/src/libnm-systemd-core/src/libsystemd/sd-id128/sd-id128.c b/src/libnm-systemd-core/src/libsystemd/sd-id128/sd-id128.c
index c63e1a973f..ff0db77626 100644
--- a/src/libnm-systemd-core/src/libsystemd/sd-id128/sd-id128.c
+++ b/src/libnm-systemd-core/src/libsystemd/sd-id128/sd-id128.c
@@ -345,18 +345,20 @@ _public_ int sd_id128_randomize(sd_id128_t *ret) {
return 0;
}
-static int get_app_specific(sd_id128_t base, sd_id128_t app_id, sd_id128_t *ret) {
- uint8_t hmac[SHA256_DIGEST_SIZE];
- sd_id128_t result;
+_public_ int sd_id128_get_app_specific(sd_id128_t base, sd_id128_t app_id, sd_id128_t *ret) {
+ assert_cc(sizeof(sd_id128_t) < SHA256_DIGEST_SIZE); /* Check that we don't need to pad with zeros. */
+ union {
+ uint8_t hmac[SHA256_DIGEST_SIZE];
+ sd_id128_t result;
+ } buf;
- assert(ret);
+ assert_return(ret, -EINVAL);
+ assert_return(!sd_id128_is_null(app_id), -ENXIO);
- hmac_sha256(&base, sizeof(base), &app_id, sizeof(app_id), hmac);
+ hmac_sha256(&base, sizeof(base), &app_id, sizeof(app_id), buf.hmac);
/* Take only the first half. */
- memcpy(&result, hmac, MIN(sizeof(hmac), sizeof(result)));
-
- *ret = id128_make_v4_uuid(result);
+ *ret = id128_make_v4_uuid(buf.result);
return 0;
}
@@ -370,7 +372,7 @@ _public_ int sd_id128_get_machine_app_specific(sd_id128_t app_id, sd_id128_t *re
if (r < 0)
return r;
- return get_app_specific(id, app_id, ret);
+ return sd_id128_get_app_specific(id, app_id, ret);
}
_public_ int sd_id128_get_boot_app_specific(sd_id128_t app_id, sd_id128_t *ret) {
@@ -383,6 +385,6 @@ _public_ int sd_id128_get_boot_app_specific(sd_id128_t app_id, sd_id128_t *ret)
if (r < 0)
return r;
- return get_app_specific(id, app_id, ret);
+ return sd_id128_get_app_specific(id, app_id, ret);
}
#endif /* NM_IGNORED */
diff --git a/src/libnm-systemd-core/src/systemd/_sd-common.h b/src/libnm-systemd-core/src/systemd/_sd-common.h
index 6f657c2254..d4381d90f4 100644
--- a/src/libnm-systemd-core/src/systemd/_sd-common.h
+++ b/src/libnm-systemd-core/src/systemd/_sd-common.h
@@ -99,7 +99,7 @@ typedef void (*_sd_destroy_t)(void *userdata);
} \
struct _sd_useless_struct_to_allow_trailing_semicolon_
-/* The following macro should be used in all public enums, to force 64bit wideness on them, so that we can
+/* The following macro should be used in all public enums, to force 64-bit wideness on them, so that we can
* freely extend them later on, without breaking compatibility. */
#define _SD_ENUM_FORCE_S64(id) \
_SD_##id##_INT64_MIN = INT64_MIN, \
diff --git a/src/libnm-systemd-core/src/systemd/sd-device.h b/src/libnm-systemd-core/src/systemd/sd-device.h
index e3d647f75d..b67ec0f34d 100644
--- a/src/libnm-systemd-core/src/systemd/sd-device.h
+++ b/src/libnm-systemd-core/src/systemd/sd-device.h
@@ -129,6 +129,7 @@ sd_device *sd_device_enumerator_get_subsystem_next(sd_device_enumerator *enumera
int sd_device_enumerator_add_match_subsystem(sd_device_enumerator *enumerator, const char *subsystem, int match);
int sd_device_enumerator_add_match_sysattr(sd_device_enumerator *enumerator, const char *sysattr, const char *value, int match);
int sd_device_enumerator_add_match_property(sd_device_enumerator *enumerator, const char *property, const char *value);
+int sd_device_enumerator_add_match_property_required(sd_device_enumerator *enumerator, const char *property, const char *value);
int sd_device_enumerator_add_match_sysname(sd_device_enumerator *enumerator, const char *sysname);
int sd_device_enumerator_add_nomatch_sysname(sd_device_enumerator *enumerator, const char *sysname);
int sd_device_enumerator_add_match_tag(sd_device_enumerator *enumerator, const char *tag);
diff --git a/src/libnm-systemd-core/src/systemd/sd-dhcp-duid.h b/src/libnm-systemd-core/src/systemd/sd-dhcp-duid.h
new file mode 100644
index 0000000000..b1d2772a3e
--- /dev/null
+++ b/src/libnm-systemd-core/src/systemd/sd-dhcp-duid.h
@@ -0,0 +1,71 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#ifndef foosddhcpduidhfoo
+#define foosddhcpduidhfoo
+
+/***
+ Copyright © 2013 Intel Corporation. All rights reserved.
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <https://www.gnu.org/licenses/>.
+***/
+
+#include <inttypes.h>
+#include <sys/types.h>
+
+#include "_sd-common.h"
+
+_SD_BEGIN_DECLARATIONS;
+
+enum {
+ SD_DUID_TYPE_LLT = 1,
+ SD_DUID_TYPE_EN = 2,
+ SD_DUID_TYPE_LL = 3,
+ SD_DUID_TYPE_UUID = 4
+};
+
+typedef struct sd_dhcp_duid sd_dhcp_duid;
+
+int sd_dhcp_duid_clear(sd_dhcp_duid *duid);
+
+int sd_dhcp_duid_is_set(const sd_dhcp_duid *duid);
+
+int sd_dhcp_duid_get(const sd_dhcp_duid *duid, uint16_t *ret_type, const void **ret_data, size_t *ret_size);
+int sd_dhcp_duid_get_raw(const sd_dhcp_duid *duid, const void **ret_data, size_t *ret_size);
+
+int sd_dhcp_duid_set(
+ sd_dhcp_duid *duid,
+ uint16_t duid_type,
+ const void *data,
+ size_t data_size);
+int sd_dhcp_duid_set_raw(
+ sd_dhcp_duid *duid,
+ const void *data,
+ size_t data_size);
+int sd_dhcp_duid_set_llt(
+ sd_dhcp_duid *duid,
+ const void *hw_addr,
+ size_t hw_addr_size,
+ uint16_t arp_type,
+ uint64_t usec);
+int sd_dhcp_duid_set_ll(
+ sd_dhcp_duid *duid,
+ const void *hw_addr,
+ size_t hw_addr_size,
+ uint16_t arp_type);
+int sd_dhcp_duid_set_en(sd_dhcp_duid *duid);
+int sd_dhcp_duid_set_uuid(sd_dhcp_duid *duid);
+
+int sd_dhcp_duid_to_string(const sd_dhcp_duid *duid, char **ret);
+
+_SD_END_DECLARATIONS;
+
+#endif
diff --git a/src/libnm-systemd-core/src/systemd/sd-dhcp6-client.h b/src/libnm-systemd-core/src/systemd/sd-dhcp6-client.h
index a9fa78569d..d551b4dd90 100644
--- a/src/libnm-systemd-core/src/systemd/sd-dhcp6-client.h
+++ b/src/libnm-systemd-core/src/systemd/sd-dhcp6-client.h
@@ -24,6 +24,7 @@
#include <sys/types.h>
#include "sd-device.h"
+#include "sd-dhcp-duid.h"
#include "sd-dhcp6-lease.h"
#include "sd-dhcp6-option.h"
#include "sd-event.h"
@@ -40,154 +41,6 @@ enum {
SD_DHCP6_CLIENT_EVENT_INFORMATION_REQUEST = 13
};
-/* https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml#dhcpv6-parameters-2 */
-enum {
- SD_DHCP6_OPTION_CLIENTID = 1, /* RFC 8415 */
- SD_DHCP6_OPTION_SERVERID = 2, /* RFC 8415 */
- SD_DHCP6_OPTION_IA_NA = 3, /* RFC 8415 */
- SD_DHCP6_OPTION_IA_TA = 4, /* RFC 8415 */
- SD_DHCP6_OPTION_IAADDR = 5, /* RFC 8415 */
- SD_DHCP6_OPTION_ORO = 6, /* RFC 8415 */
- SD_DHCP6_OPTION_PREFERENCE = 7, /* RFC 8415 */
- SD_DHCP6_OPTION_ELAPSED_TIME = 8, /* RFC 8415 */
- SD_DHCP6_OPTION_RELAY_MSG = 9, /* RFC 8415 */
- /* option code 10 is unassigned */
- SD_DHCP6_OPTION_AUTH = 11, /* RFC 8415 */
- SD_DHCP6_OPTION_UNICAST = 12, /* RFC 8415 */
- SD_DHCP6_OPTION_STATUS_CODE = 13, /* RFC 8415 */
- SD_DHCP6_OPTION_RAPID_COMMIT = 14, /* RFC 8415 */
- SD_DHCP6_OPTION_USER_CLASS = 15, /* RFC 8415 */
- SD_DHCP6_OPTION_VENDOR_CLASS = 16, /* RFC 8415 */
- SD_DHCP6_OPTION_VENDOR_OPTS = 17, /* RFC 8415 */
- SD_DHCP6_OPTION_INTERFACE_ID = 18, /* RFC 8415 */
- SD_DHCP6_OPTION_RECONF_MSG = 19, /* RFC 8415 */
- SD_DHCP6_OPTION_RECONF_ACCEPT = 20, /* RFC 8415 */
- SD_DHCP6_OPTION_SIP_SERVER_DOMAIN_NAME = 21, /* RFC 3319 */
- SD_DHCP6_OPTION_SIP_SERVER_ADDRESS = 22, /* RFC 3319 */
- SD_DHCP6_OPTION_DNS_SERVER = 23, /* RFC 3646 */
- SD_DHCP6_OPTION_DOMAIN = 24, /* RFC 3646 */
- SD_DHCP6_OPTION_IA_PD = 25, /* RFC 3633, RFC 8415 */
- SD_DHCP6_OPTION_IA_PD_PREFIX = 26, /* RFC 3633, RFC 8415 */
- SD_DHCP6_OPTION_NIS_SERVER = 27, /* RFC 3898 */
- SD_DHCP6_OPTION_NISP_SERVER = 28, /* RFC 3898 */
- SD_DHCP6_OPTION_NIS_DOMAIN_NAME = 29, /* RFC 3898 */
- SD_DHCP6_OPTION_NISP_DOMAIN_NAME = 30, /* RFC 3898 */
- SD_DHCP6_OPTION_SNTP_SERVER = 31, /* RFC 4075, deprecated */
- SD_DHCP6_OPTION_INFORMATION_REFRESH_TIME = 32, /* RFC 4242, 8415, sec. 21.23 */
- SD_DHCP6_OPTION_BCMCS_SERVER_D = 33, /* RFC 4280 */
- SD_DHCP6_OPTION_BCMCS_SERVER_A = 34, /* RFC 4280 */
- /* option code 35 is unassigned */
- SD_DHCP6_OPTION_GEOCONF_CIVIC = 36, /* RFC 4776 */
- SD_DHCP6_OPTION_REMOTE_ID = 37, /* RFC 4649 */
- SD_DHCP6_OPTION_SUBSCRIBER_ID = 38, /* RFC 4580 */
- SD_DHCP6_OPTION_CLIENT_FQDN = 39, /* RFC 4704 */
- SD_DHCP6_OPTION_PANA_AGENT = 40, /* RFC 5192 */
- SD_DHCP6_OPTION_POSIX_TIMEZONE = 41, /* RFC 4833 */
- SD_DHCP6_OPTION_TZDB_TIMEZONE = 42, /* RFC 4833 */
- SD_DHCP6_OPTION_ERO = 43, /* RFC 4994 */
- SD_DHCP6_OPTION_LQ_QUERY = 44, /* RFC 5007 */
- SD_DHCP6_OPTION_CLIENT_DATA = 45, /* RFC 5007 */
- SD_DHCP6_OPTION_CLT_TIME = 46, /* RFC 5007 */
- SD_DHCP6_OPTION_LQ_RELAY_DATA = 47, /* RFC 5007 */
- SD_DHCP6_OPTION_LQ_CLIENT_LINK = 48, /* RFC 5007 */
- SD_DHCP6_OPTION_MIP6_HNIDF = 49, /* RFC 6610 */
- SD_DHCP6_OPTION_MIP6_VDINF = 50, /* RFC 6610 */
- SD_DHCP6_OPTION_V6_LOST = 51, /* RFC 5223 */
- SD_DHCP6_OPTION_CAPWAP_AC_V6 = 52, /* RFC 5417 */
- SD_DHCP6_OPTION_RELAY_ID = 53, /* RFC 5460 */
- SD_DHCP6_OPTION_IPV6_ADDRESS_MOS = 54, /* RFC 5678 */
- SD_DHCP6_OPTION_IPV6_FQDN_MOS = 55, /* RFC 5678 */
- SD_DHCP6_OPTION_NTP_SERVER = 56, /* RFC 5908 */
- SD_DHCP6_OPTION_V6_ACCESS_DOMAIN = 57, /* RFC 5986 */
- SD_DHCP6_OPTION_SIP_UA_CS_LIST = 58, /* RFC 6011 */
- SD_DHCP6_OPTION_BOOTFILE_URL = 59, /* RFC 5970 */
- SD_DHCP6_OPTION_BOOTFILE_PARAM = 60, /* RFC 5970 */
- SD_DHCP6_OPTION_CLIENT_ARCH_TYPE = 61, /* RFC 5970 */
- SD_DHCP6_OPTION_NII = 62, /* RFC 5970 */
- SD_DHCP6_OPTION_GEOLOCATION = 63, /* RFC 6225 */
- SD_DHCP6_OPTION_AFTR_NAME = 64, /* RFC 6334 */
- SD_DHCP6_OPTION_ERP_LOCAL_DOMAIN_NAME = 65, /* RFC 6440 */
- SD_DHCP6_OPTION_RSOO = 66, /* RFC 6422 */
- SD_DHCP6_OPTION_PD_EXCLUDE = 67, /* RFC 6603 */
- SD_DHCP6_OPTION_VSS = 68, /* RFC 6607 */
- SD_DHCP6_OPTION_MIP6_IDINF = 69, /* RFC 6610 */
- SD_DHCP6_OPTION_MIP6_UDINF = 70, /* RFC 6610 */
- SD_DHCP6_OPTION_MIP6_HNP = 71, /* RFC 6610 */
- SD_DHCP6_OPTION_MIP6_HAA = 72, /* RFC 6610 */
- SD_DHCP6_OPTION_MIP6_HAF = 73, /* RFC 6610 */
- SD_DHCP6_OPTION_RDNSS_SELECTION = 74, /* RFC 6731 */
- SD_DHCP6_OPTION_KRB_PRINCIPAL_NAME = 75, /* RFC 6784 */
- SD_DHCP6_OPTION_KRB_REALM_NAME = 76, /* RFC 6784 */
- SD_DHCP6_OPTION_KRB_DEFAULT_REALM_NAME = 77, /* RFC 6784 */
- SD_DHCP6_OPTION_KRB_KDC = 78, /* RFC 6784 */
- SD_DHCP6_OPTION_CLIENT_LINKLAYER_ADDR = 79, /* RFC 6939 */
- SD_DHCP6_OPTION_LINK_ADDRESS = 80, /* RFC 6977 */
- SD_DHCP6_OPTION_RADIUS = 81, /* RFC 7037 */
- SD_DHCP6_OPTION_SOL_MAX_RT = 82, /* RFC 7083, RFC 8415 */
- SD_DHCP6_OPTION_INF_MAX_RT = 83, /* RFC 7083, RFC 8415 */
- SD_DHCP6_OPTION_ADDRSEL = 84, /* RFC 7078 */
- SD_DHCP6_OPTION_ADDRSEL_TABLE = 85, /* RFC 7078 */
- SD_DHCP6_OPTION_V6_PCP_SERVER = 86, /* RFC 7291 */
- SD_DHCP6_OPTION_DHCPV4_MSG = 87, /* RFC 7341 */
- SD_DHCP6_OPTION_DHCP4_O_DHCP6_SERVER = 88, /* RFC 7341 */
- SD_DHCP6_OPTION_S46_RULE = 89, /* RFC 7598 */
- SD_DHCP6_OPTION_S46_BR = 90, /* RFC 7598, RFC 8539 */
- SD_DHCP6_OPTION_S46_DMR = 91, /* RFC 7598 */
- SD_DHCP6_OPTION_S46_V4V6BIND = 92, /* RFC 7598 */
- SD_DHCP6_OPTION_S46_PORTPARAMS = 93, /* RFC 7598 */
- SD_DHCP6_OPTION_S46_CONT_MAPE = 94, /* RFC 7598 */
- SD_DHCP6_OPTION_S46_CONT_MAPT = 95, /* RFC 7598 */
- SD_DHCP6_OPTION_S46_CONT_LW = 96, /* RFC 7598 */
- SD_DHCP6_OPTION_4RD = 97, /* RFC 7600 */
- SD_DHCP6_OPTION_4RD_MAP_RULE = 98, /* RFC 7600 */
- SD_DHCP6_OPTION_4RD_NON_MAP_RULE = 99, /* RFC 7600 */
- SD_DHCP6_OPTION_LQ_BASE_TIME = 100, /* RFC 7653 */
- SD_DHCP6_OPTION_LQ_START_TIME = 101, /* RFC 7653 */
- SD_DHCP6_OPTION_LQ_END_TIME = 102, /* RFC 7653 */
- SD_DHCP6_OPTION_CAPTIVE_PORTAL = 103, /* RFC 8910 */
- SD_DHCP6_OPTION_MPL_PARAMETERS = 104, /* RFC 7774 */
- SD_DHCP6_OPTION_ANI_ATT = 105, /* RFC 7839 */
- SD_DHCP6_OPTION_ANI_NETWORK_NAME = 106, /* RFC 7839 */
- SD_DHCP6_OPTION_ANI_AP_NAME = 107, /* RFC 7839 */
- SD_DHCP6_OPTION_ANI_AP_BSSID = 108, /* RFC 7839 */
- SD_DHCP6_OPTION_ANI_OPERATOR_ID = 109, /* RFC 7839 */
- SD_DHCP6_OPTION_ANI_OPERATOR_REALM = 110, /* RFC 7839 */
- SD_DHCP6_OPTION_S46_PRIORITY = 111, /* RFC 8026 */
- SD_DHCP6_OPTION_MUD_URL_V6 = 112, /* RFC 8520 */
- SD_DHCP6_OPTION_V6_PREFIX64 = 113, /* RFC 8115 */
- SD_DHCP6_OPTION_F_BINDING_STATUS = 114, /* RFC 8156 */
- SD_DHCP6_OPTION_F_CONNECT_FLAGS = 115, /* RFC 8156 */
- SD_DHCP6_OPTION_F_DNS_REMOVAL_INFO = 116, /* RFC 8156 */
- SD_DHCP6_OPTION_F_DNS_HOST_NAME = 117, /* RFC 8156 */
- SD_DHCP6_OPTION_F_DNS_ZONE_NAME = 118, /* RFC 8156 */
- SD_DHCP6_OPTION_F_DNS_FLAGS = 119, /* RFC 8156 */
- SD_DHCP6_OPTION_F_EXPIRATION_TIME = 120, /* RFC 8156 */
- SD_DHCP6_OPTION_F_MAX_UNACKED_BNDUPD = 121, /* RFC 8156 */
- SD_DHCP6_OPTION_F_MCLT = 122, /* RFC 8156 */
- SD_DHCP6_OPTION_F_PARTNER_LIFETIME = 123, /* RFC 8156 */
- SD_DHCP6_OPTION_F_PARTNER_LIFETIME_SENT = 124, /* RFC 8156 */
- SD_DHCP6_OPTION_F_PARTNER_DOWN_TIME = 125, /* RFC 8156 */
- SD_DHCP6_OPTION_F_PARTNER_RAW_CLT_TIME = 126, /* RFC 8156 */
- SD_DHCP6_OPTION_F_PROTOCOL_VERSION = 127, /* RFC 8156 */
- SD_DHCP6_OPTION_F_KEEPALIVE_TIME = 128, /* RFC 8156 */
- SD_DHCP6_OPTION_F_RECONFIGURE_DATA = 129, /* RFC 8156 */
- SD_DHCP6_OPTION_F_RELATIONSHIP_NAME = 130, /* RFC 8156 */
- SD_DHCP6_OPTION_F_SERVER_FLAGS = 131, /* RFC 8156 */
- SD_DHCP6_OPTION_F_SERVER_STATE = 132, /* RFC 8156 */
- SD_DHCP6_OPTION_F_START_TIME_OF_STATE = 133, /* RFC 8156 */
- SD_DHCP6_OPTION_F_STATE_EXPIRATION_TIME = 134, /* RFC 8156 */
- SD_DHCP6_OPTION_RELAY_PORT = 135, /* RFC 8357 */
- SD_DHCP6_OPTION_V6_SZTP_REDIRECT = 136, /* RFC 8572 */
- SD_DHCP6_OPTION_S46_BIND_IPV6_PREFIX = 137, /* RFC 8539 */
- SD_DHCP6_OPTION_IA_LL = 138, /* RFC 8947 */
- SD_DHCP6_OPTION_LLADDR = 139, /* RFC 8947 */
- SD_DHCP6_OPTION_SLAP_QUAD = 140, /* RFC 8948 */
- SD_DHCP6_OPTION_V6_DOTS_RI = 141, /* RFC 8973 */
- SD_DHCP6_OPTION_V6_DOTS_ADDRESS = 142, /* RFC 8973 */
- SD_DHCP6_OPTION_IPV6_ADDRESS_ANDSF = 143 /* RFC 6153 */
- /* option codes 144-65535 are unassigned */
-};
-
typedef struct sd_dhcp6_client sd_dhcp6_client;
typedef void (*sd_dhcp6_client_callback_t)(sd_dhcp6_client *client, int event, void *userdata);
@@ -211,23 +64,20 @@ int sd_dhcp6_client_set_mac(
const uint8_t *addr,
size_t addr_len,
uint16_t arp_type);
-int sd_dhcp6_client_set_duid(
- sd_dhcp6_client *client,
- uint16_t duid_type,
- const void *duid,
- size_t duid_len);
-int sd_dhcp6_client_set_duid_llt(
- sd_dhcp6_client *client,
- uint64_t llt_time);
+int sd_dhcp6_client_set_duid_llt(sd_dhcp6_client *client, uint64_t llt_time);
+int sd_dhcp6_client_set_duid_ll(sd_dhcp6_client *client);
+int sd_dhcp6_client_set_duid_en(sd_dhcp6_client *client);
+int sd_dhcp6_client_set_duid_uuid(sd_dhcp6_client *client);
+int sd_dhcp6_client_set_duid_raw(sd_dhcp6_client *client, uint16_t duid_type, const uint8_t *duid, size_t duid_len);
+int sd_dhcp6_client_set_duid(sd_dhcp6_client *client, const sd_dhcp_duid *duid);
+int sd_dhcp6_client_get_duid(sd_dhcp6_client *client, const sd_dhcp_duid **ret);
+int sd_dhcp6_client_get_duid_as_string(sd_dhcp6_client *client, char **ret);
int sd_dhcp6_client_set_iaid(
sd_dhcp6_client *client,
uint32_t iaid);
int sd_dhcp6_client_get_iaid(
sd_dhcp6_client *client,
uint32_t *iaid);
-int sd_dhcp6_client_duid_as_string(
- sd_dhcp6_client *client,
- char **duid);
int sd_dhcp6_client_set_fqdn(
sd_dhcp6_client *client,
const char *fqdn);
diff --git a/src/libnm-systemd-core/src/systemd/sd-dhcp6-lease.h b/src/libnm-systemd-core/src/systemd/sd-dhcp6-lease.h
index 716f6fc17c..e18d57817f 100644
--- a/src/libnm-systemd-core/src/systemd/sd-dhcp6-lease.h
+++ b/src/libnm-systemd-core/src/systemd/sd-dhcp6-lease.h
@@ -23,6 +23,8 @@
#include <netinet/in.h>
#include <sys/types.h>
+#include "sd-dhcp6-option.h"
+
#include "_sd-common.h"
_SD_BEGIN_DECLARATIONS;
@@ -30,24 +32,54 @@ _SD_BEGIN_DECLARATIONS;
typedef struct sd_dhcp6_lease sd_dhcp6_lease;
int sd_dhcp6_lease_get_timestamp(sd_dhcp6_lease *lease, clockid_t clock, uint64_t *ret);
+int sd_dhcp6_lease_get_t1(sd_dhcp6_lease *lease, uint64_t *ret);
+int sd_dhcp6_lease_get_t1_timestamp(sd_dhcp6_lease *lease, clockid_t clock, uint64_t *ret);
+int sd_dhcp6_lease_get_t2(sd_dhcp6_lease *lease, uint64_t *ret);
+int sd_dhcp6_lease_get_t2_timestamp(sd_dhcp6_lease *lease, clockid_t clock, uint64_t *ret);
+int sd_dhcp6_lease_get_valid_lifetime(sd_dhcp6_lease *lease, uint64_t *ret);
+int sd_dhcp6_lease_get_valid_lifetime_timestamp(sd_dhcp6_lease *lease, clockid_t clock, uint64_t *ret);
int sd_dhcp6_lease_get_server_address(sd_dhcp6_lease *lease, struct in6_addr *ret);
-void sd_dhcp6_lease_reset_address_iter(sd_dhcp6_lease *lease);
-int sd_dhcp6_lease_get_address(sd_dhcp6_lease *lease,
- struct in6_addr *addr,
- uint32_t *lifetime_preferred,
- uint32_t *lifetime_valid);
-void sd_dhcp6_lease_reset_pd_prefix_iter(sd_dhcp6_lease *lease);
-int sd_dhcp6_lease_get_pd(sd_dhcp6_lease *lease, struct in6_addr *prefix,
- uint8_t *prefix_len,
- uint32_t *lifetime_preferred,
- uint32_t *lifetime_valid);
+int sd_dhcp6_lease_address_iterator_reset(sd_dhcp6_lease *lease);
+int sd_dhcp6_lease_address_iterator_next(sd_dhcp6_lease *lease);
+int sd_dhcp6_lease_get_address(
+ sd_dhcp6_lease *lease,
+ struct in6_addr *ret);
+int sd_dhcp6_lease_get_address_lifetime(
+ sd_dhcp6_lease *lease,
+ uint64_t *ret_lifetime_preferred,
+ uint64_t *ret_lifetime_valid);
+int sd_dhcp6_lease_get_address_lifetime_timestamp(
+ sd_dhcp6_lease *lease,
+ clockid_t clock,
+ uint64_t *ret_lifetime_preferred,
+ uint64_t *ret_lifetime_valid);
+int sd_dhcp6_lease_has_address(sd_dhcp6_lease *lease);
+
+int sd_dhcp6_lease_pd_iterator_reset(sd_dhcp6_lease *lease);
+int sd_dhcp6_lease_pd_iterator_next(sd_dhcp6_lease *lease);
+int sd_dhcp6_lease_get_pd_prefix(
+ sd_dhcp6_lease *lease,
+ struct in6_addr *ret_prefix,
+ uint8_t *ret_prefix_length);
+int sd_dhcp6_lease_get_pd_lifetime(
+ sd_dhcp6_lease *lease,
+ uint64_t *ret_lifetime_preferred,
+ uint64_t *ret_lifetime_valid);
+int sd_dhcp6_lease_get_pd_lifetime_timestamp(
+ sd_dhcp6_lease *lease,
+ clockid_t clock,
+ uint64_t *ret_lifetime_preferred,
+ uint64_t *ret_lifetime_valid);
+int sd_dhcp6_lease_has_pd_prefix(sd_dhcp6_lease *lease);
int sd_dhcp6_lease_get_dns(sd_dhcp6_lease *lease, const struct in6_addr **ret);
int sd_dhcp6_lease_get_domains(sd_dhcp6_lease *lease, char ***ret);
int sd_dhcp6_lease_get_ntp_addrs(sd_dhcp6_lease *lease, const struct in6_addr **ret);
int sd_dhcp6_lease_get_ntp_fqdn(sd_dhcp6_lease *lease, char ***ret);
int sd_dhcp6_lease_get_fqdn(sd_dhcp6_lease *lease, const char **ret);
+int sd_dhcp6_lease_get_captive_portal(sd_dhcp6_lease *lease, const char **ret);
+int sd_dhcp6_lease_get_vendor_options(sd_dhcp6_lease *lease, sd_dhcp6_option ***ret);
sd_dhcp6_lease *sd_dhcp6_lease_ref(sd_dhcp6_lease *lease);
sd_dhcp6_lease *sd_dhcp6_lease_unref(sd_dhcp6_lease *lease);
diff --git a/src/libnm-systemd-core/src/systemd/sd-dhcp6-option.h b/src/libnm-systemd-core/src/systemd/sd-dhcp6-option.h
index b4b4671e4a..320124266a 100644
--- a/src/libnm-systemd-core/src/systemd/sd-dhcp6-option.h
+++ b/src/libnm-systemd-core/src/systemd/sd-dhcp6-option.h
@@ -20,6 +20,8 @@
#include <inttypes.h>
#include <sys/types.h>
+#include "sd-dhcp6-protocol.h"
+
#include "_sd-common.h"
_SD_BEGIN_DECLARATIONS;
diff --git a/src/libnm-systemd-core/src/systemd/sd-dhcp6-protocol.h b/src/libnm-systemd-core/src/systemd/sd-dhcp6-protocol.h
new file mode 100644
index 0000000000..78c80f7c7e
--- /dev/null
+++ b/src/libnm-systemd-core/src/systemd/sd-dhcp6-protocol.h
@@ -0,0 +1,174 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#ifndef foosddhcp6protocolhfoo
+#define foosddhcp6protocolhfoo
+
+/***
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <https://www.gnu.org/licenses/>.
+***/
+
+#include "_sd-common.h"
+
+_SD_BEGIN_DECLARATIONS;
+
+/* https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml#dhcpv6-parameters-2 */
+enum {
+ SD_DHCP6_OPTION_CLIENTID = 1, /* RFC 8415 */
+ SD_DHCP6_OPTION_SERVERID = 2, /* RFC 8415 */
+ SD_DHCP6_OPTION_IA_NA = 3, /* RFC 8415 */
+ SD_DHCP6_OPTION_IA_TA = 4, /* RFC 8415 */
+ SD_DHCP6_OPTION_IAADDR = 5, /* RFC 8415 */
+ SD_DHCP6_OPTION_ORO = 6, /* RFC 8415 */
+ SD_DHCP6_OPTION_PREFERENCE = 7, /* RFC 8415 */
+ SD_DHCP6_OPTION_ELAPSED_TIME = 8, /* RFC 8415 */
+ SD_DHCP6_OPTION_RELAY_MSG = 9, /* RFC 8415 */
+ /* option code 10 is unassigned */
+ SD_DHCP6_OPTION_AUTH = 11, /* RFC 8415 */
+ SD_DHCP6_OPTION_UNICAST = 12, /* RFC 8415 */
+ SD_DHCP6_OPTION_STATUS_CODE = 13, /* RFC 8415 */
+ SD_DHCP6_OPTION_RAPID_COMMIT = 14, /* RFC 8415 */
+ SD_DHCP6_OPTION_USER_CLASS = 15, /* RFC 8415 */
+ SD_DHCP6_OPTION_VENDOR_CLASS = 16, /* RFC 8415 */
+ SD_DHCP6_OPTION_VENDOR_OPTS = 17, /* RFC 8415 */
+ SD_DHCP6_OPTION_INTERFACE_ID = 18, /* RFC 8415 */
+ SD_DHCP6_OPTION_RECONF_MSG = 19, /* RFC 8415 */
+ SD_DHCP6_OPTION_RECONF_ACCEPT = 20, /* RFC 8415 */
+ SD_DHCP6_OPTION_SIP_SERVER_DOMAIN_NAME = 21, /* RFC 3319 */
+ SD_DHCP6_OPTION_SIP_SERVER_ADDRESS = 22, /* RFC 3319 */
+ SD_DHCP6_OPTION_DNS_SERVER = 23, /* RFC 3646 */
+ SD_DHCP6_OPTION_DOMAIN = 24, /* RFC 3646 */
+ SD_DHCP6_OPTION_IA_PD = 25, /* RFC 3633, RFC 8415 */
+ SD_DHCP6_OPTION_IA_PD_PREFIX = 26, /* RFC 3633, RFC 8415 */
+ SD_DHCP6_OPTION_NIS_SERVER = 27, /* RFC 3898 */
+ SD_DHCP6_OPTION_NISP_SERVER = 28, /* RFC 3898 */
+ SD_DHCP6_OPTION_NIS_DOMAIN_NAME = 29, /* RFC 3898 */
+ SD_DHCP6_OPTION_NISP_DOMAIN_NAME = 30, /* RFC 3898 */
+ SD_DHCP6_OPTION_SNTP_SERVER = 31, /* RFC 4075, deprecated */
+ SD_DHCP6_OPTION_INFORMATION_REFRESH_TIME = 32, /* RFC 4242, 8415, sec. 21.23 */
+ SD_DHCP6_OPTION_BCMCS_SERVER_D = 33, /* RFC 4280 */
+ SD_DHCP6_OPTION_BCMCS_SERVER_A = 34, /* RFC 4280 */
+ /* option code 35 is unassigned */
+ SD_DHCP6_OPTION_GEOCONF_CIVIC = 36, /* RFC 4776 */
+ SD_DHCP6_OPTION_REMOTE_ID = 37, /* RFC 4649 */
+ SD_DHCP6_OPTION_SUBSCRIBER_ID = 38, /* RFC 4580 */
+ SD_DHCP6_OPTION_CLIENT_FQDN = 39, /* RFC 4704 */
+ SD_DHCP6_OPTION_PANA_AGENT = 40, /* RFC 5192 */
+ SD_DHCP6_OPTION_POSIX_TIMEZONE = 41, /* RFC 4833 */
+ SD_DHCP6_OPTION_TZDB_TIMEZONE = 42, /* RFC 4833 */
+ SD_DHCP6_OPTION_ERO = 43, /* RFC 4994 */
+ SD_DHCP6_OPTION_LQ_QUERY = 44, /* RFC 5007 */
+ SD_DHCP6_OPTION_CLIENT_DATA = 45, /* RFC 5007 */
+ SD_DHCP6_OPTION_CLT_TIME = 46, /* RFC 5007 */
+ SD_DHCP6_OPTION_LQ_RELAY_DATA = 47, /* RFC 5007 */
+ SD_DHCP6_OPTION_LQ_CLIENT_LINK = 48, /* RFC 5007 */
+ SD_DHCP6_OPTION_MIP6_HNIDF = 49, /* RFC 6610 */
+ SD_DHCP6_OPTION_MIP6_VDINF = 50, /* RFC 6610 */
+ SD_DHCP6_OPTION_V6_LOST = 51, /* RFC 5223 */
+ SD_DHCP6_OPTION_CAPWAP_AC_V6 = 52, /* RFC 5417 */
+ SD_DHCP6_OPTION_RELAY_ID = 53, /* RFC 5460 */
+ SD_DHCP6_OPTION_IPV6_ADDRESS_MOS = 54, /* RFC 5678 */
+ SD_DHCP6_OPTION_IPV6_FQDN_MOS = 55, /* RFC 5678 */
+ SD_DHCP6_OPTION_NTP_SERVER = 56, /* RFC 5908 */
+ SD_DHCP6_OPTION_V6_ACCESS_DOMAIN = 57, /* RFC 5986 */
+ SD_DHCP6_OPTION_SIP_UA_CS_LIST = 58, /* RFC 6011 */
+ SD_DHCP6_OPTION_BOOTFILE_URL = 59, /* RFC 5970 */
+ SD_DHCP6_OPTION_BOOTFILE_PARAM = 60, /* RFC 5970 */
+ SD_DHCP6_OPTION_CLIENT_ARCH_TYPE = 61, /* RFC 5970 */
+ SD_DHCP6_OPTION_NII = 62, /* RFC 5970 */
+ SD_DHCP6_OPTION_GEOLOCATION = 63, /* RFC 6225 */
+ SD_DHCP6_OPTION_AFTR_NAME = 64, /* RFC 6334 */
+ SD_DHCP6_OPTION_ERP_LOCAL_DOMAIN_NAME = 65, /* RFC 6440 */
+ SD_DHCP6_OPTION_RSOO = 66, /* RFC 6422 */
+ SD_DHCP6_OPTION_PD_EXCLUDE = 67, /* RFC 6603 */
+ SD_DHCP6_OPTION_VSS = 68, /* RFC 6607 */
+ SD_DHCP6_OPTION_MIP6_IDINF = 69, /* RFC 6610 */
+ SD_DHCP6_OPTION_MIP6_UDINF = 70, /* RFC 6610 */
+ SD_DHCP6_OPTION_MIP6_HNP = 71, /* RFC 6610 */
+ SD_DHCP6_OPTION_MIP6_HAA = 72, /* RFC 6610 */
+ SD_DHCP6_OPTION_MIP6_HAF = 73, /* RFC 6610 */
+ SD_DHCP6_OPTION_RDNSS_SELECTION = 74, /* RFC 6731 */
+ SD_DHCP6_OPTION_KRB_PRINCIPAL_NAME = 75, /* RFC 6784 */
+ SD_DHCP6_OPTION_KRB_REALM_NAME = 76, /* RFC 6784 */
+ SD_DHCP6_OPTION_KRB_DEFAULT_REALM_NAME = 77, /* RFC 6784 */
+ SD_DHCP6_OPTION_KRB_KDC = 78, /* RFC 6784 */
+ SD_DHCP6_OPTION_CLIENT_LINKLAYER_ADDR = 79, /* RFC 6939 */
+ SD_DHCP6_OPTION_LINK_ADDRESS = 80, /* RFC 6977 */
+ SD_DHCP6_OPTION_RADIUS = 81, /* RFC 7037 */
+ SD_DHCP6_OPTION_SOL_MAX_RT = 82, /* RFC 7083, RFC 8415 */
+ SD_DHCP6_OPTION_INF_MAX_RT = 83, /* RFC 7083, RFC 8415 */
+ SD_DHCP6_OPTION_ADDRSEL = 84, /* RFC 7078 */
+ SD_DHCP6_OPTION_ADDRSEL_TABLE = 85, /* RFC 7078 */
+ SD_DHCP6_OPTION_V6_PCP_SERVER = 86, /* RFC 7291 */
+ SD_DHCP6_OPTION_DHCPV4_MSG = 87, /* RFC 7341 */
+ SD_DHCP6_OPTION_DHCP4_O_DHCP6_SERVER = 88, /* RFC 7341 */
+ SD_DHCP6_OPTION_S46_RULE = 89, /* RFC 7598 */
+ SD_DHCP6_OPTION_S46_BR = 90, /* RFC 7598, RFC 8539 */
+ SD_DHCP6_OPTION_S46_DMR = 91, /* RFC 7598 */
+ SD_DHCP6_OPTION_S46_V4V6BIND = 92, /* RFC 7598 */
+ SD_DHCP6_OPTION_S46_PORTPARAMS = 93, /* RFC 7598 */
+ SD_DHCP6_OPTION_S46_CONT_MAPE = 94, /* RFC 7598 */
+ SD_DHCP6_OPTION_S46_CONT_MAPT = 95, /* RFC 7598 */
+ SD_DHCP6_OPTION_S46_CONT_LW = 96, /* RFC 7598 */
+ SD_DHCP6_OPTION_4RD = 97, /* RFC 7600 */
+ SD_DHCP6_OPTION_4RD_MAP_RULE = 98, /* RFC 7600 */
+ SD_DHCP6_OPTION_4RD_NON_MAP_RULE = 99, /* RFC 7600 */
+ SD_DHCP6_OPTION_LQ_BASE_TIME = 100, /* RFC 7653 */
+ SD_DHCP6_OPTION_LQ_START_TIME = 101, /* RFC 7653 */
+ SD_DHCP6_OPTION_LQ_END_TIME = 102, /* RFC 7653 */
+ SD_DHCP6_OPTION_CAPTIVE_PORTAL = 103, /* RFC 8910 */
+ SD_DHCP6_OPTION_MPL_PARAMETERS = 104, /* RFC 7774 */
+ SD_DHCP6_OPTION_ANI_ATT = 105, /* RFC 7839 */
+ SD_DHCP6_OPTION_ANI_NETWORK_NAME = 106, /* RFC 7839 */
+ SD_DHCP6_OPTION_ANI_AP_NAME = 107, /* RFC 7839 */
+ SD_DHCP6_OPTION_ANI_AP_BSSID = 108, /* RFC 7839 */
+ SD_DHCP6_OPTION_ANI_OPERATOR_ID = 109, /* RFC 7839 */
+ SD_DHCP6_OPTION_ANI_OPERATOR_REALM = 110, /* RFC 7839 */
+ SD_DHCP6_OPTION_S46_PRIORITY = 111, /* RFC 8026 */
+ SD_DHCP6_OPTION_MUD_URL_V6 = 112, /* RFC 8520 */
+ SD_DHCP6_OPTION_V6_PREFIX64 = 113, /* RFC 8115 */
+ SD_DHCP6_OPTION_F_BINDING_STATUS = 114, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_CONNECT_FLAGS = 115, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_DNS_REMOVAL_INFO = 116, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_DNS_HOST_NAME = 117, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_DNS_ZONE_NAME = 118, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_DNS_FLAGS = 119, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_EXPIRATION_TIME = 120, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_MAX_UNACKED_BNDUPD = 121, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_MCLT = 122, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_PARTNER_LIFETIME = 123, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_PARTNER_LIFETIME_SENT = 124, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_PARTNER_DOWN_TIME = 125, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_PARTNER_RAW_CLT_TIME = 126, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_PROTOCOL_VERSION = 127, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_KEEPALIVE_TIME = 128, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_RECONFIGURE_DATA = 129, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_RELATIONSHIP_NAME = 130, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_SERVER_FLAGS = 131, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_SERVER_STATE = 132, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_START_TIME_OF_STATE = 133, /* RFC 8156 */
+ SD_DHCP6_OPTION_F_STATE_EXPIRATION_TIME = 134, /* RFC 8156 */
+ SD_DHCP6_OPTION_RELAY_PORT = 135, /* RFC 8357 */
+ SD_DHCP6_OPTION_V6_SZTP_REDIRECT = 136, /* RFC 8572 */
+ SD_DHCP6_OPTION_S46_BIND_IPV6_PREFIX = 137, /* RFC 8539 */
+ SD_DHCP6_OPTION_IA_LL = 138, /* RFC 8947 */
+ SD_DHCP6_OPTION_LLADDR = 139, /* RFC 8947 */
+ SD_DHCP6_OPTION_SLAP_QUAD = 140, /* RFC 8948 */
+ SD_DHCP6_OPTION_V6_DOTS_RI = 141, /* RFC 8973 */
+ SD_DHCP6_OPTION_V6_DOTS_ADDRESS = 142, /* RFC 8973 */
+ SD_DHCP6_OPTION_IPV6_ADDRESS_ANDSF = 143 /* RFC 6153 */
+ /* option codes 144-65535 are unassigned */
+};
+
+_SD_END_DECLARATIONS;
+
+#endif
diff --git a/src/libnm-systemd-core/src/systemd/sd-id128.h b/src/libnm-systemd-core/src/systemd/sd-id128.h
index 3303c374ce..a984a9d85e 100644
--- a/src/libnm-systemd-core/src/systemd/sd-id128.h
+++ b/src/libnm-systemd-core/src/systemd/sd-id128.h
@@ -50,6 +50,7 @@ int sd_id128_get_machine(sd_id128_t *ret);
int sd_id128_get_boot(sd_id128_t *ret);
int sd_id128_get_invocation(sd_id128_t *ret);
+int sd_id128_get_app_specific(sd_id128_t base, sd_id128_t app_id, sd_id128_t *ret);
int sd_id128_get_machine_app_specific(sd_id128_t app_id, sd_id128_t *ret);
int sd_id128_get_boot_app_specific(sd_id128_t app_id, sd_id128_t *ret);
diff --git a/src/libnm-systemd-core/src/systemd/sd-ndisc.h b/src/libnm-systemd-core/src/systemd/sd-ndisc.h
index ee309a4253..a5ccd5f644 100644
--- a/src/libnm-systemd-core/src/systemd/sd-ndisc.h
+++ b/src/libnm-systemd-core/src/systemd/sd-ndisc.h
@@ -42,7 +42,8 @@ enum {
SD_NDISC_OPTION_RDNSS = 25,
SD_NDISC_OPTION_FLAGS_EXTENSION = 26,
SD_NDISC_OPTION_DNSSL = 31,
- SD_NDISC_OPTION_CAPTIVE_PORTAL = 37
+ SD_NDISC_OPTION_CAPTIVE_PORTAL = 37,
+ SD_NDISC_OPTION_PREF64 = 38
};
/* Route preference, RFC 4191, Section 2.1 */
@@ -85,14 +86,17 @@ int sd_ndisc_set_mac(sd_ndisc *nd, const struct ether_addr *mac_addr);
sd_ndisc_router *sd_ndisc_router_ref(sd_ndisc_router *rt);
sd_ndisc_router *sd_ndisc_router_unref(sd_ndisc_router *rt);
-int sd_ndisc_router_get_address(sd_ndisc_router *rt, struct in6_addr *ret_addr);
+int sd_ndisc_router_get_address(sd_ndisc_router *rt, struct in6_addr *ret);
int sd_ndisc_router_get_timestamp(sd_ndisc_router *rt, clockid_t clock, uint64_t *ret);
-int sd_ndisc_router_get_raw(sd_ndisc_router *rt, const void **ret, size_t *size);
+int sd_ndisc_router_get_raw(sd_ndisc_router *rt, const void **ret, size_t *ret_size);
int sd_ndisc_router_get_hop_limit(sd_ndisc_router *rt, uint8_t *ret);
-int sd_ndisc_router_get_flags(sd_ndisc_router *rt, uint64_t *ret_flags);
+int sd_ndisc_router_get_icmp6_ratelimit(sd_ndisc_router *rt, uint64_t *ret);
+int sd_ndisc_router_get_flags(sd_ndisc_router *rt, uint64_t *ret);
int sd_ndisc_router_get_preference(sd_ndisc_router *rt, unsigned *ret);
-int sd_ndisc_router_get_lifetime(sd_ndisc_router *rt, uint16_t *ret_lifetime);
+int sd_ndisc_router_get_lifetime(sd_ndisc_router *rt, uint64_t *ret);
+int sd_ndisc_router_get_lifetime_timestamp(sd_ndisc_router *rt, clockid_t clock, uint64_t *ret);
+int sd_ndisc_router_get_retransmission_time(sd_ndisc_router *rt, uint64_t *ret);
int sd_ndisc_router_get_mtu(sd_ndisc_router *rt, uint32_t *ret);
/* Generic option access */
@@ -100,28 +104,42 @@ int sd_ndisc_router_option_rewind(sd_ndisc_router *rt);
int sd_ndisc_router_option_next(sd_ndisc_router *rt);
int sd_ndisc_router_option_get_type(sd_ndisc_router *rt, uint8_t *ret);
int sd_ndisc_router_option_is_type(sd_ndisc_router *rt, uint8_t type);
-int sd_ndisc_router_option_get_raw(sd_ndisc_router *rt, const void **ret, size_t *size);
+int sd_ndisc_router_option_get_raw(sd_ndisc_router *rt, const void **ret, size_t *ret_size);
/* Specific option access: SD_NDISC_OPTION_PREFIX_INFORMATION */
-int sd_ndisc_router_prefix_get_valid_lifetime(sd_ndisc_router *rt, uint32_t *ret);
-int sd_ndisc_router_prefix_get_preferred_lifetime(sd_ndisc_router *rt, uint32_t *ret);
+int sd_ndisc_router_prefix_get_valid_lifetime(sd_ndisc_router *rt, uint64_t *ret);
+int sd_ndisc_router_prefix_get_valid_lifetime_timestamp(sd_ndisc_router *rt, clockid_t clock, uint64_t *ret);
+int sd_ndisc_router_prefix_get_preferred_lifetime(sd_ndisc_router *rt, uint64_t *ret);
+int sd_ndisc_router_prefix_get_preferred_lifetime_timestamp(sd_ndisc_router *rt, clockid_t clock, uint64_t *ret);
int sd_ndisc_router_prefix_get_flags(sd_ndisc_router *rt, uint8_t *ret);
-int sd_ndisc_router_prefix_get_address(sd_ndisc_router *rt, struct in6_addr *ret_addr);
-int sd_ndisc_router_prefix_get_prefixlen(sd_ndisc_router *rt, unsigned *prefixlen);
+int sd_ndisc_router_prefix_get_address(sd_ndisc_router *rt, struct in6_addr *ret);
+int sd_ndisc_router_prefix_get_prefixlen(sd_ndisc_router *rt, unsigned *ret);
/* Specific option access: SD_NDISC_OPTION_ROUTE_INFORMATION */
-int sd_ndisc_router_route_get_lifetime(sd_ndisc_router *rt, uint32_t *ret);
-int sd_ndisc_router_route_get_address(sd_ndisc_router *rt, struct in6_addr *ret_addr);
-int sd_ndisc_router_route_get_prefixlen(sd_ndisc_router *rt, unsigned *prefixlen);
+int sd_ndisc_router_route_get_lifetime(sd_ndisc_router *rt, uint64_t *ret);
+int sd_ndisc_router_route_get_lifetime_timestamp(sd_ndisc_router *rt, clockid_t clock, uint64_t *ret);
+int sd_ndisc_router_route_get_address(sd_ndisc_router *rt, struct in6_addr *ret);
+int sd_ndisc_router_route_get_prefixlen(sd_ndisc_router *rt, unsigned *ret);
int sd_ndisc_router_route_get_preference(sd_ndisc_router *rt, unsigned *ret);
/* Specific option access: SD_NDISC_OPTION_RDNSS */
int sd_ndisc_router_rdnss_get_addresses(sd_ndisc_router *rt, const struct in6_addr **ret);
-int sd_ndisc_router_rdnss_get_lifetime(sd_ndisc_router *rt, uint32_t *ret);
+int sd_ndisc_router_rdnss_get_lifetime(sd_ndisc_router *rt, uint64_t *ret);
+int sd_ndisc_router_rdnss_get_lifetime_timestamp(sd_ndisc_router *rt, clockid_t clock, uint64_t *ret);
/* Specific option access: SD_NDISC_OPTION_DNSSL */
int sd_ndisc_router_dnssl_get_domains(sd_ndisc_router *rt, char ***ret);
-int sd_ndisc_router_dnssl_get_lifetime(sd_ndisc_router *rt, uint32_t *ret);
+int sd_ndisc_router_dnssl_get_lifetime(sd_ndisc_router *rt, uint64_t *ret);
+int sd_ndisc_router_dnssl_get_lifetime_timestamp(sd_ndisc_router *rt, clockid_t clock, uint64_t *ret);
+
+/* Specific option access: SD_NDISC_OPTION_CAPTIVE_PORTAL */
+int sd_ndisc_router_captive_portal_get_uri(sd_ndisc_router *rt, const char **ret, size_t *ret_size);
+
+/* Specific option access: SD_NDISC_OPTION_PREF64 */
+int sd_ndisc_router_prefix64_get_prefix(sd_ndisc_router *rt, struct in6_addr *ret);
+int sd_ndisc_router_prefix64_get_prefixlen(sd_ndisc_router *rt, unsigned *ret);
+int sd_ndisc_router_prefix64_get_lifetime(sd_ndisc_router *rt, uint64_t *ret);
+int sd_ndisc_router_prefix64_get_lifetime_timestamp(sd_ndisc_router *rt, clockid_t clock, uint64_t *ret);
_SD_DEFINE_POINTER_CLEANUP_FUNC(sd_ndisc, sd_ndisc_unref);
_SD_DEFINE_POINTER_CLEANUP_FUNC(sd_ndisc_router, sd_ndisc_router_unref);
diff --git a/src/libnm-systemd-shared/meson.build b/src/libnm-systemd-shared/meson.build
index b32bd7f6e0..3d3e42709f 100644
--- a/src/libnm-systemd-shared/meson.build
+++ b/src/libnm-systemd-shared/meson.build
@@ -5,6 +5,7 @@ libnm_systemd_shared = static_library(
sources: files(
'nm-sd-utils-shared.c',
'src/basic/alloc-util.c',
+ 'src/basic/btrfs.c',
'src/basic/env-file.c',
'src/basic/env-util.c',
'src/basic/escape.c',
@@ -58,6 +59,7 @@ libnm_systemd_shared = static_library(
top_inc,
src_inc,
],
+ c_args: libnm_systemd_common_cflags,
dependencies: glib_dep,
)
diff --git a/src/libnm-systemd-shared/sd-adapt-shared/netif-util.h b/src/libnm-systemd-shared/sd-adapt-shared/sd-messages.h
index 637892c2d6..637892c2d6 100644
--- a/src/libnm-systemd-shared/sd-adapt-shared/netif-util.h
+++ b/src/libnm-systemd-shared/sd-adapt-shared/sd-messages.h
diff --git a/src/libnm-systemd-shared/src/basic/alloc-util.c b/src/libnm-systemd-shared/src/basic/alloc-util.c
index c07ab58942..243ff521a7 100644
--- a/src/libnm-systemd-shared/src/basic/alloc-util.c
+++ b/src/libnm-systemd-shared/src/basic/alloc-util.c
@@ -105,6 +105,33 @@ void* greedy_realloc0(
return q;
}
+void* greedy_realloc_append(
+ void **p,
+ size_t *n_p,
+ const void *from,
+ size_t n_from,
+ size_t size) {
+
+ uint8_t *q;
+
+ assert(p);
+ assert(n_p);
+ assert(from || n_from == 0);
+
+ if (n_from > SIZE_MAX - *n_p)
+ return NULL;
+
+ q = greedy_realloc(p, *n_p + n_from, size);
+ if (!q)
+ return NULL;
+
+ memcpy_safe(q + *n_p * size, from, n_from * size);
+
+ *n_p += n_from;
+
+ return q;
+}
+
void *expand_to_usable(void *ptr, size_t newsize _unused_) {
return ptr;
}
diff --git a/src/libnm-systemd-shared/src/basic/alloc-util.h b/src/libnm-systemd-shared/src/basic/alloc-util.h
index 9a62381df1..c215c33f4b 100644
--- a/src/libnm-systemd-shared/src/basic/alloc-util.h
+++ b/src/libnm-systemd-shared/src/basic/alloc-util.h
@@ -15,13 +15,12 @@
typedef void (*free_func_t)(void *p);
typedef void* (*mfree_func_t)(void *p);
-typedef void (*free_array_func_t)(void *p, size_t n);
/* If for some reason more than 4M are allocated on the stack, let's abort immediately. It's better than
* proceeding and smashing the stack limits. Note that by default RLIMIT_STACK is 8M on Linux. */
#define ALLOCA_MAX (4U*1024U*1024U)
-#define new(t, n) ((t*) malloc_multiply(sizeof(t), (n)))
+#define new(t, n) ((t*) malloc_multiply(n, sizeof(t)))
#define new0(t, n) ((t*) calloc((n) ?: 1, sizeof(t)))
@@ -46,9 +45,9 @@ typedef void (*free_array_func_t)(void *p, size_t n);
(t*) alloca0((sizeof(t)*_n_)); \
})
-#define newdup(t, p, n) ((t*) memdup_multiply(p, sizeof(t), (n)))
+#define newdup(t, p, n) ((t*) memdup_multiply(p, n, sizeof(t)))
-#define newdup_suffix0(t, p, n) ((t*) memdup_suffix0_multiply(p, sizeof(t), (n)))
+#define newdup_suffix0(t, p, n) ((t*) memdup_suffix0_multiply(p, n, sizeof(t)))
#define malloc0(n) (calloc(1, (n) ?: 1))
@@ -113,7 +112,7 @@ static inline bool size_multiply_overflow(size_t size, size_t need) {
return _unlikely_(need != 0 && size > (SIZE_MAX / need));
}
-_malloc_ _alloc_(1, 2) static inline void *malloc_multiply(size_t size, size_t need) {
+_malloc_ _alloc_(1, 2) static inline void *malloc_multiply(size_t need, size_t size) {
if (size_multiply_overflow(size, need))
return NULL;
@@ -129,7 +128,7 @@ _alloc_(2, 3) static inline void *reallocarray(void *p, size_t need, size_t size
}
#endif
-_alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t size, size_t need) {
+_alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t need, size_t size) {
if (size_multiply_overflow(size, need))
return NULL;
@@ -138,7 +137,7 @@ _alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t size, si
/* Note that we can't decorate this function with _alloc_() since the returned memory area is one byte larger
* than the product of its parameters. */
-static inline void *memdup_suffix0_multiply(const void *p, size_t size, size_t need) {
+static inline void *memdup_suffix0_multiply(const void *p, size_t need, size_t size) {
if (size_multiply_overflow(size, need))
return NULL;
@@ -147,6 +146,7 @@ static inline void *memdup_suffix0_multiply(const void *p, size_t size, size_t n
void* greedy_realloc(void **p, size_t need, size_t size);
void* greedy_realloc0(void **p, size_t need, size_t size);
+void* greedy_realloc_append(void **p, size_t *n_p, const void *from, size_t n_from, size_t size);
#define GREEDY_REALLOC(array, need) \
greedy_realloc((void**) &(array), (need), sizeof((array)[0]))
@@ -154,6 +154,9 @@ void* greedy_realloc0(void **p, size_t need, size_t size);
#define GREEDY_REALLOC0(array, need) \
greedy_realloc0((void**) &(array), (need), sizeof((array)[0]))
+#define GREEDY_REALLOC_APPEND(array, n_array, from, n_from) \
+ greedy_realloc_append((void**) &(array), (size_t*) &(n_array), (from), (n_from), sizeof((array)[0]))
+
#define alloca0(n) \
({ \
char *_new_; \
@@ -224,7 +227,6 @@ static inline size_t malloc_sizeof_safe(void **xp) {
MALLOC_SIZEOF_SAFE(x)/sizeof((x)[0]), \
VOID_0))
-
/* These are like strdupa()/strndupa(), but honour ALLOCA_MAX */
#define strdupa_safe(s) \
({ \
@@ -235,7 +237,40 @@ static inline size_t malloc_sizeof_safe(void **xp) {
#define strndupa_safe(s, n) \
({ \
const char *_t = (s); \
- (char*) memdupa_suffix0(_t, strnlen(_t, (n))); \
+ (char*) memdupa_suffix0(_t, strnlen(_t, n)); \
})
+/* Free every element of the array. */
+static inline void free_many(void **p, size_t n) {
+ assert(p || n == 0);
+
+ FOREACH_ARRAY(i, p, n)
+ *i = mfree(*i);
+}
+
+/* Typesafe wrapper for char** rather than void**. Unfortunately C won't implicitly cast this. */
+static inline void free_many_charp(char **c, size_t n) {
+ free_many((void**) c, n);
+}
+
+_alloc_(2) static inline void *realloc0(void *p, size_t new_size) {
+ size_t old_size;
+ void *q;
+
+ /* Like realloc(), but initializes anything appended to zero */
+
+ old_size = MALLOC_SIZEOF_SAFE(p);
+
+ q = realloc(p, new_size);
+ if (!q)
+ return NULL;
+
+ new_size = MALLOC_SIZEOF_SAFE(q); /* Update with actually allocated space */
+
+ if (new_size > old_size)
+ memset((uint8_t*) q + old_size, 0, new_size - old_size);
+
+ return q;
+}
+
#include "memory-util.h"
diff --git a/src/libnm-systemd-shared/src/basic/arphrd-util.h b/src/libnm-systemd-shared/src/basic/arphrd-util.h
new file mode 100644
index 0000000000..33f5694abd
--- /dev/null
+++ b/src/libnm-systemd-shared/src/basic/arphrd-util.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include <inttypes.h>
+#include <stddef.h>
+
+const char *arphrd_to_name(int id);
+int arphrd_from_name(const char *name);
+
+size_t arphrd_to_hw_addr_len(uint16_t arphrd);
diff --git a/src/libnm-systemd-shared/src/basic/async.h b/src/libnm-systemd-shared/src/basic/async.h
deleted file mode 100644
index e0bbaa5658..0000000000
--- a/src/libnm-systemd-shared/src/basic/async.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1-or-later */
-#pragma once
-
-#include <sys/types.h>
-
-#include "macro.h"
-
-int asynchronous_job(void* (*func)(void *p), void *arg);
-
-int asynchronous_sync(pid_t *ret_pid);
-int asynchronous_close(int fd);
-
-DEFINE_TRIVIAL_CLEANUP_FUNC(int, asynchronous_close);
diff --git a/src/libnm-systemd-shared/src/basic/btrfs.c b/src/libnm-systemd-shared/src/basic/btrfs.c
new file mode 100644
index 0000000000..3b23607849
--- /dev/null
+++ b/src/libnm-systemd-shared/src/basic/btrfs.c
@@ -0,0 +1,100 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#include "nm-sd-adapt-shared.h"
+
+#include <linux/btrfs.h>
+#include <sys/ioctl.h>
+
+#include "btrfs.h"
+#include "fd-util.h"
+#include "fs-util.h"
+#include "path-util.h"
+
+int btrfs_validate_subvolume_name(const char *name) {
+
+ if (!filename_is_valid(name))
+ return -EINVAL;
+
+ if (strlen(name) > BTRFS_SUBVOL_NAME_MAX)
+ return -E2BIG;
+
+ return 0;
+}
+
+static int extract_subvolume_name(const char *path, char **ret) {
+ _cleanup_free_ char *fn = NULL;
+ int r;
+
+ assert(path);
+ assert(ret);
+
+ r = path_extract_filename(path, &fn);
+ if (r < 0)
+ return r;
+
+ r = btrfs_validate_subvolume_name(fn);
+ if (r < 0)
+ return r;
+
+ *ret = TAKE_PTR(fn);
+ return 0;
+}
+
+int btrfs_subvol_make(int dir_fd, const char *path) {
+ struct btrfs_ioctl_vol_args args = {};
+ _cleanup_free_ char *subvolume = NULL, *parent = NULL;
+ _cleanup_close_ int fd = -EBADF;
+ int r;
+
+ assert(dir_fd >= 0 || dir_fd == AT_FDCWD);
+ assert(!isempty(path));
+
+ r = extract_subvolume_name(path, &subvolume);
+ if (r < 0)
+ return r;
+
+ r = path_extract_directory(path, &parent);
+ if (r < 0) {
+ if (r != -EDESTADDRREQ) /* Propagate error, unless only a filename was specified, which is OK */
+ return r;
+
+ dir_fd = fd_reopen_condition(dir_fd, O_CLOEXEC, O_PATH, &fd); /* drop O_PATH if it is set */
+ if (dir_fd < 0)
+ return dir_fd;
+ } else {
+ fd = openat(dir_fd, parent, O_DIRECTORY|O_RDONLY|O_CLOEXEC, 0);
+ if (fd < 0)
+ return -errno;
+
+ dir_fd = fd;
+ }
+
+ strncpy(args.name, subvolume, sizeof(args.name)-1);
+
+ return RET_NERRNO(ioctl(dir_fd, BTRFS_IOC_SUBVOL_CREATE, &args));
+}
+
+int btrfs_subvol_make_fallback(int dir_fd, const char *path, mode_t mode) {
+ mode_t old, combined;
+ int r;
+
+ assert(path);
+
+ /* Let's work like mkdir(), i.e. take the specified mode, and mask it with the current umask. */
+ old = umask(~mode);
+ combined = old | ~mode;
+ if (combined != ~mode)
+ umask(combined);
+ r = btrfs_subvol_make(dir_fd, path);
+ umask(old);
+
+ if (r >= 0)
+ return 1; /* subvol worked */
+ if (!ERRNO_IS_NOT_SUPPORTED(r))
+ return r;
+
+ if (mkdirat(dir_fd, path, mode) < 0)
+ return -errno;
+
+ return 0; /* plain directory */
+}
diff --git a/src/libnm-systemd-shared/src/basic/btrfs.h b/src/libnm-systemd-shared/src/basic/btrfs.h
new file mode 100644
index 0000000000..38be9d2b3b
--- /dev/null
+++ b/src/libnm-systemd-shared/src/basic/btrfs.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#include <fcntl.h>
+
+int btrfs_validate_subvolume_name(const char *name);
+
+int btrfs_subvol_make(int dir_fd, const char *path);
+
+int btrfs_subvol_make_fallback(int dir_fd, const char *path, mode_t mode);
diff --git a/src/libnm-systemd-shared/src/basic/cgroup-util.h b/src/libnm-systemd-shared/src/basic/cgroup-util.h
index 9b30ae0396..244f3b657b 100644
--- a/src/libnm-systemd-shared/src/basic/cgroup-util.h
+++ b/src/libnm-systemd-shared/src/basic/cgroup-util.h
@@ -10,6 +10,7 @@
#include <sys/types.h>
#include "constants.h"
+#include "pidref.h"
#include "set.h"
#define SYSTEMD_CGROUP_CONTROLLER_LEGACY "name=systemd"
@@ -35,7 +36,7 @@ typedef enum CGroupController {
CGROUP_CONTROLLER_BPF_SOCKET_BIND,
CGROUP_CONTROLLER_BPF_RESTRICT_NETWORK_INTERFACES,
/* The BPF hook implementing RestrictFileSystems= is not defined here.
- * It's applied as late as possible in exec_child() so we don't block
+ * It's applied as late as possible in exec_invoke() so we don't block
* our own unit setup code. */
_CGROUP_CONTROLLER_MAX,
@@ -66,10 +67,13 @@ typedef enum CGroupMask {
/* All real cgroup v2 controllers */
CGROUP_MASK_V2 = CGROUP_MASK_CPU|CGROUP_MASK_CPUSET|CGROUP_MASK_IO|CGROUP_MASK_MEMORY|CGROUP_MASK_PIDS,
+ /* All controllers we want to delegate in case of Delegate=yes. Which are pretty much the v2 controllers only, as delegation on v1 is not safe, and bpf stuff isn't a real controller */
+ CGROUP_MASK_DELEGATE = CGROUP_MASK_V2,
+
/* All cgroup v2 BPF pseudo-controllers */
CGROUP_MASK_BPF = CGROUP_MASK_BPF_FIREWALL|CGROUP_MASK_BPF_DEVICES|CGROUP_MASK_BPF_FOREIGN|CGROUP_MASK_BPF_SOCKET_BIND|CGROUP_MASK_BPF_RESTRICT_NETWORK_INTERFACES,
- _CGROUP_MASK_ALL = CGROUP_CONTROLLER_TO_MASK(_CGROUP_CONTROLLER_MAX) - 1
+ _CGROUP_MASK_ALL = CGROUP_CONTROLLER_TO_MASK(_CGROUP_CONTROLLER_MAX) - 1,
} CGroupMask;
static inline CGroupMask CGROUP_MASK_EXTEND_JOINED(CGroupMask mask) {
@@ -176,13 +180,13 @@ typedef enum CGroupUnified {
* generate paths with multiple adjacent / removed.
*/
-int cg_enumerate_processes(const char *controller, const char *path, FILE **_f);
-int cg_read_pid(FILE *f, pid_t *_pid);
-int cg_read_event(const char *controller, const char *path, const char *event,
- char **val);
+int cg_enumerate_processes(const char *controller, const char *path, FILE **ret);
+int cg_read_pid(FILE *f, pid_t *ret);
+int cg_read_pidref(FILE *f, PidRef *ret);
+int cg_read_event(const char *controller, const char *path, const char *event, char **ret);
-int cg_enumerate_subgroups(const char *controller, const char *path, DIR **_d);
-int cg_read_subgroup(DIR *d, char **fn);
+int cg_enumerate_subgroups(const char *controller, const char *path, DIR **ret);
+int cg_read_subgroup(DIR *d, char **ret);
typedef enum CGroupFlags {
CGROUP_SIGCONT = 1 << 0,
@@ -190,25 +194,31 @@ typedef enum CGroupFlags {
CGROUP_REMOVE = 1 << 2,
} CGroupFlags;
-typedef int (*cg_kill_log_func_t)(pid_t pid, int sig, void *userdata);
+typedef int (*cg_kill_log_func_t)(const PidRef *pid, int sig, void *userdata);
-int cg_kill(const char *controller, const char *path, int sig, CGroupFlags flags, Set *s, cg_kill_log_func_t kill_log, void *userdata);
-int cg_kill_kernel_sigkill(const char *controller, const char *path);
-int cg_kill_recursive(const char *controller, const char *path, int sig, CGroupFlags flags, Set *s, cg_kill_log_func_t kill_log, void *userdata);
+int cg_kill(const char *path, int sig, CGroupFlags flags, Set *s, cg_kill_log_func_t kill_log, void *userdata);
+int cg_kill_kernel_sigkill(const char *path);
+int cg_kill_recursive(const char *path, int sig, CGroupFlags flags, Set *s, cg_kill_log_func_t kill_log, void *userdata);
int cg_split_spec(const char *spec, char **ret_controller, char **ret_path);
-int cg_mangle_path(const char *path, char **result);
+int cg_mangle_path(const char *path, char **ret);
-int cg_get_path(const char *controller, const char *path, const char *suffix, char **fs);
-int cg_get_path_and_check(const char *controller, const char *path, const char *suffix, char **fs);
+int cg_get_path(const char *controller, const char *path, const char *suffix, char **ret);
+int cg_get_path_and_check(const char *controller, const char *path, const char *suffix, char **ret);
-int cg_pid_get_path(const char *controller, pid_t pid, char **path);
+int cg_pid_get_path(const char *controller, pid_t pid, char **ret);
+int cg_pidref_get_path(const char *controller, const PidRef *pidref, char **ret);
int cg_rmdir(const char *controller, const char *path);
-int cg_is_threaded(const char *controller, const char *path);
+int cg_is_threaded(const char *path);
+
+int cg_is_delegated(const char *path);
+int cg_is_delegated_fd(int fd);
+
+int cg_has_coredump_receive(const char *path);
-typedef enum {
+typedef enum {
CG_KEY_MODE_GRACEFUL = 1 << 0,
} CGroupKeyMode;
@@ -239,14 +249,14 @@ int cg_get_attribute_as_uint64(const char *controller, const char *path, const c
/* Does a parse_boolean() on the attribute contents and sets ret accordingly */
int cg_get_attribute_as_bool(const char *controller, const char *path, const char *attribute, bool *ret);
-int cg_get_owner(const char *controller, const char *path, uid_t *ret_uid);
+int cg_get_owner(const char *path, uid_t *ret_uid);
-int cg_set_xattr(const char *controller, const char *path, const char *name, const void *value, size_t size, int flags);
-int cg_get_xattr(const char *controller, const char *path, const char *name, void *value, size_t size);
-int cg_get_xattr_malloc(const char *controller, const char *path, const char *name, char **ret);
+int cg_set_xattr(const char *path, const char *name, const void *value, size_t size, int flags);
+int cg_get_xattr(const char *path, const char *name, void *value, size_t size);
+int cg_get_xattr_malloc(const char *path, const char *name, char **ret);
/* Returns negative on error, and 0 or 1 on success for the bool value */
-int cg_get_xattr_bool(const char *controller, const char *path, const char *name);
-int cg_remove_xattr(const char *controller, const char *path, const char *name);
+int cg_get_xattr_bool(const char *path, const char *name);
+int cg_remove_xattr(const char *path, const char *name);
int cg_install_release_agent(const char *controller, const char *agent);
int cg_uninstall_release_agent(const char *controller);
@@ -257,27 +267,28 @@ int cg_is_empty_recursive(const char *controller, const char *path);
int cg_get_root_path(char **path);
int cg_path_get_cgroupid(const char *path, uint64_t *ret);
-int cg_path_get_session(const char *path, char **session);
-int cg_path_get_owner_uid(const char *path, uid_t *uid);
-int cg_path_get_unit(const char *path, char **unit);
-int cg_path_get_unit_path(const char *path, char **unit);
-int cg_path_get_user_unit(const char *path, char **unit);
-int cg_path_get_machine_name(const char *path, char **machine);
-int cg_path_get_slice(const char *path, char **slice);
-int cg_path_get_user_slice(const char *path, char **slice);
-
-int cg_shift_path(const char *cgroup, const char *cached_root, const char **shifted);
-int cg_pid_get_path_shifted(pid_t pid, const char *cached_root, char **cgroup);
-
-int cg_pid_get_session(pid_t pid, char **session);
-int cg_pid_get_owner_uid(pid_t pid, uid_t *uid);
-int cg_pid_get_unit(pid_t pid, char **unit);
-int cg_pid_get_user_unit(pid_t pid, char **unit);
-int cg_pid_get_machine_name(pid_t pid, char **machine);
-int cg_pid_get_slice(pid_t pid, char **slice);
-int cg_pid_get_user_slice(pid_t pid, char **slice);
-
-int cg_path_decode_unit(const char *cgroup, char **unit);
+int cg_path_get_session(const char *path, char **ret_session);
+int cg_path_get_owner_uid(const char *path, uid_t *ret_uid);
+int cg_path_get_unit(const char *path, char **ret_unit);
+int cg_path_get_unit_path(const char *path, char **ret_unit);
+int cg_path_get_user_unit(const char *path, char **ret_unit);
+int cg_path_get_machine_name(const char *path, char **ret_machine);
+int cg_path_get_slice(const char *path, char **ret_slice);
+int cg_path_get_user_slice(const char *path, char **ret_slice);
+
+int cg_shift_path(const char *cgroup, const char *cached_root, const char **ret_shifted);
+int cg_pid_get_path_shifted(pid_t pid, const char *cached_root, char **ret_cgroup);
+
+int cg_pid_get_session(pid_t pid, char **ret_session);
+int cg_pid_get_owner_uid(pid_t pid, uid_t *ret_uid);
+int cg_pid_get_unit(pid_t pid, char **ret_unit);
+int cg_pidref_get_unit(const PidRef *pidref, char **ret);
+int cg_pid_get_user_unit(pid_t pid, char **ret_unit);
+int cg_pid_get_machine_name(pid_t pid, char **ret_machine);
+int cg_pid_get_slice(pid_t pid, char **ret_slice);
+int cg_pid_get_user_slice(pid_t pid, char **ret_slice);
+
+int cg_path_decode_unit(const char *cgroup, char **ret_unit);
bool cg_needs_escape(const char *p);
int cg_escape(const char *p, char **ret);
diff --git a/src/libnm-systemd-shared/src/basic/constants.h b/src/libnm-systemd-shared/src/basic/constants.h
index 3f96786da9..6bb5f3c281 100644
--- a/src/libnm-systemd-shared/src/basic/constants.h
+++ b/src/libnm-systemd-shared/src/basic/constants.h
@@ -59,22 +59,13 @@
#define NOTIFY_FD_MAX 768
#define NOTIFY_BUFFER_MAX PIPE_BUF
-#if HAVE_SPLIT_USR
-# define _CONF_PATHS_SPLIT_USR_NULSTR(n) "/lib/" n "\0"
-# define _CONF_PATHS_SPLIT_USR(n) , "/lib/" n
-#else
-# define _CONF_PATHS_SPLIT_USR_NULSTR(n)
-# define _CONF_PATHS_SPLIT_USR(n)
-#endif
-
/* Return a nulstr for a standard cascade of configuration paths, suitable to pass to
* conf_files_list_nulstr() to implement drop-in directories for extending configuration files. */
#define CONF_PATHS_NULSTR(n) \
"/etc/" n "\0" \
"/run/" n "\0" \
"/usr/local/lib/" n "\0" \
- "/usr/lib/" n "\0" \
- _CONF_PATHS_SPLIT_USR_NULSTR(n)
+ "/usr/lib/" n "\0"
#define CONF_PATHS_USR(n) \
"/etc/" n, \
@@ -83,8 +74,7 @@
"/usr/lib/" n
#define CONF_PATHS(n) \
- CONF_PATHS_USR(n) \
- _CONF_PATHS_SPLIT_USR(n)
+ CONF_PATHS_USR(n)
#define CONF_PATHS_USR_STRV(n) \
STRV_MAKE(CONF_PATHS_USR(n))
@@ -99,14 +89,9 @@
* in containers so that our children inherit that. */
#define DEFAULT_RLIMIT_MEMLOCK (1024ULL*1024ULL*8ULL)
-#define PLYMOUTH_SOCKET { \
- .un.sun_family = AF_UNIX, \
- .un.sun_path = "\0/org/freedesktop/plymouthd", \
- }
-
/* Path where PID1 listens for varlink subscriptions from systemd-oomd to notify of changes in ManagedOOM settings. */
-#define VARLINK_ADDR_PATH_MANAGED_OOM_SYSTEM "/run/systemd/io.system.ManagedOOM"
+#define VARLINK_ADDR_PATH_MANAGED_OOM_SYSTEM "/run/systemd/io.systemd.ManagedOOM"
/* Path where systemd-oomd listens for varlink connections from user managers to report changes in ManagedOOM settings. */
-#define VARLINK_ADDR_PATH_MANAGED_OOM_USER "/run/systemd/oom/io.system.ManagedOOM"
+#define VARLINK_ADDR_PATH_MANAGED_OOM_USER "/run/systemd/oom/io.systemd.ManagedOOM"
#define KERNEL_BASELINE_VERSION "4.15"
diff --git a/src/libnm-systemd-shared/src/basic/env-file.c b/src/libnm-systemd-shared/src/basic/env-file.c
index db270bedce..75b2febf7d 100644
--- a/src/libnm-systemd-shared/src/basic/env-file.c
+++ b/src/libnm-systemd-shared/src/basic/env-file.c
@@ -127,7 +127,7 @@ static int parse_env_file_internal(
state = VALUE;
if (!GREEDY_REALLOC(value, n_value+2))
- return -ENOMEM;
+ return -ENOMEM;
value[n_value++] = c;
}
@@ -245,7 +245,13 @@ static int parse_env_file_internal(
break;
case COMMENT_ESCAPE:
- state = COMMENT;
+ log_debug("The line which doesn't begin with \";\" or \"#\", but follows a comment" \
+ " line trailing with escape is now treated as a non comment line since v254.");
+ if (strchr(NEWLINE, c)) {
+ state = PRE_KEY;
+ line++;
+ } else
+ state = COMMENT;
break;
}
}
@@ -522,6 +528,7 @@ static int merge_env_file_push(
char ***env = ASSERT_PTR(userdata);
char *expanded_value;
+ int r;
assert(key);
@@ -536,12 +543,12 @@ static int merge_env_file_push(
return 0;
}
- expanded_value = replace_env(value, *env,
- REPLACE_ENV_USE_ENVIRONMENT|
- REPLACE_ENV_ALLOW_BRACELESS|
- REPLACE_ENV_ALLOW_EXTENDED);
- if (!expanded_value)
- return -ENOMEM;
+ r = replace_env(value,
+ *env,
+ REPLACE_ENV_USE_ENVIRONMENT|REPLACE_ENV_ALLOW_BRACELESS|REPLACE_ENV_ALLOW_EXTENDED,
+ &expanded_value);
+ if (r < 0)
+ return log_error_errno(r, "%s:%u: Failed to expand variable '%s': %m", strna(filename), line, value);
free_and_replace(value, expanded_value);
@@ -599,7 +606,7 @@ static void write_env_var(FILE *f, const char *v) {
fputc_unlocked('\n', f);
}
-int write_env_file_at(int dir_fd, const char *fname, char **l) {
+int write_env_file(int dir_fd, const char *fname, char **headers, char **l) {
_cleanup_fclose_ FILE *f = NULL;
_cleanup_free_ char *p = NULL;
int r;
@@ -613,6 +620,12 @@ int write_env_file_at(int dir_fd, const char *fname, char **l) {
(void) fchmod_umask(fileno(f), 0644);
+ STRV_FOREACH(i, headers) {
+ assert(isempty(*i) || startswith(*i, "#"));
+ fputs_unlocked(*i, f);
+ fputc_unlocked('\n', f);
+ }
+
STRV_FOREACH(i, l)
write_env_var(f, *i);
@@ -627,4 +640,12 @@ int write_env_file_at(int dir_fd, const char *fname, char **l) {
(void) unlinkat(dir_fd, p, 0);
return r;
}
+
+int write_vconsole_conf(int dir_fd, const char *fname, char **l) {
+ char **headers = STRV_MAKE(
+ "# Written by systemd-localed(8) or systemd-firstboot(1), read by systemd-localed",
+ "# and systemd-vconsole-setup(8). Use localectl(1) to update this file.");
+
+ return write_env_file(dir_fd, fname, headers, l);
+}
#endif /* NM_IGNORED */
diff --git a/src/libnm-systemd-shared/src/basic/env-file.h b/src/libnm-systemd-shared/src/basic/env-file.h
index 2465eeddf4..37db30765b 100644
--- a/src/libnm-systemd-shared/src/basic/env-file.h
+++ b/src/libnm-systemd-shared/src/basic/env-file.h
@@ -19,7 +19,6 @@ int load_env_file_pairs_fd(int fd, const char *fname, char ***ret);
int merge_env_file(char ***env, FILE *f, const char *fname);
-int write_env_file_at(int dir_fd, const char *fname, char **l);
-static inline int write_env_file(const char *fname, char **l) {
- return write_env_file_at(AT_FDCWD, fname, l);
-}
+int write_env_file(int dir_fd, const char *fname, char **headers, char **l);
+
+int write_vconsole_conf(int dir_fd, const char *fname, char **l);
diff --git a/src/libnm-systemd-shared/src/basic/env-util.c b/src/libnm-systemd-shared/src/basic/env-util.c
index fa2753bccb..c12caa2e55 100644
--- a/src/libnm-systemd-shared/src/basic/env-util.c
+++ b/src/libnm-systemd-shared/src/basic/env-util.c
@@ -29,20 +29,21 @@
"_"
static bool env_name_is_valid_n(const char *e, size_t n) {
- if (!e)
- return false;
+
+ if (n == SIZE_MAX)
+ n = strlen_ptr(e);
if (n <= 0)
return false;
+ assert(e);
+
if (ascii_isdigit(e[0]))
return false;
- /* POSIX says the overall size of the environment block cannot
- * be > ARG_MAX, an individual assignment hence cannot be
- * either. Discounting the equal sign and trailing NUL this
- * hence leaves ARG_MAX-2 as longest possible variable
- * name. */
+ /* POSIX says the overall size of the environment block cannot be > ARG_MAX, an individual assignment
+ * hence cannot be either. Discounting the equal sign and trailing NUL this hence leaves ARG_MAX-2 as
+ * longest possible variable name. */
if (n > (size_t) sysconf(_SC_ARG_MAX) - 2)
return false;
@@ -246,9 +247,9 @@ static bool env_match(const char *t, const char *pattern) {
return true;
if (!strchr(pattern, '=')) {
- size_t l = strlen(pattern);
+ t = startswith(t, pattern);
- return strneq(t, pattern, l) && t[l] == '=';
+ return t && *t == '=';
}
return false;
@@ -460,6 +461,35 @@ int strv_env_assign(char ***l, const char *key, const char *value) {
return strv_env_replace_consume(l, p);
}
+int strv_env_assignf(char ***l, const char *key, const char *valuef, ...) {
+ int r;
+
+ assert(l);
+ assert(key);
+
+ if (!env_name_is_valid(key))
+ return -EINVAL;
+
+ if (!valuef) {
+ strv_env_unset(*l, key);
+ return 0;
+ }
+
+ _cleanup_free_ char *value = NULL;
+ va_list ap;
+ va_start(ap, valuef);
+ r = vasprintf(&value, valuef, ap);
+ va_end(ap);
+ if (r < 0)
+ return -ENOMEM;
+
+ char *p = strjoin(key, "=", value);
+ if (!p)
+ return -ENOMEM;
+
+ return strv_env_replace_consume(l, p);
+}
+
int _strv_env_assign_many(char ***l, ...) {
va_list ap;
int r;
@@ -502,32 +532,31 @@ int _strv_env_assign_many(char ***l, ...) {
return 0;
}
-char *strv_env_get_n(char **l, const char *name, size_t k, unsigned flags) {
+char* strv_env_get_n(char * const *l, const char *name, size_t k, ReplaceEnvFlags flags) {
assert(name);
+ if (k == SIZE_MAX)
+ k = strlen(name);
if (k <= 0)
return NULL;
STRV_FOREACH_BACKWARDS(i, l)
- if (strneq(*i, name, k) &&
- (*i)[k] == '=')
- return *i + k + 1;
+ if (strneq(*i, name, k) && (*i)[k] == '=')
+ return (char*) *i + k + 1;
if (flags & REPLACE_ENV_USE_ENVIRONMENT) {
const char *t;
+ /* Safety check that the name is not overly long, before we do a stack allocation */
+ if (k > (size_t) sysconf(_SC_ARG_MAX) - 2)
+ return NULL;
+
t = strndupa_safe(name, k);
return getenv(t);
};
return NULL;
}
-
-char *strv_env_get(char **l, const char *name) {
- assert(name);
-
- return strv_env_get_n(l, name, strlen(name), 0);
-}
#endif /* NM_IGNORED */
char *strv_env_pairs_get(char **l, const char *name) {
@@ -578,7 +607,61 @@ char **strv_env_clean_with_callback(char **e, void (*invalid_callback)(const cha
return e;
}
-char *replace_env_n(const char *format, size_t n, char **env, unsigned flags) {
+static int strv_extend_with_length(char ***l, const char *s, size_t n) {
+ char *c;
+
+ c = strndup(s, n);
+ if (!c)
+ return -ENOMEM;
+
+ return strv_consume(l, c);
+}
+
+static int strv_env_get_n_validated(
+ char **env,
+ const char *name,
+ size_t l,
+ ReplaceEnvFlags flags,
+ char **ret, /* points into the env block! do not free! */
+ char ***unset_variables, /* updated in place */
+ char ***bad_variables) { /* ditto */
+
+ char *e;
+ int r;
+
+ assert(l == 0 || name);
+ assert(ret);
+
+ if (env_name_is_valid_n(name, l)) {
+ e = strv_env_get_n(env, name, l, flags);
+ if (!e && unset_variables) {
+ r = strv_extend_with_length(unset_variables, name, l);
+ if (r < 0)
+ return r;
+ }
+ } else {
+ e = NULL; /* Resolve invalid variable names the same way as unset ones */
+
+ if (bad_variables) {
+ r = strv_extend_with_length(bad_variables, name, l);
+ if (r < 0)
+ return r;
+ }
+ }
+
+ *ret = e;
+ return !!e;
+}
+
+int replace_env_full(
+ const char *format,
+ size_t n,
+ char **env,
+ ReplaceEnvFlags flags,
+ char **ret,
+ char ***ret_unset_variables,
+ char ***ret_bad_variables) {
+
enum {
WORD,
CURLY,
@@ -589,15 +672,22 @@ char *replace_env_n(const char *format, size_t n, char **env, unsigned flags) {
ALTERNATE_VALUE,
} state = WORD;
+ _cleanup_strv_free_ char **unset_variables = NULL, **bad_variables = NULL;
const char *e, *word = format, *test_value = NULL; /* test_value is initialized to appease gcc */
- char *k;
_cleanup_free_ char *s = NULL;
+ char ***pu, ***pb, *k;
size_t i, len = 0; /* len is initialized to appease gcc */
- int nest = 0;
+ int nest = 0, r;
assert(format);
- for (e = format, i = 0; *e && i < n; e ++, i ++)
+ if (n == SIZE_MAX)
+ n = strlen(format);
+
+ pu = ret_unset_variables ? &unset_variables : NULL;
+ pb = ret_bad_variables ? &bad_variables : NULL;
+
+ for (e = format, i = 0; *e && i < n; e++, i++)
switch (state) {
case WORD:
@@ -609,27 +699,28 @@ char *replace_env_n(const char *format, size_t n, char **env, unsigned flags) {
if (*e == '{') {
k = strnappend(s, word, e-word-1);
if (!k)
- return NULL;
+ return -ENOMEM;
free_and_replace(s, k);
word = e-1;
state = VARIABLE;
nest++;
+
} else if (*e == '$') {
k = strnappend(s, word, e-word);
if (!k)
- return NULL;
+ return -ENOMEM;
free_and_replace(s, k);
word = e+1;
state = WORD;
- } else if (flags & REPLACE_ENV_ALLOW_BRACELESS && strchr(VALID_BASH_ENV_NAME_CHARS, *e)) {
+ } else if (FLAGS_SET(flags, REPLACE_ENV_ALLOW_BRACELESS) && strchr(VALID_BASH_ENV_NAME_CHARS, *e)) {
k = strnappend(s, word, e-word-1);
if (!k)
- return NULL;
+ return -ENOMEM;
free_and_replace(s, k);
@@ -642,12 +733,14 @@ char *replace_env_n(const char *format, size_t n, char **env, unsigned flags) {
case VARIABLE:
if (*e == '}') {
- const char *t;
+ char *t;
- t = strv_env_get_n(env, word+2, e-word-2, flags);
+ r = strv_env_get_n_validated(env, word+2, e-word-2, flags, &t, pu, pb);
+ if (r < 0)
+ return r;
if (!strextend(&s, t))
- return NULL;
+ return -ENOMEM;
word = e+1;
state = WORD;
@@ -689,18 +782,37 @@ char *replace_env_n(const char *format, size_t n, char **env, unsigned flags) {
nest--;
if (nest == 0) {
- const char *t;
+ _cleanup_strv_free_ char **u = NULL, **b = NULL;
_cleanup_free_ char *v = NULL;
+ char *t = NULL;
+
+ r = strv_env_get_n_validated(env, word+2, len, flags, &t, pu, pb);
+ if (r < 0)
+ return r;
+
+ if (t && state == ALTERNATE_VALUE) {
+ r = replace_env_full(test_value, e-test_value, env, flags, &v, pu ? &u : NULL, pb ? &b : NULL);
+ if (r < 0)
+ return r;
+
+ t = v;
+ } else if (!t && state == DEFAULT_VALUE) {
+ r = replace_env_full(test_value, e-test_value, env, flags, &v, pu ? &u : NULL, pb ? &b : NULL);
+ if (r < 0)
+ return r;
- t = strv_env_get_n(env, word+2, len, flags);
+ t = v;
+ }
- if (t && state == ALTERNATE_VALUE)
- t = v = replace_env_n(test_value, e-test_value, env, flags);
- else if (!t && state == DEFAULT_VALUE)
- t = v = replace_env_n(test_value, e-test_value, env, flags);
+ r = strv_extend_strv(&unset_variables, u, /* filter_duplicates= */ true);
+ if (r < 0)
+ return r;
+ r = strv_extend_strv(&bad_variables, b, /* filter_duplicates= */ true);
+ if (r < 0)
+ return r;
if (!strextend(&s, t))
- return NULL;
+ return -ENOMEM;
word = e+1;
state = WORD;
@@ -711,12 +823,14 @@ char *replace_env_n(const char *format, size_t n, char **env, unsigned flags) {
assert(flags & REPLACE_ENV_ALLOW_BRACELESS);
if (!strchr(VALID_BASH_ENV_NAME_CHARS, *e)) {
- const char *t;
+ char *t = NULL;
- t = strv_env_get_n(env, word+1, e-word-1, flags);
+ r = strv_env_get_n_validated(env, word+1, e-word-1, flags, &t, &unset_variables, &bad_variables);
+ if (r < 0)
+ return r;
if (!strextend(&s, t))
- return NULL;
+ return -ENOMEM;
word = e--;
i--;
@@ -726,58 +840,83 @@ char *replace_env_n(const char *format, size_t n, char **env, unsigned flags) {
}
if (state == VARIABLE_RAW) {
- const char *t;
+ char *t;
assert(flags & REPLACE_ENV_ALLOW_BRACELESS);
- t = strv_env_get_n(env, word+1, e-word-1, flags);
- return strjoin(s, t);
- } else
- return strnappend(s, word, e-word);
+ r = strv_env_get_n_validated(env, word+1, e-word-1, flags, &t, &unset_variables, &bad_variables);
+ if (r < 0)
+ return r;
+
+ if (!strextend(&s, t))
+ return -ENOMEM;
+
+ } else if (!strextendn(&s, word, e-word))
+ return -ENOMEM;
+
+ if (ret_unset_variables)
+ *ret_unset_variables = TAKE_PTR(unset_variables);
+ if (ret_bad_variables)
+ *ret_bad_variables = TAKE_PTR(bad_variables);
+
+ if (ret)
+ *ret = TAKE_PTR(s);
+
+ return 0;
}
-char **replace_env_argv(char **argv, char **env) {
- _cleanup_strv_free_ char **ret = NULL;
+int replace_env_argv(
+ char **argv,
+ char **env,
+ char ***ret,
+ char ***ret_unset_variables,
+ char ***ret_bad_variables) {
+
+ _cleanup_strv_free_ char **n = NULL, **unset_variables = NULL, **bad_variables = NULL;
size_t k = 0, l = 0;
+ int r;
l = strv_length(argv);
- ret = new(char*, l+1);
- if (!ret)
- return NULL;
+ n = new(char*, l+1);
+ if (!n)
+ return -ENOMEM;
STRV_FOREACH(i, argv) {
+ const char *word = *i;
/* If $FOO appears as single word, replace it by the split up variable */
- if ((*i)[0] == '$' && !IN_SET((*i)[1], '{', '$')) {
- char *e;
- char **w;
+ if (word[0] == '$' && !IN_SET(word[1], '{', '$')) {
_cleanup_strv_free_ char **m = NULL;
+ const char *name = word + 1;
+ char *e, **w;
size_t q;
- e = strv_env_get(env, *i+1);
- if (e) {
- int r;
-
- r = strv_split_full(&m, e, WHITESPACE, EXTRACT_RELAX|EXTRACT_UNQUOTE);
- if (r < 0) {
- ret[k] = NULL;
- return NULL;
- }
- }
+ if (env_name_is_valid(name)) {
+ e = strv_env_get(env, name);
+ if (e)
+ r = strv_split_full(&m, e, WHITESPACE, EXTRACT_RELAX|EXTRACT_UNQUOTE);
+ else if (ret_unset_variables)
+ r = strv_extend(&unset_variables, name);
+ else
+ r = 0;
+ } else if (ret_bad_variables)
+ r = strv_extend(&bad_variables, name);
+ else
+ r = 0;
+ if (r < 0)
+ return r;
q = strv_length(m);
l = l + q - 1;
- w = reallocarray(ret, l + 1, sizeof(char *));
- if (!w) {
- ret[k] = NULL;
- return NULL;
- }
+ w = reallocarray(n, l + 1, sizeof(char*));
+ if (!w)
+ return -ENOMEM;
- ret = w;
+ n = w;
if (m) {
- memcpy(ret + k, m, q * sizeof(char*));
+ memcpy(n + k, m, (q + 1) * sizeof(char*));
m = mfree(m);
}
@@ -785,15 +924,41 @@ char **replace_env_argv(char **argv, char **env) {
continue;
}
+ _cleanup_strv_free_ char **u = NULL, **b = NULL;
+
/* If ${FOO} appears as part of a word, replace it by the variable as-is */
- ret[k] = replace_env(*i, env, 0);
- if (!ret[k])
- return NULL;
- k++;
+ r = replace_env_full(
+ word,
+ /* length= */ SIZE_MAX,
+ env,
+ /* flags= */ 0,
+ n + k,
+ ret_unset_variables ? &u : NULL,
+ ret_bad_variables ? &b : NULL);
+ if (r < 0)
+ return r;
+ n[++k] = NULL;
+
+ r = strv_extend_strv(&unset_variables, u, /* filter_duplicates= */ true);
+ if (r < 0)
+ return r;
+
+ r = strv_extend_strv(&bad_variables, b, /*filter_duplicates= */ true);
+ if (r < 0)
+ return r;
+ }
+
+ if (ret_unset_variables) {
+ strv_uniq(strv_sort(unset_variables));
+ *ret_unset_variables = TAKE_PTR(unset_variables);
+ }
+ if (ret_bad_variables) {
+ strv_uniq(strv_sort(bad_variables));
+ *ret_bad_variables = TAKE_PTR(bad_variables);
}
- ret[k] = NULL;
- return TAKE_PTR(ret);
+ *ret = TAKE_PTR(n);
+ return 0;
}
#endif /* NM_IGNORED */
@@ -853,8 +1018,8 @@ int putenv_dup(const char *assignment, bool override) {
}
int setenv_systemd_exec_pid(bool update_only) {
- char str[DECIMAL_STR_MAX(pid_t)];
const char *e;
+ int r;
/* Update $SYSTEMD_EXEC_PID=pid except when '*' is set for the variable. */
@@ -865,10 +1030,9 @@ int setenv_systemd_exec_pid(bool update_only) {
if (streq_ptr(e, "*"))
return 0;
- xsprintf(str, PID_FMT, getpid_cached());
-
- if (setenv("SYSTEMD_EXEC_PID", str, 1) < 0)
- return -errno;
+ r = setenvf("SYSTEMD_EXEC_PID", /* overwrite= */ 1, PID_FMT, getpid_cached());
+ if (r < 0)
+ return r;
return 1;
}
@@ -944,4 +1108,45 @@ int getenv_steal_erase(const char *name, char **ret) {
return 1;
}
+
+int set_full_environment(char **env) {
+ int r;
+
+ clearenv();
+
+ STRV_FOREACH(e, env) {
+ _cleanup_free_ char *k = NULL, *v = NULL;
+
+ r = split_pair(*e, "=", &k, &v);
+ if (r < 0)
+ return r;
+
+ if (setenv(k, v, /* overwrite= */ true) < 0)
+ return -errno;
+ }
+
+ return 0;
+}
+
+int setenvf(const char *name, bool overwrite, const char *valuef, ...) {
+ _cleanup_free_ char *value = NULL;
+ va_list ap;
+ int r;
+
+ assert(name);
+
+ if (!valuef)
+ return RET_NERRNO(unsetenv(name));
+
+ va_start(ap, valuef);
+ DISABLE_WARNING_FORMAT_NONLITERAL;
+ r = vasprintf(&value, valuef, ap);
+ REENABLE_WARNING;
+ va_end(ap);
+
+ if (r < 0)
+ return -ENOMEM;
+
+ return RET_NERRNO(setenv(name, value, overwrite));
+}
#endif /* NM_IGNORED */
diff --git a/src/libnm-systemd-shared/src/basic/env-util.h b/src/libnm-systemd-shared/src/basic/env-util.h
index b0ff5a11d1..ad127de39f 100644
--- a/src/libnm-systemd-shared/src/basic/env-util.h
+++ b/src/libnm-systemd-shared/src/basic/env-util.h
@@ -19,19 +19,19 @@ bool env_name_is_valid(const char *e);
bool env_value_is_valid(const char *e);
bool env_assignment_is_valid(const char *e);
-enum {
+typedef enum ReplaceEnvFlags {
REPLACE_ENV_USE_ENVIRONMENT = 1 << 0,
REPLACE_ENV_ALLOW_BRACELESS = 1 << 1,
REPLACE_ENV_ALLOW_EXTENDED = 1 << 2,
-};
+} ReplaceEnvFlags;
-char *replace_env_n(const char *format, size_t n, char **env, unsigned flags);
-char **replace_env_argv(char **argv, char **env);
-
-static inline char *replace_env(const char *format, char **env, unsigned flags) {
- return replace_env_n(format, strlen(format), env, flags);
+int replace_env_full(const char *format, size_t n, char **env, ReplaceEnvFlags flags, char **ret, char ***ret_unset_variables, char ***ret_bad_variables);
+static inline int replace_env(const char *format, char **env, ReplaceEnvFlags flags, char **ret) {
+ return replace_env_full(format, SIZE_MAX, env, flags, ret, NULL, NULL);
}
+int replace_env_argv(char **argv, char **env, char ***ret, char ***ret_unset_variables, char ***ret_bad_variables);
+
bool strv_env_is_valid(char **e);
#define strv_env_clean(l) strv_env_clean_with_callback(l, NULL, NULL)
char **strv_env_clean_with_callback(char **l, void (*invalid_callback)(const char *p, void *userdata), void *userdata);
@@ -49,11 +49,15 @@ int strv_env_replace_consume(char ***l, char *p); /* In place ... */
int strv_env_replace_strdup(char ***l, const char *assignment);
int strv_env_replace_strdup_passthrough(char ***l, const char *assignment);
int strv_env_assign(char ***l, const char *key, const char *value);
+int strv_env_assignf(char ***l, const char *key, const char *valuef, ...) _printf_(3, 4);
int _strv_env_assign_many(char ***l, ...) _sentinel_;
#define strv_env_assign_many(l, ...) _strv_env_assign_many(l, __VA_ARGS__, NULL)
-char *strv_env_get_n(char **l, const char *name, size_t k, unsigned flags) _pure_;
-char *strv_env_get(char **x, const char *n) _pure_;
+char* strv_env_get_n(char * const *l, const char *name, size_t k, ReplaceEnvFlags flags);
+static inline char* strv_env_get(char * const *x, const char *n) {
+ return strv_env_get_n(x, n, SIZE_MAX, 0);
+}
+
char *strv_env_pairs_get(char **l, const char *name) _pure_;
int getenv_bool(const char *p);
@@ -74,3 +78,7 @@ int setenv_systemd_exec_pid(bool update_only);
int getenv_path_list(const char *name, char ***ret_paths);
int getenv_steal_erase(const char *name, char **ret);
+
+int set_full_environment(char **env);
+
+int setenvf(const char *name, bool overwrite, const char *valuef, ...) _printf_(3,4);
diff --git a/src/libnm-systemd-shared/src/basic/errno-util.h b/src/libnm-systemd-shared/src/basic/errno-util.h
index 091f99c590..27804e6382 100644
--- a/src/libnm-systemd-shared/src/basic/errno-util.h
+++ b/src/libnm-systemd-shared/src/basic/errno-util.h
@@ -1,6 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
+#include <inttypes.h>
#include <stdlib.h>
#include <string.h>
@@ -73,6 +74,16 @@ static inline int RET_NERRNO(int ret) {
return ret;
}
+/* Collect possible errors in <acc>, so that the first error can be returned.
+ * Returns (possibly updated) <acc>. */
+#define RET_GATHER(acc, err) \
+ ({ \
+ int *__a = &(acc), __e = (err); \
+ if (*__a >= 0 && __e < 0) \
+ *__a = __e; \
+ *__a; \
+ })
+
static inline int errno_or_else(int fallback) {
/* To be used when invoking library calls where errno handling is not defined clearly: we return
* errno if it is set, and the specified error otherwise. The idea is that the caller initializes
@@ -84,12 +95,23 @@ static inline int errno_or_else(int fallback) {
return -abs(fallback);
}
+/* abs(3) says: Trying to take the absolute value of the most negative integer is not defined. */
+#define _DEFINE_ABS_WRAPPER(name) \
+ static inline bool ERRNO_IS_##name(intmax_t r) { \
+ if (r == INTMAX_MIN) \
+ return false; \
+ return ERRNO_IS_NEG_##name(-imaxabs(r)); \
+ }
+
+assert_cc(INT_MAX <= INTMAX_MAX);
+
/* For send()/recv() or read()/write(). */
-static inline bool ERRNO_IS_TRANSIENT(int r) {
- return IN_SET(abs(r),
- EAGAIN,
- EINTR);
+static inline bool ERRNO_IS_NEG_TRANSIENT(intmax_t r) {
+ return IN_SET(r,
+ -EAGAIN,
+ -EINTR);
}
+_DEFINE_ABS_WRAPPER(TRANSIENT);
/* Hint #1: ENETUNREACH happens if we try to connect to "non-existing" special IP addresses, such as ::5.
*
@@ -98,79 +120,87 @@ static inline bool ERRNO_IS_TRANSIENT(int r) {
*
* Hint #3: When asynchronous connect() on TCP fails because the host never acknowledges a single packet,
* kernel tells us that with ETIMEDOUT, see tcp(7). */
-static inline bool ERRNO_IS_DISCONNECT(int r) {
- return IN_SET(abs(r),
- ECONNABORTED,
- ECONNREFUSED,
- ECONNRESET,
- EHOSTDOWN,
- EHOSTUNREACH,
- ENETDOWN,
- ENETRESET,
- ENETUNREACH,
- ENONET,
- ENOPROTOOPT,
- ENOTCONN,
- EPIPE,
- EPROTO,
- ESHUTDOWN,
- ETIMEDOUT);
+static inline bool ERRNO_IS_NEG_DISCONNECT(intmax_t r) {
+ return IN_SET(r,
+ -ECONNABORTED,
+ -ECONNREFUSED,
+ -ECONNRESET,
+ -EHOSTDOWN,
+ -EHOSTUNREACH,
+ -ENETDOWN,
+ -ENETRESET,
+ -ENETUNREACH,
+ -ENONET,
+ -ENOPROTOOPT,
+ -ENOTCONN,
+ -EPIPE,
+ -EPROTO,
+ -ESHUTDOWN,
+ -ETIMEDOUT);
}
+_DEFINE_ABS_WRAPPER(DISCONNECT);
/* Transient errors we might get on accept() that we should ignore. As per error handling comment in
* the accept(2) man page. */
-static inline bool ERRNO_IS_ACCEPT_AGAIN(int r) {
- return ERRNO_IS_DISCONNECT(r) ||
- ERRNO_IS_TRANSIENT(r) ||
- abs(r) == EOPNOTSUPP;
+static inline bool ERRNO_IS_NEG_ACCEPT_AGAIN(intmax_t r) {
+ return ERRNO_IS_NEG_DISCONNECT(r) ||
+ ERRNO_IS_NEG_TRANSIENT(r) ||
+ r == -EOPNOTSUPP;
}
+_DEFINE_ABS_WRAPPER(ACCEPT_AGAIN);
/* Resource exhaustion, could be our fault or general system trouble */
-static inline bool ERRNO_IS_RESOURCE(int r) {
- return IN_SET(abs(r),
- EMFILE,
- ENFILE,
- ENOMEM);
+static inline bool ERRNO_IS_NEG_RESOURCE(intmax_t r) {
+ return IN_SET(r,
+ -EMFILE,
+ -ENFILE,
+ -ENOMEM);
}
+_DEFINE_ABS_WRAPPER(RESOURCE);
/* Seven different errors for "operation/system call/ioctl/socket feature not supported" */
-static inline bool ERRNO_IS_NOT_SUPPORTED(int r) {
- return IN_SET(abs(r),
- EOPNOTSUPP,
- ENOTTY,
- ENOSYS,
- EAFNOSUPPORT,
- EPFNOSUPPORT,
- EPROTONOSUPPORT,
- ESOCKTNOSUPPORT);
+static inline bool ERRNO_IS_NEG_NOT_SUPPORTED(intmax_t r) {
+ return IN_SET(r,
+ -EOPNOTSUPP,
+ -ENOTTY,
+ -ENOSYS,
+ -EAFNOSUPPORT,
+ -EPFNOSUPPORT,
+ -EPROTONOSUPPORT,
+ -ESOCKTNOSUPPORT);
}
+_DEFINE_ABS_WRAPPER(NOT_SUPPORTED);
/* Two different errors for access problems */
-static inline bool ERRNO_IS_PRIVILEGE(int r) {
- return IN_SET(abs(r),
- EACCES,
- EPERM);
+static inline bool ERRNO_IS_NEG_PRIVILEGE(intmax_t r) {
+ return IN_SET(r,
+ -EACCES,
+ -EPERM);
}
+_DEFINE_ABS_WRAPPER(PRIVILEGE);
/* Three different errors for "not enough disk space" */
-static inline bool ERRNO_IS_DISK_SPACE(int r) {
- return IN_SET(abs(r),
- ENOSPC,
- EDQUOT,
- EFBIG);
+static inline bool ERRNO_IS_NEG_DISK_SPACE(intmax_t r) {
+ return IN_SET(r,
+ -ENOSPC,
+ -EDQUOT,
+ -EFBIG);
}
+_DEFINE_ABS_WRAPPER(DISK_SPACE);
/* Three different errors for "this device does not quite exist" */
-static inline bool ERRNO_IS_DEVICE_ABSENT(int r) {
- return IN_SET(abs(r),
- ENODEV,
- ENXIO,
- ENOENT);
+static inline bool ERRNO_IS_NEG_DEVICE_ABSENT(intmax_t r) {
+ return IN_SET(r,
+ -ENODEV,
+ -ENXIO,
+ -ENOENT);
}
+_DEFINE_ABS_WRAPPER(DEVICE_ABSENT);
/* Quite often we want to handle cases where the backing FS doesn't support extended attributes at all and
* where it simply doesn't have the requested xattr the same way */
-static inline bool ERRNO_IS_XATTR_ABSENT(int r) {
- return abs(r) == ENODATA ||
- ERRNO_IS_NOT_SUPPORTED(r);
+static inline bool ERRNO_IS_NEG_XATTR_ABSENT(intmax_t r) {
+ return r == -ENODATA ||
+ ERRNO_IS_NEG_NOT_SUPPORTED(r);
}
+_DEFINE_ABS_WRAPPER(XATTR_ABSENT);
diff --git a/src/libnm-systemd-shared/src/basic/escape.c b/src/libnm-systemd-shared/src/basic/escape.c
index 6d2c1d4d66..29f8b9cd1b 100644
--- a/src/libnm-systemd-shared/src/basic/escape.c
+++ b/src/libnm-systemd-shared/src/basic/escape.c
@@ -184,7 +184,7 @@ int cunescape_one(const char *p, size_t length, char32_t *ret, bool *eight_bit,
}
case 'u': {
- /* C++11 style 16bit unicode */
+ /* C++11 style 16-bit unicode */
int a[4];
size_t i;
@@ -211,7 +211,7 @@ int cunescape_one(const char *p, size_t length, char32_t *ret, bool *eight_bit,
}
case 'U': {
- /* C++11 style 32bit unicode */
+ /* C++11 style 32-bit unicode */
int a[8];
size_t i;
@@ -474,6 +474,33 @@ char* octescape(const char *s, size_t len) {
return buf;
}
+char* decescape(const char *s, const char *bad, size_t len) {
+ char *buf, *t;
+
+ /* Escapes all chars in bad, in addition to \ and " chars, in \nnn decimal style escaping. */
+
+ assert(s || len == 0);
+
+ t = buf = new(char, len * 4 + 1);
+ if (!buf)
+ return NULL;
+
+ for (size_t i = 0; i < len; i++) {
+ uint8_t u = (uint8_t) s[i];
+
+ if (u < ' ' || u >= 127 || IN_SET(u, '\\', '"') || strchr(bad, u)) {
+ *(t++) = '\\';
+ *(t++) = '0' + (u / 100);
+ *(t++) = '0' + ((u / 10) % 10);
+ *(t++) = '0' + (u % 10);
+ } else
+ *(t++) = u;
+ }
+
+ *t = 0;
+ return buf;
+}
+
static char* strcpy_backslash_escaped(char *t, const char *s, const char *bad) {
assert(bad);
assert(t);
diff --git a/src/libnm-systemd-shared/src/basic/escape.h b/src/libnm-systemd-shared/src/basic/escape.h
index 318da6f220..65caf0dbcf 100644
--- a/src/libnm-systemd-shared/src/basic/escape.h
+++ b/src/libnm-systemd-shared/src/basic/escape.h
@@ -65,6 +65,7 @@ static inline char* xescape(const char *s, const char *bad) {
return xescape_full(s, bad, SIZE_MAX, 0);
}
char* octescape(const char *s, size_t len);
+char* decescape(const char *s, const char *bad, size_t len);
char* escape_non_printable_full(const char *str, size_t console_width, XEscapeFlags flags);
char* shell_escape(const char *s, const char *bad);
diff --git a/src/libnm-systemd-shared/src/basic/ether-addr-util.c b/src/libnm-systemd-shared/src/basic/ether-addr-util.c
index 7984ddf4ad..1eb2e70065 100644
--- a/src/libnm-systemd-shared/src/basic/ether-addr-util.c
+++ b/src/libnm-systemd-shared/src/basic/ether-addr-util.c
@@ -61,8 +61,8 @@ void hw_addr_hash_func(const struct hw_addr_data *p, struct siphash *state) {
assert(p);
assert(state);
- siphash24_compress(&p->length, sizeof(p->length), state);
- siphash24_compress(p->bytes, p->length, state);
+ siphash24_compress_typesafe(p->length, state);
+ siphash24_compress_safe(p->bytes, p->length, state);
}
DEFINE_HASH_OPS(hw_addr_hash_ops, struct hw_addr_data, hw_addr_hash_func, hw_addr_compare);
@@ -108,7 +108,7 @@ int ether_addr_compare(const struct ether_addr *a, const struct ether_addr *b) {
}
static void ether_addr_hash_func(const struct ether_addr *p, struct siphash *state) {
- siphash24_compress(p, sizeof(struct ether_addr), state);
+ siphash24_compress_typesafe(*p, state);
}
DEFINE_HASH_OPS(ether_addr_hash_ops, struct ether_addr, ether_addr_hash_func, ether_addr_compare);
@@ -272,3 +272,11 @@ int parse_ether_addr(const char *s, struct ether_addr *ret) {
*ret = a.ether;
return 0;
}
+
+void ether_addr_mark_random(struct ether_addr *addr) {
+ assert(addr);
+
+ /* see eth_random_addr in the kernel */
+ addr->ether_addr_octet[0] &= 0xfe; /* clear multicast bit */
+ addr->ether_addr_octet[0] |= 0x02; /* set local assignment bit (IEEE802) */
+}
diff --git a/src/libnm-systemd-shared/src/basic/ether-addr-util.h b/src/libnm-systemd-shared/src/basic/ether-addr-util.h
index 83ed77d634..187e4ef583 100644
--- a/src/libnm-systemd-shared/src/basic/ether-addr-util.h
+++ b/src/libnm-systemd-shared/src/basic/ether-addr-util.h
@@ -113,3 +113,5 @@ static inline bool ether_addr_is_global(const struct ether_addr *addr) {
extern const struct hash_ops ether_addr_hash_ops;
extern const struct hash_ops ether_addr_hash_ops_free;
+
+void ether_addr_mark_random(struct ether_addr *addr);
diff --git a/src/libnm-systemd-shared/src/basic/extract-word.c b/src/libnm-systemd-shared/src/basic/extract-word.c
index 6781fb5560..2910a4cb60 100644
--- a/src/libnm-systemd-shared/src/basic/extract-word.c
+++ b/src/libnm-systemd-shared/src/basic/extract-word.c
@@ -275,11 +275,7 @@ int extract_many_words(const char **p, const char *separators, unsigned flags, .
r = extract_first_word(p, &l[c], separators, flags);
if (r < 0) {
- int j;
-
- for (j = 0; j < c; j++)
- free(l[j]);
-
+ free_many_charp(l, c);
return r;
}
diff --git a/src/libnm-systemd-shared/src/basic/fd-util.c b/src/libnm-systemd-shared/src/basic/fd-util.c
index a0e2f4eb8c..afdc05f2ab 100644
--- a/src/libnm-systemd-shared/src/basic/fd-util.c
+++ b/src/libnm-systemd-shared/src/basic/fd-util.c
@@ -94,11 +94,25 @@ void safe_close_pair(int p[static 2]) {
p[1] = safe_close(p[1]);
}
-void close_many(const int fds[], size_t n_fd) {
- assert(fds || n_fd <= 0);
+void close_many(const int fds[], size_t n_fds) {
+ assert(fds || n_fds == 0);
- for (size_t i = 0; i < n_fd; i++)
- safe_close(fds[i]);
+ FOREACH_ARRAY(fd, fds, n_fds)
+ safe_close(*fd);
+}
+
+void close_many_unset(int fds[], size_t n_fds) {
+ assert(fds || n_fds == 0);
+
+ FOREACH_ARRAY(fd, fds, n_fds)
+ *fd = safe_close(*fd);
+}
+
+void close_many_and_free(int *fds, size_t n_fds) {
+ assert(fds || n_fds == 0);
+
+ close_many(fds, n_fds);
+ free(fds);
}
int fclose_nointr(FILE *f) {
@@ -158,6 +172,19 @@ int fd_nonblock(int fd, bool nonblock) {
return RET_NERRNO(fcntl(fd, F_SETFL, nflags));
}
+int stdio_disable_nonblock(void) {
+ int ret = 0;
+
+ /* stdin/stdout/stderr really should have O_NONBLOCK, which would confuse apps if left on, as
+ * write()s might unexpectedly fail with EAGAIN. */
+
+ RET_GATHER(ret, fd_nonblock(STDIN_FILENO, false));
+ RET_GATHER(ret, fd_nonblock(STDOUT_FILENO, false));
+ RET_GATHER(ret, fd_nonblock(STDERR_FILENO, false));
+
+ return ret;
+}
+
int fd_cloexec(int fd, bool cloexec) {
int flags, nflags;
@@ -176,32 +203,32 @@ int fd_cloexec(int fd, bool cloexec) {
#if 0 /* NM_IGNORED */
int fd_cloexec_many(const int fds[], size_t n_fds, bool cloexec) {
- int ret = 0, r;
+ int r = 0;
- assert(n_fds == 0 || fds);
+ assert(fds || n_fds == 0);
- for (size_t i = 0; i < n_fds; i++) {
- if (fds[i] < 0) /* Skip gracefully over already invalidated fds */
+ FOREACH_ARRAY(fd, fds, n_fds) {
+ if (*fd < 0) /* Skip gracefully over already invalidated fds */
continue;
- r = fd_cloexec(fds[i], cloexec);
- if (r < 0 && ret >= 0) /* Continue going, but return first error */
- ret = r;
- else
- ret = 1; /* report if we did anything */
+ RET_GATHER(r, fd_cloexec(*fd, cloexec));
+
+ if (r >= 0)
+ r = 1; /* report if we did anything */
}
- return ret;
+ return r;
}
-_pure_ static bool fd_in_set(int fd, const int fdset[], size_t n_fdset) {
- assert(n_fdset == 0 || fdset);
+static bool fd_in_set(int fd, const int fds[], size_t n_fds) {
+ assert(fd >= 0);
+ assert(fds || n_fds == 0);
- for (size_t i = 0; i < n_fdset; i++) {
- if (fdset[i] < 0)
+ FOREACH_ARRAY(i, fds, n_fds) {
+ if (*i < 0)
continue;
- if (fdset[i] == fd)
+ if (*i == fd)
return true;
}
@@ -232,7 +259,7 @@ int get_max_fd(void) {
static int close_all_fds_frugal(const int except[], size_t n_except) {
int max_fd, r = 0;
- assert(n_except == 0 || except);
+ assert(except || n_except == 0);
/* This is the inner fallback core of close_all_fds(). This never calls malloc() or opendir() or so
* and hence is safe to be called in signal handler context. Most users should call close_all_fds(),
@@ -247,8 +274,7 @@ static int close_all_fds_frugal(const int except[], size_t n_except) {
* spin the CPU for a long time. */
if (max_fd > MAX_FD_LOOP_LIMIT)
return log_debug_errno(SYNTHETIC_ERRNO(EPERM),
- "Refusing to loop over %d potential fds.",
- max_fd);
+ "Refusing to loop over %d potential fds.", max_fd);
for (int fd = 3; fd >= 0; fd = fd < max_fd ? fd + 1 : -EBADF) {
int q;
@@ -257,8 +283,8 @@ static int close_all_fds_frugal(const int except[], size_t n_except) {
continue;
q = close_nointr(fd);
- if (q < 0 && q != -EBADF && r >= 0)
- r = q;
+ if (q != -EBADF)
+ RET_GATHER(r, q);
}
return r;
@@ -589,7 +615,7 @@ int move_fd(int from, int to, int cloexec) {
if (fl < 0)
return -errno;
- cloexec = !!(fl & FD_CLOEXEC);
+ cloexec = FLAGS_SET(fl, FD_CLOEXEC);
}
r = dup3(from, to, cloexec ? O_CLOEXEC : 0);
@@ -647,7 +673,7 @@ int rearrange_stdio(int original_input_fd, int original_output_fd, int original_
original_output_fd,
original_error_fd },
null_fd = -EBADF, /* If we open /dev/null, we store the fd to it here */
- copy_fd[3] = { -EBADF, -EBADF, -EBADF }, /* This contains all fds we duplicate here
+ copy_fd[3] = EBADF_TRIPLET, /* This contains all fds we duplicate here
* temporarily, and hence need to close at the end. */
r;
bool null_readable, null_writable;
@@ -745,8 +771,7 @@ finish:
safe_close_above_stdio(original_error_fd);
/* Close the copies we moved > 2 */
- for (int i = 0; i < 3; i++)
- safe_close(copy_fd[i]);
+ close_many(copy_fd, 3);
/* Close our null fd, if it's > 2 */
safe_close_above_stdio(null_fd);
@@ -756,9 +781,10 @@ finish:
#endif /* NM_IGNORED */
int fd_reopen(int fd, int flags) {
- int new_fd, r;
+ int r;
assert(fd >= 0 || fd == AT_FDCWD);
+ assert(!FLAGS_SET(flags, O_CREAT));
/* Reopens the specified fd with new flags. This is useful for convert an O_PATH fd into a regular one, or to
* turn O_RDWR fds into O_RDONLY fds.
@@ -782,19 +808,12 @@ int fd_reopen(int fd, int flags) {
* the same way as the non-O_DIRECTORY case. */
return -ELOOP;
- if (FLAGS_SET(flags, O_DIRECTORY) || fd == AT_FDCWD) {
+ if (FLAGS_SET(flags, O_DIRECTORY) || fd == AT_FDCWD)
/* If we shall reopen the fd as directory we can just go via "." and thus bypass the whole
* magic /proc/ directory, and make ourselves independent of that being mounted. */
- new_fd = openat(fd, ".", flags | O_DIRECTORY);
- if (new_fd < 0)
- return -errno;
-
- return new_fd;
- }
+ return RET_NERRNO(openat(fd, ".", flags | O_DIRECTORY));
- assert(fd >= 0);
-
- new_fd = open(FORMAT_PROC_FD_PATH(fd), flags);
+ int new_fd = open(FORMAT_PROC_FD_PATH(fd), flags);
if (new_fd < 0) {
if (errno != ENOENT)
return -errno;
@@ -811,7 +830,6 @@ int fd_reopen(int fd, int flags) {
return new_fd;
}
-#if 0 /* NM_IGNORED */
int fd_reopen_condition(
int fd,
int flags,
@@ -821,6 +839,7 @@ int fd_reopen_condition(
int r, new_fd;
assert(fd >= 0);
+ assert(!FLAGS_SET(flags, O_CREAT));
/* Invokes fd_reopen(fd, flags), but only if the existing F_GETFL flags don't match the specified
* flags (masked by the specified mask). This is useful for converting O_PATH fds into real fds if
@@ -843,6 +862,7 @@ int fd_reopen_condition(
return new_fd;
}
+#if 0 /* NM_IGNORED */
int fd_is_opath(int fd) {
int r;
@@ -901,75 +921,86 @@ int fd_get_diskseq(int fd, uint64_t *ret) {
}
int path_is_root_at(int dir_fd, const char *path) {
- STRUCT_NEW_STATX_DEFINE(st);
- STRUCT_NEW_STATX_DEFINE(pst);
- _cleanup_close_ int fd = -EBADF;
- int r;
+ _cleanup_close_ int fd = -EBADF, pfd = -EBADF;
assert(dir_fd >= 0 || dir_fd == AT_FDCWD);
if (!isempty(path)) {
- fd = openat(dir_fd, path, O_PATH|O_CLOEXEC);
+ fd = openat(dir_fd, path, O_PATH|O_DIRECTORY|O_CLOEXEC);
if (fd < 0)
- return -errno;
+ return errno == ENOTDIR ? false : -errno;
dir_fd = fd;
}
- r = statx_fallback(dir_fd, ".", 0, STATX_TYPE|STATX_INO|STATX_MNT_ID, &st.sx);
- if (r == -ENOTDIR)
- return false;
+ pfd = openat(dir_fd, "..", O_PATH|O_DIRECTORY|O_CLOEXEC);
+ if (pfd < 0)
+ return errno == ENOTDIR ? false : -errno;
+
+ /* Even if the parent directory has the same inode, the fd may not point to the root directory "/",
+ * and we also need to check that the mount ids are the same. Otherwise, a construct like the
+ * following could be used to trick us:
+ *
+ * $ mkdir /tmp/x /tmp/x/y
+ * $ mount --bind /tmp/x /tmp/x/y
+ */
+
+ return fds_are_same_mount(dir_fd, pfd);
+}
+
+int fds_are_same_mount(int fd1, int fd2) {
+ STRUCT_NEW_STATX_DEFINE(st1);
+ STRUCT_NEW_STATX_DEFINE(st2);
+ int r;
+
+ assert(fd1 >= 0);
+ assert(fd2 >= 0);
+
+ r = statx_fallback(fd1, "", AT_EMPTY_PATH, STATX_TYPE|STATX_INO|STATX_MNT_ID, &st1.sx);
if (r < 0)
return r;
- r = statx_fallback(dir_fd, "..", 0, STATX_TYPE|STATX_INO|STATX_MNT_ID, &pst.sx);
+ r = statx_fallback(fd2, "", AT_EMPTY_PATH, STATX_TYPE|STATX_INO|STATX_MNT_ID, &st2.sx);
if (r < 0)
return r;
/* First, compare inode. If these are different, the fd does not point to the root directory "/". */
- if (!statx_inode_same(&st.sx, &pst.sx))
+ if (!statx_inode_same(&st1.sx, &st2.sx))
return false;
- /* Even if the parent directory has the same inode, the fd may not point to the root directory "/",
- * and we also need to check that the mount ids are the same. Otherwise, a construct like the
- * following could be used to trick us:
- *
- * $ mkdir /tmp/x /tmp/x/y
- * $ mount --bind /tmp/x /tmp/x/y
- *
- * Note, statx() does not provide the mount ID and path_get_mnt_id_at() does not work when an old
- * kernel is used without /proc mounted. In that case, let's assume that we do not have such spurious
- * mount points in an early boot stage, and silently skip the following check. */
+ /* Note, statx() does not provide the mount ID and path_get_mnt_id_at() does not work when an old
+ * kernel is used. In that case, let's assume that we do not have such spurious mount points in an
+ * early boot stage, and silently skip the following check. */
- if (!FLAGS_SET(st.nsx.stx_mask, STATX_MNT_ID)) {
+ if (!FLAGS_SET(st1.nsx.stx_mask, STATX_MNT_ID)) {
int mntid;
- r = path_get_mnt_id_at(dir_fd, "", &mntid);
- if (r == -ENOSYS)
+ r = path_get_mnt_id_at_fallback(fd1, "", &mntid);
+ if (ERRNO_IS_NEG_NOT_SUPPORTED(r))
return true; /* skip the mount ID check */
if (r < 0)
return r;
assert(mntid >= 0);
- st.nsx.stx_mnt_id = mntid;
- st.nsx.stx_mask |= STATX_MNT_ID;
+ st1.nsx.stx_mnt_id = mntid;
+ st1.nsx.stx_mask |= STATX_MNT_ID;
}
- if (!FLAGS_SET(pst.nsx.stx_mask, STATX_MNT_ID)) {
+ if (!FLAGS_SET(st2.nsx.stx_mask, STATX_MNT_ID)) {
int mntid;
- r = path_get_mnt_id_at(dir_fd, "..", &mntid);
- if (r == -ENOSYS)
+ r = path_get_mnt_id_at_fallback(fd2, "", &mntid);
+ if (ERRNO_IS_NEG_NOT_SUPPORTED(r))
return true; /* skip the mount ID check */
if (r < 0)
return r;
assert(mntid >= 0);
- pst.nsx.stx_mnt_id = mntid;
- pst.nsx.stx_mask |= STATX_MNT_ID;
+ st2.nsx.stx_mnt_id = mntid;
+ st2.nsx.stx_mask |= STATX_MNT_ID;
}
- return statx_mount_same(&st.nsx, &pst.nsx);
+ return statx_mount_same(&st1.nsx, &st2.nsx);
}
const char *accmode_to_string(int flags) {
@@ -984,4 +1015,12 @@ const char *accmode_to_string(int flags) {
return NULL;
}
}
+
+char *format_proc_pid_fd_path(char buf[static PROC_PID_FD_PATH_MAX], pid_t pid, int fd) {
+ assert(buf);
+ assert(fd >= 0);
+ assert(pid >= 0);
+ assert_se(snprintf_ok(buf, PROC_PID_FD_PATH_MAX, "/proc/" PID_FMT "/fd/%i", pid == 0 ? getpid_cached() : pid, fd));
+ return buf;
+}
#endif /* NM_IGNORED */
diff --git a/src/libnm-systemd-shared/src/basic/fd-util.h b/src/libnm-systemd-shared/src/basic/fd-util.h
index c870a1b899..183266513a 100644
--- a/src/libnm-systemd-shared/src/basic/fd-util.h
+++ b/src/libnm-systemd-shared/src/basic/fd-util.h
@@ -16,7 +16,10 @@
/* Make sure we can distinguish fd 0 and NULL */
#define FD_TO_PTR(fd) INT_TO_PTR((fd)+1)
#define PTR_TO_FD(p) (PTR_TO_INT(p)-1)
-#define PIPE_EBADF { -EBADF, -EBADF }
+
+/* Useful helpers for initializing pipe(), socketpair() or stdio fd arrays */
+#define EBADF_PAIR { -EBADF, -EBADF }
+#define EBADF_TRIPLET { -EBADF, -EBADF, -EBADF }
int close_nointr(int fd);
int safe_close(int fd);
@@ -29,7 +32,9 @@ static inline int safe_close_above_stdio(int fd) {
return safe_close(fd);
}
-void close_many(const int fds[], size_t n_fd);
+void close_many(const int fds[], size_t n_fds);
+void close_many_unset(int fds[], size_t n_fds);
+void close_many_and_free(int *fds, size_t n_fds);
int fclose_nointr(FILE *f);
FILE* safe_fclose(FILE *f);
@@ -47,6 +52,11 @@ static inline void fclosep(FILE **f) {
safe_fclose(*f);
}
+static inline void* close_fd_ptr(void *p) {
+ safe_close(PTR_TO_FD(p));
+ return NULL;
+}
+
DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL);
DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL);
@@ -57,6 +67,8 @@ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL);
#define _cleanup_close_pair_ _cleanup_(close_pairp)
int fd_nonblock(int fd, bool nonblock);
+int stdio_disable_nonblock(void);
+
int fd_cloexec(int fd, bool cloexec);
int fd_cloexec_many(const int fds[], size_t n_fds, bool cloexec);
@@ -102,6 +114,9 @@ int read_nr_open(void);
int fd_get_diskseq(int fd, uint64_t *ret);
int path_is_root_at(int dir_fd, const char *path);
+static inline int path_is_root(const char *path) {
+ return path_is_root_at(AT_FDCWD, path);
+}
static inline int dir_fd_is_root(int dir_fd) {
return path_is_root_at(dir_fd, NULL);
}
@@ -109,6 +124,8 @@ static inline int dir_fd_is_root_or_cwd(int dir_fd) {
return dir_fd == AT_FDCWD ? true : path_is_root_at(dir_fd, NULL);
}
+int fds_are_same_mount(int fd1, int fd2);
+
/* The maximum length a buffer for a /proc/self/fd/<fd> path needs */
#define PROC_FD_PATH_MAX \
(STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int))
@@ -123,6 +140,16 @@ static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int f
#define FORMAT_PROC_FD_PATH(fd) \
format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd))
+/* The maximum length a buffer for a /proc/<pid>/fd/<fd> path needs */
+#define PROC_PID_FD_PATH_MAX \
+ (STRLEN("/proc//fd/") + DECIMAL_STR_MAX(pid_t) + DECIMAL_STR_MAX(int))
+
+char *format_proc_pid_fd_path(char buf[static PROC_PID_FD_PATH_MAX], pid_t pid, int fd);
+
+/* Kinda the same as FORMAT_PROC_FD_PATH(), but goes by PID rather than "self" symlink */
+#define FORMAT_PROC_PID_FD_PATH(pid, fd) \
+ format_proc_pid_fd_path((char[PROC_PID_FD_PATH_MAX]) {}, (pid), (fd))
+
const char *accmode_to_string(int flags);
/* Like ASSERT_PTR, but for fds */
diff --git a/src/libnm-systemd-shared/src/basic/fileio.c b/src/libnm-systemd-shared/src/basic/fileio.c
index 908a030911..7ab29816fe 100644
--- a/src/libnm-systemd-shared/src/basic/fileio.c
+++ b/src/libnm-systemd-shared/src/basic/fileio.c
@@ -30,10 +30,13 @@
#include "stdio-util.h"
#include "string-util.h"
#include "sync-util.h"
+#include "terminal-util.h"
#include "tmpfile-util.h"
/* The maximum size of the file we'll read in one go in read_full_file() (64M). */
#define READ_FULL_BYTES_MAX (64U*1024U*1024U - 1U)
+/* Used when a size is specified for read_full_file() with READ_FULL_FILE_UNBASE64 or _UNHEX */
+#define READ_FULL_FILE_ENCODED_STRING_AMPLIFICATION_BOUNDARY 3
/* The maximum size of virtual files (i.e. procfs, sysfs, and other virtual "API" files) we'll read in one go
* in read_virtual_file(). Note that this limit is different (and much lower) than the READ_FULL_BYTES_MAX
@@ -200,6 +203,19 @@ int write_string_stream_ts(
return 0;
}
+static mode_t write_string_file_flags_to_mode(WriteStringFileFlags flags) {
+
+ /* We support three different modes, that are the ones that really make sense for text files like this:
+ *
+ * → 0600 (i.e. root-only)
+ * → 0444 (i.e. read-only)
+ * → 0644 (i.e. writable for root, readable for everyone else)
+ */
+
+ return FLAGS_SET(flags, WRITE_STRING_FILE_MODE_0600) ? 0600 :
+ FLAGS_SET(flags, WRITE_STRING_FILE_MODE_0444) ? 0444 : 0644;
+}
+
static int write_string_file_atomic_at(
int dir_fd,
const char *fn,
@@ -225,7 +241,7 @@ static int write_string_file_atomic_at(
if (r < 0)
goto fail;
- r = fchmod_umask(fileno(f), FLAGS_SET(flags, WRITE_STRING_FILE_MODE_0600) ? 0600 : 0644);
+ r = fchmod_umask(fileno(f), write_string_file_flags_to_mode(flags));
if (r < 0)
goto fail;
@@ -288,7 +304,7 @@ int write_string_file_ts_at(
(FLAGS_SET(flags, WRITE_STRING_FILE_CREATE) ? O_CREAT : 0) |
(FLAGS_SET(flags, WRITE_STRING_FILE_TRUNCATE) ? O_TRUNC : 0) |
(FLAGS_SET(flags, WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL) ? O_RDWR : O_WRONLY),
- (FLAGS_SET(flags, WRITE_STRING_FILE_MODE_0600) ? 0600 : 0666));
+ write_string_file_flags_to_mode(flags));
if (fd < 0) {
r = -errno;
goto fail;
@@ -576,7 +592,7 @@ int read_full_stream_full(
size_t *ret_size) {
_cleanup_free_ char *buf = NULL;
- size_t n, n_next = 0, l;
+ size_t n, n_next = 0, l, expected_decoded_size = size;
int fd, r;
assert(f);
@@ -587,6 +603,13 @@ int read_full_stream_full(
if (offset != UINT64_MAX && offset > LONG_MAX) /* fseek() can only deal with "long" offsets */
return -ERANGE;
+ if ((flags & (READ_FULL_FILE_UNBASE64 | READ_FULL_FILE_UNHEX)) != 0) {
+ if (size <= SIZE_MAX / READ_FULL_FILE_ENCODED_STRING_AMPLIFICATION_BOUNDARY)
+ size *= READ_FULL_FILE_ENCODED_STRING_AMPLIFICATION_BOUNDARY;
+ else
+ size = SIZE_MAX;
+ }
+
fd = fileno(f);
if (fd >= 0) { /* If the FILE* object is backed by an fd (as opposed to memory or such, see
* fmemopen()), let's optimize our buffering */
@@ -711,6 +734,11 @@ int read_full_stream_full(
explicit_bzero_safe(buf, n);
free_and_replace(buf, decoded);
n = l = decoded_size;
+
+ if (FLAGS_SET(flags, READ_FULL_FILE_FAIL_WHEN_LARGER) && l > expected_decoded_size) {
+ r = -E2BIG;
+ goto finalize;
+ }
}
if (!ret_size) {
@@ -1057,7 +1085,9 @@ int fdopen_independent(int fd, const char *mode, FILE **ret) {
if (mode_flags < 0)
return mode_flags;
- copy_fd = fd_reopen(fd, mode_flags);
+ /* Flags returned by fopen_mode_to_flags might contain O_CREAT, but it doesn't make sense for fd_reopen
+ * since we're working on an existing fd anyway. Let's drop it here to avoid triggering assertion. */
+ copy_fd = fd_reopen(fd, mode_flags & ~O_CREAT);
if (copy_fd < 0)
return copy_fd;
@@ -1069,123 +1099,171 @@ int fdopen_independent(int fd, const char *mode, FILE **ret) {
return 0;
}
-static int search_and_fopen_internal(
+static int search_and_open_internal(
const char *path,
- const char *mode,
+ int mode, /* if ret_fd is NULL this is an [FRWX]_OK mode for access(), otherwise an open mode for open() */
const char *root,
char **search,
- FILE **ret,
+ int *ret_fd,
char **ret_path) {
+ int r;
+
+ assert(!ret_fd || !FLAGS_SET(mode, O_CREAT)); /* We don't support O_CREAT for this */
assert(path);
- assert(mode);
- assert(ret);
+
+ if (path_is_absolute(path)) {
+ _cleanup_close_ int fd = -EBADF;
+
+ if (ret_fd)
+ /* We only specify 0777 here to appease static analyzers, it's never used since we
+ * don't support O_CREAT here */
+ r = fd = RET_NERRNO(open(path, mode, 0777));
+ else
+ r = RET_NERRNO(access(path, mode));
+ if (r < 0)
+ return r;
+
+ if (ret_path) {
+ r = path_simplify_alloc(path, ret_path);
+ if (r < 0)
+ return r;
+ }
+
+ if (ret_fd)
+ *ret_fd = TAKE_FD(fd);
+
+ return 0;
+ }
if (!path_strv_resolve_uniq(search, root))
return -ENOMEM;
STRV_FOREACH(i, search) {
+ _cleanup_close_ int fd = -EBADF;
_cleanup_free_ char *p = NULL;
- FILE *f;
p = path_join(root, *i, path);
if (!p)
return -ENOMEM;
- f = fopen(p, mode);
- if (f) {
+ if (ret_fd)
+ /* as above, 0777 is static analyzer appeasement */
+ r = fd = RET_NERRNO(open(p, mode, 0777));
+ else
+ r = RET_NERRNO(access(p, F_OK));
+ if (r >= 0) {
if (ret_path)
*ret_path = path_simplify(TAKE_PTR(p));
- *ret = f;
+ if (ret_fd)
+ *ret_fd = TAKE_FD(fd);
+
return 0;
}
-
- if (errno != ENOENT)
- return -errno;
+ if (r != -ENOENT)
+ return r;
}
return -ENOENT;
}
-int search_and_fopen(
- const char *filename,
- const char *mode,
+int search_and_open(
+ const char *path,
+ int mode,
const char *root,
- const char **search,
- FILE **ret,
+ char **search,
+ int *ret_fd,
char **ret_path) {
_cleanup_strv_free_ char **copy = NULL;
- assert(filename);
- assert(mode);
- assert(ret);
+ assert(path);
- if (path_is_absolute(filename)) {
- _cleanup_fclose_ FILE *f = NULL;
+ copy = strv_copy((char**) search);
+ if (!copy)
+ return -ENOMEM;
+
+ return search_and_open_internal(path, mode, root, copy, ret_fd, ret_path);
+}
+
+static int search_and_fopen_internal(
+ const char *path,
+ const char *mode,
+ const char *root,
+ char **search,
+ FILE **ret_file,
+ char **ret_path) {
+
+ _cleanup_free_ char *found_path = NULL;
+ _cleanup_close_ int fd = -EBADF;
+ int r;
+
+ assert(path);
+ assert(mode || !ret_file);
+
+ r = search_and_open(
+ path,
+ mode ? fopen_mode_to_flags(mode) : 0,
+ root,
+ search,
+ ret_file ? &fd : NULL,
+ ret_path ? &found_path : NULL);
+ if (r < 0)
+ return r;
- f = fopen(filename, mode);
+ if (ret_file) {
+ FILE *f = take_fdopen(&fd, mode);
if (!f)
return -errno;
- if (ret_path) {
- char *p;
+ *ret_file = f;
+ }
- p = strdup(filename);
- if (!p)
- return -ENOMEM;
+ if (ret_path)
+ *ret_path = TAKE_PTR(found_path);
- *ret_path = path_simplify(p);
- }
+ return 0;
+}
- *ret = TAKE_PTR(f);
- return 0;
- }
+int search_and_fopen(
+ const char *path,
+ const char *mode,
+ const char *root,
+ const char **search,
+ FILE **ret_file,
+ char **ret_path) {
+
+ _cleanup_strv_free_ char **copy = NULL;
+
+ assert(path);
+ assert(mode || !ret_file);
copy = strv_copy((char**) search);
if (!copy)
return -ENOMEM;
- return search_and_fopen_internal(filename, mode, root, copy, ret, ret_path);
+ return search_and_fopen_internal(path, mode, root, copy, ret_file, ret_path);
}
int search_and_fopen_nulstr(
- const char *filename,
+ const char *path,
const char *mode,
const char *root,
const char *search,
- FILE **ret,
+ FILE **ret_file,
char **ret_path) {
- _cleanup_strv_free_ char **s = NULL;
-
- if (path_is_absolute(filename)) {
- _cleanup_fclose_ FILE *f = NULL;
-
- f = fopen(filename, mode);
- if (!f)
- return -errno;
-
- if (ret_path) {
- char *p;
-
- p = strdup(filename);
- if (!p)
- return -ENOMEM;
-
- *ret_path = path_simplify(p);
- }
+ _cleanup_strv_free_ char **l = NULL;
- *ret = TAKE_PTR(f);
- return 0;
- }
+ assert(path);
+ assert(mode || !ret_file);
- s = strv_split_nulstr(search);
- if (!s)
+ l = strv_split_nulstr(search);
+ if (!l)
return -ENOMEM;
- return search_and_fopen_internal(filename, mode, root, s, ret, ret_path);
+ return search_and_fopen_internal(path, mode, root, l, ret_file, ret_path);
}
#endif /* NM_IGNORED */
@@ -1259,33 +1337,31 @@ int read_timestamp_file(const char *fn, usec_t *ret) {
}
#endif /* NM_IGNORED */
-int fputs_with_space(FILE *f, const char *s, const char *separator, bool *space) {
- int r;
-
+int fputs_with_separator(FILE *f, const char *s, const char *separator, bool *space) {
assert(s);
+ assert(space);
- /* Outputs the specified string with fputs(), but optionally prefixes it with a separator. The *space parameter
- * when specified shall initially point to a boolean variable initialized to false. It is set to true after the
- * first invocation. This call is supposed to be use in loops, where a separator shall be inserted between each
- * element, but not before the first one. */
+ /* Outputs the specified string with fputs(), but optionally prefixes it with a separator.
+ * The *space parameter when specified shall initially point to a boolean variable initialized
+ * to false. It is set to true after the first invocation. This call is supposed to be use in loops,
+ * where a separator shall be inserted between each element, but not before the first one. */
if (!f)
f = stdout;
- if (space) {
- if (!separator)
- separator = " ";
+ if (!separator)
+ separator = " ";
- if (*space) {
- r = fputs(separator, f);
- if (r < 0)
- return r;
- }
+ if (*space)
+ if (fputs(separator, f) < 0)
+ return -EIO;
- *space = true;
- }
+ *space = true;
+
+ if (fputs(s, f) < 0)
+ return -EIO;
- return fputs(s, f);
+ return 0;
}
#if 0 /* NM_IGNORED */
@@ -1406,7 +1482,7 @@ int read_line_full(FILE *f, size_t limit, ReadLineFlags flags, char **ret) {
* and don't call isatty() on an invalid fd */
flags |= READ_LINE_NOT_A_TTY;
else
- flags |= isatty(fd) ? READ_LINE_IS_A_TTY : READ_LINE_NOT_A_TTY;
+ flags |= isatty_safe(fd) ? READ_LINE_IS_A_TTY : READ_LINE_NOT_A_TTY;
}
if (FLAGS_SET(flags, READ_LINE_IS_A_TTY))
break;
@@ -1437,6 +1513,36 @@ int read_line_full(FILE *f, size_t limit, ReadLineFlags flags, char **ret) {
return (int) count;
}
+int read_stripped_line(FILE *f, size_t limit, char **ret) {
+ _cleanup_free_ char *s = NULL;
+ int r;
+
+ assert(f);
+
+ r = read_line(f, limit, ret ? &s : NULL);
+ if (r < 0)
+ return r;
+
+ if (ret) {
+ const char *p;
+
+ p = strstrip(s);
+ if (p == s)
+ *ret = TAKE_PTR(s);
+ else {
+ char *copy;
+
+ copy = strdup(p);
+ if (!copy)
+ return -ENOMEM;
+
+ *ret = copy;
+ }
+ }
+
+ return r;
+}
+
int safe_fgetc(FILE *f, char *ret) {
int k;
diff --git a/src/libnm-systemd-shared/src/basic/fileio.h b/src/libnm-systemd-shared/src/basic/fileio.h
index 769bf394fd..03c3f3ff28 100644
--- a/src/libnm-systemd-shared/src/basic/fileio.h
+++ b/src/libnm-systemd-shared/src/basic/fileio.h
@@ -26,7 +26,8 @@ typedef enum {
WRITE_STRING_FILE_NOFOLLOW = 1 << 8,
WRITE_STRING_FILE_MKDIR_0755 = 1 << 9,
WRITE_STRING_FILE_MODE_0600 = 1 << 10,
- WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL = 1 << 11,
+ WRITE_STRING_FILE_MODE_0444 = 1 << 11,
+ WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL = 1 << 12,
/* And before you wonder, why write_string_file_atomic_label_ts() is a separate function instead of just one
more flag here: it's about linking: we don't want to pull -lselinux into all users of write_string_file()
@@ -129,8 +130,12 @@ static inline int fopen_unlocked(const char *path, const char *mode, FILE **ret)
int fdopen_independent(int fd, const char *mode, FILE **ret);
-int search_and_fopen(const char *path, const char *mode, const char *root, const char **search, FILE **ret, char **ret_path);
-int search_and_fopen_nulstr(const char *path, const char *mode, const char *root, const char *search, FILE **ret, char **ret_path);
+int search_and_open(const char *path, int mode, const char *root, char **search, int *ret_fd, char **ret_path);
+static inline int search_and_access(const char *path, int mode, const char *root, char**search, char **ret_path) {
+ return search_and_open(path, mode, root, search, NULL, ret_path);
+}
+int search_and_fopen(const char *path, const char *mode, const char *root, const char **search, FILE **ret_file, char **ret_path);
+int search_and_fopen_nulstr(const char *path, const char *mode, const char *root, const char *search, FILE **ret_file, char **ret_path);
int fflush_and_check(FILE *f);
int fflush_sync_and_check(FILE *f);
@@ -138,7 +143,7 @@ int fflush_sync_and_check(FILE *f);
int write_timestamp_file_atomic(const char *fn, usec_t n);
int read_timestamp_file(const char *fn, usec_t *ret);
-int fputs_with_space(FILE *f, const char *s, const char *separator, bool *space);
+int fputs_with_separator(FILE *f, const char *s, const char *separator, bool *space);
typedef enum ReadLineFlags {
READ_LINE_ONLY_NUL = 1 << 0,
@@ -162,6 +167,8 @@ static inline int read_nul_string(FILE *f, size_t limit, char **ret) {
return read_line_full(f, limit, READ_LINE_ONLY_NUL, ret);
}
+int read_stripped_line(FILE *f, size_t limit, char **ret);
+
int safe_fgetc(FILE *f, char *ret);
int warn_file_is_world_accessible(const char *filename, struct stat *st, const char *unit, unsigned line);
diff --git a/src/libnm-systemd-shared/src/basic/fs-util.c b/src/libnm-systemd-shared/src/basic/fs-util.c
index 32fd849d34..8804c0c1a1 100644
--- a/src/libnm-systemd-shared/src/basic/fs-util.c
+++ b/src/libnm-systemd-shared/src/basic/fs-util.c
@@ -11,6 +11,7 @@
#include <unistd.h>
#include "alloc-util.h"
+#include "btrfs.h"
#include "dirent-util.h"
#include "fd-util.h"
#include "fileio.h"
@@ -292,8 +293,22 @@ int fchmod_umask(int fd, mode_t m) {
int fchmod_opath(int fd, mode_t m) {
/* This function operates also on fd that might have been opened with
- * O_PATH. Indeed fchmodat() doesn't have the AT_EMPTY_PATH flag like
- * fchownat() does. */
+ * O_PATH. The tool set we have is non-intuitive:
+ * - fchmod(2) only operates on open files (i. e., fds with an open file description);
+ * - fchmodat(2) does not have a flag arg like fchownat(2) does, so no way to pass AT_EMPTY_PATH;
+ * + it should not be confused with the libc fchmodat(3) interface, which adds 4th flag argument,
+ * but does not support AT_EMPTY_PATH (only supports AT_SYMLINK_NOFOLLOW);
+ * - fchmodat2(2) supports all the AT_* flags, but is still very recent.
+ *
+ * We try to use fchmodat2(), and, if it is not supported, resort
+ * to the /proc/self/fd dance. */
+
+ assert(fd >= 0);
+
+ if (fchmodat2(fd, "", m, AT_EMPTY_PATH) >= 0)
+ return 0;
+ if (!IN_SET(errno, ENOSYS, EPERM)) /* Some container managers block unknown syscalls with EPERM */
+ return -errno;
if (chmod(FORMAT_PROC_FD_PATH(fd), m) < 0) {
if (errno != ENOENT)
@@ -1108,6 +1123,16 @@ int xopenat(int dir_fd, const char *path, int open_flags, XOpenFlags xopen_flags
assert(dir_fd >= 0 || dir_fd == AT_FDCWD);
+ /* This is like openat(), but has a few tricks up its sleeves, extending behaviour:
+ *
+ * • O_DIRECTORY|O_CREAT is supported, which causes a directory to be created, and immediately
+ * opened. When used with the XO_SUBVOLUME flag this will even create a btrfs subvolume.
+ *
+ * • If O_CREAT is used with XO_LABEL, any created file will be immediately relabelled.
+ *
+ * • If the path is specified NULL or empty, behaves like fd_reopen().
+ */
+
if (isempty(path)) {
assert(!FLAGS_SET(open_flags, O_CREAT|O_EXCL));
return fd_reopen(dir_fd, open_flags & ~O_NOFOLLOW);
@@ -1120,7 +1145,10 @@ int xopenat(int dir_fd, const char *path, int open_flags, XOpenFlags xopen_flags
}
if (FLAGS_SET(open_flags, O_DIRECTORY|O_CREAT)) {
- r = RET_NERRNO(mkdirat(dir_fd, path, mode));
+ if (FLAGS_SET(xopen_flags, XO_SUBVOLUME))
+ r = btrfs_subvol_make_fallback(dir_fd, path, mode);
+ else
+ r = RET_NERRNO(mkdirat(dir_fd, path, mode));
if (r == -EEXIST) {
if (FLAGS_SET(open_flags, O_EXCL))
return -EEXIST;
@@ -1183,12 +1211,11 @@ int xopenat_lock(
int r;
assert(dir_fd >= 0 || dir_fd == AT_FDCWD);
- assert(path);
assert(IN_SET(operation & ~LOCK_NB, LOCK_EX, LOCK_SH));
/* POSIX/UNPOSIX locks don't work on directories (errno is set to -EBADF so let's return early with
* the same error here). */
- if (FLAGS_SET(open_flags, O_DIRECTORY) && locktype != LOCK_BSD)
+ if (FLAGS_SET(open_flags, O_DIRECTORY) && !IN_SET(locktype, LOCK_BSD, LOCK_NONE))
return -EBADF;
for (;;) {
diff --git a/src/libnm-systemd-shared/src/basic/fs-util.h b/src/libnm-systemd-shared/src/basic/fs-util.h
index a19836d138..1023ab73ca 100644
--- a/src/libnm-systemd-shared/src/basic/fs-util.h
+++ b/src/libnm-systemd-shared/src/basic/fs-util.h
@@ -133,7 +133,8 @@ int open_mkdir_at(int dirfd, const char *path, int flags, mode_t mode);
int openat_report_new(int dirfd, const char *pathname, int flags, mode_t mode, bool *ret_newly_created);
typedef enum XOpenFlags {
- XO_LABEL = 1 << 0,
+ XO_LABEL = 1 << 0,
+ XO_SUBVOLUME = 1 << 1,
} XOpenFlags;
int xopenat(int dir_fd, const char *path, int open_flags, XOpenFlags xopen_flags, mode_t mode);
diff --git a/src/libnm-systemd-shared/src/basic/glyph-util.c b/src/libnm-systemd-shared/src/basic/glyph-util.c
index 1ea8a645b2..1de60e105b 100644
--- a/src/libnm-systemd-shared/src/basic/glyph-util.c
+++ b/src/libnm-systemd-shared/src/basic/glyph-util.c
@@ -25,7 +25,7 @@ bool emoji_enabled(void) {
return cached_emoji_enabled;
}
-const char *special_glyph(SpecialGlyph code) {
+const char *special_glyph_full(SpecialGlyph code, bool force_utf) {
/* A list of a number of interesting unicode glyphs we can use to decorate our output. It's probably wise to be
* conservative here, and primarily stick to the glyphs defined in the eurlatgr font, so that display still
@@ -54,11 +54,12 @@ const char *special_glyph(SpecialGlyph code) {
[SPECIAL_GLYPH_CROSS_MARK] = "-",
[SPECIAL_GLYPH_LIGHT_SHADE] = "-",
[SPECIAL_GLYPH_DARK_SHADE] = "X",
+ [SPECIAL_GLYPH_FULL_BLOCK] = "#",
[SPECIAL_GLYPH_SIGMA] = "S",
- [SPECIAL_GLYPH_ARROW_LEFT] = "<-",
- [SPECIAL_GLYPH_ARROW_RIGHT] = "->",
[SPECIAL_GLYPH_ARROW_UP] = "^",
[SPECIAL_GLYPH_ARROW_DOWN] = "v",
+ [SPECIAL_GLYPH_ARROW_LEFT] = "<-",
+ [SPECIAL_GLYPH_ARROW_RIGHT] = "->",
[SPECIAL_GLYPH_ELLIPSIS] = "...",
[SPECIAL_GLYPH_EXTERNAL_LINK] = "[LNK]",
[SPECIAL_GLYPH_ECSTATIC_SMILEY] = ":-]",
@@ -73,6 +74,7 @@ const char *special_glyph(SpecialGlyph code) {
[SPECIAL_GLYPH_RECYCLING] = "~",
[SPECIAL_GLYPH_DOWNLOAD] = "\\",
[SPECIAL_GLYPH_SPARKLES] = "*",
+ [SPECIAL_GLYPH_LOW_BATTERY] = "!",
[SPECIAL_GLYPH_WARNING_SIGN] = "!",
},
@@ -98,6 +100,7 @@ const char *special_glyph(SpecialGlyph code) {
[SPECIAL_GLYPH_CROSS_MARK] = u8"✗", /* actually called: BALLOT X */
[SPECIAL_GLYPH_LIGHT_SHADE] = u8"░",
[SPECIAL_GLYPH_DARK_SHADE] = u8"▒",
+ [SPECIAL_GLYPH_FULL_BLOCK] = u8"█",
[SPECIAL_GLYPH_SIGMA] = u8"Σ",
[SPECIAL_GLYPH_ARROW_UP] = u8"↑", /* actually called: UPWARDS ARROW */
[SPECIAL_GLYPH_ARROW_DOWN] = u8"↓", /* actually called: DOWNWARDS ARROW */
@@ -131,7 +134,10 @@ const char *special_glyph(SpecialGlyph code) {
[SPECIAL_GLYPH_RECYCLING] = u8"♻️", /* actually called: UNIVERSAL RECYCLNG SYMBOL */
[SPECIAL_GLYPH_DOWNLOAD] = u8"⤵️", /* actually called: RIGHT ARROW CURVING DOWN */
[SPECIAL_GLYPH_SPARKLES] = u8"✨",
+ [SPECIAL_GLYPH_LOW_BATTERY] = u8"🪫",
[SPECIAL_GLYPH_WARNING_SIGN] = u8"⚠️",
+ [SPECIAL_GLYPH_COMPUTER_DISK] = u8"💽",
+ [SPECIAL_GLYPH_WORLD] = u8"🌍",
},
};
@@ -139,5 +145,5 @@ const char *special_glyph(SpecialGlyph code) {
return NULL;
assert(code < _SPECIAL_GLYPH_MAX);
- return draw_table[code >= _SPECIAL_GLYPH_FIRST_EMOJI ? emoji_enabled() : is_locale_utf8()][code];
+ return draw_table[force_utf || (code >= _SPECIAL_GLYPH_FIRST_EMOJI ? emoji_enabled() : is_locale_utf8())][code];
}
diff --git a/src/libnm-systemd-shared/src/basic/glyph-util.h b/src/libnm-systemd-shared/src/basic/glyph-util.h
index b64639622e..a7709976e1 100644
--- a/src/libnm-systemd-shared/src/basic/glyph-util.h
+++ b/src/libnm-systemd-shared/src/basic/glyph-util.h
@@ -22,14 +22,15 @@ typedef enum SpecialGlyph {
SPECIAL_GLYPH_MU,
SPECIAL_GLYPH_CHECK_MARK,
SPECIAL_GLYPH_CROSS_MARK,
- SPECIAL_GLYPH_ARROW_LEFT,
- SPECIAL_GLYPH_ARROW_RIGHT,
- SPECIAL_GLYPH_ARROW_UP,
- SPECIAL_GLYPH_ARROW_DOWN,
- SPECIAL_GLYPH_ELLIPSIS,
SPECIAL_GLYPH_LIGHT_SHADE,
SPECIAL_GLYPH_DARK_SHADE,
+ SPECIAL_GLYPH_FULL_BLOCK,
SPECIAL_GLYPH_SIGMA,
+ SPECIAL_GLYPH_ARROW_UP,
+ SPECIAL_GLYPH_ARROW_DOWN,
+ SPECIAL_GLYPH_ARROW_LEFT,
+ SPECIAL_GLYPH_ARROW_RIGHT,
+ SPECIAL_GLYPH_ELLIPSIS,
SPECIAL_GLYPH_EXTERNAL_LINK,
_SPECIAL_GLYPH_FIRST_EMOJI,
SPECIAL_GLYPH_ECSTATIC_SMILEY = _SPECIAL_GLYPH_FIRST_EMOJI,
@@ -44,15 +45,22 @@ typedef enum SpecialGlyph {
SPECIAL_GLYPH_RECYCLING,
SPECIAL_GLYPH_DOWNLOAD,
SPECIAL_GLYPH_SPARKLES,
+ SPECIAL_GLYPH_LOW_BATTERY,
SPECIAL_GLYPH_WARNING_SIGN,
+ SPECIAL_GLYPH_COMPUTER_DISK,
+ SPECIAL_GLYPH_WORLD,
_SPECIAL_GLYPH_MAX,
_SPECIAL_GLYPH_INVALID = -EINVAL,
} SpecialGlyph;
-const char *special_glyph(SpecialGlyph code) _const_;
-
bool emoji_enabled(void);
+const char *special_glyph_full(SpecialGlyph code, bool force_utf) _const_;
+
+static inline const char *special_glyph(SpecialGlyph code) {
+ return special_glyph_full(code, false);
+}
+
static inline const char *special_glyph_check_mark(bool b) {
return b ? special_glyph(SPECIAL_GLYPH_CHECK_MARK) : special_glyph(SPECIAL_GLYPH_CROSS_MARK);
}
diff --git a/src/libnm-systemd-shared/src/basic/hash-funcs.c b/src/libnm-systemd-shared/src/basic/hash-funcs.c
index eed30f0944..6dcc2f36d9 100644
--- a/src/libnm-systemd-shared/src/basic/hash-funcs.c
+++ b/src/libnm-systemd-shared/src/basic/hash-funcs.c
@@ -36,7 +36,7 @@ void path_hash_func(const char *q, struct siphash *state) {
/* if path is absolute, add one "/" to the hash. */
if (path_is_absolute(q))
- siphash24_compress("/", 1, state);
+ siphash24_compress_byte('/', state);
for (;;) {
const char *e;
@@ -71,7 +71,7 @@ DEFINE_HASH_OPS_FULL(path_hash_ops_free_free,
#endif /* NM_IGNORED */
void trivial_hash_func(const void *p, struct siphash *state) {
- siphash24_compress(&p, sizeof(p), state);
+ siphash24_compress_typesafe(p, state);
}
int trivial_compare_func(const void *a, const void *b) {
@@ -97,7 +97,7 @@ const struct hash_ops trivial_hash_ops_free_free = {
};
void uint64_hash_func(const uint64_t *p, struct siphash *state) {
- siphash24_compress(p, sizeof(uint64_t), state);
+ siphash24_compress_typesafe(*p, state);
}
int uint64_compare_func(const uint64_t *a, const uint64_t *b) {
@@ -109,7 +109,7 @@ DEFINE_HASH_OPS(uint64_hash_ops, uint64_t, uint64_hash_func, uint64_compare_func
#if 0 /* NM_IGNORED */
#if SIZEOF_DEV_T != 8
void devt_hash_func(const dev_t *p, struct siphash *state) {
- siphash24_compress(p, sizeof(dev_t), state);
+ siphash24_compress_typesafe(*p, state);
}
#endif
diff --git a/src/libnm-systemd-shared/src/basic/hash-funcs.h b/src/libnm-systemd-shared/src/basic/hash-funcs.h
index be64289252..3804e94d98 100644
--- a/src/libnm-systemd-shared/src/basic/hash-funcs.h
+++ b/src/libnm-systemd-shared/src/basic/hash-funcs.h
@@ -93,14 +93,14 @@ extern const struct hash_ops trivial_hash_ops;
extern const struct hash_ops trivial_hash_ops_free;
extern const struct hash_ops trivial_hash_ops_free_free;
-/* 32bit values we can always just embed in the pointer itself, but in order to support 32bit archs we need store 64bit
+/* 32-bit values we can always just embed in the pointer itself, but in order to support 32-bit archs we need store 64-bit
* values indirectly, since they don't fit in a pointer. */
void uint64_hash_func(const uint64_t *p, struct siphash *state);
int uint64_compare_func(const uint64_t *a, const uint64_t *b) _pure_;
extern const struct hash_ops uint64_hash_ops;
-/* On some archs dev_t is 32bit, and on others 64bit. And sometimes it's 64bit on 32bit archs, and sometimes 32bit on
- * 64bit archs. Yuck! */
+/* On some archs dev_t is 32-bit, and on others 64-bit. And sometimes it's 64-bit on 32-bit archs, and sometimes 32-bit on
+ * 64-bit archs. Yuck! */
#if SIZEOF_DEV_T != 8
void devt_hash_func(const dev_t *p, struct siphash *state);
#else
diff --git a/src/libnm-systemd-shared/src/basic/hashmap.c b/src/libnm-systemd-shared/src/basic/hashmap.c
index 356200cfcc..28d2efa0e2 100644
--- a/src/libnm-systemd-shared/src/basic/hashmap.c
+++ b/src/libnm-systemd-shared/src/basic/hashmap.c
@@ -23,6 +23,7 @@
#include "random-util.h"
#include "set.h"
#include "siphash24.h"
+#include "sort-util.h"
#include "string-util.h"
#include "strv.h"
@@ -176,9 +177,9 @@ struct _packed_ indirect_storage {
};
struct direct_storage {
- /* This gives us 39 bytes on 64bit, or 35 bytes on 32bit.
- * That's room for 4 set_entries + 4 DIB bytes + 3 unused bytes on 64bit,
- * or 7 set_entries + 7 DIB bytes + 0 unused bytes on 32bit. */
+ /* This gives us 39 bytes on 64-bit, or 35 bytes on 32-bit.
+ * That's room for 4 set_entries + 4 DIB bytes + 3 unused bytes on 64-bit,
+ * or 7 set_entries + 7 DIB bytes + 0 unused bytes on 32-bit. */
uint8_t storage[sizeof(struct indirect_storage)];
};
@@ -2112,3 +2113,54 @@ bool set_fnmatch(Set *include_patterns, Set *exclude_patterns, const char *needl
return set_fnmatch_one(include_patterns, needle);
}
+
+static int hashmap_entry_compare(
+ struct hashmap_base_entry * const *a,
+ struct hashmap_base_entry * const *b,
+ compare_func_t compare) {
+
+ assert(a && *a);
+ assert(b && *b);
+ assert(compare);
+
+ return compare((*a)->key, (*b)->key);
+}
+
+int _hashmap_dump_sorted(HashmapBase *h, void ***ret, size_t *ret_n) {
+ _cleanup_free_ struct hashmap_base_entry **entries = NULL;
+ Iterator iter;
+ unsigned idx;
+ size_t n = 0;
+
+ assert(ret);
+
+ if (_hashmap_size(h) == 0) {
+ *ret = NULL;
+ if (ret_n)
+ *ret_n = 0;
+ return 0;
+ }
+
+ /* We append one more element than needed so that the resulting array can be used as a strv. We
+ * don't count this entry in the returned size. */
+ entries = new(struct hashmap_base_entry*, _hashmap_size(h) + 1);
+ if (!entries)
+ return -ENOMEM;
+
+ HASHMAP_FOREACH_IDX(idx, h, iter)
+ entries[n++] = bucket_at(h, idx);
+
+ assert(n == _hashmap_size(h));
+ entries[n] = NULL;
+
+ typesafe_qsort_r(entries, n, hashmap_entry_compare, h->hash_ops->compare);
+
+ /* Reuse the array. */
+ FOREACH_ARRAY(e, entries, n)
+ *e = entry_value(h, *e);
+
+ *ret = (void**) TAKE_PTR(entries);
+ if (ret_n)
+ *ret_n = n;
+ return 0;
+}
diff --git a/src/libnm-systemd-shared/src/basic/hashmap.h b/src/libnm-systemd-shared/src/basic/hashmap.h
index 68d9b81cf2..233f1d7a1e 100644
--- a/src/libnm-systemd-shared/src/basic/hashmap.h
+++ b/src/libnm-systemd-shared/src/basic/hashmap.h
@@ -398,12 +398,28 @@ static inline char** ordered_hashmap_get_strv(OrderedHashmap *h) {
return _hashmap_get_strv(HASHMAP_BASE(h));
}
+int _hashmap_dump_sorted(HashmapBase *h, void ***ret, size_t *ret_n);
+static inline int hashmap_dump_sorted(Hashmap *h, void ***ret, size_t *ret_n) {
+ return _hashmap_dump_sorted(HASHMAP_BASE(h), ret, ret_n);
+}
+static inline int ordered_hashmap_dump_sorted(OrderedHashmap *h, void ***ret, size_t *ret_n) {
+ return _hashmap_dump_sorted(HASHMAP_BASE(h), ret, ret_n);
+}
+static inline int set_dump_sorted(Set *h, void ***ret, size_t *ret_n) {
+ return _hashmap_dump_sorted(HASHMAP_BASE(h), ret, ret_n);
+}
+
/*
* Hashmaps are iterated in unpredictable order.
* OrderedHashmaps are an exception to this. They are iterated in the order
* the entries were inserted.
* It is safe to remove the current entry.
*/
+#define _HASHMAP_BASE_FOREACH(e, h, i) \
+ for (Iterator i = ITERATOR_FIRST; _hashmap_iterate((h), &i, (void**)&(e), NULL); )
+#define HASHMAP_BASE_FOREACH(e, h) \
+ _HASHMAP_BASE_FOREACH(e, h, UNIQ_T(i, UNIQ))
+
#define _HASHMAP_FOREACH(e, h, i) \
for (Iterator i = ITERATOR_FIRST; hashmap_iterate((h), &i, (void**)&(e), NULL); )
#define HASHMAP_FOREACH(e, h) \
@@ -414,6 +430,11 @@ static inline char** ordered_hashmap_get_strv(OrderedHashmap *h) {
#define ORDERED_HASHMAP_FOREACH(e, h) \
_ORDERED_HASHMAP_FOREACH(e, h, UNIQ_T(i, UNIQ))
+#define _HASHMAP_BASE_FOREACH_KEY(e, k, h, i) \
+ for (Iterator i = ITERATOR_FIRST; _hashmap_iterate((h), &i, (void**)&(e), (const void**) &(k)); )
+#define HASHMAP_BASE_FOREACH_KEY(e, k, h) \
+ _HASHMAP_BASE_FOREACH_KEY(e, k, h, UNIQ_T(i, UNIQ))
+
#define _HASHMAP_FOREACH_KEY(e, k, h, i) \
for (Iterator i = ITERATOR_FIRST; hashmap_iterate((h), &i, (void**)&(e), (const void**) &(k)); )
#define HASHMAP_FOREACH_KEY(e, k, h) \
diff --git a/src/libnm-systemd-shared/src/basic/hexdecoct.c b/src/libnm-systemd-shared/src/basic/hexdecoct.c
index d41d2ea079..41228520a5 100644
--- a/src/libnm-systemd-shared/src/basic/hexdecoct.c
+++ b/src/libnm-systemd-shared/src/basic/hexdecoct.c
@@ -116,7 +116,7 @@ int unhexmem_full(
const char *p,
size_t l,
bool secure,
- void **ret,
+ void **ret_data,
size_t *ret_len) {
_cleanup_free_ uint8_t *buf = NULL;
@@ -157,8 +157,8 @@ int unhexmem_full(
if (ret_len)
*ret_len = (size_t) (z - buf);
- if (ret)
- *ret = TAKE_PTR(buf);
+ if (ret_data)
+ *ret_data = TAKE_PTR(buf);
return 0;
}
@@ -557,12 +557,12 @@ int unbase64char(char c) {
offset += '9' - '0' + 1;
- if (c == '+')
+ if (IN_SET(c, '+', '-')) /* Support both the regular and the URL safe character set (see above) */
return offset;
offset++;
- if (c == '/')
+ if (IN_SET(c, '/', '_')) /* ditto */
return offset;
return -EINVAL;
@@ -772,7 +772,7 @@ int unbase64mem_full(
const char *p,
size_t l,
bool secure,
- void **ret,
+ void **ret_data,
size_t *ret_size) {
_cleanup_free_ uint8_t *buf = NULL;
@@ -860,8 +860,8 @@ int unbase64mem_full(
if (ret_size)
*ret_size = (size_t) (z - buf);
- if (ret)
- *ret = TAKE_PTR(buf);
+ if (ret_data)
+ *ret_data = TAKE_PTR(buf);
return 0;
}
diff --git a/src/libnm-systemd-shared/src/basic/hexdecoct.h b/src/libnm-systemd-shared/src/basic/hexdecoct.h
index 319b21a17c..0a10af3e16 100644
--- a/src/libnm-systemd-shared/src/basic/hexdecoct.h
+++ b/src/libnm-systemd-shared/src/basic/hexdecoct.h
@@ -18,9 +18,9 @@ char hexchar(int x) _const_;
int unhexchar(char c) _const_;
char *hexmem(const void *p, size_t l);
-int unhexmem_full(const char *p, size_t l, bool secure, void **mem, size_t *len);
-static inline int unhexmem(const char *p, size_t l, void **mem, size_t *len) {
- return unhexmem_full(p, l, false, mem, len);
+int unhexmem_full(const char *p, size_t l, bool secure, void **ret_data, size_t *ret_size);
+static inline int unhexmem(const char *p, void **ret_data, size_t *ret_size) {
+ return unhexmem_full(p, SIZE_MAX, false, ret_data, ret_size);
}
char base32hexchar(int x) _const_;
@@ -45,9 +45,9 @@ ssize_t base64_append(
size_t l,
size_t margin,
size_t width);
-int unbase64mem_full(const char *p, size_t l, bool secure, void **mem, size_t *len);
-static inline int unbase64mem(const char *p, size_t l, void **mem, size_t *len) {
- return unbase64mem_full(p, l, false, mem, len);
+int unbase64mem_full(const char *p, size_t l, bool secure, void **ret_data, size_t *ret_size);
+static inline int unbase64mem(const char *p, void **ret_data, size_t *ret_size) {
+ return unbase64mem_full(p, SIZE_MAX, false, ret_data, ret_size);
}
void hexdump(FILE *f, const void *p, size_t s);
diff --git a/src/libnm-systemd-shared/src/basic/in-addr-util.c b/src/libnm-systemd-shared/src/basic/in-addr-util.c
index b863aec399..0c3923b0ef 100644
--- a/src/libnm-systemd-shared/src/basic/in-addr-util.c
+++ b/src/libnm-systemd-shared/src/basic/in-addr-util.c
@@ -736,10 +736,11 @@ int in_addr_mask(int family, union in_addr_union *addr, unsigned char prefixlen)
}
}
-int in4_addr_prefix_covers(
+int in4_addr_prefix_covers_full(
const struct in_addr *prefix,
unsigned char prefixlen,
- const struct in_addr *address) {
+ const struct in_addr *address,
+ unsigned char address_prefixlen) {
struct in_addr masked_prefix, masked_address;
int r;
@@ -747,6 +748,9 @@ int in4_addr_prefix_covers(
assert(prefix);
assert(address);
+ if (prefixlen > address_prefixlen)
+ return false;
+
masked_prefix = *prefix;
r = in4_addr_mask(&masked_prefix, prefixlen);
if (r < 0)
@@ -760,10 +764,11 @@ int in4_addr_prefix_covers(
return in4_addr_equal(&masked_prefix, &masked_address);
}
-int in6_addr_prefix_covers(
+int in6_addr_prefix_covers_full(
const struct in6_addr *prefix,
unsigned char prefixlen,
- const struct in6_addr *address) {
+ const struct in6_addr *address,
+ unsigned char address_prefixlen) {
struct in6_addr masked_prefix, masked_address;
int r;
@@ -771,6 +776,9 @@ int in6_addr_prefix_covers(
assert(prefix);
assert(address);
+ if (prefixlen > address_prefixlen)
+ return false;
+
masked_prefix = *prefix;
r = in6_addr_mask(&masked_prefix, prefixlen);
if (r < 0)
@@ -784,20 +792,21 @@ int in6_addr_prefix_covers(
return in6_addr_equal(&masked_prefix, &masked_address);
}
-int in_addr_prefix_covers(
+int in_addr_prefix_covers_full(
int family,
const union in_addr_union *prefix,
unsigned char prefixlen,
- const union in_addr_union *address) {
+ const union in_addr_union *address,
+ unsigned char address_prefixlen) {
assert(prefix);
assert(address);
switch (family) {
case AF_INET:
- return in4_addr_prefix_covers(&prefix->in, prefixlen, &address->in);
+ return in4_addr_prefix_covers_full(&prefix->in, prefixlen, &address->in, address_prefixlen);
case AF_INET6:
- return in6_addr_prefix_covers(&prefix->in6, prefixlen, &address->in6);
+ return in6_addr_prefix_covers_full(&prefix->in6, prefixlen, &address->in6, address_prefixlen);
default:
return -EAFNOSUPPORT;
}
@@ -922,12 +931,19 @@ int in_addr_prefix_from_string_auto_internal(
}
+void in_addr_hash_func(const union in_addr_union *u, int family, struct siphash *state) {
+ assert(u);
+ assert(state);
+
+ siphash24_compress(u->bytes, FAMILY_ADDRESS_SIZE(family), state);
+}
+
void in_addr_data_hash_func(const struct in_addr_data *a, struct siphash *state) {
assert(a);
assert(state);
- siphash24_compress(&a->family, sizeof(a->family), state);
- siphash24_compress(&a->address, FAMILY_ADDRESS_SIZE(a->family), state);
+ siphash24_compress_typesafe(a->family, state);
+ in_addr_hash_func(&a->address, a->family, state);
}
int in_addr_data_compare_func(const struct in_addr_data *x, const struct in_addr_data *y) {
@@ -960,7 +976,7 @@ void in6_addr_hash_func(const struct in6_addr *addr, struct siphash *state) {
assert(addr);
assert(state);
- siphash24_compress(addr, sizeof(*addr), state);
+ siphash24_compress_typesafe(*addr, state);
}
int in6_addr_compare_func(const struct in6_addr *a, const struct in6_addr *b) {
diff --git a/src/libnm-systemd-shared/src/basic/in-addr-util.h b/src/libnm-systemd-shared/src/basic/in-addr-util.h
index 200b9eb69d..9fae3cae45 100644
--- a/src/libnm-systemd-shared/src/basic/in-addr-util.h
+++ b/src/libnm-systemd-shared/src/basic/in-addr-util.h
@@ -144,9 +144,18 @@ int in4_addr_default_subnet_mask(const struct in_addr *addr, struct in_addr *mas
int in4_addr_mask(struct in_addr *addr, unsigned char prefixlen);
int in6_addr_mask(struct in6_addr *addr, unsigned char prefixlen);
int in_addr_mask(int family, union in_addr_union *addr, unsigned char prefixlen);
-int in4_addr_prefix_covers(const struct in_addr *prefix, unsigned char prefixlen, const struct in_addr *address);
-int in6_addr_prefix_covers(const struct in6_addr *prefix, unsigned char prefixlen, const struct in6_addr *address);
-int in_addr_prefix_covers(int family, const union in_addr_union *prefix, unsigned char prefixlen, const union in_addr_union *address);
+int in4_addr_prefix_covers_full(const struct in_addr *prefix, unsigned char prefixlen, const struct in_addr *address, unsigned char address_prefixlen);
+int in6_addr_prefix_covers_full(const struct in6_addr *prefix, unsigned char prefixlen, const struct in6_addr *address, unsigned char address_prefixlen);
+int in_addr_prefix_covers_full(int family, const union in_addr_union *prefix, unsigned char prefixlen, const union in_addr_union *address, unsigned char address_prefixlen);
+static inline int in4_addr_prefix_covers(const struct in_addr *prefix, unsigned char prefixlen, const struct in_addr *address) {
+ return in4_addr_prefix_covers_full(prefix, prefixlen, address, 32);
+}
+static inline int in6_addr_prefix_covers(const struct in6_addr *prefix, unsigned char prefixlen, const struct in6_addr *address) {
+ return in6_addr_prefix_covers_full(prefix, prefixlen, address, 128);
+}
+static inline int in_addr_prefix_covers(int family, const union in_addr_union *prefix, unsigned char prefixlen, const union in_addr_union *address) {
+ return in_addr_prefix_covers_full(family, prefix, prefixlen, address, family == AF_INET ? 32 : family == AF_INET6 ? 128 : 0);
+}
int in_addr_parse_prefixlen(int family, const char *p, unsigned char *ret);
int in_addr_prefix_from_string(const char *p, int family, union in_addr_union *ret_prefix, unsigned char *ret_prefixlen);
@@ -176,6 +185,7 @@ static inline size_t FAMILY_ADDRESS_SIZE(int family) {
* See also oss-fuzz#11344. */
#define IN_ADDR_NULL ((union in_addr_union) { .in6 = {} })
+void in_addr_hash_func(const union in_addr_union *u, int family, struct siphash *state);
void in_addr_data_hash_func(const struct in_addr_data *a, struct siphash *state);
int in_addr_data_compare_func(const struct in_addr_data *x, const struct in_addr_data *y);
void in6_addr_hash_func(const struct in6_addr *addr, struct siphash *state);
@@ -186,6 +196,16 @@ extern const struct hash_ops in_addr_data_hash_ops_free;
extern const struct hash_ops in6_addr_hash_ops;
extern const struct hash_ops in6_addr_hash_ops_free;
+static inline void PTR_TO_IN4_ADDR(const void *p, struct in_addr *ret) {
+ assert(ret);
+ ret->s_addr = (uint32_t) ((uintptr_t) p);
+}
+
+static inline void* IN4_ADDR_TO_PTR(const struct in_addr *a) {
+ assert(a);
+ return (void*) ((uintptr_t) a->s_addr);
+}
+
#define IPV4_ADDRESS_FMT_STR "%u.%u.%u.%u"
#define IPV4_ADDRESS_FMT_VAL(address) \
be32toh((address).s_addr) >> 24, \
diff --git a/src/libnm-systemd-shared/src/basic/inotify-util.c b/src/libnm-systemd-shared/src/basic/inotify-util.c
index 59e03e620e..c748bf1bf0 100644
--- a/src/libnm-systemd-shared/src/basic/inotify-util.c
+++ b/src/libnm-systemd-shared/src/basic/inotify-util.c
@@ -6,6 +6,43 @@
#include "inotify-util.h"
#include "stat-util.h"
+bool inotify_event_next(
+ union inotify_event_buffer *buffer,
+ size_t size,
+ struct inotify_event **iterator,
+ int log_level) {
+
+ struct inotify_event *e;
+ size_t offset = 0;
+
+ assert(buffer);
+ assert(iterator);
+
+ if (*iterator) {
+ assert((uint8_t*) *iterator >= buffer->raw);
+ offset = (uint8_t*) *iterator - buffer->raw;
+ offset += offsetof(struct inotify_event, name) + (*iterator)->len;
+ }
+
+ if (size == offset)
+ return false; /* reached end of list */
+
+ if (size < offset ||
+ size - offset < offsetof(struct inotify_event, name)) {
+ log_full(log_level, "Received invalid inotify event, ignoring.");
+ return false;
+ }
+
+ e = CAST_ALIGN_PTR(struct inotify_event, buffer->raw + offset);
+ if (size - offset - offsetof(struct inotify_event, name) < e->len) {
+ log_full(log_level, "Received invalid inotify event, ignoring.");
+ return false;
+ }
+
+ *iterator = e;
+ return true;
+}
+
int inotify_add_watch_fd(int fd, int what, uint32_t mask) {
int wd, r;
diff --git a/src/libnm-systemd-shared/src/basic/inotify-util.h b/src/libnm-systemd-shared/src/basic/inotify-util.h
index 61951ff3e3..665fdacaa6 100644
--- a/src/libnm-systemd-shared/src/basic/inotify-util.h
+++ b/src/libnm-systemd-shared/src/basic/inotify-util.h
@@ -10,29 +10,27 @@
#define INOTIFY_EVENT_MAX (offsetof(struct inotify_event, name) + NAME_MAX + 1)
-#define _FOREACH_INOTIFY_EVENT(e, buffer, sz, log_level, start, end) \
- for (struct inotify_event \
- *start = &((buffer).ev), \
- *end = (struct inotify_event*) ((uint8_t*) start + (sz)), \
- *e = start; \
- (size_t) ((uint8_t*) end - (uint8_t*) e) >= sizeof(struct inotify_event) && \
- ((size_t) ((uint8_t*) end - (uint8_t*) e) >= sizeof(struct inotify_event) + e->len || \
- (log_full(log_level, "Received invalid inotify event, ignoring."), false)); \
- e = (struct inotify_event*) ((uint8_t*) e + sizeof(struct inotify_event) + e->len))
-
-#define _FOREACH_INOTIFY_EVENT_FULL(e, buffer, sz, log_level) \
- _FOREACH_INOTIFY_EVENT(e, buffer, sz, log_level, UNIQ_T(start, UNIQ), UNIQ_T(end, UNIQ))
+/* This evaluates arguments multiple times */
+#define FOREACH_INOTIFY_EVENT_FULL(e, buffer, sz, log_level) \
+ for (struct inotify_event *e = NULL; \
+ inotify_event_next(&buffer, sz, &e, log_level); )
#define FOREACH_INOTIFY_EVENT(e, buffer, sz) \
- _FOREACH_INOTIFY_EVENT_FULL(e, buffer, sz, LOG_DEBUG)
+ FOREACH_INOTIFY_EVENT_FULL(e, buffer, sz, LOG_DEBUG)
#define FOREACH_INOTIFY_EVENT_WARN(e, buffer, sz) \
- _FOREACH_INOTIFY_EVENT_FULL(e, buffer, sz, LOG_WARNING)
+ FOREACH_INOTIFY_EVENT_FULL(e, buffer, sz, LOG_WARNING)
union inotify_event_buffer {
struct inotify_event ev;
uint8_t raw[INOTIFY_EVENT_MAX];
};
+bool inotify_event_next(
+ union inotify_event_buffer *buffer,
+ size_t size,
+ struct inotify_event **iterator,
+ int log_level);
+
int inotify_add_watch_fd(int fd, int what, uint32_t mask);
int inotify_add_watch_and_warn(int fd, const char *pathname, uint32_t mask);
diff --git a/src/libnm-systemd-shared/src/basic/io-util.c b/src/libnm-systemd-shared/src/basic/io-util.c
index 0c480091b2..abe61ed56c 100644
--- a/src/libnm-systemd-shared/src/basic/io-util.c
+++ b/src/libnm-systemd-shared/src/basic/io-util.c
@@ -7,7 +7,9 @@
#include <stdio.h>
#include <unistd.h>
+#include "errno-util.h"
#include "io-util.h"
+#include "iovec-util.h"
#include "string-util.h"
#include "time-util.h"
@@ -58,8 +60,7 @@ ssize_t loop_read(int fd, void *buf, size_t nbytes, bool do_poll) {
assert(fd >= 0);
- /* If called with nbytes == 0, let's call read() at least
- * once, to validate the operation */
+ /* If called with nbytes == 0, let's call read() at least once, to validate the operation */
if (nbytes > (size_t) SSIZE_MAX)
return -EINVAL;
@@ -111,13 +112,29 @@ int loop_read_exact(int fd, void *buf, size_t nbytes, bool do_poll) {
}
#if 0 /* NM_IGNORED */
-int loop_write(int fd, const void *buf, size_t nbytes, bool do_poll) {
- const uint8_t *p = ASSERT_PTR(buf);
+int loop_write_full(int fd, const void *buf, size_t nbytes, usec_t timeout) {
+ const uint8_t *p;
+ usec_t end;
+ int r;
assert(fd >= 0);
+ assert(buf || nbytes == 0);
+
+ if (nbytes == 0) {
+ static const dummy_t dummy[0];
+ assert_cc(sizeof(dummy) == 0);
+ p = (const void*) dummy; /* Some valid pointer, in case NULL was specified */
+ } else {
+ if (nbytes == SIZE_MAX)
+ nbytes = strlen(buf);
+ else if (_unlikely_(nbytes > (size_t) SSIZE_MAX))
+ return -EINVAL;
+
+ p = buf;
+ }
- if (_unlikely_(nbytes > (size_t) SSIZE_MAX))
- return -EINVAL;
+ /* When timeout is 0 or USEC_INFINITY this is not used. But we initialize it to a sensible value. */
+ end = timestamp_is_set(timeout) ? usec_add(now(CLOCK_MONOTONIC), timeout) : USEC_INFINITY;
do {
ssize_t k;
@@ -127,16 +144,31 @@ int loop_write(int fd, const void *buf, size_t nbytes, bool do_poll) {
if (errno == EINTR)
continue;
- if (errno == EAGAIN && do_poll) {
- /* We knowingly ignore any return value here,
- * and expect that any error/EOF is reported
- * via write() */
+ if (errno != EAGAIN || timeout == 0)
+ return -errno;
- (void) fd_wait_for_event(fd, POLLOUT, USEC_INFINITY);
- continue;
+ usec_t wait_for;
+
+ if (timeout == USEC_INFINITY)
+ wait_for = USEC_INFINITY;
+ else {
+ usec_t t = now(CLOCK_MONOTONIC);
+ if (t >= end)
+ return -ETIME;
+
+ wait_for = usec_sub_unsigned(end, t);
}
- return -errno;
+ r = fd_wait_for_event(fd, POLLOUT, wait_for);
+ if (timeout == USEC_INFINITY || ERRNO_IS_NEG_TRANSIENT(r))
+ /* If timeout == USEC_INFINITY we knowingly ignore any return value
+ * here, and expect that any error/EOF is reported via write() */
+ continue;
+ if (r < 0)
+ return r;
+ if (r == 0)
+ return -ETIME;
+ continue;
}
if (_unlikely_(nbytes > 0 && k == 0)) /* Can't really happen */
@@ -260,7 +292,7 @@ ssize_t sparse_write(int fd, const void *p, size_t sz, size_t run_length) {
return -EIO;
}
- if (lseek(fd, n, SEEK_CUR) == (off_t) -1)
+ if (lseek(fd, n, SEEK_CUR) < 0)
return -errno;
q += n;
@@ -281,102 +313,4 @@ ssize_t sparse_write(int fd, const void *p, size_t sz, size_t run_length) {
return q - (const uint8_t*) p;
}
-
-char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value) {
- char *x;
-
- x = strjoin(field, value);
- if (x)
- iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(x);
- return x;
-}
-
-char* set_iovec_string_field_free(struct iovec *iovec, size_t *n_iovec, const char *field, char *value) {
- char *x;
-
- x = set_iovec_string_field(iovec, n_iovec, field, value);
- free(value);
- return x;
-}
-
-struct iovec_wrapper *iovw_new(void) {
- return malloc0(sizeof(struct iovec_wrapper));
-}
-
-void iovw_free_contents(struct iovec_wrapper *iovw, bool free_vectors) {
- if (free_vectors)
- for (size_t i = 0; i < iovw->count; i++)
- free(iovw->iovec[i].iov_base);
-
- iovw->iovec = mfree(iovw->iovec);
- iovw->count = 0;
-}
-
-struct iovec_wrapper *iovw_free_free(struct iovec_wrapper *iovw) {
- iovw_free_contents(iovw, true);
-
- return mfree(iovw);
-}
-
-struct iovec_wrapper *iovw_free(struct iovec_wrapper *iovw) {
- iovw_free_contents(iovw, false);
-
- return mfree(iovw);
-}
-
-int iovw_put(struct iovec_wrapper *iovw, void *data, size_t len) {
- if (iovw->count >= IOV_MAX)
- return -E2BIG;
-
- if (!GREEDY_REALLOC(iovw->iovec, iovw->count + 1))
- return -ENOMEM;
-
- iovw->iovec[iovw->count++] = IOVEC_MAKE(data, len);
- return 0;
-}
-
-int iovw_put_string_field(struct iovec_wrapper *iovw, const char *field, const char *value) {
- _cleanup_free_ char *x = NULL;
- int r;
-
- x = strjoin(field, value);
- if (!x)
- return -ENOMEM;
-
- r = iovw_put(iovw, x, strlen(x));
- if (r >= 0)
- TAKE_PTR(x);
-
- return r;
-}
-
-int iovw_put_string_field_free(struct iovec_wrapper *iovw, const char *field, char *value) {
- _cleanup_free_ _unused_ char *free_ptr = value;
-
- return iovw_put_string_field(iovw, field, value);
-}
-
-void iovw_rebase(struct iovec_wrapper *iovw, char *old, char *new) {
- for (size_t i = 0; i < iovw->count; i++)
- iovw->iovec[i].iov_base = (char *)iovw->iovec[i].iov_base - old + new;
-}
-
-size_t iovw_size(struct iovec_wrapper *iovw) {
- size_t n = 0;
-
- for (size_t i = 0; i < iovw->count; i++)
- n += iovw->iovec[i].iov_len;
-
- return n;
-}
-
-void iovec_array_free(struct iovec *iov, size_t n) {
- if (!iov)
- return;
-
- for (size_t i = 0; i < n; i++)
- free(iov[i].iov_base);
-
- free(iov);
-}
#endif /* NM_IGNORED */
diff --git a/src/libnm-systemd-shared/src/basic/io-util.h b/src/libnm-systemd-shared/src/basic/io-util.h
index 3ad8267962..e027c1a878 100644
--- a/src/libnm-systemd-shared/src/basic/io-util.h
+++ b/src/libnm-systemd-shared/src/basic/io-util.h
@@ -6,7 +6,6 @@
#include <stddef.h>
#include <stdint.h>
#include <sys/types.h>
-#include <sys/uio.h>
#include "macro.h"
#include "time-util.h"
@@ -15,7 +14,11 @@ int flush_fd(int fd);
ssize_t loop_read(int fd, void *buf, size_t nbytes, bool do_poll);
int loop_read_exact(int fd, void *buf, size_t nbytes, bool do_poll);
-int loop_write(int fd, const void *buf, size_t nbytes, bool do_poll);
+
+int loop_write_full(int fd, const void *buf, size_t nbytes, usec_t timeout);
+static inline int loop_write(int fd, const void *buf, size_t nbytes) {
+ return loop_write_full(fd, buf, nbytes, 0);
+}
int pipe_eof(int fd);
@@ -24,38 +27,6 @@ int fd_wait_for_event(int fd, int event, usec_t timeout);
ssize_t sparse_write(int fd, const void *p, size_t sz, size_t run_length);
-static inline size_t IOVEC_TOTAL_SIZE(const struct iovec *i, size_t n) {
- size_t r = 0;
-
- for (size_t j = 0; j < n; j++)
- r += i[j].iov_len;
-
- return r;
-}
-
-static inline bool IOVEC_INCREMENT(struct iovec *i, size_t n, size_t k) {
- /* Returns true if there is nothing else to send (bytes written cover all of the iovec),
- * false if there's still work to do. */
-
- for (size_t j = 0; j < n; j++) {
- size_t sub;
-
- if (i[j].iov_len == 0)
- continue;
- if (k == 0)
- return false;
-
- sub = MIN(i[j].iov_len, k);
- i[j].iov_len -= sub;
- i[j].iov_base = (uint8_t*) i[j].iov_base + sub;
- k -= sub;
- }
-
- assert(k == 0); /* Anything else would mean that we wrote more bytes than available,
- * or the kernel reported writing more bytes than sent. */
- return true;
-}
-
static inline bool FILE_SIZE_VALID(uint64_t l) {
/* ftruncate() and friends take an unsigned file size, but actually cannot deal with file sizes larger than
* 2^63 since the kernel internally handles it as signed value. This call allows checking for this early. */
@@ -73,40 +44,3 @@ static inline bool FILE_SIZE_VALID_OR_INFINITY(uint64_t l) {
return FILE_SIZE_VALID(l);
}
-
-#define IOVEC_NULL (struct iovec) {}
-#define IOVEC_MAKE(base, len) (struct iovec) { .iov_base = (base), .iov_len = (len) }
-#define IOVEC_MAKE_STRING(string) \
- ({ \
- char *_s = (char*) (string); \
- IOVEC_MAKE(_s, strlen(_s)); \
- })
-
-char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value);
-char* set_iovec_string_field_free(struct iovec *iovec, size_t *n_iovec, const char *field, char *value);
-
-struct iovec_wrapper {
- struct iovec *iovec;
- size_t count;
-};
-
-struct iovec_wrapper *iovw_new(void);
-struct iovec_wrapper *iovw_free(struct iovec_wrapper *iovw);
-struct iovec_wrapper *iovw_free_free(struct iovec_wrapper *iovw);
-void iovw_free_contents(struct iovec_wrapper *iovw, bool free_vectors);
-
-int iovw_put(struct iovec_wrapper *iovw, void *data, size_t len);
-static inline int iovw_consume(struct iovec_wrapper *iovw, void *data, size_t len) {
- /* Move data into iovw or free on error */
- int r = iovw_put(iovw, data, len);
- if (r < 0)
- free(data);
- return r;
-}
-
-int iovw_put_string_field(struct iovec_wrapper *iovw, const char *field, const char *value);
-int iovw_put_string_field_free(struct iovec_wrapper *iovw, const char *field, char *value);
-void iovw_rebase(struct iovec_wrapper *iovw, char *old, char *new);
-size_t iovw_size(struct iovec_wrapper *iovw);
-
-void iovec_array_free(struct iovec *iov, size_t n);
diff --git a/src/libnm-systemd-shared/src/basic/iovec-util.h b/src/libnm-systemd-shared/src/basic/iovec-util.h
new file mode 100644
index 0000000000..8cfa5717dc
--- /dev/null
+++ b/src/libnm-systemd-shared/src/basic/iovec-util.h
@@ -0,0 +1,99 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include <stdbool.h>
+#include <sys/types.h>
+#include <sys/uio.h>
+
+#include "alloc-util.h"
+#include "macro.h"
+
+/* An iovec pointing to a single NUL byte */
+#define IOVEC_NUL_BYTE (const struct iovec) { \
+ .iov_base = (void*) (const uint8_t[1]) { 0 }, \
+ .iov_len = 1, \
+ }
+
+size_t iovec_total_size(const struct iovec *iovec, size_t n);
+
+bool iovec_increment(struct iovec *iovec, size_t n, size_t k);
+
+/* This accepts both const and non-const pointers */
+#define IOVEC_MAKE(base, len) \
+ (struct iovec) { \
+ .iov_base = (void*) (base), \
+ .iov_len = (len), \
+ }
+
+static inline struct iovec* iovec_make_string(struct iovec *iovec, const char *s) {
+ assert(iovec);
+ /* We don't use strlen_ptr() here, because we don't want to include string-util.h for now */
+ *iovec = IOVEC_MAKE(s, s ? strlen(s) : 0);
+ return iovec;
+}
+
+#define IOVEC_MAKE_STRING(s) \
+ *iovec_make_string(&(struct iovec) {}, s)
+
+#define CONST_IOVEC_MAKE_STRING(s) \
+ (const struct iovec) { \
+ .iov_base = (char*) s, \
+ .iov_len = STRLEN(s), \
+ }
+
+static inline void iovec_done(struct iovec *iovec) {
+ /* A _cleanup_() helper that frees the iov_base in the iovec */
+ assert(iovec);
+
+ iovec->iov_base = mfree(iovec->iov_base);
+ iovec->iov_len = 0;
+}
+
+static inline void iovec_done_erase(struct iovec *iovec) {
+ assert(iovec);
+
+ iovec->iov_base = erase_and_free(iovec->iov_base);
+ iovec->iov_len = 0;
+}
+
+static inline bool iovec_is_set(const struct iovec *iovec) {
+ /* Checks if the iovec points to a non-empty chunk of memory */
+ return iovec && iovec->iov_len > 0 && iovec->iov_base;
+}
+
+static inline bool iovec_is_valid(const struct iovec *iovec) {
+ /* Checks if the iovec is either NULL, empty or points to a valid bit of memory */
+ return !iovec || (iovec->iov_base || iovec->iov_len == 0);
+}
+
+char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value);
+char* set_iovec_string_field_free(struct iovec *iovec, size_t *n_iovec, const char *field, char *value);
+
+void iovec_array_free(struct iovec *iovec, size_t n_iovec);
+
+static inline int iovec_memcmp(const struct iovec *a, const struct iovec *b) {
+
+ if (a == b)
+ return 0;
+
+ return memcmp_nn(a ? a->iov_base : NULL,
+ a ? a->iov_len : 0,
+ b ? b->iov_base : NULL,
+ b ? b->iov_len : 0);
+}
+
+static inline struct iovec *iovec_memdup(const struct iovec *source, struct iovec *ret) {
+ assert(ret);
+
+ if (!iovec_is_set(source))
+ *ret = (struct iovec) {};
+ else {
+ void *p = memdup(source->iov_base, source->iov_len);
+ if (!p)
+ return NULL;
+
+ *ret = IOVEC_MAKE(p, source->iov_len);
+ }
+
+ return ret;
+}
diff --git a/src/libnm-systemd-shared/src/basic/list.h b/src/libnm-systemd-shared/src/basic/list.h
index e4e5dff3ea..10e69541d4 100644
--- a/src/libnm-systemd-shared/src/basic/list.h
+++ b/src/libnm-systemd-shared/src/basic/list.h
@@ -192,6 +192,18 @@
_p; \
})
+#define LIST_CLEAR(name, head, free_func) \
+ _LIST_CLEAR(name, head, free_func, UNIQ_T(elem, UNIQ))
+
+/* Clear the list, destroying each element with free_func */
+#define _LIST_CLEAR(name, head, free_func, elem) \
+ ({ \
+ typeof(head) elem; \
+ while ((elem = LIST_POP(name, head))) \
+ free_func(elem); \
+ head; \
+ })
+
/* Now include "macro.h", because we want our definition of assert() which the macros above use. We include
* it down here instead of up top, since macro.h pulls in log.h which in turn needs our own definitions. */
#include "macro.h"
diff --git a/src/libnm-systemd-shared/src/basic/locale-util.c b/src/libnm-systemd-shared/src/basic/locale-util.c
index 2f3701eba6..78564a74a0 100644
--- a/src/libnm-systemd-shared/src/basic/locale-util.c
+++ b/src/libnm-systemd-shared/src/basic/locale-util.c
@@ -19,6 +19,7 @@
#include "fileio.h"
#include "hashmap.h"
#include "locale-util.h"
+#include "missing_syscall.h"
#include "path-util.h"
#include "set.h"
#include "string-table.h"
@@ -223,7 +224,7 @@ int get_locales(char ***ret) {
locales = set_free(locales);
r = getenv_bool("SYSTEMD_LIST_NON_UTF8_LOCALES");
- if (r == -ENXIO || r == 0) {
+ if (IN_SET(r, -ENXIO, 0)) {
char **a, **b;
/* Filter out non-UTF-8 locales, because it's 2019, by default */
@@ -282,11 +283,6 @@ int locale_is_installed(const char *name) {
return true;
}
-
-void init_gettext(void) {
- setlocale(LC_ALL, "");
- textdomain(GETTEXT_PACKAGE);
-}
#endif /* NM_IGNORED */
bool is_locale_utf8(void) {
@@ -307,6 +303,12 @@ bool is_locale_utf8(void) {
} else if (r != -ENXIO)
log_debug_errno(r, "Failed to parse $SYSTEMD_UTF8, ignoring: %m");
+ /* This function may be called from libsystemd, and setlocale() is not thread safe. Assuming yes. */
+ if (gettid() != raw_getpid()) {
+ cached_answer = true;
+ goto out;
+ }
+
if (!setlocale(LC_ALL, "")) {
cached_answer = true;
goto out;
@@ -345,11 +347,7 @@ out:
#if 0 /* NM_IGNORED */
void locale_variables_free(char *l[_VARIABLE_LC_MAX]) {
- if (!l)
- return;
-
- for (LocaleVariable i = 0; i < _VARIABLE_LC_MAX; i++)
- l[i] = mfree(l[i]);
+ free_many_charp(l, _VARIABLE_LC_MAX);
}
void locale_variables_simplify(char *l[_VARIABLE_LC_MAX]) {
diff --git a/src/libnm-systemd-shared/src/basic/locale-util.h b/src/libnm-systemd-shared/src/basic/locale-util.h
index 8990cb6a75..81fe8d1084 100644
--- a/src/libnm-systemd-shared/src/basic/locale-util.h
+++ b/src/libnm-systemd-shared/src/basic/locale-util.h
@@ -33,9 +33,8 @@ int get_locales(char ***l);
bool locale_is_valid(const char *name);
int locale_is_installed(const char *name);
-#define _(String) gettext(String)
+#define _(String) dgettext(GETTEXT_PACKAGE, String)
#define N_(String) String
-void init_gettext(void);
bool is_locale_utf8(void);
diff --git a/src/libnm-systemd-shared/src/basic/lock-util.h b/src/libnm-systemd-shared/src/basic/lock-util.h
index e7744476bb..91b332f803 100644
--- a/src/libnm-systemd-shared/src/basic/lock-util.h
+++ b/src/libnm-systemd-shared/src/basic/lock-util.h
@@ -34,9 +34,12 @@ void unposix_unlockpp(int **fd);
_cleanup_(unposix_unlockpp) _unused_ int *CONCATENATE(_cleanup_unposix_unlock_, UNIQ) = &(fd)
typedef enum LockType {
+ LOCK_NONE, /* Don't lock the file descriptor. Useful if you need to conditionally lock a file. */
LOCK_BSD,
LOCK_POSIX,
LOCK_UNPOSIX,
} LockType;
int lock_generic(int fd, LockType type, int operation);
+
+int lock_generic_with_timeout(int fd, LockType type, int operation, usec_t timeout);
diff --git a/src/libnm-systemd-shared/src/basic/log.h b/src/libnm-systemd-shared/src/basic/log.h
index eb7b51cb82..cc59b0775c 100644
--- a/src/libnm-systemd-shared/src/basic/log.h
+++ b/src/libnm-systemd-shared/src/basic/log.h
@@ -467,6 +467,9 @@ void log_set_open_when_needed(bool b);
* stderr, the console or kmsg */
void log_set_prohibit_ipc(bool b);
+void log_set_assert_return_is_critical(bool b);
+bool log_get_assert_return_is_critical(void) _pure_;
+
int log_dup_console(void);
#if 0 /* NM_IGNORED */
diff --git a/src/libnm-systemd-shared/src/basic/macro.h b/src/libnm-systemd-shared/src/basic/macro.h
index ce7350cb0e..eec8cba673 100644
--- a/src/libnm-systemd-shared/src/basic/macro.h
+++ b/src/libnm-systemd-shared/src/basic/macro.h
@@ -14,7 +14,7 @@
/* Note: on GCC "no_sanitize_address" is a function attribute only, on llvm it may also be applied to global
* variables. We define a specific macro which knows this. Note that on GCC we don't need this decorator so much, since
- * our primary usecase for this attribute is registration structures placed in named ELF sections which shall not be
+ * our primary use case for this attribute is registration structures placed in named ELF sections which shall not be
* padded, but GCC doesn't pad those anyway if AddressSanitizer is enabled. */
#if HAS_FEATURE_ADDRESS_SANITIZER && defined(__clang__)
#define _variable_no_sanitize_address_ __attribute__((__no_sanitize_address__))
@@ -84,7 +84,7 @@
#define REENABLE_WARNING
#endif
-/* automake test harness */
+/* test harness */
#define EXIT_TEST_SKIP 77
/* builtins */
@@ -96,6 +96,13 @@
#error "neither int nor long are four bytes long?!?"
#endif
+static inline uint64_t u64_multiply_safe(uint64_t a, uint64_t b) {
+ if (_unlikely_(a != 0 && b > (UINT64_MAX / a)))
+ return 0; /* overflow */
+
+ return a * b;
+}
+
/* align to next higher power-of-2 (except for: 0 => 0, overflow => 0) */
static inline unsigned long ALIGN_POWER2(unsigned long u) {
@@ -198,7 +205,7 @@ static inline int __coverity_check_and_return__(int condition) {
/* We override the glibc assert() here. */
#undef assert
#ifdef NDEBUG
-#define assert(expr) do {} while (false)
+#define assert(expr) ({ if (!(expr)) __builtin_unreachable(); })
#else
#define assert(expr) assert_message_se(expr, #expr)
#endif
@@ -304,12 +311,6 @@ static inline int __coverity_check_and_return__(int condition) {
/* Pointers range from NULL to POINTER_MAX */
#define POINTER_MAX ((void*) UINTPTR_MAX)
-/* Iterates through a specified list of pointers. Accepts NULL pointers, but uses POINTER_MAX as internal marker for EOL. */
-#define FOREACH_POINTER(p, x, ...) \
- for (typeof(p) *_l = (typeof(p)[]) { ({ p = x; }), ##__VA_ARGS__, POINTER_MAX }; \
- p != (typeof(p)) POINTER_MAX; \
- p = *(++_l))
-
#define _FOREACH_ARRAY(i, array, num, m, end) \
for (typeof(array[0]) *i = (array), *end = ({ \
typeof(num) m = (num); \
@@ -319,31 +320,6 @@ static inline int __coverity_check_and_return__(int condition) {
#define FOREACH_ARRAY(i, array, num) \
_FOREACH_ARRAY(i, array, num, UNIQ_T(m, UNIQ), UNIQ_T(end, UNIQ))
-#define DEFINE_TRIVIAL_DESTRUCTOR(name, type, func) \
- static inline void name(type *p) { \
- func(p); \
- }
-
-/* When func() returns the void value (NULL, -1, …) of the appropriate type */
-#define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \
- static inline void func##p(type *p) { \
- if (*p) \
- *p = func(*p); \
- }
-
-/* When func() doesn't return the appropriate type, set variable to empty afterwards.
- * The func() may be provided by a dynamically loaded shared library, hence add an assertion. */
-#define DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(type, func, empty) \
- static inline void func##p(type *p) { \
- if (*p != (empty)) { \
- DISABLE_WARNING_ADDRESS; \
- assert(func); \
- REENABLE_WARNING; \
- func(*p); \
- *p = (empty); \
- } \
- }
-
#define _DEFINE_TRIVIAL_REF_FUNC(type, name, scope) \
scope type *name##_ref(type *p) { \
if (!p) \
@@ -443,13 +419,13 @@ assert_cc(sizeof(dummy_t) == 0);
_q && _q > (base) ? &_q[-1] : NULL; \
})
-/* Iterate through each variadic arg. All must be the same type as 'entry' or must be implicitly
+/* Iterate through each argument passed. All must be the same type as 'entry' or must be implicitly
* convertible. The iteration variable 'entry' must already be defined. */
-#define VA_ARGS_FOREACH(entry, ...) \
- _VA_ARGS_FOREACH(entry, UNIQ_T(_entries_, UNIQ), UNIQ_T(_current_, UNIQ), ##__VA_ARGS__)
-#define _VA_ARGS_FOREACH(entry, _entries_, _current_, ...) \
- for (typeof(entry) _entries_[] = { __VA_ARGS__ }, *_current_ = _entries_; \
- ((long)(_current_ - _entries_) < (long)ELEMENTSOF(_entries_)) && ({ entry = *_current_; true; }); \
+#define FOREACH_ARGUMENT(entry, ...) \
+ _FOREACH_ARGUMENT(entry, UNIQ_T(_entries_, UNIQ), UNIQ_T(_current_, UNIQ), UNIQ_T(_va_sentinel_, UNIQ), ##__VA_ARGS__)
+#define _FOREACH_ARGUMENT(entry, _entries_, _current_, _va_sentinel_, ...) \
+ for (typeof(entry) _va_sentinel_[1] = {}, _entries_[] = { __VA_ARGS__ __VA_OPT__(,) _va_sentinel_[0] }, *_current_ = _entries_; \
+ ((long)(_current_ - _entries_) < (long)(ELEMENTSOF(_entries_) - 1)) && ({ entry = *_current_; true; }); \
_current_++)
#include "log.h"
diff --git a/src/libnm-systemd-shared/src/basic/memory-util.c b/src/libnm-systemd-shared/src/basic/memory-util.c
index c1e0a742b1..789e96a9c3 100644
--- a/src/libnm-systemd-shared/src/basic/memory-util.c
+++ b/src/libnm-systemd-shared/src/basic/memory-util.c
@@ -41,3 +41,19 @@ bool memeqbyte(uint8_t byte, const void *data, size_t length) {
/* Now we know first 16 bytes match, memcmp() with self. */
return memcmp(data, p + 16, length) == 0;
}
+
+void *memdup_reverse(const void *mem, size_t size) {
+ assert(mem);
+ assert(size != 0);
+
+ void *p = malloc(size);
+ if (!p)
+ return NULL;
+
+ uint8_t *p_dst = p;
+ const uint8_t *p_src = mem;
+ for (size_t i = 0, k = size; i < size; i++, k--)
+ p_dst[i] = p_src[k-1];
+
+ return p;
+}
diff --git a/src/libnm-systemd-shared/src/basic/memory-util.h b/src/libnm-systemd-shared/src/basic/memory-util.h
index d26a0918e1..294aed67df 100644
--- a/src/libnm-systemd-shared/src/basic/memory-util.h
+++ b/src/libnm-systemd-shared/src/basic/memory-util.h
@@ -12,9 +12,12 @@
#include "memory-util-fundamental.h"
size_t page_size(void) _pure_;
-#define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
-#define PAGE_ALIGN_DOWN(l) ((l) & ~(page_size() - 1))
-#define PAGE_OFFSET(l) ((l) & (page_size() - 1))
+#define PAGE_ALIGN(l) ALIGN_TO(l, page_size())
+#define PAGE_ALIGN_U64(l) ALIGN_TO_U64(l, page_size())
+#define PAGE_ALIGN_DOWN(l) ALIGN_DOWN(l, page_size())
+#define PAGE_ALIGN_DOWN_U64(l) ALIGN_DOWN_U64(l, page_size())
+#define PAGE_OFFSET(l) ALIGN_OFFSET(l, page_size())
+#define PAGE_OFFSET_U64(l) ALIGN_OFFSET_U64(l, page_size())
/* Normal memcpy() requires src to be nonnull. We do nothing if n is 0. */
static inline void *memcpy_safe(void *dst, const void *src, size_t n) {
@@ -47,13 +50,6 @@ static inline int memcmp_nn(const void *s1, size_t n1, const void *s2, size_t n2
?: CMP(n1, n2);
}
-#define memzero(x,l) \
- ({ \
- size_t _l_ = (l); \
- if (_l_ > 0) \
- memset(x, 0, _l_); \
- })
-
#define zero(x) (memzero(&(x), sizeof(x)))
bool memeqbyte(uint8_t byte, const void *data, size_t length);
@@ -112,36 +108,5 @@ static inline void erase_char(char *p) {
explicit_bzero_safe(p, sizeof(char));
}
-/* An automatic _cleanup_-like logic for destroy arrays (i.e. pointers + size) when leaving scope */
-typedef struct ArrayCleanup {
- void **parray;
- size_t *pn;
- free_array_func_t pfunc;
-} ArrayCleanup;
-
-static inline void array_cleanup(const ArrayCleanup *c) {
- assert(c);
-
- assert(!c->parray == !c->pn);
-
- if (!c->parray)
- return;
-
- if (*c->parray) {
- assert(c->pfunc);
- c->pfunc(*c->parray, *c->pn);
- *c->parray = NULL;
- }
-
- *c->pn = 0;
-}
-
-#define CLEANUP_ARRAY(array, n, func) \
- _cleanup_(array_cleanup) _unused_ const ArrayCleanup CONCATENATE(_cleanup_array_, UNIQ) = { \
- .parray = (void**) &(array), \
- .pn = &(n), \
- .pfunc = (free_array_func_t) ({ \
- void (*_f)(typeof(array[0]) *a, size_t b) = func; \
- _f; \
- }), \
- }
+/* Makes a copy of the buffer with reversed order of bytes */
+void *memdup_reverse(const void *mem, size_t size);
diff --git a/src/libnm-systemd-shared/src/basic/missing_socket.h b/src/libnm-systemd-shared/src/basic/missing_socket.h
index a4f6836fd4..ffda7cc684 100644
--- a/src/libnm-systemd-shared/src/basic/missing_socket.h
+++ b/src/libnm-systemd-shared/src/basic/missing_socket.h
@@ -7,7 +7,6 @@
#if HAVE_LINUX_VM_SOCKETS_H
#include <linux/vm_sockets.h>
#else
-#define VMADDR_CID_ANY -1U
struct sockaddr_vm {
unsigned short svm_family;
unsigned short svm_reserved1;
@@ -22,6 +21,26 @@ struct sockaddr_vm {
#endif /* !HAVE_LINUX_VM_SOCKETS_H */
#endif /* NM_IGNORED */
+#ifndef VMADDR_CID_ANY
+#define VMADDR_CID_ANY -1U
+#endif
+
+#ifndef VMADDR_CID_HYPERVISOR
+#define VMADDR_CID_HYPERVISOR 0U
+#endif
+
+#ifndef VMADDR_CID_LOCAL
+#define VMADDR_CID_LOCAL 1U
+#endif
+
+#ifndef VMADDR_CID_HOST
+#define VMADDR_CID_HOST 2U
+#endif
+
+#ifndef VMADDR_PORT_ANY
+#define VMADDR_PORT_ANY -1U
+#endif
+
#ifndef AF_VSOCK
#define AF_VSOCK 40
#endif
@@ -34,6 +53,10 @@ struct sockaddr_vm {
#define SO_PEERGROUPS 59
#endif
+#ifndef SO_PEERPIDFD
+#define SO_PEERPIDFD 77
+#endif
+
#ifndef SO_BINDTOIFINDEX
#define SO_BINDTOIFINDEX 62
#endif
diff --git a/src/libnm-systemd-shared/src/basic/missing_stat.h b/src/libnm-systemd-shared/src/basic/missing_stat.h
index 8b39d4f44f..18a15ab00a 100644
--- a/src/libnm-systemd-shared/src/basic/missing_stat.h
+++ b/src/libnm-systemd-shared/src/basic/missing_stat.h
@@ -9,7 +9,7 @@
#include <linux/stat.h>
#endif
-/* Thew newest definition we are aware of (fa2fcf4f1df1559a0a4ee0f46915b496cc2ebf60; 5.8) */
+/* The newest definition we are aware of (fa2fcf4f1df1559a0a4ee0f46915b496cc2ebf60; 5.8) */
#define STATX_DEFINITION { \
__u32 stx_mask; \
__u32 stx_blksize; \
diff --git a/src/libnm-systemd-shared/src/basic/missing_syscall.h b/src/libnm-systemd-shared/src/basic/missing_syscall.h
index 610a7cef2e..a04633510d 100644
--- a/src/libnm-systemd-shared/src/basic/missing_syscall.h
+++ b/src/libnm-systemd-shared/src/basic/missing_syscall.h
@@ -34,6 +34,21 @@
/* ======================================================================= */
+#if !HAVE_FCHMODAT2
+static inline int missing_fchmodat2(int dirfd, const char *path, mode_t mode, int flags) {
+# ifdef __NR_fchmodat2
+ return syscall(__NR_fchmodat2, dirfd, path, mode, flags);
+# else
+ errno = ENOSYS;
+ return -1;
+# endif
+}
+
+# define fchmodat2 missing_fchmodat2
+#endif
+
+/* ======================================================================= */
+
#if !HAVE_PIVOT_ROOT
static inline int missing_pivot_root(const char *new_root, const char *put_old) {
return syscall(__NR_pivot_root, new_root, put_old);
@@ -546,6 +561,10 @@ static inline int missing_open_tree(
/* ======================================================================= */
+#ifndef MOVE_MOUNT_BENEATH
+#define MOVE_MOUNT_BENEATH 0x00000200
+#endif
+
#if !HAVE_MOVE_MOUNT
#ifndef MOVE_MOUNT_F_EMPTY_PATH
@@ -662,3 +681,17 @@ static inline ssize_t missing_getdents64(int fd, void *buffer, size_t length) {
# define getdents64 missing_getdents64
#endif
#endif /* NM_IGNORED */
+
+/* ======================================================================= */
+
+/* glibc does not provide clone() on ia64, only clone2(). Not only that, but it also doesn't provide a
+ * prototype, only the symbol in the shared library (it provides a prototype for clone(), but not the
+ * symbol in the shared library). */
+#if defined(__ia64__)
+int __clone2(int (*fn)(void *), void *stack_base, size_t stack_size, int flags, void *arg);
+#define HAVE_CLONE 0
+#else
+/* We know that everywhere else clone() is available, so we don't bother with a meson check (that takes time
+ * at build time) and just define it. Once the kernel drops ia64 support, we can drop this too. */
+#define HAVE_CLONE 1
+#endif
diff --git a/src/libnm-systemd-shared/src/basic/namespace-util.h b/src/libnm-systemd-shared/src/basic/namespace-util.h
new file mode 100644
index 0000000000..d1d015612f
--- /dev/null
+++ b/src/libnm-systemd-shared/src/basic/namespace-util.h
@@ -0,0 +1,55 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include <sys/types.h>
+
+typedef enum NamespaceType {
+ NAMESPACE_CGROUP,
+ NAMESPACE_IPC,
+ NAMESPACE_NET,
+ NAMESPACE_MOUNT,
+ NAMESPACE_PID,
+ NAMESPACE_USER,
+ NAMESPACE_UTS,
+ NAMESPACE_TIME,
+ _NAMESPACE_TYPE_MAX,
+ _NAMESPACE_TYPE_INVALID = -EINVAL,
+} NamespaceType;
+
+extern const struct namespace_info {
+ const char *proc_name;
+ const char *proc_path;
+ unsigned int clone_flag;
+} namespace_info[_NAMESPACE_TYPE_MAX + 1];
+
+int namespace_open(
+ pid_t pid,
+ int *ret_pidns_fd,
+ int *ret_mntns_fd,
+ int *ret_netns_fd,
+ int *ret_userns_fd,
+ int *ret_root_fd);
+int namespace_enter(int pidns_fd, int mntns_fd, int netns_fd, int userns_fd, int root_fd);
+
+int fd_is_ns(int fd, unsigned long nsflag);
+
+int detach_mount_namespace(void);
+
+static inline bool userns_shift_range_valid(uid_t shift, uid_t range) {
+ /* Checks that the specified userns range makes sense, i.e. contains at least one UID, and the end
+ * doesn't overflow uid_t. */
+
+ assert_cc((uid_t) -1 > 0); /* verify that uid_t is unsigned */
+
+ if (range <= 0)
+ return false;
+
+ if (shift > (uid_t) -1 - range)
+ return false;
+
+ return true;
+}
+
+int userns_acquire(const char *uid_map, const char *gid_map);
+int netns_acquire(void);
+int in_same_namespace(pid_t pid1, pid_t pid2, NamespaceType type);
diff --git a/src/libnm-systemd-shared/src/basic/ordered-set.c b/src/libnm-systemd-shared/src/basic/ordered-set.c
index f402bb5b0c..ae50070f17 100644
--- a/src/libnm-systemd-shared/src/basic/ordered-set.c
+++ b/src/libnm-systemd-shared/src/basic/ordered-set.c
@@ -93,13 +93,16 @@ void ordered_set_print(FILE *f, const char *field, OrderedSet *s) {
bool space = false;
char *p;
+ assert(f);
+ assert(field);
+
if (ordered_set_isempty(s))
return;
fputs(field, f);
ORDERED_SET_FOREACH(p, s)
- fputs_with_space(f, p, NULL, &space);
+ fputs_with_separator(f, p, NULL, &space);
fputc('\n', f);
}
diff --git a/src/libnm-systemd-shared/src/basic/parse-util.c b/src/libnm-systemd-shared/src/basic/parse-util.c
index 2b22039c1c..34a5375f85 100644
--- a/src/libnm-systemd-shared/src/basic/parse-util.c
+++ b/src/libnm-systemd-shared/src/basic/parse-util.c
@@ -47,6 +47,24 @@ int parse_boolean(const char *v) {
}
#if 0 /* NM_IGNORED */
+int parse_tristate_full(const char *v, const char *third, int *ret) {
+ int r;
+
+ if (isempty(v) || streq_ptr(v, third)) { /* Empty string is always taken as the third/invalid/auto state */
+ if (ret)
+ *ret = -1;
+ } else {
+ r = parse_boolean(v);
+ if (r < 0)
+ return r;
+
+ if (ret)
+ *ret = r;
+ }
+
+ return 0;
+}
+
int parse_pid(const char *s, pid_t* ret_pid) {
unsigned long ul = 0;
pid_t pid;
@@ -110,8 +128,7 @@ int parse_ifindex(const char *s) {
#if 0 /* NM_IGNORED */
int parse_mtu(int family, const char *s, uint32_t *ret) {
- uint64_t u;
- size_t m;
+ uint64_t u, m;
int r;
r = parse_size(s, 1024, &u);
@@ -121,10 +138,16 @@ int parse_mtu(int family, const char *s, uint32_t *ret) {
if (u > UINT32_MAX)
return -ERANGE;
- if (family == AF_INET6)
+ switch (family) {
+ case AF_INET:
+ m = IPV4_MIN_MTU; /* This is 68 */
+ break;
+ case AF_INET6:
m = IPV6_MIN_MTU; /* This is 1280 */
- else
- m = IPV4_MIN_MTU; /* For all other protocols, including 'unspecified' we assume the IPv4 minimal MTU */
+ break;
+ default:
+ m = 0;
+ }
if (u < m)
return -ERANGE;
@@ -431,6 +454,21 @@ int safe_atou_full(const char *s, unsigned base, unsigned *ret_u) {
return 0;
}
+int safe_atou_bounded(const char *s, unsigned min, unsigned max, unsigned *ret) {
+ unsigned v;
+ int r;
+
+ r = safe_atou(s, &v);
+ if (r < 0)
+ return r;
+
+ if (v < min || v > max)
+ return -ERANGE;
+
+ *ret = v;
+ return 0;
+}
+
int safe_atoi(const char *s, int *ret_i) {
unsigned base = 0;
char *x = NULL;
@@ -660,7 +698,7 @@ int parse_ip_port(const char *s, uint16_t *ret) {
return 0;
}
-int parse_ip_port_range(const char *s, uint16_t *low, uint16_t *high) {
+int parse_ip_port_range(const char *s, uint16_t *low, uint16_t *high, bool allow_zero) {
unsigned l, h;
int r;
@@ -668,7 +706,10 @@ int parse_ip_port_range(const char *s, uint16_t *low, uint16_t *high) {
if (r < 0)
return r;
- if (l <= 0 || l > 65535 || h <= 0 || h > 65535)
+ if (l > 65535 || h > 65535)
+ return -EINVAL;
+
+ if (!allow_zero && (l == 0 || h == 0))
return -EINVAL;
if (h < l)
@@ -754,4 +795,23 @@ int parse_loadavg_fixed_point(const char *s, loadavg_t *ret) {
return store_loadavg_fixed_point(i, f, ret);
}
+
+/* Limitations are described in https://www.netfilter.org/projects/nftables/manpage.html and
+ * https://bugzilla.netfilter.org/show_bug.cgi?id=1175 */
+bool nft_identifier_valid(const char *id) {
+ if (!id)
+ return false;
+
+ size_t len = strlen(id);
+ if (len == 0 || len > 31)
+ return false;
+
+ if (!ascii_isalpha(id[0]))
+ return false;
+
+ for (size_t i = 1; i < len; i++)
+ if (!ascii_isalpha(id[i]) && !ascii_isdigit(id[i]) && !IN_SET(id[i], '/', '\\', '_', '.'))
+ return false;
+ return true;
+}
#endif /* NM_IGNORED */
diff --git a/src/libnm-systemd-shared/src/basic/parse-util.h b/src/libnm-systemd-shared/src/basic/parse-util.h
index c480407c2a..c12988ef20 100644
--- a/src/libnm-systemd-shared/src/basic/parse-util.h
+++ b/src/libnm-systemd-shared/src/basic/parse-util.h
@@ -12,6 +12,10 @@
typedef unsigned long loadavg_t;
int parse_boolean(const char *v) _pure_;
+int parse_tristate_full(const char *v, const char *third, int *ret);
+static inline int parse_tristate(const char *v, int *ret) {
+ return parse_tristate_full(v, NULL, ret);
+}
int parse_pid(const char *s, pid_t* ret_pid);
int parse_mode(const char *s, mode_t *ret);
int parse_ifindex(const char *s);
@@ -30,11 +34,12 @@ int parse_fd(const char *t);
#define SAFE_ATO_MASK_FLAGS(base) ((base) & ~SAFE_ATO_ALL_FLAGS)
int safe_atou_full(const char *s, unsigned base, unsigned *ret_u);
-
static inline int safe_atou(const char *s, unsigned *ret_u) {
return safe_atou_full(s, 0, ret_u);
}
+int safe_atou_bounded(const char *s, unsigned min, unsigned max, unsigned *ret);
+
int safe_atoi(const char *s, int *ret_i);
int safe_atolli(const char *s, long long int *ret_i);
@@ -134,7 +139,7 @@ int parse_fractional_part_u(const char **s, size_t digits, unsigned *res);
int parse_nice(const char *p, int *ret);
int parse_ip_port(const char *s, uint16_t *ret);
-int parse_ip_port_range(const char *s, uint16_t *low, uint16_t *high);
+int parse_ip_port_range(const char *s, uint16_t *low, uint16_t *high, bool allow_zero);
int parse_ip_prefix_length(const char *s, int *ret);
@@ -152,3 +157,5 @@ int parse_oom_score_adjust(const char *s, int *ret);
* to a loadavg_t. */
int store_loadavg_fixed_point(unsigned long i, unsigned long f, loadavg_t *ret);
int parse_loadavg_fixed_point(const char *s, loadavg_t *ret);
+
+bool nft_identifier_valid(const char *id);
diff --git a/src/libnm-systemd-shared/src/basic/path-util.c b/src/libnm-systemd-shared/src/basic/path-util.c
index a2af9e0ce2..638e4860a6 100644
--- a/src/libnm-systemd-shared/src/basic/path-util.c
+++ b/src/libnm-systemd-shared/src/basic/path-util.c
@@ -43,7 +43,7 @@ int path_split_and_make_absolute(const char *p, char ***ret) {
return r;
}
-char *path_make_absolute(const char *p, const char *prefix) {
+char* path_make_absolute(const char *p, const char *prefix) {
assert(p);
/* Makes every item in the list an absolute path by prepending
@@ -135,11 +135,9 @@ int path_make_relative(const char *from, const char *to, char **ret) {
return -ENOMEM;
} else {
/* 'to' is inside of 'from'. */
- result = strdup(t);
- if (!result)
- return -ENOMEM;
-
- path_simplify(result);
+ r = path_simplify_alloc(t, &result);
+ if (r < 0)
+ return r;
if (!path_is_valid(result))
return -EINVAL;
@@ -255,7 +253,7 @@ int path_strv_make_absolute_cwd(char **l) {
return 0;
}
-char **path_strv_resolve(char **l, const char *root) {
+char** path_strv_resolve(char **l, const char *root) {
unsigned k = 0;
bool enomem = false;
int r;
@@ -336,7 +334,7 @@ char **path_strv_resolve(char **l, const char *root) {
return l;
}
-char **path_strv_resolve_uniq(char **l, const char *root) {
+char** path_strv_resolve_uniq(char **l, const char *root) {
if (strv_isempty(l))
return l;
@@ -348,9 +346,9 @@ char **path_strv_resolve_uniq(char **l, const char *root) {
}
#endif /* NM_IGNORED */
-char *path_simplify(char *path) {
- bool add_slash = false;
- char *f = ASSERT_PTR(path);
+char* path_simplify_full(char *path, PathSimplifyFlags flags) {
+ bool add_slash = false, keep_trailing_slash, absolute, beginning = true;
+ char *f = path;
int r;
/* Removes redundant inner and trailing slashes. Also removes unnecessary dots.
@@ -358,13 +356,17 @@ char *path_simplify(char *path) {
*
* ///foo//./bar/. becomes /foo/bar
* .//./foo//./bar/. becomes foo/bar
+ * /../foo/bar becomes /foo/bar
+ * /../foo/bar/.. becomes /foo/bar/..
*/
if (isempty(path))
return path;
- if (path_is_absolute(path))
- f++;
+ keep_trailing_slash = FLAGS_SET(flags, PATH_SIMPLIFY_KEEP_TRAILING_SLASH) && endswith(path, "/");
+
+ absolute = path_is_absolute(path);
+ f += absolute; /* Keep leading /, if present. */
for (const char *p = f;;) {
const char *e;
@@ -373,11 +375,17 @@ char *path_simplify(char *path) {
if (r == 0)
break;
+ if (r > 0 && absolute && beginning && path_startswith(e, ".."))
+ /* If we're at the beginning of an absolute path, we can safely skip ".." */
+ continue;
+
+ beginning = false;
+
if (add_slash)
*f++ = '/';
if (r < 0) {
- /* if path is invalid, then refuse to simplify remaining part. */
+ /* if path is invalid, then refuse to simplify the remaining part. */
memmove(f, p, strlen(p) + 1);
return path;
}
@@ -392,11 +400,14 @@ char *path_simplify(char *path) {
if (f == path)
*f++ = '.';
+ if (*(f-1) != '/' && keep_trailing_slash)
+ *f++ = '/';
+
*f = '\0';
return path;
}
-char *path_startswith_full(const char *path, const char *prefix, bool accept_dot_dot) {
+char* path_startswith_full(const char *path, const char *prefix, bool accept_dot_dot) {
assert(path);
assert(prefix);
@@ -489,10 +500,6 @@ int path_compare(const char *a, const char *b) {
}
}
-bool path_equal_or_inode_same(const char *a, const char *b, int flags) {
- return path_equal(a, b) || inode_same(a, b, flags) > 0;
-}
-
int path_compare_filename(const char *a, const char *b) {
_cleanup_free_ char *fa = NULL, *fb = NULL;
int r, j, k;
@@ -661,7 +668,14 @@ static int find_executable_impl(const char *name, const char *root, char **ret_f
return 0;
}
-int find_executable_full(const char *name, const char *root, char **exec_search_path, bool use_path_envvar, char **ret_filename, int *ret_fd) {
+int find_executable_full(
+ const char *name,
+ const char *root,
+ char **exec_search_path,
+ bool use_path_envvar,
+ char **ret_filename,
+ int *ret_fd) {
+
int last_error = -ENOENT, r = 0;
const char *p = NULL;
@@ -812,7 +826,7 @@ int fsck_exists_for_fstype(const char *fstype) {
}
#endif /* NM_IGNORED */
-static const char *skip_slash_or_dot(const char *p) {
+static const char* skip_slash_or_dot(const char *p) {
for (; !isempty(p); p++) {
if (*p == '/')
continue;
@@ -896,7 +910,7 @@ int path_find_first_component(const char **p, bool accept_dot_dot, const char **
return len;
}
-static const char *skip_slash_or_dot_backward(const char *path, const char *q) {
+static const char* skip_slash_or_dot_backward(const char *path, const char *q) {
assert(path);
assert(!q || q >= path);
@@ -1005,7 +1019,7 @@ int path_find_last_component(const char *path, bool accept_dot_dot, const char *
return len;
}
-const char *last_path_component(const char *path) {
+const char* last_path_component(const char *path) {
/* Finds the last component of the path, preserving the optional trailing slash that signifies a directory.
*
@@ -1126,17 +1140,19 @@ int path_extract_directory(const char *path, char **ret) {
if (!path_is_valid(a))
return -EINVAL;
- *ret = TAKE_PTR(a);
+ if (ret)
+ *ret = TAKE_PTR(a);
+
return 0;
}
-bool filename_is_valid(const char *p) {
+bool filename_part_is_valid(const char *p) {
const char *e;
- if (isempty(p))
- return false;
+ /* Checks f the specified string is OK to be *part* of a filename. This is different from
+ * filename_is_valid() as "." and ".." and "" are OK by this call, but not by filename_is_valid(). */
- if (dot_or_dot_dot(p)) /* Yes, in this context we consider "." and ".." invalid */
+ if (!p)
return false;
e = strchrnul(p, '/');
@@ -1149,6 +1165,17 @@ bool filename_is_valid(const char *p) {
return true;
}
+bool filename_is_valid(const char *p) {
+
+ if (isempty(p))
+ return false;
+
+ if (dot_or_dot_dot(p)) /* Yes, in this context we consider "." and ".." invalid */
+ return false;
+
+ return filename_part_is_valid(p);
+}
+
bool path_is_valid_full(const char *p, bool accept_dot_dot) {
if (isempty(p))
return false;
@@ -1265,9 +1292,16 @@ bool hidden_or_backup_file(const char *filename) {
bool is_device_path(const char *path) {
/* Returns true for paths that likely refer to a device, either by path in sysfs or to something in
- * /dev. */
+ * /dev. This accepts any path that starts with /dev/ or /sys/ and has something after that prefix.
+ * It does not actually resolve the path.
+ *
+ * Examples:
+ * /dev/sda, /dev/sda/foo, /sys/class, /dev/.., /sys/.., /./dev/foo → yes.
+ * /../dev/sda, /dev, /sys, /usr/path, /usr/../dev/sda → no.
+ */
- return PATH_STARTSWITH_SET(path, "/dev/", "/sys/");
+ const char *p = PATH_STARTSWITH_SET(ASSERT_PTR(path), "/dev/", "/sys/");
+ return !isempty(p);
}
bool valid_device_node_path(const char *path) {
diff --git a/src/libnm-systemd-shared/src/basic/path-util.h b/src/libnm-systemd-shared/src/basic/path-util.h
index fee6e8ee49..5bb51ff599 100644
--- a/src/libnm-systemd-shared/src/basic/path-util.h
+++ b/src/libnm-systemd-shared/src/basic/path-util.h
@@ -6,6 +6,7 @@
#include <stddef.h>
#include "macro.h"
+#include "stat-util.h"
#include "string-util.h"
#include "strv.h"
#include "time-util.h"
@@ -25,24 +26,14 @@
# define PATH_SBIN_BIN_NULSTR(x) PATH_NORMAL_SBIN_BIN_NULSTR(x)
#endif
-#define DEFAULT_PATH_NORMAL PATH_SBIN_BIN("/usr/local/") ":" PATH_SBIN_BIN("/usr/")
-#define DEFAULT_PATH_NORMAL_NULSTR PATH_SBIN_BIN_NULSTR("/usr/local/") PATH_SBIN_BIN_NULSTR("/usr/")
-#define DEFAULT_PATH_SPLIT_USR DEFAULT_PATH_NORMAL ":" PATH_SBIN_BIN("/")
-#define DEFAULT_PATH_SPLIT_USR_NULSTR DEFAULT_PATH_NORMAL_NULSTR PATH_SBIN_BIN_NULSTR("/")
+#define DEFAULT_PATH PATH_SBIN_BIN("/usr/local/") ":" PATH_SBIN_BIN("/usr/")
+#define DEFAULT_PATH_NULSTR PATH_SBIN_BIN_NULSTR("/usr/local/") PATH_SBIN_BIN_NULSTR("/usr/")
#define DEFAULT_PATH_COMPAT PATH_SPLIT_SBIN_BIN("/usr/local/") ":" PATH_SPLIT_SBIN_BIN("/usr/") ":" PATH_SPLIT_SBIN_BIN("/")
-#if HAVE_SPLIT_USR
-# define DEFAULT_PATH DEFAULT_PATH_SPLIT_USR
-# define DEFAULT_PATH_NULSTR DEFAULT_PATH_SPLIT_USR_NULSTR
-#else
-# define DEFAULT_PATH DEFAULT_PATH_NORMAL
-# define DEFAULT_PATH_NULSTR DEFAULT_PATH_NORMAL_NULSTR
-#endif
-#endif /* NM_IGNORED */
-
#ifndef DEFAULT_USER_PATH
# define DEFAULT_USER_PATH DEFAULT_PATH
#endif
+#endif /* NM_IGNORED */
static inline bool is_path(const char *p) {
if (!p) /* A NULL pointer is definitely not a path */
@@ -64,7 +55,7 @@ int safe_getcwd(char **ret);
int path_make_absolute_cwd(const char *p, char **ret);
int path_make_relative(const char *from, const char *to, char **ret);
int path_make_relative_parent(const char *from_child, const char *to, char **ret);
-char *path_startswith_full(const char *path, const char *prefix, bool accept_dot_dot) _pure_;
+char* path_startswith_full(const char *path, const char *prefix, bool accept_dot_dot) _pure_;
static inline char* path_startswith(const char *path, const char *prefix) {
return path_startswith_full(path, prefix, true);
}
@@ -79,13 +70,38 @@ static inline bool path_equal_filename(const char *a, const char *b) {
return path_compare_filename(a, b) == 0;
}
-bool path_equal_or_inode_same(const char *a, const char *b, int flags);
+static inline bool path_equal_or_inode_same(const char *a, const char *b, int flags) {
+ return path_equal(a, b) || inode_same(a, b, flags) > 0;
+}
char* path_extend_internal(char **x, ...);
#define path_extend(x, ...) path_extend_internal(x, __VA_ARGS__, POINTER_MAX)
#define path_join(...) path_extend_internal(NULL, __VA_ARGS__, POINTER_MAX)
-char* path_simplify(char *path);
+typedef enum PathSimplifyFlags {
+ PATH_SIMPLIFY_KEEP_TRAILING_SLASH = 1 << 0,
+} PathSimplifyFlags;
+
+char* path_simplify_full(char *path, PathSimplifyFlags flags);
+static inline char* path_simplify(char *path) {
+ return path_simplify_full(path, 0);
+}
+
+static inline int path_simplify_alloc(const char *path, char **ret) {
+ assert(ret);
+
+ if (!path) {
+ *ret = NULL;
+ return 0;
+ }
+
+ char *t = strdup(path);
+ if (!t)
+ return -ENOMEM;
+
+ *ret = path_simplify(t);
+ return 0;
+}
static inline bool path_equal_ptr(const char *a, const char *b) {
return !!a == !!b && (!a || path_equal(a, b));
@@ -142,7 +158,7 @@ int fsck_exists_for_fstype(const char *fstype);
char *_p, *_n; \
size_t _l; \
while (_path[0] == '/' && _path[1] == '/') \
- _path ++; \
+ _path++; \
if (isempty(_root)) \
_ret = _path; \
else { \
@@ -161,10 +177,11 @@ int fsck_exists_for_fstype(const char *fstype);
int path_find_first_component(const char **p, bool accept_dot_dot, const char **ret);
int path_find_last_component(const char *path, bool accept_dot_dot, const char **next, const char **ret);
-const char *last_path_component(const char *path);
+const char* last_path_component(const char *path);
int path_extract_filename(const char *path, char **ret);
int path_extract_directory(const char *path, char **ret);
+bool filename_part_is_valid(const char *p) _pure_;
bool filename_is_valid(const char *p) _pure_;
bool path_is_valid_full(const char *p, bool accept_dot_dot) _pure_;
static inline bool path_is_valid(const char *p) {
@@ -197,7 +214,7 @@ static inline const char *skip_dev_prefix(const char *p) {
}
bool empty_or_root(const char *path);
-static inline const char *empty_to_root(const char *path) {
+static inline const char* empty_to_root(const char *path) {
return isempty(path) ? "/" : path;
}
diff --git a/src/libnm-systemd-shared/src/basic/pidref.h b/src/libnm-systemd-shared/src/basic/pidref.h
new file mode 100644
index 0000000000..c440c8b0e0
--- /dev/null
+++ b/src/libnm-systemd-shared/src/basic/pidref.h
@@ -0,0 +1,78 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include "macro.h"
+
+/* An embeddable structure carrying a reference to a process. Supposed to be used when tracking processes continuously. */
+typedef struct PidRef {
+ pid_t pid; /* always valid */
+ int fd; /* only valid if pidfd are available in the kernel, and we manage to get an fd */
+} PidRef;
+
+#define PIDREF_NULL (const PidRef) { .fd = -EBADF }
+
+/* Turns a pid_t into a PidRef structure on-the-fly *without* acquiring a pidfd for it. (As opposed to
+ * pidref_set_pid() which does so *with* acquiring one, see below) */
+#define PIDREF_MAKE_FROM_PID(x) (PidRef) { .pid = (x), .fd = -EBADF }
+
+static inline bool pidref_is_set(const PidRef *pidref) {
+ return pidref && pidref->pid > 0;
+}
+
+static inline bool pidref_equal(const PidRef *a, const PidRef *b) {
+
+ if (pidref_is_set(a)) {
+ if (!pidref_is_set(b))
+ return false;
+
+ return a->pid == b->pid;
+ }
+
+ return !pidref_is_set(b);
+}
+
+/* This turns a pid_t into a PidRef structure, and acquires a pidfd for it, if possible. (As opposed to
+ * PIDREF_MAKE_FROM_PID() above, which does not acquire a pidfd.) */
+int pidref_set_pid(PidRef *pidref, pid_t pid);
+int pidref_set_pidstr(PidRef *pidref, const char *pid);
+int pidref_set_pidfd(PidRef *pidref, int fd);
+int pidref_set_pidfd_take(PidRef *pidref, int fd); /* takes ownership of the passed pidfd on success*/
+int pidref_set_pidfd_consume(PidRef *pidref, int fd); /* takes ownership of the passed pidfd in both success and failure */
+int pidref_set_parent(PidRef *ret);
+static inline int pidref_set_self(PidRef *pidref) {
+ return pidref_set_pid(pidref, 0);
+}
+
+bool pidref_is_self(const PidRef *pidref);
+
+void pidref_done(PidRef *pidref);
+PidRef *pidref_free(PidRef *pidref);
+DEFINE_TRIVIAL_CLEANUP_FUNC(PidRef*, pidref_free);
+
+int pidref_copy(const PidRef *pidref, PidRef *dest);
+int pidref_dup(const PidRef *pidref, PidRef **ret);
+
+int pidref_new_from_pid(pid_t pid, PidRef **ret);
+
+int pidref_kill(const PidRef *pidref, int sig);
+int pidref_kill_and_sigcont(const PidRef *pidref, int sig);
+int pidref_sigqueue(const PidRef *pidref, int sig, int value);
+
+int pidref_wait(const PidRef *pidref, siginfo_t *siginfo, int options);
+int pidref_wait_for_terminate(const PidRef *pidref, siginfo_t *ret);
+
+static inline void pidref_done_sigkill_wait(PidRef *pidref) {
+ if (!pidref_is_set(pidref))
+ return;
+
+ (void) pidref_kill(pidref, SIGKILL);
+ (void) pidref_wait_for_terminate(pidref, NULL);
+ pidref_done(pidref);
+}
+
+int pidref_verify(const PidRef *pidref);
+
+#define TAKE_PIDREF(p) TAKE_GENERIC((p), PidRef, PIDREF_NULL)
+
+extern const struct hash_ops pidref_hash_ops;
+extern const struct hash_ops pidref_hash_ops_free; /* Has destructor call for pidref_free(), i.e. expects heap allocated PidRef as keys */
diff --git a/src/libnm-systemd-shared/src/basic/prioq.c b/src/libnm-systemd-shared/src/basic/prioq.c
index 0af84bd273..b05b08da4a 100644
--- a/src/libnm-systemd-shared/src/basic/prioq.c
+++ b/src/libnm-systemd-shared/src/basic/prioq.c
@@ -215,7 +215,7 @@ static void remove_item(Prioq *q, struct prioq_item *i) {
}
}
-_pure_ static struct prioq_item* find_item(Prioq *q, void *data, unsigned *idx) {
+static struct prioq_item* find_item(Prioq *q, void *data, unsigned *idx) {
struct prioq_item *i;
assert(q);
diff --git a/src/libnm-systemd-shared/src/basic/process-util.c b/src/libnm-systemd-shared/src/basic/process-util.c
index 8601e0da54..0f1894b3af 100644
--- a/src/libnm-systemd-shared/src/basic/process-util.c
+++ b/src/libnm-systemd-shared/src/basic/process-util.c
@@ -7,6 +7,7 @@
#include <limits.h>
#include <linux/oom.h>
#include <pthread.h>
+#include <spawn.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
@@ -26,6 +27,7 @@
#include "alloc-util.h"
#include "architecture.h"
#include "argv-util.h"
+#include "dirent-util.h"
#include "env-file.h"
#include "env-util.h"
#include "errno-util.h"
@@ -97,7 +99,7 @@ static int get_process_state(pid_t pid) {
return (unsigned char) state;
}
-int get_process_comm(pid_t pid, char **ret) {
+int pid_get_comm(pid_t pid, char **ret) {
_cleanup_free_ char *escaped = NULL, *comm = NULL;
int r;
@@ -135,15 +137,35 @@ int get_process_comm(pid_t pid, char **ret) {
return 0;
}
-static int get_process_cmdline_nulstr(
+int pidref_get_comm(const PidRef *pid, char **ret) {
+ _cleanup_free_ char *comm = NULL;
+ int r;
+
+ if (!pidref_is_set(pid))
+ return -ESRCH;
+
+ r = pid_get_comm(pid->pid, &comm);
+ if (r < 0)
+ return r;
+
+ r = pidref_verify(pid);
+ if (r < 0)
+ return r;
+
+ if (ret)
+ *ret = TAKE_PTR(comm);
+ return 0;
+}
+
+static int pid_get_cmdline_nulstr(
pid_t pid,
size_t max_size,
ProcessCmdlineFlags flags,
char **ret,
size_t *ret_size) {
+ _cleanup_free_ char *t = NULL;
const char *p;
- char *t;
size_t k;
int r;
@@ -167,18 +189,17 @@ static int get_process_cmdline_nulstr(
return r;
if (k == 0) {
- t = mfree(t);
-
if (!(flags & PROCESS_CMDLINE_COMM_FALLBACK))
return -ENOENT;
/* Kernel threads have no argv[] */
_cleanup_free_ char *comm = NULL;
- r = get_process_comm(pid, &comm);
+ r = pid_get_comm(pid, &comm);
if (r < 0)
return r;
+ free(t);
t = strjoin("[", comm, "]");
if (!t)
return -ENOMEM;
@@ -189,12 +210,15 @@ static int get_process_cmdline_nulstr(
t[max_size] = '\0';
}
- *ret = t;
- *ret_size = k;
+ if (ret)
+ *ret = TAKE_PTR(t);
+ if (ret_size)
+ *ret_size = k;
+
return r;
}
-int get_process_cmdline(pid_t pid, size_t max_columns, ProcessCmdlineFlags flags, char **ret) {
+int pid_get_cmdline(pid_t pid, size_t max_columns, ProcessCmdlineFlags flags, char **ret) {
_cleanup_free_ char *t = NULL;
size_t k;
char *ans;
@@ -202,7 +226,7 @@ int get_process_cmdline(pid_t pid, size_t max_columns, ProcessCmdlineFlags flags
assert(pid >= 0);
assert(ret);
- /* Retrieve and format a commandline. See above for discussion of retrieval options.
+ /* Retrieve and format a command line. See above for discussion of retrieval options.
*
* There are two main formatting modes:
*
@@ -216,7 +240,7 @@ int get_process_cmdline(pid_t pid, size_t max_columns, ProcessCmdlineFlags flags
* Returns -ESRCH if the process doesn't exist, and -ENOENT if the process has no command line (and
* PROCESS_CMDLINE_COMM_FALLBACK is not specified). Returns 0 and sets *line otherwise. */
- int full = get_process_cmdline_nulstr(pid, max_columns, flags, &t, &k);
+ int full = pid_get_cmdline_nulstr(pid, max_columns, flags, &t, &k);
if (full < 0)
return full;
@@ -259,7 +283,27 @@ int get_process_cmdline(pid_t pid, size_t max_columns, ProcessCmdlineFlags flags
return 0;
}
-int get_process_cmdline_strv(pid_t pid, ProcessCmdlineFlags flags, char ***ret) {
+int pidref_get_cmdline(const PidRef *pid, size_t max_columns, ProcessCmdlineFlags flags, char **ret) {
+ _cleanup_free_ char *s = NULL;
+ int r;
+
+ if (!pidref_is_set(pid))
+ return -ESRCH;
+
+ r = pid_get_cmdline(pid->pid, max_columns, flags, &s);
+ if (r < 0)
+ return r;
+
+ r = pidref_verify(pid);
+ if (r < 0)
+ return r;
+
+ if (ret)
+ *ret = TAKE_PTR(s);
+ return 0;
+}
+
+int pid_get_cmdline_strv(pid_t pid, ProcessCmdlineFlags flags, char ***ret) {
_cleanup_free_ char *t = NULL;
char **args;
size_t k;
@@ -269,7 +313,7 @@ int get_process_cmdline_strv(pid_t pid, ProcessCmdlineFlags flags, char ***ret)
assert((flags & ~PROCESS_CMDLINE_COMM_FALLBACK) == 0);
assert(ret);
- r = get_process_cmdline_nulstr(pid, SIZE_MAX, flags, &t, &k);
+ r = pid_get_cmdline_nulstr(pid, SIZE_MAX, flags, &t, &k);
if (r < 0)
return r;
@@ -281,6 +325,27 @@ int get_process_cmdline_strv(pid_t pid, ProcessCmdlineFlags flags, char ***ret)
return 0;
}
+int pidref_get_cmdline_strv(const PidRef *pid, ProcessCmdlineFlags flags, char ***ret) {
+ _cleanup_strv_free_ char **args = NULL;
+ int r;
+
+ if (!pidref_is_set(pid))
+ return -ESRCH;
+
+ r = pid_get_cmdline_strv(pid->pid, flags, &args);
+ if (r < 0)
+ return r;
+
+ r = pidref_verify(pid);
+ if (r < 0)
+ return r;
+
+ if (ret)
+ *ret = TAKE_PTR(args);
+
+ return 0;
+}
+
int container_get_leader(const char *machine, pid_t *pid) {
_cleanup_free_ char *s = NULL, *class = NULL;
const char *p;
@@ -322,7 +387,34 @@ int container_get_leader(const char *machine, pid_t *pid) {
return 0;
}
-int is_kernel_thread(pid_t pid) {
+int namespace_get_leader(pid_t pid, NamespaceType type, pid_t *ret) {
+ int r;
+
+ assert(ret);
+
+ for (;;) {
+ pid_t ppid;
+
+ r = get_process_ppid(pid, &ppid);
+ if (r < 0)
+ return r;
+
+ r = in_same_namespace(pid, ppid, type);
+ if (r < 0)
+ return r;
+ if (r == 0) {
+ /* If the parent and the child are not in the same
+ * namespace, then the child is the leader we are
+ * looking for. */
+ *ret = pid;
+ return 0;
+ }
+
+ pid = ppid;
+ }
+}
+
+int pid_is_kernel_thread(pid_t pid) {
_cleanup_free_ char *line = NULL;
unsigned long long flags;
size_t l, i;
@@ -380,6 +472,23 @@ int is_kernel_thread(pid_t pid) {
return !!(flags & PF_KTHREAD);
}
+int pidref_is_kernel_thread(const PidRef *pid) {
+ int result, r;
+
+ if (!pidref_is_set(pid))
+ return -ESRCH;
+
+ result = pid_is_kernel_thread(pid->pid);
+ if (result < 0)
+ return result;
+
+ r = pidref_verify(pid); /* Verify that the PID wasn't reused since */
+ if (r < 0)
+ return r;
+
+ return result;
+}
+
int get_process_capeff(pid_t pid, char **ret) {
const char *p;
int r;
@@ -449,16 +558,14 @@ static int get_process_id(pid_t pid, const char *field, uid_t *ret) {
_cleanup_free_ char *line = NULL;
char *l;
- r = read_line(f, LONG_LINE_MAX, &line);
+ r = read_stripped_line(f, LONG_LINE_MAX, &line);
if (r < 0)
return r;
if (r == 0)
break;
- l = strstrip(line);
-
- if (startswith(l, field)) {
- l += strlen(field);
+ l = startswith(line, field);
+ if (l) {
l += strspn(l, WHITESPACE);
l[strcspn(l, WHITESPACE)] = 0;
@@ -470,7 +577,8 @@ static int get_process_id(pid_t pid, const char *field, uid_t *ret) {
return -EIO;
}
-int get_process_uid(pid_t pid, uid_t *ret) {
+int pid_get_uid(pid_t pid, uid_t *ret) {
+ assert(ret);
if (pid == 0 || pid == getpid_cached()) {
*ret = getuid();
@@ -480,6 +588,26 @@ int get_process_uid(pid_t pid, uid_t *ret) {
return get_process_id(pid, "Uid:", ret);
}
+int pidref_get_uid(const PidRef *pid, uid_t *ret) {
+ uid_t uid;
+ int r;
+
+ if (!pidref_is_set(pid))
+ return -ESRCH;
+
+ r = pid_get_uid(pid->pid, &uid);
+ if (r < 0)
+ return r;
+
+ r = pidref_verify(pid);
+ if (r < 0)
+ return r;
+
+ if (ret)
+ *ret = uid;
+ return 0;
+}
+
int get_process_gid(pid_t pid, gid_t *ret) {
if (pid == 0 || pid == getpid_cached()) {
@@ -606,6 +734,82 @@ int get_process_ppid(pid_t pid, pid_t *ret) {
return 0;
}
+int pid_get_start_time(pid_t pid, uint64_t *ret) {
+ _cleanup_free_ char *line = NULL;
+ const char *p;
+ int r;
+
+ assert(pid >= 0);
+
+ p = procfs_file_alloca(pid, "stat");
+ r = read_one_line_file(p, &line);
+ if (r == -ENOENT)
+ return -ESRCH;
+ if (r < 0)
+ return r;
+
+ /* Let's skip the pid and comm fields. The latter is enclosed in () but does not escape any () in its
+ * value, so let's skip over it manually */
+
+ p = strrchr(line, ')');
+ if (!p)
+ return -EIO;
+
+ p++;
+
+ unsigned long llu;
+
+ if (sscanf(p, " "
+ "%*c " /* state */
+ "%*u " /* ppid */
+ "%*u " /* pgrp */
+ "%*u " /* session */
+ "%*u " /* tty_nr */
+ "%*u " /* tpgid */
+ "%*u " /* flags */
+ "%*u " /* minflt */
+ "%*u " /* cminflt */
+ "%*u " /* majflt */
+ "%*u " /* cmajflt */
+ "%*u " /* utime */
+ "%*u " /* stime */
+ "%*u " /* cutime */
+ "%*u " /* cstime */
+ "%*i " /* priority */
+ "%*i " /* nice */
+ "%*u " /* num_threads */
+ "%*u " /* itrealvalue */
+ "%lu ", /* starttime */
+ &llu) != 1)
+ return -EIO;
+
+ if (ret)
+ *ret = llu;
+
+ return 0;
+}
+
+int pidref_get_start_time(const PidRef *pid, uint64_t *ret) {
+ uint64_t t;
+ int r;
+
+ if (!pidref_is_set(pid))
+ return -ESRCH;
+
+ r = pid_get_start_time(pid->pid, ret ? &t : NULL);
+ if (r < 0)
+ return r;
+
+ r = pidref_verify(pid);
+ if (r < 0)
+ return r;
+
+ if (ret)
+ *ret = t;
+
+ return 0;
+}
+
int get_process_umask(pid_t pid, mode_t *ret) {
_cleanup_free_ char *m = NULL;
const char *p;
@@ -670,7 +874,7 @@ int wait_for_terminate_and_check(const char *name, pid_t pid, WaitFlags flags) {
assert(pid > 1);
if (!name) {
- r = get_process_comm(pid, &buffer);
+ r = pid_get_comm(pid, &buffer);
if (r < 0)
log_debug_errno(r, "Failed to acquire process name of " PID_FMT ", ignoring: %m", pid);
else
@@ -824,7 +1028,7 @@ int getenv_for_pid(pid_t pid, const char *field, char **ret) {
_cleanup_fclose_ FILE *f = NULL;
char *value = NULL;
const char *path;
- size_t l, sum = 0;
+ size_t sum = 0;
int r;
assert(pid >= 0);
@@ -859,9 +1063,9 @@ int getenv_for_pid(pid_t pid, const char *field, char **ret) {
if (r < 0)
return r;
- l = strlen(field);
for (;;) {
_cleanup_free_ char *line = NULL;
+ const char *match;
if (sum > ENVIRONMENT_BLOCK_MAX) /* Give up searching eventually */
return -ENOBUFS;
@@ -874,8 +1078,9 @@ int getenv_for_pid(pid_t pid, const char *field, char **ret) {
sum += r;
- if (strneq(line, field, l) && line[l] == '=') {
- value = strdup(line + l + 1);
+ match = startswith(line, field);
+ if (match && *match == '=') {
+ value = strdup(match + 1);
if (!value)
return -ENOMEM;
@@ -892,6 +1097,9 @@ int pid_is_my_child(pid_t pid) {
pid_t ppid;
int r;
+ if (pid < 0)
+ return -ESRCH;
+
if (pid <= 1)
return false;
@@ -902,11 +1110,28 @@ int pid_is_my_child(pid_t pid) {
return ppid == getpid_cached();
}
-bool pid_is_unwaited(pid_t pid) {
+int pidref_is_my_child(const PidRef *pid) {
+ int r, result;
+
+ if (!pidref_is_set(pid))
+ return -ESRCH;
+
+ result = pid_is_my_child(pid->pid);
+ if (result < 0)
+ return result;
+
+ r = pidref_verify(pid);
+ if (r < 0)
+ return r;
+
+ return result;
+}
+
+int pid_is_unwaited(pid_t pid) {
/* Checks whether a PID is still valid at all, including a zombie */
if (pid < 0)
- return false;
+ return -ESRCH;
if (pid <= 1) /* If we or PID 1 would be dead and have been waited for, this code would not be running */
return true;
@@ -920,13 +1145,31 @@ bool pid_is_unwaited(pid_t pid) {
return errno != ESRCH;
}
-bool pid_is_alive(pid_t pid) {
+int pidref_is_unwaited(const PidRef *pid) {
+ int r;
+
+ if (!pidref_is_set(pid))
+ return -ESRCH;
+
+ if (pid->pid == 1 || pidref_is_self(pid))
+ return true;
+
+ r = pidref_kill(pid, 0);
+ if (r == -ESRCH)
+ return false;
+ if (r < 0)
+ return r;
+
+ return true;
+}
+
+int pid_is_alive(pid_t pid) {
int r;
/* Checks whether a PID is still valid and not a zombie */
if (pid < 0)
- return false;
+ return -ESRCH;
if (pid <= 1) /* If we or PID 1 would be a zombie, this code would not be running */
return true;
@@ -935,10 +1178,33 @@ bool pid_is_alive(pid_t pid) {
return true;
r = get_process_state(pid);
- if (IN_SET(r, -ESRCH, 'Z'))
+ if (r == -ESRCH)
return false;
+ if (r < 0)
+ return r;
- return true;
+ return r != 'Z';
+}
+
+int pidref_is_alive(const PidRef *pidref) {
+ int r, result;
+
+ if (!pidref_is_set(pidref))
+ return -ESRCH;
+
+ result = pid_is_alive(pidref->pid);
+ if (result < 0) {
+ assert(result != -ESRCH);
+ return result;
+ }
+
+ r = pidref_verify(pidref);
+ if (r == -ESRCH)
+ return false;
+ if (r < 0)
+ return r;
+
+ return result;
}
int pid_from_same_root_fs(pid_t pid) {
@@ -1057,7 +1323,10 @@ void valgrind_summary_hack(void) {
pid_t pid;
pid = raw_clone(SIGCHLD);
if (pid < 0)
- log_emergency_errno(errno, "Failed to fork off valgrind helper: %m");
+ log_struct_errno(
+ LOG_EMERG, errno,
+ "MESSAGE_ID=" SD_MESSAGE_VALGRIND_HELPER_FORK_STR,
+ LOG_MESSAGE( "Failed to fork off valgrind helper: %m"));
else if (pid == 0)
exit(EXIT_SUCCESS);
else {
@@ -1104,7 +1373,7 @@ pid_t getpid_cached(void) {
* https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c579f48edba88380635ab98cb612030e3ed8691e
*/
- __atomic_compare_exchange_n(
+ (void) __atomic_compare_exchange_n(
&cached_pid,
&current_value,
CACHED_PID_BUSY,
@@ -1159,6 +1428,51 @@ static void restore_sigsetp(sigset_t **ssp) {
(void) sigprocmask(SIG_SETMASK, *ssp, NULL);
}
+pid_t clone_with_nested_stack(int (*fn)(void *), int flags, void *userdata) {
+ size_t ps;
+ pid_t pid;
+ void *mystack;
+
+ /* A wrapper around glibc's clone() call that automatically sets up a "nested" stack. Only supports
+ * invocations without CLONE_VM, so that we can continue to use the parent's stack mapping.
+ *
+ * Note: glibc's clone() wrapper does not synchronize malloc() locks. This means that if the parent
+ * is threaded these locks will be in an undefined state in the child, and hence memory allocations
+ * are likely going to run into deadlocks. Hence: if you use this function make sure your parent is
+ * strictly single-threaded or your child never calls malloc(). */
+
+ assert((flags & (CLONE_VM|CLONE_PARENT_SETTID|CLONE_CHILD_SETTID|
+ CLONE_CHILD_CLEARTID|CLONE_SETTLS)) == 0);
+
+ /* We allocate some space on the stack to use as the stack for the child (hence "nested"). Note that
+ * the net effect is that the child will have the start of its stack inside the stack of the parent,
+ * but since they are a CoW copy of each other that's fine. We allocate one page-aligned page. But
+ * since we don't want to deal with differences between systems where the stack grows backwards or
+ * forwards we'll allocate one more and place the stack address in the middle. Except that we also
+ * want it page aligned, hence we'll allocate one page more. Makes 3. */
+
+ ps = page_size();
+ mystack = alloca(ps*3);
+ mystack = (uint8_t*) mystack + ps; /* move pointer one page ahead since stacks usually grow backwards */
+ mystack = (void*) ALIGN_TO((uintptr_t) mystack, ps); /* align to page size (moving things further ahead) */
+
+#if HAVE_CLONE
+ pid = clone(fn, mystack, flags, userdata);
+#else
+ pid = __clone2(fn, mystack, ps, flags, userdata);
+#endif
+ if (pid < 0)
+ return -errno;
+
+ return pid;
+}
+
+static int fork_flags_to_signal(ForkFlags flags) {
+ return (flags & FORK_DEATHSIG_SIGTERM) ? SIGTERM :
+ (flags & FORK_DEATHSIG_SIGINT) ? SIGINT :
+ SIGKILL;
+}
+
int safe_fork_full(
const char *name,
const int stdio_fds[3],
@@ -1170,9 +1484,12 @@ int safe_fork_full(
pid_t original_pid, pid;
sigset_t saved_ss, ss;
_unused_ _cleanup_(restore_sigsetp) sigset_t *saved_ssp = NULL;
- bool block_signals = false, block_all = false;
+ bool block_signals = false, block_all = false, intermediary = false;
int prio, r;
+ assert(!FLAGS_SET(flags, FORK_DETACH) || !ret_pid);
+ assert(!FLAGS_SET(flags, FORK_DETACH|FORK_WAIT));
+
/* A wrapper around fork(), that does a couple of important initializations in addition to mere forking. Always
* returns the child's PID in *ret_pid. Returns == 0 in the child, and > 0 in the parent. */
@@ -1185,9 +1502,10 @@ int safe_fork_full(
fflush(stderr); /* This one shouldn't be necessary, stderr should be unbuffered anyway, but let's better be safe than sorry */
}
- if (flags & (FORK_RESET_SIGNALS|FORK_DEATHSIG)) {
- /* We temporarily block all signals, so that the new child has them blocked initially. This way, we can
- * be sure that SIGTERMs are not lost we might send to the child. */
+ if (flags & (FORK_RESET_SIGNALS|FORK_DEATHSIG_SIGTERM|FORK_DEATHSIG_SIGINT)) {
+ /* We temporarily block all signals, so that the new child has them blocked initially. This
+ * way, we can be sure that SIGTERMs are not lost we might send to the child. (Note that for
+ * FORK_DEATHSIG_SIGKILL we don't bother, since it cannot be blocked anyway.) */
assert_se(sigfillset(&ss) >= 0);
block_signals = block_all = true;
@@ -1206,17 +1524,47 @@ int safe_fork_full(
saved_ssp = &saved_ss;
}
- if ((flags & (FORK_NEW_MOUNTNS|FORK_NEW_USERNS)) != 0)
+ if (FLAGS_SET(flags, FORK_DETACH)) {
+ assert(!FLAGS_SET(flags, FORK_WAIT));
+ assert(!ret_pid);
+
+ /* Fork off intermediary child if needed */
+
+ r = is_reaper_process();
+ if (r < 0)
+ return log_full_errno(prio, r, "Failed to determine if we are a reaper process: %m");
+
+ if (!r) {
+ /* Not a reaper process, hence do a double fork() so we are reparented to one */
+
+ pid = fork();
+ if (pid < 0)
+ return log_full_errno(prio, errno, "Failed to fork off '%s': %m", strna(name));
+ if (pid > 0) {
+ log_debug("Successfully forked off intermediary '%s' as PID " PID_FMT ".", strna(name), pid);
+ return 1; /* return in the parent */
+ }
+
+ intermediary = true;
+ }
+ }
+
+ if ((flags & (FORK_NEW_MOUNTNS|FORK_NEW_USERNS|FORK_NEW_NETNS)) != 0)
pid = raw_clone(SIGCHLD|
(FLAGS_SET(flags, FORK_NEW_MOUNTNS) ? CLONE_NEWNS : 0) |
- (FLAGS_SET(flags, FORK_NEW_USERNS) ? CLONE_NEWUSER : 0));
+ (FLAGS_SET(flags, FORK_NEW_USERNS) ? CLONE_NEWUSER : 0) |
+ (FLAGS_SET(flags, FORK_NEW_NETNS) ? CLONE_NEWNET : 0));
else
pid = fork();
if (pid < 0)
return log_full_errno(prio, errno, "Failed to fork off '%s': %m", strna(name));
if (pid > 0) {
- /* We are in the parent process */
+ /* If we are in the intermediary process, exit now */
+ if (intermediary)
+ _exit(EXIT_SUCCESS);
+
+ /* We are in the parent process */
log_debug("Successfully forked off '%s' as PID " PID_FMT ".", strna(name), pid);
if (flags & FORK_WAIT) {
@@ -1259,8 +1607,8 @@ int safe_fork_full(
r, "Failed to rename process, ignoring: %m");
}
- if (flags & (FORK_DEATHSIG|FORK_DEATHSIG_SIGINT))
- if (prctl(PR_SET_PDEATHSIG, (flags & FORK_DEATHSIG_SIGINT) ? SIGINT : SIGTERM) < 0) {
+ if (flags & (FORK_DEATHSIG_SIGTERM|FORK_DEATHSIG_SIGINT|FORK_DEATHSIG_SIGKILL))
+ if (prctl(PR_SET_PDEATHSIG, fork_flags_to_signal(flags)) < 0) {
log_full_errno(prio, errno, "Failed to set death signal: %m");
_exit(EXIT_FAILURE);
}
@@ -1285,7 +1633,7 @@ int safe_fork_full(
}
}
- if (flags & FORK_DEATHSIG) {
+ if (flags & (FORK_DEATHSIG_SIGTERM|FORK_DEATHSIG_SIGKILL|FORK_DEATHSIG_SIGINT)) {
pid_t ppid;
/* Let's see if the parent PID is still the one we started from? If not, then the parent
* already died by the time we set PR_SET_PDEATHSIG, hence let's emulate the effect */
@@ -1294,8 +1642,9 @@ int safe_fork_full(
if (ppid == 0)
/* Parent is in a different PID namespace. */;
else if (ppid != original_pid) {
- log_debug("Parent died early, raising SIGTERM.");
- (void) raise(SIGTERM);
+ int sig = fork_flags_to_signal(flags);
+ log_debug("Parent died early, raising %s.", signal_to_string(sig));
+ (void) raise(sig);
_exit(EXIT_FAILURE);
}
}
@@ -1328,6 +1677,9 @@ int safe_fork_full(
log_full_errno(prio, r, "Failed to rearrange stdio fds: %m");
_exit(EXIT_FAILURE);
}
+
+ /* Turn off O_NONBLOCK on the fdio fds, in case it was left on */
+ stdio_disable_nonblock();
} else {
r = make_null_stdio();
if (r < 0) {
@@ -1389,6 +1741,30 @@ int safe_fork_full(
return 0;
}
+int pidref_safe_fork_full(
+ const char *name,
+ const int stdio_fds[3],
+ const int except_fds[],
+ size_t n_except_fds,
+ ForkFlags flags,
+ PidRef *ret_pid) {
+
+ pid_t pid;
+ int r, q;
+
+ assert(!FLAGS_SET(flags, FORK_WAIT));
+
+ r = safe_fork_full(name, stdio_fds, except_fds, n_except_fds, flags, &pid);
+ if (r < 0)
+ return r;
+
+ q = pidref_set_pid(ret_pid, pid);
+ if (q < 0) /* Let's not fail for this, no matter what, the process exists after all, and that's key */
+ *ret_pid = PIDREF_MAKE_FROM_PID(pid);
+
+ return r;
+}
+
int namespace_fork(
const char *outer_name,
const char *inner_name,
@@ -1411,7 +1787,7 @@ int namespace_fork(
r = safe_fork_full(outer_name,
NULL,
except_fds, n_except_fds,
- (flags|FORK_DEATHSIG) & ~(FORK_REOPEN_LOG|FORK_NEW_MOUNTNS|FORK_MOUNTNS_SLAVE), ret_pid);
+ (flags|FORK_DEATHSIG_SIGINT|FORK_DEATHSIG_SIGTERM|FORK_DEATHSIG_SIGKILL) & ~(FORK_REOPEN_LOG|FORK_NEW_MOUNTNS|FORK_MOUNTNS_SLAVE), ret_pid);
if (r < 0)
return r;
if (r == 0) {
@@ -1633,6 +2009,212 @@ int get_process_threads(pid_t pid) {
return n;
}
+int is_reaper_process(void) {
+ int b = 0;
+
+ /* Checks if we are running in a reaper process, i.e. if we are expected to deal with processes
+ * reparented to us. This simply checks if we are PID 1 or if PR_SET_CHILD_SUBREAPER was called. */
+
+ if (getpid_cached() == 1)
+ return true;
+
+ if (prctl(PR_GET_CHILD_SUBREAPER, (unsigned long) &b, 0UL, 0UL, 0UL) < 0)
+ return -errno;
+
+ return b != 0;
+}
+
+int make_reaper_process(bool b) {
+
+ if (getpid_cached() == 1) {
+
+ if (!b)
+ return -EINVAL;
+
+ return 0;
+ }
+
+ /* Some prctl()s insist that all 5 arguments are specified, others do not. Let's always specify all,
+ * to avoid any ambiguities */
+ if (prctl(PR_SET_CHILD_SUBREAPER, (unsigned long) b, 0UL, 0UL, 0UL) < 0)
+ return -errno;
+
+ return 0;
+}
+
+DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(posix_spawnattr_t*, posix_spawnattr_destroy, NULL);
+
+int posix_spawn_wrapper(
+ const char *path,
+ char * const *argv,
+ char * const *envp,
+ const char *cgroup,
+ PidRef *ret_pidref) {
+
+ short flags = POSIX_SPAWN_SETSIGMASK|POSIX_SPAWN_SETSIGDEF;
+ posix_spawnattr_t attr;
+ sigset_t mask;
+ int r;
+
+ /* Forks and invokes 'path' with 'argv' and 'envp' using CLONE_VM and CLONE_VFORK, which means the
+ * caller will be blocked until the child either exits or exec's. The memory of the child will be
+ * fully shared with the memory of the parent, so that there are no copy-on-write or memory.max
+ * issues.
+ *
+ * Also, move the newly-created process into 'cgroup' through POSIX_SPAWN_SETCGROUP (clone3())
+ * if available. Note that CLONE_INTO_CGROUP is only supported on cgroup v2.
+ * returns 1: We're already in the right cgroup
+ * 0: 'cgroup' not specified or POSIX_SPAWN_SETCGROUP is not supported. The caller
+ * needs to call 'cg_attach' on their own */
+
+ assert(path);
+ assert(argv);
+ assert(ret_pidref);
+
+ assert_se(sigfillset(&mask) >= 0);
+
+ r = posix_spawnattr_init(&attr);
+ if (r != 0)
+ return -r; /* These functions return a positive errno on failure */
+
+ /* Initialization needs to succeed before we can set up a destructor. */
+ _unused_ _cleanup_(posix_spawnattr_destroyp) posix_spawnattr_t *attr_destructor = &attr;
+
+#if HAVE_PIDFD_SPAWN
+ _cleanup_close_ int cgroup_fd = -EBADF;
+
+ if (cgroup) {
+ _cleanup_free_ char *resolved_cgroup = NULL;
+
+ r = cg_get_path_and_check(
+ SYSTEMD_CGROUP_CONTROLLER,
+ cgroup,
+ /* suffix= */ NULL,
+ &resolved_cgroup);
+ if (r < 0)
+ return r;
+
+ cgroup_fd = open(resolved_cgroup, O_PATH|O_DIRECTORY|O_CLOEXEC);
+ if (cgroup_fd < 0)
+ return -errno;
+
+ r = posix_spawnattr_setcgroup_np(&attr, cgroup_fd);
+ if (r != 0)
+ return -r;
+
+ flags |= POSIX_SPAWN_SETCGROUP;
+ }
+#endif
+
+ r = posix_spawnattr_setflags(&attr, flags);
+ if (r != 0)
+ return -r;
+ r = posix_spawnattr_setsigmask(&attr, &mask);
+ if (r != 0)
+ return -r;
+
+#if HAVE_PIDFD_SPAWN
+ _cleanup_close_ int pidfd = -EBADF;
+
+ r = pidfd_spawn(&pidfd, path, NULL, &attr, argv, envp);
+ if (r == 0) {
+ r = pidref_set_pidfd_consume(ret_pidref, TAKE_FD(pidfd));
+ if (r < 0)
+ return r;
+
+ return FLAGS_SET(flags, POSIX_SPAWN_SETCGROUP);
+ }
+ if (!(ERRNO_IS_NOT_SUPPORTED(r) || ERRNO_IS_PRIVILEGE(r)))
+ return -r;
+
+ /* Compiled on a newer host, or seccomp&friends blocking clone3()? Fallback, but need to change the
+ * flags to remove the cgroup one, which is what redirects to clone3() */
+ flags &= ~POSIX_SPAWN_SETCGROUP;
+ r = posix_spawnattr_setflags(&attr, flags);
+ if (r != 0)
+ return -r;
+#endif
+
+ pid_t pid;
+ r = posix_spawn(&pid, path, NULL, &attr, argv, envp);
+ if (r != 0)
+ return -r;
+
+ r = pidref_set_pid(ret_pidref, pid);
+ if (r < 0)
+ return r;
+
+ return 0; /* We did not use CLONE_INTO_CGROUP so return 0, the caller will have to move the child */
+}
+
+int proc_dir_open(DIR **ret) {
+ DIR *d;
+
+ assert(ret);
+
+ d = opendir("/proc");
+ if (!d)
+ return -errno;
+
+ *ret = d;
+ return 0;
+}
+
+int proc_dir_read(DIR *d, pid_t *ret) {
+ assert(d);
+
+ for (;;) {
+ struct dirent *de;
+
+ errno = 0;
+ de = readdir_no_dot(d);
+ if (!de) {
+ if (errno != 0)
+ return -errno;
+
+ break;
+ }
+
+ if (!IN_SET(de->d_type, DT_DIR, DT_UNKNOWN))
+ continue;
+
+ if (parse_pid(de->d_name, ret) >= 0)
+ return 1;
+ }
+
+ if (ret)
+ *ret = 0;
+ return 0;
+}
+
+int proc_dir_read_pidref(DIR *d, PidRef *ret) {
+ int r;
+
+ assert(d);
+
+ for (;;) {
+ pid_t pid;
+
+ r = proc_dir_read(d, &pid);
+ if (r < 0)
+ return r;
+ if (r == 0)
+ break;
+
+ r = pidref_set_pid(ret, pid);
+ if (r == -ESRCH) /* gone by now? skip it */
+ continue;
+ if (r < 0)
+ return r;
+
+ return 1;
+ }
+
+ if (ret)
+ *ret = PIDREF_NULL;
+ return 0;
+}
+
static const char *const sigchld_code_table[] = {
[CLD_EXITED] = "exited",
[CLD_KILLED] = "killed",
diff --git a/src/libnm-systemd-shared/src/basic/process-util.h b/src/libnm-systemd-shared/src/basic/process-util.h
index 5cf5c7c6ec..a75c44cfad 100644
--- a/src/libnm-systemd-shared/src/basic/process-util.h
+++ b/src/libnm-systemd-shared/src/basic/process-util.h
@@ -14,6 +14,7 @@
#include "alloc-util.h"
#include "format-util.h"
#include "macro.h"
+#include "namespace-util.h"
#include "time-util.h"
#define procfs_file_alloca(pid, field) \
@@ -38,21 +39,29 @@ typedef enum ProcessCmdlineFlags {
PROCESS_CMDLINE_QUOTE_POSIX = 1 << 3,
} ProcessCmdlineFlags;
-int get_process_comm(pid_t pid, char **ret);
-int get_process_cmdline(pid_t pid, size_t max_columns, ProcessCmdlineFlags flags, char **ret);
-int get_process_cmdline_strv(pid_t pid, ProcessCmdlineFlags flags, char ***ret);
+int pid_get_comm(pid_t pid, char **ret);
+int pidref_get_comm(const PidRef *pid, char **ret);
+int pid_get_cmdline(pid_t pid, size_t max_columns, ProcessCmdlineFlags flags, char **ret);
+int pidref_get_cmdline(const PidRef *pid, size_t max_columns, ProcessCmdlineFlags flags, char **ret);
+int pid_get_cmdline_strv(pid_t pid, ProcessCmdlineFlags flags, char ***ret);
+int pidref_get_cmdline_strv(const PidRef *pid, ProcessCmdlineFlags flags, char ***ret);
int get_process_exe(pid_t pid, char **ret);
-int get_process_uid(pid_t pid, uid_t *ret);
+int pid_get_uid(pid_t pid, uid_t *ret);
+int pidref_get_uid(const PidRef *pid, uid_t *ret);
int get_process_gid(pid_t pid, gid_t *ret);
int get_process_capeff(pid_t pid, char **ret);
int get_process_cwd(pid_t pid, char **ret);
int get_process_root(pid_t pid, char **ret);
int get_process_environ(pid_t pid, char **ret);
int get_process_ppid(pid_t pid, pid_t *ret);
+int pid_get_start_time(pid_t pid, uint64_t *ret);
+int pidref_get_start_time(const PidRef* pid, uint64_t *ret);
int get_process_umask(pid_t pid, mode_t *ret);
int container_get_leader(const char *machine, pid_t *pid);
+int namespace_get_leader(pid_t pid, NamespaceType type, pid_t *ret);
+
int wait_for_terminate(pid_t pid, siginfo_t *status);
typedef enum WaitFlags {
@@ -74,13 +83,17 @@ void sigkill_nowaitp(pid_t *pid);
int kill_and_sigcont(pid_t pid, int sig);
-int is_kernel_thread(pid_t pid);
+int pid_is_kernel_thread(pid_t pid);
+int pidref_is_kernel_thread(const PidRef *pid);
int getenv_for_pid(pid_t pid, const char *field, char **_value);
-bool pid_is_alive(pid_t pid);
-bool pid_is_unwaited(pid_t pid);
+int pid_is_alive(pid_t pid);
+int pidref_is_alive(const PidRef *pidref);
+int pid_is_unwaited(pid_t pid);
+int pidref_is_unwaited(const PidRef *pidref);
int pid_is_my_child(pid_t pid);
+int pidref_is_my_child(const PidRef *pidref);
int pid_from_same_root_fs(pid_t pid);
bool is_main_thread(void);
@@ -141,24 +154,34 @@ void reset_cached_pid(void);
int must_be_root(void);
+pid_t clone_with_nested_stack(int (*fn)(void *), int flags, void *userdata);
+
+/* 💣 Note that FORK_NEW_USERNS, FORK_NEW_MOUNTNS, or FORK_NEW_NETNS should not be called in threaded
+ * programs, because they cause us to use raw_clone() which does not synchronize the glibc malloc() locks,
+ * and thus will cause deadlocks if the parent uses threads and the child does memory allocations. Hence: if
+ * the parent is threaded these flags may not be used. These flags cannot be used if the parent uses threads
+ * or the child uses malloc(). 💣 */
typedef enum ForkFlags {
FORK_RESET_SIGNALS = 1 << 0, /* Reset all signal handlers and signal mask */
FORK_CLOSE_ALL_FDS = 1 << 1, /* Close all open file descriptors in the child, except for 0,1,2 */
- FORK_DEATHSIG = 1 << 2, /* Set PR_DEATHSIG in the child to SIGTERM */
+ FORK_DEATHSIG_SIGTERM = 1 << 2, /* Set PR_DEATHSIG in the child to SIGTERM */
FORK_DEATHSIG_SIGINT = 1 << 3, /* Set PR_DEATHSIG in the child to SIGINT */
- FORK_REARRANGE_STDIO = 1 << 4, /* Connect 0,1,2 to specified fds or /dev/null */
- FORK_REOPEN_LOG = 1 << 5, /* Reopen log connection */
- FORK_LOG = 1 << 6, /* Log above LOG_DEBUG log level about failures */
- FORK_WAIT = 1 << 7, /* Wait until child exited */
- FORK_NEW_MOUNTNS = 1 << 8, /* Run child in its own mount namespace */
- FORK_MOUNTNS_SLAVE = 1 << 9, /* Make child's mount namespace MS_SLAVE */
- FORK_PRIVATE_TMP = 1 << 10, /* Mount new /tmp/ in the child (combine with FORK_NEW_MOUNTNS!) */
- FORK_RLIMIT_NOFILE_SAFE = 1 << 11, /* Set RLIMIT_NOFILE soft limit to 1K for select() compat */
- FORK_STDOUT_TO_STDERR = 1 << 12, /* Make stdout a copy of stderr */
- FORK_FLUSH_STDIO = 1 << 13, /* fflush() stdout (and stderr) before forking */
- FORK_NEW_USERNS = 1 << 14, /* Run child in its own user namespace */
- FORK_CLOEXEC_OFF = 1 << 15, /* In the child: turn off O_CLOEXEC on all fds in except_fds[] */
- FORK_KEEP_NOTIFY_SOCKET = 1 << 16, /* Unless this specified, $NOTIFY_SOCKET will be unset. */
+ FORK_DEATHSIG_SIGKILL = 1 << 4, /* Set PR_DEATHSIG in the child to SIGKILL */
+ FORK_REARRANGE_STDIO = 1 << 5, /* Connect 0,1,2 to specified fds or /dev/null */
+ FORK_REOPEN_LOG = 1 << 6, /* Reopen log connection */
+ FORK_LOG = 1 << 7, /* Log above LOG_DEBUG log level about failures */
+ FORK_WAIT = 1 << 8, /* Wait until child exited */
+ FORK_NEW_MOUNTNS = 1 << 9, /* Run child in its own mount namespace 💣 DO NOT USE IN THREADED PROGRAMS! 💣 */
+ FORK_MOUNTNS_SLAVE = 1 << 10, /* Make child's mount namespace MS_SLAVE */
+ FORK_PRIVATE_TMP = 1 << 11, /* Mount new /tmp/ in the child (combine with FORK_NEW_MOUNTNS!) */
+ FORK_RLIMIT_NOFILE_SAFE = 1 << 12, /* Set RLIMIT_NOFILE soft limit to 1K for select() compat */
+ FORK_STDOUT_TO_STDERR = 1 << 13, /* Make stdout a copy of stderr */
+ FORK_FLUSH_STDIO = 1 << 14, /* fflush() stdout (and stderr) before forking */
+ FORK_NEW_USERNS = 1 << 15, /* Run child in its own user namespace 💣 DO NOT USE IN THREADED PROGRAMS! 💣 */
+ FORK_CLOEXEC_OFF = 1 << 16, /* In the child: turn off O_CLOEXEC on all fds in except_fds[] */
+ FORK_KEEP_NOTIFY_SOCKET = 1 << 17, /* Unless this specified, $NOTIFY_SOCKET will be unset. */
+ FORK_DETACH = 1 << 18, /* Double fork if needed to ensure PID1/subreaper is parent */
+ FORK_NEW_NETNS = 1 << 19, /* Run child in its own network namespace 💣 DO NOT USE IN THREADED PROGRAMS! 💣 */
} ForkFlags;
int safe_fork_full(
@@ -173,6 +196,18 @@ static inline int safe_fork(const char *name, ForkFlags flags, pid_t *ret_pid) {
return safe_fork_full(name, NULL, NULL, 0, flags, ret_pid);
}
+int pidref_safe_fork_full(
+ const char *name,
+ const int stdio_fds[3],
+ const int except_fds[],
+ size_t n_except_fds,
+ ForkFlags flags,
+ PidRef *ret_pid);
+
+static inline int pidref_safe_fork(const char *name, ForkFlags flags, PidRef *ret_pid) {
+ return pidref_safe_fork_full(name, NULL, NULL, 0, flags, ret_pid);
+}
+
int namespace_fork(const char *outer_name, const char *inner_name, const int except_fds[], size_t n_except_fds, ForkFlags flags, int pidns_fd, int mntns_fd, int netns_fd, int userns_fd, int root_fd, pid_t *ret_pid);
int set_oom_score_adjust(int value);
@@ -201,3 +236,17 @@ int setpriority_closest(int priority);
_noreturn_ void freeze(void);
int get_process_threads(pid_t pid);
+
+int is_reaper_process(void);
+int make_reaper_process(bool b);
+
+int posix_spawn_wrapper(
+ const char *path,
+ char * const *argv,
+ char * const *envp,
+ const char *cgroup,
+ PidRef *ret_pidref);
+
+int proc_dir_open(DIR **ret);
+int proc_dir_read(DIR *d, pid_t *ret);
+int proc_dir_read_pidref(DIR *d, PidRef *ret);
diff --git a/src/libnm-systemd-shared/src/basic/random-util.c b/src/libnm-systemd-shared/src/basic/random-util.c
index 934d5e2531..c7b9551646 100644
--- a/src/libnm-systemd-shared/src/basic/random-util.c
+++ b/src/libnm-systemd-shared/src/basic/random-util.c
@@ -6,7 +6,6 @@
#include <errno.h>
#include <fcntl.h>
#include <linux/random.h>
-#include <pthread.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
@@ -28,6 +27,7 @@
#include "missing_syscall.h"
#include "missing_threads.h"
#include "parse-util.h"
+#include "process-util.h"
#include "random-util.h"
#include "sha256.h"
#include "time-util.h"
@@ -50,7 +50,7 @@ static void fallback_random_bytes(void *p, size_t n) {
.call_id = fallback_counter++,
.stamp_mono = now(CLOCK_MONOTONIC),
.stamp_real = now(CLOCK_REALTIME),
- .pid = getpid(),
+ .pid = getpid_cached(),
.tid = gettid(),
};
@@ -226,7 +226,7 @@ int random_write_entropy(int fd, const void *seed, size_t size, bool credit) {
if (ioctl(fd, RNDADDENTROPY, info) < 0)
return -errno;
} else {
- r = loop_write(fd, seed, size, false);
+ r = loop_write(fd, seed, size);
if (r < 0)
return r;
}
diff --git a/src/libnm-systemd-shared/src/basic/ratelimit.h b/src/libnm-systemd-shared/src/basic/ratelimit.h
index bb7160a895..492ea3b48d 100644
--- a/src/libnm-systemd-shared/src/basic/ratelimit.h
+++ b/src/libnm-systemd-shared/src/basic/ratelimit.h
@@ -12,6 +12,8 @@ typedef struct RateLimit {
usec_t begin;
} RateLimit;
+#define RATELIMIT_OFF (const RateLimit) { .interval = USEC_INFINITY, .burst = UINT_MAX }
+
static inline void ratelimit_reset(RateLimit *rl) {
rl->num = rl->begin = 0;
}
diff --git a/src/libnm-systemd-shared/src/basic/signal-util.c b/src/libnm-systemd-shared/src/basic/signal-util.c
index 270d397d50..4354edca7e 100644
--- a/src/libnm-systemd-shared/src/basic/signal-util.c
+++ b/src/libnm-systemd-shared/src/basic/signal-util.c
@@ -123,39 +123,39 @@ int sigprocmask_many(int how, sigset_t *old, ...) {
}
static const char *const static_signal_table[] = {
- [SIGHUP] = "HUP",
- [SIGINT] = "INT",
- [SIGQUIT] = "QUIT",
- [SIGILL] = "ILL",
- [SIGTRAP] = "TRAP",
- [SIGABRT] = "ABRT",
- [SIGBUS] = "BUS",
- [SIGFPE] = "FPE",
- [SIGKILL] = "KILL",
- [SIGUSR1] = "USR1",
- [SIGSEGV] = "SEGV",
- [SIGUSR2] = "USR2",
- [SIGPIPE] = "PIPE",
- [SIGALRM] = "ALRM",
- [SIGTERM] = "TERM",
+ [SIGHUP] = "HUP",
+ [SIGINT] = "INT",
+ [SIGQUIT] = "QUIT",
+ [SIGILL] = "ILL",
+ [SIGTRAP] = "TRAP",
+ [SIGABRT] = "ABRT",
+ [SIGBUS] = "BUS",
+ [SIGFPE] = "FPE",
+ [SIGKILL] = "KILL",
+ [SIGUSR1] = "USR1",
+ [SIGSEGV] = "SEGV",
+ [SIGUSR2] = "USR2",
+ [SIGPIPE] = "PIPE",
+ [SIGALRM] = "ALRM",
+ [SIGTERM] = "TERM",
#ifdef SIGSTKFLT
[SIGSTKFLT] = "STKFLT", /* Linux on SPARC doesn't know SIGSTKFLT */
#endif
- [SIGCHLD] = "CHLD",
- [SIGCONT] = "CONT",
- [SIGSTOP] = "STOP",
- [SIGTSTP] = "TSTP",
- [SIGTTIN] = "TTIN",
- [SIGTTOU] = "TTOU",
- [SIGURG] = "URG",
- [SIGXCPU] = "XCPU",
- [SIGXFSZ] = "XFSZ",
+ [SIGCHLD] = "CHLD",
+ [SIGCONT] = "CONT",
+ [SIGSTOP] = "STOP",
+ [SIGTSTP] = "TSTP",
+ [SIGTTIN] = "TTIN",
+ [SIGTTOU] = "TTOU",
+ [SIGURG] = "URG",
+ [SIGXCPU] = "XCPU",
+ [SIGXFSZ] = "XFSZ",
[SIGVTALRM] = "VTALRM",
- [SIGPROF] = "PROF",
- [SIGWINCH] = "WINCH",
- [SIGIO] = "IO",
- [SIGPWR] = "PWR",
- [SIGSYS] = "SYS"
+ [SIGPROF] = "PROF",
+ [SIGWINCH] = "WINCH",
+ [SIGIO] = "IO",
+ [SIGPWR] = "PWR",
+ [SIGSYS] = "SYS"
};
DEFINE_PRIVATE_STRING_TABLE_LOOKUP(static_signal, int);
diff --git a/src/libnm-systemd-shared/src/basic/siphash24.h b/src/libnm-systemd-shared/src/basic/siphash24.h
index e46f3cc5be..f9867630af 100644
--- a/src/libnm-systemd-shared/src/basic/siphash24.h
+++ b/src/libnm-systemd-shared/src/basic/siphash24.h
@@ -52,15 +52,16 @@ siphash24 (const void *in, size_t inlen, const uint8_t k[16])
void siphash24_init(struct siphash *state, const uint8_t k[static 16]);
void siphash24_compress(const void *in, size_t inlen, struct siphash *state);
#define siphash24_compress_byte(byte, state) siphash24_compress((const uint8_t[]) { (byte) }, 1, (state))
+#define siphash24_compress_typesafe(in, state) \
+ siphash24_compress(&(in), sizeof(typeof(in)), (state))
static inline void siphash24_compress_boolean(bool in, struct siphash *state) {
- uint8_t i = in;
-
- siphash24_compress(&i, sizeof i, state);
+ siphash24_compress_byte(in, state);
}
static inline void siphash24_compress_usec_t(usec_t in, struct siphash *state) {
- siphash24_compress(&in, sizeof in, state);
+ uint64_t u = htole64(in);
+ siphash24_compress_typesafe(u, state);
}
static inline void siphash24_compress_safe(const void *in, size_t inlen, struct siphash *state) {
diff --git a/src/libnm-systemd-shared/src/basic/socket-util.c b/src/libnm-systemd-shared/src/basic/socket-util.c
index 9b411e07a2..df3e2c17c2 100644
--- a/src/libnm-systemd-shared/src/basic/socket-util.c
+++ b/src/libnm-systemd-shared/src/basic/socket-util.c
@@ -46,6 +46,11 @@
# define IDN_FLAGS 0
#endif
+/* From the kernel's include/net/scm.h */
+#ifndef SCM_MAX_FD
+# define SCM_MAX_FD 253
+#endif
+
static const char* const socket_address_type_table[] = {
[SOCK_STREAM] = "Stream",
[SOCK_DGRAM] = "Datagram",
@@ -547,7 +552,7 @@ int sockaddr_pretty(
} else {
if (path[path_len - 1] == '\0')
/* We expect a terminating NUL and don't print it */
- path_len --;
+ path_len--;
p = cescape_length(path, path_len);
}
@@ -628,28 +633,33 @@ int getsockname_pretty(int fd, char **ret) {
return sockaddr_pretty(&sa.sa, salen, false, true, ret);
}
-int socknameinfo_pretty(union sockaddr_union *sa, socklen_t salen, char **_ret) {
+int socknameinfo_pretty(const struct sockaddr *sa, socklen_t salen, char **ret) {
+ char host[NI_MAXHOST];
int r;
- char host[NI_MAXHOST], *ret;
- assert(_ret);
+ assert(sa);
+ assert(salen > sizeof(sa_family_t));
- r = getnameinfo(&sa->sa, salen, host, sizeof(host), NULL, 0, IDN_FLAGS);
+ r = getnameinfo(sa, salen, host, sizeof(host), /* service= */ NULL, /* service_len= */ 0, IDN_FLAGS);
if (r != 0) {
- int saved_errno = errno;
+ if (r == EAI_MEMORY)
+ return log_oom_debug();
+ if (r == EAI_SYSTEM)
+ log_debug_errno(errno, "getnameinfo() failed, ignoring: %m");
+ else
+ log_debug("getnameinfo() failed, ignoring: %s", gai_strerror(r));
- r = sockaddr_pretty(&sa->sa, salen, true, true, &ret);
- if (r < 0)
- return r;
+ return sockaddr_pretty(sa, salen, /* translate_ipv6= */ true, /* include_port= */ true, ret);
+ }
- log_debug_errno(saved_errno, "getnameinfo(%s) failed: %m", ret);
- } else {
- ret = strdup(host);
- if (!ret)
+ if (ret) {
+ char *copy = strdup(host);
+ if (!copy)
return -ENOMEM;
+
+ *ret = copy;
}
- *_ret = ret;
return 0;
}
@@ -874,13 +884,11 @@ bool address_label_valid(const char *p) {
int getpeercred(int fd, struct ucred *ucred) {
socklen_t n = sizeof(struct ucred);
struct ucred u;
- int r;
assert(fd >= 0);
assert(ucred);
- r = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &u, &n);
- if (r < 0)
+ if (getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &u, &n) < 0)
return -errno;
if (n != sizeof(struct ucred))
@@ -909,8 +917,10 @@ int getpeersec(int fd, char **ret) {
if (!s)
return -ENOMEM;
- if (getsockopt(fd, SOL_SOCKET, SO_PEERSEC, s, &n) >= 0)
+ if (getsockopt(fd, SOL_SOCKET, SO_PEERSEC, s, &n) >= 0) {
+ s[n] = 0;
break;
+ }
if (errno != ERANGE)
return -errno;
@@ -927,12 +937,16 @@ int getpeersec(int fd, char **ret) {
}
int getpeergroups(int fd, gid_t **ret) {
- socklen_t n = sizeof(gid_t) * 64;
+ socklen_t n = sizeof(gid_t) * 64U;
_cleanup_free_ gid_t *d = NULL;
assert(fd >= 0);
assert(ret);
+ long ngroups_max = sysconf(_SC_NGROUPS_MAX);
+ if (ngroups_max > 0)
+ n = MAX(n, sizeof(gid_t) * (socklen_t) ngroups_max);
+
for (;;) {
d = malloc(n);
if (!d)
@@ -950,7 +964,7 @@ int getpeergroups(int fd, gid_t **ret) {
assert_se(n % sizeof(gid_t) == 0);
n /= sizeof(gid_t);
- if ((socklen_t) (int) n != n)
+ if (n > INT_MAX)
return -E2BIG;
*ret = TAKE_PTR(d);
@@ -958,6 +972,68 @@ int getpeergroups(int fd, gid_t **ret) {
return (int) n;
}
+int getpeerpidfd(int fd) {
+ socklen_t n = sizeof(int);
+ int pidfd = -EBADF;
+
+ assert(fd >= 0);
+
+ if (getsockopt(fd, SOL_SOCKET, SO_PEERPIDFD, &pidfd, &n) < 0)
+ return -errno;
+
+ if (n != sizeof(int))
+ return -EIO;
+
+ return pidfd;
+}
+
+ssize_t send_many_fds_iov_sa(
+ int transport_fd,
+ int *fds_array, size_t n_fds_array,
+ const struct iovec *iov, size_t iovlen,
+ const struct sockaddr *sa, socklen_t len,
+ int flags) {
+
+ _cleanup_free_ struct cmsghdr *cmsg = NULL;
+ struct msghdr mh = {
+ .msg_name = (struct sockaddr*) sa,
+ .msg_namelen = len,
+ .msg_iov = (struct iovec *)iov,
+ .msg_iovlen = iovlen,
+ };
+ ssize_t k;
+
+ assert(transport_fd >= 0);
+ assert(fds_array || n_fds_array == 0);
+
+ /* The kernel will reject sending more than SCM_MAX_FD FDs at once */
+ if (n_fds_array > SCM_MAX_FD)
+ return -E2BIG;
+
+ /* We need either an FD array or data to send. If there's nothing, return an error. */
+ if (n_fds_array == 0 && !iov)
+ return -EINVAL;
+
+ if (n_fds_array > 0) {
+ mh.msg_controllen = CMSG_SPACE(sizeof(int) * n_fds_array);
+ mh.msg_control = cmsg = malloc(mh.msg_controllen);
+ if (!cmsg)
+ return -ENOMEM;
+
+ *cmsg = (struct cmsghdr) {
+ .cmsg_len = CMSG_LEN(sizeof(int) * n_fds_array),
+ .cmsg_level = SOL_SOCKET,
+ .cmsg_type = SCM_RIGHTS,
+ };
+ memcpy(CMSG_DATA(cmsg), fds_array, sizeof(int) * n_fds_array);
+ }
+ k = sendmsg(transport_fd, &mh, MSG_NOSIGNAL | flags);
+ if (k < 0)
+ return (ssize_t) -errno;
+
+ return k;
+}
+
ssize_t send_one_fd_iov_sa(
int transport_fd,
int fd,
@@ -1013,6 +1089,78 @@ int send_one_fd_sa(
return (int) send_one_fd_iov_sa(transport_fd, fd, NULL, 0, sa, len, flags);
}
+ssize_t receive_many_fds_iov(
+ int transport_fd,
+ struct iovec *iov, size_t iovlen,
+ int **ret_fds_array, size_t *ret_n_fds_array,
+ int flags) {
+
+ CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(int) * SCM_MAX_FD)) control;
+ struct msghdr mh = {
+ .msg_control = &control,
+ .msg_controllen = sizeof(control),
+ .msg_iov = iov,
+ .msg_iovlen = iovlen,
+ };
+ _cleanup_free_ int *fds_array = NULL;
+ size_t n_fds_array = 0;
+ struct cmsghdr *cmsg;
+ ssize_t k;
+
+ assert(transport_fd >= 0);
+ assert(ret_fds_array);
+ assert(ret_n_fds_array);
+
+ /*
+ * Receive many FDs via @transport_fd. We don't care for the transport-type. We retrieve all the FDs
+ * at once. This is best used in combination with send_many_fds().
+ */
+
+ k = recvmsg_safe(transport_fd, &mh, MSG_CMSG_CLOEXEC | flags);
+ if (k < 0)
+ return k;
+
+ CMSG_FOREACH(cmsg, &mh)
+ if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) {
+ size_t n = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int);
+
+ fds_array = GREEDY_REALLOC(fds_array, n_fds_array + n);
+ if (!fds_array) {
+ cmsg_close_all(&mh);
+ return -ENOMEM;
+ }
+
+ memcpy(fds_array + n_fds_array, CMSG_TYPED_DATA(cmsg, int), sizeof(int) * n);
+ n_fds_array += n;
+ }
+
+ if (n_fds_array == 0) {
+ cmsg_close_all(&mh);
+
+ /* If didn't receive an FD or any data, return an error. */
+ if (k == 0)
+ return -EIO;
+ }
+
+ *ret_fds_array = TAKE_PTR(fds_array);
+ *ret_n_fds_array = n_fds_array;
+
+ return k;
+}
+
+int receive_many_fds(int transport_fd, int **ret_fds_array, size_t *ret_n_fds_array, int flags) {
+ ssize_t k;
+
+ k = receive_many_fds_iov(transport_fd, NULL, 0, ret_fds_array, ret_n_fds_array, flags);
+ if (k == 0)
+ return 0;
+
+ /* k must be negative, since receive_many_fds_iov() only returns a positive value if data was received
+ * through the iov. */
+ assert(k < 0);
+ return (int) k;
+}
+
ssize_t receive_one_fd_iov(
int transport_fd,
struct iovec *iov, size_t iovlen,
@@ -1189,7 +1337,7 @@ void* cmsg_find_and_copy_data(struct msghdr *mh, int level, int type, void *buf,
assert(buf_len > 0);
/* This is similar to cmsg_find_data(), but copy the found data to buf. This should be typically used
- * when reading possibly unaligned data such as timestamp, as time_t is 64bit and size_t is 32bit on
+ * when reading possibly unaligned data such as timestamp, as time_t is 64-bit and size_t is 32-bit on
* RISCV32. See issue #27241. */
cmsg = cmsg_find(mh, level, type, CMSG_LEN(buf_len));
@@ -1532,6 +1680,50 @@ int socket_address_parse_unix(SocketAddress *ret_address, const char *s) {
}
#if 0 /* NM_IGNORED */
+int vsock_parse_port(const char *s, unsigned *ret) {
+ int r;
+
+ assert(ret);
+
+ if (!s)
+ return -EINVAL;
+
+ unsigned u;
+ r = safe_atou(s, &u);
+ if (r < 0)
+ return r;
+
+ /* Port 0 is apparently valid and not special in AF_VSOCK (unlike on IP). But VMADDR_PORT_ANY
+ * (UINT32_MAX) is. Hence refuse that. */
+
+ if (u == VMADDR_PORT_ANY)
+ return -EINVAL;
+
+ *ret = u;
+ return 0;
+}
+
+int vsock_parse_cid(const char *s, unsigned *ret) {
+ assert(ret);
+
+ if (!s)
+ return -EINVAL;
+
+ /* Parsed an AF_VSOCK "CID". This is a 32bit entity, and the usual type is "unsigned". We recognize
+ * the three special CIDs as strings, and otherwise parse the numeric CIDs. */
+
+ if (streq(s, "hypervisor"))
+ *ret = VMADDR_CID_HYPERVISOR;
+ else if (streq(s, "local"))
+ *ret = VMADDR_CID_LOCAL;
+ else if (streq(s, "host"))
+ *ret = VMADDR_CID_HOST;
+ else
+ return safe_atou(s, ret);
+
+ return 0;
+}
+
int socket_address_parse_vsock(SocketAddress *ret_address, const char *s) {
/* AF_VSOCK socket in vsock:cid:port notation */
_cleanup_free_ char *n = NULL;
@@ -1557,7 +1749,7 @@ int socket_address_parse_vsock(SocketAddress *ret_address, const char *s) {
if (!e)
return -EINVAL;
- r = safe_atou(e+1, &port);
+ r = vsock_parse_port(e+1, &port);
if (r < 0)
return r;
@@ -1568,15 +1760,15 @@ int socket_address_parse_vsock(SocketAddress *ret_address, const char *s) {
if (isempty(n))
cid = VMADDR_CID_ANY;
else {
- r = safe_atou(n, &cid);
+ r = vsock_parse_cid(n, &cid);
if (r < 0)
return r;
}
*ret_address = (SocketAddress) {
.sockaddr.vm = {
- .svm_cid = cid,
.svm_family = AF_VSOCK,
+ .svm_cid = cid,
.svm_port = port,
},
.type = type,
@@ -1585,4 +1777,19 @@ int socket_address_parse_vsock(SocketAddress *ret_address, const char *s) {
return 0;
}
+
+int vsock_get_local_cid(unsigned *ret) {
+ _cleanup_close_ int vsock_fd = -EBADF;
+
+ assert(ret);
+
+ vsock_fd = open("/dev/vsock", O_RDONLY|O_CLOEXEC);
+ if (vsock_fd < 0)
+ return log_debug_errno(errno, "Failed to open /dev/vsock: %m");
+
+ if (ioctl(vsock_fd, IOCTL_VM_SOCKETS_GET_LOCAL_CID, ret) < 0)
+ return log_debug_errno(errno, "Failed to query local AF_VSOCK CID: %m");
+
+ return 0;
+}
#endif /* NM_IGNORED */
diff --git a/src/libnm-systemd-shared/src/basic/socket-util.h b/src/libnm-systemd-shared/src/basic/socket-util.h
index 26f9636fa6..15c7d1c52f 100644
--- a/src/libnm-systemd-shared/src/basic/socket-util.h
+++ b/src/libnm-systemd-shared/src/basic/socket-util.h
@@ -115,7 +115,7 @@ int sockaddr_pretty(const struct sockaddr *_sa, socklen_t salen, bool translate_
int getpeername_pretty(int fd, bool include_port, char **ret);
int getsockname_pretty(int fd, char **ret);
-int socknameinfo_pretty(union sockaddr_union *sa, socklen_t salen, char **_ret);
+int socknameinfo_pretty(const struct sockaddr *sa, socklen_t salen, char **_ret);
const char* socket_address_bind_ipv6_only_to_string(SocketAddressBindIPv6Only b) _const_;
SocketAddressBindIPv6Only socket_address_bind_ipv6_only_from_string(const char *s) _pure_;
@@ -154,7 +154,30 @@ bool address_label_valid(const char *p);
int getpeercred(int fd, struct ucred *ucred);
int getpeersec(int fd, char **ret);
int getpeergroups(int fd, gid_t **ret);
+int getpeerpidfd(int fd);
+ssize_t send_many_fds_iov_sa(
+ int transport_fd,
+ int *fds_array, size_t n_fds_array,
+ const struct iovec *iov, size_t iovlen,
+ const struct sockaddr *sa, socklen_t len,
+ int flags);
+static inline ssize_t send_many_fds_iov(
+ int transport_fd,
+ int *fds_array, size_t n_fds_array,
+ const struct iovec *iov, size_t iovlen,
+ int flags) {
+
+ return send_many_fds_iov_sa(transport_fd, fds_array, n_fds_array, iov, iovlen, NULL, 0, flags);
+}
+static inline int send_many_fds(
+ int transport_fd,
+ int *fds_array,
+ size_t n_fds_array,
+ int flags) {
+
+ return send_many_fds_iov_sa(transport_fd, fds_array, n_fds_array, NULL, 0, NULL, 0, flags);
+}
ssize_t send_one_fd_iov_sa(
int transport_fd,
int fd,
@@ -169,6 +192,8 @@ int send_one_fd_sa(int transport_fd,
#define send_one_fd(transport_fd, fd, flags) send_one_fd_iov_sa(transport_fd, fd, NULL, 0, NULL, 0, flags)
ssize_t receive_one_fd_iov(int transport_fd, struct iovec *iov, size_t iovlen, int flags, int *ret_fd);
int receive_one_fd(int transport_fd, int flags);
+ssize_t receive_many_fds_iov(int transport_fd, struct iovec *iov, size_t iovlen, int **ret_fds_array, size_t *ret_n_fds_array, int flags);
+int receive_many_fds(int transport_fd, int **ret_fds_array, size_t *ret_n_fds_array, int flags);
ssize_t next_datagram_size_fd(int fd);
@@ -181,7 +206,7 @@ int flush_accept(int fd);
* at compile time, that the requested type has a smaller or same alignment as 'struct cmsghdr', and one
* during runtime, that the actual pointer matches the alignment too. This is supposed to catch cases such as
* 'struct timeval' is embedded into 'struct cmsghdr' on architectures where the alignment of the former is 8
- * bytes (because of a 64bit time_t), but of the latter is 4 bytes (because size_t is 32bit), such as
+ * bytes (because of a 64-bit time_t), but of the latter is 4 bytes (because size_t is 32 bits), such as
* riscv32. */
#define CMSG_TYPED_DATA(cmsg, type) \
({ \
@@ -296,7 +321,7 @@ static inline int getsockopt_int(int fd, int level, int optname, int *ret) {
int socket_bind_to_ifname(int fd, const char *ifname);
int socket_bind_to_ifindex(int fd, int ifindex);
-/* Define a 64bit version of timeval/timespec in any case, even on 32bit userspace. */
+/* Define a 64-bit version of timeval/timespec in any case, even on 32-bit userspace. */
struct timeval_large {
uint64_t tvl_sec, tvl_usec;
};
@@ -304,7 +329,7 @@ struct timespec_large {
uint64_t tvl_sec, tvl_nsec;
};
-/* glibc duplicates timespec/timeval on certain 32bit archs, once in 32bit and once in 64bit.
+/* glibc duplicates timespec/timeval on certain 32-bit arches, once in 32-bit and once in 64-bit.
* See __convert_scm_timestamps() in glibc source code. Hence, we need additional buffer space for them
* to prevent from recvmsg_safe() returning -EXFULL. */
#define CMSG_SPACE_TIMEVAL \
@@ -353,6 +378,14 @@ int socket_get_mtu(int fd, int af, size_t *ret);
int connect_unix_path(int fd, int dir_fd, const char *path);
+static inline bool VSOCK_CID_IS_REGULAR(unsigned cid) {
+ /* 0, 1, 2, UINT32_MAX are special, refuse those */
+ return cid > 2 && cid < UINT32_MAX;
+}
+
+int vsock_parse_port(const char *s, unsigned *ret);
+int vsock_parse_cid(const char *s, unsigned *ret);
+
/* Parses AF_UNIX and AF_VSOCK addresses. AF_INET[6] require some netlink calls, so it cannot be in
* src/basic/ and is done from 'socket_local_address from src/shared/. Return -EPROTO in case of
* protocol mismatch. */
@@ -365,3 +398,5 @@ int socket_address_parse_vsock(SocketAddress *ret_address, const char *s);
* /proc/sys/net/core/somaxconn anyway, thus by setting this to unbounded we just make that sysctl file
* authoritative. */
#define SOMAXCONN_DELUXE INT_MAX
+
+int vsock_get_local_cid(unsigned *ret);
diff --git a/src/libnm-systemd-shared/src/basic/sort-util.h b/src/libnm-systemd-shared/src/basic/sort-util.h
index 52d611b820..9c818bd747 100644
--- a/src/libnm-systemd-shared/src/basic/sort-util.h
+++ b/src/libnm-systemd-shared/src/basic/sort-util.h
@@ -18,7 +18,7 @@ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
({ \
const typeof((b)[0]) *_k = k; \
int (*_func_)(const typeof((b)[0])*, const typeof((b)[0])*, typeof(userdata)) = func; \
- xbsearch_r((const void*) _k, (b), (n), sizeof((b)[0]), (comparison_userdata_fn_t) _func_, userdata); \
+ (typeof((b)[0])*) xbsearch_r((const void*) _k, (b), (n), sizeof((b)[0]), (comparison_userdata_fn_t) _func_, userdata); \
})
/**
@@ -38,7 +38,7 @@ static inline void* bsearch_safe(const void *key, const void *base,
({ \
const typeof((b)[0]) *_k = k; \
int (*_func_)(const typeof((b)[0])*, const typeof((b)[0])*) = func; \
- bsearch_safe((const void*) _k, (b), (n), sizeof((b)[0]), (comparison_fn_t) _func_); \
+ (typeof((b)[0])*) bsearch_safe((const void*) _k, (b), (n), sizeof((b)[0]), (comparison_fn_t) _func_); \
})
/**
@@ -61,7 +61,6 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, comparison
_qsort_safe((p), (n), sizeof((p)[0]), (comparison_fn_t) _func_); \
})
-#if 0 /* NM_IGNORED */
static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, comparison_userdata_fn_t compar, void *userdata) {
if (nmemb <= 1)
return;
@@ -75,6 +74,6 @@ static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, compariso
int (*_func_)(const typeof((p)[0])*, const typeof((p)[0])*, typeof(userdata)) = func; \
qsort_r_safe((p), (n), sizeof((p)[0]), (comparison_userdata_fn_t) _func_, userdata); \
})
-#endif /* NM_IGNORED */
int cmp_int(const int *a, const int *b);
+int cmp_uint16(const uint16_t *a, const uint16_t *b);
diff --git a/src/libnm-systemd-shared/src/basic/stat-util.c b/src/libnm-systemd-shared/src/basic/stat-util.c
index a81ee468ff..b50544c9f3 100644
--- a/src/libnm-systemd-shared/src/basic/stat-util.c
+++ b/src/libnm-systemd-shared/src/basic/stat-util.c
@@ -193,14 +193,12 @@ int inode_same_at(int fda, const char *filea, int fdb, const char *fileb, int fl
struct stat a, b;
assert(fda >= 0 || fda == AT_FDCWD);
- assert(filea);
assert(fdb >= 0 || fdb == AT_FDCWD);
- assert(fileb);
- if (fstatat(fda, filea, &a, flags) < 0)
+ if (fstatat(fda, strempty(filea), &a, flags) < 0)
return log_debug_errno(errno, "Cannot stat %s: %m", filea);
- if (fstatat(fdb, fileb, &b, flags) < 0)
+ if (fstatat(fdb, strempty(fileb), &b, flags) < 0)
return log_debug_errno(errno, "Cannot stat %s: %m", fileb);
return stat_inode_same(&a, &b);
@@ -405,21 +403,35 @@ bool statx_mount_same(const struct new_statx *a, const struct new_statx *b) {
a->stx_dev_minor == b->stx_dev_minor;
}
+static bool is_statx_fatal_error(int err, int flags) {
+ assert(err < 0);
+
+ /* If statx() is not supported or if we see EPERM (which might indicate seccomp filtering or so),
+ * let's do a fallback. Note that on EACCES we'll not fall back, since that is likely an indication of
+ * fs access issues, which we should propagate. */
+ if (ERRNO_IS_NOT_SUPPORTED(err) || err == -EPERM)
+ return false;
+
+ /* When unsupported flags are specified, glibc's fallback function returns -EINVAL.
+ * See statx_generic() in glibc. */
+ if (err != -EINVAL)
+ return true;
+
+ if ((flags & ~(AT_EMPTY_PATH | AT_NO_AUTOMOUNT | AT_SYMLINK_NOFOLLOW | AT_STATX_SYNC_AS_STAT)) != 0)
+ return false; /* Unsupported flags are specified. Let's try to use our implementation. */
+
+ return true;
+}
+
int statx_fallback(int dfd, const char *path, int flags, unsigned mask, struct statx *sx) {
static bool avoid_statx = false;
struct stat st;
+ int r;
if (!avoid_statx) {
- if (statx(dfd, path, flags, mask, sx) < 0) {
- if (!ERRNO_IS_NOT_SUPPORTED(errno) && errno != EPERM)
- return -errno;
-
- /* If statx() is not supported or if we see EPERM (which might indicate seccomp
- * filtering or so), let's do a fallback. Not that on EACCES we'll not fall back,
- * since that is likely an indication of fs access issues, which we should
- * propagate */
- } else
- return 0;
+ r = RET_NERRNO(statx(dfd, path, flags, mask, sx));
+ if (r >= 0 || is_statx_fatal_error(r, flags))
+ return r;
avoid_statx = true;
}
@@ -477,8 +489,8 @@ int xstatfsat(int dir_fd, const char *path, struct statfs *ret) {
#if 0 /* NM_IGNORED */
void inode_hash_func(const struct stat *q, struct siphash *state) {
- siphash24_compress(&q->st_dev, sizeof(q->st_dev), state);
- siphash24_compress(&q->st_ino, sizeof(q->st_ino), state);
+ siphash24_compress_typesafe(q->st_dev, state);
+ siphash24_compress_typesafe(q->st_ino, state);
}
int inode_compare_func(const struct stat *a, const struct stat *b) {
@@ -503,6 +515,8 @@ const char* inode_type_to_string(mode_t m) {
return "reg";
case S_IFDIR:
return "dir";
+ case S_IFLNK:
+ return "lnk";
case S_IFCHR:
return "chr";
case S_IFBLK:
@@ -515,4 +529,26 @@ const char* inode_type_to_string(mode_t m) {
return NULL;
}
+
+mode_t inode_type_from_string(const char *s) {
+ if (!s)
+ return MODE_INVALID;
+
+ if (streq(s, "reg"))
+ return S_IFREG;
+ if (streq(s, "dir"))
+ return S_IFDIR;
+ if (streq(s, "lnk"))
+ return S_IFLNK;
+ if (streq(s, "chr"))
+ return S_IFCHR;
+ if (streq(s, "blk"))
+ return S_IFBLK;
+ if (streq(s, "fifo"))
+ return S_IFIFO;
+ if (streq(s, "sock"))
+ return S_IFSOCK;
+
+ return MODE_INVALID;
+}
#endif /* NM_IGNORED */
diff --git a/src/libnm-systemd-shared/src/basic/stat-util.h b/src/libnm-systemd-shared/src/basic/stat-util.h
index ae0aaf8f51..dc11a85f62 100644
--- a/src/libnm-systemd-shared/src/basic/stat-util.h
+++ b/src/libnm-systemd-shared/src/basic/stat-util.h
@@ -12,6 +12,7 @@
#include "macro.h"
#include "missing_stat.h"
#include "siphash24.h"
+#include "time-util.h"
int is_symlink(const char *path);
int is_dir_full(int atfd, const char *fname, bool follow);
@@ -109,8 +110,16 @@ int xstatfsat(int dir_fd, const char *path, struct statfs *ret);
} var
#endif
+static inline usec_t statx_timestamp_load(const struct statx_timestamp *ts) {
+ return timespec_load(&(const struct timespec) { .tv_sec = ts->tv_sec, .tv_nsec = ts->tv_nsec });
+}
+static inline nsec_t statx_timestamp_load_nsec(const struct statx_timestamp *ts) {
+ return timespec_load_nsec(&(const struct timespec) { .tv_sec = ts->tv_sec, .tv_nsec = ts->tv_nsec });
+}
+
void inode_hash_func(const struct stat *q, struct siphash *state);
int inode_compare_func(const struct stat *a, const struct stat *b);
extern const struct hash_ops inode_hash_ops;
const char* inode_type_to_string(mode_t m);
+mode_t inode_type_from_string(const char *s);
diff --git a/src/libnm-systemd-shared/src/basic/string-util.c b/src/libnm-systemd-shared/src/basic/string-util.c
index 1afa49bba0..539c0c76fe 100644
--- a/src/libnm-systemd-shared/src/basic/string-util.c
+++ b/src/libnm-systemd-shared/src/basic/string-util.c
@@ -18,6 +18,7 @@
#include "macro.h"
#include "memory-util.h"
#include "memstream-util.h"
+#include "path-util.h"
#include "string-util.h"
#include "strv.h"
#include "terminal-util.h"
@@ -174,10 +175,15 @@ char *delete_trailing_chars(char *s, const char *bad) {
}
#endif /* NM_IGNORED */
-char *truncate_nl(char *s) {
+char *truncate_nl_full(char *s, size_t *ret_len) {
+ size_t n;
+
assert(s);
- s[strcspn(s, NEWLINE)] = 0;
+ n = strcspn(s, NEWLINE);
+ s[n] = '\0';
+ if (ret_len)
+ *ret_len = n;
return s;
}
@@ -294,6 +300,62 @@ static int write_ellipsis(char *buf, bool unicode) {
return 3;
}
+static size_t ansi_sequence_length(const char *s, size_t len) {
+ assert(s);
+
+ if (len < 2)
+ return 0;
+
+ if (s[0] != 0x1B) /* ASCII 27, aka ESC, aka Ctrl-[ */
+ return 0; /* Not the start of a sequence */
+
+ if (s[1] == 0x5B) { /* [, start of CSI sequence */
+ size_t i = 2;
+
+ if (i == len)
+ return 0;
+
+ while (s[i] >= 0x30 && s[i] <= 0x3F) /* Parameter bytes */
+ if (++i == len)
+ return 0;
+ while (s[i] >= 0x20 && s[i] <= 0x2F) /* Intermediate bytes */
+ if (++i == len)
+ return 0;
+ if (s[i] >= 0x40 && s[i] <= 0x7E) /* Final byte */
+ return i + 1;
+ return 0; /* Bad sequence */
+
+ } else if (s[1] >= 0x40 && s[1] <= 0x5F) /* other non-CSI Fe sequence */
+ return 2;
+
+ return 0; /* Bad escape? */
+}
+
+static bool string_has_ansi_sequence(const char *s, size_t len) {
+ const char *t = s;
+
+ while ((t = memchr(s, 0x1B, len - (t - s))))
+ if (ansi_sequence_length(t, len - (t - s)) > 0)
+ return true;
+ return false;
+}
+
+static size_t previous_ansi_sequence(const char *s, size_t length, const char **ret_where) {
+ /* Locate the previous ANSI sequence and save its start in *ret_where and return length. */
+
+ for (size_t i = length - 2; i > 0; i--) { /* -2 because at least two bytes are needed */
+ size_t slen = ansi_sequence_length(s + (i - 1), length - (i - 1));
+ if (slen == 0)
+ continue;
+
+ *ret_where = s + (i - 1);
+ return slen;
+ }
+
+ *ret_where = NULL;
+ return 0;
+}
+
static char *ascii_ellipsize_mem(const char *s, size_t old_length, size_t new_length, unsigned percent) {
size_t x, need_space, suffix_len;
char *t;
@@ -353,7 +415,6 @@ static char *ascii_ellipsize_mem(const char *s, size_t old_length, size_t new_le
char *ellipsize_mem(const char *s, size_t old_length, size_t new_length, unsigned percent) {
size_t x, k, len, len2;
const char *i, *j;
- char *e;
int r;
/* Note that 'old_length' refers to bytes in the string, while 'new_length' refers to character cells taken up
@@ -377,73 +438,116 @@ char *ellipsize_mem(const char *s, size_t old_length, size_t new_length, unsigne
if (new_length == 0)
return strdup("");
- /* If no multibyte characters use ascii_ellipsize_mem for speed */
- if (ascii_is_valid_n(s, old_length))
+ bool has_ansi_seq = string_has_ansi_sequence(s, old_length);
+
+ /* If no multibyte characters or ANSI sequences, use ascii_ellipsize_mem for speed */
+ if (!has_ansi_seq && ascii_is_valid_n(s, old_length))
return ascii_ellipsize_mem(s, old_length, new_length, percent);
- x = ((new_length - 1) * percent) / 100;
+ x = (new_length - 1) * percent / 100;
assert(x <= new_length - 1);
k = 0;
- for (i = s; i < s + old_length; i = utf8_next_char(i)) {
- char32_t c;
- int w;
+ for (i = s; i < s + old_length; ) {
+ size_t slen = has_ansi_seq ? ansi_sequence_length(i, old_length - (i - s)) : 0;
+ if (slen > 0) {
+ i += slen;
+ continue; /* ANSI sequences don't take up any space in output */
+ }
+ char32_t c;
r = utf8_encoded_to_unichar(i, &c);
if (r < 0)
return NULL;
- w = unichar_iswide(c) ? 2 : 1;
- if (k + w <= x)
- k += w;
- else
+ int w = unichar_iswide(c) ? 2 : 1;
+ if (k + w > x)
break;
+
+ k += w;
+ i += r;
}
- for (j = s + old_length; j > i; ) {
+ const char *ansi_start = s + old_length;
+ size_t ansi_len = 0;
+
+ for (const char *t = j = s + old_length; t > i && k < new_length; ) {
char32_t c;
int w;
- const char *jj;
+ const char *tt;
- jj = utf8_prev_char(j);
- r = utf8_encoded_to_unichar(jj, &c);
+ if (has_ansi_seq && ansi_start >= t)
+ /* Figure out the previous ANSI sequence, if any */
+ ansi_len = previous_ansi_sequence(s, t - s, &ansi_start);
+
+ /* If the sequence extends all the way to the current position, skip it. */
+ if (has_ansi_seq && ansi_len > 0 && ansi_start + ansi_len == t) {
+ t = ansi_start;
+ continue;
+ }
+
+ tt = utf8_prev_char(t);
+ r = utf8_encoded_to_unichar(tt, &c);
if (r < 0)
return NULL;
w = unichar_iswide(c) ? 2 : 1;
- if (k + w <= new_length) {
- k += w;
- j = jj;
- } else
+ if (k + w > new_length)
break;
+
+ k += w;
+ j = t = tt; /* j should always point to the first "real" character */
}
- assert(i <= j);
- /* we don't actually need to ellipsize */
- if (i == j)
+ /* We don't actually need to ellipsize */
+ if (i >= j)
return memdup_suffix0(s, old_length);
- /* make space for ellipsis, if possible */
- if (j < s + old_length)
- j = utf8_next_char(j);
- else if (i > s)
- i = utf8_prev_char(i);
+ if (k >= new_length) {
+ /* Make space for ellipsis, if required and possible. We know that the edge character is not
+ * part of an ANSI sequence (because then we'd skip it). If the last character we looked at
+ * was wide, we don't need to make space. */
+ if (j < s + old_length)
+ j = utf8_next_char(j);
+ else if (i > s)
+ i = utf8_prev_char(i);
+ }
len = i - s;
len2 = s + old_length - j;
- e = new(char, len + 3 + len2 + 1);
+
+ /* If we have ANSI, allow the same length as the source string + ellipsis. It'd be too involved to
+ * figure out what exact space is needed. Strings with ANSI sequences are most likely to be fairly
+ * short anyway. */
+ size_t alloc_len = has_ansi_seq ? old_length + 3 + 1 : len + 3 + len2 + 1;
+
+ char *e = new(char, alloc_len);
if (!e)
return NULL;
/*
- printf("old_length=%zu new_length=%zu x=%zu len=%u len2=%u k=%u\n",
+ printf("old_length=%zu new_length=%zu x=%zu len=%zu len2=%zu k=%zu\n",
old_length, new_length, x, len, len2, k);
*/
- memcpy(e, s, len);
+ memcpy_safe(e, s, len);
write_ellipsis(e + len, true);
- memcpy(e + len + 3, j, len2);
- *(e + len + 3 + len2) = '\0';
+
+ char *dst = e + len + 3;
+
+ if (has_ansi_seq)
+ /* Copy over any ANSI sequences in full */
+ for (const char *p = s + len; p < j; ) {
+ size_t slen = ansi_sequence_length(p, j - p);
+ if (slen > 0) {
+ dst = mempcpy(dst, p, slen);
+ p += slen;
+ } else
+ p = utf8_next_char(p);
+ }
+
+ memcpy_safe(dst, j, len2);
+ dst[len2] = '\0';
return e;
}
@@ -528,14 +632,23 @@ char* strshorten(char *s, size_t l) {
}
int strgrowpad0(char **s, size_t l) {
+ size_t sz;
+
assert(s);
+ if (*s) {
+ sz = strlen(*s) + 1;
+ if (sz >= l) /* never shrink */
+ return 0;
+ } else
+ sz = 0;
+
char *q = realloc(*s, l);
if (!q)
return -ENOMEM;
+
*s = q;
- size_t sz = strlen(*s);
memzero(*s + sz, l - sz);
return 0;
}
@@ -893,6 +1006,33 @@ oom:
return -ENOMEM;
}
+char *strextendn(char **x, const char *s, size_t l) {
+ assert(x);
+ assert(s || l == 0);
+
+ if (l == SIZE_MAX)
+ l = strlen_ptr(s);
+ else if (l > 0)
+ l = strnlen(s, l); /* ignore trailing noise */
+
+ if (l > 0 || !*x) {
+ size_t q;
+ char *m;
+
+ q = strlen_ptr(*x);
+ m = realloc(*x, q + l + 1);
+ if (!m)
+ return NULL;
+
+ memcpy_safe(m + q, s, l);
+ m[q + l] = 0;
+
+ *x = m;
+ }
+
+ return *x;
+}
+
char *strrep(const char *s, unsigned n) {
char *r, *p;
size_t l;
@@ -1191,6 +1331,7 @@ char *string_replace_char(char *str, char old_char, char new_char) {
return str;
}
+#endif /* NM_IGNORED */
int make_cstring(const char *s, size_t n, MakeCStringMode mode, char **ret) {
char *b;
@@ -1235,6 +1376,7 @@ int make_cstring(const char *s, size_t n, MakeCStringMode mode, char **ret) {
return 0;
}
+#if 0 /* NM_IGNORED */
size_t strspn_from_end(const char *str, const char *accept) {
size_t n = 0;
@@ -1290,14 +1432,109 @@ char *find_line_startswith(const char *haystack, const char *needle) {
}
#endif /* NM_IGNORED */
-char *startswith_strv(const char *string, char **strv) {
- char *found = NULL;
+bool version_is_valid(const char *s) {
+ if (isempty(s))
+ return false;
- STRV_FOREACH(i, strv) {
- found = startswith(string, *i);
- if (found)
- break;
+ if (!filename_part_is_valid(s))
+ return false;
+
+ /* This is a superset of the characters used by semver. We additionally allow "," and "_". */
+ if (!in_charset(s, ALPHANUMERICAL ".,_-+"))
+ return false;
+
+ return true;
+}
+
+bool version_is_valid_versionspec(const char *s) {
+ if (!filename_part_is_valid(s))
+ return false;
+
+ if (!in_charset(s, ALPHANUMERICAL "-.~^"))
+ return false;
+
+ return true;
+}
+
+ssize_t strlevenshtein(const char *x, const char *y) {
+ _cleanup_free_ size_t *t0 = NULL, *t1 = NULL, *t2 = NULL;
+ size_t xl, yl;
+
+ /* This is inspired from the Linux kernel's Levenshtein implementation */
+
+ if (streq_ptr(x, y))
+ return 0;
+
+ xl = strlen_ptr(x);
+ if (xl > SSIZE_MAX)
+ return -E2BIG;
+
+ yl = strlen_ptr(y);
+ if (yl > SSIZE_MAX)
+ return -E2BIG;
+
+ if (isempty(x))
+ return yl;
+ if (isempty(y))
+ return xl;
+
+ t0 = new0(size_t, yl + 1);
+ if (!t0)
+ return -ENOMEM;
+ t1 = new0(size_t, yl + 1);
+ if (!t1)
+ return -ENOMEM;
+ t2 = new0(size_t, yl + 1);
+ if (!t2)
+ return -ENOMEM;
+
+ for (size_t i = 0; i <= yl; i++)
+ t1[i] = i;
+
+ for (size_t i = 0; i < xl; i++) {
+ t2[0] = i + 1;
+
+ for (size_t j = 0; j < yl; j++) {
+ /* Substitution */
+ t2[j+1] = t1[j] + (x[i] != y[j]);
+
+ /* Swap */
+ if (i > 0 && j > 0 && x[i-1] == y[j] && x[i] == y[j-1] && t2[j+1] > t0[j-1] + 1)
+ t2[j+1] = t0[j-1] + 1;
+
+ /* Deletion */
+ if (t2[j+1] > t1[j+1] + 1)
+ t2[j+1] = t1[j+1] + 1;
+
+ /* Insertion */
+ if (t2[j+1] > t2[j] + 1)
+ t2[j+1] = t2[j] + 1;
+ }
+
+ size_t *dummy = t0;
+ t0 = t1;
+ t1 = t2;
+ t2 = dummy;
}
- return found;
+ return t1[yl];
+}
+
+char *strrstr(const char *haystack, const char *needle) {
+ /* Like strstr() but returns the last rather than the first occurrence of "needle" in "haystack". */
+
+ if (!haystack || !needle)
+ return NULL;
+
+ /* Special case: for the empty string we return the very last possible occurrence, i.e. *after* the
+ * last char, not before. */
+ if (*needle == 0)
+ return strchr(haystack, 0);
+
+ for (const char *p = strstr(haystack, needle), *q; p; p = q) {
+ q = strstr(p + 1, needle);
+ if (!q)
+ return (char *) p;
+ }
+ return NULL;
}
diff --git a/src/libnm-systemd-shared/src/basic/string-util.h b/src/libnm-systemd-shared/src/basic/string-util.h
index 4430910e22..e162765aa7 100644
--- a/src/libnm-systemd-shared/src/basic/string-util.h
+++ b/src/libnm-systemd-shared/src/basic/string-util.h
@@ -22,6 +22,9 @@
#define ALPHANUMERICAL LETTERS DIGITS
#define HEXDIGITS DIGITS "abcdefABCDEF"
#define LOWERCASE_HEXDIGITS DIGITS "abcdef"
+#define URI_RESERVED ":/?#[]@!$&'()*+;=" /* [RFC3986] */
+#define URI_UNRESERVED ALPHANUMERICAL "-._~" /* [RFC3986] */
+#define URI_VALID URI_RESERVED URI_UNRESERVED /* [RFC3986] */
static inline char* strstr_ptr(const char *haystack, const char *needle) {
if (!haystack || !needle)
@@ -65,6 +68,10 @@ static inline const char* enable_disable(bool b) {
return b ? "enable" : "disable";
}
+static inline const char* enabled_disabled(bool b) {
+ return b ? "enabled" : "disabled";
+}
+
/* This macro's return pointer will have the "const" qualifier set or unset the same way as the input
* pointer. */
#define empty_to_null(p) \
@@ -121,7 +128,10 @@ char *strjoin_real(const char *x, ...) _sentinel_;
char *strstrip(char *s);
char *delete_chars(char *s, const char *bad);
char *delete_trailing_chars(char *s, const char *bad);
-char *truncate_nl(char *s);
+char *truncate_nl_full(char *s, size_t *ret_len);
+static inline char *truncate_nl(char *s) {
+ return truncate_nl_full(s, NULL);
+}
static inline char *skip_leading_chars(const char *s, const char *bad) {
if (!s)
@@ -183,11 +193,24 @@ char *strextend_with_separator_internal(char **x, const char *separator, ...) _s
#define strextend_with_separator(x, separator, ...) strextend_with_separator_internal(x, separator, __VA_ARGS__, NULL)
#define strextend(x, ...) strextend_with_separator_internal(x, NULL, __VA_ARGS__, NULL)
+char *strextendn(char **x, const char *s, size_t l);
+
int strextendf_with_separator(char **x, const char *separator, const char *format, ...) _printf_(3,4);
#define strextendf(x, ...) strextendf_with_separator(x, NULL, __VA_ARGS__)
char *strrep(const char *s, unsigned n);
+#define strrepa(s, n) \
+ ({ \
+ char *_d_, *_p_; \
+ size_t _len_ = strlen(s) * n; \
+ _p_ = _d_ = newa(char, _len_ + 1); \
+ for (unsigned _i_ = 0; _i_ < n; _i_++) \
+ _p_ = stpcpy(_p_, s); \
+ *_p_ = 0; \
+ _d_; \
+ })
+
int split_pair(const char *s, const char *sep, char **l, char **r);
int free_and_strdup(char **p, const char *s);
@@ -268,7 +291,31 @@ char *strdupcspn(const char *a, const char *reject);
char *find_line_startswith(const char *haystack, const char *needle);
-char *startswith_strv(const char *string, char **strv);
+bool version_is_valid(const char *s);
+
+bool version_is_valid_versionspec(const char *s);
+
+ssize_t strlevenshtein(const char *x, const char *y);
+
+static inline int strdup_or_null(const char *s, char **ret) {
+ char *c;
+
+ assert(ret);
+
+ /* This is a lot like strdup(), but is happy with NULL strings, and does not treat that as error, but
+ * copies the NULL value. */
+
+ if (!s) {
+ *ret = NULL;
+ return 0;
+ }
+
+ c = strdup(s);
+ if (!c)
+ return -ENOMEM;
+
+ *ret = c;
+ return 1;
+}
-#define STARTSWITH_SET(p, ...) \
- startswith_strv(p, STRV_MAKE(__VA_ARGS__))
+char *strrstr(const char *haystack, const char *needle);
diff --git a/src/libnm-systemd-shared/src/basic/strv.c b/src/libnm-systemd-shared/src/basic/strv.c
index 9ad5330739..7c6de915b2 100644
--- a/src/libnm-systemd-shared/src/basic/strv.c
+++ b/src/libnm-systemd-shared/src/basic/strv.c
@@ -90,6 +90,15 @@ char** strv_free_erase(char **l) {
return mfree(l);
}
+void strv_free_many(char ***strvs, size_t n) {
+ assert(strvs || n == 0);
+
+ FOREACH_ARRAY (i, strvs, n)
+ strv_free(*i);
+
+ free(strvs);
+}
+
char** strv_copy_n(char * const *l, size_t m) {
_cleanup_strv_free_ char **result = NULL;
char **k;
@@ -116,6 +125,22 @@ char** strv_copy_n(char * const *l, size_t m) {
return TAKE_PTR(result);
}
+int strv_copy_unless_empty(char * const *l, char ***ret) {
+ assert(ret);
+
+ if (strv_isempty(l)) {
+ *ret = NULL;
+ return 0;
+ }
+
+ char **copy = strv_copy(l);
+ if (!copy)
+ return -ENOMEM;
+
+ *ret = TAKE_PTR(copy);
+ return 1;
+}
+
size_t strv_length(char * const *l) {
size_t n = 0;
@@ -214,9 +239,7 @@ int strv_extend_strv(char ***a, char * const *b, bool filter_duplicates) {
return (int) i;
rollback:
- for (size_t j = 0; j < i; j++)
- free(t[p + j]);
-
+ free_many_charp(t + p, i);
t[p] = NULL;
return -ENOMEM;
}
@@ -488,29 +511,31 @@ int strv_insert(char ***l, size_t position, char *value) {
char **c;
size_t n, m;
+ assert(l);
+
if (!value)
return 0;
n = strv_length(*l);
position = MIN(position, n);
- /* increase and check for overflow */
- m = n + 2;
- if (m < n)
+ /* check for overflow and increase*/
+ if (n > SIZE_MAX - 2)
return -ENOMEM;
+ m = n + 2;
- c = new(char*, m);
+ c = reallocarray(*l, GREEDY_ALLOC_ROUND_UP(m), sizeof(char*));
if (!c)
return -ENOMEM;
- for (size_t i = 0; i < position; i++)
- c[i] = (*l)[i];
+ if (n > position)
+ memmove(c + position + 1, c + position, (n - position) * sizeof(char*));
+
c[position] = value;
- for (size_t i = position; i < n; i++)
- c[i+1] = (*l)[i];
- c[n+1] = NULL;
+ c[n + 1] = NULL;
- return free_and_replace(*l, c);
+ *l = c;
+ return 0;
}
int strv_consume_with_size(char ***l, size_t *n, char *value) {
@@ -571,39 +596,63 @@ int strv_extend_with_size(char ***l, size_t *n, const char *value) {
return strv_consume_with_size(l, n, v);
}
-int strv_extend_front(char ***l, const char *value) {
+int strv_extend_many_internal(char ***l, const char *value, ...) {
+ va_list ap;
size_t n, m;
- char *v, **c;
+ int r;
assert(l);
- /* Like strv_extend(), but prepends rather than appends the new entry */
+ m = n = strv_length(*l);
- if (!value)
- return 0;
+ r = 0;
+ va_start(ap, value);
+ for (const char *s = value; s != POINTER_MAX; s = va_arg(ap, const char*)) {
+ if (!s)
+ continue;
- n = strv_length(*l);
+ if (m > SIZE_MAX-1) { /* overflow */
+ r = -ENOMEM;
+ break;
+ }
+ m++;
+ }
+ va_end(ap);
- /* Increase and overflow check. */
- m = n + 2;
- if (m < n)
+ if (r < 0)
+ return r;
+ if (m > SIZE_MAX-1)
return -ENOMEM;
- v = strdup(value);
- if (!v)
+ char **c = reallocarray(*l, GREEDY_ALLOC_ROUND_UP(m+1), sizeof(char*));
+ if (!c)
return -ENOMEM;
+ *l = c;
- c = reallocarray(*l, m, sizeof(char*));
- if (!c) {
- free(v);
- return -ENOMEM;
+ r = 0;
+ size_t i = n;
+ va_start(ap, value);
+ for (const char *s = value; s != POINTER_MAX; s = va_arg(ap, const char*)) {
+ if (!s)
+ continue;
+
+ c[i] = strdup(s);
+ if (!c[i]) {
+ r = -ENOMEM;
+ break;
+ }
+ i++;
}
+ va_end(ap);
- memmove(c+1, c, n * sizeof(char*));
- c[0] = v;
- c[n+1] = NULL;
+ if (r < 0) {
+ /* rollback on error */
+ for (size_t j = n; j < i; j++)
+ c[j] = mfree(c[j]);
+ return r;
+ }
- *l = c;
+ c[i] = NULL;
return 0;
}
@@ -707,6 +756,26 @@ int strv_extendf(char ***l, const char *format, ...) {
return strv_consume(l, x);
}
+char* startswith_strv(const char *s, char * const *l) {
+ STRV_FOREACH(i, l) {
+ char *found = startswith(s, *i);
+ if (found)
+ return found;
+ }
+
+ return NULL;
+}
+
+char* endswith_strv(const char *s, char * const *l) {
+ STRV_FOREACH(i, l) {
+ char *found = endswith(s, *i);
+ if (found)
+ return found;
+ }
+
+ return NULL;
+}
+
char** strv_reverse(char **l) {
size_t n;
@@ -835,13 +904,15 @@ int fputstrv(FILE *f, char * const *l, const char *separator, bool *space) {
bool b = false;
int r;
+ assert(f);
+
/* Like fputs(), but for strv, and with a less stupid argument order */
if (!space)
space = &b;
STRV_FOREACH(s, l) {
- r = fputs_with_space(f, *s, separator, space);
+ r = fputs_with_separator(f, *s, separator, space);
if (r < 0)
return r;
}
diff --git a/src/libnm-systemd-shared/src/basic/strv.h b/src/libnm-systemd-shared/src/basic/strv.h
index 544d46a3f8..91337b9287 100644
--- a/src/libnm-systemd-shared/src/basic/strv.h
+++ b/src/libnm-systemd-shared/src/basic/strv.h
@@ -32,10 +32,14 @@ char** strv_free_erase(char **l);
DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free_erase);
#define _cleanup_strv_free_erase_ _cleanup_(strv_free_erasep)
+void strv_free_many(char ***strvs, size_t n);
+
char** strv_copy_n(char * const *l, size_t n);
static inline char** strv_copy(char * const *l) {
return strv_copy_n(l, SIZE_MAX);
}
+int strv_copy_unless_empty(char * const *l, char ***ret);
+
size_t strv_length(char * const *l) _pure_;
int strv_extend_strv(char ***a, char * const *b, bool filter_duplicates);
@@ -51,8 +55,10 @@ static inline int strv_extend(char ***l, const char *value) {
return strv_extend_with_size(l, NULL, value);
}
+int strv_extend_many_internal(char ***l, const char *value, ...);
+#define strv_extend_many(l, ...) strv_extend_many_internal(l, __VA_ARGS__, POINTER_MAX)
+
int strv_extendf(char ***l, const char *format, ...) _printf_(2,3);
-int strv_extend_front(char ***l, const char *value);
int strv_push_with_size(char ***l, size_t *n, char *value);
static inline int strv_push(char ***l, char *value) {
@@ -157,6 +163,16 @@ static inline void strv_print(char * const *l) {
strv_print_full(l, NULL);
}
+char* startswith_strv(const char *s, char * const *l);
+
+#define STARTSWITH_SET(p, ...) \
+ startswith_strv(p, STRV_MAKE(__VA_ARGS__))
+
+char* endswith_strv(const char *s, char * const *l);
+
+#define ENDSWITH_SET(p, ...) \
+ endswith_strv(p, STRV_MAKE(__VA_ARGS__))
+
#define strv_from_stdarg_alloca(first) \
({ \
char **_l; \
@@ -200,18 +216,6 @@ static inline void strv_print(char * const *l) {
_x && strv_contains_case(STRV_MAKE(__VA_ARGS__), _x); \
})
-#define ENDSWITH_SET(p, ...) \
- ({ \
- const char *_p = (p); \
- char *_found = NULL; \
- STRV_FOREACH(_i, STRV_MAKE(__VA_ARGS__)) { \
- _found = endswith(_p, *_i); \
- if (_found) \
- break; \
- } \
- _found; \
- })
-
#define _FOREACH_STRING(uniq, x, y, ...) \
for (const char *x, * const*UNIQ_T(l, uniq) = STRV_MAKE_CONST(({ x = y; }), ##__VA_ARGS__); \
x; \
diff --git a/src/libnm-systemd-shared/src/basic/time-util.c b/src/libnm-systemd-shared/src/basic/time-util.c
index 092912b2b0..2147156e55 100644
--- a/src/libnm-systemd-shared/src/basic/time-util.c
+++ b/src/libnm-systemd-shared/src/basic/time-util.c
@@ -66,7 +66,7 @@ nsec_t now_nsec(clockid_t clock_id) {
return timespec_load_nsec(&ts);
}
-dual_timestamp* dual_timestamp_get(dual_timestamp *ts) {
+dual_timestamp* dual_timestamp_now(dual_timestamp *ts) {
assert(ts);
ts->realtime = now(CLOCK_REALTIME);
@@ -75,7 +75,7 @@ dual_timestamp* dual_timestamp_get(dual_timestamp *ts) {
return ts;
}
-triple_timestamp* triple_timestamp_get(triple_timestamp *ts) {
+triple_timestamp* triple_timestamp_now(triple_timestamp *ts) {
assert(ts);
ts->realtime = now(CLOCK_REALTIME);
@@ -158,6 +158,25 @@ triple_timestamp* triple_timestamp_from_realtime(triple_timestamp *ts, usec_t u)
return ts;
}
+triple_timestamp* triple_timestamp_from_boottime(triple_timestamp *ts, usec_t u) {
+ usec_t nowb;
+
+ assert(ts);
+
+ if (u == USEC_INFINITY) {
+ ts->realtime = ts->monotonic = ts->boottime = u;
+ return ts;
+ }
+
+ nowb = now(CLOCK_BOOTTIME);
+
+ ts->boottime = u;
+ ts->monotonic = map_clock_usec_internal(u, nowb, now(CLOCK_MONOTONIC));
+ ts->realtime = map_clock_usec_internal(u, nowb, now(CLOCK_REALTIME));
+
+ return ts;
+}
+
dual_timestamp* dual_timestamp_from_monotonic(dual_timestamp *ts, usec_t u) {
assert(ts);
@@ -330,7 +349,7 @@ char *format_timestamp_style(
if (l < (size_t) (1 + 1 + 1))
return NULL; /* not enough space for even the shortest of forms */
- return snprintf_ok(buf, l, "@" USEC_FMT, t / USEC_PER_SEC); /* round down µs → s */
+ return snprintf_ok(buf, l, "@" USEC_FMT, t / USEC_PER_SEC); /* round down μs → s */
}
utc = IN_SET(style, TIMESTAMP_UTC, TIMESTAMP_US_UTC, TIMESTAMP_DATE);
@@ -618,7 +637,7 @@ char* format_timespan(char *buf, size_t l, usec_t t, usec_t accuracy) {
#if 0 /* NM_IGNORED */
static int parse_timestamp_impl(
const char *t,
- size_t tz_offset,
+ size_t max_len,
bool utc,
int isdst,
long gmtoff,
@@ -655,8 +674,12 @@ static int parse_timestamp_impl(
/* Allowed syntaxes:
*
- * 2012-09-22 16:34:22
+ * 2012-09-22 16:34:22.1[2[3[4[5[6]]]]]
+ * 2012-09-22 16:34:22 (µsec will be set to 0)
* 2012-09-22 16:34 (seconds will be set to 0)
+ * 2012-09-22T16:34:22.1[2[3[4[5[6]]]]]
+ * 2012-09-22T16:34:22 (µsec will be set to 0)
+ * 2012-09-22T16:34 (seconds will be set to 0)
* 2012-09-22 (time will be set to 00:00:00)
* 16:34:22 (date will be set to today)
* 16:34 (date will be set to today, seconds to 0)
@@ -670,17 +693,26 @@ static int parse_timestamp_impl(
*
* Note, on DST change, 00:00:00 may not exist and in that case the time part may be shifted.
* E.g. "Sun 2023-03-13 America/Havana" is parsed as "Sun 2023-03-13 01:00:00 CDT".
+ *
+ * A simplified strptime-spelled RFC3339 ABNF looks like
+ * "%Y-%m-%d" "T" "%H" ":" "%M" ":" "%S" [".%N"] ("Z" / (("+" / "-") "%H:%M"))
+ * We additionally allow no seconds and inherited timezone
+ * for symmetry with our other syntaxes and improved interactive usability:
+ * "%Y-%m-%d" "T" "%H" ":" "%M" ":" ["%S" [".%N"]] ["Z" / (("+" / "-") "%H:%M")]
+ * RFC3339 defines time-secfrac to as "." 1*DIGIT, but we limit to 6 digits,
+ * since we're limited to 1µs resolution.
+ * We also accept "Sat 2012-09-22T16:34:22", RFC3339 warns against it.
*/
assert(t);
- if (tz_offset != SIZE_MAX) {
+ if (max_len != SIZE_MAX) {
/* If the input string contains timezone, then cut it here. */
- if (tz_offset <= 1) /* timezone must be after a space. */
+ if (max_len == 0) /* Can't be the only field */
return -EINVAL;
- t_alloc = strndup(t, tz_offset - 1);
+ t_alloc = strndup(t, max_len);
if (!t_alloc)
return -ENOMEM;
@@ -792,6 +824,7 @@ static int parse_timestamp_impl(
goto from_tm;
}
+ /* Our "canonical" RFC3339 syntax variant */
tm = copy;
k = strptime(t, "%Y-%m-%d %H:%M:%S", &tm);
if (k) {
@@ -801,6 +834,16 @@ static int parse_timestamp_impl(
goto from_tm;
}
+ /* RFC3339 syntax */
+ tm = copy;
+ k = strptime(t, "%Y-%m-%dT%H:%M:%S", &tm);
+ if (k) {
+ if (*k == '.')
+ goto parse_usec;
+ else if (*k == 0)
+ goto from_tm;
+ }
+
/* Support OUTPUT_SHORT and OUTPUT_SHORT_PRECISE formats */
tm = copy;
k = strptime(t, "%b %d %H:%M:%S", &tm);
@@ -818,6 +861,7 @@ static int parse_timestamp_impl(
goto from_tm;
}
+ /* Our "canonical" RFC3339 syntax variant without seconds */
tm = copy;
k = strptime(t, "%Y-%m-%d %H:%M", &tm);
if (k && *k == 0) {
@@ -825,6 +869,14 @@ static int parse_timestamp_impl(
goto from_tm;
}
+ /* RFC3339 syntax without seconds */
+ tm = copy;
+ k = strptime(t, "%Y-%m-%dT%H:%M", &tm);
+ if (k && *k == 0) {
+ tm.tm_sec = 0;
+ goto from_tm;
+ }
+
tm = copy;
k = strptime(t, "%y-%m-%d", &tm);
if (k && *k == 0) {
@@ -927,13 +979,13 @@ static int parse_timestamp_maybe_with_tz(const char *t, size_t tz_offset, bool v
continue;
/* The specified timezone matches tzname[] of the local timezone. */
- return parse_timestamp_impl(t, tz_offset, /* utc = */ false, /* isdst = */ j, /* gmtoff = */ 0, ret);
+ return parse_timestamp_impl(t, tz_offset - 1, /* utc = */ false, /* isdst = */ j, /* gmtoff = */ 0, ret);
}
/* If we know that the last word is a valid timezone (e.g. Asia/Tokyo), then simply drop the timezone
* and parse the remaining string as a local time. If we know that the last word is not a timezone,
* then assume that it is a part of the time and try to parse the whole string as a local time. */
- return parse_timestamp_impl(t, valid_tz ? tz_offset : SIZE_MAX,
+ return parse_timestamp_impl(t, valid_tz ? tz_offset - 1 : SIZE_MAX,
/* utc = */ false, /* isdst = */ -1, /* gmtoff = */ 0, ret);
}
@@ -945,40 +997,50 @@ typedef struct ParseTimestampResult {
int parse_timestamp(const char *t, usec_t *ret) {
ParseTimestampResult *shared, tmp;
const char *k, *tz, *current_tz;
- size_t tz_offset;
+ size_t max_len, t_len;
struct tm tm;
int r;
assert(t);
+ t_len = strlen(t);
+ if (t_len > 2 && t[t_len - 1] == 'Z' && t[t_len - 2] != ' ') /* RFC3339-style welded UTC: "1985-04-12T23:20:50.52Z" */
+ return parse_timestamp_impl(t, t_len - 1, /* utc = */ true, /* isdst = */ -1, /* gmtoff = */ 0, ret);
+
+ if (t_len > 7 && IN_SET(t[t_len - 6], '+', '-') && t[t_len - 7] != ' ') { /* RFC3339-style welded offset: "1990-12-31T15:59:60-08:00" */
+ k = strptime(&t[t_len - 6], "%z", &tm);
+ if (k && *k == '\0')
+ return parse_timestamp_impl(t, t_len - 6, /* utc = */ true, /* isdst = */ -1, /* gmtoff = */ tm.tm_gmtoff, ret);
+ }
+
tz = strrchr(t, ' ');
if (!tz)
- return parse_timestamp_impl(t, /* tz_offset = */ SIZE_MAX, /* utc = */ false, /* isdst = */ -1, /* gmtoff = */ 0, ret);
+ return parse_timestamp_impl(t, /* max_len = */ SIZE_MAX, /* utc = */ false, /* isdst = */ -1, /* gmtoff = */ 0, ret);
+ max_len = tz - t;
tz++;
- tz_offset = tz - t;
/* Shortcut, parse the string as UTC. */
if (streq(tz, "UTC"))
- return parse_timestamp_impl(t, tz_offset, /* utc = */ true, /* isdst = */ -1, /* gmtoff = */ 0, ret);
+ return parse_timestamp_impl(t, max_len, /* utc = */ true, /* isdst = */ -1, /* gmtoff = */ 0, ret);
/* If the timezone is compatible with RFC-822/ISO 8601 (e.g. +06, or -03:00) then parse the string as
* UTC and shift the result. Note, this must be earlier than the timezone check with tzname[], as
* tzname[] may be in the same format. */
k = strptime(tz, "%z", &tm);
if (k && *k == '\0')
- return parse_timestamp_impl(t, tz_offset, /* utc = */ true, /* isdst = */ -1, /* gmtoff = */ tm.tm_gmtoff, ret);
+ return parse_timestamp_impl(t, max_len, /* utc = */ true, /* isdst = */ -1, /* gmtoff = */ tm.tm_gmtoff, ret);
/* If the last word is not a timezone file (e.g. Asia/Tokyo), then let's check if it matches
* tzname[] of the local timezone, e.g. JST or CEST. */
if (!timezone_is_valid(tz, LOG_DEBUG))
- return parse_timestamp_maybe_with_tz(t, tz_offset, /* valid_tz = */ false, ret);
+ return parse_timestamp_maybe_with_tz(t, tz - t, /* valid_tz = */ false, ret);
/* Shortcut. If the current $TZ is equivalent to the specified timezone, it is not necessary to fork
* the process. */
current_tz = getenv("TZ");
if (current_tz && *current_tz == ':' && streq(current_tz + 1, tz))
- return parse_timestamp_maybe_with_tz(t, tz_offset, /* valid_tz = */ true, ret);
+ return parse_timestamp_maybe_with_tz(t, tz - t, /* valid_tz = */ true, ret);
/* Otherwise, to avoid polluting the current environment variables, let's fork the process and set
* the specified timezone in the child process. */
@@ -987,7 +1049,7 @@ int parse_timestamp(const char *t, usec_t *ret) {
if (shared == MAP_FAILED)
return negative_errno();
- r = safe_fork("(sd-timestamp)", FORK_RESET_SIGNALS|FORK_CLOSE_ALL_FDS|FORK_DEATHSIG|FORK_WAIT, NULL);
+ r = safe_fork("(sd-timestamp)", FORK_RESET_SIGNALS|FORK_CLOSE_ALL_FDS|FORK_DEATHSIG_SIGKILL|FORK_WAIT, NULL);
if (r < 0) {
(void) munmap(shared, sizeof *shared);
return r;
@@ -1003,7 +1065,7 @@ int parse_timestamp(const char *t, usec_t *ret) {
_exit(EXIT_FAILURE);
}
- shared->return_value = parse_timestamp_maybe_with_tz(t, tz_offset, /* valid_tz = */ true, &shared->usec);
+ shared->return_value = parse_timestamp_maybe_with_tz(t, tz - t, /* valid_tz = */ true, &shared->usec);
_exit(EXIT_SUCCESS);
}
@@ -1051,7 +1113,8 @@ static const char* extract_multiplier(const char *p, usec_t *ret) {
{ "y", USEC_PER_YEAR },
{ "usec", 1ULL },
{ "us", 1ULL },
- { "µs", 1ULL },
+ { "μs", 1ULL }, /* U+03bc (aka GREEK SMALL LETTER MU) */
+ { "µs", 1ULL }, /* U+b5 (aka MICRO SIGN) */
};
assert(p);
@@ -1229,7 +1292,8 @@ static const char* extract_nsec_multiplier(const char *p, nsec_t *ret) {
{ "y", NSEC_PER_YEAR },
{ "usec", NSEC_PER_USEC },
{ "us", NSEC_PER_USEC },
- { "µs", NSEC_PER_USEC },
+ { "μs", NSEC_PER_USEC }, /* U+03bc (aka GREEK LETTER MU) */
+ { "µs", NSEC_PER_USEC }, /* U+b5 (aka MICRO SIGN) */
{ "nsec", 1ULL },
{ "ns", 1ULL },
{ "", 1ULL }, /* default is nsec */
@@ -1458,7 +1522,7 @@ int get_timezones(char ***ret) {
/* Always include UTC */
r = strv_extend(&zones, "UTC");
if (r < 0)
- return -ENOMEM;
+ return r;
strv_sort(zones);
strv_uniq(zones);
@@ -1666,13 +1730,13 @@ int time_change_fd(void) {
if (timerfd_settime(fd, TFD_TIMER_ABSTIME|TFD_TIMER_CANCEL_ON_SET, &its, NULL) >= 0)
return TAKE_FD(fd);
- /* So apparently there are systems where time_t is 64bit, but the kernel actually doesn't support
- * 64bit time_t. In that case configuring a timer to TIME_T_MAX will fail with EOPNOTSUPP or a
+ /* So apparently there are systems where time_t is 64-bit, but the kernel actually doesn't support
+ * 64-bit time_t. In that case configuring a timer to TIME_T_MAX will fail with EOPNOTSUPP or a
* similar error. If that's the case let's try with INT32_MAX instead, maybe that works. It's a bit
* of a black magic thing though, but what can we do?
*
- * We don't want this code on x86-64, hence let's conditionalize this for systems with 64bit time_t
- * but where "long" is shorter than 64bit, i.e. 32bit archs.
+ * We don't want this code on x86-64, hence let's conditionalize this for systems with 64-bit time_t
+ * but where "long" is shorter than 64-bit, i.e. 32-bit archs.
*
* See: https://github.com/systemd/systemd/issues/14362 */
@@ -1708,9 +1772,9 @@ TimestampStyle timestamp_style_from_string(const char *s) {
t = (TimestampStyle) string_table_lookup(timestamp_style_table, ELEMENTSOF(timestamp_style_table), s);
if (t >= 0)
return t;
- if (streq_ptr(s, "µs"))
+ if (STRPTR_IN_SET(s, "µs", "μs")) /* accept both µ symbols in unicode, i.e. micro symbol + Greek small letter mu. */
return TIMESTAMP_US;
- if (streq_ptr(s, "µs+utc"))
+ if (STRPTR_IN_SET(s, "µs+utc", "μs+utc"))
return TIMESTAMP_US_UTC;
return t;
}
diff --git a/src/libnm-systemd-shared/src/basic/time-util.h b/src/libnm-systemd-shared/src/basic/time-util.h
index b49137d5c3..29373477f4 100644
--- a/src/libnm-systemd-shared/src/basic/time-util.h
+++ b/src/libnm-systemd-shared/src/basic/time-util.h
@@ -79,13 +79,14 @@ nsec_t now_nsec(clockid_t clock);
usec_t map_clock_usec(usec_t from, clockid_t from_clock, clockid_t to_clock);
-dual_timestamp* dual_timestamp_get(dual_timestamp *ts);
+dual_timestamp* dual_timestamp_now(dual_timestamp *ts);
dual_timestamp* dual_timestamp_from_realtime(dual_timestamp *ts, usec_t u);
dual_timestamp* dual_timestamp_from_monotonic(dual_timestamp *ts, usec_t u);
dual_timestamp* dual_timestamp_from_boottime(dual_timestamp *ts, usec_t u);
-triple_timestamp* triple_timestamp_get(triple_timestamp *ts);
+triple_timestamp* triple_timestamp_now(triple_timestamp *ts);
triple_timestamp* triple_timestamp_from_realtime(triple_timestamp *ts, usec_t u);
+triple_timestamp* triple_timestamp_from_boottime(triple_timestamp *ts, usec_t u);
#define DUAL_TIMESTAMP_HAS_CLOCK(clock) \
IN_SET(clock, CLOCK_REALTIME, CLOCK_REALTIME_ALARM, CLOCK_MONOTONIC)
@@ -211,10 +212,24 @@ static inline usec_t usec_sub_signed(usec_t timestamp, int64_t delta) {
return usec_sub_unsigned(timestamp, (usec_t) delta);
}
+static inline int usleep_safe(usec_t usec) {
+ /* usleep() takes useconds_t that is (typically?) uint32_t. Also, usleep() may only support the
+ * range [0, 1000000]. See usleep(3). Let's override usleep() with clock_nanosleep().
+ *
+ * ⚠️ Note we are not using plain nanosleep() here, since that operates on CLOCK_REALTIME, not
+ * CLOCK_MONOTONIC! */
+
+ if (usec == 0)
+ return 0;
+
+ // FIXME: use RET_NERRNO() macro here. Currently, this header cannot include errno-util.h.
+ return clock_nanosleep(CLOCK_MONOTONIC, 0, TIMESPEC_STORE(usec), NULL) < 0 ? -errno : 0;
+}
+
/* The last second we can format is 31. Dec 9999, 1s before midnight, because otherwise we'd enter 5 digit
* year territory. However, since we want to stay away from this in all timezones we take one day off. */
#define USEC_TIMESTAMP_FORMATTABLE_MAX_64BIT ((usec_t) 253402214399000000) /* Thu 9999-12-30 23:59:59 UTC */
-/* With a 32bit time_t we can't go beyond 2038...
+/* With a 32-bit time_t we can't go beyond 2038...
* We parse timestamp with RFC-822/ISO 8601 (e.g. +06, or -03:00) as UTC, hence the upper bound must be off
* by USEC_PER_DAY. See parse_timestamp() for more details. */
#define USEC_TIMESTAMP_FORMATTABLE_MAX_32BIT (((usec_t) INT32_MAX) * USEC_PER_SEC - USEC_PER_DAY)
diff --git a/src/libnm-systemd-shared/src/basic/tmpfile-util.h b/src/libnm-systemd-shared/src/basic/tmpfile-util.h
index 50904ecac1..8c917c0680 100644
--- a/src/libnm-systemd-shared/src/basic/tmpfile-util.h
+++ b/src/libnm-systemd-shared/src/basic/tmpfile-util.h
@@ -29,7 +29,6 @@ static inline int open_tmpfile_linkable(const char *target, int flags, char **re
}
int fopen_tmpfile_linkable(const char *target, int flags, char **ret_path, FILE **ret_file);
-
typedef enum LinkTmpfileFlags {
LINK_TMPFILE_REPLACE = 1 << 0,
LINK_TMPFILE_SYNC = 1 << 1,
diff --git a/src/libnm-systemd-shared/src/basic/umask-util.h b/src/libnm-systemd-shared/src/basic/umask-util.h
index 6f0e1cc2b2..00417fa304 100644
--- a/src/libnm-systemd-shared/src/basic/umask-util.h
+++ b/src/libnm-systemd-shared/src/basic/umask-util.h
@@ -8,12 +8,12 @@
#include "macro.h"
static inline void umaskp(mode_t *u) {
- umask(*u & 0777);
+ umask(*u);
}
#define _cleanup_umask_ _cleanup_(umaskp)
-/* We make use of the fact here that the umask() concept is using only the lower 9 bits of mode_t, although
+/* We make use of the fact here that the umask() syscall uses only the lower 9 bits of mode_t, although
* mode_t has space for the file type in the bits further up. We simply OR in the file type mask S_IFMT to
* distinguish the first and the second iteration of the WITH_UMASK() loop, so that we can run the first one,
* and exit on the second. */
diff --git a/src/libnm-systemd-shared/src/basic/user-util.h b/src/libnm-systemd-shared/src/basic/user-util.h
index 8b829a9ae2..9d07ef31d2 100644
--- a/src/libnm-systemd-shared/src/basic/user-util.h
+++ b/src/libnm-systemd-shared/src/basic/user-util.h
@@ -42,8 +42,8 @@ typedef enum UserCredsFlags {
USER_CREDS_CLEAN = 1 << 2, /* try to clean up shell and home fields with invalid data */
} UserCredsFlags;
-int get_user_creds(const char **username, uid_t *uid, gid_t *gid, const char **home, const char **shell, UserCredsFlags flags);
-int get_group_creds(const char **groupname, gid_t *gid, UserCredsFlags flags);
+int get_user_creds(const char **username, uid_t *ret_uid, gid_t *ret_gid, const char **ret_home, const char **ret_shell, UserCredsFlags flags);
+int get_group_creds(const char **groupname, gid_t *ret_gid, UserCredsFlags flags);
char* uid_to_name(uid_t uid);
char* gid_to_name(gid_t gid);
@@ -57,7 +57,10 @@ int getgroups_alloc(gid_t** gids);
int get_home_dir(char **ret);
int get_shell(char **ret);
-int reset_uid_gid(void);
+int fully_set_uid_gid(uid_t uid, gid_t gid, const gid_t supplementary_gids[], size_t n_supplementary_gids);
+static inline int reset_uid_gid(void) {
+ return fully_set_uid_gid(0, 0, NULL, 0);
+}
int take_etc_passwd_lock(const char *root);
@@ -69,13 +72,13 @@ int take_etc_passwd_lock(const char *root);
/* If REMOUNT_IDMAPPING_HOST_ROOT is set for remount_idmap() we'll include a mapping here that maps the host
* root user accessing the idmapped mount to the this user ID on the backing fs. This is the last valid UID in
- * the *signed* 32bit range. You might wonder why precisely use this specific UID for this purpose? Well, we
+ * the *signed* 32-bit range. You might wonder why precisely use this specific UID for this purpose? Well, we
* definitely cannot use the first 0…65536 UIDs for that, since in most cases that's precisely the file range
* we intend to map to some high UID range, and since UID mappings have to be bijective we thus cannot use
- * them at all. Furthermore the UID range beyond INT32_MAX (i.e. the range above the signed 32bit range) is
+ * them at all. Furthermore the UID range beyond INT32_MAX (i.e. the range above the signed 32-bit range) is
* icky, since many APIs cannot use it (example: setfsuid() returns the old UID as signed integer). Following
- * our usual logic of assigning a 16bit UID range to each container, so that the upper 16bit of a 32bit UID
- * value indicate kind of a "container ID" and the lower 16bit map directly to the intended user you can read
+ * our usual logic of assigning a 16-bit UID range to each container, so that the upper 16-bit of a 32-bit UID
+ * value indicate kind of a "container ID" and the lower 16-bit map directly to the intended user you can read
* this specific UID as the "nobody" user of the container with ID 0x7FFF, which is kinda nice. */
#define UID_MAPPED_ROOT ((uid_t) (INT32_MAX-1))
#define GID_MAPPED_ROOT ((gid_t) (INT32_MAX-1))
@@ -155,3 +158,9 @@ static inline bool hashed_password_is_locked_or_invalid(const char *password) {
* Also see https://github.com/systemd/systemd/pull/24680#pullrequestreview-1439464325.
*/
#define PASSWORD_UNPROVISIONED "!unprovisioned"
+
+int getpwuid_malloc(uid_t uid, struct passwd **ret);
+int getpwnam_malloc(const char *name, struct passwd **ret);
+
+int getgrnam_malloc(const char *name, struct group **ret);
+int getgrgid_malloc(gid_t gid, struct group **ret);
diff --git a/src/libnm-systemd-shared/src/basic/utf8.c b/src/libnm-systemd-shared/src/basic/utf8.c
index c8e39fe45e..cf24e82f09 100644
--- a/src/libnm-systemd-shared/src/basic/utf8.c
+++ b/src/libnm-systemd-shared/src/basic/utf8.c
@@ -92,7 +92,7 @@ int utf8_encoded_to_unichar(const char *str, char32_t *ret_unichar) {
switch (len) {
case 1:
*ret_unichar = (char32_t)str[0];
- return 0;
+ return 1;
case 2:
unichar = str[0] & 0x1f;
break;
@@ -121,15 +121,14 @@ int utf8_encoded_to_unichar(const char *str, char32_t *ret_unichar) {
}
*ret_unichar = unichar;
-
- return 0;
+ return len;
}
bool utf8_is_printable_newline(const char* str, size_t length, bool allow_newline) {
assert(str);
for (const char *p = str; length > 0;) {
- int encoded_len, r;
+ int encoded_len;
char32_t val;
encoded_len = utf8_encoded_valid_unichar(p, length);
@@ -137,8 +136,7 @@ bool utf8_is_printable_newline(const char* str, size_t length, bool allow_newlin
return false;
assert(encoded_len > 0 && (size_t) encoded_len <= length);
- r = utf8_encoded_to_unichar(p, &val);
- if (r < 0 ||
+ if (utf8_encoded_to_unichar(p, &val) < 0 ||
unichar_is_control(val) ||
(!allow_newline && val == '\n'))
return false;
@@ -398,11 +396,23 @@ char *utf16_to_utf8(const char16_t *s, size_t length /* bytes! */) {
const uint8_t *f;
char *r, *t;
+ if (length == 0)
+ return new0(char, 1);
+
assert(s);
+ if (length == SIZE_MAX) {
+ length = char16_strlen(s);
+
+ if (length > SIZE_MAX/2)
+ return NULL; /* overflow */
+
+ length *= 2;
+ }
+
/* Input length is in bytes, i.e. the shortest possible character takes 2 bytes. Each unicode character may
* take up to 4 bytes in UTF-8. Let's also account for a trailing NUL byte. */
- if (length * 2 < length)
+ if (length > (SIZE_MAX - 1) / 2)
return NULL; /* overflow */
r = new(char, length * 2 + 1);
@@ -472,8 +482,17 @@ char16_t *utf8_to_utf16(const char *s, size_t length) {
char16_t *n, *p;
int r;
+ if (length == 0)
+ return new0(char16_t, 1);
+
assert(s);
+ if (length == SIZE_MAX)
+ length = strlen(s);
+
+ if (length > SIZE_MAX - 1)
+ return NULL; /* overflow */
+
n = new(char16_t, length + 1);
if (!n)
return NULL;
diff --git a/src/libnm-systemd-shared/src/basic/utf8.h b/src/libnm-systemd-shared/src/basic/utf8.h
index 4a06dd62c5..962312c5fb 100644
--- a/src/libnm-systemd-shared/src/basic/utf8.h
+++ b/src/libnm-systemd-shared/src/basic/utf8.h
@@ -38,7 +38,7 @@ size_t utf16_encode_unichar(char16_t *out, char32_t c);
char *utf16_to_utf8(const char16_t *s, size_t length /* bytes! */);
char16_t *utf8_to_utf16(const char *s, size_t length);
-size_t char16_strlen(const char16_t *s); /* returns the number of 16bit words in the string (not bytes!) */
+size_t char16_strlen(const char16_t *s); /* returns the number of 16-bit words in the string (not bytes!) */
int utf8_encoded_valid_unichar(const char *str, size_t length);
int utf8_encoded_to_unichar(const char *str, char32_t *ret_unichar);
diff --git a/src/libnm-systemd-shared/src/fundamental/macro-fundamental.h b/src/libnm-systemd-shared/src/fundamental/macro-fundamental.h
index 89b83e7d0b..c810261308 100644
--- a/src/libnm-systemd-shared/src/fundamental/macro-fundamental.h
+++ b/src/libnm-systemd-shared/src/fundamental/macro-fundamental.h
@@ -11,6 +11,42 @@
#include <stddef.h>
#include <stdint.h>
+/* Temporarily disable some warnings */
+#define DISABLE_WARNING_DEPRECATED_DECLARATIONS \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
+
+#define DISABLE_WARNING_FORMAT_NONLITERAL \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wformat-nonliteral\"")
+
+#define DISABLE_WARNING_MISSING_PROTOTYPES \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wmissing-prototypes\"")
+
+#define DISABLE_WARNING_NONNULL \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wnonnull\"")
+
+#define DISABLE_WARNING_SHADOW \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wshadow\"")
+
+#define DISABLE_WARNING_INCOMPATIBLE_POINTER_TYPES \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wincompatible-pointer-types\"")
+
+#define DISABLE_WARNING_TYPE_LIMITS \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wtype-limits\"")
+
+#define DISABLE_WARNING_ADDRESS \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Waddress\"")
+
+#define REENABLE_WARNING \
+ _Pragma("GCC diagnostic pop")
+
#define _align_(x) __attribute__((__aligned__(x)))
#define _alignas_(x) __attribute__((__aligned__(alignof(x))))
#define _alignptr_ __attribute__((__aligned__(sizeof(void *))))
@@ -79,7 +115,7 @@
_noreturn_ void efi_assert(const char *expr, const char *file, unsigned line, const char *function);
#ifdef NDEBUG
- #define assert(expr)
+ #define assert(expr) ({ if (!(expr)) __builtin_unreachable(); })
#define assert_not_reached() __builtin_unreachable()
#else
#define assert(expr) ({ _likely_(expr) ? VOID_0 : efi_assert(#expr, __FILE__, __LINE__, __func__); })
@@ -129,6 +165,10 @@
__atomic_exchange_n(&(o), true, __ATOMIC_SEQ_CST); \
})
+#define U64_KB UINT64_C(1024)
+#define U64_MB (UINT64_C(1024) * U64_KB)
+#define U64_GB (UINT64_C(1024) * U64_MB)
+
#undef MAX
#define MAX(a, b) __MAX(UNIQ, (a), UNIQ, (b))
#define __MAX(aq, a, bq, b) \
@@ -355,7 +395,40 @@ static inline size_t ALIGN_TO(size_t l, size_t ali) {
if (l > SIZE_MAX - (ali - 1))
return SIZE_MAX; /* indicate overflow */
- return ((l + ali - 1) & ~(ali - 1));
+ return ((l + (ali - 1)) & ~(ali - 1));
+}
+
+static inline uint64_t ALIGN_TO_U64(uint64_t l, uint64_t ali) {
+ assert(ISPOWEROF2(ali));
+
+ if (l > UINT64_MAX - (ali - 1))
+ return UINT64_MAX; /* indicate overflow */
+
+ return ((l + (ali - 1)) & ~(ali - 1));
+}
+
+static inline size_t ALIGN_DOWN(size_t l, size_t ali) {
+ assert(ISPOWEROF2(ali));
+
+ return l & ~(ali - 1);
+}
+
+static inline uint64_t ALIGN_DOWN_U64(uint64_t l, uint64_t ali) {
+ assert(ISPOWEROF2(ali));
+
+ return l & ~(ali - 1);
+}
+
+static inline size_t ALIGN_OFFSET(size_t l, size_t ali) {
+ assert(ISPOWEROF2(ali));
+
+ return l & (ali - 1);
+}
+
+static inline uint64_t ALIGN_OFFSET_U64(uint64_t l, uint64_t ali) {
+ assert(ISPOWEROF2(ali));
+
+ return l & (ali - 1);
}
#define ALIGN2(l) ALIGN_TO(l, 2)
@@ -399,6 +472,42 @@ static inline size_t ALIGN_TO(size_t l, size_t ali) {
#define FLAGS_SET(v, flags) \
((~(v) & (flags)) == 0)
+/* A wrapper for 'func' to return void.
+ * Only useful when a void-returning function is required by some API. */
+#define DEFINE_TRIVIAL_DESTRUCTOR(name, type, func) \
+ static inline void name(type *p) { \
+ func(p); \
+ }
+
+/* When func() returns the void value (NULL, -1, …) of the appropriate type */
+#define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \
+ static inline void func##p(type *p) { \
+ if (*p) \
+ *p = func(*p); \
+ }
+
+/* When func() doesn't return the appropriate type, set variable to empty afterwards.
+ * The func() may be provided by a dynamically loaded shared library, hence add an assertion. */
+#define DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(type, func, empty) \
+ static inline void func##p(type *p) { \
+ if (*p != (empty)) { \
+ DISABLE_WARNING_ADDRESS; \
+ assert(func); \
+ REENABLE_WARNING; \
+ func(*p); \
+ *p = (empty); \
+ } \
+ }
+
+/* When func() doesn't return the appropriate type, and is also a macro, set variable to empty afterwards. */
+#define DEFINE_TRIVIAL_CLEANUP_FUNC_FULL_MACRO(type, func, empty) \
+ static inline void func##p(type *p) { \
+ if (*p != (empty)) { \
+ func(*p); \
+ *p = (empty); \
+ } \
+ }
+
/* Declare a flexible array usable in a union.
* This is essentially a work-around for a pointless constraint in C99
* and might go away in some future version of the standard.
@@ -410,3 +519,16 @@ static inline size_t ALIGN_TO(size_t l, size_t ali) {
dummy_t __empty__ ## name; \
type name[]; \
}
+
+/* Declares an ELF read-only string section that does not occupy memory at runtime. */
+#define DECLARE_NOALLOC_SECTION(name, text) \
+ asm(".pushsection " name ",\"S\"\n\t" \
+ ".ascii " STRINGIFY(text) "\n\t" \
+ ".zero 1\n\t" \
+ ".popsection\n")
+
+#ifdef SBAT_DISTRO
+ #define DECLARE_SBAT(text) DECLARE_NOALLOC_SECTION(".sbat", text)
+#else
+ #define DECLARE_SBAT(text)
+#endif
diff --git a/src/libnm-systemd-shared/src/fundamental/memory-util-fundamental.h b/src/libnm-systemd-shared/src/fundamental/memory-util-fundamental.h
index 78e2dbec59..6870f54f58 100644
--- a/src/libnm-systemd-shared/src/fundamental/memory-util-fundamental.h
+++ b/src/libnm-systemd-shared/src/fundamental/memory-util-fundamental.h
@@ -11,6 +11,12 @@
#include "macro-fundamental.h"
+#define memzero(x, l) \
+ ({ \
+ size_t _l_ = (l); \
+ _l_ > 0 ? memset((x), 0, _l_) : (x); \
+ })
+
#if !SD_BOOT && HAVE_EXPLICIT_BZERO
static inline void *explicit_bzero_safe(void *p, size_t l) {
if (p && l > 0)
@@ -64,3 +70,39 @@ static inline void erase_varp(struct VarEraser *e) {
.p = (ptr), \
.size = (sz), \
}
+
+typedef void (*free_array_func_t)(void *p, size_t n);
+
+/* An automatic _cleanup_-like logic for destroy arrays (i.e. pointers + size) when leaving scope */
+typedef struct ArrayCleanup {
+ void **parray;
+ size_t *pn;
+ free_array_func_t pfunc;
+} ArrayCleanup;
+
+static inline void array_cleanup(const ArrayCleanup *c) {
+ assert(c);
+
+ assert(!c->parray == !c->pn);
+
+ if (!c->parray)
+ return;
+
+ if (*c->parray) {
+ assert(c->pfunc);
+ c->pfunc(*c->parray, *c->pn);
+ *c->parray = NULL;
+ }
+
+ *c->pn = 0;
+}
+
+#define CLEANUP_ARRAY(array, n, func) \
+ _cleanup_(array_cleanup) _unused_ const ArrayCleanup CONCATENATE(_cleanup_array_, UNIQ) = { \
+ .parray = (void**) &(array), \
+ .pn = &(n), \
+ .pfunc = (free_array_func_t) ({ \
+ void (*_f)(typeof(array[0]) *a, size_t b) = func; \
+ _f; \
+ }), \
+ }
diff --git a/src/libnm-systemd-shared/src/fundamental/sha256.c b/src/libnm-systemd-shared/src/fundamental/sha256.c
index a4c6d627b7..84113aed6b 100644
--- a/src/libnm-systemd-shared/src/fundamental/sha256.c
+++ b/src/libnm-systemd-shared/src/fundamental/sha256.c
@@ -36,16 +36,9 @@
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
# define SWAP(n) \
- (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
+ __builtin_bswap32(n)
# define SWAP64(n) \
- (((n) << 56) \
- | (((n) & 0xff00) << 40) \
- | (((n) & 0xff0000) << 24) \
- | (((n) & 0xff000000) << 8) \
- | (((n) >> 8) & 0xff000000) \
- | (((n) >> 24) & 0xff0000) \
- | (((n) >> 40) & 0xff00) \
- | ((n) >> 56))
+ __builtin_bswap64(n)
#else
# define SWAP(n) (n)
# define SWAP64(n) (n)
diff --git a/src/libnm-systemd-shared/src/fundamental/string-util-fundamental.c b/src/libnm-systemd-shared/src/fundamental/string-util-fundamental.c
index 3a3e7f593a..da810cb749 100644
--- a/src/libnm-systemd-shared/src/fundamental/string-util-fundamental.c
+++ b/src/libnm-systemd-shared/src/fundamental/string-util-fundamental.c
@@ -35,14 +35,14 @@ sd_char *startswith_no_case(const sd_char *s, const sd_char *prefix) {
return (sd_char*) s + l;
}
-sd_char* endswith(const sd_char *s, const sd_char *postfix) {
+sd_char* endswith(const sd_char *s, const sd_char *suffix) {
size_t sl, pl;
assert(s);
- assert(postfix);
+ assert(suffix);
sl = strlen(s);
- pl = strlen(postfix);
+ pl = strlen(suffix);
if (pl == 0)
return (sd_char*) s + sl;
@@ -50,20 +50,20 @@ sd_char* endswith(const sd_char *s, const sd_char *postfix) {
if (sl < pl)
return NULL;
- if (strcmp(s + sl - pl, postfix) != 0)
+ if (!streq(s + sl - pl, suffix))
return NULL;
return (sd_char*) s + sl - pl;
}
-sd_char* endswith_no_case(const sd_char *s, const sd_char *postfix) {
+sd_char* endswith_no_case(const sd_char *s, const sd_char *suffix) {
size_t sl, pl;
assert(s);
- assert(postfix);
+ assert(suffix);
sl = strlen(s);
- pl = strlen(postfix);
+ pl = strlen(suffix);
if (pl == 0)
return (sd_char*) s + sl;
@@ -71,7 +71,7 @@ sd_char* endswith_no_case(const sd_char *s, const sd_char *postfix) {
if (sl < pl)
return NULL;
- if (strcasecmp(s + sl - pl, postfix) != 0)
+ if (!strcaseeq(s + sl - pl, suffix))
return NULL;
return (sd_char*) s + sl - pl;
diff --git a/src/libnm-systemd-shared/src/fundamental/string-util-fundamental.h b/src/libnm-systemd-shared/src/fundamental/string-util-fundamental.h
index 9019542b16..419f1cc3da 100644
--- a/src/libnm-systemd-shared/src/fundamental/string-util-fundamental.h
+++ b/src/libnm-systemd-shared/src/fundamental/string-util-fundamental.h
@@ -59,8 +59,8 @@ static inline size_t strlen_ptr(const sd_char *s) {
sd_char *startswith(const sd_char *s, const sd_char *prefix) _pure_;
sd_char *startswith_no_case(const sd_char *s, const sd_char *prefix) _pure_;
-sd_char *endswith(const sd_char *s, const sd_char *postfix) _pure_;
-sd_char *endswith_no_case(const sd_char *s, const sd_char *postfix) _pure_;
+sd_char *endswith(const sd_char *s, const sd_char *suffix) _pure_;
+sd_char *endswith_no_case(const sd_char *s, const sd_char *suffix) _pure_;
static inline bool isempty(const sd_char *a) {
return !a || a[0] == '\0';
@@ -74,6 +74,10 @@ static inline const sd_char *yes_no(bool b) {
return b ? STR_C("yes") : STR_C("no");
}
+static inline const sd_char *on_off(bool b) {
+ return b ? STR_C("on") : STR_C("off");
+}
+
static inline const sd_char* comparison_operator(int result) {
return result < 0 ? STR_C("<") : result > 0 ? STR_C(">") : STR_C("==");
}
diff --git a/src/libnm-systemd-shared/src/shared/dns-domain.c b/src/libnm-systemd-shared/src/shared/dns-domain.c
index 43f43197a9..a07eaa33c8 100644
--- a/src/libnm-systemd-shared/src/shared/dns-domain.c
+++ b/src/libnm-systemd-shared/src/shared/dns-domain.c
@@ -87,12 +87,9 @@ int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags f
((unsigned) (n[1] - '0') * 10) +
((unsigned) (n[2] - '0'));
- /* Don't allow anything that doesn't
- * fit in 8bit. Note that we do allow
- * control characters, as some servers
- * (e.g. cloudflare) are happy to
- * generate labels with them
- * inside. */
+ /* Don't allow anything that doesn't fit in 8 bits. Note that we do allow
+ * control characters, as some servers (e.g. cloudflare) are happy to
+ * generate labels with them inside. */
if (k > 255)
return -EINVAL;
@@ -213,7 +210,7 @@ int dns_label_escape(const char *p, size_t l, char *dest, size_t sz) {
char *q;
/* DNS labels must be between 1 and 63 characters long. A
- * zero-length label does not exist. See RFC 2182, Section
+ * zero-length label does not exist. See RFC 2181, Section
* 11. */
if (l <= 0 || l > DNS_LABEL_MAX)
@@ -302,14 +299,14 @@ int dns_label_escape_new(const char *p, size_t l, char **ret) {
int dns_label_apply_idna(const char *encoded, size_t encoded_size, char *decoded, size_t decoded_max) {
_cleanup_free_ uint32_t *input = NULL;
size_t input_size, l;
- bool contains_8bit = false;
+ bool contains_8_bit = false;
char buffer[DNS_LABEL_MAX+1];
int r;
assert(encoded);
assert(decoded);
- /* Converts an U-label into an A-label */
+ /* Converts a U-label into an A-label */
r = dlopen_idn();
if (r < 0)
@@ -320,9 +317,9 @@ int dns_label_apply_idna(const char *encoded, size_t encoded_size, char *decoded
for (const char *p = encoded; p < encoded + encoded_size; p++)
if ((uint8_t) *p > 127)
- contains_8bit = true;
+ contains_8_bit = true;
- if (!contains_8bit) {
+ if (!contains_8_bit) {
if (encoded_size > DNS_LABEL_MAX)
return -EINVAL;
@@ -361,7 +358,7 @@ int dns_label_undo_idna(const char *encoded, size_t encoded_size, char *decoded,
size_t w;
int r;
- /* To be invoked after unescaping. Converts an A-label into an U-label. */
+ /* To be invoked after unescaping. Converts an A-label into a U-label. */
assert(encoded);
assert(decoded);
@@ -419,7 +416,7 @@ int dns_name_concat(const char *a, const char *b, DNSLabelFlags flags, char **_r
goto finish;
for (;;) {
- char label[DNS_LABEL_MAX];
+ char label[DNS_LABEL_MAX+1];
r = dns_label_unescape(&p, label, sizeof label, flags);
if (r < 0)
@@ -517,7 +514,7 @@ int dns_name_compare_func(const char *a, const char *b) {
y = b + strlen(b);
for (;;) {
- char la[DNS_LABEL_MAX], lb[DNS_LABEL_MAX];
+ char la[DNS_LABEL_MAX+1], lb[DNS_LABEL_MAX+1];
if (x == NULL && y == NULL)
return 0;
@@ -553,7 +550,7 @@ int dns_name_equal(const char *x, const char *y) {
assert(y);
for (;;) {
- char la[DNS_LABEL_MAX], lb[DNS_LABEL_MAX];
+ char la[DNS_LABEL_MAX+1], lb[DNS_LABEL_MAX+1];
r = dns_label_unescape(&x, la, sizeof la, 0);
if (r < 0)
@@ -584,7 +581,7 @@ int dns_name_endswith(const char *name, const char *suffix) {
s = suffix;
for (;;) {
- char ln[DNS_LABEL_MAX], ls[DNS_LABEL_MAX];
+ char ln[DNS_LABEL_MAX+1], ls[DNS_LABEL_MAX+1];
r = dns_label_unescape(&n, ln, sizeof ln, 0);
if (r < 0)
@@ -622,7 +619,7 @@ int dns_name_startswith(const char *name, const char *prefix) {
p = prefix;
for (;;) {
- char ln[DNS_LABEL_MAX], lp[DNS_LABEL_MAX];
+ char ln[DNS_LABEL_MAX+1], lp[DNS_LABEL_MAX+1];
r = dns_label_unescape(&p, lp, sizeof lp, 0);
if (r < 0)
@@ -654,7 +651,7 @@ int dns_name_change_suffix(const char *name, const char *old_suffix, const char
s = old_suffix;
for (;;) {
- char ln[DNS_LABEL_MAX], ls[DNS_LABEL_MAX];
+ char ln[DNS_LABEL_MAX+1], ls[DNS_LABEL_MAX+1];
if (!saved_before)
saved_before = n;
@@ -941,7 +938,7 @@ bool dns_srv_type_is_valid(const char *name) {
return false;
for (;;) {
- char label[DNS_LABEL_MAX];
+ char label[DNS_LABEL_MAX+1];
/* This more or less implements RFC 6335, Section 5.1 */
@@ -1239,7 +1236,7 @@ int dns_name_common_suffix(const char *a, const char *b, const char **ret) {
return m;
for (;;) {
- char la[DNS_LABEL_MAX], lb[DNS_LABEL_MAX];
+ char la[DNS_LABEL_MAX+1], lb[DNS_LABEL_MAX+1];
const char *x, *y;
if (k >= n || k >= m) {
@@ -1340,7 +1337,7 @@ int dns_name_apply_idna(const char *name, char **ret) {
assert(ret);
for (;;) {
- char label[DNS_LABEL_MAX];
+ char label[DNS_LABEL_MAX+1];
r = dns_label_unescape(&name, label, sizeof label, 0);
if (r < 0)
@@ -1425,6 +1422,10 @@ bool dns_name_dont_resolve(const char *name) {
if (dns_name_endswith(name, "invalid") > 0)
return true;
+ /* Never respond to some of the domains listed in RFC9476 */
+ if (dns_name_endswith(name, "alt") > 0)
+ return true;
+
return false;
}
#endif /* NM_IGNORED */
diff --git a/src/libnmc-setting/settings-docs.h.in b/src/libnmc-setting/settings-docs.h.in
index c40141669e..af0dc05a95 100644
--- a/src/libnmc-setting/settings-docs.h.in
+++ b/src/libnmc-setting/settings-docs.h.in
@@ -14,7 +14,7 @@
#define DESCRIBE_DOC_NM_SETTING_CONNECTION_LLDP N_("Whether LLDP is enabled for the connection.")
#define DESCRIBE_DOC_NM_SETTING_CONNECTION_LLMNR N_("Whether Link-Local Multicast Name Resolution (LLMNR) is enabled for the connection. LLMNR is a protocol based on the Domain Name System (DNS) packet format that allows both IPv4 and IPv6 hosts to perform name resolution for hosts on the same local link. The permitted values are: \"yes\" (2) register hostname and resolving for the connection, \"no\" (0) disable LLMNR for the interface, \"resolve\" (1) do not register hostname but allow resolving of LLMNR host names If unspecified, \"default\" ultimately depends on the DNS plugin (which for systemd-resolved currently means \"yes\"). This feature requires a plugin which supports LLMNR. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.")
#define DESCRIBE_DOC_NM_SETTING_CONNECTION_MASTER N_("Interface name of the master device or UUID of the master connection. Deprecated 1.46. Use \"controller\" instead, this is just an alias.")
-#define DESCRIBE_DOC_NM_SETTING_CONNECTION_MDNS N_("Whether mDNS is enabled for the connection. The permitted values are: \"yes\" (2) register hostname and resolving for the connection, \"no\" (0) disable mDNS for the interface, \"resolve\" (1) do not register hostname but allow resolving of mDNS host names and \"default\" (-1) to allow lookup of a global default in NetworkManager.conf. If unspecified, \"default\" ultimately depends on the DNS plugin (which for systemd-resolved currently means \"no\"). This feature requires a plugin which supports mDNS. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.")
+#define DESCRIBE_DOC_NM_SETTING_CONNECTION_MDNS N_("Whether mDNS is enabled for the connection. The permitted values are: \"yes\" (2) register hostname and resolving for the connection, \"no\" (0) disable mDNS for the interface, \"resolve\" (1) do not register hostname but allow resolving of mDNS host names and \"default\" (-1) to allow lookup of a global default in NetworkManager.conf. If unspecified, \"default\" ultimately depends on the DNS plugin. This feature requires a plugin which supports mDNS. Otherwise, the setting has no effect. Currently the only supported DNS plugin is systemd-resolved. For systemd-resolved, the default is configurable via MulticastDNS= setting in resolved.conf.")
#define DESCRIBE_DOC_NM_SETTING_CONNECTION_METERED N_("Whether the connection is metered. When updating this property on a currently activated connection, the change takes effect immediately.")
#define DESCRIBE_DOC_NM_SETTING_CONNECTION_MPTCP_FLAGS N_("Whether to configure MPTCP endpoints and the address flags. If MPTCP is enabled in NetworkManager, it will configure the addresses of the interface as MPTCP endpoints. Note that IPv4 loopback addresses (127.0.0.0/8), IPv4 link local addresses (169.254.0.0/16), the IPv6 loopback address (::1), IPv6 link local addresses (fe80::/10), IPv6 unique local addresses (ULA, fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) will be excluded from being configured as endpoints. If \"disabled\" (0x1), MPTCP handling for the interface is disabled and no endpoints are registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. This flag can also be implied from the presence of other flags. Even when enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl and this is up to the administrator or distribution. To configure endpoints even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be used. In that case, NetworkManager doesn't look at the sysctl and configures endpoints regardless. Even when enabled, NetworkManager will only configure MPTCP endpoints for a certain address family, if there is a unicast default route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-default-route\" (0x8) can override that. When MPTCP handling is enabled then endpoints are configured with the specified address flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about the flags. If the flags are zero (0x0), the global connection default from NetworkManager.conf is honored. If still unspecified, the fallback is \"enabled,subflow\". Note that this means that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration which the admin can change via sysctl and ip-mptcp. Strict reverse path filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling for IPv4 addresses on the interface is enabled, NetworkManager would loosen the strict reverse path filtering (1) to the loose setting (2).")
#define DESCRIBE_DOC_NM_SETTING_CONNECTION_MUD_URL N_("If configured, set to a Manufacturer Usage Description (MUD) URL that points to manufacturer-recommended network policies for IoT devices. It is transmitted as a DHCPv4 or DHCPv6 option. The value must be a valid URL starting with \"https://\". The special value \"none\" is allowed to indicate that no MUD URL is used. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the ultimate default is \"none\".")
diff --git a/src/meson.build b/src/meson.build
index 92e95e68ef..5d85dafc21 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -69,6 +69,15 @@ libn_dhcp4 = static_library(
###############################################################################
+libnm_systemd_common_cflags = [ ]
+
+libnm_systemd_common_cflags += cc.get_supported_arguments([
+ '-Wno-nonnull-compare',
+ '-Wno-calloc-transposed-args',
+])
+
+###############################################################################
+
subdir('libnm-std-aux')
subdir('libnm-glib-aux')
subdir('libnm-log-null')
diff --git a/src/nmcli/common.h b/src/nmcli/common.h
index 1572c53458..3784da3549 100644
--- a/src/nmcli/common.h
+++ b/src/nmcli/common.h
@@ -81,5 +81,4 @@ extern const NmcMetaGenericInfo *const metagen_ip6_config[];
extern const NmcMetaGenericInfo *const metagen_dhcp_config[];
const char *nm_connectivity_to_string(NMConnectivityState connectivity);
-
#endif /* NMC_COMMON_H */
diff --git a/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in b/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in
index 160ae32f8c..4f58c8905c 100644
--- a/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in
+++ b/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in
@@ -694,7 +694,7 @@
format="choice (NMSettingConnectionLldp)"
values="default (-1), disable (0), enable-rx/enable (1)" />
<property name="mdns"
- nmcli-description="Whether mDNS is enabled for the connection. The permitted values are: &quot;yes&quot; (2) register hostname and resolving for the connection, &quot;no&quot; (0) disable mDNS for the interface, &quot;resolve&quot; (1) do not register hostname but allow resolving of mDNS host names and &quot;default&quot; (-1) to allow lookup of a global default in NetworkManager.conf. If unspecified, &quot;default&quot; ultimately depends on the DNS plugin (which for systemd-resolved currently means &quot;no&quot;). This feature requires a plugin which supports mDNS. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved."
+ nmcli-description="Whether mDNS is enabled for the connection. The permitted values are: &quot;yes&quot; (2) register hostname and resolving for the connection, &quot;no&quot; (0) disable mDNS for the interface, &quot;resolve&quot; (1) do not register hostname but allow resolving of mDNS host names and &quot;default&quot; (-1) to allow lookup of a global default in NetworkManager.conf. If unspecified, &quot;default&quot; ultimately depends on the DNS plugin. This feature requires a plugin which supports mDNS. Otherwise, the setting has no effect. Currently the only supported DNS plugin is systemd-resolved. For systemd-resolved, the default is configurable via MulticastDNS= setting in resolved.conf."
format="choice (NMSettingConnectionMdns)"
values="default (-1), no (0), resolve (1), yes (2)" />
<property name="llmnr"
diff --git a/src/nmcli/general.c b/src/nmcli/general.c
index 6fc8184cb0..adb3e745cf 100644
--- a/src/nmcli/general.c
+++ b/src/nmcli/general.c
@@ -116,6 +116,7 @@ _metagen_general_status_get_fcn(NMC_META_GENERIC_INFO_GET_FCN_ARGS)
gboolean v_bool;
NMState state;
NMConnectivityState connectivity;
+ NMMetered metered;
switch (info->info_type) {
case NMC_GENERIC_INFO_TYPE_GENERAL_STATUS_RUNNING:
@@ -170,6 +171,11 @@ _metagen_general_status_get_fcn(NMC_META_GENERIC_INFO_GET_FCN_ARGS)
case NMC_GENERIC_INFO_TYPE_GENERAL_STATUS_WIMAX:
/* deprecated fields. Don't return anything. */
return NULL;
+ case NMC_GENERIC_INFO_TYPE_GENERAL_STATUS_METERED:
+ metered = nm_client_get_metered(nmc->client);
+ NMC_HANDLE_COLOR(NM_META_COLOR_NONE);
+ value = nmc_device_metered_to_string(metered);
+ goto translate_and_out;
default:
break;
}
@@ -206,12 +212,13 @@ static const NmcMetaGenericInfo
_METAGEN_GENERAL_STATUS(NMC_GENERIC_INFO_TYPE_GENERAL_STATUS_WWAN, "WWAN"),
_METAGEN_GENERAL_STATUS(NMC_GENERIC_INFO_TYPE_GENERAL_STATUS_WIMAX_HW, "WIMAX-HW"),
_METAGEN_GENERAL_STATUS(NMC_GENERIC_INFO_TYPE_GENERAL_STATUS_WIMAX, "WIMAX"),
+ _METAGEN_GENERAL_STATUS(NMC_GENERIC_INFO_TYPE_GENERAL_STATUS_METERED, "METERED"),
};
#define NMC_FIELDS_NM_STATUS_ALL \
- "RUNNING,VERSION,STATE,STARTUP,CONNECTIVITY,NETWORKING,WIFI-HW,WIFI,WWAN-HW,WWAN"
+ "RUNNING,VERSION,STATE,STARTUP,CONNECTIVITY,NETWORKING,WIFI-HW,WIFI,WWAN-HW,WWAN,METERED"
#define NMC_FIELDS_NM_STATUS_SWITCH "NETWORKING,WIFI-HW,WIFI,WWAN-HW,WWAN"
#define NMC_FIELDS_NM_STATUS_RADIO "WIFI-HW,WIFI,WWAN-HW,WWAN"
-#define NMC_FIELDS_NM_STATUS_COMMON "STATE,CONNECTIVITY,WIFI-HW,WIFI,WWAN-HW,WWAN"
+#define NMC_FIELDS_NM_STATUS_COMMON "STATE,CONNECTIVITY,WIFI-HW,WIFI,WWAN-HW,WWAN,METERED"
#define NMC_FIELDS_NM_NETWORKING "NETWORKING"
#define NMC_FIELDS_NM_WIFI "WIFI"
#define NMC_FIELDS_NM_WWAN "WWAN"
diff --git a/src/nmcli/utils.h b/src/nmcli/utils.h
index 2f7617b907..b68a38033f 100644
--- a/src/nmcli/utils.h
+++ b/src/nmcli/utils.h
@@ -93,6 +93,7 @@ typedef enum {
NMC_GENERIC_INFO_TYPE_GENERAL_STATUS_WWAN,
NMC_GENERIC_INFO_TYPE_GENERAL_STATUS_WIMAX_HW,
NMC_GENERIC_INFO_TYPE_GENERAL_STATUS_WIMAX,
+ NMC_GENERIC_INFO_TYPE_GENERAL_STATUS_METERED,
_NMC_GENERIC_INFO_TYPE_GENERAL_STATUS_NUM,
NMC_GENERIC_INFO_TYPE_GENERAL_PERMISSIONS_PERMISSION = 0,