[SCM] Samba Shared Repository - branch master updated

Ralph Böhme slow at samba.org
Sat Oct 17 10:47:02 UTC 2020


The branch, master has been updated
       via  40a4dd28627 spoolss.idl: remove obviously bogous PROCESSOR_ARM 0 define
       via  38391ccc5d0 printing/spoolss: add ARM64 support
       via  62c514c29cb printing: move archi_table declarations into nt_printing.h
       via  ca1a301461d spoolss.idl: add spoolss architecture defines, that we require
       via  92123572360 spoolss.idl: add some missing processor defines
       via  9b6e2393f7f spoolss.idl: add some missing PROCESSOR_ARCHITECTURE defines
      from  570c425dba7 test: Get the clusteredmember environment out of its smb1 corner

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 40a4dd286278aa1eeb609adccfee4ae13ca1ca08
Author: Björn Jacke <bj at sernet.de>
Date:   Wed Oct 7 19:23:33 2020 +0200

    spoolss.idl: remove obviously bogous PROCESSOR_ARM 0 define
    
    Signed-off-by: Bjoern Jacke <bjacke at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Ralph Böhme <slow at samba.org>
    Autobuild-Date(master): Sat Oct 17 10:46:12 UTC 2020 on sn-devel-184

commit 38391ccc5d05c26b0d2d0df9aec20a5dff7fba16
Author: Björn Jacke <bj at sernet.de>
Date:   Wed Oct 7 18:00:25 2020 +0200

    printing/spoolss: add ARM64 support
    
    Signed-off-by: Bjoern Jacke <bjacke at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 62c514c29cb8472b77d795cde70938cfb0f91afa
Author: Björn Jacke <bj at sernet.de>
Date:   Wed Oct 7 17:54:19 2020 +0200

    printing: move archi_table declarations into nt_printing.h
    
    Signed-off-by: Bjoern Jacke <bjacke at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit ca1a301461d3075ee1903296d08a2668a9a2f75f
Author: Björn Jacke <bj at sernet.de>
Date:   Wed Oct 7 17:24:45 2020 +0200

    spoolss.idl: add spoolss architecture defines, that we require
    
    Signed-off-by: Bjoern Jacke <bjacke at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 9212357236010101d1bd54c6320d1bec6e5ad10f
Author: Björn Jacke <bj at sernet.de>
Date:   Wed Oct 7 16:07:24 2020 +0200

    spoolss.idl: add some missing processor defines
    
    information from wine's winnt.h
    
    Signed-off-by: Bjoern Jacke <bjacke at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 9b6e2393f7f8fbcdc38fe1889a06fbd487af5491
Author: Björn Jacke <bj at sernet.de>
Date:   Wed Oct 7 00:12:11 2020 +0200

    spoolss.idl: add some missing PROCESSOR_ARCHITECTURE defines
    
    information from wine's winnt.h and MSDN
    
    Signed-off-by: Bjoern Jacke <bjacke at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 librpc/idl/spoolss.idl                      | 40 ++++++++++++++++++++++++++---
 source3/include/nt_printing.h               | 18 +++++++++++++
 source3/printing/nt_printing.c              | 18 +++----------
 source3/rpc_server/spoolss/srv_spoolss_nt.c | 15 +++--------
 source3/rpcclient/cmd_spoolss.c             | 19 --------------
 source3/utils/net_rpc_printer.c             | 14 ----------
 6 files changed, 62 insertions(+), 62 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl
