]> sjero.net Git - dccp2tcp/blobdiff - dccp2tcp.c
Modified .hgignore
[dccp2tcp] / dccp2tcp.c
index 0ed79a50fed94afe1ef42c6929ea5701ace9d266..1ab8ed198372618fba2074448b8d24870d84560b 100644 (file)
@@ -620,6 +620,10 @@ unsigned int interp_ack_vect(u_char* hdr)
                                if((*cur & 0xC0)==0x00){ //received packet
                                        bp+= (*cur & 0x3F)+1;
                                }
+
+                               if(((*cur& 0xF0)!= 0xC0) && ((*cur& 0xF0)!= 0x00) && ((*cur& 0xF0)!= 0x40)){
+                                       dbgprintf(1, "Warning: Invalid Ack Vector!! (Linux will handle poorly!)\n");
+                               }
                                tmp--;
                                cur++;
                        }
@@ -773,7 +777,7 @@ void ack_vect2sack(struct seq_num *seq, struct tcphdr *tcph, u_char* tcpopts, u_
        opt=dccphdr + sizeof(struct dccp_hdr) + sizeof(struct dccp_hdr_ext) + sizeof(struct dccp_hdr_ack_bits);
 
        /*setup tcp pointers*/
-       num_blocks=2;
+       num_blocks=4;
        *tcpopts=5;
        tlen=tcpopts+1;
        temp=tlen;