wiki-archive/twiki/lib/TWiki/Configure/Checkers/Htpasswd/Encoding.pm

50 lines
1.5 KiB
Perl

#
# TWiki Enterprise Collaboration Platform, http://TWiki.org/
#
# Copyright (C) 2000-2006 TWiki Contributors.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version. For
# more details read LICENSE in the root of this distribution.
#
# 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.
#
# As per the GPL, removal of this notice is prohibited.
use strict;
package TWiki::Configure::Checkers::Htpasswd::Encoding;
use TWiki::Configure::Checker;
use base 'TWiki::Configure::Checker';
sub check {
my $this = shift;
my $enc = $TWiki::cfg{Htpasswd}{Encoding};
my $e = '';
if ($enc eq 'digest') {
$e .= $this->checkPerlModules(
name => 'Digest::MD5',
usage => "MD5 encoded passwords",
minimumVersion => 1,
disposition => 'required' );
} elsif ($enc eq 'sha1') {
$e .= $this->checkPerlModules(
name => 'MIME::Base64',
usage => "SHA1 password encoding",
minimumVersion => 1,
disposition => 'required');
}
$e .= $this->checkTreePerms($TWiki::cfg{Htpasswd}{FileName}, 'r');
$e = $this->ERROR($e) if $e;
return $e;
}
1;