The branch, master has been updated
       via  885887a s3-waf: no need to call pidl with --samba3-ndr-client 
anymore.
       via  2534e01 s3-build: remove --samba3-ndr-client from build_idl.sh 
script.
       via  d57ddc6 s3-waf: remove RPCCLI_LSA subsystem.
       via  ad15128 s3-build: remove RPCCLI_LSA subsystem.
       via  387d154 s3-winbind: prefer dcerpc_lsa_X functions in 
winbindd/winbindd_rpc.c.
       via  04ac046 s3-winbind: prefer dcerpc_lsa_X functions in 
winbindd/winbindd_samr.c.
       via  a85b20a s3-winbind: prefer dcerpc_lsa_X functions in 
winbindd/winbind_cm.c
      from  586b2ee s3-epmap: use correct dcerpc client header in dcerpc_ep.c

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 885887ac1b7de1dbbc3da63843600d69efd5f6e8
Author: Günther Deschner <g...@samba.org>
Date:   Wed Feb 2 18:51:45 2011 +0100

    s3-waf: no need to call pidl with --samba3-ndr-client anymore.
    
    Guenther
    
    Autobuild-User: Günther Deschner <g...@samba.org>
    Autobuild-Date: Wed Feb  2 21:38:23 CET 2011 on sn-devel-104

commit 2534e01a3ac187f42c0d359da2fd72b11ea0f5ae
Author: Günther Deschner <g...@samba.org>
Date:   Wed Feb 2 18:53:54 2011 +0100

    s3-build: remove --samba3-ndr-client from build_idl.sh script.
    
    Guenther

commit d57ddc64c5a0551554756de01acb5135d4cb3a6f
Author: Günther Deschner <g...@samba.org>
Date:   Tue Jan 18 18:07:04 2011 +0100

    s3-waf: remove RPCCLI_LSA subsystem.
    
    Guenther

commit ad15128d78065e56f1a2c630dd96cc4aa115d3d0
Author: Günther Deschner <g...@samba.org>
Date:   Tue Jan 18 18:06:52 2011 +0100

    s3-build: remove RPCCLI_LSA subsystem.
    
    Guenther

commit 387d1543ed8ac16389ace7a09cb9a452e2d220db
Author: Günther Deschner <g...@samba.org>
Date:   Tue Jan 18 18:05:49 2011 +0100

    s3-winbind: prefer dcerpc_lsa_X functions in winbindd/winbindd_rpc.c.
    
    Guenther

commit 04ac046a46fe59b0551e2898ebc8940da601c406
Author: Günther Deschner <g...@samba.org>
Date:   Tue Jan 18 18:02:27 2011 +0100

    s3-winbind: prefer dcerpc_lsa_X functions in winbindd/winbindd_samr.c.
    
    Guenther

commit a85b20a1649980e17077e64de4d474fe6cd6f202
Author: Günther Deschner <g...@samba.org>
Date:   Tue Jan 18 17:54:24 2011 +0100

    s3-winbind: prefer dcerpc_lsa_X functions in winbindd/winbind_cm.c
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 librpc/build_idl.sh              |    6 ++--
 librpc/idl/wscript_build         |    4 +-
 source3/Makefile.in              |    3 +-
 source3/librpc/idl/wscript_build |    9 ++++-
 source3/script/build_idl.sh      |    6 ++--
 source3/winbindd/winbindd_cm.c   |   64 ++++++++++++++++++++-----------------
 source3/winbindd/winbindd_rpc.c  |   19 +++++++----
 source3/winbindd/winbindd_samr.c |   38 +++++++++++++++--------
 source3/wscript_build            |    6 +---
 9 files changed, 89 insertions(+), 66 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/build_idl.sh b/librpc/build_idl.sh
index c335557..afab910 100755
--- a/librpc/build_idl.sh
+++ b/librpc/build_idl.sh
@@ -7,7 +7,7 @@ else
        FULL=0
 fi
 
