Skip to content

Can there be any fault-tolerance built into tickit.js?

https://gitlab.synchro.net/main/sbbs/-/blob/master/exec/tickit.js#L640

I regularly receive nodelist TICs containing incorrect size values from a hub. The hub seems to be unable to fix the TIC's size values when informed about it.

When there's a length mismatch while processing a TIC file, it causes the entire operation for that file to fail, leaving the TIC and the received file unprocessed in /fido/inbound. Does it necessarily have to fail, or could there be some fault-tolerance built in? Something that still logs a warning, but allows the TIC operation to proceed.

Something like:

	if (tic.size !== undefined && f.length !== parseInt(tic.size, 10)) {
	   log(LOG_WARNING, "File '"+f.name+"' length mismatch. File is "+f.length+", expected "+tic.size+".");
           log(LOG_WARNING, "We'll just use "+f.length+"; since the TIC just has it WRONG...");
           tic.size=f.length;
	   //return false;
	}

Or is it "bad form" in the FTN world to accept a file that doesn't match what the TIC says?