diff options
-rw-r--r-- | source3/printing/nt_printing.c | 9 | ||||
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c index 0f778841129..a4620941114 100644 --- a/source3/printing/nt_printing.c +++ b/source3/printing/nt_printing.c @@ -1010,6 +1010,13 @@ static uint32 get_a_printer_2_default(NT_PRINTER_INFO_LEVEL_2 **info_ptr, fstrin fstrcpy(info.printprocessor, "winprint"); fstrcpy(info.datatype, "RAW"); + info.attributes = PRINTER_ATTRIBUTE_SHARED \ + | PRINTER_ATTRIBUTE_LOCAL \ + | PRINTER_ATTRIBUTE_RAW_ONLY ; /* attributes */ + + info.starttime = 0; /* Minutes since 12:00am GMT */ + info.untiltime = 1440; /* Minutes since 12:00am GMT */ + if ((info.devmode = construct_nt_devicemode()) == NULL) goto fail; @@ -1076,6 +1083,8 @@ static uint32 get_a_printer_2(NT_PRINTER_INFO_LEVEL_2 **info_ptr, fstring sharen info.datatype, info.parameters); + info.attributes |= PRINTER_ATTRIBUTE_RAW_ONLY; /* Samba has to have raw drivers. */ + len += unpack_devicemode(&info.devmode,dbuf.dptr+len, dbuf.dsize-len); len += unpack_specifics(&info.specific,dbuf.dptr+len, dbuf.dsize-len); diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index 8dca09dc95e..5793d5a137f 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -1917,9 +1917,7 @@ static BOOL construct_printer_info_2(fstring servername, PRINTER_INFO_2 *printer init_unistr(&printer->datatype, ntprinter->info_2->datatype); /* datatype */ init_unistr(&printer->parameters, ntprinter->info_2->parameters); /* parameters (of print processor) */ - printer->attributes = PRINTER_ATTRIBUTE_SHARED \ - | PRINTER_ATTRIBUTE_LOCAL \ - | PRINTER_ATTRIBUTE_RAW_ONLY ; /* attributes */ + printer->attributes = ntprinter->info_2->attributes; printer->priority = ntprinter->info_2->priority; /* priority */ printer->defaultpriority = ntprinter->info_2->default_priority; /* default priority */ |