* Jonathan Smithe <gigelusster@xxxxxxxxx> [060601 14:40]:
The job(user) can specify a maxdials/maxtries, but they are "capped" by
the settings of faxq. If you really don't want faxq to cap settings,
set them to -1 in the faxq config. Then clients can set them to
whatever they want, and they don't get capped by faxq (well, capped by
the size of an u_int on whatever platform you're on).
See faxd/faxQueueApp.c++:2391
I've looked into FaxSend.c++:462 (in Hylafax+ v. 4.3.0.3) and noticed
the following:
-snip-
if (fax.ntries > 2) {
if (fax.notice != "")
fax.notice.append("; ");
fax.notice.append(
"Giving up after 3 attempts to send same page");
traceServer("SEND: %s \"%s\", dirnum %d",
(const char*) fax.notice, (const char*)
freq.item, freq.dirnum);
fax.status = send_failed;
}
-snip-
Shouldn't the the check be (fax.ntries >= fax.maxtries) or something
else taken from the config file?
No - this particular piece of code in faxsend is special to tring to
send the same page multiple times if it fails to go through in
*consecutive* attempts.
The maxtries applies the the total number if tries to get a fax through,
not the number of tries on a specific page (which is hard coded at max 3).
See the code around line FaxSend.c++:363
else if (fax.status == send_retry) {
if (fax.totdials == fax.maxdials) {
notice = fax.notice | "; too many attempts to dial";
sendFailed(fax, send_failed, notice);
} else if (fax.tottries == fax.maxtries) {
notice = fax.notice | "; too many attempts to send";
sendFailed(fax, send_failed, notice);
}
}