[pve-devel] applied: [PATCH proxmox-i18n] es: Improve translations

2023-11-29 Thread Thomas Lamprecht
Am 29/11/2023 um 14:31 schrieb Maximiliano Sandoval:
> Signed-off-by: Maximiliano Sandoval 
> ---
> Improvements made after going through the three web UIs.
> 
>  es.po | 62 +--
>  sl.po |  2 +-
>  2 files changed, 32 insertions(+), 32 deletions(-)
> 
>

applied, thanks!


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] applied: [PATCH docs] fix #5089: pvesdn: replace quest(s) -> guest(s)

2023-11-29 Thread Thomas Lamprecht
Am 29/11/2023 um 16:08 schrieb Lukas Wagner:
> Signed-off-by: Lukas Wagner 
> ---
>  pvesdn.adoc | 14 +++---
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
>

applied, thanks!


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] [PATCH docs] fix #5089: sdn: fix s/quest/guest/ typo

2023-11-29 Thread Stoiko Ivanov
additionally did a `git grep '\bquest'` for good measure

Signed-off-by: Stoiko Ivanov 
---
 pvesdn.adoc | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/pvesdn.adoc b/pvesdn.adoc
index fdc6ea7..53293b1 100644
--- a/pvesdn.adoc
+++ b/pvesdn.adoc
@@ -381,7 +381,7 @@ Zone:: The associated zone for this VNet
 Tag:: The unique VLAN or VXLAN ID
 
 VLAN Aware:: Enables vlan-aware option on the interface, enabling configuration
-  in the quest.
+  in the guest.
 
 
 [[pvesdn_config_subnet]]
@@ -715,17 +715,17 @@ details to enhance comprehension of the available 
configuration options.
 Simple Zone Example
 ~~~
 
-Simple zone networks create an isolated network for quests on a single host to
+Simple zone networks create an isolated network for guests on a single host to
 connect to each other.
 
-TIP: connection between quests are possible if all quests reside on a same host
+TIP: connection between guests are possible if all guests reside on a same host
 but cannot be reached on other nodes.
 
 * Create a simple zone named `simple`.
 * Add a VNet names `vnet1`.
 * Create a Subnet with a gateway and the SNAT option enabled.
 * This creates a network bridge `vnet1` on the node. Assign this bridge to the
-  quests that shall join the network and configure an IP address.
+  guests that shall join the network and configure an IP address.
 
 The network interface configuration in two VMs may look like this which allows
 them to communicate via the 10.0.1.0/24 network.
@@ -747,7 +747,7 @@ iface ens19 inet static
 Source NAT Example
 ~~
 
-If you want to allow outgoing connections for quests in the simple network zone
+If you want to allow outgoing connections for guests in the simple network zone
 the simple zone offers a Source NAT (SNAT) option.
 
 Starting from the configuration xref:pvesdn_setup_example_simple[above], Add a
@@ -759,10 +759,10 @@ Gateway: 172.16.0.1
 SNAT: checked
 
 
-In the quests configure the static IP address inside the subnet's IP range.
+In the guests configure the static IP address inside the subnet's IP range.
 
 The node itself will join this network with the Gateway IP '172.16.0.1' and
-function as the NAT gateway for quests within the subnet range.
+function as the NAT gateway for guests within the subnet range.
 
 
 [[pvesdn_setup_example_vlan]]
-- 
2.39.2



___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] [PATCH docs] fix #5089: pvesdn: replace quest(s) -> guest(s)

2023-11-29 Thread Lukas Wagner
Signed-off-by: Lukas Wagner 
---
 pvesdn.adoc | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/pvesdn.adoc b/pvesdn.adoc
index fdc6ea7..53293b1 100644
--- a/pvesdn.adoc
+++ b/pvesdn.adoc
@@ -381,7 +381,7 @@ Zone:: The associated zone for this VNet
 Tag:: The unique VLAN or VXLAN ID
 
 VLAN Aware:: Enables vlan-aware option on the interface, enabling configuration
-  in the quest.
+  in the guest.
 
 
 [[pvesdn_config_subnet]]
@@ -715,17 +715,17 @@ details to enhance comprehension of the available 
configuration options.
 Simple Zone Example
 ~~~
 
-Simple zone networks create an isolated network for quests on a single host to
+Simple zone networks create an isolated network for guests on a single host to
 connect to each other.
 
-TIP: connection between quests are possible if all quests reside on a same host
+TIP: connection between guests are possible if all guests reside on a same host
 but cannot be reached on other nodes.
 
 * Create a simple zone named `simple`.
 * Add a VNet names `vnet1`.
 * Create a Subnet with a gateway and the SNAT option enabled.
 * This creates a network bridge `vnet1` on the node. Assign this bridge to the
-  quests that shall join the network and configure an IP address.
+  guests that shall join the network and configure an IP address.
 
 The network interface configuration in two VMs may look like this which allows
 them to communicate via the 10.0.1.0/24 network.
@@ -747,7 +747,7 @@ iface ens19 inet static
 Source NAT Example
 ~~
 
-If you want to allow outgoing connections for quests in the simple network zone
+If you want to allow outgoing connections for guests in the simple network zone
 the simple zone offers a Source NAT (SNAT) option.
 
 Starting from the configuration xref:pvesdn_setup_example_simple[above], Add a
@@ -759,10 +759,10 @@ Gateway: 172.16.0.1
 SNAT: checked
 
 
