1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00

s3-spoolss: globally set print server environment/architecture.

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
This commit is contained in:
Günther Deschner 2016-11-21 12:46:02 +01:00 committed by Stefan Metzmacher
parent 92fc6a6c25
commit b9199945e7

View File

@ -80,6 +80,7 @@
#define GLOBAL_SPOOLSS_OS_MAJOR_DEFAULT 5
#define GLOBAL_SPOOLSS_OS_MINOR_DEFAULT 2
#define GLOBAL_SPOOLSS_OS_BUILD_DEFAULT 3790
#define GLOBAL_SPOOLSS_ARCHITECTURE SPOOLSS_ARCHITECTURE_x64
static struct printer_handle *printers_list;
@ -2354,7 +2355,7 @@ static WERROR getprinterdata_printer_server(TALLOC_CTX *mem_ctx,
if (!strcasecmp_m(value, "Architecture")) {
*type = REG_SZ;
data->string = talloc_strdup(mem_ctx,
lp_parm_const_string(GLOBAL_SECTION_SNUM, "spoolss", "architecture", SPOOLSS_ARCHITECTURE_x64));
lp_parm_const_string(GLOBAL_SECTION_SNUM, "spoolss", "architecture", GLOBAL_SPOOLSS_ARCHITECTURE));
W_ERROR_HAVE_NO_MEMORY(data->string);
return WERR_OK;
@ -3837,6 +3838,8 @@ static WERROR construct_printer_info0(TALLOC_CTX *mem_ctx,
print_status_struct status;
WERROR result;
int os_major, os_minor, os_build;
const char *architecture;
uint32_t processor_architecture, processor_type;
result = create_printername(mem_ctx, servername, info2->printername, &r->printername);
if (!W_ERROR_IS_OK(result)) {
@ -3899,6 +3902,19 @@ static WERROR construct_printer_info0(TALLOC_CTX *mem_ctx,
SCVAL(&r->version, 1, os_minor);
SSVAL(&r->version, 2, os_build);
architecture = lp_parm_const_string(GLOBAL_SECTION_SNUM,
"spoolss",
"architecture",
GLOBAL_SPOOLSS_ARCHITECTURE);
if (strequal(architecture, SPOOLSS_ARCHITECTURE_x64)) {
processor_architecture = PROCESSOR_ARCHITECTURE_AMD64;
processor_type = PROCESSOR_AMD_X8664;
} else {
processor_architecture = PROCESSOR_ARCHITECTURE_INTEL;
processor_type = PROCESSOR_INTEL_PENTIUM;
}
r->free_build = SPOOLSS_RELEASE_BUILD;
r->spooling = 0;
r->max_spooling = 0;
@ -3907,7 +3923,7 @@ static WERROR construct_printer_info0(TALLOC_CTX *mem_ctx,
r->num_error_not_ready = 0x0; /* number of print failure */
r->job_error = 0x0;
r->number_of_processors = 0x1;
r->processor_type = PROCESSOR_AMD_X8664;
r->processor_type = processor_type;
r->high_part_total_bytes = 0x0;
/* ChangeID in milliseconds*/
@ -3918,7 +3934,7 @@ static WERROR construct_printer_info0(TALLOC_CTX *mem_ctx,
r->status = nt_printq_status(status.status);
r->enumerate_network_printers = 0x0;
r->c_setprinter = 0x0;
r->processor_architecture = PROCESSOR_ARCHITECTURE_AMD64;
r->processor_architecture = processor_architecture;
r->processor_level = 0x6; /* 6 ???*/
r->ref_ic = 0;
r->reserved2 = 0;
@ -8662,7 +8678,7 @@ static WERROR compose_spoolss_server_path(TALLOC_CTX *mem_ctx,
} else {
long_archi = lp_parm_const_string(GLOBAL_SECTION_SNUM,
"spoolss", "architecture",
SPOOLSS_ARCHITECTURE_x64);
GLOBAL_SPOOLSS_ARCHITECTURE);
}
/* servername may be empty */
@ -9502,7 +9518,7 @@ static WERROR enumprintmonitors_level_2(TALLOC_CTX *mem_ctx,
architecture = lp_parm_const_string(GLOBAL_SECTION_SNUM,
"spoolss",
"architecture",
SPOOLSS_ARCHITECTURE_x64);
GLOBAL_SPOOLSS_ARCHITECTURE);
result = fill_monitor_2(info, &info[0].info2,
SPL_LOCAL_PORT,