From 6352df5d5a63ba41465f1f2cf0ce0ec57667bc16 Mon Sep 17 00:00:00 2001 From: nai-degen Date: Fri, 24 May 2024 02:02:21 -0500 Subject: [PATCH] fixes mixed ipv4-ipv6 handling in cidr module --- src/admin/web/manage.ts | 8 +-- src/info-page.ts | 2 +- src/shared/cidr.ts | 51 ++++++++++--------- src/shared/views/partials/shared_header.ejs | 2 - .../views/partials/user_challenge_widget.ejs | 6 +-- 5 files changed, 36 insertions(+), 33 deletions(-) diff --git a/src/admin/web/manage.ts b/src/admin/web/manage.ts index a0adbdb..bdeab5d 100644 --- a/src/admin/web/manage.ts +++ b/src/admin/web/manage.ts @@ -314,10 +314,10 @@ router.post("/maintenance", (req, res) => { const temps = users.filter((u) => u.type === "temporary"); temps.forEach((user) => { user.expiresAt = Date.now(); - user.disabledReason = "Admin forced expiration." + user.disabledReason = "Admin forced expiration."; userStore.upsertUser(user); }); - invalidatePowHmacKey() + invalidatePowHmacKey(); flash.type = "success"; flash.message = `${temps.length} temporary users marked for expiration.`; break; @@ -370,8 +370,8 @@ router.post("/maintenance", (req, res) => { ipv4RangeMap.set(subnet, userSet); } else if (parsed.kind() === "ipv6") { const subnet = - parsed.toNormalizedString().split(":").slice(0, 3).join(":") + - "::/56"; + parsed.toNormalizedString().split(":").slice(0, 4).join(":") + + "::/48"; const userSet = ipv6RangeMap.get(subnet) || new Set(); userSet.add(u.token); ipv6RangeMap.set(subnet, userSet); diff --git a/src/info-page.ts b/src/info-page.ts index 9dc7862..443516b 100644 --- a/src/info-page.ts +++ b/src/info-page.ts @@ -158,7 +158,7 @@ function getSelfServiceLinks() { links.unshift(["Request a user token", "/user/captcha"]); } - return `