From 7f358e7af381390ec9f4c727a0a9e8aac94f8d59 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sun, 18 Nov 2007 17:32:22 +0000 Subject: [PATCH] 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 --- lib/CWMP/Vendor.pm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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; -- 2.20.1