s3: Do not directly reference the ndr_table_* in rpcclient
authorVolker Lendecke <vl@samba.org>
Sun, 1 Nov 2009 19:21:52 +0000 (20:21 +0100)
committerVolker Lendecke <vl@samba.org>
Sat, 7 Nov 2009 23:28:36 +0000 (00:28 +0100)
19 files changed:
source3/include/proto.h
source3/rpc_client/cli_pipe.c
source3/rpcclient/cmd_dfs.c
source3/rpcclient/cmd_drsuapi.c
source3/rpcclient/cmd_dssetup.c
source3/rpcclient/cmd_echo.c
source3/rpcclient/cmd_epmapper.c
source3/rpcclient/cmd_eventlog.c
source3/rpcclient/cmd_lsarpc.c
source3/rpcclient/cmd_netlogon.c
source3/rpcclient/cmd_ntsvcs.c
source3/rpcclient/cmd_samr.c
source3/rpcclient/cmd_shutdown.c
source3/rpcclient/cmd_spoolss.c
source3/rpcclient/cmd_srvsvc.c
source3/rpcclient/cmd_test.c
source3/rpcclient/cmd_wkssvc.c
source3/rpcclient/rpcclient.c
source3/rpcclient/rpcclient.h

index e57ffdd5710ad60b48ea6378739b89d84eb306cb..2364360d4f5d3f2888e6bc7cde4b2d03f7471be1 100644 (file)
@@ -5706,6 +5706,8 @@ bool prs_data_blob(prs_struct *prs, DATA_BLOB *blob, TALLOC_CTX *mem_ctx);
 bool smb_register_ndr_interface(const struct ndr_interface_table *interface);
 const struct ndr_interface_table *get_iface_from_syntax(
         const struct ndr_syntax_id *syntax);
+bool ndr_syntax_from_string(const char *s, uint32_t version,
+                            struct ndr_syntax_id *syntax);
 const char *get_pipe_name_from_syntax(TALLOC_CTX *mem_ctx,
                                      const struct ndr_syntax_id *syntax);
 void init_rpc_hdr(RPC_HDR *hdr, enum dcerpc_pkt_type pkt_type, uint8 flags,
index 9ff84f8b6d1e49f5e25b3339189f3d1ed385a939..bd7bf325c4c3c79b556041dda81388ce63a06267 100644 (file)
@@ -195,6 +195,20 @@ const char *get_pipe_name_from_syntax(TALLOC_CTX *mem_ctx,
        return result;
 }
 
+bool ndr_syntax_from_string(const char *s, uint32_t version,
+                           struct ndr_syntax_id *syntax)
+{
+       NTSTATUS status;
+       status = GUID_from_string(s, &syntax->uuid);
+       if (!NT_STATUS_IS_OK(status)) {
+               DEBUG(10, ("GUID_from_string returned %s\n",
+                          nt_errstr(status)));
+               return false;
+       }
+       syntax->if_version = version;
+       return true;
+}
+
 /********************************************************************
  Map internal value to wire value.
  ********************************************************************/
index d55261bea31d2c8bf81f6b83b8b003baa6aeb3b9..8fdc77215ecf9f425bcf876e90cc28cadb36beea 100644 (file)
@@ -318,12 +318,24 @@ struct cmd_set dfs_commands[] = {
 
        { "DFS" },
 
-       { "dfsversion", RPC_RTYPE_WERROR, NULL, cmd_dfs_version, &ndr_table_netdfs.syntax_id, NULL, "Query DFS support",    "" },
-       { "dfsadd",     RPC_RTYPE_WERROR, NULL, cmd_dfs_add,     &ndr_table_netdfs.syntax_id, NULL, "Add a DFS share",      "" },
-       { "dfsremove",  RPC_RTYPE_WERROR, NULL, cmd_dfs_remove,  &ndr_table_netdfs.syntax_id, NULL, "Remove a DFS share",   "" },
-       { "dfsgetinfo", RPC_RTYPE_WERROR, NULL, cmd_dfs_getinfo, &ndr_table_netdfs.syntax_id, NULL, "Query DFS share info", "" },
-       { "dfsenum",    RPC_RTYPE_WERROR, NULL, cmd_dfs_enum,    &ndr_table_netdfs.syntax_id, NULL, "Enumerate dfs shares", "" },
-       { "dfsenumex",  RPC_RTYPE_WERROR, NULL, cmd_dfs_enumex,  &ndr_table_netdfs.syntax_id, NULL, "Enumerate dfs shares", "" },
+       { "dfsversion", RPC_RTYPE_WERROR, NULL, cmd_dfs_version,
+         NDR_NETDFS_UUID, NDR_NETDFS_VERSION, NULL,
+         "Query DFS support",    "" },
+       { "dfsadd",     RPC_RTYPE_WERROR, NULL, cmd_dfs_add,
+         NDR_NETDFS_UUID, NDR_NETDFS_VERSION, NULL,
+         "Add a DFS share",      "" },
+       { "dfsremove",  RPC_RTYPE_WERROR, NULL, cmd_dfs_remove,
+         NDR_NETDFS_UUID, NDR_NETDFS_VERSION, NULL,
+         "Remove a DFS share",   "" },
+       { "dfsgetinfo", RPC_RTYPE_WERROR, NULL, cmd_dfs_getinfo,
+         NDR_NETDFS_UUID, NDR_NETDFS_VERSION, NULL,
+         "Query DFS share info", "" },
+       { "dfsenum",    RPC_RTYPE_WERROR, NULL, cmd_dfs_enum,
+         NDR_NETDFS_UUID, NDR_NETDFS_VERSION, NULL,
+         "Enumerate dfs shares", "" },
+       { "dfsenumex",  RPC_RTYPE_WERROR, NULL, cmd_dfs_enumex,
+         NDR_NETDFS_UUID, NDR_NETDFS_VERSION, NULL,
+         "Enumerate dfs shares", "" },
 
        { NULL }
 };
index 8fbd798ed0de31c3ddee9ccaaba09c263e2abb79..b760ce3c4deafac2042d0c14f369e6669d4d6a16 100644 (file)
@@ -566,8 +566,14 @@ static WERROR cmd_drsuapi_getncchanges(struct rpc_pipe_client *cli,
 struct cmd_set drsuapi_commands[] = {
 
        { "DRSUAPI" },
-       { "dscracknames", RPC_RTYPE_WERROR, NULL, cmd_drsuapi_cracknames, &ndr_table_drsuapi.syntax_id, NULL, "Crack Name", "" },
-       { "dsgetdcinfo", RPC_RTYPE_WERROR, NULL, cmd_drsuapi_getdcinfo, &ndr_table_drsuapi.syntax_id, NULL, "Get Domain Controller Info", "" },
-       { "dsgetncchanges", RPC_RTYPE_WERROR, NULL, cmd_drsuapi_getncchanges, &ndr_table_drsuapi.syntax_id, NULL, "Get NC Changes", "" },
+       { "dscracknames", RPC_RTYPE_WERROR, NULL, cmd_drsuapi_cracknames,
+         NDR_DRSUAPI_UUID, NDR_DRSUAPI_VERSION, NULL,
+         "Crack Name", "" },
+       { "dsgetdcinfo", RPC_RTYPE_WERROR, NULL, cmd_drsuapi_getdcinfo,
+         NDR_DRSUAPI_UUID, NDR_DRSUAPI_VERSION, NULL,
+         "Get Domain Controller Info", "" },
+       { "dsgetncchanges", RPC_RTYPE_WERROR, NULL, cmd_drsuapi_getncchanges,
+         NDR_DRSUAPI_UUID, NDR_DRSUAPI_VERSION, NULL,
+         "Get NC Changes", "" },
        { NULL }
 };
index f2fd1249676650f89a300f24dd9eee873a17f91a..c8332e6311f3eb01dc4d4a48df984122e58142e0 100644 (file)
@@ -63,7 +63,10 @@ struct cmd_set ds_commands[] = {
 
        { "LSARPC-DS" },
 
-       { "dsroledominfo",   RPC_RTYPE_WERROR, NULL, cmd_ds_dsrole_getprimarydominfo, &ndr_table_dssetup.syntax_id, NULL, "Get Primary Domain Information", "" },
+       { "dsroledominfo",   RPC_RTYPE_WERROR, NULL,
+         cmd_ds_dsrole_getprimarydominfo,
+         NDR_DSSETUP_UUID, NDR_DSSETUP_VERSION, NULL,
+         "Get Primary Domain Information", "" },
 
 { NULL }
 };
index d90ef3499f739893f0d8a38e95cbbb2d72cd0f55..846b2d6a86715a45e27dde9593f6e7cd866fdfa3 100644 (file)
@@ -176,9 +176,17 @@ struct cmd_set echo_commands[] = {
 
        { "ECHO" },
 
-       { "echoaddone", RPC_RTYPE_NTSTATUS, cmd_echo_add_one,     NULL, &ndr_table_rpcecho.syntax_id, NULL, "Add one to a number", "" },
-       { "echodata",   RPC_RTYPE_NTSTATUS, cmd_echo_data,        NULL, &ndr_table_rpcecho.syntax_id, NULL, "Echo data",           "" },
-       { "sinkdata",   RPC_RTYPE_NTSTATUS, cmd_echo_sink_data,   NULL, &ndr_table_rpcecho.syntax_id, NULL, "Sink data",           "" },
-       { "sourcedata", RPC_RTYPE_NTSTATUS, cmd_echo_source_data, NULL, &ndr_table_rpcecho.syntax_id, NULL, "Source data",         "" },
+       { "echoaddone", RPC_RTYPE_NTSTATUS, cmd_echo_add_one,     NULL,
+         NDR_RPCECHO_UUID, NDR_RPCECHO_VERSION, NULL,
+         "Add one to a number", "" },
+       { "echodata",   RPC_RTYPE_NTSTATUS, cmd_echo_data,        NULL,
+         NDR_RPCECHO_UUID, NDR_RPCECHO_VERSION, NULL,
+         "Echo data",           "" },
+       { "sinkdata",   RPC_RTYPE_NTSTATUS, cmd_echo_sink_data,   NULL,
+         NDR_RPCECHO_UUID, NDR_RPCECHO_VERSION, NULL,
+         "Sink data",           "" },
+       { "sourcedata", RPC_RTYPE_NTSTATUS, cmd_echo_source_data, NULL,
+         NDR_RPCECHO_UUID, NDR_RPCECHO_VERSION, NULL,
+         "Source data",         "" },
        { NULL }
 };
index cb334165f26d3fe492ca9a51a9271222cafc1da7..89462d7a52e52020eb23e45dc7b93de5ad165177 100644 (file)
@@ -126,8 +126,10 @@ struct cmd_set epmapper_commands[] = {
        { "EPMAPPER" },
 
        { "epmmap", RPC_RTYPE_NTSTATUS, cmd_epmapper_map,     NULL,
-         &ndr_table_epmapper.syntax_id, NULL, "Map a binding", "" },
+         NDR_EPMAPPER_UUID, NDR_EPMAPPER_VERSION, NULL,
+         "Map a binding", "" },
        { "epmlookup", RPC_RTYPE_NTSTATUS, cmd_epmapper_lookup,     NULL,
-         &ndr_table_epmapper.syntax_id, NULL, "Lookup bindings", "" },
+         NDR_EPMAPPER_UUID, NDR_EPMAPPER_VERSION, NULL,
+         "Lookup bindings", "" },
        { NULL }
 };
