/usr/share/perl5/EBox/UsersAndGroups/Model/Password.pm is in zentyal-users 2.3.15+quantal1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | # Copyright (C) 2009-2012 eBox Technologies S.L.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2, as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# Class: EBox::UsersAndGroups::Model::Password
#
# TODO: Document class
#
package EBox::UsersAndGroups::Model::Password;
use EBox::Gettext;
use EBox::Validate qw(:all);
use EBox::UsersAndGroups::Types::Password;
use Apache2::RequestUtil;
use File::Temp qw/tempfile/;
use strict;
use warnings;
use base 'EBox::Model::DataForm';
sub new
{
my $class = shift;
my %parms = @_;
my $self = $class->SUPER::new(@_);
bless($self, $class);
return $self;
}
sub pageTitle
{
return __('Password management');
}
sub _table
{
my @tableHead =
(
new EBox::UsersAndGroups::Types::Password(
'fieldName' => 'pass1',
'printableName' => __('New password'),
'size' => '8',
'unique' => 1,
'editable' => 1
),
new EBox::UsersAndGroups::Types::Password(
'fieldName' => 'pass2',
'printableName' => __('Re-type new password'),
'size' => '8',
'unique' => 1,
'editable' => 1
),
);
my $dataTable =
{
'tableName' => 'Password',
'printableTableName' => __('Password'),
'modelDomain' => 'Users',
'defaultActions' => ['add', 'del', 'editField', 'changeView' ],
'tableDescription' => \@tableHead,
'help' => '', # FIXME
};
return $dataTable;
}
sub setTypedRow
{
my ($self, $id, $paramsRef, %optParams) = @_;
my $pass1 = $paramsRef->{'pass1'};
my $pass2 = $paramsRef->{'pass2'};
my $r = Apache2::RequestUtil->request;
my $user = $r->user;
$user = new EBox::UsersAndGroups::User(uid => $user);
if ($pass1->cmp($pass2) != 0) {
throw EBox::Exceptions::External(__('Passwords do not match.'));
}
$user->changePassword($pass1->value());
eval 'use EBox::UserCorner::Auth';
EBox::UserCorner::Auth->updatePassword($user, $pass1->value());
$self->setMessage(__('Password successfully updated'));
}
1;
|