mirror of
https://github.com/samba-team/samba.git
synced 2025-07-28 11:42:03 +03:00
r14205: move smb specific stuff out of includes.h (finally!!!:-)
all this changes really help ccache to speed up the samba4 build:-)
metze
(This used to be commit 180a79d103
)
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
bc4156e6e2
commit
32b0bb64bc
@ -58,4 +58,20 @@ struct ipv4_addr {
|
|||||||
|
|
||||||
typedef NTSTATUS (*init_module_fn) (void);
|
typedef NTSTATUS (*init_module_fn) (void);
|
||||||
|
|
||||||
|
/*
|
||||||
|
use the same structure for dom_sid2 as dom_sid. A dom_sid2 is really
|
||||||
|
just a dom sid, but with the sub_auths represented as a conformant
|
||||||
|
array. As with all in-structure conformant arrays, the array length
|
||||||
|
is placed before the start of the structure. That's what gives rise
|
||||||
|
to the extra num_auths elemenent. We don't want the Samba code to
|
||||||
|
have to bother with such esoteric NDR details, so its easier to just
|
||||||
|
define it as a dom_sid and use pidl magic to make it all work. It
|
||||||
|
just means you need to mark a sid as a "dom_sid2" in the IDL when you
|
||||||
|
know it is of the conformant array variety
|
||||||
|
*/
|
||||||
|
#define dom_sid2 dom_sid
|
||||||
|
|
||||||
|
/* same struct as dom_sid but inside a 28 bytes fixed buffer in NDR */
|
||||||
|
#define dom_sid28 dom_sid
|
||||||
|
|
||||||
#endif /* _SAMBA_CORE_H */
|
#endif /* _SAMBA_CORE_H */
|
||||||
|
@ -119,8 +119,6 @@ enum brl_type {
|
|||||||
#include "librpc/ndr/ndr_orpc.h"
|
#include "librpc/ndr/ndr_orpc.h"
|
||||||
#include "librpc/gen_ndr/orpc.h"
|
#include "librpc/gen_ndr/orpc.h"
|
||||||
#include "librpc/rpc/dcerpc.h"
|
#include "librpc/rpc/dcerpc.h"
|
||||||
#include "libcli/raw/trans2.h"
|
|
||||||
#include "libcli/raw/interfaces.h"
|
|
||||||
#include "auth/credentials/credentials.h"
|
#include "auth/credentials/credentials.h"
|
||||||
#include "libcli/nbt/libnbt.h"
|
#include "libcli/nbt/libnbt.h"
|
||||||
#include "libcli/util/proto.h"
|
#include "libcli/util/proto.h"
|
||||||
|
@ -579,4 +579,7 @@
|
|||||||
#define _smb2_setlen(buf,len) do {(buf)[0] = 0; (buf)[1] = ((len)&0xFF0000)>>16; \
|
#define _smb2_setlen(buf,len) do {(buf)[0] = 0; (buf)[1] = ((len)&0xFF0000)>>16; \
|
||||||
(buf)[2] = ((len)&0xFF00)>>8; (buf)[3] = (len)&0xFF;} while (0)
|
(buf)[2] = ((len)&0xFF00)>>8; (buf)[3] = (len)&0xFF;} while (0)
|
||||||
|
|
||||||
|
#include "libcli/raw/trans2.h"
|
||||||
|
#include "libcli/raw/interfaces.h"
|
||||||
|
|
||||||
#endif /* _SMB_H */
|
#endif /* _SMB_H */
|
||||||
|
@ -159,3 +159,7 @@ struct smbcli_session;
|
|||||||
struct smbcli_state;
|
struct smbcli_state;
|
||||||
|
|
||||||
struct model_ops;
|
struct model_ops;
|
||||||
|
|
||||||
|
struct smb_wire_string;
|
||||||
|
|
||||||
|
union smb_fileinfo;
|
||||||
|
@ -34,27 +34,10 @@
|
|||||||
is always determined by NULL or packet termination a normal char*
|
is always determined by NULL or packet termination a normal char*
|
||||||
is used in the structure definition.
|
is used in the structure definition.
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
struct smb_wire_string {
|
||||||
uint32_t private_length;
|
uint32_t private_length;
|
||||||
const char *s;
|
const char *s;
|
||||||
} WIRE_STRING;
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
use the same structure for dom_sid2 as dom_sid. A dom_sid2 is really
|
|
||||||
just a dom sid, but with the sub_auths represented as a conformant
|
|
||||||
array. As with all in-structure conformant arrays, the array length
|
|
||||||
is placed before the start of the structure. That's what gives rise
|
|
||||||
to the extra num_auths elemenent. We don't want the Samba code to
|
|
||||||
have to bother with such esoteric NDR details, so its easier to just
|
|
||||||
define it as a dom_sid and use pidl magic to make it all work. It
|
|
||||||
just means you need to mark a sid as a "dom_sid2" in the IDL when you
|
|
||||||
know it is of the conformant array variety
|
|
||||||
*/
|
|
||||||
#define dom_sid2 dom_sid
|
|
||||||
|
|
||||||
/* same struct as dom_sid but inside a 28 bytes fixed buffer in NDR */
|
|
||||||
#define dom_sid28 dom_sid
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
a generic container for file handles
|
a generic container for file handles
|
||||||
@ -368,7 +351,7 @@ union smb_fileinfo {
|
|||||||
uint_t num_eas;
|
uint_t num_eas;
|
||||||
struct ea_struct {
|
struct ea_struct {
|
||||||
uint8_t flags;
|
uint8_t flags;
|
||||||
WIRE_STRING name;
|
struct smb_wire_string name;
|
||||||
DATA_BLOB value;
|
DATA_BLOB value;
|
||||||
} *eas;
|
} *eas;
|
||||||
NTTIME create_time;
|
NTTIME create_time;
|
||||||
@ -378,8 +361,8 @@ union smb_fileinfo {
|
|||||||
uint64_t alloc_size;
|
uint64_t alloc_size;
|
||||||
uint64_t size;
|
uint64_t size;
|
||||||
uint32_t nlink;
|
uint32_t nlink;
|
||||||
WIRE_STRING fname;
|
struct smb_wire_string fname;
|
||||||
WIRE_STRING alt_fname;
|
struct smb_wire_string alt_fname;
|
||||||
uint8_t delete_pending;
|
uint8_t delete_pending;
|
||||||
uint8_t directory;
|
uint8_t directory;
|
||||||
uint64_t compressed_size;
|
uint64_t compressed_size;
|
||||||
@ -397,7 +380,7 @@ union smb_fileinfo {
|
|||||||
struct stream_struct {
|
struct stream_struct {
|
||||||
uint64_t size;
|
uint64_t size;
|
||||||
uint64_t alloc_size;
|
uint64_t alloc_size;
|
||||||
WIRE_STRING stream_name;
|
struct smb_wire_string stream_name;
|
||||||
} *streams;
|
} *streams;
|
||||||
} out;
|
} out;
|
||||||
} generic;
|
} generic;
|
||||||
@ -455,7 +438,7 @@ union smb_fileinfo {
|
|||||||
struct {
|
struct {
|
||||||
uint_t num_names;
|
uint_t num_names;
|
||||||
struct ea_name {
|
struct ea_name {
|
||||||
WIRE_STRING name;
|
struct smb_wire_string name;
|
||||||
} *ea_names;
|
} *ea_names;
|
||||||
} in;
|
} in;
|
||||||
|
|
||||||
@ -528,7 +511,7 @@ union smb_fileinfo {
|
|||||||
union smb_file file;
|
union smb_file file;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
WIRE_STRING fname;
|
struct smb_wire_string fname;
|
||||||
} out;
|
} out;
|
||||||
} name_info;
|
} name_info;
|
||||||
|
|
||||||
@ -549,7 +532,7 @@ union smb_fileinfo {
|
|||||||
uint8_t delete_pending;
|
uint8_t delete_pending;
|
||||||
uint8_t directory;
|
uint8_t directory;
|
||||||
uint32_t ea_size;
|
uint32_t ea_size;
|
||||||
WIRE_STRING fname;
|
struct smb_wire_string fname;
|
||||||
} out;
|
} out;
|
||||||
} all_info;
|
} all_info;
|
||||||
|
|
||||||
@ -576,7 +559,7 @@ union smb_fileinfo {
|
|||||||
uint32_t access_mask;
|
uint32_t access_mask;
|
||||||
uint64_t position;
|
uint64_t position;
|
||||||
uint64_t mode;
|
uint64_t mode;
|
||||||
WIRE_STRING fname;
|
struct smb_wire_string fname;
|
||||||
} out;
|
} out;
|
||||||
} all_info2;
|
} all_info2;
|
||||||
|
|
||||||
@ -586,7 +569,7 @@ union smb_fileinfo {
|
|||||||
union smb_file file;
|
union smb_file file;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
WIRE_STRING fname;
|
struct smb_wire_string fname;
|
||||||
} out;
|
} out;
|
||||||
} alt_name_info;
|
} alt_name_info;
|
||||||
|
|
||||||
@ -643,7 +626,7 @@ union smb_fileinfo {
|
|||||||
union smb_file file;
|
union smb_file file;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
WIRE_STRING link_dest;
|
struct smb_wire_string link_dest;
|
||||||
} out;
|
} out;
|
||||||
} unix_link_info;
|
} unix_link_info;
|
||||||
|
|
||||||
@ -1009,7 +992,7 @@ union smb_fsinfo {
|
|||||||
|
|
||||||
struct {
|
struct {
|
||||||
uint32_t serial_number;
|
uint32_t serial_number;
|
||||||
WIRE_STRING volume_name;
|
struct smb_wire_string volume_name;
|
||||||
} out;
|
} out;
|
||||||
} volume;
|
} volume;
|
||||||
|
|
||||||
@ -1021,7 +1004,7 @@ union smb_fsinfo {
|
|||||||
struct {
|
struct {
|
||||||
NTTIME create_time;
|
NTTIME create_time;
|
||||||
uint32_t serial_number;
|
uint32_t serial_number;
|
||||||
WIRE_STRING volume_name;
|
struct smb_wire_string volume_name;
|
||||||
} out;
|
} out;
|
||||||
} volume_info;
|
} volume_info;
|
||||||
|
|
||||||
@ -1058,7 +1041,7 @@ union smb_fsinfo {
|
|||||||
struct {
|
struct {
|
||||||
uint32_t fs_attr;
|
uint32_t fs_attr;
|
||||||
uint32_t max_file_component_length;
|
uint32_t max_file_component_length;
|
||||||
WIRE_STRING fs_type;
|
struct smb_wire_string fs_type;
|
||||||
} out;
|
} out;
|
||||||
} attribute_info;
|
} attribute_info;
|
||||||
|
|
||||||
@ -1741,7 +1724,7 @@ union smb_notify {
|
|||||||
uint32_t num_changes;
|
uint32_t num_changes;
|
||||||
struct notify_changes {
|
struct notify_changes {
|
||||||
uint32_t action;
|
uint32_t action;
|
||||||
WIRE_STRING name;
|
struct smb_wire_string name;
|
||||||
} *changes;
|
} *changes;
|
||||||
} out;
|
} out;
|
||||||
} notify;
|
} notify;
|
||||||
@ -1876,7 +1859,7 @@ union smb_search_data {
|
|||||||
uint32_t size;
|
uint32_t size;
|
||||||
uint32_t alloc_size;
|
uint32_t alloc_size;
|
||||||
uint16_t attrib;
|
uint16_t attrib;
|
||||||
WIRE_STRING name;
|
struct smb_wire_string name;
|
||||||
} standard;
|
} standard;
|
||||||
|
|
||||||
/* trans2 findfirst RAW_SEARCH_EA_SIZE level */
|
/* trans2 findfirst RAW_SEARCH_EA_SIZE level */
|
||||||
@ -1889,7 +1872,7 @@ union smb_search_data {
|
|||||||
uint32_t alloc_size;
|
uint32_t alloc_size;
|
||||||
uint16_t attrib;
|
uint16_t attrib;
|
||||||
uint32_t ea_size;
|
uint32_t ea_size;
|
||||||
WIRE_STRING name;
|
struct smb_wire_string name;
|
||||||
} ea_size;
|
} ea_size;
|
||||||
|
|
||||||
/* trans2 findfirst RAW_SEARCH_EA_LIST level */
|
/* trans2 findfirst RAW_SEARCH_EA_LIST level */
|
||||||
@ -1902,7 +1885,7 @@ union smb_search_data {
|
|||||||
uint32_t alloc_size;
|
uint32_t alloc_size;
|
||||||
uint16_t attrib;
|
uint16_t attrib;
|
||||||
struct smb_ea_list eas;
|
struct smb_ea_list eas;
|
||||||
WIRE_STRING name;
|
struct smb_wire_string name;
|
||||||
} ea_list;
|
} ea_list;
|
||||||
|
|
||||||
/* RAW_SEARCH_DIRECTORY_INFO interface */
|
/* RAW_SEARCH_DIRECTORY_INFO interface */
|
||||||
@ -1915,7 +1898,7 @@ union smb_search_data {
|
|||||||
uint64_t size;
|
uint64_t size;
|
||||||
uint64_t alloc_size;
|
uint64_t alloc_size;
|
||||||
uint32_t attrib;
|
uint32_t attrib;
|
||||||
WIRE_STRING name;
|
struct smb_wire_string name;
|
||||||
} directory_info;
|
} directory_info;
|
||||||
|
|
||||||
/* RAW_SEARCH_FULL_DIRECTORY_INFO interface */
|
/* RAW_SEARCH_FULL_DIRECTORY_INFO interface */
|
||||||
@ -1929,13 +1912,13 @@ union smb_search_data {
|
|||||||
uint64_t alloc_size;
|
uint64_t alloc_size;
|
||||||
uint32_t attrib;
|
uint32_t attrib;
|
||||||
uint32_t ea_size;
|
uint32_t ea_size;
|
||||||
WIRE_STRING name;
|
struct smb_wire_string name;
|
||||||
} full_directory_info;
|
} full_directory_info;
|
||||||
|
|
||||||
/* RAW_SEARCH_NAME_INFO interface */
|
/* RAW_SEARCH_NAME_INFO interface */
|
||||||
struct {
|
struct {
|
||||||
uint32_t file_index;
|
uint32_t file_index;
|
||||||
WIRE_STRING name;
|
struct smb_wire_string name;
|
||||||
} name_info;
|
} name_info;
|
||||||
|
|
||||||
/* RAW_SEARCH_BOTH_DIRECTORY_INFO interface */
|
/* RAW_SEARCH_BOTH_DIRECTORY_INFO interface */
|
||||||
@ -1949,8 +1932,8 @@ union smb_search_data {
|
|||||||
uint64_t alloc_size;
|
uint64_t alloc_size;
|
||||||
uint32_t attrib;
|
uint32_t attrib;
|
||||||
uint32_t ea_size;
|
uint32_t ea_size;
|
||||||
WIRE_STRING short_name;
|
struct smb_wire_string short_name;
|
||||||
WIRE_STRING name;
|
struct smb_wire_string name;
|
||||||
} both_directory_info;
|
} both_directory_info;
|
||||||
|
|
||||||
/* RAW_SEARCH_ID_FULL_DIRECTORY_INFO interface */
|
/* RAW_SEARCH_ID_FULL_DIRECTORY_INFO interface */
|
||||||
@ -1965,7 +1948,7 @@ union smb_search_data {
|
|||||||
uint32_t attrib;
|
uint32_t attrib;
|
||||||
uint32_t ea_size;
|
uint32_t ea_size;
|
||||||
uint64_t file_id;
|
uint64_t file_id;
|
||||||
WIRE_STRING name;
|
struct smb_wire_string name;
|
||||||
} id_full_directory_info;
|
} id_full_directory_info;
|
||||||
|
|
||||||
/* RAW_SEARCH_ID_BOTH_DIRECTORY_INFO interface */
|
/* RAW_SEARCH_ID_BOTH_DIRECTORY_INFO interface */
|
||||||
@ -1980,8 +1963,8 @@ union smb_search_data {
|
|||||||
uint32_t attrib;
|
uint32_t attrib;
|
||||||
uint32_t ea_size;
|
uint32_t ea_size;
|
||||||
uint64_t file_id;
|
uint64_t file_id;
|
||||||
WIRE_STRING short_name;
|
struct smb_wire_string short_name;
|
||||||
WIRE_STRING name;
|
struct smb_wire_string name;
|
||||||
} id_both_directory_info;
|
} id_both_directory_info;
|
||||||
|
|
||||||
/* RAW_SEARCH_UNIX_INFO interface */
|
/* RAW_SEARCH_UNIX_INFO interface */
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
#include "smb.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
work out how many bytes on the wire a ea list will consume.
|
work out how many bytes on the wire a ea list will consume.
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
#include "smb.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
lpq - async send
|
lpq - async send
|
||||||
|
@ -827,7 +827,7 @@ static size_t smbcli_blob_pull_ascii(TALLOC_CTX *mem_ctx,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
pull a string from a blob, returning a talloced WIRE_STRING
|
pull a string from a blob, returning a talloced struct smb_wire_string
|
||||||
|
|
||||||
the string length is limited by the 3 things:
|
the string length is limited by the 3 things:
|
||||||
- the data size in the blob
|
- the data size in the blob
|
||||||
@ -843,7 +843,7 @@ static size_t smbcli_blob_pull_ascii(TALLOC_CTX *mem_ctx,
|
|||||||
size_t smbcli_blob_pull_string(struct smbcli_session *session,
|
size_t smbcli_blob_pull_string(struct smbcli_session *session,
|
||||||
TALLOC_CTX *mem_ctx,
|
TALLOC_CTX *mem_ctx,
|
||||||
const DATA_BLOB *blob,
|
const DATA_BLOB *blob,
|
||||||
WIRE_STRING *dest,
|
struct smb_wire_string *dest,
|
||||||
uint16_t len_offset, uint16_t str_offset,
|
uint16_t len_offset, uint16_t str_offset,
|
||||||
uint_t flags)
|
uint_t flags)
|
||||||
{
|
{
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
#include "smb.h"
|
||||||
#include "libcli/composite/composite.h"
|
#include "libcli/composite/composite.h"
|
||||||
#include "libcli/smb_composite/smb_composite.h"
|
#include "libcli/smb_composite/smb_composite.h"
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
#include "smb.h"
|
||||||
#include "libcli/composite/composite.h"
|
#include "libcli/composite/composite.h"
|
||||||
#include "libcli/smb_composite/smb_composite.h"
|
#include "libcli/smb_composite/smb_composite.h"
|
||||||
#include "libcli/smb2/smb2.h"
|
#include "libcli/smb2/smb2.h"
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
#include "smb.h"
|
||||||
#include "libcli/rap/rap.h"
|
#include "libcli/rap/rap.h"
|
||||||
#include "ntvfs/ipc/proto.h"
|
#include "ntvfs/ipc/proto.h"
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ static size_t trans2_push_data_string(struct smbsrv_request *req,
|
|||||||
struct smb_trans2 *trans,
|
struct smb_trans2 *trans,
|
||||||
uint32_t len_offset,
|
uint32_t len_offset,
|
||||||
uint32_t offset,
|
uint32_t offset,
|
||||||
const WIRE_STRING *str,
|
const struct smb_wire_string *str,
|
||||||
int dest_len,
|
int dest_len,
|
||||||
int flags)
|
int flags)
|
||||||
{
|
{
|
||||||
@ -190,7 +190,7 @@ static size_t trans2_push_data_string(struct smbsrv_request *req,
|
|||||||
*/
|
*/
|
||||||
static void trans2_append_data_string(struct smbsrv_request *req,
|
static void trans2_append_data_string(struct smbsrv_request *req,
|
||||||
struct smb_trans2 *trans,
|
struct smb_trans2 *trans,
|
||||||
const WIRE_STRING *str,
|
const struct smb_wire_string *str,
|
||||||
uint_t len_offset,
|
uint_t len_offset,
|
||||||
int flags)
|
int flags)
|
||||||
{
|
{
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include "build.h"
|
#include "build.h"
|
||||||
#include "ldb/include/ldb.h"
|
#include "ldb/include/ldb.h"
|
||||||
#include "registry/registry.h"
|
#include "registry/registry.h"
|
||||||
|
#include "smb.h"
|
||||||
#include "ntvfs/ntvfs.h"
|
#include "ntvfs/ntvfs.h"
|
||||||
#include "ntptr/ntptr.h"
|
#include "ntptr/ntptr.h"
|
||||||
#include "auth/gensec/gensec.h"
|
#include "auth/gensec/gensec.h"
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
#include "smb.h"
|
||||||
#include "libcli/raw/libcliraw.h"
|
#include "libcli/raw/libcliraw.h"
|
||||||
#include "libcli/libcli.h"
|
#include "libcli/libcli.h"
|
||||||
#include "system/shmem.h"
|
#include "system/shmem.h"
|
||||||
@ -274,7 +275,7 @@ void *shm_setup(int size)
|
|||||||
check that a wire string matches the flags specified
|
check that a wire string matches the flags specified
|
||||||
not 100% accurate, but close enough for testing
|
not 100% accurate, but close enough for testing
|
||||||
*/
|
*/
|
||||||
BOOL wire_bad_flags(WIRE_STRING *str, int flags, struct smbcli_state *cli)
|
BOOL wire_bad_flags(struct smb_wire_string *str, int flags, struct smbcli_state *cli)
|
||||||
{
|
{
|
||||||
BOOL server_unicode;
|
BOOL server_unicode;
|
||||||
int len;
|
int len;
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
#include "smb.h"
|
||||||
#include "libcli/composite/composite.h"
|
#include "libcli/composite/composite.h"
|
||||||
#include "libcli/smb_composite/smb_composite.h"
|
#include "libcli/smb_composite/smb_composite.h"
|
||||||
#include "winbind/wb_server.h"
|
#include "winbind/wb_server.h"
|
||||||
|
Reference in New Issue
Block a user