summaryrefslogtreecommitdiff
path: root/fml/lib/FML/Command/Admin
diff options
context:
space:
mode:
authorfukachan <fukachan>2003-03-17 13:23:22 +0000
committerfukachan <fukachan>2003-03-17 13:23:22 +0000
commit9180f3439f4b1fa415cb632320debe7c20d719ac (patch)
tree7b95ab61170cb951566546e18b84eaa856cf22a4 /fml/lib/FML/Command/Admin
parent43bf7a7350181a69bdaba1af7201427c75cb124a (diff)
downloadfml8-9180f3439f4b1fa415cb632320debe7c20d719ac.tar.gz
fml8-9180f3439f4b1fa415cb632320debe7c20d719ac.tar.bz2
fml8-9180f3439f4b1fa415cb632320debe7c20d719ac.zip
move the main code to FML::Command::Auth.
Diffstat (limited to 'fml/lib/FML/Command/Admin')
-rw-r--r--fml/lib/FML/Command/Admin/changepassword.pm56
1 files changed, 15 insertions, 41 deletions
diff --git a/fml/lib/FML/Command/Admin/changepassword.pm b/fml/lib/FML/Command/Admin/changepassword.pm
index 8bf7bb41..21da2a46 100644
--- a/fml/lib/FML/Command/Admin/changepassword.pm
+++ b/fml/lib/FML/Command/Admin/changepassword.pm
@@ -4,7 +4,7 @@
# All rights reserved. This program is free software; you can
# redistribute it and/or modify it under the same terms as Perl itself.
#
-# $FML: changepassword.pm,v 1.1 2003/02/02 10:59:19 fukachan Exp $
+# $FML: changepassword.pm,v 1.2 2003/02/09 12:31:41 fukachan Exp $
#
package FML::Command::Admin::changepassword;
@@ -116,47 +116,21 @@ sub _change_password
my $config = $curproc->config();
my $maps = $config->get_as_array_ref('admin_member_password_maps');
my $pri_map = $config->{ primary_admin_member_password_map };
- my $status = 0;
-
- # crypt-fy password.
- use FML::Crypt;
- my $crypt = new FML::Crypt;
- my $cp = $crypt->unix_crypt($password, $$);
-
- # XXX delete entries for address among ALL MAPS.
- use IO::Adapter;
- for my $map (@$maps) {
- my $obj = new IO::Adapter $map;
- if (defined $obj) {
- $obj->open();
- if ($obj->find( $address )) {
- $obj->delete( $address );
- if ($obj->error()) {
- LogError("cannot delete $address from=$map");
- }
- else {
- Log("delete $address from=$map");
- }
- }
- $obj->close();
- }
- }
-
- # XXX add password entry to ONLY primary map. o.k. ?
- my $obj = new IO::Adapter $pri_map;
- if (defined $obj) {
- $obj->open();
- $obj->add( $address, [ $cp, "UNIX_CRYPT" ] ) && $status++;
- if ($obj->error()) {
- LogError("cannot add $address to=$pri_map");
- }
- else {
- Log("add password for $address to=$pri_map");
- }
- $obj->close();
+ my $up_args = {
+ maplist => $maps,
+ address => $address,
+ password => $password,
+ };
+ my $r = '';
+
+ eval q{
+ use FML::Command::Auth;
+ my $passwd = new FML::Command::Auth;
+ $passwd->change($curproc, $command_args, $up_args);
+ };
+ if ($r = $@) {
+ croak($r);
}
-
- return $status;
}