The Samba-Bugzilla – Attachment 7126 Details for
Bug 8618
nt_printing_migrate writes path to driver files into registry
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
proposed fix v2
0001-s3-printing-fix-migrate-printer-code-bug-8618_v2.patch (text/plain), 3.56 KB, created by
Björn Baumbach
on 2011-11-18 22:11:51 UTC
(
hide
)
Description:
proposed fix v2
Filename:
MIME Type:
Creator:
Björn Baumbach
Created:
2011-11-18 22:11:51 UTC
Size:
3.56 KB
patch
obsolete
>From f1516f4af21af4a6a0224b8aa47393ae39597194 Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?Bj=C3=B6rn=20Baumbach?= <bb@sernet.de> >Date: Fri, 18 Nov 2011 18:54:56 +0100 >Subject: [PATCH] s3-printing: fix migrate printer code (bug 8618) > >Removed path from driver files. >We only the basenames. >--- > source3/printing/nt_printing_migrate.c | 52 ++++++++++++++++++++++++++++--- > source3/printing/nt_printing_migrate.h | 2 + > 2 files changed, 49 insertions(+), 5 deletions(-) > >diff --git a/source3/printing/nt_printing_migrate.c b/source3/printing/nt_printing_migrate.c >index e927a23..0406ef4 100644 >--- a/source3/printing/nt_printing_migrate.c >+++ b/source3/printing/nt_printing_migrate.c >@@ -3,6 +3,7 @@ > * RPC Pipe client / server routines > * > * Copyright (c) Andreas Schneider 2010. >+ * Copyright (C) Bjoern Baumbach <bb@sernet.de> 2011 > * > * This program is free software; you can redistribute it and/or modify > * it under the terms of the GNU General Public License as published by >@@ -27,6 +28,20 @@ > #include "librpc/gen_ndr/ndr_security.h" > #include "rpc_client/cli_winreg_spoolss.h" > >+const char *driver_file_basename(const char *file) >+{ >+ const char *basefile; >+ >+ basefile = strrchr(file, '\\'); >+ if (basefile == NULL) { >+ basefile = file; >+ } else { >+ basefile++; >+ } >+ >+ return basefile; >+} >+ > NTSTATUS printing_tdb_migrate_form(TALLOC_CTX *mem_ctx, > struct rpc_pipe_client *winreg_pipe, > const char *key_name, >@@ -99,7 +114,13 @@ NTSTATUS printing_tdb_migrate_driver(TALLOC_CTX *mem_ctx, > DATA_BLOB blob; > WERROR result; > const char *driver_name; >+ const char *driver_path; >+ const char *config_file; >+ const char *data_file; >+ const char *help_file; >+ const char **dependent_files; > uint32_t driver_version; >+ int i; > > blob = data_blob_const(data, length); > >@@ -118,15 +139,36 @@ NTSTATUS printing_tdb_migrate_driver(TALLOC_CTX *mem_ctx, > ZERO_STRUCT(d3); > ZERO_STRUCT(a); > >- a.string = r.dependent_files; >+ /* remove paths from file names */ >+ if (r.dependent_files != NULL) { >+ /* count elements in r.dependent_files */ >+ for(i = 0 ; r.dependent_files[i] != NULL; i++) { } >+ >+ dependent_files = SMB_MALLOC_ARRAY(const char *, i); >+ if (dependent_files == NULL) { >+ DEBUG(2, ("Out of memory!\n")); >+ return NT_STATUS_NO_MEMORY; >+ } >+ >+ for (i = 0 ; r.dependent_files[i] != NULL; i++) { >+ dependent_files[i] = driver_file_basename(r.dependent_files[i]); >+ } >+ dependent_files[i] = NULL; >+ } >+ a.string = dependent_files; >+ >+ driver_path = driver_file_basename(r.driverpath); >+ config_file = driver_file_basename(r.configfile); >+ data_file = driver_file_basename(r.datafile); >+ help_file = driver_file_basename(r.helpfile); > > d3.architecture = r.environment; >- d3.config_file = r.configfile; >- d3.data_file = r.datafile; >+ d3.config_file = config_file; >+ d3.data_file = data_file; > d3.default_datatype = r.defaultdatatype; > d3.dependent_files = &a; >- d3.driver_path = r.driverpath; >- d3.help_file = r.helpfile; >+ d3.driver_path = driver_path; >+ d3.help_file = help_file; > d3.monitor_name = r.monitorname; > d3.driver_name = r.name; > d3.version = r.version; >diff --git a/source3/printing/nt_printing_migrate.h b/source3/printing/nt_printing_migrate.h >index 3da8db4..edfb8aa 100644 >--- a/source3/printing/nt_printing_migrate.h >+++ b/source3/printing/nt_printing_migrate.h >@@ -42,4 +42,6 @@ NTSTATUS printing_tdb_migrate_secdesc(TALLOC_CTX *mem_ctx, > unsigned char *data, > size_t length); > >+const char *driver_file_basename(const char *file); >+ > #endif /* _NT_PRINTING_MIGRATE_H_ */ >-- >1.7.3.4 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 8618
:
7120
|
7125
|
7126
|
7162
|
12540
|
12568
|
12569
|
12570