[Samba] cups/samba integration problems

Greg Folkert greg at gregfolkert.net
Sat Jul 24 00:14:41 GMT 2004


On Fri, 2004-07-23 at 18:43, Greg Saunders wrote:
> Some notes first: 
> 
> Fedora Core 1 (2 node HA cluster, heartbeat & drbd) 
> Cups 1.1.20 
> Samba 3.0.4 
> 400 Windows 2000/XP clients 
> 50 print queues 
> HP Laserjets, Xerox colour multifunctionals, Ricoh mulitfunctionals, HP
> DesignJet plotters 
> 
> 2000+ print jobs/day 
> 8000+ pages/day 
> 5GB + print data/day 
> 
> I have a custom printer accounting application that is run by samba when
> a print job arrives at the server. This application supports PCL5, PCL6,
> postscript and HPGL2 blah blah blah. 
> 
> PROBLEM: Because samba and cups are now tightly integrated, samba does
> not offer the facility to issue a custom print command (print command =)
> when you tell samba the printing system is cups. Samba quietly ignores
> any custom print command, postexec, and preexec directives. 
> 
> The right thing to do would be to write a cups filter to invoke the
> printer accounting, however, the cups command line arguments to a filter
> program and the environment variables seem lacking some key pieces of
> information, namely, the remote host and remote ip address of the
> client. 
> 
> So, in my case, I must break the relationship between cups and samba and
> tell samba that the printing system is bsd or lprng in order to use my
> printer accounting application. This is where all hell breaks loose.
> There seems to be no valid lpq command that samba can hand off to cups
> that reports anything that samba understands. Worse, the default lpq
> command (lpq -P%p) invokes (I assume) cups lpstat program. Under the
> right (or wrong) conditions, this has brought my server to its knees. I
> don't know what's wrong with lpstat but it seems to be horribly
> inefficient, especially when 400 windows desktops query the samba server
> for print queue status (which it is unable to report anyway). In order
> to stop the samba/cups duo from crashing my server (doesn't really
> crash, it just can't do anything, like a self inflicted DOS attack) i
> have to map the samba lpq command to /bin/false. 
> 
> So here are my two questions: 
> 1. Is it samba or cups that prevents samba from using a custom print
> command 
> 2. What the heck is wrong with lpstat. Even a script that runs lpsat
> (multiple times) to collect different pieces of information seems to tax
> the system. 

You need to install the LPR support for cups... it will then use the
stuff more properly. Define all of your printers manually.  Specifying
localhost as the host and the CUPS printer name
(lpr://localhost:515/MyPrinter) or something similar, but not the IPP
info.

On Debian this package would be: cupsys-bsd

the files it provides:
        /usr/bin/cancel
        /usr/bin/cupstestppd
        /usr/bin/lp
        /usr/bin/lpoptions
        /usr/bin/lppasswd
        /usr/bin/lpstat
        /usr/bin/disable
        /usr/bin/enable
        /usr/bin/cupsdisable
        /usr/bin/cupsenable
        /usr/sbin/reject
        /usr/sbin/cupsreject
        /usr/sbin/cupsaccept
        /usr/sbin/cupsaddsmb
        /usr/sbin/accept
        /usr/sbin/lpadmin
        /usr/sbin/lpinfo
        /usr/sbin/lpmove

I hope this helps.
-- 
greg, greg at gregfolkert.net

The technology that is
Stronger, better, faster:  Linux
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.samba.org/archive/samba/attachments/20040723/a3c77ac3/attachment.bin


More information about the samba mailing list