diff --git a/src/app/main/account/page.tsx b/src/app/main/account/page.tsx index f5649eb..919587f 100644 --- a/src/app/main/account/page.tsx +++ b/src/app/main/account/page.tsx @@ -38,7 +38,10 @@ function AccountLoggedOut () { ) const signature = response.headers.get('x-signature') ?? '' const data = await response.json() - if (!(await verifySignature(JSON.stringify(data), signature))) { + if ( + response.status != 200 || + !(await verifySignature(JSON.stringify(data), signature)) + ) { await message( "Failed to login, there was an issue validating the data wasn't tampered with.", { title: 'Request tampered', kind: 'error' } @@ -59,7 +62,10 @@ function AccountLoggedOut () { ) const signature2 = response2.headers.get('x-signature') ?? '' const data2 = await response2.json() - if (await verifySignature(JSON.stringify(data2), signature2)) { + if ( + response2.status == 200 && + (await verifySignature(JSON.stringify(data2), signature2)) + ) { setServerVersionList(data2) } @@ -170,7 +176,10 @@ function AccountChangeUsername ({ ) const signature = response.headers.get('x-signature') ?? '' const data = await response.json() - if (!(await verifySignature(JSON.stringify(data), signature))) { + if ( + response.status != 200 || + !(await verifySignature(JSON.stringify(data), signature)) + ) { await message( "Failed to change username, there was an issue validating the data wasn't tampered with.", { title: 'Request tampered', kind: 'error' } @@ -257,7 +266,10 @@ function AccountChangePassword ({ ) const signature = response.headers.get('x-signature') ?? '' const data = await response.json() - if (!(await verifySignature(JSON.stringify(data), signature))) { + if ( + response.status != 200 || + !(await verifySignature(JSON.stringify(data), signature)) + ) { await message( "Failed to change password, there was an issue validating the data wasn't tampered with.", { title: 'Request tampered', kind: 'error' } @@ -278,7 +290,10 @@ function AccountChangePassword ({ ) const signature2 = response2.headers.get('x-signature') ?? '' const data2 = await response2.json() - if (await verifySignature(JSON.stringify(data2), signature2)) { + if ( + response2.status == 200 && + (await verifySignature(JSON.stringify(data2), signature2)) + ) { setServerVersionList(data2) } @@ -374,7 +389,10 @@ function AccountLoggedIn () { ) const signature = response.headers.get('x-signature') ?? '' const data = await response.json() - if (await verifySignature(JSON.stringify(data), signature)) { + if ( + response.status == 200 && + (await verifySignature(JSON.stringify(data), signature)) + ) { setServerVersionList(data) } diff --git a/src/app/main/layout.tsx b/src/app/main/layout.tsx index 19164ff..ed83016 100644 --- a/src/app/main/layout.tsx +++ b/src/app/main/layout.tsx @@ -221,6 +221,7 @@ export default function RootLayout ({ const signature = downloadInfoRequest.headers.get('x-signature') ?? '' const data = await downloadInfoRequest.json() if ( + downloadInfoRequest.status != 200 || !(await verifySignature(JSON.stringify(data), signature)) || !data.success ) { @@ -732,9 +733,13 @@ export default function RootLayout ({ } } ) + const signature = response.headers.get('x-signature') ?? '' const data = await response.json() - if (await verifySignature(JSON.stringify(data), signature)) { + if ( + response.status == 200 && + (await verifySignature(JSON.stringify(data), signature)) + ) { setServerVersionList(data) } else { await message( diff --git a/src/popups/ModDownloads.tsx b/src/popups/ModDownloads.tsx index 999ca9e..6f2c032 100644 --- a/src/popups/ModDownloads.tsx +++ b/src/popups/ModDownloads.tsx @@ -52,7 +52,10 @@ export default function ModDownloadsPopup () { ) const signature = response.headers.get('x-signature') ?? '' const data = await response.json() - if (await verifySignature(JSON.stringify(data), signature)) { + if ( + response.status == 200 && + (await verifySignature(JSON.stringify(data), signature)) + ) { setMods(data as Mod[]) } else { setMods(1) @@ -86,7 +89,10 @@ export default function ModDownloadsPopup () { ) const signature = response.headers.get('x-signature') ?? '' const data = await response.json() - if (await verifySignature(JSON.stringify(data), signature)) { + if ( + response.status == 200 && + (await verifySignature(JSON.stringify(data), signature)) + ) { setMods(data as Mod[]) } else { setMods(1)