summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/authentication.pm14
-rwxr-xr-xperl-install/standalone/drakauth2
2 files changed, 12 insertions, 4 deletions
diff --git a/perl-install/authentication.pm b/perl-install/authentication.pm
index ad5d38063..f82a05cb8 100644
--- a/perl-install/authentication.pm
+++ b/perl-install/authentication.pm
@@ -5,9 +5,17 @@ use any;
sub kinds {
my $no_para = @_ == 0;
- my ($meta_class) = @_;
+ my ($do_pkgs, $meta_class) = @_;
+ my $allow_SmartCard = $no_para || $do_pkgs->is_available('castella-pam');
my $allow_AD = $no_para || $meta_class =~ /corporate/;
- ('local', 'LDAP', 'NIS', 'SmartCard', 'winbind', if_($allow_AD, 'AD', 'SMBKRB'));
+ (
+ 'local',
+ 'LDAP',
+ 'NIS',
+ if_($allow_SmartCard, 'SmartCard'),
+ 'winbind',
+ if_($allow_AD, 'AD', 'SMBKRB'),
+ );
}
sub kind2name {
@@ -180,7 +188,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($meta_class) ], format => \&authentication::kind2name, advanced => 1 },
+{ label => N("Authentication"), val => \$kind, type => 'list', list => [ authentication::kinds($in->do_pkgs, $meta_class) ], 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 fe5bae4bf..276ecd287 100755
--- a/perl-install/standalone/drakauth
+++ b/perl-install/standalone/drakauth
@@ -22,7 +22,7 @@ my $meta_class = { getVarsFromSh("/etc/sysconfig/system") }->{META_CLASS};
main:
$in->ask_from(N("Authentication"), authentication::kind2description(),
[
- { label => N("Authentication"), val => \$kind, type => 'list' , list => [ authentication::kinds($meta_class) ], format => \&authentication::kind2name },
+ { label => N("Authentication"), val => \$kind, type => 'list' , list => [ authentication::kinds($in->do_pkgs, $meta_class) ], format => \&authentication::kind2name },
]) or $in->exit;
authentication::ask_parameters($in, $netc, $authentication, $kind) or goto main;