From a56bea383b4813f77478f9859dc33c90a564f540 Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Sat, 20 Nov 1999 19:43:37 +0000 Subject: doing a code reshuffle. want to add code to establish trust relationships. (This used to be commit 3ec269b402ba6898d905ea1029c427e1b645faf4) --- source3/rpc_client/cli_samr.c | 449 ------------------------------------------ 1 file changed, 449 deletions(-) (limited to 'source3/rpc_client/cli_samr.c') diff --git a/source3/rpc_client/cli_samr.c b/source3/rpc_client/cli_samr.c index d25b6e2305..97e218b1b3 100644 --- a/source3/rpc_client/cli_samr.c +++ b/source3/rpc_client/cli_samr.c @@ -32,455 +32,6 @@ extern int DEBUGLEVEL; - -/**************************************************************************** -do a SAMR create domain user -****************************************************************************/ -BOOL create_samr_domain_user(struct cli_state *cli, uint16 fnum, - POLICY_HND *pol_open_domain, - const char *acct_name, uint16 acb_info, - uint32 *rid) -{ - POLICY_HND pol_open_user; - BOOL ret = True; - - if (pol_open_domain == NULL || acct_name == NULL) return False; - - /* send create user */ - if (!samr_create_dom_user(cli, fnum, - pol_open_domain, - acct_name, acb_info, 0xe005000b, - &pol_open_user, rid)) - { - return False; - } - - DEBUG(5,("create_samr_domain_user: name: %s rid 0x%x\n", - acct_name, *rid)); - - return samr_close(cli, fnum, &pol_open_user) && ret; -} - -/**************************************************************************** -do a SAMR create domain alias -****************************************************************************/ -BOOL create_samr_domain_alias(struct cli_state *cli, uint16 fnum, - POLICY_HND *pol_open_domain, - const char *acct_name, const char *acct_desc, - uint32 *rid) -{ - POLICY_HND pol_open_alias; - ALIAS_INFO_CTR ctr; - BOOL ret = True; - - if (pol_open_domain == NULL || acct_name == NULL || acct_desc == NULL) return False; - - /* send create alias */ - if (!samr_create_dom_alias(cli, fnum, - pol_open_domain, - acct_name, - &pol_open_alias, rid)) - { - return False; - } - - DEBUG(5,("create_samr_domain_alias: name: %s rid 0x%x\n", - acct_name, *rid)); - - ctr.switch_value1 = 3; - make_samr_alias_info3(&ctr.alias.info3, acct_desc); - - /* send set alias info */ - if (!samr_set_aliasinfo(cli, fnum, - &pol_open_alias, - &ctr)) - { - DEBUG(5,("create_samr_domain_alias: error in samr_set_aliasinfo\n")); - ret = False; - } - - return samr_close(cli, fnum,&pol_open_alias) && ret; -} - -/**************************************************************************** -do a SAMR create domain group -****************************************************************************/ -BOOL create_samr_domain_group(struct cli_state *cli, uint16 fnum, - POLICY_HND *pol_open_domain, - const char *acct_name, const char *acct_desc, - uint32 *rid) -{ - POLICY_HND pol_open_group; - GROUP_INFO_CTR ctr; - BOOL ret = True; - - if (pol_open_domain == NULL || acct_name == NULL || acct_desc == NULL) return False; - - /* send create group*/ - if (!samr_create_dom_group(cli, fnum, - pol_open_domain, - acct_name, - &pol_open_group, rid)) - { - return False; - } - - DEBUG(5,("create_samr_domain_group: name: %s rid 0x%x\n", - acct_name, *rid)); - - ctr.switch_value1 = 4; - ctr.switch_value2 = 4; - make_samr_group_info4(&ctr.group.info4, acct_desc); - - /* send user groups query */ - if (!samr_set_groupinfo(cli, fnum, - &pol_open_group, - &ctr)) - { - DEBUG(5,("create_samr_domain_group: error in samr_set_groupinfo\n")); - ret = False; - } - - return samr_close(cli, fnum,&pol_open_group) && ret; -} - -/**************************************************************************** -do a SAMR query user groups -****************************************************************************/ -BOOL get_samr_query_usergroups(struct cli_state *cli, uint16 fnum, - const POLICY_HND *pol_open_domain, - uint32 user_rid, - uint32 *num_groups, DOM_GID **gid) -{ - POLICY_HND pol_open_user; - BOOL ret = True; - - if (pol_open_domain == NULL || num_groups == NULL || gid == NULL) return False; - - /* send open domain (on user sid) */ - if (!samr_open_user(cli, fnum, - pol_open_domain, - 0x02011b, user_rid, - &pol_open_user)) - { - return False; - } - - /* send user groups query */ - if (!samr_query_usergroups(cli, fnum, - &pol_open_user, - num_groups, gid)) - { - DEBUG(5,("samr_query_usergroups: error in query user groups\n")); - ret = False; - } - - return samr_close(cli, fnum,&pol_open_user) && ret; -} - -/**************************************************************************** -do a SAMR delete group -****************************************************************************/ -BOOL delete_samr_dom_group(struct cli_state *cli, uint16 fnum, - POLICY_HND *pol_open_domain, - uint32 group_rid) -{ - POLICY_HND pol_open_group; - - if (pol_open_domain == NULL) return False; - - /* send open domain (on group rid) */ - if (!samr_open_group(cli, fnum,pol_open_domain, - 0x00000010, group_rid, - &pol_open_group)) - { - return False; - } - - /* send group delete */ - if (!samr_delete_dom_group(cli, fnum,&pol_open_group)) - - { - DEBUG(5,("delete_samr_dom_group: error in delete domain group\n")); - samr_close(cli, fnum,&pol_open_group); - return False; - } - - return True; -} - - -/**************************************************************************** -do a SAMR query group members -****************************************************************************/ -BOOL get_samr_query_groupmem(struct cli_state *cli, uint16 fnum, - const POLICY_HND *pol_open_domain, - uint32 group_rid, uint32 *num_mem, - uint32 **rid, uint32 **attr) -{ - POLICY_HND pol_open_group; - BOOL ret = True; - - if (pol_open_domain == NULL || num_mem == NULL || rid == NULL || attr == NULL) return False; - - /* send open domain (on group sid) */ - if (!samr_open_group(cli, fnum, pol_open_domain, - 0x00000010, group_rid, - &pol_open_group)) - { - return False; - } - - /* send group info query */ - if (!samr_query_groupmem(cli, fnum,&pol_open_group, num_mem, rid, attr)) - - { - DEBUG(5,("samr_query_group: error in query group members\n")); - ret = False; - } - - return samr_close(cli, fnum,&pol_open_group) && ret; -} - -/**************************************************************************** -do a SAMR delete alias -****************************************************************************/ -BOOL delete_samr_dom_alias(struct cli_state *cli, uint16 fnum, - POLICY_HND *pol_open_domain, - uint32 alias_rid) -{ - POLICY_HND pol_open_alias; - - if (pol_open_domain == NULL) return False; - - /* send open domain (on alias rid) */ - if (!samr_open_alias(cli, fnum,pol_open_domain, - 0x000f001f, alias_rid, &pol_open_alias)) - { - return False; - } - - /* send alias delete */ - if (!samr_delete_dom_alias(cli, fnum,&pol_open_alias)) - - { - DEBUG(5,("delete_samr_dom_alias: error in delete domain alias\n")); - samr_close(cli, fnum,&pol_open_alias); - return False; - } - - return True; -} - - -/**************************************************************************** -do a SAMR query alias members -****************************************************************************/ -BOOL get_samr_query_aliasmem(struct cli_state *cli, uint16 fnum, - const POLICY_HND *pol_open_domain, - uint32 alias_rid, uint32 *num_mem, DOM_SID2 *sid) -{ - POLICY_HND pol_open_alias; - BOOL ret = True; - - if (pol_open_domain == NULL || num_mem == NULL || sid == NULL) return False; - - /* send open domain (on alias sid) */ - if (!samr_open_alias(cli, fnum, pol_open_domain, - 0x000f001f, alias_rid, - &pol_open_alias)) - { - return False; - } - - /* send alias info query */ - if (!samr_query_aliasmem(cli, fnum, &pol_open_alias, num_mem, sid)) - - { - DEBUG(5,("samr_query_alias: error in query alias members\n")); - ret = False; - } - - return samr_close(cli, fnum,&pol_open_alias) && ret; -} - -/**************************************************************************** -do a SAMR set user info -****************************************************************************/ -BOOL set_samr_set_userinfo2(struct cli_state *cli, uint16 fnum, - POLICY_HND *pol_open_domain, - uint32 info_level, - uint32 user_rid, void *usr) -{ - POLICY_HND pol_open_user; - BOOL ret = True; - - if (pol_open_domain == NULL || usr == NULL) return False; - - /* send open domain (on user sid) */ - if (!samr_open_user(cli, fnum, - pol_open_domain, - 0x000601b4, user_rid, - &pol_open_user)) - { - return False; - } - - /* send user info query */ - if (!samr_set_userinfo2(cli, fnum, - &pol_open_user, - info_level, usr)) - { - DEBUG(5,("samr_set_userinfo: error in query user info, level 0x%x\n", - info_level)); - ret = False; - } - - return samr_close(cli, fnum,&pol_open_user) && ret; -} - -/**************************************************************************** -do a SAMR set user info -****************************************************************************/ -BOOL set_samr_set_userinfo(struct cli_state *cli, uint16 fnum, - POLICY_HND *pol_open_domain, - uint32 info_level, - uint32 user_rid, void *usr) -{ - POLICY_HND pol_open_user; - BOOL ret = True; - - if (pol_open_domain == NULL || usr == NULL) return False; - - /* send open domain (on user sid) */ - if (!samr_open_user(cli, fnum, - pol_open_domain, - 0x000601b4, user_rid, - &pol_open_user)) - { - return False; - } - - /* send user info query */ - if (!samr_set_userinfo(cli, fnum, - &pol_open_user, - info_level, usr)) - { - DEBUG(5,("samr_set_userinfo: error in query user info, level 0x%x\n", - info_level)); - ret = False; - } - - return samr_close(cli, fnum,&pol_open_user) && ret; -} - -/**************************************************************************** -do a SAMR query user info -****************************************************************************/ -BOOL get_samr_query_userinfo(struct cli_state *cli, uint16 fnum, - POLICY_HND *pol_open_domain, - uint32 info_level, - uint32 user_rid, void *usr) -{ - POLICY_HND pol_open_user; - BOOL ret = True; - - if (pol_open_domain == NULL || usr == NULL) return False; - - /* send open domain (on user sid) */ - if (!samr_open_user(cli, fnum, - pol_open_domain, - 0x02011b, user_rid, - &pol_open_user)) - { - return False; - } - - /* send user info query */ - if (!samr_query_userinfo(cli, fnum, - &pol_open_user, - info_level, usr)) - { - DEBUG(5,("samr_query_userinfo: error in query user info, level 0x%x\n", - info_level)); - ret = False; - } - - return samr_close(cli, fnum,&pol_open_user) && ret; -} - -/**************************************************************************** -do a SAMR query group info -****************************************************************************/ -BOOL get_samr_query_groupinfo(struct cli_state *cli, uint16 fnum, - const POLICY_HND *pol_open_domain, - uint32 info_level, - uint32 group_rid, GROUP_INFO_CTR *ctr) -{ - POLICY_HND pol_open_group; - BOOL ret = True; - - if (pol_open_domain == NULL || ctr == NULL) return False; - - bzero(ctr, sizeof(*ctr)); - - /* send open domain (on group sid) */ - if (!samr_open_group(cli, fnum, - pol_open_domain, - 0x02000000, group_rid, &pol_open_group)) - { - return False; - } - - /* send group info query */ - if (!samr_query_groupinfo(cli, fnum, - &pol_open_group, - info_level, ctr)) - { - DEBUG(5,("samr_query_groupinfo: error in query group info, level 0x%x\n", - info_level)); - ret = False; - } - - return samr_close(cli, fnum,&pol_open_group) && ret; -} - -/**************************************************************************** -do a SAMR query alias info -****************************************************************************/ -BOOL get_samr_query_aliasinfo(struct cli_state *cli, uint16 fnum, - const POLICY_HND *pol_open_domain, - uint32 info_level, - uint32 alias_rid, ALIAS_INFO_CTR *ctr) -{ - POLICY_HND pol_open_alias; - BOOL ret = True; - - if (pol_open_domain == NULL || ctr == NULL) return False; - - bzero(ctr, sizeof(*ctr)); - - /* send open domain (on alias sid) */ - if (!samr_open_alias(cli, fnum, - pol_open_domain, - 0x02000000, alias_rid, &pol_open_alias)) - { - return False; - } - - /* send alias info query */ - if (!samr_query_aliasinfo(cli, fnum, - &pol_open_alias, - info_level, ctr)) - { - DEBUG(5,("samr_query_aliasinfo: error in query alias info, level 0x%x\n", - info_level)); - ret = False; - } - - return samr_close(cli, fnum,&pol_open_alias) && ret; -} - /**************************************************************************** do a SAMR change user password command ****************************************************************************/ -- cgit