Ken Jorissen
2003-Dec-07 21:04 UTC
[Samba] Questions about some Ethereal/log output and spoolss
My user observable errors seem to now be gone but I am seeing some behavior that may need to be looked at. There are error messages in Ethereal and in the logs like "_spoolss_getprinterdataex: Invalid keyname [DsDriver]". First I'll give the brief history and then more details below. I started a new install on FreeBSD 5.1 using samba 2.2.8. I compiled with CUPS (1.1.19). Printer is HP PhotoSmart 7550 with executable style installer so the driver was installed manually through rpcclient. I worried about the "printer data" since the docs only said that rpcclient may set it. I tried to set the device mode by connecting as root from a client and calling up the properties dialog. However, I got a protection fault from both Win2k and XPPro boxes. I then proceeded trying newer versions of Samba and got to 3.0.1.rc1. Then I tried "default devmode = yes" and was finnaly able to set the device mode. After that I got a few page faults when bringing up the properties dialog but now can't reproduce the error. But I still see some odd things in Ethereal and the logs... Shortened Ethereal output: ---- GetPrinterDataEx request, DsDriver/printStaplingSupported GetPrinterDataEx reply, DsDriver/printStaplingSupported, File not found (pathname error) GetPrinterDataEx request, DsDriver/printPagesPerMinute GetPrinterDataEx reply, DsDriver/printPagesPerMinute, File not found (pathname error) GetPrinterDataEx request, DsDriver/printMaxResolutionSupported GetPrinterDataEx reply, DsDriver/printMaxResolutionSupported, File not found (pathname error) GetPrinterDataEx request, DsDriver/printMediaReady GetPrinterDataEx reply, DsDriver/printMediaReady, File not found (pathname error) GetPrinterDataEx request, DsDriver/printColor GetPrinterDataEx reply, DsDriver/printColor, File not found (pathname error) GetPrinterDataEx request, DsDriver/printDuplexSupported GetPrinterDataEx reply, DsDriver/printDuplexSupported, File not found (pathname error) GetPrinterDataEx request, DsDriver/printStaplingSupported GetPrinterDataEx reply, DsDriver/printStaplingSupported, File not found (pathname error) GetPrinterDataEx request, DsDriver/printPagesPerMinute GetPrinterDataEx reply, DsDriver/printPagesPerMinute, File not found (pathname error) GetPrinterDataEx request, DsDriver/printMaxResolutionSupported GetPrinterDataEx reply, DsDriver/printMaxResolutionSupported, File not found (pathname error) GetPrinterDataEx request, DsDriver/printMediaReady GetPrinterDataEx reply, DsDriver/printMediaReady, File not found (pathname error) ---- Here is the log from one of the above exchanges: ---- [2003/12/07 12:00:52, 4] rpc_server/srv_pipe.c:api_rpcTNP(1502) api_rpcTNP: spoolss op 0x4e - api_rpcTNP: rpc command: SPOOLSS_GETPRINTERDATAE X [2003/12/07 12:00:52, 6] rpc_server/srv_pipe.c:api_rpcTNP(1528) api_rpc_cmds[42].fn == 0x810ea90 [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_debug(82) 000000 spoolss_io_q_getprinterdataex [2003/12/07 12:00:52, 6] rpc_parse/parse_prs.c:prs_debug(82) 000000 smb_io_pol_hnd printer handle [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_uint32(635) 0000 data1: 00000000 [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_uint32(635) 0004 data2: 00000053 [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_uint16(606) 0008 data3: 0000 [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_uint16(606) 000a data4: 0000 [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_uint8s(722) 000c data5: d2 6a d3 3f c6 7a 01 00 [2003/12/07 12:00:52, 6] rpc_parse/parse_prs.c:prs_debug(82) 000014 smb_io_unistr2 keyname [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_uint32(635) 0014 uni_max_len: 00000009 [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_uint32(635) 0018 offset : 00000000 [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_uint32(635) 001c uni_str_len: 00000009 [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:dbg_rw_punival(807) 0020 buffer : D.s.D.r.i.v.e.r... [2003/12/07 12:00:52, 6] rpc_parse/parse_prs.c:prs_debug(82) 000034 smb_io_unistr2 valuename [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_uint32(635) 0034 uni_max_len: 0000001c [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_uint32(635) 0038 offset : 00000000 [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_uint32(635) 003c uni_str_len: 0000001c [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:dbg_rw_punival(807) 0040 buffer : p.r.i.n.t.M.a.x.R.e.s.o.l.u.t.i.o.n.S.u.p.p.o.r.t.e. d... [2003/12/07 12:00:52, 5] rpc_parse/parse_prs.c:prs_uint32(635) 0078 size: 00000004 [2003/12/07 12:00:52, 4] rpc_server/srv_lsa_hnd.c:find_policy_by_hnd_internal(16 2) Found policy hnd[0] [000] 00 00 00 00 53 00 00 00 00 00 00 00 D2 6A D3 3F .. ..S... .....j.? [010] C6 7A 01 00 .z.. [2003/12/07 12:00:52, 4] rpc_server/srv_spoolss_nt.c:_spoolss_getprinterdataex(8 676) _spoolss_getprinterdataex [2003/12/07 12:00:52, 10] rpc_server/srv_spoolss_nt.c:_spoolss_getprinterdataex( 8682) _spoolss_getprinterdataex: key => [DsDriver], value => [printMaxResolutionSupp orted] [2003/12/07 12:00:52, 4] rpc_server/srv_lsa_hnd.c:find_policy_by_hnd_internal(16 2) Found policy hnd[0] [000] 00 00 00 00 53 00 00 00 00 00 00 00 D2 6A D3 3F .. ..S... .....j.? [010] C6 7A 01 00 .z.. [2003/12/07 12:00:52, 4] rpc_server/srv_spoolss_nt.c:get_printer_snum(430) short name:photosmart7550 [2003/12/07 12:00:52, 10] printing/nt_printing.c:get_a_printer(3930) get_a_printer: [photosmart7550] level 2 [2003/12/07 12:00:52, 10] printing/nt_printing.c:add_new_printer_key(2365) add_new_printer_key: Inserted new data key [PrinterDriverData] [2003/12/07 12:00:52, 10] printing/nt_printing.c:add_new_printer_key(2365) add_new_printer_key: Inserted new data key [DsSpooler] [2003/12/07 12:00:52, 10] printing/nt_printing.c:get_a_printer(3957) get_a_printer: using cached copy of printer_info_2 [2003/12/07 12:00:52, 10] printing/nt_printing.c:get_a_printer(4005) get_a_printer: [photosmart7550] level 2 returning WERR_OK [2003/12/07 12:00:52, 4] rpc_server/srv_spoolss_nt.c:_spoolss_getprinterdataex(8 718) _spoolss_getprinterdataex: Invalid keyname [DsDriver] ---- The above is one section of 12 that are very similar. Just in case someone asks, here is smb.conf (yes, it's insecure)... smb.conf: ---- [global] log level = 10 map to guest = bad user workgroup = ISI server string = Nugget Samba Server hosts allow = 192.168.1. 127. load printers = yes printing = cups ; guest account = pcguest log file = /var/log/log.%m max log size = 50 security = user encrypt passwords = yes socket options = TCP_NODELAY domain master = yes preferred master = yes wins support = yes dns proxy = no [printers] comment = All Printers path = /var/spool/samba browseable = no public = yes guest ok = yes writeable = no printable = yes default devmode = yes [print$] comment = Printer Drivers path = /usr/local/share/samba/drivers browseable = no guest ok = yes read only = yes write list = root [public] path = /u01 public = yes only guest = yes writeable = yes printable = no ---- Since no one else has asked about this and I don't see info on it anywhere leads me to believe that something is odd here. Thoughts? Also, if anyone has more details on the "printer data" it would be wonderful. Are there two groupings of data set by the properties dialog and one covers printer data and the other covers the device mode? The current model that I have of this doesn't explain some of the odd iterations that I had while trying to get this to work. For a while I had an XP Pro client connected to print$ as root and it could access the properties dialog while a Windows 2000 box also connected as root couldn't. I didn't capture logs of that unfortunately. But I am wondering if the XP client was more tolerant of missing "printer data" and if I eventually set it. Thanks, Ken
Gerald (Jerry) Carter
2003-Dec-08 16:03 UTC
[Samba] Questions about some Ethereal/log output and spoolss
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Ken Jorissen wrote: | I started a new install on FreeBSD 5.1 using samba 2.2.8. I | compiled with CUPS (1.1.19). Printer is HP PhotoSmart 7550 with | executable style installer so the driver was installed manually | through rpcclient. I worried about the "printer data" since the | docs only said that rpcclient may set it. I tried to | set the device mode by connecting as root from a client and | calling up the properties dialog. However, I got a protection | fault from both Win2k and XPPro boxes. I then proceeded trying | newer versions of Samba and got to 3.0.1.rc1. Then I tried | "default devmode = yes" and was finnaly able to set the device | mode. After that I got a few page faults when bringing up the | properties dialog but now can't reproduce the error. But I still | see some odd things in Ethereal and the logs... ... | GetPrinterDataEx request, DsDriver/printStaplingSupported | GetPrinterDataEx reply, DsDriver/printStaplingSupported, | File not found (pathname error) These are normal. The DsDriver & DsSpooler keys are used form printer publishing in AD. | Also, if anyone has more details on the "printer data" Look in the Windows registry for a locally installed printer (hint: seearch fomr PrinterDriverData) - -- ciao, jerry ~ ---------------------------------------------------------------------- ~ Hewlett-Packard ------------------------- http://www.hp.com ~ SAMBA Team ---------------------- http://www.samba.org ~ GnuPG Key ---- http://www.plainjoe.org/gpg_public.asc ~ "If we're adding to the noise, turn off this song" --Switchfoot (2003) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQE/1KEVIR7qMdg1EfYRAkAhAJ42EjLi0m/v/7KNesU/JM3g7bIEDwCgrB4L oVuAyXKWPb3E/f+goSXMFu8=4w1i -----END PGP SIGNATURE-----
Ken Jorissen
2003-Dec-08 16:32 UTC
[Samba] Questions about some Ethereal/log output and spoolss
>| GetPrinterDataEx request, DsDriver/printStaplingSupported >| GetPrinterDataEx reply, DsDriver/printStaplingSupported, >| File not found (pathname error)>These are normal. The DsDriver & DsSpooler keys are >used form printer publishing in AD.I'm glad it's normal, thanks for responding.>| Also, if anyone has more details on the "printer data">Look in the Windows registry for a locally installed printer (hint: >seearch fomr PrinterDriverData)I see the entries, I don't understand how each/all of those relates to the "printer data" and how that affects the client/server interaction, but in terms of other people's time my understanding isn't important. I'll go digging and report my findings if I find that the documentation could be enhanced. Thanks, Ken