[Samba] Printproblems in 3.0.3 - Postscript files contain log messages

Alexander Skwar from at alexander.skwar.name
Wed May 5 10:58:07 GMT 2004


Hello!

I'm having a problem with Samba 3.0.3 on a HP-UX 11.00 server. In Samba,
I'm having a printer which allows me to create PDF files. For this, I
added the following lines to smb.conf:

[global]
        load printers = No
        printcap name = /etc/opt/samba/printcap

[printers]
        comment = Defaults for all printers
        path = /var/opt/samba/spool
        read only = Yes
        create mask = 0700
        printable = Yes
        browseable = No
        nt acl support = Yes

[pdf-generator]
        comment = PDF Generator (only valid users)
        path = /var/opt/samba/spool/pdf-generator
        printable = Yes
        print command = /var/opt/samba/bin/print-pdf    %s      ~%u/public_html/pdf-prints      http://%L/~%u/pdf-prints   %m              %I      %u      "%J"    &
        nt acl support = Yes

(The script /var/opt/samba/bin/print-pdf can be found at the end of this
message.)

The problem that I'm having, is that this printer doesn't work since I
updated to Samba 3.0.3 (before, I used HP CIFS 2.2.8a; the printer
worked). I suppose the reason that it doesn't work is, that the
printerfiles/postscript files that Samba creates, contain log messages
like this:

[...]
[2004/05/05 11:43:08, 3] rpc_server/srv_pipe_hnd.c:free_pipe_context(544)
  free_pipe_context: destroying talloc pool of size 600
[2004/05/05 11:43:08, 3] smbd/process.c:process_smb(890)
  Transaction 1907 of length 3804
[...]

Furhter on in the file I can find parts which look pretty much like
Postscript:

[...]
[2004/05/05 11:43:08, 3] rpc_server/srv_pipe.c:api_rpcTNP(1509)
  api_rpcTNP: rpc command: SPOOLSS_WRITEPRINTER
716 562 L
689 654 L
691 653 L
718 561 L
cp
0.801 0.535 0.113 r
[...]

"Sadly", this error doesn't come up all the time - just mostly. I also do
not know how to "force" this error to come up.

Q: Why is it, that I'm having these log messages in the printer files?

Thanks a lot,
Alexander 

###############################################################################################
$ cat /var/opt/samba/bin/print-pdf
#!/usr/local/bin/bash

PS2PDF=ps2pdf13
OPTIONS="-dAutoFilterColorImages=false -sColorImageFilter=FlateEncode"
INPUT=$1
PREFIX="$2"
#WINBASE=$(echo "$3"|sed -e 's,/,\\\\,g')
HTTPBASE="$3"
MACHINE=$4
IP=$5
USERNAME=$6
NAME=`echo "$7"|tr '[:punct:]' '[-*]'`

CONFFILE=/etc/opt/samba/print-pdf.conf
[ -e $CONFFILE ] && . $CONFFILE

#Values not taken as arguments, could be set via env. vars (?) or config file
KEEP_PS=${KEEP_PS=0}
PERMS=${PERMS=640}
BASEFILE=${BASEFILE=pdf-service}
TEMP="${TEMP=$2}"
UMASK=${UMASK=006}

mkdir -p "$PREFIX"

INFILE=$(basename $INPUT)

umask $UMASK

[ -n "$NAME" ] && TEMP="$PREFIX"

OUTPUT=`mktemp -d $TEMP -p $BASEFILE-XXXXXX`

if [ -n "$NAME" ]; then
        FINALOUTPUT="$PREFIX/$NAME"
else
        FINALOUTPUT="$OUTPUT"
fi
if [ -n "$8" ]; then
        OPTIONS="$OPTIONS -dPDFSETTINGS=/${8#pdf-}"
else
        OPTIONS="$OPTIONS -dPDFSETTINGS=/default"
fi

$PS2PDF $OPTIONS "$INPUT" "$OUTPUT.pdf"
mv -f "${OUTPUT}.pdf" "${FINALOUTPUT}".pdf

MESSAGE=$(echo "Your PDF file has been created at $HTTPBASE/.")

# Cleanup
if [ $KEEP_PS != 0 ];then
        mv -f $INPUT "${FINALOUTPUT}".ps
        MESSAGE=$(echo "$MESSAGE\nYou can find the postscript file there as well.")
        chmod $PERMS "${FINALOUTPUT}".ps "${FINALOUTPUT}".pdf
else
        rm -f $INPUT
        chmod $PERMS "${FINALOUTPUT}".pdf
fi

rm -f  $OUTPUT

EMAIL=`ypmatch $USERNAME passwd | awk -F: '{ print $5 }' | sed 's|.*,||'`
cat - <<EOMAIL | mutt -e 'set from=cifs-srvr1 at _____________ realname="PDF Print Service"' -s "PDF for job $NAME created at `date`" -a "${FINALOUTPUT}".pdf -a "${FINALOUTPUT}".ps $EMAIL >> $dbg 2>&1
Hello.

Please find attached your PDF printout of the job
named "$NAME", which
you submitted at `date` from host $MACHINE.

For the next 24 hours, you can also get the files at your pdf-print
directory at $HTTPBASE/.

Regards,

Your PDF Print Service
EOMAIL

MESSAGE=$(echo "$MESSAGE\n\nThe files have also been mailed to $EMAIL.")

echo -e $MESSAGE | /opt/samba/bin/smbclient -M $MACHINE -I $IP -U "PDF Generator" >> $dbg 2>&1
###############################################################################################

Alexander Skwar
-- 
Bei den Vegetariern heißt der Beischlaf "Bestäubung".



More information about the samba mailing list