![]() |
Greetings, HylaFAX is an excellent and versatile program and I am grateful to have it for my Linux at-home, desk-top system. Because I send faxes from a stand-alone machine, I would like to have a simple notification of jobs completed/failed directly to my console without involving email. A modification of the /spool/bin/notify script would seem like an ideal way to accomplish this. Yet every time I attempt to modify the script, none of the changes are implemented. For example, after inserting the lines echo $QFILE echo $WHY I receive no console output (even while using the sendmail -R option). The Server Trace log indicates that the NOTIFY script is being executed. However, other modifications to /spool/bin/notify result in a Server Trace of "Bad Exit Status." This behavior is very similar to that mentioned in another posting to hylafax-users@hylafax.org by Johann Sijpkes on 24 January 2001: > When printing faxes from the faxrcvd script all works fine > > but I want to do the same in the notify script, but now lpr > cannot print the job (connection lost?) > > If I type the command at the prompt everything works fine, but > when Hylafax invokes the script it can't print. > My guess is that there's something wrong with my file > permissions but I haven't been able to figure out which and > why... After examining the HylaFAX source code, I discovered that the /spool/bin/notify script is executed by using a routine in the /faxd/faxApp.c++ file at line 370: /* * Run the specified shell command. If changeIDs is * true, we set the real uid+gid to the effective; this * is so that programs like sendmail show an informative * from address. */ bool faxApp::runCmd(const char* cmd, bool changeIDs) { pid_t pid = fork(); switch (pid) { case 0: if (changeIDs) setRealIDs(); detachIO(); execl("/bin/sh", "sh", "-c", cmd, (char*) NULL); sleep(1); // XXX give parent time _exit(127); case -1: logError("Can not fork for \"%s\"", cmd); return (false); default: { int status = 0; Sys::waitpid(pid, status); if (status != 0) { logError("Bad exit status %#o for \"%s\"", status, cmd); return (false); } } return (true); } } The /spool/bin/notify script is called from /faxd/faxQueueApp.c++ at line 2921 (notifySender routine) with changeIDs == true. Unfortuneately, I am not that well versed in the art of Unix system programming to be able to unravel just what is occuring with the file permissions. Thus I am posting this message to see if someone else is able to fathom what is happening to the /spool/bin/notify script when it is called using this routine. How can I possibly modify the notify script so that instead of email (to myself), I will receive a simple message on my console? Larry Piet Detroit, Michigan USA ____________________ HylaFAX(tm) Users Mailing List _______________________ To unsub: mail -s unsubscribe hylafax-users-request@hylafax.org < /dev/null