diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dealpkt/deal_tcp.c | 24 | ||||
| -rw-r--r-- | src/dealpkt/deal_udp.c | 10 | ||||
| -rw-r--r-- | src/dealpkt/stream_manage.c | 6 |
3 files changed, 9 insertions, 31 deletions
diff --git a/src/dealpkt/deal_tcp.c b/src/dealpkt/deal_tcp.c index 30b0d87..297198c 100644 --- a/src/dealpkt/deal_tcp.c +++ b/src/dealpkt/deal_tcp.c @@ -2781,10 +2781,8 @@ static int deal_tcp_stream(struct streamindex *pindex, const void *this_iphdr, s printaddr(&pstream->addr, pstream->threadnum), pstream->curdir); pdetail->lastmtime = g_CurrentTime; pstream_pr->stream_lastupdate_timestamp_ms = g_CurrentTime_ms; - if(1 == lrustream(pindex_tcp)) - { - tcp_reset_stream(pindex_tcp, this_iphdr,this_tcphdr, tcplen,raw_pkt); - } + lrustream(pindex_tcp); + if((this_tcphdr->th_flags & TH_RST) && tcplen == 0) { return PASS; @@ -2891,21 +2889,7 @@ static int deal_tcp_stream(struct streamindex *pindex, const void *this_iphdr, s pstream_pr->ip_ttl_s2c = pindex->stream.ip_ttl_c2s; /* Not a mistake, that's it! */ } - if(1 == lrustream(pindex_tcp)){ - ret = tcp_reset_stream(pindex_tcp, this_iphdr,this_tcphdr, tcplen,raw_pkt); - if(0 == ret){ - return PASS; - } - if(pstream_pr->under_ddos_bypass){ - return PASS; - } - ret = tcp_processallpkt(pstream, this_iphdr, this_tcphdr, tcplen, raw_pkt); - if(DROP == ret){ - return DROP; - } - - call_tcpall_after_reset = 1; - } + lrustream(pindex_tcp); pdetail->lastmtime=g_CurrentTime; pstream_pr->stream_lastupdate_timestamp_ms=g_CurrentTime_ms; @@ -2966,7 +2950,7 @@ static int deal_tcp_stream(struct streamindex *pindex, const void *this_iphdr, s } pdetail_pr =(struct tcpdetail_private*)(pstream->pdetail); - if((pdetail_pr != NULL) && (0 == call_tcpall_after_reset) && pindex_tcp && (pstream->pktstate!=OP_STATE_CLOSE)) + if((pdetail_pr != NULL) && pindex_tcp && (pstream->pktstate!=OP_STATE_CLOSE)) { if(tcplen == 0) { diff --git a/src/dealpkt/deal_udp.c b/src/dealpkt/deal_udp.c index dc4231c..9eac4bb 100644 --- a/src/dealpkt/deal_udp.c +++ b/src/dealpkt/deal_udp.c @@ -674,10 +674,7 @@ int dealipv4udppkt(struct streamindex *pindex, const struct mesa_ip4_hdr * this_ } else { - if (lrustream(a_index) == 1) - { - udp_reset_stream(a_index); - } + lrustream(a_index); } pstream_pr=&(a_index->stream); @@ -949,10 +946,7 @@ int dealipv6udppkt(struct streamindex *pindex,const struct mesa_ip6_hdr *a_packe } else { - if(lrustream(a_index)==1) - { - udp_reset_stream(a_index); - } + lrustream(a_index); } pstream_pr=&(a_index->stream); diff --git a/src/dealpkt/stream_manage.c b/src/dealpkt/stream_manage.c index e03eec5..ebb9f69 100644 --- a/src/dealpkt/stream_manage.c +++ b/src/dealpkt/stream_manage.c @@ -538,7 +538,7 @@ int del_stream_by_time(struct stream_list *plist, int tid, enum stream_type_t ty return ret; } -int lrustream(struct streamindex *pindex) +void lrustream(struct streamindex *pindex) { struct stream_list *plist = NULL; struct streaminfo_private *pstream_pr = &(pindex->stream); @@ -558,7 +558,7 @@ int lrustream(struct streamindex *pindex) timeouts_add(plist->streamindex_timer, &pindex->timeout, tcp_opening_timeout * 1000 + g_CurrentTime_ms); } else if (pstream->stream_state == TCP_NOUSE_STATE && pstream->type == STREAM_TYPE_TCP && - (sapp_global_val->config.stream.tcp.fast_close_discard == 1)) + (sapp_global_val->config.stream.tcp.fast_close_discard == 1)) { if (pstream_pr->set_special_timeout == 0) { @@ -576,7 +576,7 @@ int lrustream(struct streamindex *pindex) set_timeout = MAX_DEFALUT_TIMEOUT_S; timeouts_add(plist->streamindex_timer, &pindex->timeout, set_timeout * 1000 + g_current_time_ms); } - return 0; + return; } static int cmpaddr_mpls(const struct layer_addr_mpls *addr_heap, const struct layer_addr_mpls *addr_stack) |
