diff options
Diffstat (limited to 'source3/utils/net_rpc.c')
-rw-r--r-- | source3/utils/net_rpc.c | 137 |
1 files changed, 68 insertions, 69 deletions
diff --git a/source3/utils/net_rpc.c b/source3/utils/net_rpc.c index 5491c58138..fa3a49fe37 100644 --- a/source3/utils/net_rpc.c +++ b/source3/utils/net_rpc.c @@ -141,7 +141,7 @@ NTSTATUS net_get_remote_domain_sid(struct cli_state *cli, TALLOC_CTX *mem_ctx, int run_rpc_command(struct net_context *c, struct cli_state *cli_arg, - const struct ndr_syntax_id *interface, + const struct ndr_interface_table *table, int conn_flags, rpc_command_fn fn, int argc, @@ -186,11 +186,11 @@ int run_rpc_command(struct net_context *c, if (!(conn_flags & NET_FLAGS_NO_PIPE)) { if (lp_client_schannel() - && (ndr_syntax_id_equal(interface, + && (ndr_syntax_id_equal(&table->syntax_id, &ndr_table_netlogon.syntax_id))) { /* Always try and create an schannel netlogon pipe. */ nt_status = cli_rpc_pipe_open_schannel( - cli, interface, NCACN_NP, + cli, &table->syntax_id, NCACN_NP, DCERPC_AUTH_LEVEL_PRIVACY, domain_name, &pipe_hnd); if (!NT_STATUS_IS_OK(nt_status)) { @@ -201,7 +201,7 @@ int run_rpc_command(struct net_context *c, } else { if (conn_flags & NET_FLAGS_SEAL) { nt_status = cli_rpc_pipe_open_generic_auth( - cli, interface, + cli, &table->syntax_id, (conn_flags & NET_FLAGS_TCP) ? NCACN_IP_TCP : NCACN_NP, DCERPC_AUTH_TYPE_NTLMSSP, @@ -211,13 +211,12 @@ int run_rpc_command(struct net_context *c, c->opt_password, &pipe_hnd); } else { nt_status = cli_rpc_pipe_open_noauth( - cli, interface, + cli, &table->syntax_id, &pipe_hnd); } if (!NT_STATUS_IS_OK(nt_status)) { DEBUG(0, ("Could not initialise pipe %s. Error was %s\n", - get_pipe_name_from_syntax( - talloc_tos(), interface), + table->name, nt_errstr(nt_status) )); goto fail; } @@ -307,7 +306,7 @@ int net_rpc_changetrustpw(struct net_context *c, int argc, const char **argv) return 0; } - return run_rpc_command(c, NULL, &ndr_table_netlogon.syntax_id, + return run_rpc_command(c, NULL, &ndr_table_netlogon, NET_FLAGS_ANONYMOUS | NET_FLAGS_PDC, rpc_changetrustpw_internals, argc, argv); @@ -409,7 +408,7 @@ static NTSTATUS rpc_oldjoin_internals(struct net_context *c, static int net_rpc_perform_oldjoin(struct net_context *c, int argc, const char **argv) { - return run_rpc_command(c, NULL, &ndr_table_netlogon.syntax_id, + return run_rpc_command(c, NULL, &ndr_table_netlogon, NET_FLAGS_NO_PIPE | NET_FLAGS_ANONYMOUS | NET_FLAGS_PDC, rpc_oldjoin_internals, argc, argv); @@ -609,7 +608,7 @@ int net_rpc_info(struct net_context *c, int argc, const char **argv) return 0; } - return run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, + return run_rpc_command(c, NULL, &ndr_table_samr, NET_FLAGS_PDC, rpc_info_internals, argc, argv); } @@ -677,7 +676,7 @@ int net_rpc_getsid(struct net_context *c, int argc, const char **argv) return 0; } - return run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, + return run_rpc_command(c, NULL, &ndr_table_samr, conn_flags, rpc_getsid_internals, argc, argv); @@ -1488,34 +1487,34 @@ struct rpc_sh_cmd *net_rpc_user_edit_cmds(struct net_context *c, { static struct rpc_sh_cmd cmds[] = { - { "fullname", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_str_edit, + { "fullname", NULL, &ndr_table_samr, rpc_sh_user_str_edit, N_("Show/Set a user's full name") }, - { "homedir", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_str_edit, + { "homedir", NULL, &ndr_table_samr, rpc_sh_user_str_edit, N_("Show/Set a user's home directory") }, - { "homedrive", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_str_edit, + { "homedrive", NULL, &ndr_table_samr, rpc_sh_user_str_edit, N_("Show/Set a user's home drive") }, - { "logonscript", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_str_edit, + { "logonscript", NULL, &ndr_table_samr, rpc_sh_user_str_edit, N_("Show/Set a user's logon script") }, - { "profilepath", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_str_edit, + { "profilepath", NULL, &ndr_table_samr, rpc_sh_user_str_edit, N_("Show/Set a user's profile path") }, - { "description", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_str_edit, + { "description", NULL, &ndr_table_samr, rpc_sh_user_str_edit, N_("Show/Set a user's description") }, - { "disabled", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_flag_edit, + { "disabled", NULL, &ndr_table_samr, rpc_sh_user_flag_edit, N_("Show/Set whether a user is disabled") }, - { "autolock", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_flag_edit, + { "autolock", NULL, &ndr_table_samr, rpc_sh_user_flag_edit, N_("Show/Set whether a user locked out") }, - { "pwnotreq", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_flag_edit, + { "pwnotreq", NULL, &ndr_table_samr, rpc_sh_user_flag_edit, N_("Show/Set whether a user does not need a password") }, - { "pwnoexp", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_flag_edit, + { "pwnoexp", NULL, &ndr_table_samr, rpc_sh_user_flag_edit, N_("Show/Set whether a user's password does not expire") }, { NULL, NULL, 0, NULL, NULL } @@ -1530,13 +1529,13 @@ struct rpc_sh_cmd *net_rpc_user_cmds(struct net_context *c, { static struct rpc_sh_cmd cmds[] = { - { "list", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_list, + { "list", NULL, &ndr_table_samr, rpc_sh_user_list, N_("List available users") }, - { "info", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_info, + { "info", NULL, &ndr_table_samr, rpc_sh_user_info, N_("List the domain groups a user is member of") }, - { "show", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_show, + { "show", NULL, &ndr_table_samr, rpc_sh_user_show, N_("Show info about a user") }, { "edit", net_rpc_user_edit_cmds, 0, NULL, @@ -1858,7 +1857,7 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, static int rpc_group_delete(struct net_context *c, int argc, const char **argv) { - return run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_samr, 0, rpc_group_delete_internals, argc,argv); } @@ -2244,7 +2243,7 @@ static NTSTATUS rpc_group_addmem_internals(struct net_context *c, static int rpc_group_addmem(struct net_context *c, int argc, const char **argv) { - return run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_samr, 0, rpc_group_addmem_internals, argc, argv); } @@ -2497,7 +2496,7 @@ static NTSTATUS rpc_group_delmem_internals(struct net_context *c, static int rpc_group_delmem(struct net_context *c, int argc, const char **argv) { - return run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_samr, 0, rpc_group_delmem_internals, argc, argv); } @@ -2796,7 +2795,7 @@ static NTSTATUS rpc_group_list_internals(struct net_context *c, static int rpc_group_list(struct net_context *c, int argc, const char **argv) { - return run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_samr, 0, rpc_group_list_internals, argc, argv); } @@ -3126,7 +3125,7 @@ static int rpc_group_members(struct net_context *c, int argc, const char **argv) return rpc_group_usage(c, argc, argv); } - return run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_samr, 0, rpc_group_members_internals, argc, argv); } @@ -3261,7 +3260,7 @@ int net_rpc_group(struct net_context *c, int argc, const char **argv) return 0; } - return run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_samr, 0, rpc_group_list_internals, argc, argv); } @@ -3699,7 +3698,7 @@ static int rpc_share_migrate_shares(struct net_context *c, int argc, return -1; } - return run_rpc_command(c, NULL, &ndr_table_srvsvc.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_srvsvc, 0, rpc_share_migrate_shares_internals, argc, argv); } @@ -4043,7 +4042,7 @@ static int rpc_share_migrate_files(struct net_context *c, int argc, const char * return -1; } - return run_rpc_command(c, NULL, &ndr_table_srvsvc.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_srvsvc, 0, rpc_share_migrate_files_internals, argc, argv); } @@ -4178,7 +4177,7 @@ static int rpc_share_migrate_security(struct net_context *c, int argc, return -1; } - return run_rpc_command(c, NULL, &ndr_table_srvsvc.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_srvsvc, 0, rpc_share_migrate_security_internals, argc, argv); } @@ -4216,17 +4215,17 @@ static int rpc_share_migrate_all(struct net_context *c, int argc, /* order is important. we don't want to be locked out by the share-acl * before copying files - gd */ - ret = run_rpc_command(c, NULL, &ndr_table_srvsvc.syntax_id, 0, + ret = run_rpc_command(c, NULL, &ndr_table_srvsvc, 0, rpc_share_migrate_shares_internals, argc, argv); if (ret) return ret; - ret = run_rpc_command(c, NULL, &ndr_table_srvsvc.syntax_id, 0, + ret = run_rpc_command(c, NULL, &ndr_table_srvsvc, 0, rpc_share_migrate_files_internals, argc, argv); if (ret) return ret; - return run_rpc_command(c, NULL, &ndr_table_srvsvc.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_srvsvc, 0, rpc_share_migrate_security_internals, argc, argv); } @@ -5034,19 +5033,19 @@ static int rpc_share_allowedusers(struct net_context *c, int argc, return 0; } - result = run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, 0, + result = run_rpc_command(c, NULL, &ndr_table_samr, 0, rpc_aliaslist_internals, argc, argv); if (result != 0) return result; - result = run_rpc_command(c, NULL, &ndr_table_lsarpc.syntax_id, 0, + result = run_rpc_command(c, NULL, &ndr_table_lsarpc, 0, rpc_aliaslist_dump, argc, argv); if (result != 0) return result; - return run_rpc_command(c, NULL, &ndr_table_srvsvc.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_srvsvc, 0, rpc_share_allowedusers_internals, argc, argv); } @@ -5270,16 +5269,16 @@ struct rpc_sh_cmd *net_rpc_share_cmds(struct net_context *c, TALLOC_CTX *mem_ctx { static struct rpc_sh_cmd cmds[] = { - { "list", NULL, &ndr_table_srvsvc.syntax_id, rpc_sh_share_list, + { "list", NULL, &ndr_table_srvsvc, rpc_sh_share_list, N_("List available shares") }, - { "add", NULL, &ndr_table_srvsvc.syntax_id, rpc_sh_share_add, + { "add", NULL, &ndr_table_srvsvc, rpc_sh_share_add, N_("Add a share") }, - { "delete", NULL, &ndr_table_srvsvc.syntax_id, rpc_sh_share_delete, + { "delete", NULL, &ndr_table_srvsvc, rpc_sh_share_delete, N_("Delete a share") }, - { "info", NULL, &ndr_table_srvsvc.syntax_id, rpc_sh_share_info, + { "info", NULL, &ndr_table_srvsvc, rpc_sh_share_info, N_("Get information about a share") }, { NULL, NULL, 0, NULL, NULL } @@ -5560,7 +5559,7 @@ static int rpc_shutdown_abort(struct net_context *c, int argc, return 0; } - rc = run_rpc_command(c, NULL, &ndr_table_initshutdown.syntax_id, 0, + rc = run_rpc_command(c, NULL, &ndr_table_initshutdown, 0, rpc_shutdown_abort_internals, argc, argv); if (rc == 0) @@ -5568,7 +5567,7 @@ static int rpc_shutdown_abort(struct net_context *c, int argc, DEBUG(1, ("initshutdown pipe didn't work, trying winreg pipe\n")); - return run_rpc_command(c, NULL, &ndr_table_winreg.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_winreg, 0, rpc_reg_shutdown_abort_internals, argc, argv); } @@ -5718,12 +5717,12 @@ static int rpc_shutdown(struct net_context *c, int argc, const char **argv) return 0; } - rc = run_rpc_command(c, NULL, &ndr_table_initshutdown.syntax_id, 0, + rc = run_rpc_command(c, NULL, &ndr_table_initshutdown, 0, rpc_init_shutdown_internals, argc, argv); if (rc) { DEBUG(1, ("initshutdown pipe failed, trying winreg pipe\n")); - rc = run_rpc_command(c, NULL, &ndr_table_winreg.syntax_id, 0, + rc = run_rpc_command(c, NULL, &ndr_table_winreg, 0, rpc_reg_shutdown_internals, argc, argv); } @@ -5903,7 +5902,7 @@ static NTSTATUS rpc_trustdom_add_internals(struct net_context *c, static int rpc_trustdom_add(struct net_context *c, int argc, const char **argv) { if (argc > 0 && !c->display_usage) { - return run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_samr, 0, rpc_trustdom_add_internals, argc, argv); } else { d_printf("%s\n%s", @@ -6106,7 +6105,7 @@ static NTSTATUS rpc_trustdom_del_internals(struct net_context *c, static int rpc_trustdom_del(struct net_context *c, int argc, const char **argv) { if (argc > 0 && !c->display_usage) { - return run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_samr, 0, rpc_trustdom_del_internals, argc, argv); } else { d_printf("%s\n%s", @@ -6970,7 +6969,7 @@ static int rpc_trustdom_list(struct net_context *c, int argc, const char **argv) /* query for domain's sid */ if (run_rpc_command( c, remote_cli, - &ndr_table_lsarpc.syntax_id, 0, + &ndr_table_lsarpc, 0, rpc_query_domain_sid, argc, argv)) d_printf(_("strange - couldn't get domain's sid\n")); @@ -7122,7 +7121,7 @@ static int rpc_samdump(struct net_context *c, int argc, const char **argv) { return 0; } - return run_rpc_command(c, NULL, &ndr_table_netlogon.syntax_id, + return run_rpc_command(c, NULL, &ndr_table_netlogon, NET_FLAGS_ANONYMOUS, rpc_samdump_internals, argc, argv); } @@ -7211,30 +7210,30 @@ static int rpc_printer_migrate_all(struct net_context *c, int argc, return -1; } - ret = run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + ret = run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_migrate_printers_internals, argc, argv); if (ret) return ret; - ret = run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + ret = run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_migrate_drivers_internals, argc, argv); if (ret) return ret; - ret = run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + ret = run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_migrate_forms_internals, argc, argv); if (ret) return ret; - ret = run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + ret = run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_migrate_settings_internals, argc, argv); if (ret) return ret; - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_migrate_security_internals, argc, argv); @@ -7267,7 +7266,7 @@ static int rpc_printer_migrate_drivers(struct net_context *c, int argc, return -1; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_migrate_drivers_internals, argc, argv); } @@ -7299,7 +7298,7 @@ static int rpc_printer_migrate_forms(struct net_context *c, int argc, return -1; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_migrate_forms_internals, argc, argv); } @@ -7331,7 +7330,7 @@ static int rpc_printer_migrate_printers(struct net_context *c, int argc, return -1; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_migrate_printers_internals, argc, argv); } @@ -7363,7 +7362,7 @@ static int rpc_printer_migrate_security(struct net_context *c, int argc, return -1; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_migrate_security_internals, argc, argv); } @@ -7396,7 +7395,7 @@ static int rpc_printer_migrate_settings(struct net_context *c, int argc, return -1; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_migrate_settings_internals, argc, argv); } @@ -7494,7 +7493,7 @@ static int rpc_printer_list(struct net_context *c, int argc, const char **argv) return 0; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_list_internals, argc, argv); } @@ -7521,7 +7520,7 @@ static int rpc_printer_driver_list(struct net_context *c, int argc, return 0; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_driver_list_internals, argc, argv); } @@ -7548,7 +7547,7 @@ static int rpc_printer_publish_publish(struct net_context *c, int argc, return 0; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_publish_publish_internals, argc, argv); } @@ -7574,7 +7573,7 @@ static int rpc_printer_publish_update(struct net_context *c, int argc, const cha return 0; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_publish_update_internals, argc, argv); } @@ -7601,7 +7600,7 @@ static int rpc_printer_publish_unpublish(struct net_context *c, int argc, return 0; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_publish_unpublish_internals, argc, argv); } @@ -7628,7 +7627,7 @@ static int rpc_printer_publish_list(struct net_context *c, int argc, return 0; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_publish_list_internals, argc, argv); } @@ -7694,7 +7693,7 @@ static int rpc_printer_publish(struct net_context *c, int argc, net_display_usage_from_functable(func); return 0; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_publish_list_internals, argc, argv); } @@ -7797,7 +7796,7 @@ int net_rpc_printer(struct net_context *c, int argc, const char **argv) net_display_usage_from_functable(func); return 0; } - return run_rpc_command(c, NULL, &ndr_table_spoolss.syntax_id, 0, + return run_rpc_command(c, NULL, &ndr_table_spoolss, 0, rpc_printer_list_internals, argc, argv); } |