]> git.proxmox.com Git - pve-firewall.git/commitdiff
fix 901: encode unicode characters in sha digest
authorDominik Csapak <d.csapak@proxmox.com>
Mon, 29 Feb 2016 11:36:19 +0000 (12:36 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Mon, 29 Feb 2016 11:39:54 +0000 (12:39 +0100)
if we do not do this, Digest::SHA->add croaks when it detects
wide symbols

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
src/PVE/Firewall.pm

index ccfb76b869d036fc31bd42a990e8677fb38d0c60..22d823f90fed82511d3589a8a5eb7498f6abf786 100644 (file)
@@ -1093,7 +1093,10 @@ sub copy_list_with_digest {
            next if !defined($v);
            $data->{$k} = $v;
            # Note: digest ignores refs ($rule->{errors})
-           $sha->add($k, ':', $v, "\n") if !ref($v); ;
+           # since Digest::SHA expects a series of bytes,
+           #  we have to encode the value here to prevent errors when
+           #  using utf8 characters (eg. in comments)
+           $sha->add($k, ':', encode_utf8($v), "\n") if !ref($v); ;
        }
        push @$res, $data;
     }