diff options
Diffstat (limited to 'source3/rpc_server/srv_lsa_nt.c')
-rw-r--r-- | source3/rpc_server/srv_lsa_nt.c | 97 |
1 files changed, 1 insertions, 96 deletions
diff --git a/source3/rpc_server/srv_lsa_nt.c b/source3/rpc_server/srv_lsa_nt.c index f28441886a..d072061a5f 100644 --- a/source3/rpc_server/srv_lsa_nt.c +++ b/source3/rpc_server/srv_lsa_nt.c @@ -5,8 +5,7 @@ * Copyright (C) Luke Kenneth Casson Leighton 1996-1997, * Copyright (C) Paul Ashton 1997, * Copyright (C) Jeremy Allison 2001, - * Copyright (C) Rafal Szczesniak 2002, - * Copyright (C) Jim McDonough 2002. + * Copyright (C) Rafal Szczesniak 2002. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -343,48 +342,6 @@ static NTSTATUS lsa_get_generic_sd(TALLOC_CTX *mem_ctx, SEC_DESC **sd, size_t *s } /*************************************************************************** - init_dns_dom_info. - ***************************************************************************/ -static void init_dns_dom_info(LSA_DNS_DOM_INFO *r_l, char *nb_name, - char *dns_name, char *forest_name, - GUID *dom_guid, DOM_SID *dom_sid) -{ - if (nb_name && *nb_name) { - init_uni_hdr(&r_l->hdr_nb_dom_name, strlen(nb_name)); - init_unistr2(&r_l->uni_nb_dom_name, nb_name, - strlen(nb_name)); - r_l->hdr_nb_dom_name.uni_max_len += 2; - r_l->uni_nb_dom_name.uni_max_len += 1; - } - - if (dns_name && *dns_name) { - init_uni_hdr(&r_l->hdr_dns_dom_name, strlen(dns_name)); - init_unistr2(&r_l->uni_dns_dom_name, dns_name, - strlen(dns_name)); - r_l->hdr_dns_dom_name.uni_max_len += 2; - r_l->uni_dns_dom_name.uni_max_len += 1; - } - - if (forest_name && *forest_name) { - init_uni_hdr(&r_l->hdr_forest_name, strlen(forest_name)); - init_unistr2(&r_l->uni_forest_name, forest_name, - strlen(forest_name)); - r_l->hdr_forest_name.uni_max_len += 2; - r_l->uni_forest_name.uni_max_len += 1; - } - - /* how do we init the guid ? probably should write an init fn */ - if (dom_guid) { - memcpy(&r_l->dom_guid, dom_guid, sizeof(GUID)); - } - - if (dom_sid) { - r_l->ptr_dom_sid = 1; - init_dom_sid2(&r_l->dom_sid, dom_sid); - } -} - -/*************************************************************************** _lsa_open_policy2. ***************************************************************************/ @@ -1209,55 +1166,3 @@ NTSTATUS _lsa_query_secobj(pipes_struct *p, LSA_Q_QUERY_SEC_OBJ *q_u, LSA_R_QUER } -NTSTATUS _lsa_query_info2(pipes_struct *p, LSA_Q_QUERY_INFO2 *q_u, LSA_R_QUERY_INFO2 *r_u) -{ - struct lsa_info *handle; - char *nb_name = NULL; - char *dns_name = NULL; - char *forest_name = NULL; - DOM_SID *sid = NULL; - GUID guid; - - ZERO_STRUCT(guid); - r_u->status = NT_STATUS_OK; - - if (!find_policy_by_hnd(p, &q_u->pol, (void **)&handle)) - return NT_STATUS_INVALID_HANDLE; - - switch (q_u->info_class) { - case 0x0c: - /* check if the user have enough rights */ - if (!(handle->access & POLICY_VIEW_LOCAL_INFORMATION)) - return NT_STATUS_ACCESS_DENIED; - - /* Request PolicyPrimaryDomainInformation. */ - switch (lp_server_role()) { - case ROLE_DOMAIN_PDC: - case ROLE_DOMAIN_BDC: - nb_name = global_myworkgroup; - /* ugly temp hack for these next two */ - dns_name = lp_realm(); - forest_name = lp_realm(); - sid = get_global_sam_sid(); - secrets_fetch_domain_guid(global_myworkgroup, - &guid); - break; - default: - return NT_STATUS_CANT_ACCESS_DOMAIN_INFO; - } - init_dns_dom_info(&r_u->info.dns_dom_info, nb_name, dns_name, - forest_name,&guid,sid); - break; - default: - DEBUG(0,("_lsa_query_info2: unknown info level in Lsa Query: %d\n", q_u->info_class)); - r_u->status = NT_STATUS_INVALID_INFO_CLASS; - break; - } - - if (NT_STATUS_IS_OK(r_u->status)) { - r_u->ptr = 0x1; - r_u->info_class = q_u->info_class; - } - - return r_u->status; -} |