summaryrefslogtreecommitdiff
path: root/mix.exs
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2022-03-10 16:29:32 +0100
committerHolger Weiss <holger@zedat.fu-berlin.de>2022-03-10 16:29:32 +0100
commit871e26a01ed410601c861ef046c98f9ae9936bf3 (patch)
tree991aee2dc9b905a68538ee601729b94a7fc7932c /mix.exs
parentAdd fine-grained Elixir version requirement (diff)
mix.exs: Don't allow admins to override boot flags
Add the -boot and -boot_var options via ERLANG_OPTS rather than ERL_OPTIONS. The difference is that administrators might override the latter in the ejabberdctl.cfg file, which isn't desired as the boot flags must be specified exactly that way in a Mix-generated release (otherwise, ejabberd would fail to start up).
Diffstat (limited to 'mix.exs')
-rw-r--r--mix.exs8
1 files changed, 5 insertions, 3 deletions
diff --git a/mix.exs b/mix.exs
index c18ad15c..4d1c451d 100644
--- a/mix.exs
+++ b/mix.exs
@@ -269,9 +269,10 @@ defmodule Ejabberd.MixProject do
execute.("sed -e 's|{{\\(\[_a-z\]*\\)}}|<%= @\\1 %>|g' ejabberdctl.example2> ejabberdctl.example2a")
Mix.Generator.copy_template("ejabberdctl.example2a", "ejabberdctl.example2b", assigns)
execute.("sed -e 's|{{\\(\[_a-z\]*\\)}}|<%= @\\1 %>|g' ejabberdctl.example2b > ejabberdctl.example3")
- execute.("sed -e 's|ERLANG_NODE=ejabberd@localhost|ERLANG_NODE=ejabberd|g' ejabberdctl.example3 > ejabberdctl.example4")
- execute.("sed -e 's|INSTALLUSER=|ERL_OPTIONS=\"-boot ../releases/#{release.version}/start_clean -boot_var RELEASE_LIB ../lib -setcookie \\$\\(cat \"\\${SCRIPT_DIR%/*}/releases/COOKIE\")\"\\nINSTALLUSER=|g' ejabberdctl.example4 > ejabberdctl.example5")
- Mix.Generator.copy_template("ejabberdctl.example5", "#{ro}/bin/ejabberdctl", assigns)
+ execute.("sed -e 's|^ERLANG_NODE=ejabberd@localhost|ERLANG_NODE=ejabberd|g' ejabberdctl.example3 > ejabberdctl.example4")
+ execute.("sed -e 's|^ERLANG_OPTS=\"|ERLANG_OPTS=\"-boot ../releases/#{release.version}/start_clean -boot_var RELEASE_LIB ../lib |' ejabberdctl.example4 > ejabberdctl.example5")
+ execute.("sed -e 's|^INSTALLUSER=|ERL_OPTIONS=\"-setcookie \\$\\(cat \"\\${SCRIPT_DIR%/*}/releases/COOKIE\")\"\\nINSTALLUSER=|g' ejabberdctl.example5 > ejabberdctl.example6")
+ Mix.Generator.copy_template("ejabberdctl.example6", "#{ro}/bin/ejabberdctl", assigns)
File.chmod("#{ro}/bin/ejabberdctl", 0o755)
File.rm("ejabberdctl.example1")
@@ -281,6 +282,7 @@ defmodule Ejabberd.MixProject do
File.rm("ejabberdctl.example3")
File.rm("ejabberdctl.example4")
File.rm("ejabberdctl.example5")
+ File.rm("ejabberdctl.example6")
suffix = case Mix.env() do
:dev ->