s3:libsmb: use new simplified smb_signing code for the client side
[jra/samba/.git] / source3 / include / client.h
index 646d54aa05d979eb9d9e5fb07a94606d5fc98d63..db19f34a9dea0f0cc7e934c3f1878cb8e22d489d 100644 (file)
@@ -166,7 +166,18 @@ struct smb_trans_enc_state {
         } s;
 };
 
+struct cli_state_seqnum {
+       struct cli_state_seqnum *prev, *next;
+       uint16_t mid;
+       uint32_t seqnum;
+       bool persistent;
+};
+
 struct cli_state {
+       /**
+        * A list of subsidiary connections for DFS.
+        */
+        struct cli_state *prev, *next;
        int port;
        int fd;
        /* Last read or write error. */
@@ -183,9 +194,9 @@ struct cli_state {
        fstring desthost;
 
        /* The credentials used to open the cli_state connection. */
-       fstring domain;
-       fstring user_name;
-       struct pwd_info pwd;
+       char *domain;
+       char *user_name;
+       char *password; /* Can be null to force use of zero NTLMSSP session key. */
 
        /*
         * The following strings are the
@@ -213,6 +224,7 @@ struct cli_state {
        size_t max_xmit;
        size_t max_mux;
        char *outbuf;
+       struct cli_state_seqnum *seqnum;
        char *inbuf;
        unsigned int bufsize;
        int initialised;
@@ -227,7 +239,7 @@ struct cli_state {
        TALLOC_CTX *call_mem_ctx;
 #endif
 
-       smb_sign_info sign_info;
+       struct smb_signing_state *signing_state;
 
        struct smb_trans_enc_state *trans_enc_state; /* Setup if we're encrypting SMB's. */
 
@@ -276,6 +288,9 @@ struct cli_state {
         * chained async_req.
         */
        struct cli_request *chain_accumulator;
+
+       /* Where (if anywhere) this is mounted under DFS. */
+       char *dfs_mountpoint;
 };
 
 typedef struct file_info {