Print this page
NEX-16824 SMB client connection setup rework
NEX-17232 SMB client reconnect failures
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
and: (improve debug)
*** 29,41 ****
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
- * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _PRIVATE_H
#define _PRIVATE_H
--- 29,42 ----
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright 2018 Nexenta Systems, Inc. All rights reserved.
*/
#ifndef _PRIVATE_H
#define _PRIVATE_H
*** 59,122 ****
#else
#define DPRINT(...) ((void)0)
#endif
/*
- * Flags bits in ct_vcflags (copied from smb_conn.h)
- * Pass these to the driver?
- */
- #define SMBV_RECONNECTING 0x0002 /* conn in process of reconnection */
- #define SMBV_LONGNAMES 0x0004 /* conn configured to use long names */
- #define SMBV_ENCRYPT 0x0008 /* server demands encrypted password */
- #define SMBV_WIN95 0x0010 /* used to apply bugfixes for this OS */
- #define SMBV_NT4 0x0020 /* used when NT4 issues invalid resp */
- #define SMBV_UNICODE 0x0040 /* conn configured to use Unicode */
- #define SMBV_EXT_SEC 0x0080 /* conn to use extended security */
- #define SMBV_WILL_SIGN 0x0100 /* negotiated signing */
-
- /*
- * request handling structures
- */
- struct smb_rq {
- struct smb_ctx *rq_ctx;
- struct mbdata rq_rq;
- struct mbdata rq_rp;
- int rq_rpbufsz;
- uint8_t rq_cmd;
- uint8_t rq_hflags;
- uint16_t rq_hflags2;
- uint32_t rq_status;
- uint16_t rq_uid;
- uint16_t rq_tid;
- uint16_t rq_mid;
- uint32_t rq_seqno;
- /* See rq_[bw]{start,end} functions */
- char *rq_wcntp;
- int rq_wcbase;
- char *rq_bcntp;
- int rq_bcbase;
- };
- typedef struct smb_rq smb_rq_t;
-
- #define smb_rq_getrequest(rqp) (&(rqp)->rq_rq)
- #define smb_rq_getreply(rqp) (&(rqp)->rq_rp)
-
- int smb_rq_init(struct smb_ctx *, uchar_t, struct smb_rq **);
- void smb_rq_done(struct smb_rq *);
- void smb_rq_bstart(struct smb_rq *);
- void smb_rq_bend(struct smb_rq *);
- void smb_rq_wstart(struct smb_rq *);
- void smb_rq_wend(struct smb_rq *);
- int smb_rq_simple(struct smb_rq *);
- int smb_rq_dmem(struct mbdata *, const char *, size_t);
- int smb_rq_internal(struct smb_ctx *, struct smb_rq *);
- void smb_rq_sign(struct smb_rq *);
- int smb_rq_verify(struct smb_rq *);
- int smb_t2_request(int, int, uint16_t *, const char *,
- int, void *, int, void *, int *, void *, int *, void *, int *);
-
- /*
* This library extends the mchain.h function set a little.
*/
int m_getm(struct mbuf *, int, struct mbuf **);
int m_lineup(struct mbuf *, struct mbuf **);
size_t m_totlen(struct mbuf *);
--- 60,69 ----
*** 172,192 ****
int smb_ctx_getaddr(struct smb_ctx *ctx);
int smb_ctx_gethandle(struct smb_ctx *ctx);
int smb_iod_start(struct smb_ctx *);
- int smb_ssn_send(struct smb_ctx *, struct mbdata *);
- int smb_ssn_recv(struct smb_ctx *, struct mbdata *);
-
- int smb_negprot(struct smb_ctx *, struct mbdata *);
-
- int smb_ssnsetup_null(struct smb_ctx *);
- int smb_ssnsetup_ntlm1(struct smb_ctx *);
- int smb_ssnsetup_ntlm2(struct smb_ctx *);
- int smb_ssnsetup_spnego(struct smb_ctx *, struct mbdata *);
-
void smb_time_local2server(struct timeval *, int, long *);
void smb_time_server2local(ulong_t, int, struct timeval *);
void smb_time_NT2local(uint64_t, int, struct timeval *);
void smb_time_local2NT(struct timeval *, int, uint64_t *);
--- 119,130 ----
int smb_ctx_getaddr(struct smb_ctx *ctx);
int smb_ctx_gethandle(struct smb_ctx *ctx);
int smb_iod_start(struct smb_ctx *);
+ const char *smb_iod_state_name(enum smbiod_state st);
void smb_time_local2server(struct timeval *, int, long *);
void smb_time_server2local(ulong_t, int, struct timeval *);
void smb_time_NT2local(uint64_t, int, struct timeval *);
void smb_time_local2NT(struct timeval *, int, uint64_t *);