@@ -835,7 +835,10 @@ static void set_default_port_state(std::vector<Target *> &targets, stype scantyp
835
case ACK_SCAN:
835
case ACK_SCAN:
836
case WINDOW_SCAN:
836
case WINDOW_SCAN:
837
case CONNECT_SCAN:
837
case CONNECT_SCAN:
838
- (*target)->ports .setDefaultPortState (IPPROTO_TCP, PORT_FILTERED);
838
+ if (o.proxy_chain )
839
+ (*target)->ports .setDefaultPortState (IPPROTO_TCP, PORT_CLOSEDFILTERED);
840
+ else
841
+ (*target)->ports .setDefaultPortState (IPPROTO_TCP, PORT_FILTERED);
839
break ;
842
break ;
840
case SCTP_INIT_SCAN:
843
case SCTP_INIT_SCAN:
841
(*target)->ports .setDefaultPortState (IPPROTO_SCTP, PORT_FILTERED);
844
(*target)->ports .setDefaultPortState (IPPROTO_SCTP, PORT_FILTERED);
@@ -1567,11 +1570,10 @@ void HostScanStats::destroyOutstandingProbe(std::list<UltraProbe *>::iterator pr
1567
num_probes_waiting_retransmit--;
1570
num_probes_waiting_retransmit--;
1568
}
1571
}
1569
1572
1570
- /* Remove it from scan watch lists, if it exists on them. */
1571
- if (probe->type == UltraProbe::UP_CONNECT && probe->CP ()->sd > 0 )
1572
- USI->gstats ->CSI ->clearSD (probe->CP ()->sd );
1573
-
1574
probes_outstanding.erase (probeI);
1573
probes_outstanding.erase (probeI);
1574
+ if (o.debugging > 8 )
1575
+ log_write (LOG_PLAIN, " HostScanStats::destroyOutstandingProbe[%p]"
1576
+ " - Deleting probe dport=%d\n " , probe, probe->dport ());
1575
delete probe;
1577
delete probe;
1576
}
1578
}
1577
1579
@@ -1686,12 +1688,15 @@ void HostScanStats::markProbeTimedout(std::list<UltraProbe *>::iterator probeI)
1686
/* I'll leave it in the queue in case some response ever does come */
1688
/* I'll leave it in the queue in case some response ever does come */
1687
num_probes_waiting_retransmit++;
1689
num_probes_waiting_retransmit++;
1688
1690
1689
- if (probe->type == UltraProbe::UP_CONNECT && probe->CP ()->sd >= 0 ) {
1691
+ if (probe->type == UltraProbe::UP_CONNECT && probe->CP ()->connected ) {
1690
/* Free the socket as that is a valuable resource, though it is a shame
1692
/* Free the socket as that is a valuable resource, though it is a shame
1691
late responses will not be permitted */
1693
late responses will not be permitted */
1692
- USI->gstats ->CSI ->clearSD (probe->CP ()->sd );
1694
+ if (probe->CP ()->connected ) {
1693
- close (probe->CP ()->sd );
1695
+ if (o.debugging > 8 )
1694
- probe->CP ()->sd = -1 ;
1696
+ log_write (LOG_PLAIN, " HostScanStats::markProbeTimedout: nsock_iod_delete (probe->dport()=%d)\n " , probe->dport ());
1697
+ nsock_iod_delete (probe->CP ()->sock_nsi , NSOCK_PENDING_SILENT);
1698
+ probe->CP ()->connected = false ;
1699
+ }
1695
}
1700
}
1696
}
1701
}
1697
1702
@@ -1953,6 +1958,9 @@ void HostScanStats::moveProbeToBench(std::list<UltraProbe *>::iterator probeI) {
1953
probe_bench.push_back (*probe->pspec ());
1958
probe_bench.push_back (*probe->pspec ());
1954
probes_outstanding.erase (probeI);
1959
probes_outstanding.erase (probeI);
1955
num_probes_waiting_retransmit--;
1960
num_probes_waiting_retransmit--;
1961
+ if (o.debugging > 8 )
1962
+ log_write (LOG_PLAIN, " HostScanStats::moveProbeToBench[%p]"
1963
+ " - Deleting probe dport=%d\n " , probe, probe->dport ());
1956
delete probe;
1964
delete probe;
1957
}
1965
}
1958
1966
0 commit comments