1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-19 14:09:02 +00:00

New function msevent_timedout().

This commit is contained in:
henri
2013-05-12 13:39:45 +00:00
parent 8475cef210
commit 81fda37f89
3 changed files with 13 additions and 5 deletions

View File

@@ -939,7 +939,7 @@ void process_event(mspool *nsp, gh_list *evlist, msevent *nse, int ev) {
case NSE_TYPE_CONNECT_SSL:
if (ev != EV_NONE)
handle_connect_result(nsp, nse, NSE_STATUS_SUCCESS);
if (!nse->event_done && nse->timeout.tv_sec && !TIMEVAL_AFTER(nse->timeout, nsock_tod))
if (msevent_timedout(nse))
handle_connect_result(nsp, nse, NSE_STATUS_TIMEOUT);
break;
@@ -956,7 +956,7 @@ void process_event(mspool *nsp, gh_list *evlist, msevent *nse, int ev) {
if (!nse->iod->ssl && match_r)
handle_read_result(nsp, nse, NSE_STATUS_SUCCESS);
if (!nse->event_done && nse->timeout.tv_sec && !TIMEVAL_AFTER(nse->timeout, nsock_tod))
if (msevent_timedout(nse))
handle_read_result(nsp, nse, NSE_STATUS_TIMEOUT);
break;
@@ -973,12 +973,12 @@ void process_event(mspool *nsp, gh_list *evlist, msevent *nse, int ev) {
if (!nse->iod->ssl && match_w)
handle_write_result(nsp, nse, NSE_STATUS_SUCCESS);
if (!nse->event_done && nse->timeout.tv_sec && !TIMEVAL_AFTER(nse->timeout, nsock_tod))
if (msevent_timedout(nse))
handle_write_result(nsp, nse, NSE_STATUS_TIMEOUT);
break;
case NSE_TYPE_TIMER:
if (nse->timeout.tv_sec && !TIMEVAL_AFTER(nse->timeout, nsock_tod))
if (msevent_timedout(nse))
handle_timer_result(nsp, nse, NSE_STATUS_SUCCESS);
break;
@@ -996,7 +996,7 @@ void process_event(mspool *nsp, gh_list *evlist, msevent *nse, int ev) {
if (fs_length(&(nse->iobuf)) > 0)
handle_pcap_read_result(nsp, nse, NSE_STATUS_SUCCESS);
if (!nse->event_done && nse->timeout.tv_sec && !TIMEVAL_AFTER(nse->timeout, nsock_tod))
if (msevent_timedout(nse))
handle_pcap_read_result(nsp, nse, NSE_STATUS_TIMEOUT);
#if PCAP_BSD_SELECT_HACK

View File

@@ -506,3 +506,9 @@ const char *nse_status2str(enum nse_status status) {
}
}
int msevent_timedout(msevent *nse) {
if (nse->event_done)
return 0;
return (nse->timeout.tv_sec && !TIMEVAL_AFTER(nse->timeout, nsock_tod));
}

View File

@@ -419,6 +419,8 @@ static inline int nsock_engine_loop(mspool *nsp, int msec_timeout) {
/* ------------------- PROTOTYPES ------------------- */
int msevent_timedout(msevent *nse);
/* Get a new nsock_event_id, given a type */
nsock_event_id get_new_event_id(mspool *nsp, enum nse_type type);