HylaFAX The world's most advanced open source fax server |
Hy everybody:
I receive the mail with an attached
PDF or TIFF file (see below) but the pdf or tiff file is zero-bytes
long.
The TIFF file in
/var/spool/hylafax/recvq looks ok.
I´using HYLAFAX-4.2.5 on RedHat 9.
This is a file
FaxDispatch:
SENDTO=FaxMaster; # by default
email to
FaxMaster
FILETYPE=tif; # in tif format This is a file
setup.cache
# Warning, this file was automatically generated by faxsetup
# on jue mar 23 13:23:52 ART 2006 for root AWK='/bin/gawk' BIN='/usr/local/bin' CAT='/bin/cat' CHGRP='/bin/chgrp' CHMOD='/bin/chmod' CHOWN='/bin/chown' CP='/bin/cp' DPSRIP='/usr/local/sbin/ps2fax.exe' ECHO='/bin/echo' ENCODING='x-uuencode' FAXQ_SERVER='yes' FONTPATH='/usr/share/ghostscript/7.05/lib:/usr/share/ghostscript/7.05/vflib:/usr/share/ghostscript/fonts:/usr/share/fonts/default/ghostscript:/usr/share/fonts/default/Type1:/usr/share/fonts/default/amspsfnt/pfb:/usr/share/fonts/default/cmpsfont/pfb' FUSER='/sbin/fuser' GREP='/bin/grep' GSRIP='/usr/bin/gs' HFAXD_OLD_PROTOCOL='no' HFAXD_SERVER='yes' HFAXD_SNPP_SERVER='no' IMPRIP='/usr/lib/print/psrip' LIBDATA='/usr/local/lib/fax' LIBEXEC='/usr/local/sbin' LN='/bin/ln' MANDIR='/usr/local/man' MIMENCODE='base64-encode' MKFIFO='/usr/bin/mkfifo' MV='/bin/mv' PATHEGETTY='/bin/egetty' PATHGETTY='/sbin/agetty' PATH='/usr/sbin:/bin:/usr/bin:/etc:/usr/local/bin' PATHVGETTY='/sbin/vgetty' PSPACKAGE='gs' RM='/bin/rm' SBIN='/usr/local/sbin' SCRIPT_SH='/bin/bash' SED='/bin/sed' SENDMAIL='/usr/sbin/sendmail' SPOOL='/var/spool/hylafax' SYSVINIT='' TARGET='i686-pc-linux-gnu' TIFF2PDF='/usr/local/bin/tiff2pdf' TIFFBIN='/usr/bin' TTYCMD='/usr/bin/tty' UUCP_LOCKDIR='/var/lock' UUCP_LOCKTYPE='ascii' UUENCODE='uuencode' This is a file
faxrcvd #! /bin/sh
# $Id: faxrcvd.sh.in,v 1.27 2006/01/09 19:26:37 aidan Exp $ # # HylaFAX Facsimile Software # # Copyright (c) 1990-1996 Sam Leffler # Copyright (c) 1991-1996 Silicon Graphics, Inc. # HylaFAX is a trademark of Silicon Graphics # # Permission to use, copy, modify, distribute, and sell this software and # its documentation for any purpose is hereby granted without fee, provided # that (i) the above copyright notices and this permission notice appear in # all copies of the software and related documentation, and (ii) the names of # Sam Leffler and Silicon Graphics may not be used in any advertising or # publicity relating to the software without the specific, prior written # permission of Sam Leffler and Silicon Graphics. # # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. # # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE # OF THIS SOFTWARE. # #
# faxrcvd file devID commID error-msg # if [ $# -lt 4 ]; then echo "Usage: $0 file devID commID error-msg [ callID-1 [ callID-2 [ ... [ callID-n ] ] ] ]" exit 1 fi test -f etc/setup.cache || {
SPOOL=`pwd` cat<<EOF FATAL ERROR: $SPOOL/etc/setup.cache is missing!
The file $SPOOL/etc/setup.cache is not present.
This
probably means the machine has not been setup using the faxsetup(8C) command. Read the documentation on setting up HylaFAX before you startup a server system. EOF
exit 1 } # These settings may not be present in setup.cache if user upgraded
and
# didn't re-run faxsetup; we set them before calling setup.cache for # backward compatibility. ENCODING=base64 MIMENCODE=mimencode TIFF2PDF=bin/tiff2pdf TTYCMD=tty . etc/setup.cache
INFO=$SBIN/faxinfo
FAX2PS=$TIFFBIN/fax2ps TIFF2PS=tiff2ps TIFF2PDF=tiff2pdf TOADDR=FaxMaster FROMADDR=fax TIFFINFO=tiffinfo NOTIFY_FAXMASTER=always #
# Redirect errors to a tty, if possible, rather than # dev-nulling them or allowing them to creep into # the mail. # if $TTYCMD >/dev/null 2>&1; then ERRORSTO=`$TTYCMD` else ERRORSTO=/dev/null fi #
# Permit various types of attachment types: ps, tif, pdf # Note that non-ASCII filetypes require an encoder. # pdf requires tiff2ps and tiff2pdf # FILETYPE=ps SENDTO=FaxMaster #
# There is no good portable way to find out the fully qualified # domain name (FQDN) of the host or the TCP port for the hylafax # service so we fudge here. Folks may want to tailor this to # their needs; e.g. add a domain or use localhost so the loopback # interface is used. # HOSTNAME=`hostname` # XXX no good way to find FQDN PORT=4559 # XXX no good way to lookup service FILE="$1"; shift;
DEVICE="$1"; shift; COMMID="$1"; shift; MSG="$1"; shift; COUNT=1 while [ $# -ge 1 ]; do # The eval has $1 set yet, and this forces a variable-to-variable # assignment, allowing us to not need to do escaping eval CALLID$COUNT='$1' shift COUNT=`expr $COUNT + 1` done CIDNUMBER="$CALLID1" CIDNAME="$CALLID2" FILENAME=`echo $FILE | $SED -e 's/\.tif//' -e
's/recvq\///'`
SENDER="`$INFO $FILE | $AWK -F: '/Sender/ { print $2 }' 2>$ERRORSTO | $SED 's/^.//'`" SUBADDR="`$INFO $FILE | $AWK -F: '/SubAddr/ { print $2 }' 2>$ERRORSTO | $SED 's/^.//'`" #
# Apply customizations. All customizable variables should # be set to their non-customized defaults prior to this. # if [ -f etc/FaxDispatch ]; then . etc/FaxDispatch # NB: FaxDispatch sets SENDTO fi #
# Produce mailable encoding for binary files. # encode() { if [ -x "$MIMENCODE" ]; then $MIMENCODE < $1 2>$ERRORSTO elif [ -x "$UUENCODE" ]; then if [ "$ENCODING" = "base64" ]; then $UUENCODE -m $1 $1 | grep -E -v "^begin|^====$" 2>$ERRORSTO else $UUENCODE $1 $1 | grep -E -v "^begin|^====$" 2>$ERRORSTO fi else # Do not use "-x" for backward compatibility; even if it fails # this is last chance to encode data, so there's nothing to lose. $MIMENCODE < $1 2>$ERRORSTO fi } if [ -f $FILE ]; then
# # Don't send FaxMaster duplicates, and FaxMaster may not even # want a message at all, depending on NOTIFY_FAXMASTER. # case $NOTIFY_FAXMASTER$MSG in never*) NOTIFY_FAXMASTER=no;; errors) NOTIFY_FAXMASTER=no;; *) NOTIFY_FAXMASTER=yes;; esac if [ "$TOADDR" != "$SENDTO" -a "$NOTIFY_FAXMASTER" != "no" ]; then (echo "To: $TOADDR" echo "From: The HylaFAX Receive Agent <$FROMADDR>" echo "Subject: Facsimile received from $SENDER"; echo "" echo "$FILE (ftp://$HOSTNAME:$PORT/$FILE):"; $INFO -n $FILE echo "ReceivedOn: $DEVICE" if [ "$MSG" ]; then echo "" echo "The full document was not received because:" echo "" echo " $MSG" echo "" echo " ---- Transcript of session follows ----" echo "" if [ -f log/c$COMMID ]; then $SED -e '/-- data/d' \ -e '/start.*timer/d' -e '/stop.*timer/d' \ log/c$COMMID elif [ -n "$COMMID" ]; then echo " No transcript available (CommID c$COMMID)." else echo " No transcript available." fi else echo " CommID: c$COMMID (ftp://$HOSTNAME:$PORT/log/c$COMMID)" fi if [ -n "$SENDTO" ]; then echo "" echo "The facsimile was automatically dispatched to: $SENDTO." fi ) 2>$ERRORSTO | $SENDMAIL -f$FROMADDR -oi $TOADDR fi if [ -n "$SENDTO" ]; then (MIMEBOUNDARY="NextPart$$" echo "Mime-Version: 1.0" echo "Content-Type: Multipart/Mixed; Boundary=\"$MIMEBOUNDARY\"" echo "Content-Transfer-Encoding: 7bit" echo "To: $SENDTO" echo "From: The HylaFAX Receive Agent <$FROMADDR>" echo "Subject: Facsimile received from $SENDER"; echo "" echo "--$MIMEBOUNDARY" echo "Content-Type: text/plain; charset=us-ascii" echo "Content-Transfer-Encoding: 7bit" echo "" $INFO -n $FILE echo "ReceivedOn: $DEVICE" if [ "$MSG" ]; then echo "" echo "The full document was not received because:" echo "" echo " $MSG" echo "" echo " ---- Transcript of session follows ----" echo "" if [ -f log/c$COMMID ]; then $SED -e '/-- data/d' \ -e '/start.*timer/d' -e '/stop.*timer/d' \ log/c$COMMID elif [ -n "$COMMID" ]; then echo " No transcript available (CommID c$COMMID)." else echo " No transcript available." fi else echo " CommID: c$COMMID" fi echo "" echo "--$MIMEBOUNDARY" if [ "$FILETYPE" = "tif" ]; then echo "Content-Type: image/tiff; name=\"$FILENAME.tif\"" echo "Content-Description: FAX document" echo "Content-Transfer-Encoding: $ENCODING" echo "Content-Disposition: attachment; filename=\"$FILENAME.tif\"" echo "" encode $FILE; elif [ "$FILETYPE" = "pdf" ]; then echo "Content-Type: application/pdf; name=\"$FILENAME.pdf\"" echo "Content-Description: FAX document" echo "Content-Transfer-Encoding: $ENCODING" echo "Content-Disposition: attachment; filename=\"$FILENAME.pdf\"" echo "" $TIFF2PDF -o $FILE.pdf $FILE encode $FILE.pdf $RM -f $FILE.pdf 2>$ERRORSTO else # default as Postscript echo "Content-Type: application/postscript; name=\"$FILENAME.ps\"" echo "Content-Description: FAX document" echo "Content-Transfer-Encoding: 7bit" echo "Content-Disposition: attachment; filename=\"$FILENAME.ps\"" echo "" $FAX2PS $FILE 2>$ERRORSTO #$TIFF2PDF -o $FILE 2>$ERRORSTO fi echo "" echo "--$MIMEBOUNDARY--" ) 2>$ERRORSTO | $SENDMAIL -f$FROMADDR -oi $SENDTO fi else # # Generate notification mail for a failed attempt. # (echo "To: $TOADDR" echo "From: The HylaFAX Receive Agent <$FROMADDR>" echo "Subject: facsimile not received" echo "" echo "An attempt to receive facsimile on $DEVICE failed because:" echo "" echo " $MSG" echo "" echo " ---- Transcript of session follows ----" echo "" if [ -f log/c$COMMID ]; then $SED -e '/-- data/d' \ -e '/start.*timer/d' -e '/stop.*timer/d' \ log/c$COMMID elif [ -n "$COMMID" ]; then echo " No transcript available (CommID c$COMMID)." else echo " No transcript available." fi ) 2>$ERRORSTO | $SENDMAIL -f$FROMADDR -oi $TOADDR fi
Thanks!!! _________________________________
Marcelo Oscar Olcese |