-ARGS="--outputdir $PIDL_OUTPUTDIR --header --ndr-parser --samba3-ndr-server 
--samba3-ndr-client --server --client --python --dcom-proxy --com-header 
$PIDL_ARGS --"
+ARGS="--outputdir $PIDL_OUTPUTDIR --header --ndr-parser --samba3-ndr-server 
--server --client --python --dcom-proxy --com-header $PIDL_ARGS --"
 IDL_FILES="$*"
 
 oldpwd=`pwd`
@@ -30,8 +30,8 @@ fi
 list=""
 for f in ${IDL_FILES}; do
         b=`basename $f .idl`
-       outfiles="cli_$b.c $b.h ndr_${b}_c.c ndr_$b.h ndr_${b}_s.c srv_$b.c"
-       outfiles="$outfiles cli_$b.h ndr_$b.c ndr_${b}_c.h py_$b.c srv_$b.h"
+       outfiles="$b.h ndr_${b}_c.c ndr_$b.h ndr_${b}_s.c srv_$b.c"
+       outfiles="$outfiles ndr_$b.c ndr_${b}_c.h py_$b.c srv_$b.h"
 
        for o in $outfiles; do
            [ -f $PIDL_OUTPUTDIR/$o ] || {
diff --git a/librpc/idl/wscript_build b/librpc/idl/wscript_build
index 7342228..6fdd5f3 100644
--- a/librpc/idl/wscript_build
+++ b/librpc/idl/wscript_build
@@ -11,12 +11,12 @@ bld.SAMBA_PIDL_LIST('PIDL',
                        oxidresolver.idl samr.idl srvsvc.idl winreg.idl 
dcerpc.idl
                        drsblobs.idl efs.idl frstrans.idl mgmt.idl netlogon.idl
                        policyagent.idl scerpc.idl svcctl.idl wkssvc.idl 
eventlog6.idl backupkey.idl''',
-                    options='--header --ndr-parser --samba3-ndr-server 
--samba3-ndr-client --server --client --python',
+                    options='--header --ndr-parser --samba3-ndr-server 
--server --client --python',
                     output_dir='../gen_ndr')
 
 bld.SAMBA_PIDL_LIST('PIDL',
                     'wmi.idl dcom.idl',
-                    options='--header --ndr-parser --samba3-ndr-server 
--samba3-ndr-client --server --client --python --dcom-proxy --com-header',
+                    options='--header --ndr-parser --server --client --python 
--dcom-proxy --com-header',
                     output_dir='../gen_ndr')
 
 bld.SAMBA_PIDL_LIST('PIDL',
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 5771f40..09cd713 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -367,8 +367,7 @@ LIBCLI_WKSSVC_OBJ = librpc/gen_ndr/ndr_wkssvc_c.o
 
 LIBCLI_SRVSVC_OBJ = librpc/gen_ndr/ndr_srvsvc_c.o
 
-LIBCLI_LSA_OBJ = librpc/gen_ndr/cli_lsa.o \
-                librpc/gen_ndr/ndr_lsa_c.o \
+LIBCLI_LSA_OBJ = librpc/gen_ndr/ndr_lsa_c.o \
                 rpc_client/cli_lsarpc.o \
                 rpc_client/init_lsa.o
 
diff --git a/source3/librpc/idl/wscript_build b/source3/librpc/idl/wscript_build
index 5dc46cf..9957614 100644
--- a/source3/librpc/idl/wscript_build
+++ b/source3/librpc/idl/wscript_build
@@ -2,7 +2,12 @@
 
 bld.SAMBA_PIDL_LIST('PIDL',
                     '''messaging.idl libnetapi.idl notify.idl
-                       wbint.idl perfcount.idl secrets.idl libnet_join.idl 
preg.idl''',
-                    options='--includedir=../librpc/idl --header --ndr-parser 
--samba3-ndr-server --samba3-ndr-client --client',
+                       perfcount.idl secrets.idl libnet_join.idl preg.idl''',
+                    options='--includedir=../librpc/idl --header --ndr-parser',
+                    output_dir='../gen_ndr')
+
+bld.SAMBA_PIDL_LIST('PIDL',
+                    'wbint.idl',
+                    options='--includedir=../librpc/idl --header --ndr-parser 
--samba3-ndr-server --client',
                     output_dir='../gen_ndr')
 
diff --git a/source3/script/build_idl.sh b/source3/script/build_idl.sh
index 8f88588..97e813e 100755
--- a/source3/script/build_idl.sh
+++ b/source3/script/build_idl.sh
@@ -7,7 +7,7 @@ else
        FULL=0
 fi
 
-ARGS="--includedir=../librpc/idl --outputdir $PIDL_OUTPUTDIR --header 
--ndr-parser --samba3-ndr-server --samba3-ndr-client $PIDL_ARGS --"
+ARGS="--includedir=../librpc/idl --outputdir $PIDL_OUTPUTDIR --header 
--ndr-parser --client --samba3-ndr-server $PIDL_ARGS --"
 IDL_FILES="$*"
 
 oldpwd=`pwd`
@@ -30,8 +30,8 @@ fi
 list=""
 for f in ${IDL_FILES}; do
         b=`basename $f .idl`
-       outfiles="cli_$b.c $b.h ndr_$b.h srv_$b.c"
-       outfiles="$outfiles cli_$b.h ndr_$b.c srv_$b.h"
+       outfiles="$b.h ndr_$b.h srv_$b.c"
+       outfiles="$outfiles ndr_$b.c srv_$b.h"
 
        for o in $outfiles; do
            [ -f $PIDL_OUTPUTDIR/$o ] || {
diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c
index 98598cf..42f33ab 100644
--- a/source3/winbindd/winbindd_cm.c
+++ b/source3/winbindd/winbindd_cm.c
@@ -64,7 +64,7 @@
 #include "../librpc/gen_ndr/ndr_netlogon_c.h"
 #include "rpc_client/cli_netlogon.h"
 #include "../librpc/gen_ndr/ndr_samr_c.h"
-#include "../librpc/gen_ndr/cli_lsa.h"
+#include "../librpc/gen_ndr/ndr_lsa_c.h"
 #include "rpc_client/cli_lsarpc.h"
 #include "../librpc/gen_ndr/ndr_dssetup_c.h"
 #include "libads/sitename_cache.h"
@@ -1626,6 +1626,8 @@ static NTSTATUS cm_open_connection(struct winbindd_domain 
*domain,
 
 void invalidate_cm_connection(struct winbindd_cm_conn *conn)
 {
+       NTSTATUS result;
+
        /* We're closing down a possibly dead
           connection. Don't have impossibly long (10s) timeouts. */
 
@@ -1635,7 +1637,6 @@ void invalidate_cm_connection(struct winbindd_cm_conn 
*conn)
 
        if (conn->samr_pipe != NULL) {
                if (is_valid_policy_hnd(&conn->sam_connect_handle)) {
-                       NTSTATUS result;
                        dcerpc_samr_Close(conn->samr_pipe->binding_handle,
                                          talloc_tos(),
                                          &conn->sam_connect_handle,
@@ -1650,8 +1651,10 @@ void invalidate_cm_connection(struct winbindd_cm_conn 
*conn)
 
        if (conn->lsa_pipe != NULL) {
                if (is_valid_policy_hnd(&conn->lsa_policy)) {
-                       rpccli_lsa_Close(conn->lsa_pipe, talloc_tos(),
-                                        &conn->lsa_policy);
+                       dcerpc_lsa_Close(conn->lsa_pipe->binding_handle,
+                                        talloc_tos(),
+                                        &conn->lsa_policy,
+                                        &result);
                }
                TALLOC_FREE(conn->lsa_pipe);
                /* Ok, it must be dead. Drop timeout to 0.5 sec. */
@@ -1662,8 +1665,10 @@ void invalidate_cm_connection(struct winbindd_cm_conn 
*conn)
 
        if (conn->lsa_pipe_tcp != NULL) {
                if (is_valid_policy_hnd(&conn->lsa_policy)) {
-                       rpccli_lsa_Close(conn->lsa_pipe, talloc_tos(),
-                                        &conn->lsa_policy);
+                       dcerpc_lsa_Close(conn->lsa_pipe->binding_handle,
+                                        talloc_tos(),
+                                        &conn->lsa_policy,
+                                        &result);
                }
                TALLOC_FREE(conn->lsa_pipe_tcp);
                /* Ok, it must be dead. Drop timeout to 0.5 sec. */
@@ -1920,7 +1925,7 @@ static bool set_dc_type_and_flags_trustinfo( struct 
winbindd_domain *domain )
 
 static void set_dc_type_and_flags_connect( struct winbindd_domain *domain )
 {
-       NTSTATUS                result;
+       NTSTATUS status, result;
        WERROR werr;
        TALLOC_CTX              *mem_ctx = NULL;
        struct rpc_pipe_client  *cli = NULL;
@@ -1941,14 +1946,14 @@ static void set_dc_type_and_flags_connect( struct 
winbindd_domain *domain )
 
        DEBUG(5, ("set_dc_type_and_flags_connect: domain %s\n", domain->name ));
 
-       result = cli_rpc_pipe_open_noauth(domain->conn.cli,
+       status = cli_rpc_pipe_open_noauth(domain->conn.cli,
                                          &ndr_table_dssetup.syntax_id,
                                          &cli);
 
-       if (!NT_STATUS_IS_OK(result)) {
+       if (!NT_STATUS_IS_OK(status)) {
                DEBUG(5, ("set_dc_type_and_flags_connect: Could not bind to "
                          "PI_DSSETUP on domain %s: (%s)\n",
-                         domain->name, nt_errstr(result)));
+                         domain->name, nt_errstr(status)));
 
                /* if this is just a non-AD domain we need to continue
                 * identifying so that we can in the end return with
@@ -1957,26 +1962,26 @@ static void set_dc_type_and_flags_connect( struct 
winbindd_domain *domain )
                goto no_dssetup;
        }
 
-       result = 
dcerpc_dssetup_DsRoleGetPrimaryDomainInformation(cli->binding_handle, mem_ctx,
+       status = 
dcerpc_dssetup_DsRoleGetPrimaryDomainInformation(cli->binding_handle, mem_ctx,
                                                                  
DS_ROLE_BASIC_INFORMATION,
                                                                  &info,
                                                                  &werr);
        TALLOC_FREE(cli);
 
-       if (NT_STATUS_IS_OK(result)) {
+       if (NT_STATUS_IS_OK(status)) {
                result = werror_to_ntstatus(werr);
        }
-       if (!NT_STATUS_IS_OK(result)) {
+       if (!NT_STATUS_IS_OK(status)) {
                DEBUG(5, ("set_dc_type_and_flags_connect: 
rpccli_ds_getprimarydominfo "
                          "on domain %s failed: (%s)\n",
-                         domain->name, nt_errstr(result)));
+                         domain->name, nt_errstr(status)));
 
                /* older samba3 DCs will return DCERPC_FAULT_OP_RNG_ERROR for
                 * every opcode on the DSSETUP pipe, continue with
                 * no_dssetup mode here as well to get domain->initialized
                 * set - gd */
 
-               if (NT_STATUS_V(result) == DCERPC_FAULT_OP_RNG_ERROR) {
+               if (NT_STATUS_V(status) == DCERPC_FAULT_OP_RNG_ERROR) {
                        goto no_dssetup;
                }
 
@@ -1992,31 +1997,32 @@ static void set_dc_type_and_flags_connect( struct 
winbindd_domain *domain )
        }
 
 no_dssetup:
-       result = cli_rpc_pipe_open_noauth(domain->conn.cli,
+       status = cli_rpc_pipe_open_noauth(domain->conn.cli,
                                          &ndr_table_lsarpc.syntax_id, &cli);
 
-       if (!NT_STATUS_IS_OK(result)) {
+       if (!NT_STATUS_IS_OK(status)) {
                DEBUG(5, ("set_dc_type_and_flags_connect: Could not bind to "
                          "PI_LSARPC on domain %s: (%s)\n",
-                         domain->name, nt_errstr(result)));
+                         domain->name, nt_errstr(status)));
                TALLOC_FREE(cli);
                TALLOC_FREE(mem_ctx);
                return;
        }
 
-       result = rpccli_lsa_open_policy2(cli, mem_ctx, True, 
+       status = rpccli_lsa_open_policy2(cli, mem_ctx, True,
                                         SEC_FLAG_MAXIMUM_ALLOWED, &pol);
 
-       if (NT_STATUS_IS_OK(result)) {
+       if (NT_STATUS_IS_OK(status)) {
                /* This particular query is exactly what Win2k clients use 
                   to determine that the DC is active directory */
-               result = rpccli_lsa_QueryInfoPolicy2(cli, mem_ctx,
+               status = dcerpc_lsa_QueryInfoPolicy2(cli->binding_handle, 
mem_ctx,
                                                     &pol,
                                                     LSA_POLICY_INFO_DNS,
-                                                    &lsa_info);
+                                                    &lsa_info,
+                                                    &result);
        }
 
-       if (NT_STATUS_IS_OK(result)) {
+       if (NT_STATUS_IS_OK(status) && NT_STATUS_IS_OK(result)) {
                domain->active_directory = True;
 
                if (lsa_info->dns.name.string) {
@@ -2046,20 +2052,20 @@ no_dssetup:
        } else {
                domain->active_directory = False;
 
-               result = rpccli_lsa_open_policy(cli, mem_ctx, True, 
+               status = rpccli_lsa_open_policy(cli, mem_ctx, True,
                                                SEC_FLAG_MAXIMUM_ALLOWED,
                                                &pol);
 
-               if (!NT_STATUS_IS_OK(result)) {
+               if (!NT_STATUS_IS_OK(status)) {
                        goto done;
                }
 
-               result = rpccli_lsa_QueryInfoPolicy(cli, mem_ctx,
+               status = dcerpc_lsa_QueryInfoPolicy(cli->binding_handle, 
mem_ctx,
                                                    &pol,
                                                    
LSA_POLICY_INFO_ACCOUNT_DOMAIN,
-                                                   &lsa_info);
-
-               if (NT_STATUS_IS_OK(result)) {
+                                                   &lsa_info,
+                                                   &result);
+               if (NT_STATUS_IS_OK(status) && NT_STATUS_IS_OK(result)) {
 
                        if (lsa_info->account_domain.name.string) {
                                fstrcpy(domain->name,
diff --git a/source3/winbindd/winbindd_rpc.c b/source3/winbindd/winbindd_rpc.c
index a2aa54c..5efd57e 100644
--- a/source3/winbindd/winbindd_rpc.c
+++ b/source3/winbindd/winbindd_rpc.c
@@ -29,7 +29,7 @@
 
 #include "librpc/gen_ndr/ndr_samr_c.h"
 #include "librpc/gen_ndr/srv_samr.h"
-#include "librpc/gen_ndr/cli_lsa.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
 #include "librpc/gen_ndr/srv_lsa.h"
 #include "rpc_client/cli_samr.h"
 #include "rpc_client/cli_lsarpc.h"
@@ -969,7 +969,8 @@ NTSTATUS rpc_trusted_domains(TALLOC_CTX *mem_ctx,
        struct netr_DomainTrust *array = NULL;
        uint32_t enum_ctx = 0;
        uint32_t count = 0;
-       NTSTATUS status;
+       NTSTATUS status, result;
+       struct dcerpc_binding_handle *b = lsa_pipe->binding_handle;
 
        do {
                struct lsa_DomainList dom_list;
@@ -980,15 +981,19 @@ NTSTATUS rpc_trusted_domains(TALLOC_CTX *mem_ctx,
                 * We don't run into deadlocks here, cause winbind_off() is
                 * called in the main function.
                 */
-               status = rpccli_lsa_EnumTrustDom(lsa_pipe,
+               status = dcerpc_lsa_EnumTrustDom(b,
                                                 mem_ctx,
                                                 lsa_policy,
                                                 &enum_ctx,
                                                 &dom_list,
-                                                (uint32_t) -1);
+                                                (uint32_t) -1,
+                                                &result);
                if (!NT_STATUS_IS_OK(status)) {
-                       if (!NT_STATUS_EQUAL(status, STATUS_MORE_ENTRIES)) {
-                               return status;
+                       return status;
+               }
+               if (!NT_STATUS_IS_OK(result)) {
+                       if (!NT_STATUS_EQUAL(result, STATUS_MORE_ENTRIES)) {
+                               return result;
                        }
                }
 
@@ -1020,7 +1025,7 @@ NTSTATUS rpc_trusted_domains(TALLOC_CTX *mem_ctx,
                        sid_copy(sid, dom_list.domains[i].sid);
                        trust->sid = sid;
                }
-       } while (NT_STATUS_EQUAL(status, STATUS_MORE_ENTRIES));
+       } while (NT_STATUS_EQUAL(result, STATUS_MORE_ENTRIES));
 
        *pnum_trusts = count;
        *ptrusts = array;
diff --git a/source3/winbindd/winbindd_samr.c b/source3/winbindd/winbindd_samr.c
index 22235e3..ef27d38 100644
--- a/source3/winbindd/winbindd_samr.c
+++ b/source3/winbindd/winbindd_samr.c
@@ -30,7 +30,7 @@
 #include "../librpc/gen_ndr/ndr_samr_c.h"
 #include "rpc_client/cli_samr.h"
 #include "../librpc/gen_ndr/srv_samr.h"
-#include "../librpc/gen_ndr/cli_lsa.h"
+#include "../librpc/gen_ndr/ndr_lsa_c.h"
 #include "rpc_client/cli_lsarpc.h"
 #include "../librpc/gen_ndr/srv_lsa.h"
 #include "rpc_server/rpc_ncacn_np.h"
@@ -371,7 +371,8 @@ static NTSTATUS sam_trusted_domains(struct winbindd_domain 
*domain,
        struct netr_DomainTrust *trusts = NULL;
        uint32_t num_trusts = 0;
        TALLOC_CTX *tmp_ctx;
-       NTSTATUS status;
+       NTSTATUS status, result;
+       struct dcerpc_binding_handle *b = NULL;
 
        DEBUG(3,("samr: trusted domains\n"));
 
@@ -391,6 +392,8 @@ static NTSTATUS sam_trusted_domains(struct winbindd_domain 
*domain,
                goto done;
        }
 
+       b = lsa_pipe->binding_handle;
+
        status = rpc_trusted_domains(tmp_ctx,
                                     lsa_pipe,
                                     &lsa_policy,
@@ -406,8 +409,8 @@ static NTSTATUS sam_trusted_domains(struct winbindd_domain 
*domain,
        }
 
 done:
-       if (is_valid_policy_hnd(&lsa_policy)) {
-               rpccli_lsa_Close(lsa_pipe, mem_ctx, &lsa_policy);
+       if (b && is_valid_policy_hnd(&lsa_policy)) {
+               dcerpc_lsa_Close(b, mem_ctx, &lsa_policy, &result);
        }
 
        TALLOC_FREE(tmp_ctx);
@@ -623,7 +626,8 @@ static NTSTATUS sam_name_to_sid(struct winbindd_domain 
*domain,
        struct dom_sid sid;
        enum lsa_SidType type;
        TALLOC_CTX *tmp_ctx;
-       NTSTATUS status;
+       NTSTATUS status, result;
+       struct dcerpc_binding_handle *b = NULL;
 
        DEBUG(3,("sam_name_to_sid\n"));
 
@@ -639,6 +643,8 @@ static NTSTATUS sam_name_to_sid(struct winbindd_domain 
*domain,
                goto done;
        }
 
+       b = lsa_pipe->binding_handle;
+
        status = rpc_name_to_sid(tmp_ctx,
                                 lsa_pipe,
                                 &lsa_policy,
@@ -659,8 +665,8 @@ static NTSTATUS sam_name_to_sid(struct winbindd_domain 
*domain,
        }
 
 done:
-       if (is_valid_policy_hnd(&lsa_policy)) {
-               rpccli_lsa_Close(lsa_pipe, mem_ctx, &lsa_policy);
+       if (b && is_valid_policy_hnd(&lsa_policy)) {
+               dcerpc_lsa_Close(b, mem_ctx, &lsa_policy, &result);
        }
 
        TALLOC_FREE(tmp_ctx);
@@ -681,7 +687,8 @@ static NTSTATUS sam_sid_to_name(struct winbindd_domain 
*domain,
        char *name = NULL;
        enum lsa_SidType type;
        TALLOC_CTX *tmp_ctx;
-       NTSTATUS status;
+       NTSTATUS status, result;
+       struct dcerpc_binding_handle *b = NULL;
 
        DEBUG(3,("sam_sid_to_name\n"));
 
@@ -710,6 +717,8 @@ static NTSTATUS sam_sid_to_name(struct winbindd_domain 
*domain,
                goto done;
        }
 
+       b = lsa_pipe->binding_handle;
+
        status = rpc_sid_to_name(tmp_ctx,
                                 lsa_pipe,
                                 &lsa_policy,
@@ -732,8 +741,8 @@ static NTSTATUS sam_sid_to_name(struct winbindd_domain 
*domain,
        }
 
 done:
-       if (is_valid_policy_hnd(&lsa_policy)) {
-               rpccli_lsa_Close(lsa_pipe, mem_ctx, &lsa_policy);
+       if (b && is_valid_policy_hnd(&lsa_policy)) {
+               dcerpc_lsa_Close(b, mem_ctx, &lsa_policy, &result);
        }
 
        TALLOC_FREE(tmp_ctx);
@@ -755,7 +764,8 @@ static NTSTATUS sam_rids_to_names(struct winbindd_domain 
*domain,
        char *domain_name = NULL;
        char **names = NULL;
        TALLOC_CTX *tmp_ctx;
-       NTSTATUS status;
+       NTSTATUS status, result;
+       struct dcerpc_binding_handle *b = NULL;
 
        DEBUG(3,("sam_rids_to_names for %s\n", domain->name));
 
@@ -784,6 +794,8 @@ static NTSTATUS sam_rids_to_names(struct winbindd_domain 
*domain,
                goto done;
        }
 
+       b = lsa_pipe->binding_handle;
+
        status = rpc_rids_to_names(tmp_ctx,
                                   lsa_pipe,
                                   &lsa_policy,
@@ -811,8 +823,8 @@ static NTSTATUS sam_rids_to_names(struct winbindd_domain 
*domain,
        }
 
 done:
-       if (is_valid_policy_hnd(&lsa_policy)) {
-               rpccli_lsa_Close(lsa_pipe, mem_ctx, &lsa_policy);
+       if (b && is_valid_policy_hnd(&lsa_policy)) {
+               dcerpc_lsa_Close(b, mem_ctx, &lsa_policy, &result);
        }
 
        TALLOC_FREE(tmp_ctx);
diff --git a/source3/wscript_build b/source3/wscript_build
index 297b3b8..611e28d 100644
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -1076,17 +1076,13 @@ bld.SAMBA_SUBSYSTEM('NDR_NBT_BUF',
        deps='talloc',
        autoproto='nbtname.h')
 
-bld.SAMBA_SUBSYSTEM('RPCCLI_LSA',
-       source='../librpc/gen_ndr/cli_lsa.c',
-       public_deps='RPC_NDR_LSA')
-
 bld.SAMBA_SUBSYSTEM('LIBCLI_SAMR',
                     source=LIBCLI_SAMR_SRC,
                     deps='RPC_NDR_SAMR')
 
 bld.SAMBA_SUBSYSTEM('LIBCLI_LSA',
                     source=LIBCLI_LSA_SRC,
-                    deps='RPCCLI_LSA INIT_LSA')
+                    deps='RPC_NDR_LSA INIT_LSA')
 
 bld.SAMBA_SUBSYSTEM('LIBRPCCLI_NETLOGON',
                     source=LIBRPCCLI_NETLOGON_SRC,


-- 
Samba Shared Repository

Reply via email to