}
NTSTATUS smbXsrv_open_create(struct smbXsrv_connection *conn,
- struct auth_session_info *session_info,
+ struct smbXsrv_session *session,
NTTIME now,
struct smbXsrv_open **_open)
{
struct smbXsrv_open_table *table = conn->client->open_table;
+ struct auth_session_info *session_info = NULL;
struct smbXsrv_open *op = NULL;
struct smbXsrv_open_global0 *global = NULL;
NTSTATUS status;
struct security_token *current_token = NULL;
int local_id;
+ session_info = session->global->auth_session_info;
if (session_info == NULL) {
return NT_STATUS_INVALID_HANDLE;
}
op->table = table;
op->status = NT_STATUS_OK; /* TODO: start with INTERNAL_ERROR */
op->idle_time = now;
+ op->session = session;
global = talloc_zero(op, struct smbXsrv_open_global0);
if (global == NULL) {
}
NTSTATUS smb2srv_open_recreate(struct smbXsrv_connection *conn,
- struct auth_session_info *session_info,
+ struct smbXsrv_session *session,
uint64_t persistent_id,
const struct GUID *create_guid,
const struct smb2_lease_key *lease_key,
.lease_key = lease_key,
.me = messaging_server_id(conn->client->msg_ctx),
};
+ struct auth_session_info *session_info =
+ session->global->auth_session_info;
struct smbXsrv_open_global_key_buf key_buf;
TDB_DATA key = smbXsrv_open_global_id_to_key(
persistent_id & UINT32_MAX, &key_buf);
goto fail;
}
+ state.op->session = session;
+
talloc_set_destructor(state.op, smbXsrv_open_destructor);
if (CHECK_DEBUGLVL(10)) {
NTSTATUS smbXsrv_open_global_init(void);
NTSTATUS smbXsrv_open_create(struct smbXsrv_connection *conn,
- struct auth_session_info *session_info,
+ struct smbXsrv_session *session,
NTTIME now,
struct smbXsrv_open **_open);
NTSTATUS smbXsrv_open_update(struct smbXsrv_open *_open);
struct smbXsrv_open **_open);
struct smb2_lease_key;
NTSTATUS smb2srv_open_recreate(struct smbXsrv_connection *conn,
- struct auth_session_info *session_info,
+ struct smbXsrv_session *session,
uint64_t persistent_id,
const struct GUID *create_guid,
const struct smb2_lease_key *lease_key,