From 09454e1658b56f02804dfa2054f5b3aa66b81cbb Mon Sep 17 00:00:00 2001 From: Mickael Remond Date: Wed, 29 Jul 2020 17:35:26 +0200 Subject: [PATCH] Allow passing Erlang VM args through vm.args config file This can be used to define the Erlang cookie in a place that feels less foreign to non Erlang users. Fixes #3343 --- ejabberdctl.template | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ejabberdctl.template b/ejabberdctl.template index d5b67fb9c..43ceb302c 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template @@ -60,6 +60,8 @@ done : "${SPOOL_DIR:="{{localstatedir}}/lib/ejabberd"}" : "${EJABBERD_CONFIG_PATH:="$ETC_DIR/ejabberd.yml"}" : "${EJABBERDCTL_CONFIG_PATH:="$ETC_DIR/ejabberdctl.cfg"}" +# Allows passing extra Erlang command-line arguments in vm.args file +: "${VMARGS:="$ETC_DIR/vm.args"}" [ -f "$EJABBERDCTL_CONFIG_PATH" ] && . "$EJABBERDCTL_CONFIG_PATH" [ -n "$ERLANG_NODE_ARG" ] && ERLANG_NODE="$ERLANG_NODE_ARG" [ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] && S="-s" @@ -77,6 +79,8 @@ if [ -n "$INET_DIST_INTERFACE" ] ; then ERLANG_OPTS="$ERLANG_OPTS -kernel inet_dist_use_interface $INET_DIST_INTERFACE2" fi fi +# if vm.args file exists in config directory, pass it to Erlang VM +[ -f "$VMARGS" ] && ERLANG_OPTS="$ERLANG_OPTS -args_file $VMARGS" ERL_LIBS={{libdir}} ERL_CRASH_DUMP="$LOGS_DIR"/erl_crash_$(date "+%Y%m%d-%H%M%S").dump ERL_INETRC="$ETC_DIR"/inetrc