# vim: set et ts=4 sw=4: #***************************************************************************** # # Copyright (c) 2013-2014 Matteo Pasotti # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2, as # published by the Free Software Foundation. # # 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. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # #***************************************************************************** package AdminPanel::Shared::Hosts; use Moose; use diagnostics; use Config::Hosts; use utf8; # costants by Config::Hosts my $is_ip = 1; my $is_host = -1; my $is_none = 0; has 'configHosts' => ( is => 'rw', init_arg => undef, builder => '_initialize' ); sub _initialize { my $self = shift(); $self->configHosts(Config::Hosts->new()); } =pod =head2 _getHosts =head3 OUTPUT @result: array of hashes; each one of them represent a host definition from the hosts configuration file NOTE: the 'hosts' item into each hash is an array: it contains the hostname and -eventually- the aliases =head3 DESCRIPTION retrieve data from the hosts file (/etc/hosts) using the Config::Hosts module =cut sub _getHosts { my $self = shift(); # $self->configHosts(Config::Hosts->new()); my $hosts = $self->configHosts->read_hosts(); my @result = (); while( my ($key, $value) = each($hosts)){ if($self->configHosts->determine_ip_or_host($key) == $is_ip){ my $tmp = {}; $tmp = $self->configHosts->query_host($key); $tmp->{'ip'} = $key; push @result,$tmp; } } return @result; } sub _insertHost { my $self = shift(); # remember that the order matters! my $ip = shift(); my @host_definitions = @_; # $self->configHosts = Config::Hosts->new(); return $self->configHosts->insert_host(ip => $ip, hosts => @host_definitions); } sub _dropHost { my $self = shift(); my $host_ip = shift(); return $self->configHosts->delete_host($host_ip); } sub _modifyHost { my $self = shift(); my $host_ip = shift(); my @host_definitions = @_; return $self->configHosts->update_host($host_ip, hosts => @host_definitions); } sub _writeHosts { my $self = shift(); return $self->configHosts->write_hosts(); } 1; /diff/lst?id=14aba3799e410fe16e5c54ec74a81ac8dcad206d'>diffstats
path: root/lst
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2005-02-08 19:14:17 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2005-02-08 19:14:17 +0000
commit14aba3799e410fe16e5c54ec74a81ac8dcad206d (patch)
tree5713f2806c7fe9924af986ad830d761acf8a813e /lst
parent45a3fa15ffc256ac0219e84d12e2656285d7a023 (diff)
downloadldetect-lst-14aba3799e410fe16e5c54ec74a81ac8dcad206d.tar
ldetect-lst-14aba3799e410fe16e5c54ec74a81ac8dcad206d.tar.gz
ldetect-lst-14aba3799e410fe16e5c54ec74a81ac8dcad206d.tar.bz2
ldetect-lst-14aba3799e410fe16e5c54ec74a81ac8dcad206d.tar.xz
ldetect-lst-14aba3799e410fe16e5c54ec74a81ac8dcad206d.zip
add 2 missing entries from kernel-2.6.10-1mdk
Diffstat (limited to 'lst')