index d839bf426329271344fe289aa6ce28f280cf7cef..94e5bfd1f845c5604f08c984427c79b6acabfc1b 100644 (file)
@@ -491,13 +491,37 @@ static NTSTATUS cmd_eventlog_loginfo(struct rpc_pipe_client *cli,
 
 struct cmd_set eventlog_commands[] = {
        { "EVENTLOG" },
-       { "eventlog_readlog",           RPC_RTYPE_NTSTATUS,     cmd_eventlog_readlog,           NULL,   &ndr_table_eventlog.syntax_id,  NULL,   "Read Eventlog", "" },
-       { "eventlog_numrecord",         RPC_RTYPE_NTSTATUS,     cmd_eventlog_numrecords,        NULL,   &ndr_table_eventlog.syntax_id,  NULL,   "Get number of records", "" },
-       { "eventlog_oldestrecord",      RPC_RTYPE_NTSTATUS,     cmd_eventlog_oldestrecord,      NULL,   &ndr_table_eventlog.syntax_id,  NULL,   "Get oldest record", "" },
-       { "eventlog_reportevent",       RPC_RTYPE_NTSTATUS,     cmd_eventlog_reportevent,       NULL,   &ndr_table_eventlog.syntax_id,  NULL,   "Report event", "" },
-       { "eventlog_reporteventsource", RPC_RTYPE_NTSTATUS,     cmd_eventlog_reporteventsource, NULL,   &ndr_table_eventlog.syntax_id,  NULL,   "Report event and source", "" },
-       { "eventlog_registerevsource",  RPC_RTYPE_NTSTATUS,     cmd_eventlog_registerevsource,  NULL,   &ndr_table_eventlog.syntax_id,  NULL,   "Register event source", "" },
-       { "eventlog_backuplog",         RPC_RTYPE_NTSTATUS,     cmd_eventlog_backuplog,         NULL,   &ndr_table_eventlog.syntax_id,  NULL,   "Backup Eventlog File", "" },
-       { "eventlog_loginfo",           RPC_RTYPE_NTSTATUS,     cmd_eventlog_loginfo,           NULL,   &ndr_table_eventlog.syntax_id,  NULL,   "Get Eventlog Information", "" },
+       { "eventlog_readlog",           RPC_RTYPE_NTSTATUS,
+         cmd_eventlog_readlog,         NULL,
+         NDR_EVENTLOG_UUID, NDR_EVENTLOG_VERSION,      NULL,
+         "Read Eventlog", "" },
+       { "eventlog_numrecord",         RPC_RTYPE_NTSTATUS,
+         cmd_eventlog_numrecords,      NULL,
+         NDR_EVENTLOG_UUID, NDR_EVENTLOG_VERSION,      NULL,
+         "Get number of records", "" },
+       { "eventlog_oldestrecord",      RPC_RTYPE_NTSTATUS,
+         cmd_eventlog_oldestrecord,    NULL,
+         NDR_EVENTLOG_UUID, NDR_EVENTLOG_VERSION,      NULL,
+         "Get oldest record", "" },
+       { "eventlog_reportevent",       RPC_RTYPE_NTSTATUS,
+         cmd_eventlog_reportevent,     NULL,
+         NDR_EVENTLOG_UUID, NDR_EVENTLOG_VERSION,      NULL,
+         "Report event", "" },
+       { "eventlog_reporteventsource", RPC_RTYPE_NTSTATUS,
+         cmd_eventlog_reporteventsource,       NULL,
+         NDR_EVENTLOG_UUID, NDR_EVENTLOG_VERSION,      NULL,
+         "Report event and source", "" },
+       { "eventlog_registerevsource",  RPC_RTYPE_NTSTATUS,
+         cmd_eventlog_registerevsource,        NULL,
+         NDR_EVENTLOG_UUID, NDR_EVENTLOG_VERSION,      NULL,
+         "Register event source", "" },
+       { "eventlog_backuplog",         RPC_RTYPE_NTSTATUS,
+         cmd_eventlog_backuplog,               NULL,
+         NDR_EVENTLOG_UUID, NDR_EVENTLOG_VERSION,      NULL,
+         "Backup Eventlog File", "" },
+       { "eventlog_loginfo",           RPC_RTYPE_NTSTATUS,
+         cmd_eventlog_loginfo,         NULL,
+         NDR_EVENTLOG_UUID, NDR_EVENTLOG_VERSION,      NULL,
+         "Get Eventlog Information", "" },
        { NULL }
 };
index 45868bf5a90de68813b6a9581da30f7537a9a6a2..d86015d00c855e590005bd4b93813dc1119b268b 100644 (file)
@@ -1975,38 +1975,98 @@ struct cmd_set lsarpc_commands[] = {
 
        { "LSARPC" },
 
-       { "lsaquery",            RPC_RTYPE_NTSTATUS, cmd_lsa_query_info_policy,  NULL, &ndr_table_lsarpc.syntax_id, NULL, "Query info policy",                    "" },
-       { "lookupsids",          RPC_RTYPE_NTSTATUS, cmd_lsa_lookup_sids,        NULL, &ndr_table_lsarpc.syntax_id, NULL, "Convert SIDs to names",                "" },
-       { "lookupsids3",         RPC_RTYPE_NTSTATUS, cmd_lsa_lookup_sids3,       NULL, &ndr_table_lsarpc.syntax_id, NULL, "Convert SIDs to names",                "" },
-       { "lookupnames",         RPC_RTYPE_NTSTATUS, cmd_lsa_lookup_names,       NULL, &ndr_table_lsarpc.syntax_id, NULL, "Convert names to SIDs",                "" },
-       { "lookupnames4",        RPC_RTYPE_NTSTATUS, cmd_lsa_lookup_names4,      NULL, &ndr_table_lsarpc.syntax_id, NULL, "Convert names to SIDs",                "" },
-       { "lookupnames_level",   RPC_RTYPE_NTSTATUS, cmd_lsa_lookup_names_level, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Convert names to SIDs",                "" },
-       { "enumtrust",           RPC_RTYPE_NTSTATUS, cmd_lsa_enum_trust_dom,     NULL, &ndr_table_lsarpc.syntax_id, NULL, "Enumerate trusted domains",            "Usage: [preferred max number] [enum context (0)]" },
-       { "enumprivs",           RPC_RTYPE_NTSTATUS, cmd_lsa_enum_privilege,     NULL, &ndr_table_lsarpc.syntax_id, NULL, "Enumerate privileges",                 "" },
-       { "getdispname",         RPC_RTYPE_NTSTATUS, cmd_lsa_get_dispname,       NULL, &ndr_table_lsarpc.syntax_id, NULL, "Get the privilege name",               "" },
-       { "lsaenumsid",          RPC_RTYPE_NTSTATUS, cmd_lsa_enum_sids,          NULL, &ndr_table_lsarpc.syntax_id, NULL, "Enumerate the LSA SIDS",               "" },
-       { "lsacreateaccount",    RPC_RTYPE_NTSTATUS, cmd_lsa_create_account,     NULL, &ndr_table_lsarpc.syntax_id, NULL, "Create a new lsa account",   "" },
-       { "lsaenumprivsaccount", RPC_RTYPE_NTSTATUS, cmd_lsa_enum_privsaccounts, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Enumerate the privileges of an SID",   "" },
-       { "lsaenumacctrights",   RPC_RTYPE_NTSTATUS, cmd_lsa_enum_acct_rights,   NULL, &ndr_table_lsarpc.syntax_id, NULL, "Enumerate the rights of an SID",   "" },
-       { "lsaaddpriv",          RPC_RTYPE_NTSTATUS, cmd_lsa_add_priv,           NULL, &ndr_table_lsarpc.syntax_id, NULL, "Assign a privilege to a SID", "" },
-       { "lsadelpriv",          RPC_RTYPE_NTSTATUS, cmd_lsa_del_priv,           NULL, &ndr_table_lsarpc.syntax_id, NULL, "Revoke a privilege from a SID", "" },
-       { "lsaaddacctrights",    RPC_RTYPE_NTSTATUS, cmd_lsa_add_acct_rights,    NULL, &ndr_table_lsarpc.syntax_id, NULL, "Add rights to an account",   "" },
-       { "lsaremoveacctrights", RPC_RTYPE_NTSTATUS, cmd_lsa_remove_acct_rights, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Remove rights from an account",   "" },
-       { "lsalookupprivvalue",  RPC_RTYPE_NTSTATUS, cmd_lsa_lookup_priv_value,  NULL, &ndr_table_lsarpc.syntax_id, NULL, "Get a privilege value given its name", "" },
-       { "lsaquerysecobj",      RPC_RTYPE_NTSTATUS, cmd_lsa_query_secobj,       NULL, &ndr_table_lsarpc.syntax_id, NULL, "Query LSA security object", "" },
-       { "lsaquerytrustdominfo",RPC_RTYPE_NTSTATUS, cmd_lsa_query_trustdominfo, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Query LSA trusted domains info (given a SID)", "" },
-       { "lsaquerytrustdominfobyname",RPC_RTYPE_NTSTATUS, cmd_lsa_query_trustdominfobyname, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Query LSA trusted domains info (given a name), only works for Windows > 2k", "" },
-       { "lsaquerytrustdominfobysid",RPC_RTYPE_NTSTATUS, cmd_lsa_query_trustdominfobysid, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Query LSA trusted domains info (given a SID)", "" },
-       { "getusername",          RPC_RTYPE_NTSTATUS, cmd_lsa_get_username, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Get username", "" },
-       { "createsecret",         RPC_RTYPE_NTSTATUS, cmd_lsa_create_secret, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Create Secret", "" },
-       { "deletesecret",         RPC_RTYPE_NTSTATUS, cmd_lsa_delete_secret, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Delete Secret", "" },
-       { "querysecret",          RPC_RTYPE_NTSTATUS, cmd_lsa_query_secret, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Query Secret", "" },
-       { "setsecret",            RPC_RTYPE_NTSTATUS, cmd_lsa_set_secret, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Set Secret", "" },
-       { "retrieveprivatedata",  RPC_RTYPE_NTSTATUS, cmd_lsa_retrieve_private_data, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Retrieve Private Data", "" },
-       { "storeprivatedata",     RPC_RTYPE_NTSTATUS, cmd_lsa_store_private_data, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Store Private Data", "" },
-       { "createtrustdom",       RPC_RTYPE_NTSTATUS, cmd_lsa_create_trusted_domain, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Create Trusted Domain", "" },
-       { "deletetrustdom",       RPC_RTYPE_NTSTATUS, cmd_lsa_delete_trusted_domain, NULL, &ndr_table_lsarpc.syntax_id, NULL, "Delete Trusted Domain", "" },
-
+       { "lsaquery",            RPC_RTYPE_NTSTATUS, cmd_lsa_query_info_policy,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Query info policy",                    "" },
+       { "lookupsids",          RPC_RTYPE_NTSTATUS, cmd_lsa_lookup_sids,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Convert SIDs to names",                "" },
+       { "lookupsids3",         RPC_RTYPE_NTSTATUS, cmd_lsa_lookup_sids3,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Convert SIDs to names",                "" },
+       { "lookupnames",         RPC_RTYPE_NTSTATUS, cmd_lsa_lookup_names,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Convert names to SIDs",                "" },
+       { "lookupnames4",        RPC_RTYPE_NTSTATUS, cmd_lsa_lookup_names4,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Convert names to SIDs",                "" },
+       { "lookupnames_level",   RPC_RTYPE_NTSTATUS, cmd_lsa_lookup_names_level,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Convert names to SIDs",                "" },
+       { "enumtrust",           RPC_RTYPE_NTSTATUS, cmd_lsa_enum_trust_dom,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Enumerate trusted domains",            "Usage: [preferred max number] [enum context (0)]" },
+       { "enumprivs",           RPC_RTYPE_NTSTATUS, cmd_lsa_enum_privilege,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Enumerate privileges",                 "" },
+       { "getdispname",         RPC_RTYPE_NTSTATUS, cmd_lsa_get_dispname,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Get the privilege name",               "" },
+       { "lsaenumsid",          RPC_RTYPE_NTSTATUS, cmd_lsa_enum_sids,
+          NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Enumerate the LSA SIDS",               "" },
+       { "lsacreateaccount",    RPC_RTYPE_NTSTATUS, cmd_lsa_create_account,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Create a new lsa account",   "" },
+       { "lsaenumprivsaccount", RPC_RTYPE_NTSTATUS, cmd_lsa_enum_privsaccounts,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Enumerate the privileges of an SID",   "" },
+       { "lsaenumacctrights",   RPC_RTYPE_NTSTATUS, cmd_lsa_enum_acct_rights,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Enumerate the rights of an SID",   "" },
+       { "lsaaddpriv",          RPC_RTYPE_NTSTATUS, cmd_lsa_add_priv,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Assign a privilege to a SID", "" },
+       { "lsadelpriv",          RPC_RTYPE_NTSTATUS, cmd_lsa_del_priv,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Revoke a privilege from a SID", "" },
+       { "lsaaddacctrights",    RPC_RTYPE_NTSTATUS, cmd_lsa_add_acct_rights,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Add rights to an account",   "" },
+       { "lsaremoveacctrights", RPC_RTYPE_NTSTATUS, cmd_lsa_remove_acct_rights,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Remove rights from an account",   "" },
+       { "lsalookupprivvalue",  RPC_RTYPE_NTSTATUS, cmd_lsa_lookup_priv_value,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Get a privilege value given its name", "" },
+       { "lsaquerysecobj",      RPC_RTYPE_NTSTATUS, cmd_lsa_query_secobj,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Query LSA security object", "" },
+       { "lsaquerytrustdominfo",RPC_RTYPE_NTSTATUS, cmd_lsa_query_trustdominfo,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Query LSA trusted domains info (given a SID)", "" },
+       { "lsaquerytrustdominfobyname",RPC_RTYPE_NTSTATUS, cmd_lsa_query_trustdominfobyname,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Query LSA trusted domains info (given a name), only works for Windows > 2k", "" },
+       { "lsaquerytrustdominfobysid",RPC_RTYPE_NTSTATUS, cmd_lsa_query_trustdominfobysid,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Query LSA trusted domains info (given a SID)", "" },
+       { "getusername",          RPC_RTYPE_NTSTATUS, cmd_lsa_get_username,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Get username", "" },
+       { "createsecret",         RPC_RTYPE_NTSTATUS, cmd_lsa_create_secret,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Create Secret", "" },
+       { "deletesecret",         RPC_RTYPE_NTSTATUS, cmd_lsa_delete_secret,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Delete Secret", "" },
+       { "querysecret",          RPC_RTYPE_NTSTATUS, cmd_lsa_query_secret,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Query Secret", "" },
+       { "setsecret",            RPC_RTYPE_NTSTATUS, cmd_lsa_set_secret,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Set Secret", "" },
+       { "retrieveprivatedata",  RPC_RTYPE_NTSTATUS, cmd_lsa_retrieve_private_data,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Retrieve Private Data", "" },
+       { "storeprivatedata",     RPC_RTYPE_NTSTATUS, cmd_lsa_store_private_data,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Store Private Data", "" },
+       { "createtrustdom",       RPC_RTYPE_NTSTATUS, cmd_lsa_create_trusted_domain,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,        "Create Trusted Domain", "" },
+       { "deletetrustdom",       RPC_RTYPE_NTSTATUS, cmd_lsa_delete_trusted_domain,
+         NULL, NDR_LSARPC_UUID, NDR_LSARPC_VERSION, NULL,
+         "Delete Trusted Domain", "" },
        { NULL }
 };
 
index 2fbadf2a75be6a034f0c9a02c9c3bd1f74afc163..736668f5f9a52fa61d5ec554953295a5e836e92b 100644 (file)
@@ -1156,28 +1156,84 @@ struct cmd_set netlogon_commands[] = {
 
        { "NETLOGON" },
 
-       { "logonctrl2", RPC_RTYPE_WERROR, NULL, cmd_netlogon_logon_ctrl2, &ndr_table_netlogon.syntax_id, NULL, "Logon Control 2",     "" },
-       { "getanydcname", RPC_RTYPE_WERROR, NULL, cmd_netlogon_getanydcname, &ndr_table_netlogon.syntax_id, NULL, "Get trusted DC name",     "" },
-       { "getdcname", RPC_RTYPE_WERROR, NULL, cmd_netlogon_getdcname, &ndr_table_netlogon.syntax_id, NULL, "Get trusted PDC name",     "" },
-       { "dsr_getdcname", RPC_RTYPE_WERROR, NULL, cmd_netlogon_dsr_getdcname, &ndr_table_netlogon.syntax_id, NULL, "Get trusted DC name",     "" },
-       { "dsr_getdcnameex", RPC_RTYPE_WERROR, NULL, cmd_netlogon_dsr_getdcnameex, &ndr_table_netlogon.syntax_id, NULL, "Get trusted DC name",     "" },
-       { "dsr_getdcnameex2", RPC_RTYPE_WERROR, NULL, cmd_netlogon_dsr_getdcnameex2, &ndr_table_netlogon.syntax_id, NULL, "Get trusted DC name",     "" },
-       { "dsr_getsitename", RPC_RTYPE_WERROR, NULL, cmd_netlogon_dsr_getsitename, &ndr_table_netlogon.syntax_id, NULL, "Get sitename",     "" },
-       { "dsr_getforesttrustinfo", RPC_RTYPE_WERROR, NULL, cmd_netlogon_dsr_getforesttrustinfo, &ndr_table_netlogon.syntax_id, NULL, "Get Forest Trust Info",     "" },
-       { "logonctrl",  RPC_RTYPE_WERROR, NULL, cmd_netlogon_logon_ctrl, &ndr_table_netlogon.syntax_id, NULL, "Logon Control",       "" },
-       { "samsync",    RPC_RTYPE_NTSTATUS, cmd_netlogon_sam_sync,    NULL, &ndr_table_netlogon.syntax_id, NULL, "Sam Synchronisation", "" },
-       { "samdeltas",  RPC_RTYPE_NTSTATUS, cmd_netlogon_sam_deltas,  NULL, &ndr_table_netlogon.syntax_id, NULL, "Query Sam Deltas",    "" },
-       { "samlogon",   RPC_RTYPE_NTSTATUS, cmd_netlogon_sam_logon,   NULL, &ndr_table_netlogon.syntax_id, NULL, "Sam Logon",           "" },
-       { "change_trust_pw",   RPC_RTYPE_NTSTATUS, cmd_netlogon_change_trust_pw,   NULL, &ndr_table_netlogon.syntax_id, NULL, "Change Trust Account Password",           "" },
-       { "gettrustrid", RPC_RTYPE_WERROR, NULL, cmd_netlogon_gettrustrid, &ndr_table_netlogon.syntax_id, NULL, "Get trust rid",     "" },
-       { "dsr_enumtrustdom", RPC_RTYPE_WERROR, NULL, cmd_netlogon_dsr_enumtrustdom, &ndr_table_netlogon.syntax_id, NULL, "Enumerate trusted domains",     "" },
-       { "dsenumdomtrusts",  RPC_RTYPE_WERROR, NULL, cmd_netlogon_dsr_enumtrustdom, &ndr_table_netlogon.syntax_id, NULL, "Enumerate all trusted domains in an AD forest",     "" },
-       { "deregisterdnsrecords", RPC_RTYPE_WERROR, NULL, cmd_netlogon_deregisterdnsrecords, &ndr_table_netlogon.syntax_id, NULL, "Deregister DNS records",     "" },
-       { "netrenumtrusteddomains", RPC_RTYPE_WERROR, NULL, cmd_netlogon_enumtrusteddomains, &ndr_table_netlogon.syntax_id, NULL, "Enumerate trusted domains",     "" },
-       { "netrenumtrusteddomainsex", RPC_RTYPE_WERROR, NULL, cmd_netlogon_enumtrusteddomainsex, &ndr_table_netlogon.syntax_id, NULL, "Enumerate trusted domains",     "" },
-       { "getdcsitecoverage", RPC_RTYPE_WERROR, NULL, cmd_netlogon_getdcsitecoverage, &ndr_table_netlogon.syntax_id, NULL, "Get the Site-Coverage from a DC",     "" },
-       { "database_redo", RPC_RTYPE_NTSTATUS, cmd_netlogon_database_redo, NULL, &ndr_table_netlogon.syntax_id, NULL, "Replicate single object from a DC",     "" },
-       { "capabilities", RPC_RTYPE_NTSTATUS, cmd_netlogon_capabilities, NULL, &ndr_table_netlogon.syntax_id, NULL, "Return Capabilities",     "" },
+       { "logonctrl2", RPC_RTYPE_WERROR, NULL, cmd_netlogon_logon_ctrl2,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Logon Control 2",     "" },
+       { "getanydcname", RPC_RTYPE_WERROR, NULL, cmd_netlogon_getanydcname,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Get trusted DC name",     "" },
+       { "getdcname", RPC_RTYPE_WERROR, NULL, cmd_netlogon_getdcname,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Get trusted PDC name",     "" },
+       { "dsr_getdcname", RPC_RTYPE_WERROR, NULL, cmd_netlogon_dsr_getdcname,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Get trusted DC name",     "" },
+       { "dsr_getdcnameex", RPC_RTYPE_WERROR, NULL,
+         cmd_netlogon_dsr_getdcnameex,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Get trusted DC name",     "" },
+       { "dsr_getdcnameex2", RPC_RTYPE_WERROR, NULL,
+         cmd_netlogon_dsr_getdcnameex2,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Get trusted DC name",     "" },
+       { "dsr_getsitename", RPC_RTYPE_WERROR, NULL,
+         cmd_netlogon_dsr_getsitename,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Get sitename",     "" },
+       { "dsr_getforesttrustinfo", RPC_RTYPE_WERROR, NULL,
+         cmd_netlogon_dsr_getforesttrustinfo,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Get Forest Trust Info",     "" },
+       { "logonctrl",  RPC_RTYPE_WERROR, NULL, cmd_netlogon_logon_ctrl,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Logon Control",       "" },
+       { "samsync",    RPC_RTYPE_NTSTATUS, cmd_netlogon_sam_sync,    NULL,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Sam Synchronisation", "" },
+       { "samdeltas",  RPC_RTYPE_NTSTATUS, cmd_netlogon_sam_deltas,  NULL,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Query Sam Deltas",    "" },
+       { "samlogon",   RPC_RTYPE_NTSTATUS, cmd_netlogon_sam_logon,   NULL,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Sam Logon",           "" },
+       { "change_trust_pw",   RPC_RTYPE_NTSTATUS,
+         cmd_netlogon_change_trust_pw,   NULL,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Change Trust Account Password",           "" },
+       { "gettrustrid", RPC_RTYPE_WERROR, NULL, cmd_netlogon_gettrustrid,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Get trust rid",     "" },
+       { "dsr_enumtrustdom", RPC_RTYPE_WERROR, NULL,
+         cmd_netlogon_dsr_enumtrustdom,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Enumerate trusted domains",     "" },
+       { "dsenumdomtrusts",  RPC_RTYPE_WERROR, NULL,
+         cmd_netlogon_dsr_enumtrustdom,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Enumerate all trusted domains in an AD forest",     "" },
+       { "deregisterdnsrecords", RPC_RTYPE_WERROR, NULL,
+         cmd_netlogon_deregisterdnsrecords,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Deregister DNS records",     "" },
+       { "netrenumtrusteddomains", RPC_RTYPE_WERROR, NULL,
+         cmd_netlogon_enumtrusteddomains,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Enumerate trusted domains",     "" },
+       { "netrenumtrusteddomainsex", RPC_RTYPE_WERROR, NULL,
+         cmd_netlogon_enumtrusteddomainsex,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Enumerate trusted domains",     "" },
+       { "getdcsitecoverage", RPC_RTYPE_WERROR, NULL,
+         cmd_netlogon_getdcsitecoverage,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Get the Site-Coverage from a DC",     "" },
+       { "database_redo", RPC_RTYPE_NTSTATUS,
+         cmd_netlogon_database_redo, NULL,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Replicate single object from a DC",     "" },
+       { "capabilities", RPC_RTYPE_NTSTATUS, cmd_netlogon_capabilities, NULL,
+         NDR_NETLOGON_UUID, NDR_NETLOGON_VERSION, NULL,
+         "Return Capabilities",     "" },
 
        { NULL }
 };
index a345cdc8bf0b3d84a83bd5a4ee47745a9fa80d90..88018258df2abb6d666583e2ff9e557bd3b2e0e1 100644 (file)
@@ -275,12 +275,33 @@ static WERROR cmd_ntsvcs_get_dev_list(struct rpc_pipe_client *cli,
 struct cmd_set ntsvcs_commands[] = {
 
        { "NTSVCS" },
-       { "ntsvcs_getversion", RPC_RTYPE_WERROR, NULL, cmd_ntsvcs_get_version, &ndr_table_ntsvcs.syntax_id, NULL, "Query NTSVCS version", "" },
-       { "ntsvcs_validatedevinst", RPC_RTYPE_WERROR, NULL, cmd_ntsvcs_validate_dev_inst, &ndr_table_ntsvcs.syntax_id, NULL, "Query NTSVCS device instance", "" },
-       { "ntsvcs_hwprofflags", RPC_RTYPE_WERROR, NULL, cmd_ntsvcs_hw_prof_flags, &ndr_table_ntsvcs.syntax_id, NULL, "Query NTSVCS HW prof flags", "" },
-       { "ntsvcs_hwprofinfo", RPC_RTYPE_WERROR, NULL, cmd_ntsvcs_get_hw_prof_info, &ndr_table_ntsvcs.syntax_id, NULL, "Query NTSVCS HW prof info", "" },
-       { "ntsvcs_getdevregprop", RPC_RTYPE_WERROR, NULL, cmd_ntsvcs_get_dev_reg_prop, &ndr_table_ntsvcs.syntax_id, NULL, "Query NTSVCS device registry property", "" },
-       { "ntsvcs_getdevlistsize", RPC_RTYPE_WERROR, NULL, cmd_ntsvcs_get_dev_list_size, &ndr_table_ntsvcs.syntax_id, NULL, "Query NTSVCS device list size", "" },
-       { "ntsvcs_getdevlist", RPC_RTYPE_WERROR, NULL, cmd_ntsvcs_get_dev_list, &ndr_table_ntsvcs.syntax_id, NULL, "Query NTSVCS device list", "" },
+       { "ntsvcs_getversion", RPC_RTYPE_WERROR, NULL,
+         cmd_ntsvcs_get_version,
+         NDR_NTSVCS_UUID, NDR_NTSVCS_VERSION, NULL,
+         "Query NTSVCS version", "" },
+       { "ntsvcs_validatedevinst", RPC_RTYPE_WERROR, NULL,
+         cmd_ntsvcs_validate_dev_inst,
+         NDR_NTSVCS_UUID, NDR_NTSVCS_VERSION, NULL,
+         "Query NTSVCS device instance", "" },
+       { "ntsvcs_hwprofflags", RPC_RTYPE_WERROR, NULL,
+         cmd_ntsvcs_hw_prof_flags,
+         NDR_NTSVCS_UUID, NDR_NTSVCS_VERSION, NULL,
+         "Query NTSVCS HW prof flags", "" },
+       { "ntsvcs_hwprofinfo", RPC_RTYPE_WERROR, NULL,
+         cmd_ntsvcs_get_hw_prof_info,
+         NDR_NTSVCS_UUID, NDR_NTSVCS_VERSION, NULL,
+         "Query NTSVCS HW prof info", "" },
+       { "ntsvcs_getdevregprop", RPC_RTYPE_WERROR, NULL,
+         cmd_ntsvcs_get_dev_reg_prop,
+         NDR_NTSVCS_UUID, NDR_NTSVCS_VERSION, NULL,
+         "Query NTSVCS device registry property", "" },
+       { "ntsvcs_getdevlistsize", RPC_RTYPE_WERROR, NULL,
+         cmd_ntsvcs_get_dev_list_size,
+         NDR_NTSVCS_UUID, NDR_NTSVCS_VERSION, NULL,
+         "Query NTSVCS device list size", "" },
+       { "ntsvcs_getdevlist", RPC_RTYPE_WERROR, NULL,
+         cmd_ntsvcs_get_dev_list,
+         NDR_NTSVCS_UUID, NDR_NTSVCS_VERSION, NULL,
+         "Query NTSVCS device list", "" },
        { NULL }
 };
index e52411f8f751e0bfd67555dc6e0d55e00b36a5fc..f1a04efe1782e861d63f599ad3394fb831d4acb0 100644 (file)
@@ -2916,40 +2916,106 @@ struct cmd_set samr_commands[] = {
 
        { "SAMR" },
 
-       { "queryuser",  RPC_RTYPE_NTSTATUS, cmd_samr_query_user,                NULL, &ndr_table_samr.syntax_id, NULL,  "Query user info",         "" },
-       { "querygroup",         RPC_RTYPE_NTSTATUS, cmd_samr_query_group,               NULL, &ndr_table_samr.syntax_id, NULL,  "Query group info",        "" },
-       { "queryusergroups",    RPC_RTYPE_NTSTATUS, cmd_samr_query_usergroups,  NULL, &ndr_table_samr.syntax_id, NULL,  "Query user groups",       "" },
-       { "queryuseraliases",   RPC_RTYPE_NTSTATUS, cmd_samr_query_useraliases,         NULL, &ndr_table_samr.syntax_id, NULL,  "Query user aliases",      "" },
-       { "querygroupmem",      RPC_RTYPE_NTSTATUS, cmd_samr_query_groupmem,    NULL, &ndr_table_samr.syntax_id, NULL,  "Query group membership",  "" },
-       { "queryaliasmem",      RPC_RTYPE_NTSTATUS, cmd_samr_query_aliasmem,    NULL, &ndr_table_samr.syntax_id, NULL,  "Query alias membership",  "" },
-       { "queryaliasinfo",     RPC_RTYPE_NTSTATUS, cmd_samr_query_aliasinfo,   NULL, &ndr_table_samr.syntax_id, NULL,  "Query alias info",       "" },
-       { "deletealias",        RPC_RTYPE_NTSTATUS, cmd_samr_delete_alias,      NULL, &ndr_table_samr.syntax_id, NULL,  "Delete an alias",  "" },
-       { "querydispinfo",      RPC_RTYPE_NTSTATUS, cmd_samr_query_dispinfo,    NULL, &ndr_table_samr.syntax_id, NULL,  "Query display info",      "" },
-       { "querydispinfo2",     RPC_RTYPE_NTSTATUS, cmd_samr_query_dispinfo2,   NULL, &ndr_table_samr.syntax_id, NULL,  "Query display info",      "" },
-       { "querydispinfo3",     RPC_RTYPE_NTSTATUS, cmd_samr_query_dispinfo3,   NULL, &ndr_table_samr.syntax_id, NULL,  "Query display info",      "" },
-       { "querydominfo",       RPC_RTYPE_NTSTATUS, cmd_samr_query_dominfo,     NULL, &ndr_table_samr.syntax_id, NULL,  "Query domain info",       "" },
-       { "enumdomusers",       RPC_RTYPE_NTSTATUS, cmd_samr_enum_dom_users,       NULL, &ndr_table_samr.syntax_id, NULL,       "Enumerate domain users", "" },
-       { "enumdomgroups",      RPC_RTYPE_NTSTATUS, cmd_samr_enum_dom_groups,       NULL, &ndr_table_samr.syntax_id, NULL,      "Enumerate domain groups", "" },
-       { "enumalsgroups",      RPC_RTYPE_NTSTATUS, cmd_samr_enum_als_groups,       NULL, &ndr_table_samr.syntax_id, NULL,      "Enumerate alias groups",  "" },
-       { "enumdomains",        RPC_RTYPE_NTSTATUS, cmd_samr_enum_domains,          NULL, &ndr_table_samr.syntax_id, NULL,      "Enumerate domains",  "" },
-
-       { "createdomuser",      RPC_RTYPE_NTSTATUS, cmd_samr_create_dom_user,       NULL, &ndr_table_samr.syntax_id, NULL,      "Create domain user",      "" },
-       { "createdomgroup",     RPC_RTYPE_NTSTATUS, cmd_samr_create_dom_group,      NULL, &ndr_table_samr.syntax_id, NULL,      "Create domain group",     "" },
-       { "createdomalias",     RPC_RTYPE_NTSTATUS, cmd_samr_create_dom_alias,      NULL, &ndr_table_samr.syntax_id, NULL,      "Create domain alias",     "" },
-       { "samlookupnames",     RPC_RTYPE_NTSTATUS, cmd_samr_lookup_names,          NULL, &ndr_table_samr.syntax_id, NULL,      "Look up names",           "" },
-       { "samlookuprids",      RPC_RTYPE_NTSTATUS, cmd_samr_lookup_rids,           NULL, &ndr_table_samr.syntax_id, NULL,      "Look up names",           "" },
-       { "deletedomgroup",     RPC_RTYPE_NTSTATUS, cmd_samr_delete_dom_group,      NULL, &ndr_table_samr.syntax_id, NULL,      "Delete domain group",     "" },
-       { "deletedomuser",      RPC_RTYPE_NTSTATUS, cmd_samr_delete_dom_user,       NULL, &ndr_table_samr.syntax_id, NULL,      "Delete domain user",      "" },
-       { "samquerysecobj",     RPC_RTYPE_NTSTATUS, cmd_samr_query_sec_obj,         NULL, &ndr_table_samr.syntax_id, NULL, "Query SAMR security object",   "" },
-       { "getdompwinfo",       RPC_RTYPE_NTSTATUS, cmd_samr_get_dom_pwinfo,        NULL, &ndr_table_samr.syntax_id, NULL, "Retrieve domain password info", "" },
-       { "getusrdompwinfo",    RPC_RTYPE_NTSTATUS, cmd_samr_get_usrdom_pwinfo,     NULL, &ndr_table_samr.syntax_id, NULL, "Retrieve user domain password info", "" },
-
-       { "lookupdomain",       RPC_RTYPE_NTSTATUS, cmd_samr_lookup_domain,         NULL, &ndr_table_samr.syntax_id, NULL, "Lookup Domain Name", "" },
-       { "chgpasswd",          RPC_RTYPE_NTSTATUS, cmd_samr_chgpasswd,             NULL, &ndr_table_samr.syntax_id, NULL, "Change user password", "" },
-       { "chgpasswd2",         RPC_RTYPE_NTSTATUS, cmd_samr_chgpasswd2,            NULL, &ndr_table_samr.syntax_id, NULL, "Change user password", "" },
-       { "chgpasswd3",         RPC_RTYPE_NTSTATUS, cmd_samr_chgpasswd3,            NULL, &ndr_table_samr.syntax_id, NULL, "Change user password", "" },
-       { "getdispinfoidx",     RPC_RTYPE_NTSTATUS, cmd_samr_get_dispinfo_idx,      NULL, &ndr_table_samr.syntax_id, NULL, "Get Display Information Index", "" },
-       { "setuserinfo",        RPC_RTYPE_NTSTATUS, cmd_samr_setuserinfo,           NULL, &ndr_table_samr.syntax_id, NULL, "Set user info", "" },
-       { "setuserinfo2",       RPC_RTYPE_NTSTATUS, cmd_samr_setuserinfo2,          NULL, &ndr_table_samr.syntax_id, NULL, "Set user info2", "" },
+       { "queryuser",  RPC_RTYPE_NTSTATUS, cmd_samr_query_user,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Query user info",         "" },
+       { "querygroup",         RPC_RTYPE_NTSTATUS, cmd_samr_query_group,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Query group info",        "" },
+       { "queryusergroups",    RPC_RTYPE_NTSTATUS, cmd_samr_query_usergroups,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Query user groups",       "" },
+       { "queryuseraliases",   RPC_RTYPE_NTSTATUS, cmd_samr_query_useraliases,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Query user aliases",      "" },
+       { "querygroupmem",      RPC_RTYPE_NTSTATUS, cmd_samr_query_groupmem,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Query group membership",  "" },
+       { "queryaliasmem",      RPC_RTYPE_NTSTATUS, cmd_samr_query_aliasmem,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Query alias membership",  "" },
+       { "queryaliasinfo",     RPC_RTYPE_NTSTATUS, cmd_samr_query_aliasinfo,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Query alias info",       "" },
+       { "deletealias",        RPC_RTYPE_NTSTATUS, cmd_samr_delete_alias,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Delete an alias",  "" },
+       { "querydispinfo",      RPC_RTYPE_NTSTATUS, cmd_samr_query_dispinfo,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Query display info",      "" },
+       { "querydispinfo2",     RPC_RTYPE_NTSTATUS, cmd_samr_query_dispinfo2,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Query display info",      "" },
+       { "querydispinfo3",     RPC_RTYPE_NTSTATUS, cmd_samr_query_dispinfo3,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Query display info",      "" },
+       { "querydominfo",       RPC_RTYPE_NTSTATUS, cmd_samr_query_dominfo,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Query domain info",       "" },
+       { "enumdomusers",       RPC_RTYPE_NTSTATUS, cmd_samr_enum_dom_users,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Enumerate domain users", "" },
+       { "enumdomgroups",      RPC_RTYPE_NTSTATUS, cmd_samr_enum_dom_groups,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Enumerate domain groups", "" },
+       { "enumalsgroups",      RPC_RTYPE_NTSTATUS, cmd_samr_enum_als_groups,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Enumerate alias groups",  "" },
+       { "enumdomains",        RPC_RTYPE_NTSTATUS, cmd_samr_enum_domains,
+          NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Enumerate domains",  "" },
+
+       { "createdomuser",      RPC_RTYPE_NTSTATUS, cmd_samr_create_dom_user,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Create domain user",      "" },
+       { "createdomgroup",     RPC_RTYPE_NTSTATUS, cmd_samr_create_dom_group,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Create domain group",     "" },
+       { "createdomalias",     RPC_RTYPE_NTSTATUS, cmd_samr_create_dom_alias,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Create domain alias",     "" },
+       { "samlookupnames",     RPC_RTYPE_NTSTATUS, cmd_samr_lookup_names,
+          NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Look up names",           "" },
+       { "samlookuprids",      RPC_RTYPE_NTSTATUS, cmd_samr_lookup_rids,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Look up names",           "" },
+       { "deletedomgroup",     RPC_RTYPE_NTSTATUS, cmd_samr_delete_dom_group,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Delete domain group",     "" },
+       { "deletedomuser",      RPC_RTYPE_NTSTATUS, cmd_samr_delete_dom_user,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Delete domain user",      "" },
+       { "samquerysecobj",     RPC_RTYPE_NTSTATUS, cmd_samr_query_sec_obj,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Query SAMR security object",   "" },
+       { "getdompwinfo",       RPC_RTYPE_NTSTATUS, cmd_samr_get_dom_pwinfo,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Retrieve domain password info", "" },
+       { "getusrdompwinfo",    RPC_RTYPE_NTSTATUS, cmd_samr_get_usrdom_pwinfo,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Retrieve user domain password info", "" },
+
+       { "lookupdomain",       RPC_RTYPE_NTSTATUS, cmd_samr_lookup_domain,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Lookup Domain Name", "" },
+       { "chgpasswd",          RPC_RTYPE_NTSTATUS, cmd_samr_chgpasswd,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Change user password", "" },
+       { "chgpasswd2",         RPC_RTYPE_NTSTATUS, cmd_samr_chgpasswd2,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Change user password", "" },
+       { "chgpasswd3",         RPC_RTYPE_NTSTATUS, cmd_samr_chgpasswd3,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Change user password", "" },
+       { "getdispinfoidx",     RPC_RTYPE_NTSTATUS, cmd_samr_get_dispinfo_idx,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Get Display Information Index", "" },
+       { "setuserinfo",        RPC_RTYPE_NTSTATUS, cmd_samr_setuserinfo,
+         NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Set user info", "" },
+       { "setuserinfo2",       RPC_RTYPE_NTSTATUS, cmd_samr_setuserinfo2,
+          NULL, NDR_SAMR_UUID, NDR_SAMR_VERSION, NULL,
+         "Set user info2", "" },
        { NULL }
 };
index f79c9aad0216a0bf3e7098a2e2aa6e94d4ed3ee9..451c26e35a871771704e9eb8774d9e09c0b157e7 100644 (file)
@@ -107,11 +107,14 @@ struct cmd_set shutdown_commands[] = {
        { "SHUTDOWN"  },
 
 #if 0
-       { "shutdowninit", RPC_RTYPE_NTSTATUS, cmd_shutdown_init, NULL, &ndr_table_initshutdown.syntax_id, "Remote Shutdown (over shutdown pipe)",
-                               "syntax: shutdown [-m message] [-t timeout] [-r] [-h] [-f] (-r == reboot, -h == halt, -f == force)" },
-                               
-       { "shutdownabort", RPC_RTYPE_NTSTATUS, cmd_shutdown_abort, NULL, &ndr_table_initshutdown.syntax_id, "Abort Shutdown (over shutdown pipe)",
-                               "syntax: shutdownabort" },
+       { "shutdowninit", RPC_RTYPE_NTSTATUS, cmd_shutdown_init, NULL,
+         NDR_INITSHUTDOWN_UUID, NDR_INITSHUTDOWN_VERSION,
+         "Remote Shutdown (over shutdown pipe)",
+         "syntax: shutdown [-m message] [-t timeout] [-r] [-h] [-f] (-r == reboot, -h == halt, -f == force)" },
+       { "shutdownabort", RPC_RTYPE_NTSTATUS, cmd_shutdown_abort, NULL,
+         NDR_INITSHUTDOWN_UUID, NDR_INITSHUTDOWN_VERSION,
+         "Abort Shutdown (over shutdown pipe)",
+         "syntax: shutdownabort" },
 #endif
        { NULL }
 };
index 8b1a6eac03624a7cf9d64ec9716176b497b855c5..4c142566b35221d6e9278aaf58230e24c7f25b2b 100644 (file)
@@ -3474,41 +3474,146 @@ struct cmd_set spoolss_commands[] = {
 
        { "SPOOLSS"  },
 
-       { "adddriver",          RPC_RTYPE_WERROR, NULL, cmd_spoolss_addprinterdriver,   &ndr_table_spoolss.syntax_id, NULL, "Add a print driver",                  "" },
-       { "addprinter",         RPC_RTYPE_WERROR, NULL, cmd_spoolss_addprinterex,       &ndr_table_spoolss.syntax_id, NULL, "Add a printer",                       "" },
-       { "deldriver",          RPC_RTYPE_WERROR, NULL, cmd_spoolss_deletedriver,       &ndr_table_spoolss.syntax_id, NULL, "Delete a printer driver",             "" },
-       { "deldriverex",        RPC_RTYPE_WERROR, NULL, cmd_spoolss_deletedriverex,     &ndr_table_spoolss.syntax_id, NULL, "Delete a printer driver with files",  "" },
-       { "enumdata",           RPC_RTYPE_WERROR, NULL, cmd_spoolss_enum_data,          &ndr_table_spoolss.syntax_id, NULL, "Enumerate printer data",              "" },
-       { "enumdataex",         RPC_RTYPE_WERROR, NULL, cmd_spoolss_enum_data_ex,       &ndr_table_spoolss.syntax_id, NULL, "Enumerate printer data for a key",    "" },
-       { "enumkey",            RPC_RTYPE_WERROR, NULL, cmd_spoolss_enum_printerkey,    &ndr_table_spoolss.syntax_id, NULL, "Enumerate printer keys",              "" },
-       { "enumjobs",           RPC_RTYPE_WERROR, NULL, cmd_spoolss_enum_jobs,          &ndr_table_spoolss.syntax_id, NULL, "Enumerate print jobs",                "" },
-       { "getjob",             RPC_RTYPE_WERROR, NULL, cmd_spoolss_get_job,            &ndr_table_spoolss.syntax_id, NULL, "Get print job",                       "" },
-       { "setjob",             RPC_RTYPE_WERROR, NULL, cmd_spoolss_set_job,            &ndr_table_spoolss.syntax_id, NULL, "Set print job",                       "" },
-       { "enumports",          RPC_RTYPE_WERROR, NULL, cmd_spoolss_enum_ports,         &ndr_table_spoolss.syntax_id, NULL, "Enumerate printer ports",             "" },
-       { "enumdrivers",        RPC_RTYPE_WERROR, NULL, cmd_spoolss_enum_drivers,       &ndr_table_spoolss.syntax_id, NULL, "Enumerate installed printer drivers", "" },
-       { "enumprinters",       RPC_RTYPE_WERROR, NULL, cmd_spoolss_enum_printers,      &ndr_table_spoolss.syntax_id, NULL, "Enumerate printers",                  "" },
-       { "getdata",            RPC_RTYPE_WERROR, NULL, cmd_spoolss_getprinterdata,     &ndr_table_spoolss.syntax_id, NULL, "Get print driver data",               "" },
-       { "getdataex",          RPC_RTYPE_WERROR, NULL, cmd_spoolss_getprinterdataex,   &ndr_table_spoolss.syntax_id, NULL, "Get printer driver data with keyname", ""},
-       { "getdriver",          RPC_RTYPE_WERROR, NULL, cmd_spoolss_getdriver,          &ndr_table_spoolss.syntax_id, NULL, "Get print driver information",        "" },
-       { "getdriverdir",       RPC_RTYPE_WERROR, NULL, cmd_spoolss_getdriverdir,       &ndr_table_spoolss.syntax_id, NULL, "Get print driver upload directory",   "" },
-       { "getprinter",         RPC_RTYPE_WERROR, NULL, cmd_spoolss_getprinter,         &ndr_table_spoolss.syntax_id, NULL, "Get printer info",                    "" },
-       { "openprinter",        RPC_RTYPE_WERROR, NULL, cmd_spoolss_open_printer_ex,    &ndr_table_spoolss.syntax_id, NULL, "Open printer handle",                 "" },
-       { "setdriver",          RPC_RTYPE_WERROR, NULL, cmd_spoolss_setdriver,          &ndr_table_spoolss.syntax_id, NULL, "Set printer driver",                  "" },
-       { "getprintprocdir",    RPC_RTYPE_WERROR, NULL, cmd_spoolss_getprintprocdir,    &ndr_table_spoolss.syntax_id, NULL, "Get print processor directory",       "" },
-       { "addform",            RPC_RTYPE_WERROR, NULL, cmd_spoolss_addform,            &ndr_table_spoolss.syntax_id, NULL, "Add form",                            "" },
-       { "setform",            RPC_RTYPE_WERROR, NULL, cmd_spoolss_setform,            &ndr_table_spoolss.syntax_id, NULL, "Set form",                            "" },
-       { "getform",            RPC_RTYPE_WERROR, NULL, cmd_spoolss_getform,            &ndr_table_spoolss.syntax_id, NULL, "Get form",                            "" },
-       { "deleteform",         RPC_RTYPE_WERROR, NULL, cmd_spoolss_deleteform,         &ndr_table_spoolss.syntax_id, NULL, "Delete form",                         "" },
-       { "enumforms",          RPC_RTYPE_WERROR, NULL, cmd_spoolss_enum_forms,         &ndr_table_spoolss.syntax_id, NULL, "Enumerate forms",                     "" },
-       { "setprinter",         RPC_RTYPE_WERROR, NULL, cmd_spoolss_setprinter,         &ndr_table_spoolss.syntax_id, NULL, "Set printer comment",                 "" },
-       { "setprintername",     RPC_RTYPE_WERROR, NULL, cmd_spoolss_setprintername,     &ndr_table_spoolss.syntax_id, NULL, "Set printername",                 "" },
-       { "setprinterdata",     RPC_RTYPE_WERROR, NULL, cmd_spoolss_setprinterdata,     &ndr_table_spoolss.syntax_id, NULL, "Set REG_SZ printer data",             "" },
-       { "rffpcnex",           RPC_RTYPE_WERROR, NULL, cmd_spoolss_rffpcnex,           &ndr_table_spoolss.syntax_id, NULL, "Rffpcnex test", "" },
-       { "printercmp",         RPC_RTYPE_WERROR, NULL, cmd_spoolss_printercmp,         &ndr_table_spoolss.syntax_id, NULL, "Printer comparison test", "" },
-       { "enumprocs",          RPC_RTYPE_WERROR, NULL, cmd_spoolss_enum_procs,         &ndr_table_spoolss.syntax_id, NULL, "Enumerate Print Processors",          "" },
-       { "enumprocdatatypes",  RPC_RTYPE_WERROR, NULL, cmd_spoolss_enum_proc_data_types, &ndr_table_spoolss.syntax_id, NULL, "Enumerate Print Processor Data Types", "" },
-       { "enummonitors",       RPC_RTYPE_WERROR, NULL, cmd_spoolss_enum_monitors,      &ndr_table_spoolss.syntax_id, NULL, "Enumerate Print Monitors", "" },
-       { "createprinteric",    RPC_RTYPE_WERROR, NULL, cmd_spoolss_create_printer_ic,  &ndr_table_spoolss.syntax_id, NULL, "Create Printer IC", "" },
+       { "adddriver",          RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_addprinterdriver,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Add a print driver",                  "" },
+       { "addprinter",         RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_addprinterex,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Add a printer",                       "" },
+       { "deldriver",          RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_deletedriver,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Delete a printer driver",             "" },
+       { "deldriverex",        RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_deletedriverex,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Delete a printer driver with files",  "" },
+       { "enumdata",           RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_enum_data,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Enumerate printer data",              "" },
+       { "enumdataex",         RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_enum_data_ex,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Enumerate printer data for a key",    "" },
+       { "enumkey",            RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_enum_printerkey,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Enumerate printer keys",              "" },
+       { "enumjobs",           RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_enum_jobs,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Enumerate print jobs",                "" },
+       { "getjob",             RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_get_job,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Get print job",                       "" },
+       { "setjob",             RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_set_job,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Set print job",                       "" },
+       { "enumports",          RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_enum_ports,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Enumerate printer ports",             "" },
+       { "enumdrivers",        RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_enum_drivers,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Enumerate installed printer drivers", "" },
+       { "enumprinters",       RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_enum_printers,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Enumerate printers",                  "" },
+       { "getdata",            RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_getprinterdata,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Get print driver data",               "" },
+       { "getdataex",          RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_getprinterdataex,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Get printer driver data with keyname", ""},
+       { "getdriver",          RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_getdriver,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Get print driver information",        "" },
+       { "getdriverdir",       RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_getdriverdir,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Get print driver upload directory",   "" },
+       { "getprinter",         RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_getprinter,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Get printer info",                    "" },
+       { "openprinter",        RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_open_printer_ex,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Open printer handle",                 "" },
+       { "setdriver",          RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_setdriver,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Set printer driver",                  "" },
+       { "getprintprocdir",    RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_getprintprocdir,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Get print processor directory",       "" },
+       { "addform",            RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_addform,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Add form",                            "" },
+       { "setform",            RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_setform,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Set form",                            "" },
+       { "getform",            RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_getform,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Get form",                            "" },
+       { "deleteform",         RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_deleteform,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Delete form",                         "" },
+       { "enumforms",          RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_enum_forms,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Enumerate forms",                     "" },
+       { "setprinter",         RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_setprinter,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Set printer comment",                 "" },
+       { "setprintername",     RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_setprintername,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Set printername",                 "" },
+       { "setprinterdata",     RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_setprinterdata,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Set REG_SZ printer data",             "" },
+       { "rffpcnex",           RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_rffpcnex,
+          NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Rffpcnex test", "" },
+       { "printercmp",         RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_printercmp,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Printer comparison test", "" },
+       { "enumprocs",          RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_enum_procs,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Enumerate Print Processors",          "" },
+       { "enumprocdatatypes",  RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_enum_proc_data_types,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Enumerate Print Processor Data Types", "" },
+       { "enummonitors",       RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_enum_monitors,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Enumerate Print Monitors", "" },
+       { "createprinteric",    RPC_RTYPE_WERROR, NULL,
+         cmd_spoolss_create_printer_ic,
+         NDR_SPOOLSS_UUID, NDR_SPOOLSS_VERSION, NULL,
+         "Create Printer IC", "" },
 
        { NULL }
 };
index 10017fa19b4878b63c459e00c1b8a28053fc38e3..bea498202aad93f60c1583437eef3e7f739d9e98 100644 (file)
@@ -873,19 +873,58 @@ struct cmd_set srvsvc_commands[] = {
 
        { "SRVSVC" },
 
-       { "srvinfo",     RPC_RTYPE_WERROR, NULL, cmd_srvsvc_srv_query_info, &ndr_table_srvsvc.syntax_id, NULL, "Server query info", "" },
-       { "netshareenum",RPC_RTYPE_WERROR, NULL, cmd_srvsvc_net_share_enum, &ndr_table_srvsvc.syntax_id, NULL, "Enumerate shares", "" },
-       { "netshareenumall",RPC_RTYPE_WERROR, NULL, cmd_srvsvc_net_share_enum_all, &ndr_table_srvsvc.syntax_id, NULL, "Enumerate all shares", "" },
-       { "netsharegetinfo",RPC_RTYPE_WERROR, NULL, cmd_srvsvc_net_share_get_info, &ndr_table_srvsvc.syntax_id, NULL, "Get Share Info", "" },
-       { "netsharesetinfo",RPC_RTYPE_WERROR, NULL, cmd_srvsvc_net_share_set_info, &ndr_table_srvsvc.syntax_id, NULL, "Set Share Info", "" },
-       { "netfileenum", RPC_RTYPE_WERROR, NULL, cmd_srvsvc_net_file_enum,  &ndr_table_srvsvc.syntax_id, NULL, "Enumerate open files", "" },
-       { "netremotetod",RPC_RTYPE_WERROR, NULL, cmd_srvsvc_net_remote_tod, &ndr_table_srvsvc.syntax_id, NULL, "Fetch remote time of day", "" },
-       { "netnamevalidate", RPC_RTYPE_WERROR, NULL, cmd_srvsvc_net_name_validate, &ndr_table_srvsvc.syntax_id, NULL, "Validate sharename", "" },
-       { "netfilegetsec", RPC_RTYPE_WERROR, NULL, cmd_srvsvc_net_file_get_sec, &ndr_table_srvsvc.syntax_id, NULL, "Get File security", "" },
-       { "netsessdel", RPC_RTYPE_WERROR, NULL, cmd_srvsvc_net_sess_del, &ndr_table_srvsvc.syntax_id, NULL, "Delete Session", "" },
-       { "netsessenum", RPC_RTYPE_WERROR, NULL, cmd_srvsvc_net_sess_enum, &ndr_table_srvsvc.syntax_id, NULL, "Enumerate Sessions", "" },
-       { "netdiskenum", RPC_RTYPE_WERROR, NULL, cmd_srvsvc_net_disk_enum, &ndr_table_srvsvc.syntax_id, NULL, "Enumerate Disks", "" },
-       { "netconnenum", RPC_RTYPE_WERROR, NULL, cmd_srvsvc_net_conn_enum, &ndr_table_srvsvc.syntax_id, NULL, "Enumerate Connections", "" },
+       { "srvinfo",     RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_srv_query_info,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION,
+         NULL, "Server query info", "" },
+       { "netshareenum",RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_net_share_enum,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION, NULL,
+         "Enumerate shares", "" },
+       { "netshareenumall",RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_net_share_enum_all,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION, NULL,
+         "Enumerate all shares", "" },
+       { "netsharegetinfo",RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_net_share_get_info,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION, NULL,
+         "Get Share Info", "" },
+       { "netsharesetinfo",RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_net_share_set_info,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION, NULL,
+         "Set Share Info", "" },
+       { "netfileenum", RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_net_file_enum,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION, NULL,
+         "Enumerate open files", "" },
+       { "netremotetod",RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_net_remote_tod,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION, NULL,
+         "Fetch remote time of day", "" },
+       { "netnamevalidate", RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_net_name_validate,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION, NULL,
+         "Validate sharename", "" },
+       { "netfilegetsec", RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_net_file_get_sec,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION, NULL,
+         "Get File security", "" },
+       { "netsessdel", RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_net_sess_del,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION, NULL,
+         "Delete Session", "" },
+       { "netsessenum", RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_net_sess_enum,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION, NULL,
+         "Enumerate Sessions", "" },
+       { "netdiskenum", RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_net_disk_enum,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION, NULL,
+         "Enumerate Disks", "" },
+       { "netconnenum", RPC_RTYPE_WERROR, NULL,
+         cmd_srvsvc_net_conn_enum,
+         NDR_SRVSVC_UUID, NDR_SRVSVC_VERSION, NULL,
+         "Enumerate Connections", "" },
 
        { NULL }
 };
index 85e90a19b514a2244ea6c86c864c345223e8888d..ac65a1657473322d67ea419d601a9e31f04fd89a 100644 (file)
@@ -69,7 +69,7 @@ struct cmd_set test_commands[] = {
        { "TESTING" },
 
        { "testme", RPC_RTYPE_NTSTATUS, cmd_testme, NULL,
-         NULL, NULL, "Sample test", "testme" },
+         NULL, 0, NULL, "Sample test", "testme" },
 
        { NULL }
 };
index 7a34c450ab7005a5057da89fbec945c8db8f8538..fe12afd080d6d17c0bd54d78252d14cfa07f4b6a 100644 (file)
@@ -162,9 +162,21 @@ static WERROR cmd_wkssvc_enumeratecomputernames(struct rpc_pipe_client *cli,
 struct cmd_set wkssvc_commands[] = {
 
        { "WKSSVC" },
-       { "wkssvc_wkstagetinfo", RPC_RTYPE_WERROR, NULL, cmd_wkssvc_wkstagetinfo, &ndr_table_wkssvc.syntax_id, NULL, "Query WKSSVC Workstation Information", "" },
-       { "wkssvc_getjoininformation", RPC_RTYPE_WERROR, NULL, cmd_wkssvc_getjoininformation, &ndr_table_wkssvc.syntax_id, NULL, "Query WKSSVC Join Information", "" },
-       { "wkssvc_messagebuffersend", RPC_RTYPE_WERROR, NULL, cmd_wkssvc_messagebuffersend, &ndr_table_wkssvc.syntax_id, NULL, "Send WKSSVC message", "" },
-       { "wkssvc_enumeratecomputernames", RPC_RTYPE_WERROR, NULL, cmd_wkssvc_enumeratecomputernames, &ndr_table_wkssvc.syntax_id, NULL, "Enumerate WKSSVC computer names", "" },
+       { "wkssvc_wkstagetinfo", RPC_RTYPE_WERROR, NULL,
+         cmd_wkssvc_wkstagetinfo,
+         NDR_WKSSVC_UUID, NDR_WKSSVC_VERSION, NULL,
+         "Query WKSSVC Workstation Information", "" },
+       { "wkssvc_getjoininformation", RPC_RTYPE_WERROR, NULL,
+         cmd_wkssvc_getjoininformation,
+         NDR_WKSSVC_UUID, NDR_WKSSVC_VERSION, NULL,
+         "Query WKSSVC Join Information", "" },
+       { "wkssvc_messagebuffersend", RPC_RTYPE_WERROR, NULL,
+         cmd_wkssvc_messagebuffersend,
+         NDR_WKSSVC_UUID, NDR_WKSSVC_VERSION, NULL,
+         "Send WKSSVC message", "" },
+       { "wkssvc_enumeratecomputernames", RPC_RTYPE_WERROR, NULL,
+         cmd_wkssvc_enumeratecomputernames,
+         NDR_WKSSVC_UUID, NDR_WKSSVC_VERSION, NULL,
+         "Enumerate WKSSVC computer names", "" },
        { NULL }
 };
index dbf7f1ff7eeafbda1586d86affcaa3dbbcfcf57b..e6523af089e41bcf79f10eb2a6e79533a2a156fb 100644 (file)
@@ -536,26 +536,45 @@ static struct cmd_set rpcclient_commands[] = {
 
        { "GENERAL OPTIONS" },
 
-       { "help", RPC_RTYPE_NTSTATUS, cmd_help, NULL,     NULL, NULL,   "Get help on commands", "[command]" },
-       { "?",  RPC_RTYPE_NTSTATUS, cmd_help, NULL,       NULL, NULL,   "Get help on commands", "[command]" },
-       { "debuglevel", RPC_RTYPE_NTSTATUS, cmd_debuglevel, NULL,   NULL,       NULL, "Set debug level", "level" },
-       { "debug", RPC_RTYPE_NTSTATUS, cmd_debuglevel, NULL,   NULL,    NULL, "Set debug level", "level" },
-       { "list",       RPC_RTYPE_NTSTATUS, cmd_listcommands, NULL, NULL,       NULL, "List available commands on <pipe>", "pipe" },
-       { "exit", RPC_RTYPE_NTSTATUS, cmd_quit, NULL,   NULL,   NULL,   "Exit program", "" },
-       { "quit", RPC_RTYPE_NTSTATUS, cmd_quit, NULL,     NULL, NULL, "Exit program", "" },
-       { "sign", RPC_RTYPE_NTSTATUS, cmd_sign, NULL,     NULL, NULL, "Force RPC pipe connections to be signed", "" },
-       { "seal", RPC_RTYPE_NTSTATUS, cmd_seal, NULL,     NULL, NULL, "Force RPC pipe connections to be sealed", "" },
-       { "schannel", RPC_RTYPE_NTSTATUS, cmd_schannel, NULL,     NULL, NULL,   "Force RPC pipe connections to be sealed with 'schannel'.  Assumes valid machine account to this domain controller.", "" },
-       { "schannelsign", RPC_RTYPE_NTSTATUS, cmd_schannel_sign, NULL,    NULL, NULL, "Force RPC pipe connections to be signed (not sealed) with 'schannel'.  Assumes valid machine account to this domain controller.", "" },
-       { "timeout", RPC_RTYPE_NTSTATUS, cmd_timeout, NULL,       NULL, NULL, "Set timeout (in milliseonds) for RPC operations", "" },
-       { "transport", RPC_RTYPE_NTSTATUS, cmd_choose_transport, NULL,    NULL, NULL, "Choose ncacn transport for RPC operations", "" },
-       { "none", RPC_RTYPE_NTSTATUS, cmd_none, NULL,     NULL, NULL, "Force RPC pipe connections to have no special properties", "" },
+       { "help", RPC_RTYPE_NTSTATUS, cmd_help, NULL,     NULL, 0,
+         NULL, "Get help on commands", "[command]" },
+       { "?",  RPC_RTYPE_NTSTATUS, cmd_help, NULL,       NULL, 0,
+         NULL, "Get help on commands", "[command]" },
+       { "debuglevel", RPC_RTYPE_NTSTATUS, cmd_debuglevel, NULL,   NULL, 0,
+         NULL, "Set debug level", "level" },
+       { "debug", RPC_RTYPE_NTSTATUS, cmd_debuglevel, NULL,   NULL, 0,
+         NULL, "Set debug level", "level" },
+       { "list",       RPC_RTYPE_NTSTATUS, cmd_listcommands, NULL, NULL, 0,
+         NULL, "List available commands on <pipe>", "pipe" },
+       { "exit", RPC_RTYPE_NTSTATUS, cmd_quit, NULL,   NULL,   0,
+         NULL, "Exit program", "" },
+       { "quit", RPC_RTYPE_NTSTATUS, cmd_quit, NULL,     NULL, 0,
+         NULL, "Exit program", "" },
+       { "sign", RPC_RTYPE_NTSTATUS, cmd_sign, NULL,     NULL, 0,
+         NULL, "Force RPC pipe connections to be signed", "" },
+       { "seal", RPC_RTYPE_NTSTATUS, cmd_seal, NULL,     NULL, 0,
+         NULL, "Force RPC pipe connections to be sealed", "" },
+       { "schannel", RPC_RTYPE_NTSTATUS, cmd_schannel, NULL,     NULL, 0,
+         NULL, "Force RPC pipe connections to be sealed with 'schannel'.  "
+         "Assumes valid machine account to this domain controller.", "" },
+       { "schannelsign", RPC_RTYPE_NTSTATUS, cmd_schannel_sign, NULL, NULL, 0,
+         NULL, "Force RPC pipe connections to be signed (not sealed) with "
+         "'schannel'.  Assumes valid machine account to this domain "
+         "controller.", "" },
+       { "timeout", RPC_RTYPE_NTSTATUS, cmd_timeout, NULL,       NULL, 0,
+         NULL, "Set timeout (in milliseonds) for RPC operations", "" },
+       { "transport", RPC_RTYPE_NTSTATUS, cmd_choose_transport, NULL, NULL, 0,
+         NULL, "Choose ncacn transport for RPC operations", "" },
+       { "none", RPC_RTYPE_NTSTATUS, cmd_none, NULL,     NULL, 0,
+         NULL, "Force RPC pipe connections to have no special properties",
+         "" },
 
        { NULL }
 };
 
 static struct cmd_set separator_command[] = {
-       { "---------------", MAX_RPC_RETURN_TYPE, NULL, NULL,   NULL, NULL, "----------------------" },
+       { "---------------", MAX_RPC_RETURN_TYPE, NULL, NULL,   NULL, 0, NULL,
+         "----------------------" },
        { NULL }
 };
 
@@ -640,16 +659,22 @@ static NTSTATUS do_cmd(struct cli_state *cli,
        /* Open pipe */
 
        if ((cmd_entry->interface != NULL) && (cmd_entry->rpc_pipe == NULL)) {
+               struct ndr_syntax_id interface;
+
+               if (!ndr_syntax_from_string(cmd_entry->interface,
+                                           cmd_entry->interface_version,
+                                           &interface)) {
+                       return NT_STATUS_INTERNAL_ERROR;
+               }
                switch (pipe_default_auth_type) {
                        case PIPE_AUTH_TYPE_NONE:
                                ntresult = cli_rpc_pipe_open_noauth_transport(
-                                       cli, default_transport,
-                                       cmd_entry->interface,
+                                       cli, default_transport, &interface,
                                        &cmd_entry->rpc_pipe);
                                break;
                        case PIPE_AUTH_TYPE_SPNEGO_NTLMSSP:
                                ntresult = cli_rpc_pipe_open_spnego_ntlmssp(
-                                       cli, cmd_entry->interface,
+                                       cli, &interface,
                                        default_transport,
                                        pipe_default_auth_level,
                                        get_cmdline_auth_info_domain(auth_info),
@@ -659,7 +684,7 @@ static NTSTATUS do_cmd(struct cli_state *cli,
                                break;
                        case PIPE_AUTH_TYPE_NTLMSSP:
                                ntresult = cli_rpc_pipe_open_ntlmssp(
-                                       cli, cmd_entry->interface,
+                                       cli, &interface,
                                        default_transport,
                                        pipe_default_auth_level,
                                        get_cmdline_auth_info_domain(auth_info),
@@ -669,7 +694,7 @@ static NTSTATUS do_cmd(struct cli_state *cli,
                                break;
                        case PIPE_AUTH_TYPE_SCHANNEL:
                                ntresult = cli_rpc_pipe_open_schannel(
-                                       cli, cmd_entry->interface,
+                                       cli, &interface,
                                        default_transport,
                                        pipe_default_auth_level,
                                        get_cmdline_auth_info_domain(auth_info),
@@ -680,19 +705,19 @@ static NTSTATUS do_cmd(struct cli_state *cli,
                                          "auth type %u\n",
                                          get_pipe_name_from_syntax(
                                                  talloc_tos(),
-                                                 cmd_entry->interface),
+                                                 &interface),
                                          pipe_default_auth_type ));
                                return NT_STATUS_UNSUCCESSFUL;
                }
                if (!NT_STATUS_IS_OK(ntresult)) {
                        DEBUG(0, ("Could not initialise %s. Error was %s\n",
                                  get_pipe_name_from_syntax(
-                                         talloc_tos(), cmd_entry->interface),
+                                         talloc_tos(), &interface),
                                  nt_errstr(ntresult) ));
                        return ntresult;
                }
 
-               if (ndr_syntax_id_equal(cmd_entry->interface,
+               if (ndr_syntax_id_equal(&interface,
                                        &ndr_table_netlogon.syntax_id)) {
                        uint32_t neg_flags = NETLOGON_NEG_AUTH2_ADS_FLAGS;
                        enum netr_SchannelType sec_channel_type;
@@ -719,7 +744,7 @@ static NTSTATUS do_cmd(struct cli_state *cli,
                                DEBUG(0, ("Could not initialise credentials for %s.\n",
                                          get_pipe_name_from_syntax(
                                                  talloc_tos(),
-                                                 cmd_entry->interface)));
+                                                 &interface)));
                                return ntresult;
                        }
                }
index 91810b63a9b28c5ea2c38794e221ec2bfc8bc70f..926204cecafe553ddb3cb474dd9439d0786447df 100644 (file)
@@ -33,7 +33,8 @@ struct cmd_set {
        NTSTATUS (*ntfn)(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, 
                        const char **argv);
        WERROR (*wfn)(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv);
-       const struct ndr_syntax_id *interface;
+       const char *interface;
+       uint32_t interface_version;
        struct rpc_pipe_client *rpc_pipe;
        const char *description;
        const char *usage;