Fiona Ebner <[email protected]> writes: > Changes in v2: > * Improve commit message - the ENV issues only happen when Perl's > internal representation is not valid UTF-8 itself. > * Rebase on latest master. > > There are multiple issues with UTF-8 password handling for PBS backup: > > 1. As reported in the community forum, PBS backup of VMs would not > work when the password contained a multi-byte UTF-8 character. The > first patch fixes this by properly encoding the JSON sent via QMP. > > 2. The PBS password is saved as UTF-8 and decoded to Perl's internal > string representation upon reading from the password file. When the > password is not valid UTF-8 in Perl's internal representation, which > for example happens with a password like 'ääääöööö', backing up a > diskless VM would fail with: >> Error: error building client for repository XXX - >> PBS_PASSWORD contains bad characters > > 3. The same error would occur for uploading the log file after backup, as > well as extracting the configuration file from backup. > > 4. Restoring would fail with: >> restore failed: invalid utf-8 sequence of 1 bytes from index 0 > > Fix issues 2.-4. by properly encoding the value for the PBS_PASSWORD > environment variable value again as UTF-8. > > 5. For PMG, using passwords that would be auto-encoded by Perl as either > ASCII or UTF-8 already worked, but other encodings would not, for > example ISO-8859 would result in: >> proxmox-backup-client failed: Error: error building client for >> repository latin@[email protected]:8007:bigone - PBS_PASSWORD >> contains bad characters (500) > > Follow pve-storage commit 5245e04 ("fix #5181: pbs: store and read > passwords as unicode") and align the behavior of the storage plugin > and pbs client module. >
I tested: - Created a user on a pbs with bär as its password - On a pve create a pbs storage for this user via pvesm add - Check outs its `pvesm status` - Created backups of a VM while if both offline and online - The same but without any attached disk It works as expected. Tested-by: Maximiliano Sandoval <[email protected]> -- Maximiliano
