Maybe more information than you want, but...

In Nevada (around build 44), we replaced many of the print commands with PAPI enabled print commands. These new print commands are capable of communicating with a local LP spooler or remote spoolers via RFC-1179 or IPP. Actually, the print service support comes via loadable modules, so it can talk to anything you write a module for.

With this support comes the addition of a printers.conf(4) attribute "printer-uri-supported". The PAPI implementation on Solaris uses the printer-uri-supported to determine how to contact the print service. For backward compatability reasons, we implemented support for automatic conversion of bsdaddr and printer-uri data from the printers.conf(4) database entries. It would appear that your LDAP entry has a printer-uri=east, which is likely to be a problem. If you remove it, set it to a valid value, or set printer-uri-supported to a valid value, you should be able to print using your LDAP data. It's also possible that we(I in this case) broke something. Apparently, I am both fallible and mortal. =-O

The PAPI printer-uri-supported automatic conversion support works as follows:

  1. If there is a printer-uri-supported return
  2. If there is a printer-uri, rename it to printer-uri-supported and
     return
  3. If there is a bsdaddr, convert it to a printer-uri-supported in
     lpd://server/printers/queue[#Solaris] form and return
  4. If there is rm (and rp) printcap data, convert it to a
     printer-uri-supported in the form lpd://server/printers/queue and
     return

One other odd quirk about the way this works is that if the printer-uri-supported refers to the local host and the queue name exists under the local LP spooler, the uri is converted to the form lpsched://localhost/printers/queue. This is to force applications to talk to lpsched directly if the queue is a local LP queue.

If you interested, all of this is implemented in usr/src/lib/print/libpapi-dynamic/common/nss.c starting at line 260
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/print/libpapi-dynamic/common/nss.c#260

   -Norm

PS.
valid printer-uri-supported values are described in the printers.conf(4) man page in current Nevada builds.
         lpsched://localhost/printers/queue (local LP queues)
         lpd://server/printers/queue[#Solaris]
ipp://server/printers/queue (or other print server supported IPP uri)


Ken Mandelberg wrote:
I can print successfully to printers in printers.conf, but no printers coming 
from ldap.
For example these are the same printer first from ldap then from printers.conf

mathsunf(1,46): lpstat -a east
east not accepting requests since Mon Jun 18 17:33:49 2007
        unknown reason
mathsunf(1,47): lpstat -a bitseast
bitseast accepting requests since Mon Jun 18 17:34:04 2007

mathsunf(1,48): ldaplist -l printers east
dn: printer-uri=east,ou=printers,dc=mathcs,dc=emory,dc=edu
        sun-printer-bsdaddr: bits,east,Solaris
        objectClass: top
        objectClass: printerService
        objectClass: printerAbstract
        objectClass: sunPrinter
        printer-name: east
        printer-uri: east

mathsunf(1,49): cat /etc/printers.conf
bitseast:\
        :bsdaddr=bits,east,Solaris:\
        :description=hp east:


mathsunf(1,52): grep printer /etc/nsswitch.conf
printers:       user files ldap


This doesn't happen on Sol10 and my recollection is that it didn't happen os 
snv_55.

Is there a known issue with ldap printers?
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to