示例#1
0
}
/* Valid OTP, update database. */
if (!$sync->updateDbCounters($otpParams)) {
    $myLog->log(LOG_CRIT, 'Failed to update yubikey counters in database');
    sendResp(S_BACKEND_ERROR, $myLog, $apiKey);
}
/* Queue sync requests */
if (!$sync->queue($otpParams, $localParams)) {
    $myLog->log(LOG_CRIT, 'ykval-verify:critical:failed to queue sync requests');
    sendResp(S_BACKEND_ERROR, $myLog, $apiKey);
}
$nr_servers = $sync->getNumberOfServers();
$req_answers = ceil($nr_servers * $sl / 100.0);
if ($req_answers > 0) {
    $syncres = $sync->sync($req_answers, $timeout);
    $nr_answers = $sync->getNumberOfAnswers();
    $nr_valid_answers = $sync->getNumberOfValidAnswers();
    $sl_success_rate = floor(100.0 * $nr_valid_answers / $nr_servers);
} else {
    $syncres = true;
    $nr_answers = 0;
    $nr_valid_answers = 0;
    $sl_success_rate = 0;
}
$myLog->log(LOG_INFO, "ykval-verify:notice:synclevel=" . $sl . " nr servers=" . $nr_servers . " req answers=" . $req_answers . " answers=" . $nr_answers . " valid answers=" . $nr_valid_answers . " sl success rate=" . $sl_success_rate . " timeout=" . $timeout);
if ($syncres == False) {
    /* sync returned false, indicating that
    		either at least 1 answer marked OTP as invalid or
    		there were not enough answers */
    $myLog->log(LOG_WARNING, 'ykval-verify:notice:Sync failed');
    if ($nr_valid_answers != $nr_answers) {