Fixed U2F server exception (#4346)

Ylian Saint-Hilaire committed Jul 31, 2022 at 11:25 UTC 2c9fcdbfd04722e71171e8eb6b2758433b19668d
1 file changed +3 -4
webserver.js
+3 -4
@@ -978,9 +978,8 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
978
979 // Return a U2F hardware key challenge
980 function getHardwareKeyChallenge(req, domain, user, func) {
981 - delete req.session.u2f;
982 - if (req.session == null) { req.session = {}; }
983 - const sec = parent.decryptSessionData(req.session.e);
981 + var sec = {};
982 + if (req.session == null) { req.session = {}; } else { try { sec = parent.decryptSessionData(req.session.e); } catch (ex) { } }
983
984 if (user.otphkeys && (user.otphkeys.length > 0)) {
985 // Get all WebAuthn keys
@@ -998,7 +997,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
997 }
998 }
999
1001 - // Remove the chalange if present
1000 + // Remove the challenge if present
1001 if (sec.u2f != null) { delete sec.u2f; req.session.e = parent.encryptSessionData(sec); }
1002
1003 parent.debug('web', 'getHardwareKeyChallenge: fail');