diff --git a/package-lock.json b/package-lock.json
index 0dcc7e25..78bc4636 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -526,9 +526,9 @@
}
},
"@fosscord/server-util": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@fosscord/server-util/-/server-util-1.0.8.tgz",
- "integrity": "sha512-VfdjodBIdDZMyOJ8gZ4LmCQ7aENuPfcOUq2Vs8JOTwF2pYO/Z2yTsJcgZHLLqpMkhikBs8hW2XePEsxNNq3VwQ==",
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@fosscord/server-util/-/server-util-1.0.9.tgz",
+ "integrity": "sha512-Fkkxey4wPyY3te7EoKekB69S73JD5Je18Dk88TJWsZ4ZoUIfr/fRYZ3xxVWDmhT4pC8WY1gHDrQi+WyGH/OtVw==",
"requires": {
"@types/jsonwebtoken": "^8.5.0",
"@types/mongoose-autopopulate": "^0.10.1",
@@ -4347,9 +4347,9 @@
}
},
"i18next-http-middleware": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/i18next-http-middleware/-/i18next-http-middleware-3.1.0.tgz",
- "integrity": "sha512-65rP8bi5b7znBzfgIUy0KE00SWg1X6mL5XEkassgTrjAeLSfSb4vQ2bs9cN3qwHCynKIpmHjmNDu5c8NylTVmw=="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/i18next-http-middleware/-/i18next-http-middleware-3.1.1.tgz",
+ "integrity": "sha512-MKS2+iac5qO/95tvlpOGDtqWOqp4bOEBHLoqZNS6wQBO7fu/rd2G7IO3R+Vq0xahXkH/Jh/UoG+vHSko2VitYw=="
},
"i18next-node-fs-backend": {
"version": "2.1.3",
@@ -7420,9 +7420,9 @@
}
},
"optional-require": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.2.tgz",
- "integrity": "sha512-HZubVd6IfHsbnpdNF/ICaSAzBUEW1TievpkjY3tB4Jnk8L7+pJ3conPzUt3Mn/6OZx9uzTDOHYPGA8/AxYHBOg=="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz",
+ "integrity": "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA=="
},
"optionator": {
"version": "0.8.3",
diff --git a/package.json b/package.json
index ad52ffd9..971b0556 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
},
"homepage": "https://github.com/fosscord/fosscord-api#readme",
"dependencies": {
- "@fosscord/server-util": "^1.0.8",
+ "@fosscord/server-util": "^1.0.9",
"@types/jest": "^26.0.22",
"bcrypt": "^5.0.0",
"body-parser": "^1.19.0",
@@ -39,7 +39,7 @@
"express": "^4.17.1",
"express-validator": "^6.9.2",
"i18next": "^19.8.5",
- "i18next-http-middleware": "^3.1.0",
+ "i18next-http-middleware": "^3.1.1",
"i18next-node-fs-backend": "^2.1.3",
"jsonwebtoken": "^8.5.1",
"lambert-server": "^1.2.1",
diff --git a/patches/i18next-http-middleware+3.1.0.patch b/patches/i18next-http-middleware+3.1.1.patch
index ff9844d7..5790ae0d 100644
--- a/patches/i18next-http-middleware+3.1.0.patch
+++ b/patches/i18next-http-middleware+3.1.1.patch
@@ -1,5 +1,5 @@
diff --git a/node_modules/i18next-http-middleware/cjs/httpFunctions.js b/node_modules/i18next-http-middleware/cjs/httpFunctions.js
-index 47f0d61..ed0af1b 100644
+index 47f0d61..c1ebebc 100644
--- a/node_modules/i18next-http-middleware/cjs/httpFunctions.js
+++ b/node_modules/i18next-http-middleware/cjs/httpFunctions.js
@@ -1,175 +1,181 @@
@@ -271,3 +271,4 @@ index 47f0d61..ed0af1b 100644
};
exports.extendOptionsWithDefaults = extendOptionsWithDefaults;
+\ No newline at end of file
diff --git a/src/middlewares/CORS.ts b/src/middlewares/CORS.ts
index b47de251..e6cc5544 100644
--- a/src/middlewares/CORS.ts
+++ b/src/middlewares/CORS.ts
@@ -4,9 +4,10 @@ import { NextFunction, Request, Response } from "express";
export function CORS(req: Request, res: Response, next: NextFunction) {
res.set("Access-Control-Allow-Origin", "*");
+ // TODO: use securer CSP policy
res.set(
"Content-security-policy",
- "script-src 'https://hcaptcha.com, https://*.hcaptcha.com' frame-src 'https://hcaptcha.com, https://*.hcaptcha.com' style-src 'https://hcaptcha.com, https://*.hcaptcha.com' connect-src 'https://hcaptcha.com, https://*.hcaptcha.com'"
+ "default-src * data: blob: filesystem: about: ws: wss: 'unsafe-inline' 'unsafe-eval'; script-src * data: blob: 'unsafe-inline' 'unsafe-eval'; connect-src * data: blob: 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src * data: blob: ; style-src * data: blob: 'unsafe-inline'; font-src * data: blob: 'unsafe-inline';"
);
res.set("Access-Control-Allow-Headers", req.header("Access-Control-Request-Headers"));
|