use first ip if eth0 is not available
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 28 Aug 2014 14:25:37 +0000 (16:25 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 28 Aug 2014 14:25:37 +0000 (16:25 +0200)
scripts/RFID-JSONP-server.pl

index f29c638..62a2d79 100755 (executable)
@@ -305,19 +305,20 @@ sub rfid_register {
 
        foreach ( split(/\n/, `ip addr` ) ) {
                if ( /^\d:\s(\w+):\s/ ) {
-                       $ip->{last} = $1;
+                       $ip->{_last} = $1;
                } elsif ( /^\s+inet\s((\d+)\.(\d+)\.(\d+)\.(\d+))\/(\d+)/ ) {
-                       $ip->{ $ip->{last} } = $1;
+                       $ip->{ $ip->{_last} } = $1;
                } else {
-                       warn "# SKIP [$_]\n";
+                       #warn "# SKIP [$_]\n";
                }
-
        }
 
+       warn dump($ip);
+
        my $ua = LWP::UserAgent->new;
        my $url = URI->new( $rfid_url . '/register.pl');
        $url->query_form(
-               local_ip => $ip->{eth0},
+               local_ip => $ip->{eth0} || $ip->{ (keys %$ip)[0] },
        );
        warn "GET ",$url->as_string;
        my $response = $ua->get($url);