[SCM] Samba Shared Repository - branch master updated

Günther Deschner gd at samba.org
Tue Mar 15 15:02:03 MDT 2011


The branch, master has been updated
       via  c287351 s4-rap: remove last iconv_convenience traces from rap client and test code.
       via  1351046 s4-rap: decouple rap client code from torture binary, add new LIBCLI_RAP subsystem.
       via  ebe0aa0 s4-smbtorture: check for username and computername presence in rap_netsessionenum test.
       via  7a91282 s3-libsmb: only include rap client when needed.
      from  c91b897 s3-build: share smbtorture4 build rules with s3-waf build.

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


- Log -----------------------------------------------------------------
commit c287351d0553dec62f1929f46e3c34278317b2a4
Author: Günther Deschner <gd at samba.org>
Date:   Tue Mar 15 17:40:39 2011 +0100

    s4-rap: remove last iconv_convenience traces from rap client and test code.
    
    Guenther
    
    Autobuild-User: Günther Deschner <gd at samba.org>
    Autobuild-Date: Tue Mar 15 22:01:51 CET 2011 on sn-devel-104

commit 135104649f92536673ed7f06c4fa3a8daafccbad
Author: Günther Deschner <gd at samba.org>
Date:   Tue Mar 15 17:28:51 2011 +0100

    s4-rap: decouple rap client code from torture binary, add new LIBCLI_RAP subsystem.
    
    Guenther

commit ebe0aa0e9cf8440c85c168e6ce7e8bc755d458a4
Author: Günther Deschner <gd at samba.org>
Date:   Tue Mar 15 16:35:58 2011 +0100

    s4-smbtorture: check for username and computername presence in rap_netsessionenum test.
    
    Guenther

commit 7a91282c9fb114e1ef52f89da4c6719683a623e5
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 24 10:46:55 2011 +0100

    s3-libsmb: only include rap client when needed.
    
    Guenther

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

Summary of changes:
 source3/client/client.c               |    1 +
 source3/include/libsmb_internal.h     |    1 +
 source3/include/proto.h               |  180 ----
 source3/libsmb/clidfs.c               |    1 +
 source3/libsmb/clifile.c              |    1 +
 source3/libsmb/cliprint.c             |    1 +
 source3/libsmb/clirap.c               |    1 +
 source3/libsmb/clirap.h               |  208 +++++
 source3/libsmb/clirap2.c              |    1 +
 source3/libsmb/passchange.c           |    1 +
 source3/nmbd/nmbd_synclists.c         |    1 +
 source3/torture/mangle_test.c         |    1 +
 source3/torture/nbench.c              |    1 +
 source3/torture/nbio.c                |    1 +
 source3/torture/torture.c             |    1 +
 source3/torture/utable.c              |    1 +
 source3/utils/net_rap.c               |    1 +
 source3/utils/net_rpc.c               |    1 +
 source3/utils/smbcacls.c              |    1 +
 source3/utils/smbtree.c               |    1 +
 source4/{torture => libcli}/rap/rap.c |  245 +-----
 source4/libcli/rap/rap.h              |   77 ++
 source4/libcli/rap/wscript_build      |    7 +
 source4/libcli/wscript_build          |    1 +
 source4/torture/rap/printing.c        |    2 +-
 source4/torture/rap/rap.c             | 1526 +--------------------------------
 source4/torture/rap/rpc.c             |    2 +-
 source4/torture/rap/sam.c             |    9 +-
 source4/torture/rpc/samba3rpc.c       |    3 +-
 source4/torture/wscript_build         |    2 +-
 30 files changed, 359 insertions(+), 1921 deletions(-)
 create mode 100644 source3/libsmb/clirap.h
 copy source4/{torture => libcli}/rap/rap.c (87%)
 create mode 100644 source4/libcli/rap/rap.h
 create mode 100644 source4/libcli/rap/wscript_build


Changeset truncated at 500 lines:

diff --git a/source3/client/client.c b/source3/client/client.c
index e979f74..a6a7a22 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -31,6 +31,7 @@
 #include "../libcli/smbreadline/smbreadline.h"
 #include "../libcli/security/security.h"
 #include "system/select.h"
+#include "libsmb/clirap.h"
 
 #ifndef REGISTER
 #define REGISTER 0
diff --git a/source3/include/libsmb_internal.h b/source3/include/libsmb_internal.h
index 39a32f9..61dc95e 100644
--- a/source3/include/libsmb_internal.h
+++ b/source3/include/libsmb_internal.h
@@ -29,6 +29,7 @@
 #define _LIBSMB_INTERNAL_H_
 
 #include "../include/libsmbclient.h"
+#include "libsmb/clirap.h"
 
 #define SMBC_MAX_NAME  1023
 #define SMBC_FILE_MODE (S_IFREG | 0444)
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 2cb21f5..e8971c3 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -2232,186 +2232,6 @@ NTSTATUS cli_get_fs_quota_info(struct cli_state *cli, int quota_fnum,
 NTSTATUS cli_set_fs_quota_info(struct cli_state *cli, int quota_fnum,
 			       SMB_NTQUOTA_STRUCT *pqt);
 
-/* The following definitions come from libsmb/clirap.c  */
-
-bool cli_api(struct cli_state *cli,
-	     char *param, int prcnt, int mprcnt,
-	     char *data, int drcnt, int mdrcnt,
-	     char **rparam, unsigned int *rprcnt,
-	     char **rdata, unsigned int *rdrcnt);
-bool cli_NetWkstaUserLogon(struct cli_state *cli,char *user, char *workstation);
-int cli_RNetShareEnum(struct cli_state *cli, void (*fn)(const char *, uint32, const char *, void *), void *state);
-bool cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype,
-		       void (*fn)(const char *, uint32, const char *, void *),
-		       void *state);
-bool cli_oem_change_password(struct cli_state *cli, const char *user, const char *new_password,
-                             const char *old_password);
-struct tevent_req *cli_qpathinfo1_send(TALLOC_CTX *mem_ctx,
-				       struct event_context *ev,
-				       struct cli_state *cli,
-				       const char *fname);
-NTSTATUS cli_qpathinfo1_recv(struct tevent_req *req,
-			     time_t *change_time,
-			     time_t *access_time,
-			     time_t *write_time,
-			     SMB_OFF_T *size,
-			     uint16 *mode);
-NTSTATUS cli_qpathinfo1(struct cli_state *cli,
-			const char *fname,
-			time_t *change_time,
-			time_t *access_time,
-			time_t *write_time,
-			SMB_OFF_T *size,
-			uint16 *mode);
-NTSTATUS cli_setpathinfo_basic(struct cli_state *cli, const char *fname,
-			       time_t create_time,
-			       time_t access_time,
-			       time_t write_time,
-			       time_t change_time,
-			       uint16 mode);
-struct tevent_req *cli_qpathinfo2_send(TALLOC_CTX *mem_ctx,
-				       struct event_context *ev,
-				       struct cli_state *cli,
-				       const char *fname);
-NTSTATUS cli_qpathinfo2_recv(struct tevent_req *req,
-			     struct timespec *create_time,
-			     struct timespec *access_time,
-			     struct timespec *write_time,
-			     struct timespec *change_time,
-			     SMB_OFF_T *size, uint16 *mode,
-			     SMB_INO_T *ino);
-NTSTATUS cli_qpathinfo2(struct cli_state *cli, const char *fname,
-			struct timespec *create_time,
-			struct timespec *access_time,
-			struct timespec *write_time,
-			struct timespec *change_time,
-			SMB_OFF_T *size, uint16 *mode,
-			SMB_INO_T *ino);
-struct tevent_req *cli_qpathinfo_streams_send(TALLOC_CTX *mem_ctx,
-					      struct tevent_context *ev,
-					      struct cli_state *cli,
-					      const char *fname);
-NTSTATUS cli_qpathinfo_streams_recv(struct tevent_req *req,
-				    TALLOC_CTX *mem_ctx,
-				    unsigned int *pnum_streams,
-				    struct stream_struct **pstreams);
-NTSTATUS cli_qpathinfo_streams(struct cli_state *cli, const char *fname,
-			       TALLOC_CTX *mem_ctx,
-			       unsigned int *pnum_streams,
-			       struct stream_struct **pstreams);
-NTSTATUS cli_qfilename(struct cli_state *cli, uint16_t fnum, char *name,
-		       size_t namelen);
-NTSTATUS cli_qfileinfo_basic(struct cli_state *cli, uint16_t fnum,
-			     uint16 *mode, SMB_OFF_T *size,
-			     struct timespec *create_time,
-			     struct timespec *access_time,
-			     struct timespec *write_time,
-			     struct timespec *change_time,
-			     SMB_INO_T *ino);
-struct tevent_req *cli_qpathinfo_basic_send(TALLOC_CTX *mem_ctx,
-					    struct event_context *ev,
-					    struct cli_state *cli,
-					    const char *fname);
-NTSTATUS cli_qpathinfo_basic_recv(struct tevent_req *req,
-				  SMB_STRUCT_STAT *sbuf, uint32 *attributes);
-NTSTATUS cli_qpathinfo_basic(struct cli_state *cli, const char *name,
-			     SMB_STRUCT_STAT *sbuf, uint32 *attributes);
-NTSTATUS cli_qpathinfo_alt_name(struct cli_state *cli, const char *fname, fstring alt_name);
-struct tevent_req *cli_qpathinfo_send(TALLOC_CTX *mem_ctx,
-				      struct tevent_context *ev,
-				      struct cli_state *cli, const char *fname,
-				      uint16_t level, uint32_t min_rdata,
-				      uint32_t max_rdata);
-NTSTATUS cli_qpathinfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
-			    uint8_t **rdata, uint32_t *num_rdata);
-NTSTATUS cli_qpathinfo(TALLOC_CTX *mem_ctx, struct cli_state *cli,
-		       const char *fname, uint16_t level, uint32_t min_rdata,
-		       uint32_t max_rdata,
-		       uint8_t **rdata, uint32_t *num_rdata);
-
-struct tevent_req *cli_qfileinfo_send(TALLOC_CTX *mem_ctx,
-				      struct tevent_context *ev,
-				      struct cli_state *cli, uint16_t fnum,
-				      uint16_t level, uint32_t min_rdata,
-				      uint32_t max_rdata);
-NTSTATUS cli_qfileinfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
-			    uint8_t **rdata, uint32_t *num_rdata);
-NTSTATUS cli_qfileinfo(TALLOC_CTX *mem_ctx, struct cli_state *cli,
-		       uint16_t fnum, uint16_t level, uint32_t min_rdata,
-		       uint32_t max_rdata,
-		       uint8_t **rdata, uint32_t *num_rdata);
-
-struct tevent_req *cli_flush_send(TALLOC_CTX *mem_ctx,
-				  struct event_context *ev,
-				  struct cli_state *cli,
-				  uint16_t fnum);
-NTSTATUS cli_flush_recv(struct tevent_req *req);
-NTSTATUS cli_flush(TALLOC_CTX *mem_ctx, struct cli_state *cli, uint16_t fnum);
-
-struct tevent_req *cli_shadow_copy_data_send(TALLOC_CTX *mem_ctx,
-					     struct tevent_context *ev,
-					     struct cli_state *cli,
-					     uint16_t fnum,
-					     bool get_names);
-NTSTATUS cli_shadow_copy_data_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
-				   char ***pnames, int *pnum_names);
-NTSTATUS cli_shadow_copy_data(TALLOC_CTX *mem_ctx, struct cli_state *cli,
-			      uint16_t fnum, bool get_names,
-			      char ***pnames, int *pnum_names);
-
-/* The following definitions come from libsmb/clirap2.c  */
-struct rap_group_info_1;
-struct rap_user_info_1;
-struct rap_share_info_2;
-
-int cli_NetGroupDelete(struct cli_state *cli, const char *group_name);
-int cli_NetGroupAdd(struct cli_state *cli, struct rap_group_info_1 *grinfo);
-int cli_RNetGroupEnum(struct cli_state *cli, void (*fn)(const char *, const char *, void *), void *state);
-int cli_RNetGroupEnum0(struct cli_state *cli,
-		       void (*fn)(const char *, void *),
-		       void *state);
-int cli_NetGroupDelUser(struct cli_state * cli, const char *group_name, const char *user_name);
-int cli_NetGroupAddUser(struct cli_state * cli, const char *group_name, const char *user_name);
-int cli_NetGroupGetUsers(struct cli_state * cli, const char *group_name, void (*fn)(const char *, void *), void *state );
-int cli_NetUserGetGroups(struct cli_state * cli, const char *user_name, void (*fn)(const char *, void *), void *state );
-int cli_NetUserDelete(struct cli_state *cli, const char * user_name );
-int cli_NetUserAdd(struct cli_state *cli, struct rap_user_info_1 * userinfo );
-int cli_RNetUserEnum(struct cli_state *cli, void (*fn)(const char *, const char *, const char *, const char *, void *), void *state);
-int cli_RNetUserEnum0(struct cli_state *cli,
-		      void (*fn)(const char *, void *),
-		      void *state);
-int cli_NetFileClose(struct cli_state *cli, uint32 file_id );
-int cli_NetFileGetInfo(struct cli_state *cli, uint32 file_id, void (*fn)(const char *, const char *, uint16, uint16, uint32));
-int cli_NetFileEnum(struct cli_state *cli, const char * user,
-		    const char * base_path,
-		    void (*fn)(const char *, const char *, uint16, uint16,
-			       uint32));
-int cli_NetShareAdd(struct cli_state *cli, struct rap_share_info_2 * sinfo );
-int cli_NetShareDelete(struct cli_state *cli, const char * share_name );
-bool cli_get_pdc_name(struct cli_state *cli, const char *workgroup, char **pdc_name);
-bool cli_get_server_domain(struct cli_state *cli);
-bool cli_get_server_type(struct cli_state *cli, uint32 *pstype);
-bool cli_get_server_name(TALLOC_CTX *mem_ctx, struct cli_state *cli,
-			 char **servername);
-bool cli_ns_check_server_type(struct cli_state *cli, char *workgroup, uint32 stype);
-bool cli_NetWkstaUserLogoff(struct cli_state *cli, const char *user, const char *workstation);
-int cli_NetPrintQEnum(struct cli_state *cli,
-		void (*qfn)(const char*,uint16,uint16,uint16,const char*,const char*,const char*,const char*,const char*,uint16,uint16),
-		void (*jfn)(uint16,const char*,const char*,const char*,const char*,uint16,uint16,const char*,unsigned int,unsigned int,const char*));
-int cli_NetPrintQGetInfo(struct cli_state *cli, const char *printer,
-	void (*qfn)(const char*,uint16,uint16,uint16,const char*,const char*,const char*,const char*,const char*,uint16,uint16),
-	void (*jfn)(uint16,const char*,const char*,const char*,const char*,uint16,uint16,const char*,unsigned int,unsigned int,const char*));
-int cli_RNetServiceEnum(struct cli_state *cli, void (*fn)(const char *, const char *, void *), void *state);
-int cli_NetSessionEnum(struct cli_state *cli, void (*fn)(char *, char *, uint16, uint16, uint16, unsigned int, unsigned int, unsigned int, char *));
-int cli_NetSessionGetInfo(struct cli_state *cli, const char *workstation,
-		void (*fn)(const char *, const char *, uint16, uint16, uint16, unsigned int, unsigned int, unsigned int, const char *));
-int cli_NetSessionDel(struct cli_state *cli, const char *workstation);
-int cli_NetConnectionEnum(struct cli_state *cli, const char *qualifier,
-			void (*fn)(uint16_t conid, uint16_t contype,
-				uint16_t numopens, uint16_t numusers,
-				uint32_t contime, const char *username,
-				const char *netname));
-
 /* The following definitions come from libsmb/clireadwrite.c  */
 
 struct tevent_req *cli_read_andx_create(TALLOC_CTX *mem_ctx,
diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c
index 1c87988..a23f477 100644
--- a/source3/libsmb/clidfs.c
+++ b/source3/libsmb/clidfs.c
@@ -20,6 +20,7 @@
 */
 
 #include "includes.h"
+#include "libsmb/clirap.h"
 
 /********************************************************************
  Important point.
diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c
index 68dd6c8..72f0e4b 100644
--- a/source3/libsmb/clifile.c
+++ b/source3/libsmb/clifile.c
@@ -20,6 +20,7 @@
 
 #include "includes.h"
 #include "async_smb.h"
+#include "libsmb/clirap.h"
 
 /***********************************************************
  Common function for pushing stings, used by smb_bytes_push_str()
diff --git a/source3/libsmb/cliprint.c b/source3/libsmb/cliprint.c
index 9125c5d..10d1759 100644
--- a/source3/libsmb/cliprint.c
+++ b/source3/libsmb/cliprint.c
@@ -18,6 +18,7 @@
 */
 
 #include "includes.h"
+#include "libsmb/clirap.h"
 
 /*****************************************************************************
  Convert a character pointer in a cli_call_api() response to a form we can use.
diff --git a/source3/libsmb/clirap.c b/source3/libsmb/clirap.c
index 781dbe6..1756c47 100644
--- a/source3/libsmb/clirap.c
+++ b/source3/libsmb/clirap.c
@@ -24,6 +24,7 @@
 #include "../librpc/gen_ndr/rap.h"
 #include "../lib/crypto/arcfour.h"
 #include "async_smb.h"
+#include "libsmb/clirap.h"
 
 #define PIPE_LANMAN   "\\PIPE\\LANMAN"
 
diff --git a/source3/libsmb/clirap.h b/source3/libsmb/clirap.h
new file mode 100644
index 0000000..6ea6978
--- /dev/null
+++ b/source3/libsmb/clirap.h
@@ -0,0 +1,208 @@
+/*
+   Samba Unix/Linux SMB client library
+   More client RAP (SMB Remote Procedure Calls) functions
+   Copyright (C) 2001 Steve French (sfrench at us.ibm.com)
+   Copyright (C) 2001 Jim McDonough (jmcd at us.ibm.com)
+   Copyright (C) 2007 Jeremy Allison. jra at samba.org
+   Copyright (C) Andrew Tridgell         1994-1998
+   Copyright (C) Gerald (Jerry) Carter   2004
+   Copyright (C) James Peach		 2007
+
+   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 3 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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef _LIBSMB_CLIRAP_H
+#define _LIBSMB_CLIRAP_H
+
+/* The following definitions come from libsmb/clirap.c  */
+
+bool cli_api(struct cli_state *cli,
+	     char *param, int prcnt, int mprcnt,
+	     char *data, int drcnt, int mdrcnt,
+	     char **rparam, unsigned int *rprcnt,
+	     char **rdata, unsigned int *rdrcnt);
+bool cli_NetWkstaUserLogon(struct cli_state *cli,char *user, char *workstation);
+int cli_RNetShareEnum(struct cli_state *cli, void (*fn)(const char *, uint32, const char *, void *), void *state);
+bool cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype,
+		       void (*fn)(const char *, uint32, const char *, void *),
+		       void *state);
+bool cli_oem_change_password(struct cli_state *cli, const char *user, const char *new_password,
+                             const char *old_password);
+struct tevent_req *cli_qpathinfo1_send(TALLOC_CTX *mem_ctx,
+				       struct event_context *ev,
+				       struct cli_state *cli,
+				       const char *fname);
+NTSTATUS cli_qpathinfo1_recv(struct tevent_req *req,
+			     time_t *change_time,
+			     time_t *access_time,
+			     time_t *write_time,
+			     SMB_OFF_T *size,
+			     uint16 *mode);
+NTSTATUS cli_qpathinfo1(struct cli_state *cli,
+			const char *fname,
+			time_t *change_time,
+			time_t *access_time,
+			time_t *write_time,
+			SMB_OFF_T *size,
+			uint16 *mode);
+NTSTATUS cli_setpathinfo_basic(struct cli_state *cli, const char *fname,
+			       time_t create_time,
+			       time_t access_time,
+			       time_t write_time,
+			       time_t change_time,
+			       uint16 mode);
+struct tevent_req *cli_qpathinfo2_send(TALLOC_CTX *mem_ctx,
+				       struct event_context *ev,
+				       struct cli_state *cli,
+				       const char *fname);
+NTSTATUS cli_qpathinfo2_recv(struct tevent_req *req,
+			     struct timespec *create_time,
+			     struct timespec *access_time,
+			     struct timespec *write_time,
+			     struct timespec *change_time,
+			     SMB_OFF_T *size, uint16 *mode,
+			     SMB_INO_T *ino);
+NTSTATUS cli_qpathinfo2(struct cli_state *cli, const char *fname,
+			struct timespec *create_time,
+			struct timespec *access_time,
+			struct timespec *write_time,
+			struct timespec *change_time,
+			SMB_OFF_T *size, uint16 *mode,
+			SMB_INO_T *ino);
+struct tevent_req *cli_qpathinfo_streams_send(TALLOC_CTX *mem_ctx,
+					      struct tevent_context *ev,
+					      struct cli_state *cli,
+					      const char *fname);
+NTSTATUS cli_qpathinfo_streams_recv(struct tevent_req *req,
+				    TALLOC_CTX *mem_ctx,
+				    unsigned int *pnum_streams,
+				    struct stream_struct **pstreams);
+NTSTATUS cli_qpathinfo_streams(struct cli_state *cli, const char *fname,
+			       TALLOC_CTX *mem_ctx,
+			       unsigned int *pnum_streams,
+			       struct stream_struct **pstreams);
+NTSTATUS cli_qfilename(struct cli_state *cli, uint16_t fnum, char *name,
+		       size_t namelen);
+NTSTATUS cli_qfileinfo_basic(struct cli_state *cli, uint16_t fnum,
+			     uint16 *mode, SMB_OFF_T *size,
+			     struct timespec *create_time,
+			     struct timespec *access_time,
+			     struct timespec *write_time,
+			     struct timespec *change_time,
+			     SMB_INO_T *ino);
+struct tevent_req *cli_qpathinfo_basic_send(TALLOC_CTX *mem_ctx,
+					    struct event_context *ev,
+					    struct cli_state *cli,
+					    const char *fname);
+NTSTATUS cli_qpathinfo_basic_recv(struct tevent_req *req,
+				  SMB_STRUCT_STAT *sbuf, uint32 *attributes);
+NTSTATUS cli_qpathinfo_basic(struct cli_state *cli, const char *name,
+			     SMB_STRUCT_STAT *sbuf, uint32 *attributes);
+NTSTATUS cli_qpathinfo_alt_name(struct cli_state *cli, const char *fname, fstring alt_name);
+struct tevent_req *cli_qpathinfo_send(TALLOC_CTX *mem_ctx,
+				      struct tevent_context *ev,
+				      struct cli_state *cli, const char *fname,
+				      uint16_t level, uint32_t min_rdata,
+				      uint32_t max_rdata);
+NTSTATUS cli_qpathinfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
+			    uint8_t **rdata, uint32_t *num_rdata);
+NTSTATUS cli_qpathinfo(TALLOC_CTX *mem_ctx, struct cli_state *cli,
+		       const char *fname, uint16_t level, uint32_t min_rdata,
+		       uint32_t max_rdata,
+		       uint8_t **rdata, uint32_t *num_rdata);
+
+struct tevent_req *cli_qfileinfo_send(TALLOC_CTX *mem_ctx,
+				      struct tevent_context *ev,
+				      struct cli_state *cli, uint16_t fnum,
+				      uint16_t level, uint32_t min_rdata,
+				      uint32_t max_rdata);
+NTSTATUS cli_qfileinfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
+			    uint8_t **rdata, uint32_t *num_rdata);
+NTSTATUS cli_qfileinfo(TALLOC_CTX *mem_ctx, struct cli_state *cli,
+		       uint16_t fnum, uint16_t level, uint32_t min_rdata,
+		       uint32_t max_rdata,
+		       uint8_t **rdata, uint32_t *num_rdata);
+
+struct tevent_req *cli_flush_send(TALLOC_CTX *mem_ctx,
+				  struct event_context *ev,
+				  struct cli_state *cli,
+				  uint16_t fnum);
+NTSTATUS cli_flush_recv(struct tevent_req *req);
+NTSTATUS cli_flush(TALLOC_CTX *mem_ctx, struct cli_state *cli, uint16_t fnum);
+
+struct tevent_req *cli_shadow_copy_data_send(TALLOC_CTX *mem_ctx,
+					     struct tevent_context *ev,
+					     struct cli_state *cli,
+					     uint16_t fnum,
+					     bool get_names);
+NTSTATUS cli_shadow_copy_data_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
+				   char ***pnames, int *pnum_names);
+NTSTATUS cli_shadow_copy_data(TALLOC_CTX *mem_ctx, struct cli_state *cli,
+			      uint16_t fnum, bool get_names,
+			      char ***pnames, int *pnum_names);
+
+/* The following definitions come from libsmb/clirap2.c  */
+struct rap_group_info_1;
+struct rap_user_info_1;
+struct rap_share_info_2;
+
+int cli_NetGroupDelete(struct cli_state *cli, const char *group_name);
+int cli_NetGroupAdd(struct cli_state *cli, struct rap_group_info_1 *grinfo);
+int cli_RNetGroupEnum(struct cli_state *cli, void (*fn)(const char *, const char *, void *), void *state);
+int cli_RNetGroupEnum0(struct cli_state *cli,
+		       void (*fn)(const char *, void *),
+		       void *state);
+int cli_NetGroupDelUser(struct cli_state * cli, const char *group_name, const char *user_name);
+int cli_NetGroupAddUser(struct cli_state * cli, const char *group_name, const char *user_name);
+int cli_NetGroupGetUsers(struct cli_state * cli, const char *group_name, void (*fn)(const char *, void *), void *state );
+int cli_NetUserGetGroups(struct cli_state * cli, const char *user_name, void (*fn)(const char *, void *), void *state );
+int cli_NetUserDelete(struct cli_state *cli, const char * user_name );
+int cli_NetUserAdd(struct cli_state *cli, struct rap_user_info_1 * userinfo );
+int cli_RNetUserEnum(struct cli_state *cli, void (*fn)(const char *, const char *, const char *, const char *, void *), void *state);
+int cli_RNetUserEnum0(struct cli_state *cli,
+		      void (*fn)(const char *, void *),
+		      void *state);
+int cli_NetFileClose(struct cli_state *cli, uint32 file_id );
+int cli_NetFileGetInfo(struct cli_state *cli, uint32 file_id, void (*fn)(const char *, const char *, uint16, uint16, uint32));
+int cli_NetFileEnum(struct cli_state *cli, const char * user,
+		    const char * base_path,
+		    void (*fn)(const char *, const char *, uint16, uint16,
+			       uint32));
+int cli_NetShareAdd(struct cli_state *cli, struct rap_share_info_2 * sinfo );
+int cli_NetShareDelete(struct cli_state *cli, const char * share_name );
+bool cli_get_pdc_name(struct cli_state *cli, const char *workgroup, char **pdc_name);
+bool cli_get_server_domain(struct cli_state *cli);
+bool cli_get_server_type(struct cli_state *cli, uint32 *pstype);
+bool cli_get_server_name(TALLOC_CTX *mem_ctx, struct cli_state *cli,
+			 char **servername);
+bool cli_ns_check_server_type(struct cli_state *cli, char *workgroup, uint32 stype);
+bool cli_NetWkstaUserLogoff(struct cli_state *cli, const char *user, const char *workstation);
+int cli_NetPrintQEnum(struct cli_state *cli,
+		void (*qfn)(const char*,uint16,uint16,uint16,const char*,const char*,const char*,const char*,const char*,uint16,uint16),
+		void (*jfn)(uint16,const char*,const char*,const char*,const char*,uint16,uint16,const char*,unsigned int,unsigned int,const char*));
+int cli_NetPrintQGetInfo(struct cli_state *cli, const char *printer,
+	void (*qfn)(const char*,uint16,uint16,uint16,const char*,const char*,const char*,const char*,const char*,uint16,uint16),
+	void (*jfn)(uint16,const char*,const char*,const char*,const char*,uint16,uint16,const char*,unsigned int,unsigned int,const char*));
+int cli_RNetServiceEnum(struct cli_state *cli, void (*fn)(const char *, const char *, void *), void *state);
+int cli_NetSessionEnum(struct cli_state *cli, void (*fn)(char *, char *, uint16, uint16, uint16, unsigned int, unsigned int, unsigned int, char *));
+int cli_NetSessionGetInfo(struct cli_state *cli, const char *workstation,
+		void (*fn)(const char *, const char *, uint16, uint16, uint16, unsigned int, unsigned int, unsigned int, const char *));
+int cli_NetSessionDel(struct cli_state *cli, const char *workstation);
+int cli_NetConnectionEnum(struct cli_state *cli, const char *qualifier,
+			void (*fn)(uint16_t conid, uint16_t contype,
+				uint16_t numopens, uint16_t numusers,
+				uint32_t contime, const char *username,
+				const char *netname));
+
+#endif /* _LIBSMB_CLIRAP_H */
diff --git a/source3/libsmb/clirap2.c b/source3/libsmb/clirap2.c
index 20efca3..44a9d7c 100644
--- a/source3/libsmb/clirap2.c
+++ b/source3/libsmb/clirap2.c
@@ -78,6 +78,7 @@
 #include "includes.h"
 #include "../librpc/gen_ndr/rap.h"
 #include "../librpc/gen_ndr/svcctl.h"
+#include "libsmb/clirap.h"
 
 #define WORDSIZE 2
 #define DWORDSIZE 4
diff --git a/source3/libsmb/passchange.c b/source3/libsmb/passchange.c
index 989406f..289bf4b 100644
--- a/source3/libsmb/passchange.c
+++ b/source3/libsmb/passchange.c
@@ -21,6 +21,7 @@
 #include "../librpc/gen_ndr/ndr_samr.h"
 #include "rpc_client/cli_pipe.h"
 #include "rpc_client/cli_samr.h"
+#include "libsmb/clirap.h"
 
 /*************************************************************


-- 
Samba Shared Repository


More information about the samba-cvs mailing list