Changeset 988 for vendor/current/source3/include/client.h
- Timestamp:
- Nov 24, 2016, 1:14:11 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/source3/include/client.h
r740 r988 23 23 #define _CLIENT_H 24 24 25 /* the client asks for a smaller buffer to save ram and also to get more 26 overlap on the wire. This size gives us a nice read/write size, which 27 will be a multiple of the page size on almost any system */ 28 #define CLI_BUFFER_SIZE (0xFFFF) 29 #define CLI_SAMBA_MAX_LARGE_READX_SIZE (127*1024) /* Works for Samba servers */ 30 #define CLI_SAMBA_MAX_LARGE_WRITEX_SIZE (127*1024) /* Works for Samba servers */ 31 #define CLI_WINDOWS_MAX_LARGE_READX_SIZE ((64*1024)-2) /* Windows servers are broken.... */ 32 #define CLI_WINDOWS_MAX_LARGE_WRITEX_SIZE ((64*1024)-2) /* Windows servers are broken.... */ 33 #define CLI_SAMBA_MAX_POSIX_LARGE_READX_SIZE (0xFFFF00) /* 24-bit len. */ 34 #define CLI_SAMBA_MAX_POSIX_LARGE_WRITEX_SIZE (0xFFFF00) /* 24-bit len. */ 25 #define CLI_BUFFER_SIZE SMB_BUFFER_SIZE_MAX 26 27 /* default client timeout to 20 seconds on most commands */ 28 #define CLIENT_TIMEOUT (20 * 1000) 35 29 36 30 /* … … 39 33 40 34 struct print_job_info { 41 uint16 id;42 uint16 priority;35 uint16_t id; 36 uint16_t priority; 43 37 size_t size; 44 38 fstring user; … … 47 41 }; 48 42 49 struct cli_state_seqnum { 50 struct cli_state_seqnum *prev, *next; 51 uint16_t mid; 52 uint32_t seqnum; 53 bool persistent; 54 }; 43 struct smbXcli_conn; 44 struct smbXcli_session; 55 45 56 46 struct cli_state { … … 59 49 */ 60 50 struct cli_state *prev, *next; 61 int port;62 int fd;63 /* Last read or write error. */64 enum smb_read_errors smb_rw_error;65 uint16 cnum;66 uint16 pid;67 uint16 mid;68 uint16 vuid;69 int protocol;70 int sec_mode;71 51 int rap_error; 72 int privileges; 73 74 char *desthost; 75 76 /* The credentials used to open the cli_state connection. */ 77 char *domain; 78 char *user_name; 79 char *password; /* Can be null to force use of zero NTLMSSP session key. */ 52 NTSTATUS raw_status; /* maybe via NT_STATUS_DOS() */ 53 bool map_dos_errors; 80 54 81 55 /* … … 90 64 char *share; 91 65 char *dev; 92 struct nmb_name called;93 struct nmb_name calling;94 struct sockaddr_storage dest_ss;95 66 96 DATA_BLOB secblob; /* cryptkey or negTokenInit */97 uint32 sesskey;98 int serverzone;99 uint32 servertime;100 int readbraw_supported;101 int writebraw_supported;102 67 int timeout; /* in milliseconds. */ 103 size_t max_xmit;104 size_t max_mux;105 char *outbuf;106 struct cli_state_seqnum *seqnum;107 char *inbuf;108 unsigned int bufsize;109 68 int initialised; 110 69 int win95; 111 bool is_samba;112 bool is_guestlogin;113 uint32 capabilities;114 70 /* What the server offered. */ 115 71 uint32_t server_posix_capabilities; 116 72 /* What the client requested. */ 117 73 uint32_t requested_posix_capabilities; 118 bool dfsroot; 119 120 struct smb_signing_state *signing_state; 121 122 struct smb_trans_enc_state *trans_enc_state; /* Setup if we're encrypting SMB's. */ 123 124 /* the session key for this CLI, outside 125 any per-pipe authenticaion */ 126 DATA_BLOB user_session_key; 74 bool backup_intent; 127 75 128 76 /* The list of pipes currently open on this connection. */ … … 131 79 bool use_kerberos; 132 80 bool fallback_after_kerberos; 133 bool use_spnego;134 81 bool use_ccache; 82 bool pw_nt_hash; 135 83 bool got_kerberos_mechanism; /* Server supports krb5 in SPNEGO. */ 136 84 137 85 bool use_oplocks; /* should we use oplocks? */ 138 bool use_level_II_oplocks; /* should we use level II oplocks? */139 140 /* a oplock break request handler */141 NTSTATUS (*oplock_handler)(struct cli_state *cli, uint16_t fnum, unsigned char level);142 143 bool force_dos_errors;144 bool case_sensitive; /* False by default. */145 86 146 87 /* Where (if anywhere) this is mounted under DFS. */ 147 88 char *dfs_mountpoint; 148 89 149 struct tevent_queue *outgoing; 150 struct tevent_req **pending; 90 struct smbXcli_conn *conn; 91 const char *remote_realm; 92 93 struct { 94 uint16_t pid; 95 uint16_t vc_num; 96 struct smbXcli_session *session; 97 struct smbXcli_tcon *tcon; 98 } smb1; 99 100 struct { 101 struct smbXcli_session *session; 102 struct smbXcli_tcon *tcon; 103 struct idr_context *open_handles; 104 } smb2; 151 105 }; 152 106 153 107 struct file_info { 154 108 uint64_t size; 155 uint16 mode;109 uint16_t mode; 156 110 uid_t uid; 157 111 gid_t gid; … … 161 115 struct timespec ctime_ts; 162 116 char *name; 163 char short_name[13*3]; /* the *3 is to cope with multi-byte */117 char *short_name; 164 118 }; 165 119 … … 171 125 #define CLI_FULL_CONNECTION_LEVEL_II_OPLOCKS 0x0020 172 126 #define CLI_FULL_CONNECTION_USE_CCACHE 0x0040 127 #define CLI_FULL_CONNECTION_FORCE_DOS_ERRORS 0x0080 128 #define CLI_FULL_CONNECTION_FORCE_ASCII 0x0100 129 #define CLI_FULL_CONNECTION_USE_NT_HASH 0x0200 173 130 174 131 #endif /* _CLIENT_H */
Note:
See TracChangeset
for help on using the changeset viewer.