index 569fa02a829..9569af07bb8 100644
--- a/librpc/idl/spoolss.idl
+++ b/librpc/idl/spoolss.idl
@@ -35,18 +35,47 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor")
 
 	typedef enum {
 		PROCESSOR_ARCHITECTURE_INTEL		= 0x0000,
+		PROCESSOR_ARCHITECTURE_MIPS		= 0x0001,
+		PROCESSOR_ARCHITECTURE_ALPHA		= 0x0002,
+		PROCESSOR_ARCHITECTURE_PPC		= 0x0003,
+		PROCESSOR_ARCHITECTURE_SHX		= 0x0004,
 		PROCESSOR_ARCHITECTURE_ARM		= 0x0005,
 		PROCESSOR_ARCHITECTURE_IA64		= 0x0006,
-		PROCESSOR_ARCHITECTURE_AMD64		= 0x0009
+		PROCESSOR_ARCHITECTURE_ALPHA64		= 0x0007,
+		PROCESSOR_ARCHITECTURE_MSIL		= 0x0008,
+		PROCESSOR_ARCHITECTURE_AMD64		= 0x0009,
+		PROCESSOR_ARCHITECTURE_IA32_ON_WIN64	= 0x000A, /* 10 */
+		PROCESSOR_ARCHITECTURE_NEUTRAL		= 0x000B, /* 11 */
+		PROCESSOR_ARCHITECTURE_ARM64		= 0x000C, /* 12 */
+		PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64	= 0x000D, /* 13 */
+		PROCESSOR_ARCHITECTURE_IA32_ON_ARM64	= 0x000E, /* 14 */
+		PROCESSOR_ARCHITECTURE_UNKNOWN		= 0xFFFF
 	} spoolss_ProcessorArchitecture;
 
 	typedef [v1_enum] enum {
-		PROCESSOR_ARM				= 0x00000000,
 		PROCESSOR_INTEL_386			= 0x00000182, /* 386 */
 		PROCESSOR_INTEL_486			= 0x000001E6, /* 486 */
 		PROCESSOR_INTEL_PENTIUM			= 0x0000024A, /* 586 */
+		PROCESSOR_INTEL_860			= 0x0000035C, /* 860 */
 		PROCESSOR_INTEL_IA64			= 0x00000898, /* 2200 */
-		PROCESSOR_AMD_X8664			= 0x000021D8  /* 8664 */
+		PROCESSOR_AMD_X8664			= 0x000021D8, /* 8664 */
+		PROCESSOR_MIPS_R2000			= 0x000007D0, /* 2000 */
+		PROCESSOR_MIPS_R3000			= 0x00000BB8, /* 3000 */
+		PROCESSOR_ALPHA_21064			= 0x00005248, /* 21064 */
+		PROCESSOR_PPC_601			= 0x00000259, /* 601 */
+		PROCESSOR_PPC_603			= 0x0000025B, /* 603 */
+		PROCESSOR_PPC_604			= 0x0000025C, /* 604 */
+		PROCESSOR_PPC_620			= 0x0000026C, /* 620 */
+		PROCESSOR_HITACHI_SH3			= 0x00002713, /* 10003 */
+		PROCESSOR_HITACHI_SH3E			= 0x00002714, /* 10004 */
+		PROCESSOR_HITACHI_SH4			= 0x00002715, /* 10005 */
+		PROCESSOR_MOTOROLA_821			= 0x00000335, /* 821 */
+		PROCESSOR_STRONGARM			= 0x00000A11, /* 2577 */
+		PROCESSOR_ARM720			= 0x00000720, /* 1824 */
+		PROCESSOR_ARM820			= 0x00000820, /* 2080 */
+		PROCESSOR_ARM920			= 0x00000920, /* 2336 */
+		PROCESSOR_ARM_7TDMI			= 0x00011171, /* 70001 */
+		PROCESSOR_OPTIL				= 0x0000494F  /* 18767 */
 	} spoolss_ProcessorType;
 
 	typedef [v1_enum] enum {
@@ -1836,6 +1865,7 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor")
 	const string SPL_ARCH_IA64		= "IA64";
 	const string SPL_ARCH_X64		= "x64";
 	const string SPL_ARCH_ARM		= "ARM";
+	const string SPL_ARCH_ARM64		= "ARM64";
 
 	const string SPOOLSS_ARCHITECTURE_ALL			= "All";
 	const string SPOOLSS_ARCHITECTURE_ALL_CLUSTER		= "AllCluster";
@@ -1843,7 +1873,11 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor")
 	const string SPOOLSS_ARCHITECTURE_IA_64			= "Windows IA64";
 	const string SPOOLSS_ARCHITECTURE_x64			= "Windows x64";
 	const string SPOOLSS_ARCHITECTURE_4_0			= "Windows 4.0";
+	const string SPOOLSS_ARCHITECTURE_W32MIPS		= "Windows NT R4000";
+	const string SPOOLSS_ARCHITECTURE_W32PPC		= "Windows NT PowerPC";
+	const string SPOOLSS_ARCHITECTURE_W32ALPHA		= "Windows NT Alpha AXP";
 	const string SPOOLSS_ARCHITECTURE_ARM			= "Windows ARM";
+	const string SPOOLSS_ARCHITECTURE_ARM64			= "Windows ARM64";
 	const string SPOOLSS_DEFAULT_SERVER_PATH		= "C:\\WINDOWS\\system32\\spool";
 
 	typedef [public,gensize] struct {
diff --git a/source3/include/nt_printing.h b/source3/include/nt_printing.h
index f01ffe5b32f..bd94821a29c 100644
--- a/source3/include/nt_printing.h
+++ b/source3/include/nt_printing.h
@@ -191,4 +191,22 @@ void nt_printer_add(TALLOC_CTX *mem_ctx,
 		    struct messaging_context *msg_ctx,
 		    const char *printer);
 
+/* The version int is used by getdrivers.  Note that
+   all architecture strings that support mutliple
+   versions must be grouped together since enumdrivers
+   uses this property to prevent issuing multiple
+   enumdriver calls for the same arch */
+static const struct print_architecture_table_node archi_table[]= {
+	{SPOOLSS_ARCHITECTURE_4_0,	SPL_ARCH_WIN40,		0 },
+	{SPOOLSS_ARCHITECTURE_NT_X86,	SPL_ARCH_W32X86,	2 },
+	{SPOOLSS_ARCHITECTURE_NT_X86,	SPL_ARCH_W32X86,	3 },
+	{SPOOLSS_ARCHITECTURE_W32MIPS,	SPL_ARCH_W32MIPS,	2 },
+	{SPOOLSS_ARCHITECTURE_W32ALPHA,	SPL_ARCH_W32ALPHA,	2 },
+	{SPOOLSS_ARCHITECTURE_W32PPC,	SPL_ARCH_W32PPC,	2 },
+	{SPOOLSS_ARCHITECTURE_IA_64,	SPL_ARCH_IA64,		3 },
+	{SPOOLSS_ARCHITECTURE_x64,	SPL_ARCH_X64,		3 },
+	{SPOOLSS_ARCHITECTURE_ARM64,	SPL_ARCH_ARM64,		3 },
+	{NULL,                   "",		-1 }
+};
+
 #endif /* NT_PRINTING_H_ */
diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c
index 2296b92b8b0..2e9205ec1b4 100644
--- a/source3/printing/nt_printing.c
+++ b/source3/printing/nt_printing.c
@@ -63,18 +63,6 @@ const struct generic_mapping job_generic_mapping = {
 	JOB_ALL_ACCESS
 };
 
-static const struct print_architecture_table_node archi_table[]= {
-
-	{"Windows 4.0",          SPL_ARCH_WIN40,	0 },
-	{"Windows NT x86",       SPL_ARCH_W32X86,	2 },
-	{"Windows NT R4000",     SPL_ARCH_W32MIPS,	2 },
-	{"Windows NT Alpha_AXP", SPL_ARCH_W32ALPHA,	2 },
-	{"Windows NT PowerPC",   SPL_ARCH_W32PPC,	2 },
-	{"Windows IA64",   	 SPL_ARCH_IA64,		3 },
-	{"Windows x64",   	 SPL_ARCH_X64,		3 },
-	{NULL,                   "",		-1 }
-};
-
 static bool print_driver_directories_init(void)
 {
 	int service, i;
@@ -87,6 +75,7 @@ static bool print_driver_directories_init(void)
 	const char *dir_list[] = {
 		"W32X86/PCC",
 		"x64/PCC",
+		"ARM64",
 		"color"
 	};
 
@@ -1013,8 +1002,9 @@ static uint32_t get_correct_cversion(const struct auth_session_info *session_inf
 	}
 
 	/* If architecture is Windows x64, the version is always 3. */
-	if (strcmp(architecture, SPL_ARCH_X64) == 0) {
-		DEBUG(10,("get_correct_cversion: Driver is x64, cversion = 3\n"));
+	if (strcmp(architecture, SPL_ARCH_X64) == 0 ||
+		strcmp(architecture, SPL_ARCH_ARM64) == 0) {
+		DBG_DEBUG("get_correct_cversion: this architecture must be, cversion = 3\n");
 		*perr = WERR_OK;
 		TALLOC_FREE(frame);
 		return 3;
diff --git a/source3/rpc_server/spoolss/srv_spoolss_nt.c b/source3/rpc_server/spoolss/srv_spoolss_nt.c
index 0f2cfd7d690..f814ad96bf4 100644
--- a/source3/rpc_server/spoolss/srv_spoolss_nt.c
+++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c
@@ -2003,18 +2003,6 @@ WERROR _spoolss_DeletePrinter(struct pipes_struct *p,
  * long architecture string
  ******************************************************************/
 
-static const struct print_architecture_table_node archi_table[]= {
-
-	{"Windows 4.0",          SPL_ARCH_WIN40,	0 },
-	{"Windows NT x86",       SPL_ARCH_W32X86,	2 },
-	{"Windows NT R4000",     SPL_ARCH_W32MIPS,	2 },
-	{"Windows NT Alpha_AXP", SPL_ARCH_W32ALPHA,	2 },
-	{"Windows NT PowerPC",   SPL_ARCH_W32PPC,	2 },
-	{"Windows IA64",   	 SPL_ARCH_IA64,		3 },
-	{"Windows x64",   	 SPL_ARCH_X64,		3 },
-	{NULL,                   "",		-1 }
-};
-
 static const int drv_cversion[] = {SPOOLSS_DRIVER_VERSION_9X,
 				   SPOOLSS_DRIVER_VERSION_NT35,
 				   SPOOLSS_DRIVER_VERSION_NT4,
@@ -3951,6 +3939,9 @@ static WERROR construct_printer_info0(TALLOC_CTX *mem_ctx,
 	if (strequal(architecture, SPOOLSS_ARCHITECTURE_x64)) {
 		processor_architecture	= PROCESSOR_ARCHITECTURE_AMD64;
 		processor_type 		= PROCESSOR_AMD_X8664;
+	} else if (strequal(architecture, SPOOLSS_ARCHITECTURE_ARM64)) {
+		processor_architecture	= PROCESSOR_ARCHITECTURE_ARM64;
+		processor_type 		= PROCESSOR_ARM820;
 	} else {
 		processor_architecture	= PROCESSOR_ARCHITECTURE_INTEL;
 		processor_type 		= PROCESSOR_INTEL_PENTIUM;
diff --git a/source3/rpcclient/cmd_spoolss.c b/source3/rpcclient/cmd_spoolss.c
index 3b7abc665bd..1706cec4ddb 100644
--- a/source3/rpcclient/cmd_spoolss.c
+++ b/source3/rpcclient/cmd_spoolss.c
@@ -44,25 +44,6 @@
 	W_ERROR_HAVE_NO_MEMORY(_printername); \
 }
 
-/* The version int is used by getdrivers.  Note that
-   all architecture strings that support mutliple
-   versions must be grouped together since enumdrivers
-   uses this property to prevent issuing multiple
-   enumdriver calls for the same arch */
-
-
-static const struct print_architecture_table_node archi_table[]= {
-
-	{"Windows 4.0",          "WIN40",	0 },
-	{"Windows NT x86",       "W32X86",	2 },
-	{"Windows NT x86",       "W32X86",	3 },
-	{"Windows NT R4000",     "W32MIPS",	2 },
-	{"Windows NT Alpha_AXP", "W32ALPHA",	2 },
-	{"Windows NT PowerPC",   "W32PPC",	2 },
-	{"Windows IA64",         "IA64",        3 },
-	{"Windows x64",          "x64",         3 },
-	{NULL,                   "",		-1 }
-};
 
 /**
  * @file
diff --git a/source3/utils/net_rpc_printer.c b/source3/utils/net_rpc_printer.c
index 691ea821b5d..9b17395c16f 100644
--- a/source3/utils/net_rpc_printer.c
+++ b/source3/utils/net_rpc_printer.c
@@ -34,20 +34,6 @@
 #include "auth/credentials/credentials.h"
 #include "lib/util/string_wrappers.h"
 
-/* support itanium as well */
-static const struct print_architecture_table_node archi_table[]= {
-
-	{"Windows 4.0",          "WIN40",	0 },
-	{"Windows NT x86",       "W32X86",	2 },
-	{"Windows NT x86",       "W32X86",	3 },
-	{"Windows NT R4000",     "W32MIPS",	2 },
-	{"Windows NT Alpha_AXP", "W32ALPHA",	2 },
-	{"Windows NT PowerPC",   "W32PPC",	2 },
-	{"Windows IA64",         "IA64",	3 },
-	{"Windows x64",          "x64",		3 },
-	{NULL,                   "",		-1 }
-};
-
 
 /**
  * This display-printdriver-functions was borrowed from rpcclient/cmd_spoolss.c.


-- 
Samba Shared Repository



More information about the samba-cvs mailing list