aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Fripost/Schema.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Fripost/Schema.pm')
-rw-r--r--lib/Fripost/Schema.pm13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/Fripost/Schema.pm b/lib/Fripost/Schema.pm
index 909a92c..9d6f4cb 100644
--- a/lib/Fripost/Schema.pm
+++ b/lib/Fripost/Schema.pm
@@ -19,7 +19,8 @@ use warnings;
use utf8;
use Net::LDAP;
-use Authen::SASL 'Cyrus';
+use Authen::SASL;
+use Fripost::Schema::Misc 'split_addr';
use Fripost::Schema::Domain;
use Fripost::Schema::User;
use Fripost::Schema::Alias;
@@ -43,7 +44,7 @@ authentication ID.
sub SASLauth {
my $class = shift;
- my ($l,$d) = split /\@/, shift, 2;
+ my ($l,$d) = split_addr(shift);
my %cfg = @_;
my $self = bless {}, $class;
@@ -86,7 +87,7 @@ sub auth {
$self->whoami( $cfg{ldap_bind_dn} );
}
else {
- my ($l,$d) = split /\@/, $id, 2;
+ my ($l,$d) = split_addr($id);
$self->whoami( "fvu=$l,fvd=$d,".$self->suffix );
}
@@ -202,7 +203,7 @@ Guilhem Moulin C<< <guilhem at fripost.org> >>
=head1 COPYRIGHT
-Copyright 2012 Guilhem Moulin.
+Copyright 2012,2013 Guilhem Moulin.
=head1 LICENSE
@@ -222,9 +223,9 @@ sub _dn2email {
sub _email2dn {
my $self = shift;
my $email = shift;
- my ($l,$d) = split /\@/, $email, 2;
+ my ($l,$d) = split_addr($email);
die "Wrong usage: of _email2dn: $email" unless defined $d;
-
+
my $dn = "fvd=$d,".$self->suffix;
$dn = "fvu=$l,".$dn if $l ne '';
return $dn;