--- projects/cms/source/host/ihost-perl/ihost.pl 2001/02/05 17:20:07 1.14 +++ projects/cms/source/host/ihost-perl/ihost.pl 2001/02/27 19:14:26 1.17 @@ -10,7 +10,7 @@ # - pjm2@ukc.ac.uk # # $Author: pjm2 $ -# $Id: ihost.pl,v 1.14 2001/02/05 17:20:07 pjm2 Exp $ +# $Id: ihost.pl,v 1.17 2001/02/27 19:14:26 pjm2 Exp $ #------------------------------------------------------------ $| = 1; @@ -32,6 +32,7 @@ use vars qw ( $tcp_port $filter_addr $file_list + $fqdn ); if (@ARGV != 2) { @@ -119,6 +120,13 @@ sub tcp_configure() { print "File list obtained: $file_list\n"; + print $sock "FQDN\n"; + $response = <$sock>; + chop $response; + $fqdn = $response; + + print "FQDN returned: $fqdn\n"; + print $sock "UDPUpdateTime\n"; $response = <$sock>; chop $response; @@ -190,22 +198,36 @@ sub send_udp_packet() { my($disk_info) = ""; my($i) = 0; while (defined $packet{"packet.disk.p$i.attributes.mount"}) { - $disk_info .= ""; - $disk_info .= qq/$packet{"packet.disk.p$i.attributes.name"}<\/name>/; - $disk_info .= qq/$packet{"packet.disk.p$i.attributes.kbytes"}<\/kbytes>/; - $disk_info .= qq/$packet{"packet.disk.p$i.attributes.used"}<\/used>/; - $disk_info .= qq/$packet{"packet.disk.p$i.attributes.avail"}<\/avail>/; - $disk_info .= qq/$packet{"packet.disk.p$i.attributes.mount"}<\/mount>/; - $disk_info .= ""; + $disk_info .= " in resolv.conf + $domainname = $1; + $machine_name = "$hostname.$domainname"; + } + elsif($resolv =~ /search\s+([^\s]+)/) { + # some machines have search in resolv.conf + $domainname = $1; + $machine_name = "$hostname.$domainname"; + } + else { + # we can't find out the domain + $machine_name = $hostname; + } my($ip) = inet_ntoa(scalar(gethostbyname($hostname)) || 'localhost'); # Build the XML packet this way, as we can clearly