-In the quests configure the static IP address inside the subnet's IP range.
+In the guests configure the static IP address inside the subnet's IP range.
 
 The node itself will join this network with the Gateway IP '172.16.0.1' and
-function as the NAT gateway for quests within the subnet range.
+function as the NAT gateway for guests within the subnet range.
 
 
 [[pvesdn_setup_example_vlan]]
-- 
2.39.2



___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] applied: [PATCH pve-network] tests: mocking cfs_lock_file to pass subnet tests

2023-11-29 Thread Thomas Lamprecht
Am 24/11/2023 um 14:16 schrieb Stefan Lendl:
> IPAM tries to lock file in clusterfs which it can't when testing as
> non-root.
> 
> Mocking cfs_lock_file to emulate locking behavior.
> 
> Signed-off-by: Stefan Lendl 
> ---
>  src/test/run_test_subnets.pl | 20 +++-
>  1 file changed, 19 insertions(+), 1 deletion(-)
> 
>

applied, many thanks, we now can build as non-root which is a big
step forward.

But building in contained environments like the one from sbuild
still fails, I now added a few commits to improve the error reporting
situation in some tests, and found that it's basically the reading
of /etc/network/interfaces inside PVE::Network::SDN::Controllers's
generate_controller_config. Here we could move out getting the file
location ($current_config_file) to a extra sub and mock that then
in the test system, if you'd like to check that out.

As ideally, no files outside the test directories would be parsed or
written.


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] [PATCH proxmox-i18n] es: Improve translations

2023-11-29 Thread Maximiliano Sandoval
Signed-off-by: Maximiliano Sandoval 
---
Improvements made after going through the three web UIs.

 es.po | 62 +--
 sl.po |  2 +-
 2 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/es.po b/es.po
index 262e86c..132f82a 100644
--- a/es.po
+++ b/es.po
@@ -321,7 +321,7 @@ msgstr "Agregar Disco EFI"
 
 #: proxmox-backup/www/datastore/Content.js:1218
 msgid "Add NS"
-msgstr "Agregar NS"
+msgstr "Agregar EN"
 
 #: pmg-gui/js/PBSConfig.js:112
 msgid "Add Remote"
@@ -906,7 +906,7 @@ msgstr "Puntuación de retrodispersión"
 #: proxmox-backup/www/Utils.js:398
 #: proxmox-backup/www/tape/window/TapeBackup.js:5
 msgid "Backup"
-msgstr "Copia de seguridad"
+msgstr "Respaldo"
 
 #: proxmox-backup/www/datastore/Summary.js:145
 msgid "Backup Count"
@@ -929,7 +929,7 @@ msgstr "Grupos de Respaldos"
 #: pve-manager/www/manager6/dc/Backup.js:9
 #: pve-manager/www/manager6/dc/BackupJobDetail.js:52
 msgid "Backup Job"
-msgstr "Tarea de copia de seguridad"
+msgstr "Trabajo de Respaldo"
 
 #: proxmox-backup/www/tape/TapeManagement.js:55
 msgid "Backup Jobs"
@@ -967,7 +967,7 @@ msgstr "Contenido de tipo respaldo no disponible para este 
almacenamiento"
 
 #: pve-manager/www/manager6/grid/BackupView.js:164
 msgid "Backup now"
-msgstr "Copia de seguridad ahora"
+msgstr "Respaldar ahora"
 
 #: pmg-gui/js/PBSSnapshotView.js:251
 msgid "Backup snapshots on '{0}'"
@@ -3254,7 +3254,7 @@ msgstr "Activar"
 
 #: pmg-gui/js/DKIMSettings.js:127
 msgid "Enable DKIM Signing"
-msgstr "Activar firma DKIM"
+msgstr "Activar firmado DKIM"
 
 #: pve-manager/www/manager6/dc/RealmSyncJob.js:306
 msgid "Enable Job"
@@ -3877,7 +3877,7 @@ msgstr "Los filtros son aditivos (parecido a OR)"
 #: proxmox-backup/www/tape/form/KeySelector.js:31
 #: proxmox-backup/www/window/RemoteEdit.js:114
 msgid "Fingerprint"
-msgstr "Fingerprint"
+msgstr "Huella Digital"
 
 #: pve-manager/www/manager6/ceph/CephInstallWizard.js:439
 #: pve-manager/www/manager6/window/Wizard.js:206
@@ -4927,7 +4927,7 @@ msgstr "Japonés"
 
 #: pve-manager/www/manager6/grid/Replication.js:301
 msgid "Job"
-msgstr "Tarea"
+msgstr "Trabajo"
 
 #: pve-manager/www/manager6/dc/Backup.js:377
 #: pve-manager/www/manager6/dc/RealmSyncJob.js:379
@@ -5633,7 +5633,7 @@ msgstr "Coincidir Nombre de Archivo"
 
 #: proxmox-widget-toolkit/src/window/NotificationMatcherEdit.js:122
 msgid "Match Rules"
-msgstr "Coincidir Reglas"
+msgstr "Reglas de Coincidencias"
 
 #: proxmox-widget-toolkit/src/window/NotificationMatcherEdit.js:1023
 msgid "Match Severity"
@@ -6076,7 +6076,7 @@ msgstr "Mi configuración"
 
 #: proxmox-widget-toolkit/src/Utils.js:1003 proxmox-backup/www/Utils.js:313
 msgid "N/A"
-msgstr "NS/NC"
+msgstr "N/A"
 
 #: pve-manager/www/manager6/storage/NFSEdit.js:149
 msgid "NFS Version"
