2.2.8a and setprinterdata

Martin Zielinski mz at seh.de
Wed May 28 07:17:40 GMT 2003

Hello list,
There are some bugs in the setprinterdata-code from rpcclient and libsmb:
1st: one of the printfs in rpcclient/cmd_spoolss.c- 
cmd_spoolss_setprinterdata() causes a segfault (the info-struct is NULL)

2nd: The requested access rights MAXIMUM_ALLOWED_ACCESS in open_printer_ex() 
will be mapped to PRINTER_ACCESS_USE in util_seaccess.c which is not enough 
for that operation. Ronan Waider reported this earlier in march (setdriver 
problem). What is needed is the PRINTER_ALL_ACCESS request.

3rd: in libsmb/clispoolss.c - cli_spoolss_setprinterdata() the result of 
spoolss_io_r_setprinterdata() is not correctly interpreted. rpcclient will 
always report an error.

What led me to that place is a problem with missing "SPLUserModePrinterDriver" 
entries in the client's registry. This happens with the OCE9400 plotter or 
the Epson AL-C2000 (among others) driver. I have seen "EnumPrinterData" 
responses with this entry comming from other systems than SAMBA (NT,W2k). 
This would be the result of a "SetPrinterData" call.

If someone has an idea, where this problem lies: please tell me or give me a 
Many thanks,


Martin Zielinski
mailto:m.zielinski at seh.de

More information about the samba-technical mailing list