Author: arkurth
Date: Tue Jun  9 22:04:05 2009
New Revision: 783148

URL: http://svn.apache.org/viewvc?rev=783148&view=rev
Log:
VCL-23
Fixed bug in Windows_mod.pm::get_network_configuration() where it was returning 
the wrong interface if the public adapther is listed first in ipconfig output.

Modified:
    incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows_mod.pm

Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows_mod.pm
URL: 
http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows_mod.pm?rev=783148&r1=783147&r2=783148&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows_mod.pm 
(original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows_mod.pm Tue Jun 
 9 22:04:05 2009
@@ -4499,7 +4499,9 @@
                        notify($ERRORS{'DEBUG'}, 0, "interface does not have an 
ip address: $interface_name");
                        next;
                }
-               elsif (grep(/$computer_private_ip_address/, @ip_addresses)) {
+               
+               # Check if interface has private IP address assigned to it
+               if (grep(/$computer_private_ip_address/, @ip_addresses)) {
                        # If private interface information was requested, 
return a hash containing only this interface
                        notify($ERRORS{'DEBUG'}, 0, "private interface found: 
$interface_name, description: $description, address(es): " . join (", ", 
@ip_addresses));
                        if ($network_type =~ /private/i) {
@@ -4550,9 +4552,14 @@
                        }
                        else {
                                notify($ERRORS{'DEBUG'}, 0, "public interface 
found: $interface_name, description: $description, address(es): " . join (", ", 
@ip_addresses));
-                               my %return_hash = ($interface_name => 
$network_configuration{$interface_name});
-                               notify($ERRORS{'DEBUG'}, 0, "returning data for 
public interface: $interface_name (" . join (", ", @ip_addresses) . ")");
-                               return \%return_hash;
+                               if ($network_type =~ /public/i) {
+                                       my %return_hash = ($interface_name => 
$network_configuration{$interface_name});
+                                       notify($ERRORS{'DEBUG'}, 0, "returning 
data for public interface: $interface_name (" . join (", ", @ip_addresses) . 
")");
+                                       return \%return_hash;
+                               }
+                               else {
+                                       next;
+                               }
                        }
                }
        }


Reply via email to