several issues with spoolss calls in 2.2.3a

Homann, Mathias Mathias.Homann at
Wed Feb 27 06:30:24 GMT 2002


after having serious troubles with printer driver installation via
smbclient/rpcclient (a.k.a. the imprints scripts) in 2.2.2 and 2.2.3a I
found a few disturbing items:

the share print$:
- path has to be writable by guest if yoiu want to use 2.2.3a. for any
unknown reason smbd switches to the guest user when trying to rename
files within the architecture-dependend tree there (adddriver rpccall)
- subdirectories 2 3 etc for different drivers aren't created anymore.

unicode->ascii translation in 2.2.2:
- seems to be broken VERY badly, the routine which translates an array
of unicode strings into ascii breaks the contents of the given array on
hp-ux 11.00 (big-endian?) into repeated occurences of _ instead of the
filenames of driver-dependend files that came via the rpccall.

buffer sizes:
- some internal buffer is too small. When I try to install a driver for
a lexmark optra C postscript the closeprinter spoolss call returns
'failed: NT_STATUS_BUFFER_OVERFLOW'. This happens ONLY with that driver
(tons of files, instead of those moderate 8-10 files you usually see
with HP drivers...), but is NOT reported back properly. rpcclient is
SILENT about it. the only way to see is ethersniffing the actual
installation process. When I try a 'getdriver printername' in rpcclient
afterwards, I get proper data for ALL the printers except those with an
OptraC driver, there I get 'result was NT code 0xc0000705' and no
further data.
BTW, what's the meaning of 'NT code 0xc0000705', I get that wich every
printer when I do 'getdriver printername', only that I get proper
filenames with the other printers here (those wich a HP4050 or HP8550

- the adddriver /setdriver calls seem to work; getdriver printername
returns proper files; BUT: enumdrivers returns nothing!


More information about the samba-technical mailing list