r354: Tridge convinced me that writing some wrapper functions by hand was a
authorTim Potter <tpot@samba.org>
Sun, 25 Apr 2004 22:05:05 +0000 (22:05 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:51:33 +0000 (12:51 -0500)
bad idea.

source/librpc/config.m4
source/librpc/rpc/dcerpc_lsa.c [deleted file]

index a4e5fa27fac6d0b62a546b89ea5300358d8f5b77..3674cf98c7913320346eba863b67d2fb0f0b9ff0 100644 (file)
@@ -25,12 +25,6 @@ SMB_SUBSYSTEM(LIBRPC_RAW,[],
                librpc/rpc/dcerpc_smb.o librpc/rpc/dcerpc_tcp.o],
                librpc/rpc/librpc_raw_public_proto.h)
 
-SMB_SUBSYSTEM(LIBRPC_CLIENT,[],
-               [librpc/rpc/dcerpc_lsa.o],
-               librpc/rpc/librpc/client/public_proto.h)
-
 SMB_SUBSYSTEM(LIBRPC,[],
-               [\$(LIBNDR_RAW_OBJS) \$(LIBRPC_RAW_OBJS) \
-                \$(LIBRPC_CLIENT_OBJS)],
+               [\$(LIBNDR_RAW_OBJS) \$(LIBRPC_RAW_OBJS)],
                librpc/librpc_public_proto.h)
