From: Dobrica Pavlinusic Date: Sun, 18 Nov 2007 17:32:22 +0000 (+0000) Subject: r238@brr: dpavlin | 2007-11-18 18:32:08 +0100 X-Git-Url: http://git.rot13.org/?p=perl-cwmp.git;a=commitdiff_plain;h=7f358e7af381390ec9f4c727a0a9e8aac94f8d59 r238@brr: dpavlin | 2007-11-18 18:32:08 +0100 fix for firmware 5.3.3.4 which returns full path for .ExternalIPAddress git-svn-id: https://perl-cwmp.googlecode.com/svn/trunk@212 836a5e1a-633d-0410-964b-294494ad4392 --- diff --git a/lib/CWMP/Vendor.pm b/lib/CWMP/Vendor.pm index cc055da..3d7a31b 100644 --- a/lib/CWMP/Vendor.pm +++ b/lib/CWMP/Vendor.pm @@ -58,8 +58,14 @@ my ( $last_ip, $last_serial ); sub state2serial { my $state = shift; - my $serial = $state->{DeviceID}->{SerialNumber} || die "no serial?"; - my $ip = $state->{Parameter}->{'.ExternalIPAddress'} || die "no ip?"; + my $serial = $state->{DeviceID}->{SerialNumber} || die "no DeviceID.SerialNumber in ",dump($state); + my $ip = + $state->{Parameter}->{'.ExternalIPAddress'} || + $state->{Parameter}->{ + # fix for firmware 5.3.3.4 which returns full path + ( grep { m/\.ExternalIPAddress/ } keys %{ $state->{Parameter} } )[0] + } || + die "no .ExternalIPAddress in ",dump($state); warn "## state2serial $serial $ip\n" if $debug;