1
0
mirror of https://github.com/yarrick/iodine.git synced 2024-11-26 06:56:05 +03:00

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

View File

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