RST segmetns are never WindowFull segments.

svn path=/trunk/; revision=12823
This commit is contained in:
Ronnie Sahlberg 2004-12-23 19:56:29 +00:00
parent 0b6ae100fe
commit 6b8c77703e
1 changed files with 14 additions and 12 deletions

View File

@ -1130,18 +1130,20 @@ ack_finished:
* i.e. same thing as if the other side would start sending
* zero windows back to us.
*/
if(win_scale2==-1){
if( EQ_SEQ( (seq+seglen), (win2+ack1) ) ){
struct tcp_acked *ta;
ta=tcp_analyze_get_acked_struct(pinfo->fd->num, TRUE);
ta->flags|=TCP_A_WINDOW_FULL;
}
} else {
if( EQ_SEQ( (seq+seglen), ((win2<<win_scale2)+ack1) ) ){
struct tcp_acked *ta;
ta=tcp_analyze_get_acked_struct(pinfo->fd->num, TRUE);
ta->flags|=TCP_A_WINDOW_FULL;
}
if( !(flags&TH_RST)){ /* RST segments are never WindowFull segments*/
if(win_scale2==-1){
if( EQ_SEQ( (seq+seglen), (win2+ack1) ) ){
struct tcp_acked *ta;
ta=tcp_analyze_get_acked_struct(pinfo->fd->num, TRUE);
ta->flags|=TCP_A_WINDOW_FULL;
}
} else {
if( EQ_SEQ( (seq+seglen), ((win2<<win_scale2)+ack1) ) ){
struct tcp_acked *ta;
ta=tcp_analyze_get_acked_struct(pinfo->fd->num, TRUE);
ta->flags|=TCP_A_WINDOW_FULL;
}
}
}
/* check for zero window probes