]> git.proxmox.com Git - pve-access-control.git/commitdiff
fix #1062: use correct length for base32 keys
authorDominik Csapak <d.csapak@proxmox.com>
Wed, 20 Jul 2016 11:31:33 +0000 (13:31 +0200)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Wed, 20 Jul 2016 13:21:48 +0000 (15:21 +0200)
we wrongly assumed the keys to be 32 chars long,
instead of 16

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

index 0af92d782f661e1ebf8da34c399236797eaf67f8..0b6437404f38c5e324881d1e35d8745fb959034f 100644 (file)
@@ -1299,7 +1299,7 @@ sub oath_verify_otp {
     foreach my $k (PVE::Tools::split_list($keys)) {
        # Note: we generate 3 values to allow small time drift
        my $binkey;
-       if ($k =~ /^[A-Z2-7=]{32}$/) {
+       if ($k =~ /^[A-Z2-7=]{16}$/) {
            $binkey = MIME::Base32::decode_rfc3548($k);
        } elsif ($k =~ /^[A-Fa-f0-9]{40}$/) {
            $binkey = pack('H*', $k);