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 <[email protected]>
Date:   Wed Oct 7 19:23:33 2020 +0200

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

commit 38391ccc5d05c26b0d2d0df9aec20a5dff7fba16
Author: Björn Jacke <[email protected]>
Date:   Wed Oct 7 18:00:25 2020 +0200

    printing/spoolss: add ARM64 support
    
    Signed-off-by: Bjoern Jacke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 62c514c29cb8472b77d795cde70938cfb0f91afa
Author: Björn Jacke <[email protected]>
Date:   Wed Oct 7 17:54:19 2020 +0200

    printing: move archi_table declarations into nt_printing.h
    
    Signed-off-by: Bjoern Jacke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit ca1a301461d3075ee1903296d08a2668a9a2f75f
Author: Björn Jacke <[email protected]>
Date:   Wed Oct 7 17:24:45 2020 +0200

    spoolss.idl: add spoolss architecture defines, that we require
    
    Signed-off-by: Bjoern Jacke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 9212357236010101d1bd54c6320d1bec6e5ad10f
Author: Björn Jacke <[email protected]>
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 <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 9b6e2393f7f8fbcdc38fe1889a06fbd487af5491
Author: Björn Jacke <[email protected]>
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 <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

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

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

Reply via email to