2.2.8a and setprinterdata
mz at seh.de
Wed May 28 07:17:40 GMT 2003
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
mailto:m.zielinski at seh.de
More information about the samba-technical