Skip to content

Commit 3aba8b7

Browse files
committed
chore: remove stale TODO comments
1 parent 7241dfc commit 3aba8b7

File tree

8 files changed

+19
-15
lines changed

8 files changed

+19
-15
lines changed

knox.sh

-2
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ if ! which node > /dev/null
4545
fi
4646

4747
# Check script is running from knox's base directory
48-
# TODO: Check for package.json as well
4948
pkgName=$(npm pkg get name 2>/dev/null | tr -d '"')
5049
if [ "$pkgName" != "knox" ]
5150
then
@@ -58,7 +57,6 @@ if [ "$pkgName" != "knox" ]
5857
fi
5958

6059
# Install npm packages
61-
# TODO: Ask user for confirmation?
6260
echo "Installing required packages for Knox..."
6361
npm install > /dev/null
6462

src/client/pages/login/login.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import knoxLogo from "/knox.svg";
33
import loadingIcon from "/loading.svg";
44

55
import * as auth from "~/scripts/auth.js";
6+
import { delKey } from "~/scripts/keys.js";
67
import { isEmail } from "@/utils.js";
78

89
document.querySelector(".logo").src = knoxLogo;
@@ -65,7 +66,8 @@ document.getElementById("confirm").addEventListener("click", () => {
6566
document.forms["login"].reset();
6667
});
6768

68-
document.getElementById("uncache").addEventListener("click", () => {
69+
document.getElementById("uncache").addEventListener("click", async () => {
6970
localStorage.removeItem("user");
71+
await delKey("AUK");
7072
window.location.reload();
7173
});

src/client/scripts/auth.js

-4
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,6 @@ export function login(email, pwd, secret_key) {
5353
const B = hex.toBigInt(res.data.B);
5454
const u = core.derive_u(A, B);
5555

56-
// TODO: abort if safeguards fail
57-
// TODO: change buffer.from to hex
58-
5956
const x = secret_key
6057
? await keys.two_sk_derivation(
6158
pwd,
@@ -105,7 +102,6 @@ export function login(email, pwd, secret_key) {
105102
["encrypt", "decrypt", "wrapKey", "unwrapKey"]
106103
);
107104

108-
// TOOD: how long to store AUK?
109105
await keys.storeKey("AUK", AUK);
110106

111107
localStorage.setItem(

src/client/scripts/keys.js

+11
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,17 @@ export async function getKey(name) {
8080
return key;
8181
}
8282

83+
export async function delKey(name) {
84+
const db = await openDB("knox", 1, {
85+
upgrade(db) {
86+
db.createObjectStore("keys");
87+
},
88+
});
89+
90+
await db.delete("keys", name);
91+
db.close();
92+
}
93+
8394
export function generateKeychain(AUK) {
8495
const webCrypto = window.crypto.subtle;
8596

src/server/controllers/keychainsController.js

-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import { User as UserModel } from "../models/user.model.js";
55
const Keychain = KeychainModel(db);
66
const User = UserModel(db);
77

8-
// TODO: edge cases?
9-
108
export const getKeychain = async (req, res, next) => {
119
const { keychainUuid, email } = req.body;
1210

src/server/controllers/loginController.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ export const loginUser = async (req, res) => {
1212
if (!identity || !A) {
1313
return res.status(400).json({ err: "Missing a required field." });
1414
}
15-
// TODO: check A mod N
1615

1716
const user = await User.findOne({
1817
where: {
@@ -49,6 +48,10 @@ export const loginUser = async (req, res) => {
4948

5049
export const authenticateUser = async (req, res) => {
5150
const { identity, deviceID } = req.body;
51+
if (!identity || !deviceID || !req.body.challenge) {
52+
return res.status(400).json({ err: "Missing a required field." });
53+
}
54+
5255
const M1 = hex.toBigInt(req.body.challenge);
5356

5457
const cacheID = `${identity}:${deviceID}`;
@@ -64,7 +67,7 @@ export const authenticateUser = async (req, res) => {
6467
const { v, s } = { v: hex.toBigInt(user.srp_v), s: hex.toBigInt(user.srp_s) };
6568

6669
const cache = await redis.hGetAll(cacheID);
67-
// TODO: fail if no result or missing req params. clean up types so less conversion?
70+
if (!cache) res.status(401).json({ err: "Authentication was unsuccessful." });
6871

6972
const B = server.derive_B(hex.toBigInt(cache.b), v, core.derive_k());
7073
const u = core.derive_u(hex.toBigInt(cache.A), B);

src/server/controllers/usersController.js

-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ export const putName = async (req, res, next) => {
3434
next();
3535
};
3636

37-
// TODO: get name
38-
3937
export const getUserKeychainUUIDs = async (req, res, next) => {
4038
const { email } = req.body;
4139

src/server/controllers/vaultsController.js

-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import { User as UserModel } from "../models/user.model.js";
55
const Vault = VaultModel(db);
66
const User = UserModel(db);
77

8-
// TODO: edge cases?
9-
108
export const getVault = async (req, res, next) => {
119
const { vaultUuid, email } = req.body;
1210

0 commit comments

Comments
 (0)