-
diff --git a/source/librpc/rpc/dcerpc_lsa.c b/source/librpc/rpc/dcerpc_lsa.c
deleted file mode 100644 (file)
index 232799c..0000000
+++ /dev/null
@@ -1,393 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   raw dcerpc operations
-
-   Copyright (C) Tim Potter 2004
-   
-   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
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-NTSTATUS lsa_Close(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
-                  struct policy_handle *handle)
-{
-       struct lsa_Close r;
-       NTSTATUS status;
-       TALLOC_CTX *tmp_ctx;
-
-       if ((tmp_ctx = talloc_init("lsa_OpenPolicy")) == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       r.in.handle = r.out.handle = handle;
-
-       status = dcerpc_lsa_Close(p, tmp_ctx, &r);
-
-       talloc_destroy(tmp_ctx);
-
-       return status;
-}
-
-NTSTATUS lsa_Delete(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
-                   struct policy_handle *handle)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_EnumPrivs(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_SetSecObj(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_ChangePassword(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_OpenPolicy(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
-                       struct policy_handle *handle)
-{
-       struct lsa_ObjectAttribute attr;
-       struct lsa_QosInfo qos;
-       struct lsa_OpenPolicy r;
-       NTSTATUS status;
-       uint16 system_name = '\\';
-       TALLOC_CTX *tmp_ctx;
-
-       if ((tmp_ctx = talloc_init("lsa_OpenPolicy")) == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       qos.len = 0;
-       qos.impersonation_level = 2;
-       qos.context_mode = 1;
-       qos.effective_only = 0;
-
-       attr.len = 0;
-       attr.root_dir = NULL;
-       attr.object_name = NULL;
-       attr.attributes = 0;
-       attr.sec_desc = NULL;
-       attr.sec_qos = &qos;
-
-       r.in.system_name = &system_name;
-       r.in.attr = &attr;
-       r.in.desired_access = SEC_RIGHTS_MAXIMUM_ALLOWED;
-       r.out.handle = handle;  
-
-       status = dcerpc_lsa_OpenPolicy(p, tmp_ctx, &r);
-
-       talloc_destroy(tmp_ctx);
-
-       return status;
-}
-
-NTSTATUS lsa_QueryInfoPolicy(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_SetInfoPolicy(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_ClearAuditLog(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_CreateAccount(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
-                          struct policy_handle *handle)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_EnumAccounts(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-NTSTATUS lsa_CreateTrustedDomain(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
-                                struct policy_handle *handle)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_EnumTrustDom(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_LookupNames(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
-                        struct policy_handle *handle, char **names,
-                        uint32 num_names, struct dom_sid **sids,
-                        uint32 **sid_types, uint32 *num_sids)
-{
-       struct lsa_LookupNames r;
-       struct lsa_TransSidArray lsa_sids;
-       struct lsa_Name *lsa_names;
-       uint32 count = 0;
-       NTSTATUS status;
-       int i;
-       TALLOC_CTX *tmp_ctx;
-
-       if ((tmp_ctx = talloc_init("lsa_LookupNames")) == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       lsa_sids.count = 0;
-       lsa_sids.sids = NULL;
-
-       lsa_names = talloc(tmp_ctx, num_names * sizeof(lsa_names[0]));
-
-       for (i = 0; i < num_names; i++)
-               lsa_names[i].name = names[i];
-
-       r.in.handle = handle;
-       r.in.num_names = num_names;
-       r.in.names = lsa_names;
-       r.in.sids = &lsa_sids;
-       r.in.level = 1;
-       r.in.count = &count;
-       r.out.count = &count;
-       r.out.sids = &lsa_sids;
-
-       status = dcerpc_lsa_LookupNames(p, tmp_ctx, &r);
-
-       *num_sids = count;
-
-       if ((*sids = talloc(mem_ctx, count * sizeof(struct dom_sid))) == NULL){
-               status = NT_STATUS_NO_MEMORY;
-               goto done;
-       }
-
-       if ((*sid_types = talloc(mem_ctx, count * sizeof(uint32))) == NULL) {
-               status = NT_STATUS_NO_MEMORY;
-               goto done;
-       }
-
-       /* TODO: We should really return a list of sids that is the
-        * same length as the list of names, but with sid type unknown
-        * for the case where only some of the names could be
-        * resolved.  When no names are resolved the result code is
-         * NT_STATUS_NONE_MAPPED. 
-        */
-
-       for (i = 0; i < count; i++) {
-               struct dom_sid *s;
-
-               s = dom_sid_add_rid(tmp_ctx, r.out.domains->domains[i].sid,
-                                   lsa_sids.sids[i].rid);
-
-               (*sids)[i].sid_rev_num = s->sid_rev_num;
-               (*sids)[i].num_auths = s->num_auths;
-               memcpy((*sids)[i].id_auth, s->id_auth, sizeof(s->id_auth));
-               (*sids)[i].sub_auths = talloc_steal(
-                       tmp_ctx, mem_ctx, s->sub_auths);
-
-               (*sid_types)[i] = lsa_sids.sids[i].sid_type;
-       }
-
- done:
-       talloc_destroy(tmp_ctx);
-
-       return status;
-}
-
-NTSTATUS lsa_LookupSids(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, 
-                       struct policy_handle *handle, struct dom_sid *sids,
-                       int num_sids, char ***names, uint32 **sid_types,
-                       uint32 *num_names)
-{
-       struct lsa_LookupSids r;
-       struct lsa_TransNameArray lsa_names;
-       struct lsa_SidArray lsa_sids;
-       uint32 count = num_sids;
-       NTSTATUS status;
-       TALLOC_CTX *tmp_ctx;
-       uint32 i;
-
-       if ((tmp_ctx = talloc_init("lsa_LookupNames")) == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       lsa_names.count = 0;
-       lsa_names.names = NULL;
-
-       lsa_sids.num_sids = num_sids;
-       lsa_sids.sids = talloc(tmp_ctx, num_sids * sizeof(struct lsa_SidPtr));
-
-       for (i = 0; i < num_sids; i++)
-               lsa_sids.sids[i].sid = &sids[i];
-
-       r.in.handle = handle;
-       r.in.sids = &lsa_sids;
-       r.in.names = r.out.names = &lsa_names;
-       r.in.level = 1;
-       r.in.count = r.out.count = &count;
-
-       status = dcerpc_lsa_LookupSids(p, tmp_ctx, &r);
-
-       *num_names = count;
-
-       if ((*names = talloc(mem_ctx, count * sizeof(char *))) == NULL) {
-               status = NT_STATUS_NO_MEMORY;
-               goto done;
-       }
-
-       if ((*sid_types = talloc(mem_ctx, count * sizeof(uint32))) == NULL) {
-               status = NT_STATUS_NO_MEMORY;
-               goto done;
-       }
-
-       /* TODO: Again, we need to consider the case where some of the
-        * sids could not be resolved.
-        */
-
-       for (i = 0; i < count; i++) {
-               (*names)[i] = talloc_steal(tmp_ctx, mem_ctx,
-                                          lsa_names.names[i].name.name);
-               (*sid_types)[i] = lsa_names.names[i].sid_type;
-       }
-
- done:
-       talloc_destroy(tmp_ctx);
-
-       return status;
-}
-
-NTSTATUS lsa_CreateSecret(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
-                         struct policy_handle *handle)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_OpenAccount(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_EnumPrivsAccount(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
-                             struct policy_handle *handle,
-                             struct policy_handle *acct_handle)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-/* AddPrivs */
-
-/* RemovePrivs */
-
-/* GetQuotas */
-
-/* SetQuotas */
-
-/* GetSystemAccount */
-
-/* SetSystemAccount */
-
-/* OpenTrustDom */
-
-/* QueryTrustDom */
-
-/* SetInfoTrustDom */
-
-NTSTATUS lsa_OpenSecret(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_SetSecret(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS lsa_QuerySecret(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-/* LookupPrivValue */
-
-NTSTATUS lsa_LookupPrivName(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
-                           struct policy_handle *handle)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-/* PrivGetDispname */
-
-/* DeleteObject */
-
-/* EnumAcctWithRight */
-
-NTSTATUS lsa_EnumAccountRights(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-/* AddAcctRights */
-
-/* RemoveAcctRights */
-
-/* QueryTrustDomInfo */
-
-/* SetTrustDomInfo */
-
-/* DeleteTrustDom */
-
-/* StorePrivData */
-
-/* RetrPrivData */
-
-NTSTATUS lsa_OpenPolicy2(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
-                        struct policy_handle *handle)
-{
-       struct lsa_ObjectAttribute attr;
-       struct lsa_QosInfo qos;
-       struct lsa_OpenPolicy2 r;
-       TALLOC_CTX *tmp_ctx;
-       NTSTATUS status;
-
-       if ((tmp_ctx = talloc_init("lsa_OpenPolicy2")) == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       qos.len = 0;
-       qos.impersonation_level = 2;
-       qos.context_mode = 1;
-       qos.effective_only = 0;
-
-       attr.len = 0;
-       attr.root_dir = NULL;
-       attr.object_name = NULL;
-       attr.attributes = 0;
-       attr.sec_desc = NULL;
-       attr.sec_qos = &qos;
-
-       r.in.system_name = "\\";
-       r.in.attr = &attr;
-       r.in.desired_access = SEC_RIGHTS_MAXIMUM_ALLOWED;
-       r.out.handle = handle;
-
-       status = dcerpc_lsa_OpenPolicy2(p, tmp_ctx, &r);
-
-       talloc_destroy(tmp_ctx);
-
-       return status;
-}