Fixed a bug for mbfido tic to protect against King-FIX v.1.26.Universal
This commit is contained in:
parent
cb42942cab
commit
e50985d01d
@ -29,6 +29,9 @@ v0.37.4 10-May-2003
|
|||||||
|
|
||||||
mbfido:
|
mbfido:
|
||||||
Stone age packet support, see common.a.
|
Stone age packet support, see common.a.
|
||||||
|
Due to a bug in King-FIX v.1.26.Universal mbfido did crash.
|
||||||
|
Now it will log this and continue processing ticfiles with the
|
||||||
|
risk of sending files back to the owner of that faulty program.
|
||||||
|
|
||||||
|
|
||||||
v0.37.3 09-Apr-2003 - 10-May-2003
|
v0.37.3 09-Apr-2003 - 10-May-2003
|
||||||
|
27
mbfido/tic.c
27
mbfido/tic.c
@ -168,8 +168,6 @@ int LoadTic(char *inb, char *tfn)
|
|||||||
char *Temp, *Temp2, *Buf, *Log = NULL, RealName[256];
|
char *Temp, *Temp2, *Buf, *Log = NULL, RealName[256];
|
||||||
int i, j, rc, bufsize, DescCnt = FALSE;
|
int i, j, rc, bufsize, DescCnt = FALSE;
|
||||||
fa_list *sbl = NULL;
|
fa_list *sbl = NULL;
|
||||||
// DIR *dp;
|
|
||||||
// struct dirent *de;
|
|
||||||
|
|
||||||
if (CFG.slow_util && do_quiet)
|
if (CFG.slow_util && do_quiet)
|
||||||
usleep(1);
|
usleep(1);
|
||||||
@ -273,16 +271,21 @@ int LoadTic(char *inb, char *tfn)
|
|||||||
|
|
||||||
} else if (strncasecmp(Temp, "path ", 5) == 0) {
|
} else if (strncasecmp(Temp, "path ", 5) == 0) {
|
||||||
strncpy(TIC.TicIn.Path[TIC.TicIn.TotPath], Temp+5, 80);
|
strncpy(TIC.TicIn.Path[TIC.TicIn.TotPath], Temp+5, 80);
|
||||||
TIC.TicIn.TotPath++;
|
if (strchr(TIC.TicIn.Path[TIC.TicIn.TotPath], ':') && strchr(Temp+5, '/')) {
|
||||||
TIC.Aka.zone = atoi(strtok(Temp+5, ":"));
|
TIC.TicIn.TotPath++;
|
||||||
TIC.Aka.net = atoi(strtok(NULL, "/"));
|
TIC.Aka.zone = atoi(strtok(Temp+5, ":"));
|
||||||
TIC.Aka.node = atoi(strtok(NULL, "\0"));
|
TIC.Aka.net = atoi(strtok(NULL, "/"));
|
||||||
for (i = 0; i < 40; i++)
|
TIC.Aka.node = atoi(strtok(NULL, "\0"));
|
||||||
if ((CFG.akavalid[i]) && (CFG.aka[i].zone == TIC.Aka.zone) && (CFG.aka[i].net == TIC.Aka.net) &&
|
for (i = 0; i < 40; i++)
|
||||||
(CFG.aka[i].node == TIC.Aka.node) && (!CFG.aka[i].point)) {
|
if ((CFG.akavalid[i]) && (CFG.aka[i].zone == TIC.Aka.zone) && (CFG.aka[i].net == TIC.Aka.net) &&
|
||||||
TIC.TicIn.PathError = TRUE;
|
(CFG.aka[i].node == TIC.Aka.node) && (!CFG.aka[i].point)) {
|
||||||
Syslog('+', "Aka %d: %s in path", i + 1, aka2str(CFG.aka[i]));
|
TIC.TicIn.PathError = TRUE;
|
||||||
}
|
Syslog('+', "Aka %d: %s in path", i + 1, aka2str(CFG.aka[i]));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
WriteError("No AKA in path: \"%s\"", printable(Temp, 0));
|
||||||
|
WriteError("Report this to author of that program");
|
||||||
|
}
|
||||||
|
|
||||||
} else if (strncasecmp(Temp, "seenby ", 7) == 0) {
|
} else if (strncasecmp(Temp, "seenby ", 7) == 0) {
|
||||||
fill_list(&sbl, Temp+7, NULL);
|
fill_list(&sbl, Temp+7, NULL);
|
||||||
|
Reference in New Issue
Block a user