aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Fripost/Schema/Domain.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Fripost/Schema/Domain.pm')
-rw-r--r--lib/Fripost/Schema/Domain.pm11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/Fripost/Schema/Domain.pm b/lib/Fripost/Schema/Domain.pm
index 0e1de49..c36cea8 100644
--- a/lib/Fripost/Schema/Domain.pm
+++ b/lib/Fripost/Schema/Domain.pm
@@ -18,7 +18,8 @@ use utf8;
use parent 'Fripost::Schema';
use Fripost::Schema::Misc qw/concat get_perms explode
- must_attrs email_valid/;
+ must_attrs email_valid
+ canonical_dn/;
use Net::IDN::Encode qw/domain_to_ascii domain_to_unicode
email_to_ascii email_to_unicode/;
@@ -40,7 +41,7 @@ sub search {
my $concat = $options{'-concat'};
my $domains = $self->ldap->search(
- base => $self->suffix,
+ base => canonical_dn(@{$self->suffix}),
scope => 'one',
deref => 'never',
filter => 'objectClass=FripostVirtualDomain',
@@ -72,7 +73,7 @@ sub get {
my $concat = $options{'-concat'};
my $domains = $self->ldap->search(
- base => "fvd=$d,".$self->suffix,
+ base => canonical_dn({fvd => $d}, @{$self->suffix}),
scope => 'base',
deref => 'never',
filter => 'objectClass=FripostVirtualDomain',
@@ -129,8 +130,8 @@ sub replace {
eval {
&_is_valid($d);
- my $mesg = $self->ldap->modify(
- 'fvd='.$d->{domain}.','.$self->suffix,
+ my $dn = canonical_dn( {fvd => $d->{domain}}, @{$self->suffix} );
+ my $mesg = $self->ldap->modify( $dn,
replace => { fripostIsStatusActive => $d->{isactive} ?
'TRUE' : 'FALSE'
, description => $d->{description}