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



Reply via email to