More checks to validate tic files

This commit is contained in:
Michiel Broek 2003-05-25 10:01:35 +00:00
parent 66fbad50ef
commit 0742fa3dd0
2 changed files with 9 additions and 25 deletions

View File

@ -32,6 +32,7 @@ v0.37.4 10-May-2003
Due to a bug in King-FIX v.1.26.Universal mbfido did crash. 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 Now it will log this and continue processing ticfiles with the
risk of sending files back to the owner of that faulty program. risk of sending files back to the owner of that faulty program.
Added the same check for Seenby lines.
v0.37.3 09-Apr-2003 - 10-May-2003 v0.37.3 09-Apr-2003 - 10-May-2003

View File

@ -270,8 +270,8 @@ 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); if (strchr(Temp+5, ':') && strchr(Temp+5, '/')) {
if (strchr(TIC.TicIn.Path[TIC.TicIn.TotPath], ':') && strchr(Temp+5, '/')) { strncpy(TIC.TicIn.Path[TIC.TicIn.TotPath], Temp+5, 80);
TIC.TicIn.TotPath++; TIC.TicIn.TotPath++;
TIC.Aka.zone = atoi(strtok(Temp+5, ":")); TIC.Aka.zone = atoi(strtok(Temp+5, ":"));
TIC.Aka.net = atoi(strtok(NULL, "/")); TIC.Aka.net = atoi(strtok(NULL, "/"));
@ -283,12 +283,16 @@ int LoadTic(char *inb, char *tfn)
Syslog('+', "Aka %d: %s in path", i + 1, aka2str(CFG.aka[i])); Syslog('+', "Aka %d: %s in path", i + 1, aka2str(CFG.aka[i]));
} }
} else { } else {
WriteError("No AKA in path: \"%s\"", printable(Temp, 0)); WriteError("No valid AKA in Path line: \"%s\"", printable(Temp, 0));
WriteError("Report this to author of that program"); 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); if (strchr(Temp+7, ':') && strchr(Temp+7, '/')) {
fill_list(&sbl, Temp+7, NULL);
} else {
WriteError("No valid AKA in Seenby line: \"%s\"", printable(Temp, 0));
}
} else if (strncasecmp(Temp, "areadesc ", 9) == 0) { } else if (strncasecmp(Temp, "areadesc ", 9) == 0) {
strncpy(TIC.TicIn.AreaDesc, Temp+9, 60); strncpy(TIC.TicIn.AreaDesc, Temp+9, 60);
@ -430,27 +434,6 @@ int LoadTic(char *inb, char *tfn)
* Find out what the real name of the file is, * Find out what the real name of the file is,
* most likely this is a 8.3 filename. * most likely this is a 8.3 filename.
*/ */
// if ((dp = opendir(TIC.Inbound)) == NULL) {
// WriteError("$Can't opendir(%s)", TIC.Inbound);
// return 1;
// }
// while ((de = readdir(dp))) {
// /*
// * Check 8.3 FN
// */
// if (strcasecmp(de->d_name, TIC.TicIn.File) == 0) {
// strncpy(RealName, de->d_name, 255);
// break;
// }
// /*
// * Check LFN
// */
// if (strcasecmp(de->d_name, TIC.TicIn.FullName) == 0) {
// strncpy(RealName, de->d_name, 255);
// break;
// }
// }
// closedir(dp);
strncpy(RealName, TIC.TicIn.File, 255); strncpy(RealName, TIC.TicIn.File, 255);
Syslog('f', "getfilecase(%s, %s)", TIC.Inbound, RealName); Syslog('f', "getfilecase(%s, %s)", TIC.Inbound, RealName);
if (! getfilecase(TIC.Inbound, RealName)) { if (! getfilecase(TIC.Inbound, RealName)) {