ipasserelle-im/root/etc/e-smith/templates/etc/ejabberd/ejabberd.cfg/55AuthConf

33 lines
742 B
Plaintext

{
use esmith::util;
our $base = esmith::util::ldapBase ($DomainName);
$OUT =<<"HERE";
% Use pam for authentication (to get pam_cas support)
% LDAP for everything else
{auth_method, pam}.
{ldap_servers, ["localhost"]}.
{ldap_base, "ou=Users,$base"}.
HERE
# If AllowedGroups prop is set, build a LDAP filter
# based on the posixMemberOf attribute
# (Only available on iPasserelle)
our @groups = split(/[;,]/, ($ejabberd{'AllowedGroups'} || ''));
my $filter = '';
if (scalar(@groups) == 1){
$filter = "(posixMemberOf=$groups[0])";
}
elsif (scalar(@groups) gt 1){
$filter = '(|';
$filter .= "(posixMemberOf=$_)" foreach (@groups);
$filter .= ')';
}
$OUT .= ($filter eq '') ? '' : '{ldap_filter, "' . $filter . '"}.';
}