I found the root cause fort he search problem.
File: app\tools\search\search-results.php
File: app\tools\search\search-results-export.php
The problem is if the search term is exactly 12 in length.
Then it only checks if it does not contains "." or ":", then it handles it as mac.
But it misses to hanlde the case when it is 12 in length and does contain "." or ":".
The if-else is wrong here.
else if(strlen($search_term) == 12) {
if( (substr_count($search_term, ":") == 0) && (substr_count($search_term, ".") == 0) ) { $type = "mac"; } //no dots or : -> mac without :
}
else { $type = $Addresses->identify_address( $search_term ); } # identify address type
This can be shorten to this:
# check if mac address or ip address
if(strlen($search_term)==17 && substr_count($search_term, ":") == 5)
{
$type = "mac"; //count : -> must be 5
}
else if(strlen($search_term) == 12 && (substr_count($search_term, ":") == 0) && (substr_count($search_term, ".") == 0))
{
$type = "mac"; //no dots or : -> mac without :
}
else
{
$type = $Addresses->identify_address( $search_term ); //identify address type
}
Anonymous