Actually check length of probe responses

This commit is contained in:
Erik Ekman 2009-01-27 21:29:53 +00:00 committed by Erik Ekman
parent 1b7e9bed43
commit 0f7ce5d086
1 changed files with 14 additions and 5 deletions

View File

@ -732,16 +732,25 @@ autodetect_max_fragsize:
/* We got a reply */
int acked_fragsize = ((in[0] & 0xff) << 8) | (in[1] & 0xff);
if (acked_fragsize == proposed_fragsize) {
printf("%d ok.. ", acked_fragsize);
if (read == proposed_fragsize) {
printf("%d ok.. ", acked_fragsize);
fflush(stdout);
max_downstream_frag_size = acked_fragsize;
range >>= 1;
proposed_fragsize += range;
continue;
} else {
goto badlen;
}
}
if (strncmp("BADIP", in, 5) == 0) {
printf("got BADIP.. ");
fflush(stdout);
max_downstream_frag_size = acked_fragsize;
range >>= 1;
proposed_fragsize += range;
continue;
}
}
}
}
badlen:
printf("%d not ok.. ", proposed_fragsize);
fflush(stdout);
range >>= 1;