![]() |
Hi, Try the attached patch. I've used it on 3-4 Slackware 3.5 machines, and it's worked. Hope it works for you. Mark Wilson P. Kay Associates Ltd. On Thu, 31 Dec 1998, CN Liu wrote: > ������ wrote: > > > sorry! > > where is libfaxutil.a file ? > > You probably are having the same problem as I am. My problem has been > here for months unresolved. > > I have removed the hylafax4.0pl2 source directories and started all over > > again for many times trying to build everything (on gcc2.8.1, Linux > 2.0.35 upgrade from Slackware). Both gcc-2.8.x.patch and configure have > errors. > > Please also let me know how to solve the errors once you have > sucessfully compiled all the executables. > > Thanks! > > CN > ============= > myserver:/usr/src# patch <gcc-2.8.x.patch > Hmm... Looks like a new-style context diff to me... > The text leading up to this was: > -------------------------- > |# gcc-2.8.x.patch > |# Submitted by Robert Colquhoun > |# > |# For all versions of the GNU compiler gcc 2.8.0 and above, including > egcs > |# > |# Instructions : cd to the directory *above* the source, and run the > |# command 'patch < gcc-2.8.x.patch' > | > |diff -cr hylafax-v4.0pl2/hfaxd/FileSystem.c++ > hylafax-v4.0pl2.new/hfaxd/FileSy+ > |*** hylafax-v4.0pl2/hfaxd/FileSystem.c++ Sat Feb 14 21:50:01 > 1998 > |--- hylafax-v4.0pl2.new/hfaxd/FileSystem.c++ Fri Feb 20 14:43:48 > 1998 > -------------------------- > Patching file hylafax-v4.0pl2/hfaxd/FileSystem.c++ using Plan A... > Hunk #1 failed at 139. > 1 out of 1 hunks failed--saving rejects to > hylafax-v4.0pl2/hfaxd/FileSystem.c++j > Hmm... The next patch looks like a new-style context diff to me... > The text leading up to this was: > -------------------------- > |diff -cr hylafax-v4.0pl2/hfaxd/OldProtocol.c++ > hylafax-v4.0pl2.new/hfaxd/OldPr+ > |*** hylafax-v4.0pl2/hfaxd/OldProtocol.c++ Sat Feb 14 21:50:07 > 1998 > |--- hylafax-v4.0pl2.new/hfaxd/OldProtocol.c++ Fri Feb 20 14:33:30 > 1998 > -------------------------- > Patching file hylafax-v4.0pl2/hfaxd/OldProtocol.c++ using Plan A... > Hunk #1 failed at 220. > Hunk #2 failed at 604. > Hunk #3 failed at 752. > 3 out of 3 hunks failed--saving rejects to > hylafax-v4.0pl2/hfaxd/OldProtocol.c+j > Hmm... The next patch looks like a new-style context diff to me... > The text leading up to this was: > -------------------------- > |diff -cr hylafax-v4.0pl2/util/SendFaxClient.c++ > hylafax-v4.0pl2.new/util/SendF+ > |*** hylafax-v4.0pl2/util/SendFaxClient.c++ Sat Feb 14 21:47:24 > 1998 > |--- hylafax-v4.0pl2.new/util/SendFaxClient.c++ Thu Feb 19 22:32:01 > 1998 > -------------------------- > Patching file hylafax-v4.0pl2/util/SendFaxClient.c++ using Plan A... > Hunk #1 failed at 457. > 1 out of 1 hunks failed--saving rejects to > hylafax-v4.0pl2/util/SendFaxClient.cj > Hmm... The next patch looks like a new-style context diff to me... > The text leading up to this was: > -------------------------- > |diff -cr hylafax-v4.0pl2/util/SendFaxJob.c++ > hylafax-v4.0pl2.new/util/SendFaxJ+ > |*** hylafax-v4.0pl2/util/SendFaxJob.c++ Sat Feb 14 21:47:24 1998 > |--- hylafax-v4.0pl2.new/util/SendFaxJob.c++ Fri Feb 20 15:38:37 > 1998 > -------------------------- > Patching file hylafax-v4.0pl2/util/SendFaxJob.c++ using Plan A... > Hunk #1 failed at 496. > 1 out of 1 hunks failed--saving rejects to > hylafax-v4.0pl2/util/SendFaxJob.c++.j > Hmm... The next patch looks like a new-style context diff to me... > The text leading up to this was: > -------------------------- > |diff -cr hylafax-v4.0pl2/util/faxconfig.c > hylafax-v4.0pl2.new/util/faxconfig.c > |*** hylafax-v4.0pl2/util/faxconfig.c Sat Feb 14 21:47:57 1998 > |--- hylafax-v4.0pl2.new/util/faxconfig.c Thu Feb 19 22:36:32 > 1998 > -------------------------- > Patching file hylafax-v4.0pl2/util/faxconfig.c using Plan A... > Hunk #1 succeeded at 51 with fuzz 2. > Hunk #2 succeeded at 123 with fuzz 2. > Hmm... The next patch looks like a new-style context diff to me... > The text leading up to this was: > ....(The rest all succeed) > > myserver:/usr/src/hylafax-v4.0pl2#cat config.log > ..... > /usr/bin/gcc -D__ANSI_CPP__ -I. -I. -I. -I././util > -I/usr/local/include - > ++ cat t.c > int t() { iopen(); return 0; } > int main(){ t(); return 0; } > ++ make -f confMakefile t > /usr/bin/gcc -D__ANSI_CPP__ -I. -I. -I. -I././util > -I/usr/local/include - > ld: cannot open -limage: No such file or directory > make: *** [t] Error 1 > ++ cat t.c > int t() { mallopt(); return 0; } > int main(){ t(); return 0; } > ++ make -f confMakefile t > /usr/bin/gcc -D__ANSI_CPP__ -I. -I. -I. -I././util > -I/usr/local/include - > ld: cannot open -lmalloc: No such file or directory > make: *** [t] Error 1 > ++ cat t.c > int t() { crypt(); return 0; } > int main(){ t(); return 0; } > ++ make -f confMakefile t > /usr/bin/gcc -D__ANSI_CPP__ -I. -I. -I. -I././util > -I/usr/local/include - > ++ cat t.c > int t() { strftime(); return 0; } > int main(){ t(); return 0; } > ++ make -f confMakefile t > /usr/bin/gcc -D__ANSI_CPP__ -I. -I. -I. -I././util > -I/usr/local/include - > ++ cat t.c > int t() { socket(); return 0; } > int main(){ t(); return 0; } > ++ make -f confMakefile t > /usr/bin/gcc -D__ANSI_CPP__ -I. -I. -I. -I././util > -I/usr/local/include - > ++ cat t.c > int t() { logwtmp(); return 0; } > int main(){ t(); return 0; } > ++ make -f confMakefile t > /usr/bin/gcc -D__ANSI_CPP__ -I. -I. -I. -I././util > -I/usr/local/include - > ld: cannot open -lutil: No such file or directory > make: *** [t] Error 1 > ++ cat t.c > int t() { ftruncate(); return 0; } > int main(){ t(); return 0; } > ++ make -f confMakefile t > /usr/bin/gcc -D__ANSI_CPP__ -I. -I. -I. -I././util > -I/usr/local/include - > ++ cat t.c > int t() { flock(); return 0; } > int main(){ t(); return 0; } > ++ make -f confMakefile t > /usr/bin/gcc -D__ANSI_CPP__ -I. -I. -I. -I././util > -I/usr/local/include - > ++ cat t.c > int t() { openlog(); return 0; } > int main(){ t(); return 0; } > ++ make -f confMakefile t > /usr/bin/gcc -D__ANSI_CPP__ -I. -I. -I. -I././util > -I/usr/local/include - > ++ cat t.c > int t() { pututxline(); return 0; } > int main(){ t(); return 0; } > ++ make -f confMakefile t > /usr/bin/gcc -D__ANSI_CPP__ -I. -I. -I. -I././util > -I/usr/local/include - > /tmp/cca258871.o: In function `t': > /usr/src/hylafax-v4.0pl2/t.c:1: undefined reference to `pututxline' > make: *** [t] Error 1 > .....(No more error follows) > > diff -cr hylafax-v4.0pl2/hfaxd/FileSystem.c++ hylafax-v4.0pl2.new/hfaxd/FileSystem.c++ *** hylafax-v4.0pl2/hfaxd/FileSystem.c++ Sat Feb 14 21:50:01 1998 --- hylafax-v4.0pl2.new/hfaxd/FileSystem.c++ Fri Feb 20 14:43:48 1998 *************** *** 139,202 **** SpoolDir HylaFAXServer::dirs[] = { { "/status/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! HylaFAXServer::listStatus, HylaFAXServer::listStatusFile, ! HylaFAXServer::nlstStatus, HylaFAXServer::nlstUnixFile, }, { "/sendq/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleSendQFile, ! HylaFAXServer::listSendQ, HylaFAXServer::listSendQFile, ! HylaFAXServer::nlstSendQ, HylaFAXServer::nlstSendQFile, }, { "/doneq/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleSendQFile, ! HylaFAXServer::listSendQ, HylaFAXServer::listSendQFile, ! HylaFAXServer::nlstSendQ, HylaFAXServer::nlstSendQFile, }, { "/docq/", FALSE, TRUE, TRUE, 0, HylaFAXServer::isVisibleDocQFile, ! HylaFAXServer::listDirectory, HylaFAXServer::listUnixFile, ! HylaFAXServer::nlstDirectory, HylaFAXServer::nlstUnixFile, }, { "/tmp/", FALSE, TRUE, TRUE, 0, HylaFAXServer::isVisibleTRUE, ! HylaFAXServer::listDirectory, HylaFAXServer::listUnixFile, ! HylaFAXServer::nlstDirectory, HylaFAXServer::nlstUnixFile, }, { "/log/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! HylaFAXServer::listDirectory, HylaFAXServer::listUnixFile, ! HylaFAXServer::nlstDirectory, HylaFAXServer::nlstUnixFile, }, { "/recvq/", FALSE, FALSE, TRUE, 0, HylaFAXServer::isVisibleRecvQFile, ! HylaFAXServer::listRecvQ, HylaFAXServer::listRecvQFile, ! HylaFAXServer::nlstDirectory, HylaFAXServer::nlstUnixFile, }, { "/archive/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! HylaFAXServer::listDirectory, HylaFAXServer::listUnixFile, ! HylaFAXServer::nlstDirectory, HylaFAXServer::nlstUnixFile, }, { "/pollq/", FALSE, TRUE, TRUE, 0, HylaFAXServer::isVisibleRecvQFile, ! HylaFAXServer::listRecvQ, HylaFAXServer::listRecvQFile, ! HylaFAXServer::nlstDirectory, HylaFAXServer::nlstUnixFile, }, { "/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleRootFile, ! HylaFAXServer::listDirectory, HylaFAXServer::listUnixFile, ! HylaFAXServer::nlstDirectory, HylaFAXServer::nlstUnixFile, }, { "/etc/", TRUE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! HylaFAXServer::listDirectory, HylaFAXServer::listUnixFile, ! HylaFAXServer::nlstDirectory, HylaFAXServer::nlstUnixFile, }, { "/info/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! HylaFAXServer::listDirectory, HylaFAXServer::listUnixFile, ! HylaFAXServer::nlstDirectory, HylaFAXServer::nlstUnixFile, }, { "/bin/", TRUE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! HylaFAXServer::listDirectory, HylaFAXServer::listUnixFile, ! HylaFAXServer::nlstDirectory, HylaFAXServer::nlstUnixFile, }, { "/config/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! HylaFAXServer::listDirectory, HylaFAXServer::listUnixFile, ! HylaFAXServer::nlstDirectory, HylaFAXServer::nlstUnixFile, }, { "/client/", TRUE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! HylaFAXServer::listDirectory, HylaFAXServer::listUnixFile, ! HylaFAXServer::nlstDirectory, HylaFAXServer::nlstUnixFile, }, }; #define N(a) (sizeof (a) / sizeof (a[0])) --- 139,202 ---- SpoolDir HylaFAXServer::dirs[] = { { "/status/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! &HylaFAXServer::listStatus, &HylaFAXServer::listStatusFile, ! &HylaFAXServer::nlstStatus, &HylaFAXServer::nlstUnixFile, }, { "/sendq/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleSendQFile, ! &HylaFAXServer::listSendQ, &HylaFAXServer::listSendQFile, ! &HylaFAXServer::nlstSendQ, &HylaFAXServer::nlstSendQFile, }, { "/doneq/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleSendQFile, ! &HylaFAXServer::listSendQ, &HylaFAXServer::listSendQFile, ! &HylaFAXServer::nlstSendQ, &HylaFAXServer::nlstSendQFile, }, { "/docq/", FALSE, TRUE, TRUE, 0, HylaFAXServer::isVisibleDocQFile, ! &HylaFAXServer::listDirectory, &HylaFAXServer::listUnixFile, ! &HylaFAXServer::nlstDirectory, &HylaFAXServer::nlstUnixFile, }, { "/tmp/", FALSE, TRUE, TRUE, 0, HylaFAXServer::isVisibleTRUE, ! &HylaFAXServer::listDirectory, &HylaFAXServer::listUnixFile, ! &HylaFAXServer::nlstDirectory, &HylaFAXServer::nlstUnixFile, }, { "/log/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! &HylaFAXServer::listDirectory, &HylaFAXServer::listUnixFile, ! &HylaFAXServer::nlstDirectory, &HylaFAXServer::nlstUnixFile, }, { "/recvq/", FALSE, FALSE, TRUE, 0, HylaFAXServer::isVisibleRecvQFile, ! &HylaFAXServer::listRecvQ, &HylaFAXServer::listRecvQFile, ! &HylaFAXServer::nlstDirectory, &HylaFAXServer::nlstUnixFile, }, { "/archive/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! &HylaFAXServer::listDirectory, &HylaFAXServer::listUnixFile, ! &HylaFAXServer::nlstDirectory, &HylaFAXServer::nlstUnixFile, }, { "/pollq/", FALSE, TRUE, TRUE, 0, HylaFAXServer::isVisibleRecvQFile, ! &HylaFAXServer::listRecvQ, &HylaFAXServer::listRecvQFile, ! &HylaFAXServer::nlstDirectory, &HylaFAXServer::nlstUnixFile, }, { "/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleRootFile, ! &HylaFAXServer::listDirectory, &HylaFAXServer::listUnixFile, ! &HylaFAXServer::nlstDirectory, &HylaFAXServer::nlstUnixFile, }, { "/etc/", TRUE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! &HylaFAXServer::listDirectory, &HylaFAXServer::listUnixFile, ! &HylaFAXServer::nlstDirectory, &HylaFAXServer::nlstUnixFile, }, { "/info/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! &HylaFAXServer::listDirectory, &HylaFAXServer::listUnixFile, ! &HylaFAXServer::nlstDirectory, &HylaFAXServer::nlstUnixFile, }, { "/bin/", TRUE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! &HylaFAXServer::listDirectory, &HylaFAXServer::listUnixFile, ! &HylaFAXServer::nlstDirectory, &HylaFAXServer::nlstUnixFile, }, { "/config/", FALSE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! &HylaFAXServer::listDirectory, &HylaFAXServer::listUnixFile, ! &HylaFAXServer::nlstDirectory, &HylaFAXServer::nlstUnixFile, }, { "/client/", TRUE, FALSE, FALSE, 0, HylaFAXServer::isVisibleTRUE, ! &HylaFAXServer::listDirectory, &HylaFAXServer::listUnixFile, ! &HylaFAXServer::nlstDirectory, &HylaFAXServer::nlstUnixFile, }, }; #define N(a) (sizeof (a) / sizeof (a[0])) diff -cr hylafax-v4.0pl2/hfaxd/OldProtocol.c++ hylafax-v4.0pl2.new/hfaxd/OldProtocol.c++ *** hylafax-v4.0pl2/hfaxd/OldProtocol.c++ Sat Feb 14 21:50:07 1998 --- hylafax-v4.0pl2.new/hfaxd/OldProtocol.c++ Fri Feb 20 14:33:30 1998 *************** *** 220,257 **** // NB: there is no support for the old style data transfer const OldProtocolServer::protoCmd OldProtocolServer::cmds[] = { ! { "begin", TRUE, OldProtocolServer::submitJob }, ! { "checkPerm", TRUE, OldProtocolServer::ackPermission }, ! { "tiff", TRUE, OldProtocolServer::getTIFFData }, ! { "postscript", TRUE, OldProtocolServer::getPostScriptData }, ! { "zpostscript", TRUE, OldProtocolServer::getZPostScriptData }, ! { "opaque", TRUE, OldProtocolServer::getOpaqueData }, ! { "zopaque", TRUE, OldProtocolServer::getZOpaqueData }, ! { "poll", TRUE, OldProtocolServer::newPollID }, ! { "userID", FALSE, OldProtocolServer::setUserID }, ! { "version", FALSE, OldProtocolServer::setProtoVersion }, ! { "serverStatus", FALSE, OldProtocolServer::sendServerStatus }, ! { "serverInfo", FALSE, OldProtocolServer::sendServerInfo }, ! { "allStatus", FALSE, OldProtocolServer::sendAllStatus }, ! { "userStatus", FALSE, OldProtocolServer::sendUserStatus }, ! { "jobStatus", FALSE, OldProtocolServer::sendJobStatus }, ! { "recvStatus", FALSE, OldProtocolServer::sendRecvStatus }, ! { "remove", TRUE, OldProtocolServer::removeJob }, ! { "removeGroup", TRUE, OldProtocolServer::removeJobGroup }, ! { "kill", TRUE, OldProtocolServer::killJob }, ! { "killGroup", TRUE, OldProtocolServer::killJobGroup }, ! { "alterTTS", TRUE, OldProtocolServer::alterJobTTS }, ! { "alterGroupTTS", TRUE, OldProtocolServer::alterJobGroupTTS }, ! { "alterKillTime", TRUE, OldProtocolServer::alterJobKillTime }, ! { "alterGroupKillTime", TRUE, OldProtocolServer::alterJobGroupKillTime }, ! { "alterMaxDials", TRUE, OldProtocolServer::alterJobMaxDials }, ! { "alterGroupMaxDials", TRUE, OldProtocolServer::alterJobGroupMaxDials }, ! { "alterNotify", TRUE, OldProtocolServer::alterJobNotification }, ! { "alterGroupNotify", TRUE, OldProtocolServer::alterJobGroupNotification }, ! { "alterModem", TRUE, OldProtocolServer::alterJobModem }, ! { "alterGroupModem", TRUE, OldProtocolServer::alterJobGroupModem }, ! { "alterPriority", TRUE, OldProtocolServer::alterJobPriority }, ! { "alterGroupPriority", TRUE, OldProtocolServer::alterJobGroupPriority }, }; #define NCMDS (sizeof (cmds) / sizeof (cmds[0])) --- 220,257 ---- // NB: there is no support for the old style data transfer const OldProtocolServer::protoCmd OldProtocolServer::cmds[] = { ! { "begin", TRUE, &OldProtocolServer::submitJob }, ! { "checkPerm", TRUE, &OldProtocolServer::ackPermission }, ! { "tiff", TRUE, &OldProtocolServer::getTIFFData }, ! { "postscript", TRUE, &OldProtocolServer::getPostScriptData }, ! { "zpostscript", TRUE, &OldProtocolServer::getZPostScriptData }, ! { "opaque", TRUE, &OldProtocolServer::getOpaqueData }, ! { "zopaque", TRUE, &OldProtocolServer::getZOpaqueData }, ! { "poll", TRUE, &OldProtocolServer::newPollID }, ! { "userID", FALSE, &OldProtocolServer::setUserID }, ! { "version", FALSE, &OldProtocolServer::setProtoVersion }, ! { "serverStatus", FALSE, &OldProtocolServer::sendServerStatus }, ! { "serverInfo", FALSE, &OldProtocolServer::sendServerInfo }, ! { "allStatus", FALSE, &OldProtocolServer::sendAllStatus }, ! { "userStatus", FALSE, &OldProtocolServer::sendUserStatus }, ! { "jobStatus", FALSE, &OldProtocolServer::sendJobStatus }, ! { "recvStatus", FALSE, &OldProtocolServer::sendRecvStatus }, ! { "remove", TRUE, &OldProtocolServer::removeJob }, ! { "removeGroup", TRUE, &OldProtocolServer::removeJobGroup }, ! { "kill", TRUE, &OldProtocolServer::killJob }, ! { "killGroup", TRUE, &OldProtocolServer::killJobGroup }, ! { "alterTTS", TRUE, &OldProtocolServer::alterJobTTS }, ! { "alterGroupTTS", TRUE, &OldProtocolServer::alterJobGroupTTS }, ! { "alterKillTime", TRUE, &OldProtocolServer::alterJobKillTime }, ! { "alterGroupKillTime", TRUE, &OldProtocolServer::alterJobGroupKillTime }, ! { "alterMaxDials", TRUE, &OldProtocolServer::alterJobMaxDials }, ! { "alterGroupMaxDials", TRUE, &OldProtocolServer::alterJobGroupMaxDials }, ! { "alterNotify", TRUE, &OldProtocolServer::alterJobNotification }, ! { "alterGroupNotify", TRUE, &OldProtocolServer::alterJobGroupNotification }, ! { "alterModem", TRUE, &OldProtocolServer::alterJobModem }, ! { "alterGroupModem", TRUE, &OldProtocolServer::alterJobGroupModem }, ! { "alterPriority", TRUE, &OldProtocolServer::alterJobPriority }, ! { "alterGroupPriority", TRUE, &OldProtocolServer::alterJobGroupPriority }, }; #define NCMDS (sizeof (cmds) / sizeof (cmds[0])) *************** *** 604,612 **** #define DEFINE_Alter(param) \ void OldProtocolServer::alterJob##param(const char* tag) \ ! { applyToJob(tag, "alter", OldProtocolServer::reallyAlterJob##param); }\ void OldProtocolServer::alterJobGroup##param(const char* tag) \ ! { applyToJobGroup(tag, "alter", OldProtocolServer::reallyAlterJob##param); } fxBool OldProtocolServer::alterSuspend(Job& job) --- 604,612 ---- #define DEFINE_Alter(param) \ void OldProtocolServer::alterJob##param(const char* tag) \ ! { applyToJob(tag, "alter", &OldProtocolServer::reallyAlterJob##param); }\ void OldProtocolServer::alterJobGroup##param(const char* tag) \ ! { applyToJobGroup(tag, "alter", &OldProtocolServer::reallyAlterJob##param); } fxBool OldProtocolServer::alterSuspend(Job& job) *************** *** 752,760 **** #define DEFINE_Op(op) \ void OldProtocolServer::##op##Job(const char* tag) \ ! { applyToJob(tag, fxQUOTE(op), OldProtocolServer::do##op); }\ void OldProtocolServer::##op##JobGroup(const char* tag) \ ! { applyToJobGroup(tag, fxQUOTE(op), OldProtocolServer::do##op); } void OldProtocolServer::doremove(Job& job, const char*) { --- 752,760 ---- #define DEFINE_Op(op) \ void OldProtocolServer::##op##Job(const char* tag) \ ! { applyToJob(tag, fxQUOTE(op), &OldProtocolServer::do##op); }\ void OldProtocolServer::##op##JobGroup(const char* tag) \ ! { applyToJobGroup(tag, fxQUOTE(op), &OldProtocolServer::do##op); } void OldProtocolServer::doremove(Job& job, const char*) { diff -cr hylafax-v4.0pl2/util/SendFaxClient.c++ hylafax-v4.0pl2.new/util/SendFaxClient.c++ *** hylafax-v4.0pl2/util/SendFaxClient.c++ Sat Feb 14 21:47:24 1998 --- hylafax-v4.0pl2.new/util/SendFaxClient.c++ Thu Feb 19 22:32:01 1998 *************** *** 457,467 **** if (info.rule->getResult() == TypeRule::TIFF) { fileSent = setFormat(FORM_TIFF) && setType(TYPE_I) ! && sendData(fd, FaxClient::storeTemp, info.doc, emsg); } else { fileSent = setFormat(FORM_PS) && setType(TYPE_I) // XXX TYPE_A??? ! && sendZData(fd, FaxClient::storeTemp, info.doc, emsg); } Sys::close(fd); if (!fileSent) { --- 457,467 ---- if (info.rule->getResult() == TypeRule::TIFF) { fileSent = setFormat(FORM_TIFF) && setType(TYPE_I) ! && sendData(fd, &FaxClient::storeTemp, info.doc, emsg); } else { fileSent = setFormat(FORM_PS) && setType(TYPE_I) // XXX TYPE_A??? ! && sendZData(fd, &FaxClient::storeTemp, info.doc, emsg); } Sys::close(fd); if (!fileSent) { diff -cr hylafax-v4.0pl2/util/SendFaxJob.c++ hylafax-v4.0pl2.new/util/SendFaxJob.c++ *** hylafax-v4.0pl2/util/SendFaxJob.c++ Sat Feb 14 21:47:24 1998 --- hylafax-v4.0pl2.new/util/SendFaxJob.c++ Fri Feb 20 15:38:37 1998 *************** *** 496,502 **** fxBool fileSent = client.setFormat(FaxClient::FORM_PS) && client.setType(FaxClient::TYPE_I) // XXX??? TYPE_A ! && client.sendZData(fd, FaxClient::storeTemp, coverDoc, emsg); Sys::close(fd); if (!fileSent) { if (emsg == "") --- 496,502 ---- fxBool fileSent = client.setFormat(FaxClient::FORM_PS) && client.setType(FaxClient::TYPE_I) // XXX??? TYPE_A ! && client.sendZData(fd, &FaxClient::storeTemp, coverDoc, emsg); Sys::close(fd); if (!fileSent) { if (emsg == "") diff -cr hylafax-v4.0pl2/util/faxconfig.c hylafax-v4.0pl2.new/util/faxconfig.c *** hylafax-v4.0pl2/util/faxconfig.c Sat Feb 14 21:47:57 1998 --- hylafax-v4.0pl2.new/util/faxconfig.c Thu Feb 19 22:36:32 1998 *************** *** 51,57 **** extern int cvtFacility(const char*, int*); ! void main(int argc, char** argv) { extern int optind; --- 51,57 ---- extern int cvtFacility(const char*, int*); ! int main(int argc, char** argv) { extern int optind; *************** *** 123,127 **** } while ((optind += 2) < argc); (void) close(fifo); } ! exit(0); } --- 123,127 ---- } while ((optind += 2) < argc); (void) close(fifo); } ! return 0; } diff -cr hylafax-v4.0pl2/util/faxmodem.c hylafax-v4.0pl2.new/util/faxmodem.c *** hylafax-v4.0pl2/util/faxmodem.c Sat Feb 14 21:47:57 1998 --- hylafax-v4.0pl2.new/util/faxmodem.c Fri Feb 20 14:14:00 1998 *************** *** 186,192 **** extern int cvtFacility(const char*, int*); ! void main(int argc, char** argv) { extern int optind; --- 186,192 ---- extern int cvtFacility(const char*, int*); ! int main(int argc, char** argv) { extern int optind; *************** *** 261,265 **** fatal("%s: FIFO write failed for command (%s)", argv[0], strerror(errno)); (void) close(fifo); ! exit(0); } --- 261,265 ---- fatal("%s: FIFO write failed for command (%s)", argv[0], strerror(errno)); (void) close(fifo); ! return 0; } diff -cr hylafax-v4.0pl2/util/faxmsg.c hylafax-v4.0pl2.new/util/faxmsg.c *** hylafax-v4.0pl2/util/faxmsg.c Sat Feb 14 21:47:58 1998 --- hylafax-v4.0pl2.new/util/faxmsg.c Thu Feb 19 22:34:45 1998 *************** *** 50,56 **** extern int cvtFacility(const char*, int*); ! void main(int argc, char** argv) { extern int optind; --- 50,56 ---- extern int cvtFacility(const char*, int*); ! int main(int argc, char** argv) { extern int optind; *************** *** 127,131 **** if (write(fifo, cmd, strlen(cmd)) != strlen(cmd)) fatal("FIFO write failed for command (%s)", strerror(errno)); (void) close(fifo); ! exit(0); } --- 127,131 ---- if (write(fifo, cmd, strlen(cmd)) != strlen(cmd)) fatal("FIFO write failed for command (%s)", strerror(errno)); (void) close(fifo); ! return 0; } diff -cr hylafax-v4.0pl2/util/faxstate.c hylafax-v4.0pl2.new/util/faxstate.c *** hylafax-v4.0pl2/util/faxstate.c Sat Feb 14 21:47:58 1998 --- hylafax-v4.0pl2.new/util/faxstate.c Fri Feb 20 20:07:23 1998 *************** *** 72,78 **** return (NULL); } ! void main(int argc, char** argv) { extern int optind; --- 72,78 ---- return (NULL); } ! int main(int argc, char** argv) { extern int optind; *************** *** 140,144 **** fatal("FIFO write failed for command (%s)", strerror(errno)); } (void) close(fifo); ! exit(0); } --- 140,144 ---- fatal("FIFO write failed for command (%s)", strerror(errno)); } (void) close(fifo); ! return 0; } Date: Wed, 13 Jan 1999 14:30:23 +0000 From: Ron Arts <raarts@netland.nl> Organization: Netland Internet Services X-Mailer: Mozilla 4.5 [en] (X11; I; Linux 2.0.36 i686) X-Accept-Language: en To: flexfax@sgi.com Subject: flexfax: patch for hfaxd reverse DNS problem together with WHFC client. Sender: owner-flexfax@celestial.com Hello, Attached you'll find a patch for hfaxd. It solves the following problem: When a client connects to hfaxd, but it's IP address does not resolve properly both ways, the hfaxd issues the message: 130 Warning, no inverse address mapping for client host name blabla Just before saying: 220 bla.bla.nl server (HylaFAX (tm) Version 4.0pl2) ready. This confuses the WHFC client utterly. I patched hylafax to log this error to syslogd instead of to the client (why does he need to know anyway?) It's a trivial patch really.. regards, Ron Arts BTW I am not a subscriber on this list (hope it accepts mail from an anonymous user)--- hfaxd/InetFaxServer.c++-orig Tue Jan 12 19:41:09 1999 +++ hfaxd/InetFaxServer.c++ Tue Jan 12 19:43:19 1999 @@ -175,10 +175,10 @@ for (const char** cpp = (const char**) hp->h_addr_list; *cpp; cpp++) if (memcmp(*cpp, &peer_addr.sin_addr, hp->h_length) == 0) return (TRUE); - reply(130, "Warning, client address \"%s\" is not listed for host name \"%s\".", + logWarning("Warning, client address \"%s\" is not listed for host name \"%s\".", (const char*) remoteaddr, hp->h_name); } else - reply(130, "Warning, no inverse address mapping for client host name \"%s\".", + logWarning("Warning, no inverse address mapping for client host name \"%s\".", (const char*) name); return (FALSE); }