33 lines
742 B
Plaintext
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 . '"}.';
|
|
|
|
}
|