mirror of
https://github.com/yarrick/iodine.git
synced 2024-11-27 12:05:15 +00:00
Release 0.5.0-rc2
This commit is contained in:
parent
134fa90727
commit
30a3bb9445
@ -5,7 +5,11 @@ iodine - http://code.kryo.se/iodine
|
|||||||
|
|
||||||
CHANGES:
|
CHANGES:
|
||||||
|
|
||||||
2009-01-10: 0.5.0-rc1 "iPassed"
|
2009-01-17: 0.5.0-rc2
|
||||||
|
- Fixed endless loop in fragment size autodetection, #39.
|
||||||
|
- Fixed broken hostname dot placing with specific lengths, #40.
|
||||||
|
|
||||||
|
2009-01-10: 0.5.0-rc1
|
||||||
- Fixed segfault in server when sending version reject.
|
- Fixed segfault in server when sending version reject.
|
||||||
- Applied patch to make iodine build on BeOS R5-BONE and Haiku,
|
- Applied patch to make iodine build on BeOS R5-BONE and Haiku,
|
||||||
from Francois Revol. Still work to do to get tun device working.
|
from Francois Revol. Still work to do to get tun device working.
|
||||||
|
@ -52,12 +52,12 @@ inline_dotify(char *buf, size_t buflen)
|
|||||||
pos = (unsigned) (reader - buf) + 1;
|
pos = (unsigned) (reader - buf) + 1;
|
||||||
|
|
||||||
while (dots) {
|
while (dots) {
|
||||||
|
*writer-- = *reader--;
|
||||||
|
pos--;
|
||||||
if (pos % 57 == 0) {
|
if (pos % 57 == 0) {
|
||||||
*writer-- = '.';
|
*writer-- = '.';
|
||||||
dots--;
|
dots--;
|
||||||
}
|
}
|
||||||
*writer-- = *reader--;
|
|
||||||
pos--;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* return new length of string */
|
/* return new length of string */
|
||||||
|
25
src/iodine.c
25
src/iodine.c
@ -539,12 +539,12 @@ handshake(int dns_fd)
|
|||||||
printf("Version ok, both using protocol v 0x%08x. You are user #%d\n", VERSION, userid);
|
printf("Version ok, both using protocol v 0x%08x. You are user #%d\n", VERSION, userid);
|
||||||
goto perform_login;
|
goto perform_login;
|
||||||
} else if (strncmp("VNAK", in, 4) == 0) {
|
} else if (strncmp("VNAK", in, 4) == 0) {
|
||||||
errx(1, "You use protocol v 0x%08x, server uses v 0x%08x. Giving up",
|
warnx("You use protocol v 0x%08x, server uses v 0x%08x. Giving up",
|
||||||
VERSION, payload);
|
VERSION, payload);
|
||||||
/* NOTREACHED */
|
return 1;
|
||||||
} else if (strncmp("VFUL", in, 4) == 0) {
|
} else if (strncmp("VFUL", in, 4) == 0) {
|
||||||
errx(1, "Server full, all %d slots are taken. Try again later", payload);
|
warnx("Server full, all %d slots are taken. Try again later", payload);
|
||||||
/* NOTREACHED */
|
return 1;
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
warnx("did not receive proper login challenge");
|
warnx("did not receive proper login challenge");
|
||||||
@ -601,8 +601,8 @@ perform_login:
|
|||||||
|
|
||||||
printf("Retrying login...\n");
|
printf("Retrying login...\n");
|
||||||
}
|
}
|
||||||
errx(1, "couldn't login to server");
|
warnx("couldn't login to server");
|
||||||
/* NOTREACHED */
|
return 1;
|
||||||
|
|
||||||
perform_case_check:
|
perform_case_check:
|
||||||
case_preserved = 0;
|
case_preserved = 0;
|
||||||
@ -703,7 +703,7 @@ autodetect_max_fragsize:
|
|||||||
int range = 768;
|
int range = 768;
|
||||||
max_downstream_frag_size = 0;
|
max_downstream_frag_size = 0;
|
||||||
printf("Autoprobing max downstream fragment size... (skip with -m fragsize)\n");
|
printf("Autoprobing max downstream fragment size... (skip with -m fragsize)\n");
|
||||||
while (range >= 8 || !max_downstream_frag_size) {
|
while (running && range > 0 && (range >= 8 || !max_downstream_frag_size)) {
|
||||||
for (i=0; running && i<3 ;i++) {
|
for (i=0; running && i<3 ;i++) {
|
||||||
tv.tv_sec = 1;
|
tv.tv_sec = 1;
|
||||||
tv.tv_usec = 0;
|
tv.tv_usec = 0;
|
||||||
@ -736,6 +736,17 @@ autodetect_max_fragsize:
|
|||||||
range >>= 1;
|
range >>= 1;
|
||||||
proposed_fragsize -= range;
|
proposed_fragsize -= range;
|
||||||
}
|
}
|
||||||
|
if (!running) {
|
||||||
|
printf("\n");
|
||||||
|
warnx("stopped while autodetecting fragment size (Try probing manually with -m)");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (range == 0) {
|
||||||
|
/* Tried all the way down to 2 and found no good size */
|
||||||
|
printf("\n");
|
||||||
|
warnx("found no accepted fragment size. (Try probing manually with -m)");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
printf("will use %d\n", max_downstream_frag_size);
|
printf("will use %d\n", max_downstream_frag_size);
|
||||||
}
|
}
|
||||||
printf("Setting downstream fragment size to max %d...\n", max_downstream_frag_size);
|
printf("Setting downstream fragment size to max %d...\n", max_downstream_frag_size);
|
||||||
|
@ -31,6 +31,8 @@ struct tuple
|
|||||||
"aaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaa"},
|
"aaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaa"},
|
||||||
{ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
{ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||||
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa."},
|
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa."},
|
||||||
|
{ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||||
|
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},
|
||||||
{ "abc123", "abc123" },
|
{ "abc123", "abc123" },
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user