From kpfeifle@danka.de Sat Apr 26 11:11:22 2003 Date: Sun, 20 Apr 2003 22:17:45 +0200 From: Kurt Pfeifle To: Lars Mueller , John H Terpstra , "Gerald (Jerry) Carter" Cc: Mike Sweet Subject: Sanba-2.2.8a: "rpcclient enumprinters" is broken --> "cupsaddsmb" doesn't work either. Hi, this is what I am finding with "rpcclient enumprinters" and "rpcclient enumdrivers". It wasn't working in all levels in previous Samba versions for me either, but 2.2.8a seems to have it broken worse than it was before. The consequence: "cupsaddsmb" doesn't succeed any more with 2.2.8a. Executive Summary: ------------------ * "cupsaddsmb" doesn't work, because.... * "rpcclient enumprinters" doesn't work in all levels -- some give segfaults * "rpcclient enumdrivers" doesn't work in all levels -- some give segfaults It would be very useful if this could be fixed with an upcoming Samba 2.2.9 release. ---------------------------------------------------------------------- I tried to delete all *.tdb files and started from the "beginning" to get it to work.... No luck. ---------------------------------------------------------------------- System overview: ---------------- SuSE-8.0, CUPS-1.1.19rc2, Samba-2.2.8a (with CUPS support compiled in), currently only the driver "PDFcreator2" exported to Samba via "cupsaddsmb". smb.conf: (same one used for 2.2.7a and 2.2.8a) ----------------------------------------------- kde-bitshop: # cat /etc/samba/smb.conf | grep -v ^# | grep -v "^;" | grep -v ^$ [global] workgroup = CUPS-Print show add printer wizard = yes encrypt passwords = Yes time server = Yes unix extensions = Yes socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY printcap name = cups printing = cups character set = ISO8859-15 os level = 2 veto files = /*.eml/*.nws/riched20.dll/*.{*}/ guest account = nobody log level = 5 load printers = Yes wins support = No client code page = 850 add printer command = /usr/bin/samba-addprinter-command.sh [homes] comment = Home Directories valid users = %S read only = No create mask = 0640 directory mask = 0750 browseable = No [printers] comment = All Printers path = /var/spool/samba create mask = 0601 printable = Yes browseable = No public = yes guest ok = yes writable = no printer admin = root, kde4, kdehead, kurt [print$] comment = Printer Drivers path = /etc/samba/drivers browseable = Yes guest ok = No read only = no write list = root, Danka, kde4, kdehead, kurt, ======= 2.2.8a: ======= These results came running the SuSE-8.0 packages built by Lars Mueller (from SusE). I have the same results with self-compiled packages: ---------------------------------------------------------------------- kde-bitshop: # cupsaddsmb -v PDFcreator2 Password for root required to access localhost via SAMBA: [....W32X86....] Printer Driver PDFcreator2 successfully installed. [....WIN40.....] Printer Driver PDFcreator2 successfully installed. [....] Running command: rpcclient localhost -N -U'root%xxxx' -c 'setdriver PDFcreator2 PDFcreator2' cmd = setdriver PDFcreator2 PDFcreator2 result was NT_STATUS_UNSUCCESSFUL kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'enumdrivers' cmd = enumdrivers [Windows 4.0] Printer Driver Info 1: Driver Name: [PDFcreator2] [Windows NT x86] Printer Driver Info 1: Driver Name: [PDFcreator2] kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'enumdrivers 1' cmd = enumdrivers 1 [Windows 4.0] Printer Driver Info 1: Driver Name: [PDFcreator2] [Windows NT x86] Printer Driver Info 1: Driver Name: [PDFcreator2] kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'enumdrivers 2' cmd = enumdrivers 2 [Windows 4.0] Segmentation fault kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'enumdrivers 3' cmd = enumdrivers 3 [Windows 4.0] Segmentation fault kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'getdriver PDFcreator2' cmd = getdriver PDFcreator2 Error opening printer handle for PDFcreator2! result was NT_STATUS_UNSUCCESSFUL kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'getdriver PDFcreator2 1' cmd = getdriver PDFcreator2 1 Error opening printer handle for PDFcreator2! result was NT_STATUS_UNSUCCESSFUL kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'getdriver PDFcreator2 2' cmd = getdriver PDFcreator2 2 Error opening printer handle for PDFcreator2! result was NT_STATUS_UNSUCCESSFUL kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'getdriver PDFcreator2 3' cmd = getdriver PDFcreator2 3 Error opening printer handle for PDFcreator2! result was NT_STATUS_UNSUCCESSFUL kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'enumprinters' cmd = enumprinters No printers returned. kde-bitshop: # lpstat -p printer DigiMaster is idle. enabled since Jan 01 00:00 printer hp4550 is idle. enabled since Jan 01 00:00 printer HPOfficeHetD155 is idle. enabled since Jan 01 00:00 printer ir85wm is idle. enabled since Jan 01 00:00 printer ir85wm/pamphletA4 is idle. enabled since Jan 01 00:00 printer PDFcreator2 is idle. enabled since Jan 01 00:00 printer printer with spaces is idle. enabled since Jan 01 00:00 kde-bitshop: # cat /etc/printcap # This file was automatically generated by cupsd(8) from the # /etc/cups/printers.conf file. All changes to this file # will be lost. DigiMaster|DigiMaster:rm=10.160.51.60:rp=DigiMaster: hp4550|hp4550:rm=10.160.51.60:rp=hp4550: HPOfficeHetD155|HPOfficeHetD155:rm=10.160.51.60:rp=HPOfficeHetD155: ir85wm|ir85wm:rm=10.160.51.60:rp=ir85wm: PDFcreator2|PDFcreator2:rm=10.160.51.60:rp=PDFcreator2: printer with spaces|printerwithspaces:rm=10.160.51.60:rp=printer with spaces: Note: This is a new, more verbose format of the CUPS-written printcap ----- (provided for the benefit of legacy apps) -- I don't know if Samba uses this or if the linking agains libcups is all it needs.... kde-bitshop: # smbclient -L localhost added interface ip=10.160.51.60 bcast=10.160.51.255 nmask=255.255.252.0 Password: Domain=[CUPS-PRINT] OS=[Unix] Server=[Samba 2.2.8a] Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers tmp Disk IPC$ IPC IPC Service (Samba 2.2.8a) ADMIN$ Disk IPC Service (Samba 2.2.8a) -------------------------------------------------- (no printer share visible) -------------------------------------------------- ---------------------------------------------------------------------- If I look at the "ntprinters.tdb" file with the "tdbtool" I can't see any entries there either. ############################################################################## ======= 2.2.8a: ======= It is a *bit* different with the 2.2.7a version (self-compiled), althoogh there are enough errors here too: kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'enumdrivers' cmd = enumdrivers [Windows 4.0] Printer Driver Info 1: Driver Name: [PDFcreator2] [Windows NT x86] Printer Driver Info 1: Driver Name: [PDFcreator2] kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'enumprinters' cmd = enumprinters rpc_api_pipe: cmd 26 on pipe 74fb failed to return data. result was NT_STATUS_UNSUCCESSFUL kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'getprinter PDFcreator2 1' cmd = getprinter PDFcreator2 1 flags:[0x800000] name:[\\kde-bitshop\PDFcreator2] description:[\\kde-bitshop\PDFcreator2,PDFcreator2,PDFcreator2] comment:[PDFcreator2] kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'getprinter PDFcreator2 0' cmd = getprinter PDFcreator2 0 printername:[\\kde-bitshop\PDFcreator2] servername:[\\kde-bitshop] cjobs:[0x0] total_jobs:[0x0] :date: [2003]-[4]-[18] (5) :time: [10]-[53]-[31]-[0] global_counter:[0x2] total_pages:[0x0] majorversion:[0x4] buildversion:[0x565] unknown7:[0x1] unknown8:[0x0] unknown9:[0x0] session_counter:[0x2] unknown11:[0x0] printer_errors:[0x0] unknown13:[0x0] unknown14:[0x1] unknown15:[0x24a] unknown16:[0x0] change_id:[0x49c0] unknown18:[0x0] status:[0x0] unknown20:[0x0] c_setprinter:[0x1] unknown22:[0x0] unknown23:[0x6] unknown24:[0x0] unknown25:[0x0] unknown26:[0x0] unknown27:[0x0] unknown28:[0x0] unknown29:[0x0] kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'getprinter PDFcreator2 2' cmd = getprinter PDFcreator2 2 servername:[\\kde-bitshop] printername:[\\kde-bitshop\PDFcreator2] sharename:[PDFcreator2] portname:[Done] drivername:[PDFcreator2] comment:[PDFcreator2] location:[] sepfile:[] printprocessor:[winprint] datatype:[RAW] parameters:[] attributes:[0x18] priority:[0x1] defaultpriority:[0x1] starttime:[0x0] untiltime:[0x0] status:[0x0] cjobs:[0x0] averageppm:[0x0] kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'getprinter PDFcreator2 3' cmd = getprinter PDFcreator2 3 flags:[0x4] DACL ACL Num ACEs: 3 revision: 2 --- ACE type: ACCESS ALLOWED (0) flags: 2 Specific bits: 0x0 Permissions: 0xe0000000: Generic execute access Generic write access Generic read access SID: S-1-1-0 ACE type: ACCESS ALLOWED (0) flags: 9 Specific bits: 0x0 Permissions: 0x10000000: Generic all access SID: S-1-5-21-3125663737-3828827905-3400629327-1000 ACE type: ACCESS ALLOWED (0) flags: 2 Specific bits: 0x0 Permissions: 0x10000000: Generic all access SID: S-1-5-21-3125663737-3828827905-3400629327-1000 Owner SID: S-1-5-21-3125663737-3828827905-3400629327-1000 kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'getdriver PDFcreator2 1' cmd = getdriver PDFcreator2 1 [Windows NT x86] Printer Driver Info 1: Driver Name: [PDFcreator2] kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'getdriver PDFcreator2 2' cmd = getdriver PDFcreator2 2 [Windows NT x86] Printer Driver Info 2: Version: [2] Driver Name: [PDFcreator2] Architecture: [Windows NT x86] Driver Path: [\\kde-bitshop\print$\W32X86\2\cupsdrvr.dll] Datafile: [\\kde-bitshop\print$\W32X86\2\PDFcreator2.ppd] Configfile: [\\kde-bitshop\print$\W32X86\2\cupsui.dll] kde-bitshop: # rpcclient -U root%xxxx kde-bitshop -c 'getdriver PDFcreator2 3' cmd = getdriver PDFcreator2 3 [Windows NT x86] Segmentation fault kde-bitshop: # smbclient -L localhost added interface ip=10.160.51.60 bcast=10.160.51.255 nmask=255.255.252.0 Password: Domain=[CUPS-PRINT] OS=[Unix] Server=[Samba 2.2.7a] Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers tmp Disk IPC$ IPC IPC Service (Samba 2.2.7a) ADMIN$ Disk IPC Service (Samba 2.2.7a) PDFcreator2 Printer PDFcreator2 [....] [...many more printer shares visible...] [....] ############################################################################### SUMMARY: -------- in 2.2.7a: ---------- * cupsaddsmb completes successfully * NT_STATUS_UNSUCCESSFUL with 'rpcclient enumprinters (0|1|2)' * working with 'rpcclient getprinter (0|1|2|3)' * Segmentation fault in 'rpcclient enumdrivers 2" * Segmentation fault in 'rpcclient enumdrivers 3" * working with 'rpcclient enumdrivers (1)' * working with 'rpcclient getdriver (1|2)' * Segmentation fault in 'rpcclient getdriver 3' in 2.2.8a: ---------- * cupsaddsmb does not complete; last message regarding the 'rpcclient setdriver' command is "result was NT_STATUS_UNSUCCESSFUL" (this is to be expected because the printer is not "known" to Samba -- 'rpcclient setdriver' expects a printer in existence, but 'rpcclient enumprinters' doesn't return any printerlist...) * "NT_STATUS_UNSUCCESSFUL" with 'rpcclient enumprinters (0)' * "no printers returned" with 'rpcclient enumprinters (1|2)' * "NT_STATUS_UNSUCCESSFUL" with 'rpcclient getprinter (0|1|2|3)' * Segmentation fault in 'rpcclient enumdrivers 2' * Segmentation fault in 'rpcclient enumdrivers 3' * working with 'rpcclient enumdrivers (1)' * "NT_STATUS_UNSUCCESSFUL" with 'rpcclient getdriver (1|2|3)' going back to 2.2.7a remedies the shortcomings. In 2.2.8a no printing from Windows clients possible. In 2.2.7a printing from Windows clients works. Cheers, Kurt