--- lib/PXElator/amt.pm 2009/08/30 18:49:48 384 +++ lib/PXElator/amt.pm 2009/08/30 22:46:57 385 @@ -6,6 +6,7 @@ use lib '/srv/Intel-AMT/lib/'; use Intel::AMT::RemoteControl; use Intel::AMT::NetworkAdministration; +use Intel::AMT::EventManager; use Data::Dump qw/dump/; use Regexp::Common qw/net/; @@ -16,6 +17,7 @@ sub ip { my ( $client_ip, $amt ) = @_; + return unless $client_ip; $amt ||= client::conf( $client_ip => 'amt' ); my ( $passwd, $ip ) = split(/\s+/, $amt); ( $ip, $passwd ) = ( $passwd, $ip ) if $passwd =~ m/$RE{net}{IPv4}/; @@ -38,19 +40,31 @@ defined $state && ( $state & 0x0f ) == 0; } -sub info { +sub network { ip @_; - my $amt; - eval { - $amt = Intel::AMT::NetworkAdministration::network_settings; - $amt->{power_state} = Intel::AMT::RemoteControl::SystemPowerState; - CouchDB::audit('network', $amt ); - }; - warn "ERROR amt $@" if $@; + my $amt = eval { Intel::AMT::NetworkAdministration::network_settings }; + if ( $@ ) { + warn "ERROR $@"; + } else { + $amt->{ip} = $ENV{AMT_HOST}; + CouchDB::audit('log', $amt ); + } $amt; } +sub log { + ip @_; + + my $amt = eval { Intel::AMT::EventManager::ReadEventLogRecords }; + if ( $@ ) { + warn "ERROR $@"; + } else { + $amt->{ip} = $ENV{AMT_HOST}; + CouchDB::audit('log', $amt ); + } + $amt; +} sub RemoteControl { ip shift;