summaryrefslogtreecommitdiff
path: root/source3/registry
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-06-22 18:03:38 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:57:58 -0500
commitb1f1cb0e7474415b1c75670ec631effb232c0d6c (patch)
tree6d14887819865a2da7ecfdfedc5ee85767d8a0ef /source3/registry
parent864ca4f0510da95cadf5ad449b2ec818a78d8c17 (diff)
downloadsamba-b1f1cb0e7474415b1c75670ec631effb232c0d6c.tar.gz
samba-b1f1cb0e7474415b1c75670ec631effb232c0d6c.tar.bz2
samba-b1f1cb0e7474415b1c75670ec631effb232c0d6c.zip
r7838: lie about the printer status when doing the queryvalue() registry call. Note that if you migrate a printer to a Windows server, the win spooler will remove any printers that have an invalid status value in the registry
(This used to be commit 0a22ea9eb7fd5aa8c57d2bf1ea2a171b377cab5a)
Diffstat (limited to 'source3/registry')
-rw-r--r--source3/registry/reg_printing.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source3/registry/reg_printing.c b/source3/registry/reg_printing.c
index b0fb4ab9d9..1ac91f4b90 100644
--- a/source3/registry/reg_printing.c
+++ b/source3/registry/reg_printing.c
@@ -639,6 +639,7 @@ static int print_subpath_values_printers( char *key, REGVAL_CTR *val )
if ( !new_path ) {
char *p;
+ uint32 printer_status = PRINTER_STATUS_OK;
/* we are dealing with the printer itself */
@@ -652,7 +653,10 @@ static int print_subpath_values_printers( char *key, REGVAL_CTR *val )
regval_ctr_addvalue( val, "Priority", REG_DWORD, (char*)&info2->priority, sizeof(info2->attributes) );
regval_ctr_addvalue( val, "ChangeID", REG_DWORD, (char*)&info2->changeid, sizeof(info2->changeid) );
regval_ctr_addvalue( val, "Default Priority", REG_DWORD, (char*)&info2->default_priority, sizeof(info2->default_priority) );
- regval_ctr_addvalue( val, "Status", REG_DWORD, (char*)&info2->status, sizeof(info2->status) );
+
+ /* lie and say everything is ok since we don't want to call print_queue_length() to get the real status */
+ regval_ctr_addvalue( val, "Status", REG_DWORD, (char*)&printer_status, sizeof(info2->status) );
+
regval_ctr_addvalue( val, "StartTime", REG_DWORD, (char*)&info2->starttime, sizeof(info2->starttime) );
regval_ctr_addvalue( val, "UntilTime", REG_DWORD, (char*)&info2->untiltime, sizeof(info2->untiltime) );