+2008-04-01 Christophe Romain <christophe.romain@process-one.net>
+
+ * src/ejabberdctl.template: Add firewalling port range definition
+ * src/ejabberdctl.cfg.example: Likewise
+
2008-03-31 Badlop <badlop@process-one.net>
* src/ejabberd_listener.erl: Remove code of the unused listening
#
#ERL_MAX_PORTS=32000
+# FIREWALL_WINDOW: Range of allowed ports to pass through a firewall
+#
+# If Ejabberd is configured to run in cluster, and a firewall is blocking ports,
+# it's possible to make Erlang use a defined range of port (instead of dynamic ports)
+# for node communication.
+#
+# Default: not defined
+# Example: 4200-4210
+#
+#FIREWALL_WINDOW=
+
# PROCESSES: Maximum number of Erlang processes
#
# Erlang consumes a lot of lightweight processes. If there is a lot of activity
NAME=-name
[ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] && NAME=-sname
-ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES"
+if [ "$FIREWALL_WINDOW" = "" ] ; then
+ KERNEL_OPTS=""
+else
+ KERNEL_OPTS="-kernel inet_dist_listen_min ${FIREWALL_WINDOW%-*} net_dist_listen_max ${FIREWALL_WINDOW#*-}"
+fi
+
+ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES $KERNEL_OPTS"
# define additional environment variables
EJABBERD_EBIN=$ROOTDIR/var/lib/ejabberd/ebin