From 23470dd8de09af826b3efd3cf0968ad4787831c0 Mon Sep 17 00:00:00 2001
From: Matthew Wild <mwild1@gmail.com>
Date: Thu, 23 Jan 2020 21:43:36 +0000
Subject: Log warning when using prosodyctl start/stop/restart

---
 prosodyctl | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

(limited to 'prosodyctl')

diff --git a/prosodyctl b/prosodyctl
index 982b102e..b16d9230 100755
--- a/prosodyctl
+++ b/prosodyctl
@@ -198,11 +198,25 @@ function commands.deluser(arg)
 	return 1;
 end
 
+local function service_command_warning(command)
+	if prosody.installed and configmanager.get("*", "prosodyctl_service_warnings") ~= false then
+		show_warning("WARNING: Use of prosodyctl start/stop/restart/reload is not recommended");
+		show_warning("         if Prosody is managed by an init system - use that directly instead.");
+		if lfs.attributes("/etc/systemd") then
+			show_warning("         e.g. systemctl %s prosody", command);
+		elseif lfs.attributes("/etc/init.d/prosody") then
+			show_warning("         e.g. /etc/init.d/prosody %s", command);
+		end
+		show_warning("");
+	end
+end
+
 function commands.start(arg)
 	if arg[1] == "--help" then
 		show_usage([[start]], [[Start Prosody]]);
 		return 1;
 	end
+	service_command_warning("start");
 	local ok, ret = prosodyctl.isrunning();
 	if not ok then
 		show_message(error_messages[ret]);
@@ -293,6 +307,8 @@ function commands.stop(arg)
 		return 1;
 	end
 
+	service_command_warning("stop");
+
 	if not prosodyctl.isrunning() then
 		show_message("Prosody is not running");
 		return 1;
@@ -328,6 +344,8 @@ function commands.restart(arg)
 		return 1;
 	end
 
+	service_command_warning("restart");
+
 	commands.stop(arg);
 	return commands.start(arg);
 end
@@ -421,6 +439,8 @@ function commands.reload(arg)
 		return 1;
 	end
 
+	service_command_warning("reload");
+
 	if not prosodyctl.isrunning() then
 		show_message("Prosody is not running");
 		return 1;
-- 
cgit v1.2.3