From 4647331ff4f87598adc1dee354377284d95be60e Mon Sep 17 00:00:00 2001
From: Tom Smeding <tom@tomsmeding.com>
Date: Sun, 9 Feb 2025 19:43:02 +0100
Subject: Disable email module

---
 modules/email/email.js | 71 --------------------------------------------------
 1 file changed, 71 deletions(-)
 delete mode 100644 modules/email/email.js

(limited to 'modules/email/email.js')

diff --git a/modules/email/email.js b/modules/email/email.js
deleted file mode 100644
index d7fe171..0000000
--- a/modules/email/email.js
+++ /dev/null
@@ -1,71 +0,0 @@
-var cmn = require("../$common.js"),
-    fs = require("fs"),
-    child_process = require("child_process"),
-    bodyParser = require("body-parser");
-
-var ratelimitAllowed = (function() {
-	var numEvents = 20, period = 24 * 3600 * 1000;
-	var eventList = [];
-
-	return function ratelimitAllowed() {
-		var now = new Date();
-		while (now - eventList[0] > period) eventList.unshift();
-		if (eventList.length >= numEvents) return false;
-		eventList.push(now);
-		return true;
-	};
-})();
-
-function sendEmail(recip, text) {
-	var opts = {
-		stdio: ["pipe", "inherit", "inherit"]
-	};
-	var proc = child_process.spawn("msmtp", ["--read-recipients"], opts);
-
-	// Make sure it doesn't run indefinitely
-	var timeout = setTimeout(() => {proc.kill();}, 5000);
-	proc.on("exit", () => clearTimeout(timeout));
-	proc.on("error", err => {
-		console.log("email: Failed to start msmtp:", err);
-		clearTimeout(timeout);
-	});
-	proc.stdin.on("error", err => {
-		console.log("email: Failed to write to msmtp:", err);
-		clearTimeout(timeout);
-	});
-	proc.stdin.end(
-		"To: " + recip + "\n" +
-		"Subject: Mail from email module\n\n" +
-		text
-	);
-}
-
-module.exports = function(app, io, moddir) {
-	var allowedRecipients, password;
-
-	try {
-		allowedRecipients =
-			fs.readFileSync(moddir + "/allowed_recipients.txt").toString().trim().split("\n");
-		password = fs.readFileSync(moddir + "/password.txt").toString().trim();
-	} catch (e) {
-		console.error(e);
-		return false;
-	}
-
-	app.post("/email", bodyParser.json(), function(req, res) {
-		var body = req.body;
-		console.log(body);
-		if (typeof body != "object" ||
-				typeof body.password != "string" ||
-				typeof body.to != "string" ||
-				typeof body.text != "string" ||
-				body.password != password ||
-				allowedRecipients.indexOf(body.to) == -1) {
-			res.status(400).send("Invalid request");
-			return;
-		}
-		var text = body.text.slice(0, 1000000);  // 1 MB is enough
-		sendEmail(body.to, body.text);
-		res.end();
-	});
-};
-- 
cgit v1.2.3-70-g09d2