= 1 && strlen($VARS['newpin']) <= 8))) { returnToSender("invalid_pin_format"); } if ($VARS['newpin'] == $VARS['conpin']) { $database->update('accounts', ['pin' => ($VARS['newpin'] == "" ? null : $VARS['newpin'])], ['uid' => $_SESSION['uid']]); returnToSender("pin_updated"); } returnToSender("new_pin_mismatch"); break; case "add2fa": if (is_empty($VARS['secret'])) { returnToSender("invalid_parameters"); } $totp = new TOTP(null, $VARS['secret']); if (!$totp->verify($VARS["totpcode"])) { returnToSender("2fa_wrong_code"); } $database->update('accounts', ['authsecret' => $VARS['secret']], ['uid' => $_SESSION['uid']]); insertAuthLog(9, $_SESSION['uid']); returnToSender("2fa_enabled"); case "rm2fa": $database->update('accounts', ['authsecret' => ""], ['uid' => $_SESSION['uid']]); insertAuthLog(10, $_SESSION['uid']); returnToSender("2fa_removed"); break; }