@@ -6574,7 +6574,7 @@ msgstr "No hay cambios"
 #: pmg-gui/js/UserBlackWhiteList.js:16 pmg-gui/js/UserBlackWhiteList.js:153
 #: pmg-gui/js/VirusCharts.js:12 pmg-gui/js/VirusQuarantine.js:46
 msgid "No data in database"
-msgstr "Ningunos datos en la base de datos"
+msgstr "No hay datos en la base de datos"
 
 #: pve-manager/www/manager6/dc/RealmSyncJob.js:323
 #: pve-manager/www/manager6/dc/SyncWindow.js:96
@@ -6768,7 +6768,7 @@ msgstr "Repositorio inapropiado para producción activo!"
 #: proxmox-backup/www/datastore/Content.js:1152
 #: proxmox-backup/www/window/MaintenanceOptions.js:6
 msgid "None"
-msgstr "Ni uno"
+msgstr "Ninguna"
 
 #: proxmox-widget-toolkit/src/window/DiskSmart.js:45
 msgid "Normalized"
@@ -7233,7 +7233,7 @@ msgstr "Versiones de Paquetes de Programas"
 
 #: pve-manager/www/manager6/window/BulkAction.js:77
 msgid "Parallel jobs"
-msgstr "Tareas paralelas"
+msgstr "Trabajos paralelos"
 
 #: proxmox-backup/www/window/NamespaceEdit.js:35
 msgid "Parent Namespace"
@@ -7321,7 +7321,7 @@ msgstr "Ruta"
 #: pve-manager/www/manager6/qemu/CmdMenu.js:65
 #: pve-manager/www/manager6/qemu/Config.js:160
 msgid "Pause"
-msgstr "Pausa"
+msgstr "Pausar"
 
 #: pve-manager/www/manager6/dc/Guests.js:51
 #: pve-manager/www/manager6/dc/Guests.js:96
@@ -7471,7 +7471,7 @@ msgid ""
 "with it unusable"
 msgstr ""
 "Por favor guarde las llaves de cifrado - Perderlas inutilizará cualquier "
-"copia de seguridad creada con ellas"
+"respaldo creado con ellas"
 
 #: pmg-gui/js/ContactStatistics.js:11 pmg-gui/js/ContactStatistics.js:31
 msgid "Please select a contact"
@@ -7500,7 +7500,7 @@ msgid ""
 "following IP address and fingerprint."
 msgstr ""
 "Por favor use el botón 'Unir' en el nodo que quiere añadir, usando la "
-"siguiente dirección IP y huella."
+"siguiente dirección IP y huella digital."
 
 #: proxmox-widget-toolkit/src/Utils.js:447
 #: proxmox-widget-toolkit/src/panel/TfaView.js:191
@@ -7838,7 +7838,7 @@ msgstr "Podar Trabajos"
 #: pmg-gui/js/PBSRemoteEdit.js:124
 #: proxmox-backup/www/window/DataStoreEdit.js:95
 msgid "Prune Options"
-msgstr "Podar Opciones"
+msgstr "Opciones de Podado"
 
 #: proxmox-backup/www/window/DataStoreEdit.js:77
 #: 

[pve-devel] [PATCH widget-toolkit] i18n: mark strings as translatable

2023-11-29 Thread Maximiliano Sandoval
Note that ACME is already in 3 translatable strings, a similar remark
applies to N/A which is already translated in many languages.

Signed-off-by: Maximiliano Sandoval 
---
 src/node/DNSView.js   | 2 +-
 src/panel/ACMEDomains.js  | 2 +-
 src/panel/DiskList.js | 6 +++---
 src/window/NotificationMatcherEdit.js | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/node/DNSView.js b/src/node/DNSView.js
