From b3ec5b3ea5b47c12d8be48f8fa855566c9a86ac3 Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Mon, 11 Apr 2011 16:53:37 +0300 Subject: [PATCH] Added support for multiple domains to ejabberd --- ejabberd/manifests/init.pp | 13 ++++++++----- ejabberd/templates/ejabberd.cfg.erb | 8 +++++--- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ejabberd/manifests/init.pp b/ejabberd/manifests/init.pp index f0f99e0..d86f1df 100644 --- a/ejabberd/manifests/init.pp +++ b/ejabberd/manifests/init.pp @@ -2,16 +2,19 @@ # # === Global variables # -# $ejabberd_domain: -# Domain serverd by ejabberd. Defaults to $domain. +# $ejabberd_hosts: +# Array of domains serverd by ejabberd. Defaults to [ "$homename" ]. # -# $ejabberd_adminusers: +# $ejabberd_admin: # Array of users with admin privileges. # class ejabberd { - if !$ejabberd_domain { - $ejabberd_domain = $domain + if !$ejabberd_hosts { + $ejabberd_hosts = [ "${homename}" ] + } + if !$ejabberd_admin { + $ejabberd_admin = [] } package { "ejabberd": diff --git a/ejabberd/templates/ejabberd.cfg.erb b/ejabberd/templates/ejabberd.cfg.erb index 77c0f55..9372648 100644 --- a/ejabberd/templates/ejabberd.cfg.erb +++ b/ejabberd/templates/ejabberd.cfg.erb @@ -81,7 +81,8 @@ override_acls. %% You can define one or several, for example: %% {hosts, ["example.net", "example.com", "example.org"]}. %% -{hosts, ["<%= ejabberd_domain %>"]}. +<% ejabberd_hosts.map! { |host| '"%s"' % host } -%> +{hosts, [<%= ejabberd_hosts.join(", ") %>]}. %% %% route_subdomains: Delegate subdomains to other Jabber server. @@ -390,8 +391,9 @@ override_acls. %% The 'admin' ACL grants administrative privileges to Jabber accounts. %% You can put as many accounts as you want. %% -<% ejabberd_adminusers.each do |user| -%> -{acl, admin, {user, "<%= user %>", "<%= ejabberd_domain %>"}}. +<% ejabberd_admin.each do |admin| +user, host = admin.split("@") -%> +{acl, admin, {user, "<%= user %>", "<%= host %>"}}. <% end -%> %%