summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/drakauth
blob: db7418d5118abbb1d2b28d6bc17c3fb6c559f32d (plain)
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
#!/usr/bin/perl

use lib qw(/usr/lib/libDrakX);

use standalone;     #- warning, standalone must be loaded very first, for 'explanations'

use common;
use interactive;
use authentication;
use network::network;

my $net = {};
network::network::read_net_conf($net);

my $in = 'interactive'->vnew('su');

my $authentication = authentication::get();

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(@kinds),
	      [ 
	       { label => N("Authentication"), val => \$kind, type => 'list' , list => \@kinds, format => \&authentication::kind2name },
	      ]) or $in->exit;

authentication::ask_parameters($in, $net, $authentication, $kind) or goto main;

eval { 
    authentication::set($in, $net, $authentication);
    network::network::write_conf($net);
};
if (my $err = $@) {
    $in->ask_warn(N("Error"), formatError($err));
    goto main;
}


$in->exit;