Fixes for outbound arcmail names exhausted

This commit is contained in:
Michiel Broek 2002-11-04 20:05:57 +00:00
parent e68b2a1840
commit 2a56b6ef75
3 changed files with 23 additions and 1 deletions

View File

@ -63,7 +63,10 @@ v0.35.05 19-Oct-2002
Email posted in the email box in full domain mode was refused Email posted in the email box in full domain mode was refused
by SMTP servers because of bad address formatting. by SMTP servers because of bad address formatting.
Addex extra check to prevent overflow of arcmail packets Addex extra check to prevent overflow of arcmail packets
extension. extension. This is logged with a warning when this happens.
If filenames were exhausted and the last one (ending on z) is
truncated in the outbound (has been sent already) it is erased
before the archiver is called to reuse that filename again.
mbtask: mbtask:
Removed debug logging of "does" info. Removed debug logging of "does" info.

6
TODO
View File

@ -93,6 +93,12 @@ mbcico:
N: Implement MD5 crypt in binkp protocol driver. N: Implement MD5 crypt in binkp protocol driver.
N: Doesn't poll internet nodes with non-standard ports when the
FQDN:port is in the override field.
N: See if it is possible with binkp protocol to resume aborted
transfers.
mbfile: mbfile:
N: Add a check to see if the magic filenames are (still) valid. N: Add a check to see if the magic filenames are (still) valid.

View File

@ -321,6 +321,7 @@ void flush_dir(char *ndir)
nr = 'a'; nr = 'a';
arcfile[strlen(arcfile) -1] = nr; arcfile[strlen(arcfile) -1] = nr;
} else { } else {
Syslog('!', "Warning: archive filename extensions exhausted for today");
break; break;
} }
} else if (CFG.maxarcsize && (fsize > (CFG.maxarcsize * 1024)) && (nr < maxnr)) { } else if (CFG.maxarcsize && (fsize > (CFG.maxarcsize * 1024)) && (nr < maxnr)) {
@ -355,6 +356,18 @@ void flush_dir(char *ndir)
fsize = file_size(arcfile); fsize = file_size(arcfile);
/*
* If arcfile names were exhausted then the file ending on a z could still
* be in the outbound but truncated if it has been sent. Since we are
* reusing that filename (not a good solution) we must erase it or the
* archiver program will complain.
*/
if (fsize == 0L) {
Syslog('m', "Erasing zero bytes file %s", arcfile);
unlink(arcfile);
Attach = TRUE;
}
if (first) { if (first) {
Syslog('+', "Pack ARCmail for %s, via %s", aka2str(nodenr), ascfnode(&noden, 0x1f)); Syslog('+', "Pack ARCmail for %s, via %s", aka2str(nodenr), ascfnode(&noden, 0x1f));
if (!do_quiet) { if (!do_quiet) {