summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2009-06-02 14:22:15 -0700
committerStephen Hemminger <stephen.hemminger@vyatta.com>2009-06-02 15:14:08 -0700
commit37ba59896d4c9ac5c914d1901d86ed7e7d844871 (patch)
treee7f5a3041366b5695eb8db10c06ceb4e542f9dc6 /lib
parentbf86040fef55fdb644b3670a9e1ec093e67df828 (diff)
downloadvyatta-cfg-system-37ba59896d4c9ac5c914d1901d86ed7e7d844871.tar.gz
vyatta-cfg-system-37ba59896d4c9ac5c914d1901d86ed7e7d844871.zip
Change API for login modules
The login modules aren't really objects (if Perl really had objects), so just use dynamic invoke of update routine.
Diffstat (limited to 'lib')
-rw-r--r--lib/Vyatta/Login/RadiusServer.pm16
-rwxr-xr-xlib/Vyatta/Login/User.pm33
2 files changed, 8 insertions, 41 deletions
diff --git a/lib/Vyatta/Login/RadiusServer.pm b/lib/Vyatta/Login/RadiusServer.pm
index 97ae4eb6..34da8a31 100644
--- a/lib/Vyatta/Login/RadiusServer.pm
+++ b/lib/Vyatta/Login/RadiusServer.pm
@@ -83,25 +83,11 @@ sub add_radius_servers {
return 1;
}
-sub new {
- my $that = shift;
- my $class = ref($that) || $that;
+sub update {
my $rconfig = new Vyatta::Config;
$rconfig->setLevel("system login radius-server");
my %servers = $rconfig->listNodeStatus();
- my $self = \%servers;
-
- bless $self, $class;
-
- return $self;
-}
-
-sub update {
- my $self = shift;
- my %servers = %$self;
my $server_str = '';
- my $rconfig = new Vyatta::Config;
- $rconfig->setLevel('system login radius-server');
if (%servers) {
remove_radius_servers();
diff --git a/lib/Vyatta/Login/User.pm b/lib/Vyatta/Login/User.pm
index f053abf1..c4870986 100755
--- a/lib/Vyatta/Login/User.pm
+++ b/lib/Vyatta/Login/User.pm
@@ -20,29 +20,6 @@ use warnings;
use lib "/opt/vyatta/share/perl5";
use Vyatta::Config;
-sub new {
- my ( $that ) = @_;
- my $class = ref($that) || $that;
- my $config = new Vyatta::Config;
- $config->setLevel("system login user");
- my %users = $config->listNodeStatus();
- my @user_keys = sort keys %users;
-
- if ( ( scalar(@user_keys) <= 0 )
- || !( grep /^root$/, @user_keys )
- || ( $users{'root'} eq 'deleted' ) )
- {
-
- # root is deleted
- die "User \"root\" cannot be deleted\n";
- }
-
- my $self = \%users;
- bless $self, $class;
-
- return $self;
-}
-
# Exit codes form useradd.8 man page
my %reasons = (
0 => 'success',
@@ -81,10 +58,14 @@ sub get_groups {
}
sub update {
- my $self = shift;
- my %users = %$self;
my $membership = get_groups();
- my $uconfig = new Vyatta::Config;
+ my $uconfig = new Vyatta::Config;
+ $uconfig->setLevel("system login user");
+ my %users = $uconfig->listNodeStatus();
+
+ die "All users deleted!\n" unless %users;
+ die "User root cannot be deleted\n"
+ if (! defined $users{'root'} || $users{'root'} eq 'deleted');
foreach my $user ( keys %users ) {
if ( $users{$user} eq 'deleted' ) {