index 4782f9c..d2a784f 100644
--- a/src/node/DNSView.js
+++ b/src/node/DNSView.js
@@ -21,7 +21,7 @@ Ext.define('Proxmox.node.DNSView', {
run_editor: run_editor,
rows: {
search: {
-   header: 'Search domain',
+   header: gettext('Search domain'),
required: true,
renderer: Ext.htmlEncode,
},
diff --git a/src/panel/ACMEDomains.js b/src/panel/ACMEDomains.js
index a7fb088..9e2e34b 100644
--- a/src/panel/ACMEDomains.js
+++ b/src/panel/ACMEDomains.js
@@ -10,7 +10,7 @@ Ext.define('Proxmox.panel.ACMEDomains', {
 mixins: ['Proxmox.Mixin.CBind'],
 
 margin: '10 0 0 0',
-title: 'ACME',
+title: gettext('ACME'),
 
 emptyText: gettext('No Domains configured'),
 
diff --git a/src/panel/DiskList.js b/src/panel/DiskList.js
index 4808f5c..dc10ac5 100644
--- a/src/panel/DiskList.js
+++ b/src/panel/DiskList.js
@@ -325,14 +325,14 @@ Ext.define('Proxmox.DiskList', {
dataIndex: 'status',
},
{
-   header: 'Mounted',
+   header: gettext('Mounted'),
width: 60,
align: 'right',
renderer: Proxmox.Utils.format_boolean,
dataIndex: 'mounted',
},
{
-   header: 'Wearout',
+   header: gettext('Wearout'),
width: 90,
sortable: true,
align: 'right',
@@ -341,7 +341,7 @@ Ext.define('Proxmox.DiskList', {
if (Ext.isNumeric(value)) {
return (100 - value).toString() + '%';
}
-   return 'N/A';
+   return gettext('N/A');
},
},
 ],
diff --git a/src/window/NotificationMatcherEdit.js 
b/src/window/NotificationMatcherEdit.js
index f88576a..e717ad7 100644
--- a/src/window/NotificationMatcherEdit.js
+++ b/src/window/NotificationMatcherEdit.js
@@ -1025,7 +1025,7 @@ Ext.define('Proxmox.panel.NotificationMatchRuleSettings', 
{
],
},
{
-   fieldLabel: 'Match Type',
+   fieldLabel: gettext('Match Type'),
xtype: 'proxmoxKVComboBox',
reference: 'type',
isFormField: false,
-- 
2.39.2



___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] applied: [PATCH proxmox-i18n] es: update Spanish translations

2023-11-29 Thread Thomas Lamprecht
Am 28/11/2023 um 12:13 schrieb Maximiliano Sandoval:
> Signed-off-by: Maximiliano Sandoval 
> ---
>  es.po | 3934 +++--
>  1 file changed, 1608 insertions(+), 2326 deletions(-)
> 
>

applied, thanks!


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



Re: [pve-devel] seem than ifupdown2 is installed by default on upgrade (a friend reported me an ipv6 slaac bug)

2023-11-29 Thread DERUMIER, Alexandre
>>
>>But here, the non working setup is mixing "inet dhcp" + "inet6 auto"
>>
>>
>>"
>>auto vmbr2
>>iface vmbr2 inet dhcp
>>   bridge-ports eth0
>>   bridge-stp off
>>   bridge-fd 0
>>
>>iface vmbr2 inet6 auto

>>"

Ok, I found the bug, this is because ifupdown2 only allow 1 method for
the interface, even if it's ipv4 vs ipv6)

https://github.com/CumulusNetworks/ifupdown2/issues/174


I have look at it and I have a working patch to fix this.
I just need to polish it a little bit, I'll send try to send it next
week.



___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


[pve-devel] [PATCH manager v2] ui: mark strings translatable

2023-11-29 Thread Maximiliano Sandoval
The string `proxmox.Utils.defaultText + ' (free)'` was inlined as `Default
(Unrestricted)` cutting translatable strings makes them harder or even
impossible to translate in certain languages. Additionally the extra context
makes the work of translators easier.

Signed-off-by: Maximiliano Sandoval 

---
Differences from v1:
  - Use Unrestricted instead of Free
  - Added a few more missing strings

 www/manager6/dc/UserTagAccessEdit.js | 10 +-
 www/manager6/form/VMCPUFlagSelector.js   | 24 
 www/manager6/lxc/CreateWizard.js |  4 ++--
 www/manager6/qemu/CreateWizard.js|  4 ++--
 www/manager6/qemu/HDEdit.js  |  2 +-
 www/manager6/sdn/controllers/IsisEdit.js |  4 ++--
 www/manager6/sdn/zones/EvpnEdit.js   |  2 +-
 www/manager6/sdn/zones/QinQEdit.js   |  2 +-
 www/manager6/window/Settings.js  | 12 ++--
 9 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/www/manager6/dc/UserTagAccessEdit.js 
b/www/manager6/dc/UserTagAccessEdit.js
index 61c38c07..90c79b73 100644
--- a/www/manager6/dc/UserTagAccessEdit.js
+++ b/www/manager6/dc/UserTagAccessEdit.js
@@ -54,11 +54,11 @@ Ext.define('PVE.dc.UserTagAccessEdit', {
deleteEmpty: false,
value: '__default__',
comboItems: [
-   ['__default__', Proxmox.Utils.defaultText + ' (free)'],
-   ['free', 'free'],
-   ['existing', 'existing'],
-   ['list', 'list'],
-   ['none', 'none'],
+   ['__default__', gettext('Default (Unrestricted)')],
+   ['free', gettext('Unrestricted')],
+   ['existing', gettext('Existing')],
+   ['list', gettext('List')],
+   ['none', gettext('None')],
],
defaultValue: '__default__',
},
diff --git a/www/manager6/form/VMCPUFlagSelector.js 
b/www/manager6/form/VMCPUFlagSelector.js
index ace3c531..2c435586 100644
--- a/www/manager6/form/VMCPUFlagSelector.js
+++ b/www/manager6/form/VMCPUFlagSelector.js
@@ -21,18 +21,18 @@ Ext.define('PVE.form.VMCPUFlagSelector', {
fields: ['flag', { name: 'state', defaultValue: '=' }, 'desc'],
data: [
// FIXME: let qemu-server host this and autogenerate or get from 
API call??
-   { flag: 'md-clear', desc: 'Required to let the guest OS know if MDS 
is mitigated correctly' },
-   { flag: 'pcid', desc: 'Meltdown fix cost reduction on Westmere, 
Sandy-, and IvyBridge Intel CPUs' },
-   { flag: 'spec-ctrl', desc: 'Allows improved Spectre mitigation with 
Intel CPUs' },
-   { flag: 'ssbd', desc: 'Protection for "Speculative Store Bypass" 
for Intel models' },
-   { flag: 'ibpb', desc: 'Allows improved Spectre mitigation with AMD 
CPUs' },
-   { flag: 'virt-ssbd', desc: 'Basis for "Speculative Store Bypass" 
protection for AMD models' },
-   { flag: 'amd-ssbd', desc: 'Improves Spectre mitigation performance 
with AMD CPUs, best used with "virt-ssbd"' },
-   { flag: 'amd-no-ssb', desc: 'Notifies guest OS that host is not 
vulnerable for Spectre on AMD CPUs' },
-   { flag: 'pdpe1gb', desc: 'Allow guest OS to use 1GB size pages, if 
host HW supports it' },
-   { flag: 'hv-tlbflush', desc: 'Improve performance in overcommitted 
Windows guests. May lead to guest bluescreens on old CPUs.' },
-   { flag: 'hv-evmcs', desc: 'Improve performance for nested 
virtualization. Only supported on Intel CPUs.' },
-   { flag: 'aes', desc: 'Activate AES instruction set for HW 
acceleration.' },
+   { flag: 'md-clear', desc: gettext('Required to let the guest OS 
know if MDS is mitigated correctly') },
+   { flag: 'pcid', desc: gettext('Meltdown fix cost reduction on 
Westmere, Sandy-, and IvyBridge Intel CPUs') },
+   { flag: 'spec-ctrl', desc: gettext('Allows improved Spectre 
mitigation with Intel CPUs') },
+   { flag: 'ssbd', desc: gettext('Protection for "Speculative Store 
Bypass" for Intel models') },
+   { flag: 'ibpb', desc: gettext('Allows improved Spectre mitigation 
with AMD CPUs') },
+   { flag: 'virt-ssbd', desc: gettext('Basis for "Speculative Store 
Bypass" protection for AMD models') },
+   { flag: 'amd-ssbd', desc: gettext('Improves Spectre mitigation 
performance with AMD CPUs, best used with "virt-ssbd"') },
+   { flag: 'amd-no-ssb', desc: gettext('Notifies guest OS that host is 
not vulnerable for Spectre on AMD CPUs') },
+   { flag: 'pdpe1gb', desc: gettext('Allow guest OS to use 1GB size 
pages, if host HW supports it') },
+   { flag: 'hv-tlbflush', desc: gettext('Improve performance in 
overcommitted Windows guests. May lead to guest bluescreens on old CPUs.') },
+   { flag: 'hv-evmcs', desc: gettext('Improve 

[pve-devel] [PATCH widget-toolkit] notify: sendmail: smtp: fix mailto/mailto-user parameter deletion

2023-11-29 Thread Lukas Wagner
Both fields were moved to a separate panel at some point, but this
broke parameter deletion behavior (e.g. if a target is modified and
switches from using mailto to mailto-user, then mailto should be
deleted)

Signed-off-by: Lukas Wagner 
---
 src/panel/SendmailEditPanel.js | 7 +++
 src/panel/SmtpEditPanel.js | 6 ++
 2 files changed, 13 insertions(+)

diff --git a/src/panel/SendmailEditPanel.js b/src/panel/SendmailEditPanel.js
index 5a154c1..f943fa4 100644
--- a/src/panel/SendmailEditPanel.js
+++ b/src/panel/SendmailEditPanel.js
@@ -97,7 +97,14 @@ Ext.define('Proxmox.panel.SendmailEditPanel', {
 
if (values.mailto) {
values.mailto = values.mailto.split(/[\s,;]+/);
+   } else if (!me.isCreate) {
+   Proxmox.Utils.assemble_field_data(values, { 'delete': 'mailto' });
}
+
+   if (!values['mailto-user'] && !me.isCreate) {
+   Proxmox.Utils.assemble_field_data(values, { 'delete': 'mailto-user' 
});
+   }
+
return values;
 },
 });
diff --git a/src/panel/SmtpEditPanel.js b/src/panel/SmtpEditPanel.js
index 8b258e0..128f1e3 100644
--- a/src/panel/SmtpEditPanel.js
+++ b/src/panel/SmtpEditPanel.js
@@ -173,6 +173,12 @@ Ext.define('Proxmox.panel.SmtpEditPanel', {
 
if (values.mailto) {
values.mailto = values.mailto.split(/[\s,;]+/);
+   } else if (!me.isCreate) {
+   Proxmox.Utils.assemble_field_data(values, { 'delete': 'mailto' });
+   }
+
+   if (!values['mailto-user'] && !me.isCreate) {
+   Proxmox.Utils.assemble_field_data(values, { 'delete': 'mailto-user' 
});
}
 
if (!values.authentication && !me.isCreate) {
-- 
2.39.2



___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



Re: [pve-devel] [PATCH manager] ui: mark strings translatable

2023-11-29 Thread Fiona Ebner
Am 29.11.23 um 10:48 schrieb Dietmar Maurer:
>>> So what languages are the problem exactly? Please can you
>>> give me an example?
>>
>> Any right-to-left languages could be broken.
> 
> This is not really true. RTL languages just render string in the other 
> direction, so string concatenation still works as expected.
> 

Not all languages use the same word order to express the same meaning,
so concatenation is still wrong.

Consider
"I tried the new product"
and suppose you want to split it
"I tried" + "the new product"

This will not work for Japanese, because the verb will come last.


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] applied: [PATCH pve-network] dhcp: dnsmasq: Use dir_glob_foreach for deleting configuration files

2023-11-29 Thread Thomas Lamprecht
Am 28/11/2023 um 09:58 schrieb Stefan Hanreich:
> The current invocation is quite unsafe and triggers the taint mode of
> Perl. Replacing it with dir_glob_foreach solves those issues.
> 
> Reported-By: Friedrich Weber 
> Signed-off-by: Stefan Hanreich 
> ---
> I wasn't sure whether directly unlinking the files in the callback
> would influence the iteration, hence why I store them in an
> intermediate array. Also, unlinking them all at once probably is
> better than unlinking them one-by-one (although it shouldn't matter
> with the low amount of files here..)

At least POSIX doesn't gives any guarantee:

> If a file is removed from or added to the directory after the most
> recent call to opendir() or rewinddir(), whether a subsequent call to
> readdir() returns an entry for that file is unspecified.

And Linux seems to only guarantee that files not added or removed since
the last opendir are returned, so it probably would work for this use
case, but IMO it's just not worth the hassle finding out if there's
some odd edge case, so a intermediate array was a good call.

> 
>  src/PVE/Network/SDN/Dhcp/Dnsmasq.pm | 8 +++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
>

applied, thanks!


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] applied: [PATCH] update kernel to 6.5.11 and ZFS to 2.2.1, refresh patches

2023-11-29 Thread Thomas Lamprecht
Am 28/11/2023 um 16:07 schrieb Stoiko Ivanov:
> * for the kernel-patch this includes a rename from 0003+0004 to
>   0001+0002
> * for ZFS there was a change in upstream's autotools-setup - I
>   referenced the commit in the actual patch-file
> 
> minimally tested with a VM with a zfs-pool and an ext4 disk
> * restore of a directory on ext4 containing 160MB of debian packages
>   as tar.zstd
> * restore of a small folder (/root in a debian container) on zfs
> both worked
> 
> restoring files from a Windows guest - worked, however there is an
> independent issue with tpmstate not being found:
> `given image 'drive-tpmstate0-backup.img.fidx' not found (400)`
> 
> directories with 10 million files also still cause the restore-shim to
> run into OOM (but this is independent of the restore-image)
> 
> Signed-off-by: Stoiko Ivanov 
> ---
>  ...ch => 0001-vsock-reduce-packet-size.patch} |  9 +++--
>  ...estore-halt-machine-on-kernel-panic.patch} |  9 +++--
>  .../0001-remove-reference-to-libudev.patch| 19 +--
>  src/submodules/ubuntu-kernel  |  2 +-
>  src/submodules/zfsonlinux |  2 +-
>  5 files changed, 17 insertions(+), 24 deletions(-)
>  rename src/patches/kernel/{0003-vsock-reduce-packet-size.patch => 
> 0001-vsock-reduce-packet-size.patch} (86%)
>  rename 
> src/patches/kernel/{0004-PBS-restore-halt-machine-on-kernel-panic.patch => 
> 0002-PBS-restore-halt-machine-on-kernel-panic.patch} (83%)
> 
>

applied, thanks!

ps. could use a

  git config format.subjectprefix "PATCH backup-restore-image"

;-)


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] applied: [PATCH pve-network] api: vnet: fix warning in vnet API

2023-11-29 Thread Thomas Lamprecht
Am 27/11/2023 um 11:23 schrieb Stefan Hanreich:
> If zone is not set, we also check the pending changes for a zone key,
> since it is set as pending when the Vnet settings have not yet been
> applied.
> 
> Signed-off-by: Stefan Hanreich 
> ---
>  src/PVE/API2/Network/SDN/Vnets.pm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
>

applied, thanks!


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] applied-series: [PATCH i18n 1/3] german: unify different words of the same meaning

2023-11-29 Thread Thomas Lamprecht
Am 24/11/2023 um 19:28 schrieb Alexander Zeidler:
> Signed-off-by: Alexander Zeidler 
> ---
>  de.po | 38 +++---
>  1 file changed, 19 insertions(+), 19 deletions(-)
> 
>

applied, thanks!


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



Re: [pve-devel] [PATCH manager] ui: mark strings translatable

2023-11-29 Thread Dietmar Maurer
> > So what languages are the problem exactly? Please can you
> > give me an example?
> 
> Any right-to-left languages could be broken.

This is not really true. RTL languages just render string in the other 
direction, so string concatenation still works as expected.

> 
> Am 28/11/2023 um 15:46 schrieb Dietmar Maurer:
> > To be more clear, I would use:
> > 
> > proxmox.Utils.defaultText + ' (' + gettext('Free') + ')'


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] applied: [qemu-server] fix: do not allow live-migration with clipboard=vnc

2023-11-29 Thread Fiona Ebner
Am 24.11.23 um 13:32 schrieb Markus Frank:
> In the migrate_vm_precondition API function if clipboard
> is set to vnc on a running VM the text "clipboard=vnc"
> gets added to local_resources so that the GUI blocks execution and shows:
> "Can't migrate VM with local resources: clipboard=vnc"
> 
> In QemuMigrate's prepare function a new 'die' prevents a
> live-migration if a running VMs has clipboard set to vnc.
> 
> Signed-off-by: Markus Frank 

applied, thanks!

Added the reason why to the commit message (because QEMU's vdagent
device doesn't support it yet) and reworded it a bit to avoid talking
about code specifics and (hopefully) improve readability.

Also made a follow-up adding this information to the description of the
clipboard in the schema. When it's added to the UI, it would also be
great to have a hint there, because it is rather surprising that it
prevents live-migration.


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] applied: [PATCH pve-network] validation: add support for arrays to change tracking

2023-11-29 Thread Thomas Lamprecht
Am 22/11/2023 um 13:28 schrieb Stefan Hanreich:
> This is needed so dhcp-ranges are properly displayed as changed in the
> web UI.
> 
> Also took the chance to properly indent the encode_value function with
> our indentation scheme.
> 
> Signed-off-by: Stefan Hanreich 
> ---
>  src/PVE/Network/SDN.pm | 14 --
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
>

applied, with Hannes' T-b, thanks!


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] [PATCH zfsonlinux 1/2] cherry-pick fix for data corruption

2023-11-29 Thread Fabian Grünbichler
cherry-picked from 2.2.0-staging, fixing
https://github.com/openzfs/zfs/issues/15526

Signed-off-by: Fabian Grünbichler 
---
 ...heck-dnode-and-its-data-for-dirtines.patch | 97 +++
 debian/patches/series |  1 +
 2 files changed, 98 insertions(+)
 create mode 100644 
debian/patches/0018-dnode_is_dirty-check-dnode-and-its-data-for-dirtines.patch

diff --git 
a/debian/patches/0018-dnode_is_dirty-check-dnode-and-its-data-for-dirtines.patch
 
b/debian/patches/0018-dnode_is_dirty-check-dnode-and-its-data-for-dirtines.patch
new file mode 100644
index 000..f79b09b
--- /dev/null
+++ 
b/debian/patches/0018-dnode_is_dirty-check-dnode-and-its-data-for-dirtines.patch
@@ -0,0 +1,97 @@
+From 9b9b09f452a469458451c221debfbab944e7f081 Mon Sep 17 00:00:00 2001
+From: Rob N 
+Date: Wed, 29 Nov 2023 04:15:48 +1100
+Subject: [PATCH] dnode_is_dirty: check dnode and its data for dirtiness
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Over its history this the dirty dnode test has been changed between
+checking for a dnodes being on `os_dirty_dnodes` (`dn_dirty_link`) and
+`dn_dirty_record`.
+
+  de198f2d9 Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency
+  2531ce372 Revert "Report holes when there are only metadata changes"
+  ec4f9b8f3 Report holes when there are only metadata changes
+  454365bba Fix dirty check in dmu_offset_next()
+  66aca2473 SEEK_HOLE should not block on txg_wait_synced()
+
+Also illumos/illumos-gate@c543ec060d illumos/illumos-gate@2bcf0248e9
+
+It turns out both are actually required.
+
+In the case of appending data to a newly created file, the dnode proper
+is dirtied (at least to change the blocksize) and dirty records are
+added.  Thus, a single logical operation is represented by separate
+dirty indicators, and must not be separated.
+
+The incorrect dirty check becomes a problem when the first block of a
+file is being appended to while another process is calling lseek to skip
+holes. There is a small window where the dnode part is undirtied while
+there are still dirty records. In this case, `lseek(fd, 0, SEEK_DATA)`
+would not know that the file is dirty, and would go to
+`dnode_next_offset()`. Since the object has no data blocks yet, it
+returns `ESRCH`, indicating no data found, which results in `ENXIO`
+being returned to `lseek()`'s caller.
+
+Since coreutils 9.2, `cp` performs sparse copies by default, that is, it
+uses `SEEK_DATA` and `SEEK_HOLE` against the source file and attempts to
+replicate the holes in the target. When it hits the bug, its initial
+search for data fails, and it goes on to call `fallocate()` to create a
+hole over the entire destination file.
+
+This has come up more recently as users upgrade their systems, getting
+OpenZFS 2.2 as well as a newer coreutils. However, this problem has been
+reproduced against 2.1, as well as on FreeBSD 13 and 14.
+
+This change simply updates the dirty check to check both types of dirty.
+If there's anything dirty at all, we immediately go to the "wait for
+sync" stage, It doesn't really matter after that; both changes are on
+disk, so the dirty fields should be correct.
+
+Sponsored-by: Klara, Inc.
+Sponsored-by: Wasabi Technology, Inc.
+Reviewed-by: Brian Behlendorf 
+Reviewed-by: Alexander Motin 
+Reviewed-by: Rich Ercolani 
+Signed-off-by: Rob Norris 
+Closes #15571
+Closes #15526
+Signed-off-by: Fabian Grünbichler 
+---
+ module/zfs/dnode.c | 12 ++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/module/zfs/dnode.c b/module/zfs/dnode.c
+index 7cf03264d..ad9988366 100644
+--- a/module/zfs/dnode.c
 b/module/zfs/dnode.c
+@@ -1764,7 +1764,14 @@ dnode_try_claim(objset_t *os, uint64_t object, int 
slots)
+ }
+ 
+ /*
+- * Checks if the dnode contains any uncommitted dirty records.
++ * Checks if the dnode itself is dirty, or is carrying any uncommitted 
records.
++ * It is important to check both conditions, as some operations (eg appending
++ * to a file) can dirty both as a single logical unit, but they are not synced
++ * out atomically, so checking one and not the other can result in an object
++ * appearing to be clean mid-way through a commit.
++ *
++ * Do not change this lightly! If you get it wrong, dmu_offset_next() can
++ * detect a hole where there is really data, leading to silent corruption.
+  */
+ boolean_t
+ dnode_is_dirty(dnode_t *dn)
+@@ -1772,7 +1779,8 @@ dnode_is_dirty(dnode_t *dn)
+   mutex_enter(>dn_mtx);
+ 
+   for (int i = 0; i < TXG_SIZE; i++) {
+-  if (multilist_link_active(>dn_dirty_link[i])) {
++  if (multilist_link_active(>dn_dirty_link[i]) ||
++  !list_is_empty(>dn_dirty_records[i])) {
+   mutex_exit(>dn_mtx);
+   return (B_TRUE);
+   }
+-- 
+2.39.2
+
diff --git a/debian/patches/series b/debian/patches/series
index d20a605..ac820c7 100644
--- a/debian/patches/series
+++ 

[pve-devel] [PATCH pve-kernel 2/2] bump version to 6.5.11-6

2023-11-29 Thread Fabian Grünbichler
Signed-off-by: Fabian Grünbichler 
---
 Makefile | 2 +-
 debian/changelog | 6 ++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index f0d119c..991e39e 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@ KERNEL_MIN=5
 KERNEL_PATCHLEVEL=11
 # increment KREL for every published package release!
 # rebuild packages with new KREL and run 'make abiupdate'
-KREL=5
+KREL=6
 
 KERNEL_MAJMIN=$(KERNEL_MAJ).$(KERNEL_MIN)
 KERNEL_VER=$(KERNEL_MAJMIN).$(KERNEL_PATCHLEVEL)
diff --git a/debian/changelog b/debian/changelog
index 646728e..e5442aa 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+proxmox-kernel-6.5 (6.5.11-6) bookworm; urgency=medium
+
+  * cherry-pick ZFS fix for (rare) dirty dnode data corruption bug
+
+ -- Proxmox Support Team   Wed, 29 Nov 2023 09:32:26 +0100
+
 proxmox-kernel-6.5 (6.5.11-5) bookworm; urgency=medium
 
   * properly set CONFIG_VFIO_VIRQFD as a boolean
-- 
2.39.2



___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


[pve-devel] [PATCH pve-kernel 1/2] update zfs to 2.2.0-pve4

2023-11-29 Thread Fabian Grünbichler
which contains the fix for https://github.com/openzfs/zfs/issues/15526

Signed-off-by: Fabian Grünbichler 
---
 submodules/zfsonlinux | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/submodules/zfsonlinux b/submodules/zfsonlinux
index e295f30..00036e5 16
--- a/submodules/zfsonlinux
+++ b/submodules/zfsonlinux
@@ -1 +1 @@
-Subproject commit e295f30e6acc962f76a71306a569f292994614c0
+Subproject commit 00036e5a6eba553a9f6d116c52c7189f773ac24d
-- 
2.39.2



___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


[pve-devel] [PATCH zfsonlinux 2/2] bump version to 2.2.0-pve4

2023-11-29 Thread Fabian Grünbichler
Signed-off-by: Fabian Grünbichler 
---
 debian/changelog | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 5bd9d2a..f2fa727 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+zfs-linux (2.2.0-pve4) bookworm; urgency=medium
+
+  * pick bug-fix staged for 2.2.2:
+- fix (rare) corruption caused by dirty dnode being treated as clean
+
+ -- Proxmox Support Team   Wed, 29 Nov 2023 09:21:26 +0100
+
 zfs-linux (2.2.0-pve3) bookworm; urgency=medium
 
   * pick bug-fixes staged for 2.2.1:
-- 
2.39.2



___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


[pve-devel] (already applied) [PATCH zfsonlinux/kernel 0/4] Fix ZFS data corruption bug

2023-11-29 Thread Fabian Grünbichler
cherry-picked from upstream's staging-2.2.2 and verified using the
reproducer script on an affected machine.

kernel side (actual fix):

Fabian Grünbichler (2):
  update zfs to 2.2.0-pve4
  bump version to 6.5.11-6

 Makefile  | 2 +-
 debian/changelog  | 6 ++
 submodules/zfsonlinux | 2 +-
 3 files changed, 8 insertions(+), 2 deletions(-)

zfs userspace (for version consistency/reduced confusion):

Fabian Grünbichler (2):
  cherry-pick fix for data corruption
  bump version to 2.2.0-pve4

 debian/changelog  |  7 ++
 ...heck-dnode-and-its-data-for-dirtines.patch | 97 +++
 debian/patches/series |  1 +
 3 files changed, 105 insertions(+)
 create mode 100644 
debian/patches/0018-dnode_is_dirty-check-dnode-and-its-data-for-dirtines.patch

-- 
2.39.2



___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] [PATCH manager] ui: mark strings translatable

2023-11-29 Thread Thomas Lamprecht
Am 29/11/2023 um 09:08 schrieb Maximiliano Sandoval:
>>> If its only right-to-left languages, we could just add another helper
>>> to assemble lists in the correct order?
> 
> The GNOME l10n guidelines at least have an entry about not splitting
> strings.
> 
> While it does not apply to this particular example, the gender of words
> can be affected by words on the other side of the split.
> 
> [1] 
> https://wiki.gnome.org/TranslationProject/DevGuidelines/Never%20split%20sentences

Fine to me to adopt as our new guideline too, in the end it makes our and
translators life simpler, as they can actually make good translations, even
if there's slightly more to translate (which never was a problem in the
first place).


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



Re: [pve-devel] [PATCH manager] ui: mark strings translatable

2023-11-29 Thread Maximiliano Sandoval


> btw. @Maximiliano: "Free" is rather a bad original text for the

Noted. Will send a v2 in a bit.

>> If its only right-to-left languages, we could just add another helper
>> to assemble lists in the correct order?

The GNOME l10n guidelines at least have an entry about not splitting
strings.

While it does not apply to this particular example, the gender of words
can be affected by words on the other side of the split.

[1] 
https://wiki.gnome.org/TranslationProject/DevGuidelines/Never%20split%20sentences


--
Maximiliano


___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel