From 7a91282c9fb114e1ef52f89da4c6719683a623e5 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Thu, 24 Feb 2011 10:46:55 +0100 Subject: s3-libsmb: only include rap client when needed. Guenther --- 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 + 20 files changed, 226 insertions(+), 180 deletions(-) create mode 100644 source3/libsmb/clirap.h (limited to 'source3') diff --git a/source3/client/client.c b/source3/client/client.c index e979f74fa4..a6a7a22e3f 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 39a32f99fb..61dc95e0ad 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 2cb21f5ab6..e8971c3721 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 1c879884fe..a23f477343 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 68dd6c814f..72f0e4b8eb 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 9125c5d6a4..10d1759de8 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 781dbe64af..1756c479b4 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 0000000000..6ea6978c04 --- /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@us.ibm.com) + Copyright (C) 2001 Jim McDonough (jmcd@us.ibm.com) + Copyright (C) 2007 Jeremy Allison. jra@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 . +*/ + +#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 20efca3dc3..44a9d7c8c4 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 989406fc9a..289bf4bd8e 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" /************************************************************* Change a password on a remote machine using IPC calls. diff --git a/source3/nmbd/nmbd_synclists.c b/source3/nmbd/nmbd_synclists.c index 5c139b31af..136a5c416c 100644 --- a/source3/nmbd/nmbd_synclists.c +++ b/source3/nmbd/nmbd_synclists.c @@ -29,6 +29,7 @@ #include "includes.h" #include "../librpc/gen_ndr/svcctl.h" #include "nmbd/nmbd.h" +#include "libsmb/clirap.h" struct sync_record { struct sync_record *next, *prev; diff --git a/source3/torture/mangle_test.c b/source3/torture/mangle_test.c index 594caba604..6b9263e5de 100644 --- a/source3/torture/mangle_test.c +++ b/source3/torture/mangle_test.c @@ -19,6 +19,7 @@ #include "includes.h" #include "torture/proto.h" +#include "libsmb/clirap.h" extern int torture_numops; diff --git a/source3/torture/nbench.c b/source3/torture/nbench.c index 5a83c38a46..182f6f7cd9 100644 --- a/source3/torture/nbench.c +++ b/source3/torture/nbench.c @@ -19,6 +19,7 @@ #include "includes.h" #include "torture/proto.h" +#include "libsmb/clirap.h" static long long int ival(const char *str) { diff --git a/source3/torture/nbio.c b/source3/torture/nbio.c index a51424526d..664943b681 100644 --- a/source3/torture/nbio.c +++ b/source3/torture/nbio.c @@ -22,6 +22,7 @@ #include "includes.h" #include "torture/proto.h" #include "../libcli/security/security.h" +#include "libsmb/clirap.h" #define MAX_FILES 1000 diff --git a/source3/torture/torture.c b/source3/torture/torture.c index 2670485bcc..61cfb9e92f 100644 --- a/source3/torture/torture.c +++ b/source3/torture/torture.c @@ -30,6 +30,7 @@ #include "dbwrap.h" #include "talloc_dict.h" #include "async_smb.h" +#include "libsmb/clirap.h" extern char *optarg; extern int optind; diff --git a/source3/torture/utable.c b/source3/torture/utable.c index d537ad77c5..e4d2dee6f3 100644 --- a/source3/torture/utable.c +++ b/source3/torture/utable.c @@ -20,6 +20,7 @@ #include "includes.h" #include "torture/proto.h" #include "../libcli/security/security.h" +#include "libsmb/clirap.h" bool torture_utable(int dummy) { diff --git a/source3/utils/net_rap.c b/source3/utils/net_rap.c index 04e81f95f7..2cc42c89e9 100644 --- a/source3/utils/net_rap.c +++ b/source3/utils/net_rap.c @@ -26,6 +26,7 @@ #include "../librpc/gen_ndr/rap.h" #include "../librpc/gen_ndr/svcctl.h" #include "utils/net.h" +#include "libsmb/clirap.h" /* The following messages were for error checking that is not properly reported at the moment. Which should be reinstated? */ diff --git a/source3/utils/net_rpc.c b/source3/utils/net_rpc.c index 0bb4305d59..3fbeb87f3b 100644 --- a/source3/utils/net_rpc.c +++ b/source3/utils/net_rpc.c @@ -39,6 +39,7 @@ #include "lib/netapi/netapi_net.h" #include "rpc_client/init_lsa.h" #include "../libcli/security/security.h" +#include "libsmb/clirap.h" static int net_mode_share; static NTSTATUS sync_files(struct copy_clistate *cp_clistate, const char *mask); diff --git a/source3/utils/smbcacls.c b/source3/utils/smbcacls.c index 24ae9e94f6..c7b586a4c0 100644 --- a/source3/utils/smbcacls.c +++ b/source3/utils/smbcacls.c @@ -27,6 +27,7 @@ #include "../librpc/gen_ndr/ndr_lsa.h" #include "rpc_client/cli_lsarpc.h" #include "../libcli/security/security.h" +#include "libsmb/clirap.h" static int test_args; diff --git a/source3/utils/smbtree.c b/source3/utils/smbtree.c index 81b9ca3257..3f7fc97698 100644 --- a/source3/utils/smbtree.c +++ b/source3/utils/smbtree.c @@ -23,6 +23,7 @@ #include "popt_common.h" #include "rpc_client/cli_pipe.h" #include "../librpc/gen_ndr/ndr_srvsvc_c.h" +#include "libsmb/clirap.h" static int use_bcast; -- cgit