unsigned int writebraw_supported:1;
const char *server_domain;
+
+ /* remember the session key for data encryption in various sub-protocols
+ such as LSA */
+ uint8 user_session_key[16];
};
/* this is the context for a SMB socket associated with the socket itself */
SMBsesskeygen_ntv1(nt_hash, NULL, session_key);
nt_response = nt_blob(password, transport->negotiate.secblob);
+ cli_transport_set_session_key(transport, session_key);
+
cli_transport_simple_set_signing(transport, session_key, nt_response);
}
return True;
}
+
+/*
+ store the user session key for a transport
+*/
+void cli_transport_set_session_key(struct cli_transport *transport,
+ const uint8 session_key[16])
+{
+ memcpy(transport->negotiate.user_session_key, session_key, 16);
+}