yms/backend.php
changeset 13 8a8cdc21aa15
parent 12 31387f4022e5
equal deleted inserted replaced
12:31387f4022e5 13:8a8cdc21aa15
   352   {
   352   {
   353     $expect_delta = time() - $access_time;
   353     $expect_delta = time() - $access_time;
   354     // Tolerate up to a 0.5Hz deviance from 8Hz. I've observed Yubikey
   354     // Tolerate up to a 0.5Hz deviance from 8Hz. I've observed Yubikey
   355     // clocks running at 8.32Hz
   355     // clocks running at 8.32Hz
   356     $actual_delta = $otp['timestamp'] - $token_time;
   356     $actual_delta = $otp['timestamp'] - $token_time;
   357     $fuzz = 150 + round(($actual_delta / 7.5) - ($actual_delta / 8.5));
   357     $fuzz = 150 + round(($actual_delta / 7.75) - ($actual_delta / 8.25));
   358     // Now that we've calculated fuzz, convert the actual delta to quasi-seconds
   358     // Now that we've calculated fuzz, convert the actual delta to quasi-seconds
   359     $actual_delta /= 8;
   359     $actual_delta /= 8;
   360     if ( !yms_within($expect_delta, $actual_delta, $fuzz) )
   360     if ( !yms_within($expect_delta, $actual_delta, $fuzz) )
   361     {
   361     {
   362       // if we have a likely wraparound, just pass it
   362       // if we have a likely wraparound, just pass it