summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/authentication.pm30
-rwxr-xr-xperl-install/standalone/drakauth5
2 files changed, 17 insertions, 18 deletions
diff --git a/perl-install/authentication.pm b/perl-install/authentication.pm
index f82a05cb8..11716b539 100644
--- a/perl-install/authentication.pm
+++ b/perl-install/authentication.pm
@@ -50,20 +50,17 @@ my %kind2nsswitch = (
SMBKRB => ['winbind'],
);
-sub kind2description() {
- join('',
- map {
- qq($_->[0]\n$_->[1]\n\n);
- }
- (
- [ N("Local file:"), N("Use local for all authentication and information user tell in local file"), ],
- [ N("LDAP:"), N("Tells your computer to use LDAP for some or all authentication. LDAP consolidates certain types of information within your organization."), ],
- [ N("NIS:"), N("Allows you to run a group of computers in the same Network Information Service domain with a common password and group file."), ],
- [ N("Windows Domain:"), N("Winbind allows the system to retrieve information and authenticate users in a Windows domain."), ],
- [ N("Active Directory with SFU:"), N("Kerberos is a secure system for providing network authentication services."), ],
- [ N("Active Directory with Winbind:"), N("Kerberos is a secure system for providing network authentication services.") ],
- )
- );
+sub kind2description {
+ my (@kinds) = @_;
+ my %kind2description = (
+ local => [ N("Local file:"), N("Use local for all authentication and information user tell in local file"), ],
+ LDAP => [ N("LDAP:"), N("Tells your computer to use LDAP for some or all authentication. LDAP consolidates certain types of information within your organization."), ],
+ NIS => [ N("NIS:"), N("Allows you to run a group of computers in the same Network Information Service domain with a common password and group file."), ],
+ winbind => [ N("Windows Domain:"), N("Winbind allows the system to retrieve information and authenticate users in a Windows domain."), ],
+ AD => [ N("Active Directory with SFU:"), N("Kerberos is a secure system for providing network authentication services."), ],
+ SMBKRB => [ N("Active Directory with Winbind:"), N("Kerberos is a secure system for providing network authentication services.") ],
+ );
+ join('', map { $_ ? qq($_->[0]\n$_->[1]\n\n) : '' } map { $kind2description{$_} } @kinds);
}
sub to_kind {
my ($authentication) = @_;
@@ -168,12 +165,13 @@ sub ask_root_password_and_authentication {
my ($in, $netc, $superuser, $authentication, $meta_class, $security) = @_;
my $kind = to_kind($authentication);
+ my @kinds = authentication::kinds($in->do_pkgs, $meta_class);
$in->ask_from_({
title => N("Set administrator (root) password and network authentication methods"),
messages => N("Set administrator (root) password"),
advanced_label => N("Authentication method"),
- advanced_messages => kind2description(),
+ advanced_messages => kind2description(@kinds),
interactive_help_id => "setRootPassword",
cancel => ($security <= 2 ?
#-PO: keep this short or else the buttons will not fit in the window
@@ -188,7 +186,7 @@ sub ask_root_password_and_authentication {
} } }, [
{ label => N("Password"), val => \$superuser->{password}, hidden => 1 },
{ label => N("Password (again)"), val => \$superuser->{password2}, hidden => 1 },
-{ label => N("Authentication"), val => \$kind, type => 'list', list => [ authentication::kinds($in->do_pkgs, $meta_class) ], format => \&authentication::kind2name, advanced => 1 },
+{ label => N("Authentication"), val => \$kind, type => 'list', list => \@kinds, format => \&authentication::kind2name, advanced => 1 },
]) or delete $superuser->{password};
ask_parameters($in, $netc, $authentication, $kind) or goto &ask_root_password_and_authentication;
diff --git a/perl-install/standalone/drakauth b/perl-install/standalone/drakauth
index 276ecd287..6a43a2f87 100755
--- a/perl-install/standalone/drakauth
+++ b/perl-install/standalone/drakauth
@@ -18,11 +18,12 @@ my $authentication = {}; # TODO
my $kind = authentication::to_kind($authentication);
my $meta_class = { getVarsFromSh("/etc/sysconfig/system") }->{META_CLASS};
+my @kinds = authentication::kinds($in->do_pkgs, $meta_class);
main:
-$in->ask_from(N("Authentication"), authentication::kind2description(),
+$in->ask_from(N("Authentication"), authentication::kind2description(@kinds),
[
- { label => N("Authentication"), val => \$kind, type => 'list' , list => [ authentication::kinds($in->do_pkgs, $meta_class) ], format => \&authentication::kind2name },
+ { label => N("Authentication"), val => \$kind, type => 'list' , list => \@kinds, format => \&authentication::kind2name },
]) or $in->exit;
authentication::ask_parameters($in, $netc, $authentication, $kind) or goto main;