|
When using the 'addprinter command' a Win2K client
can add a printer to a samba server.
When de wizards is at it's end it first gives a
error of 'Access diened' when executing for the second time it gives 'Printer
already existed'.
This has to do with the following pieces of code
:
---- srv_spoolss_nt.c -
spoolss_addprinterex_level_2 -----
if ((snum =
print_queue_snum(printer->info_2->sharename)) != -1)
{
DEBUG(5, ("_spoolss_addprinterex: Attempted to add a printer named [%s] when one already existed!\n", printer->info_2->sharename)); free_a_printer(&printer, 2); return WERR_PRINTER_ALREADY_EXISTS; } if (*lp_addprinter_cmd() )
if ( !add_printer_hook(printer) ) { free_a_printer(&printer,2); return WERR_ACCESS_DENIED; } slprintf(name, sizeof(name)-1,
"\\\\%s\\%s",
get_called_name(),
printer->info_2->sharename); if ((snum =
print_queue_snum(printer->info_2->sharename)) == -1)
{
free_a_printer(&printer,2); return WERR_ACCESS_DENIED; } 1 the function print_queue_snum check is a printer
share exitst, if so gives a error,
2 add the printer to the smb.conf.
3 check again on the share, but print_queue_snum
(printing.c) uses the function lp_servicenumber (loadparm.c). This function
DOES NOT reload the smb.conf.
The first time a printer share is added the fails
on 3 - shares does not exists. The second time the smb.conf is reload (where i
don't kown) and then it fails on 1 - share already exists.
I hope someone can check this (i'm no expert) and
kown's how to fix it.
Jurgen
|
- Re: [Samba] BUG: when using 'addprinter command' J. 'FIK' Brand
- Re: [Samba] BUG: when using 'addprinter command' Gerald Carter
