source: ocsinventory-agent/trunk/fuentes/lib/Ocsinventory/Agent/Backend/OS/BSD/Domains.pm @ 468

Last change on this file since 468 was 468, checked in by mabarracus, 4 years ago

Copyt trusty code

File size: 1021 bytes
Line 
1package Ocsinventory::Agent::Backend::OS::BSD::Domains;
2use strict;
3
4sub check {
5  my $hostname;
6  chomp ($hostname = `hostname`);
7  my @domain = split (/\./, $hostname);
8  shift (@domain);
9  return 1 if @domain;
10  -f "/etc/resolv.conf"
11 }
12sub run {
13  my $params = shift;
14  my $common = $params->{common};
15
16  my $domain;
17  my %domain;
18  my @dns_list;
19  my $dns;
20  my $hostname;
21  chomp ($hostname = `hostname`);
22  my @domain = split (/\./, $hostname);
23  shift (@domain);
24  $domain = join ('.',@domain);
25
26  open RESOLV, "/etc/resolv.conf" or warn;
27
28    while(<RESOLV>){
29      if (/^nameserver\s+(\S+)/i) {
30        push(@dns_list,$1);
31      }
32      elsif (!$domain) {
33        $domain{$2} = 1 if (/^(domain|search)\s+(.+)/);
34      }
35    }
36    close RESOLV;
37
38    if (!$domain) {
39      $domain = join "/", keys %domain;
40    }
41
42  $dns=join("/",@dns_list);
43 
44# If no domain name, we send "WORKGROUP"
45  $domain = 'WORKGROUP' unless $domain;
46
47  $common->setHardware({
48      WORKGROUP => $domain,
49      DNS => $dns
50    });
51
52}
53
541;
Note: See TracBrowser for help on using the repository browser.