diff --git a/scan_engine_connect.cc b/scan_engine_connect.cc index 6ec0c834b..d0c89c999 100644 --- a/scan_engine_connect.cc +++ b/scan_engine_connect.cc @@ -278,6 +278,10 @@ static void handleConnectResult(UltraScanInfo *USI, HostScanStats *hss, break; #ifdef ENOPROTOOPT case ENOPROTOOPT: + newhoststate = HOST_DOWN; + newportstate = PORT_FILTERED; + current_reason = ER_PROTOUNREACH; + break; #endif case EHOSTUNREACH: newhoststate = HOST_DOWN; @@ -301,6 +305,12 @@ static void handleConnectResult(UltraScanInfo *USI, HostScanStats *hss, newportstate = PORT_FILTERED; current_reason = ER_NETUNREACH; break; + case ENONET: + /* For Linux at least, this means ICMP type 3 code 8, source host isolated */ + newhoststate = HOST_DOWN; + newportstate = PORT_FILTERED; + current_reason = ER_DESTUNREACH; + break; case ENETDOWN: case ENETRESET: case ECONNABORTED: