修改wscale打开的判断条件, 窗口回复报文的window值改成网络序

This commit is contained in:
崔一鸣
2019-07-02 18:47:48 +06:00
parent 031d8d7168
commit 4d01ff5aad
3 changed files with 5 additions and 3 deletions

View File

@@ -555,7 +555,7 @@ static unsigned char* kni_cmsg_serialize_header_new(struct pme_info *pmeinfo, st
ret = wrapped_kni_cmsg_set(cmsg, TFE_CMSG_TCP_RESTORE_MSS_SERVER, (const unsigned char*)&server_mss, 2, pmeinfo->stream_traceid);
if(ret < 0) goto error_out;
//both = 1, send to tfe
if(pmeinfo->client_tcpopt->wscale && pmeinfo->server_tcpopt->wscale){
if(pmeinfo->client_tcpopt->wscale_set && pmeinfo->server_tcpopt->wscale_set){
//client wscale
ret = wrapped_kni_cmsg_set(cmsg, TFE_CMSG_TCP_RESTORE_WSACLE_CLIENT, (const unsigned char*)&(pmeinfo->client_tcpopt->wscale), 1, pmeinfo->stream_traceid);
if(ret < 0) goto error_out;
@@ -753,7 +753,7 @@ static char pending_opstate(const struct streaminfo *stream, struct pme_info *pm
pmeinfo->error = STREAM_ERROR_PENDING_NO_SYN;
return APP_STATE_FAWPKT | APP_STATE_DROPME;
}
pmeinfo->client_window = pktinfo.tcphdr->window;
pmeinfo->client_window = ntohs(pktinfo.tcphdr->window);
pmeinfo->client_tcpopt = kni_get_tcpopt(pktinfo.tcphdr, pktinfo.tcphdr_len);
return APP_STATE_FAWPKT | APP_STATE_GIVEME;
}
@@ -928,7 +928,7 @@ static char data_opstate(const struct streaminfo *stream, struct pme_info *pmein
}
// syn/ack
if(pktinfo.tcphdr->syn && pktinfo.tcphdr->ack){
pmeinfo->server_window = pktinfo.tcphdr->window;
pmeinfo->server_window = ntohs(pktinfo.tcphdr->window);
pmeinfo->server_tcpopt = kni_get_tcpopt(pktinfo.tcphdr, pktinfo.tcphdr_len);
return APP_STATE_FAWPKT | APP_STATE_GIVEME;
}