1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-02 00:22:11 +03:00

s3:smbd: rename conn => sconn for smbd_server_connection structs

This should avoid confusion between smbd_server_connection
and connection_struct variables.

metze
This commit is contained in:
Stefan Metzmacher
2009-08-07 15:21:07 +02:00
parent 8eac189629
commit 9aa1d25907
15 changed files with 118 additions and 118 deletions

View File

@ -243,7 +243,7 @@ void smbd_server_connection_terminate_ex(struct smbd_server_connection *sconn,
bool smbd_is_smb2_header(const uint8_t *inbuf, size_t size); bool smbd_is_smb2_header(const uint8_t *inbuf, size_t size);
void reply_smb2002(struct smb_request *req, uint16_t choice); void reply_smb2002(struct smb_request *req, uint16_t choice);
void smbd_smb2_first_negprot(struct smbd_server_connection *conn, void smbd_smb2_first_negprot(struct smbd_server_connection *sconn,
const uint8_t *inbuf, size_t size); const uint8_t *inbuf, size_t size);
NTSTATUS smbd_smb2_request_error_ex(struct smbd_smb2_request *req, NTSTATUS smbd_smb2_request_error_ex(struct smbd_smb2_request *req,
@ -296,7 +296,7 @@ struct smbd_smb2_request {
TALLOC_CTX *mem_pool; TALLOC_CTX *mem_pool;
struct smbd_smb2_request **parent; struct smbd_smb2_request **parent;
struct smbd_server_connection *conn; struct smbd_server_connection *sconn;
/* the session the request operates on, maybe NULL */ /* the session the request operates on, maybe NULL */
struct smbd_smb2_session *session; struct smbd_smb2_session *session;
@ -361,7 +361,7 @@ struct smbd_server_connection;
struct smbd_smb2_session { struct smbd_smb2_session {
struct smbd_smb2_session *prev, *next; struct smbd_smb2_session *prev, *next;
struct smbd_server_connection *conn; struct smbd_server_connection *sconn;
NTSTATUS status; NTSTATUS status;
uint64_t vuid; uint64_t vuid;
AUTH_NTLMSSP_STATE *auth_ntlmssp_state; AUTH_NTLMSSP_STATE *auth_ntlmssp_state;

View File

@ -68,7 +68,7 @@ NTSTATUS smbd_smb2_request_process_break(struct smbd_smb2_request *req)
} }
subreq = smbd_smb2_oplock_break_send(req, subreq = smbd_smb2_oplock_break_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req, req,
in_oplock_level, in_oplock_level,
in_file_id_volatile); in_file_id_volatile);
@ -102,7 +102,7 @@ static void smbd_smb2_request_oplock_break_done(struct tevent_req *subreq)
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status); error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -118,7 +118,7 @@ static void smbd_smb2_request_oplock_break_done(struct tevent_req *subreq)
if (outbody.data == NULL) { if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -137,7 +137,7 @@ static void smbd_smb2_request_oplock_break_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, NULL); error = smbd_smb2_request_done(req, outbody, NULL);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }

View File

@ -111,7 +111,7 @@ NTSTATUS smbd_smb2_request_process_create(struct smbd_smb2_request *req)
} }
subreq = smbd_smb2_create_send(req, subreq = smbd_smb2_create_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req, req,
in_oplock_level, in_oplock_level,
in_impersonation_level, in_impersonation_level,
@ -169,7 +169,7 @@ static void smbd_smb2_request_create_done(struct tevent_req *subreq)
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status); error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -182,7 +182,7 @@ static void smbd_smb2_request_create_done(struct tevent_req *subreq)
if (outbody.data == NULL) { if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -220,7 +220,7 @@ static void smbd_smb2_request_create_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, &outdyn); error = smbd_smb2_request_done(req, outbody, &outdyn);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }

View File

@ -108,7 +108,7 @@ NTSTATUS smbd_smb2_request_process_find(struct smbd_smb2_request *req)
} }
subreq = smbd_smb2_find_send(req, subreq = smbd_smb2_find_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req, req,
in_file_info_class, in_file_info_class,
in_flags, in_flags,
@ -148,7 +148,7 @@ static void smbd_smb2_request_find_done(struct tevent_req *subreq)
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status); error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -163,7 +163,7 @@ static void smbd_smb2_request_find_done(struct tevent_req *subreq)
if (outbody.data == NULL) { if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -180,7 +180,7 @@ static void smbd_smb2_request_find_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, &outdyn); error = smbd_smb2_request_done(req, outbody, &outdyn);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }

View File

@ -62,7 +62,7 @@ NTSTATUS smbd_smb2_request_process_flush(struct smbd_smb2_request *req)
} }
subreq = smbd_smb2_flush_send(req, subreq = smbd_smb2_flush_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req, req,
in_file_id_volatile); in_file_id_volatile);
if (subreq == NULL) { if (subreq == NULL) {
@ -90,7 +90,7 @@ static void smbd_smb2_request_flush_done(struct tevent_req *subreq)
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status); error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -101,7 +101,7 @@ static void smbd_smb2_request_flush_done(struct tevent_req *subreq)
if (outbody.data == NULL) { if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -113,7 +113,7 @@ static void smbd_smb2_request_flush_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, NULL); error = smbd_smb2_request_done(req, outbody, NULL);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }

View File

@ -100,7 +100,7 @@ NTSTATUS smbd_smb2_request_process_getinfo(struct smbd_smb2_request *req)
} }
subreq = smbd_smb2_getinfo_send(req, subreq = smbd_smb2_getinfo_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req, req,
in_info_type, in_info_type,
in_file_info_class, in_file_info_class,
@ -141,7 +141,7 @@ static void smbd_smb2_request_getinfo_done(struct tevent_req *subreq)
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status); error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -156,7 +156,7 @@ static void smbd_smb2_request_getinfo_done(struct tevent_req *subreq)
if (outbody.data == NULL) { if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -173,7 +173,7 @@ static void smbd_smb2_request_getinfo_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, &outdyn); error = smbd_smb2_request_done(req, outbody, &outdyn);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }

View File

@ -93,7 +93,7 @@ NTSTATUS smbd_smb2_request_process_ioctl(struct smbd_smb2_request *req)
} }
subreq = smbd_smb2_ioctl_send(req, subreq = smbd_smb2_ioctl_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req, req,
in_ctl_code, in_ctl_code,
in_file_id_volatile, in_file_id_volatile,
@ -137,7 +137,7 @@ static void smbd_smb2_request_ioctl_done(struct tevent_req *subreq)
} else if (!NT_STATUS_IS_OK(status)) { } else if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status); error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -159,7 +159,7 @@ static void smbd_smb2_request_ioctl_done(struct tevent_req *subreq)
if (outbody.data == NULL) { if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -194,7 +194,7 @@ static void smbd_smb2_request_ioctl_done(struct tevent_req *subreq)
error = smbd_smb2_request_done_ex(req, status, outbody, &outdyn, error = smbd_smb2_request_done_ex(req, status, outbody, &outdyn,
__location__); __location__);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -410,7 +410,7 @@ static void smbd_smb2_ioctl_pipe_write_done(struct tevent_req *subreq)
} }
subreq = np_read_send(state->smbreq->conn, subreq = np_read_send(state->smbreq->conn,
state->smb2req->conn->smb2.event_ctx, state->smb2req->sconn->smb2.event_ctx,
state->fsp->fake_file_handle, state->fsp->fake_file_handle,
state->out_output.data, state->out_output.data,
state->out_output.length); state->out_output.length);

View File

@ -113,7 +113,7 @@ NTSTATUS smbd_smb2_request_process_lock(struct smbd_smb2_request *req)
} }
subreq = smbd_smb2_lock_send(req, subreq = smbd_smb2_lock_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req, req,
in_smbpid, in_smbpid,
in_file_id_volatile, in_file_id_volatile,
@ -144,7 +144,7 @@ static void smbd_smb2_request_lock_done(struct tevent_req *subreq)
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status); error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -155,7 +155,7 @@ static void smbd_smb2_request_lock_done(struct tevent_req *subreq)
if (outbody.data == NULL) { if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -167,7 +167,7 @@ static void smbd_smb2_request_lock_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, NULL); error = smbd_smb2_request_done(req, outbody, NULL);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }

View File

@ -81,7 +81,7 @@ NTSTATUS smbd_smb2_request_process_notify(struct smbd_smb2_request *req)
} }
subreq = smbd_smb2_notify_send(req, subreq = smbd_smb2_notify_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req, req,
in_flags, in_flags,
in_output_buffer_length, in_output_buffer_length,
@ -119,7 +119,7 @@ static void smbd_smb2_request_notify_done(struct tevent_req *subreq)
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status); error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -134,7 +134,7 @@ static void smbd_smb2_request_notify_done(struct tevent_req *subreq)
if (outbody.data == NULL) { if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -151,7 +151,7 @@ static void smbd_smb2_request_notify_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, &outdyn); error = smbd_smb2_request_done(req, outbody, &outdyn);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -332,7 +332,7 @@ static void smbd_smb2_notify_reply(struct smb_request *smbreq,
* being arround after calling this function * being arround after calling this function
*/ */
tevent_schedule_immediate(state->im, tevent_schedule_immediate(state->im,
state->smb2req->conn->smb2.event_ctx, state->smb2req->sconn->smb2.event_ctx,
smbd_smb2_notify_reply_trigger, smbd_smb2_notify_reply_trigger,
req); req);
} }

View File

@ -88,7 +88,7 @@ NTSTATUS smbd_smb2_request_process_read(struct smbd_smb2_request *req)
} }
subreq = smbd_smb2_read_send(req, subreq = smbd_smb2_read_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req, req,
in_smbpid, in_smbpid,
in_file_id_volatile, in_file_id_volatile,
@ -130,7 +130,7 @@ static void smbd_smb2_request_read_done(struct tevent_req *subreq)
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status); error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -145,7 +145,7 @@ static void smbd_smb2_request_read_done(struct tevent_req *subreq)
if (outbody.data == NULL) { if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -166,7 +166,7 @@ static void smbd_smb2_request_read_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, &outdyn); error = smbd_smb2_request_done(req, outbody, &outdyn);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }

View File

@ -36,34 +36,34 @@ bool smbd_is_smb2_header(const uint8_t *inbuf, size_t size)
return true; return true;
} }
static NTSTATUS smbd_initialize_smb2(struct smbd_server_connection *conn) static NTSTATUS smbd_initialize_smb2(struct smbd_server_connection *sconn)
{ {
NTSTATUS status; NTSTATUS status;
int ret; int ret;
TALLOC_FREE(conn->smb1.fde); TALLOC_FREE(sconn->smb1.fde);
conn->smb2.event_ctx = smbd_event_context(); sconn->smb2.event_ctx = smbd_event_context();
conn->smb2.recv_queue = tevent_queue_create(conn, "smb2 recv queue"); sconn->smb2.recv_queue = tevent_queue_create(sconn, "smb2 recv queue");
if (conn->smb2.recv_queue == NULL) { if (sconn->smb2.recv_queue == NULL) {
return NT_STATUS_NO_MEMORY; return NT_STATUS_NO_MEMORY;
} }
conn->smb2.send_queue = tevent_queue_create(conn, "smb2 send queue"); sconn->smb2.send_queue = tevent_queue_create(sconn, "smb2 send queue");
if (conn->smb2.send_queue == NULL) { if (sconn->smb2.send_queue == NULL) {
return NT_STATUS_NO_MEMORY; return NT_STATUS_NO_MEMORY;
} }
conn->smb2.sessions.idtree = idr_init(conn); sconn->smb2.sessions.idtree = idr_init(sconn);
if (conn->smb2.sessions.idtree == NULL) { if (sconn->smb2.sessions.idtree == NULL) {
return NT_STATUS_NO_MEMORY; return NT_STATUS_NO_MEMORY;
} }
conn->smb2.sessions.limit = 0x0000FFFE; sconn->smb2.sessions.limit = 0x0000FFFE;
conn->smb2.sessions.list = NULL; sconn->smb2.sessions.list = NULL;
ret = tstream_bsd_existing_socket(conn, smbd_server_fd(), ret = tstream_bsd_existing_socket(sconn, smbd_server_fd(),
&conn->smb2.stream); &sconn->smb2.stream);
if (ret == -1) { if (ret == -1) {
status = map_nt_error_from_unix(errno); status = map_nt_error_from_unix(errno);
return status; return status;
@ -108,7 +108,7 @@ static int smbd_smb2_request_parent_destructor(struct smbd_smb2_request **req)
static int smbd_smb2_request_destructor(struct smbd_smb2_request *req) static int smbd_smb2_request_destructor(struct smbd_smb2_request *req)
{ {
if (req->out.vector) { if (req->out.vector) {
DLIST_REMOVE(req->conn->smb2.requests, req); DLIST_REMOVE(req->sconn->smb2.requests, req);
} }
if (req->parent) { if (req->parent) {
@ -151,7 +151,7 @@ static struct smbd_smb2_request *smbd_smb2_request_allocate(TALLOC_CTX *mem_ctx)
return req; return req;
} }
static NTSTATUS smbd_smb2_request_create(struct smbd_server_connection *conn, static NTSTATUS smbd_smb2_request_create(struct smbd_server_connection *sconn,
const uint8_t *inbuf, size_t size, const uint8_t *inbuf, size_t size,
struct smbd_smb2_request **_req) struct smbd_smb2_request **_req)
{ {
@ -190,11 +190,11 @@ static NTSTATUS smbd_smb2_request_create(struct smbd_server_connection *conn,
return NT_STATUS_INVALID_PARAMETER; return NT_STATUS_INVALID_PARAMETER;
} }
req = smbd_smb2_request_allocate(conn); req = smbd_smb2_request_allocate(sconn);
if (req == NULL) { if (req == NULL) {
return NT_STATUS_NO_MEMORY; return NT_STATUS_NO_MEMORY;
} }
req->conn = conn; req->sconn = sconn;
talloc_steal(req, inbuf); talloc_steal(req, inbuf);
@ -398,7 +398,7 @@ static NTSTATUS smbd_smb2_request_setup_out(struct smbd_smb2_request *req)
/* setup the length of the NBT packet */ /* setup the length of the NBT packet */
smb2_setup_nbt_length(req->out.vector, req->out.vector_count); smb2_setup_nbt_length(req->out.vector, req->out.vector_count);
DLIST_ADD_END(req->conn->smb2.requests, req, struct smbd_smb2_request *); DLIST_ADD_END(req->sconn->smb2.requests, req, struct smbd_smb2_request *);
return NT_STATUS_OK; return NT_STATUS_OK;
} }
@ -442,11 +442,11 @@ NTSTATUS smbd_smb2_request_pending_queue(struct smbd_smb2_request *req)
SBVAL(outhdr, SMB2_HDR_PID, async_id); SBVAL(outhdr, SMB2_HDR_PID, async_id);
/* TODO: add a paramter to delay this */ /* TODO: add a paramter to delay this */
state = talloc(req->conn, struct smbd_smb2_request_pending_state); state = talloc(req->sconn, struct smbd_smb2_request_pending_state);
if (state == NULL) { if (state == NULL) {
return NT_STATUS_NO_MEMORY; return NT_STATUS_NO_MEMORY;
} }
state->sconn = req->conn; state->sconn = req->sconn;
state->vector.iov_base = (void *)state->buf; state->vector.iov_base = (void *)state->buf;
state->vector.iov_len = sizeof(state->buf); state->vector.iov_len = sizeof(state->buf);
@ -480,9 +480,9 @@ NTSTATUS smbd_smb2_request_pending_queue(struct smbd_smb2_request *req)
SIVAL(body, 0x04, 0); SIVAL(body, 0x04, 0);
subreq = tstream_writev_queue_send(state, subreq = tstream_writev_queue_send(state,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req->conn->smb2.stream, req->sconn->smb2.stream,
req->conn->smb2.send_queue, req->sconn->smb2.send_queue,
&state->vector, 1); &state->vector, 1);
if (subreq == NULL) { if (subreq == NULL) {
return NT_STATUS_NO_MEMORY; return NT_STATUS_NO_MEMORY;
@ -516,7 +516,7 @@ static void smbd_smb2_request_pending_writev_done(struct tevent_req *subreq)
static NTSTATUS smbd_smb2_request_process_cancel(struct smbd_smb2_request *req) static NTSTATUS smbd_smb2_request_process_cancel(struct smbd_smb2_request *req)
{ {
struct smbd_server_connection *sconn = req->conn; struct smbd_server_connection *sconn = req->sconn;
struct smbd_smb2_request *cur; struct smbd_smb2_request *cur;
const uint8_t *inhdr; const uint8_t *inhdr;
int i = req->current_idx; int i = req->current_idx;
@ -812,7 +812,7 @@ static NTSTATUS smbd_smb2_request_reply(struct smbd_smb2_request *req)
if (req->current_idx < req->out.vector_count) { if (req->current_idx < req->out.vector_count) {
struct timeval zero = timeval_zero(); struct timeval zero = timeval_zero();
subreq = tevent_wakeup_send(req, subreq = tevent_wakeup_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
zero); zero);
if (subreq == NULL) { if (subreq == NULL) {
return NT_STATUS_NO_MEMORY; return NT_STATUS_NO_MEMORY;
@ -825,9 +825,9 @@ static NTSTATUS smbd_smb2_request_reply(struct smbd_smb2_request *req)
} }
subreq = tstream_writev_queue_send(req, subreq = tstream_writev_queue_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req->conn->smb2.stream, req->sconn->smb2.stream,
req->conn->smb2.send_queue, req->sconn->smb2.send_queue,
req->out.vector, req->out.vector,
req->out.vector_count); req->out.vector_count);
if (subreq == NULL) { if (subreq == NULL) {
@ -842,7 +842,7 @@ static void smbd_smb2_request_dispatch_compound(struct tevent_req *subreq)
{ {
struct smbd_smb2_request *req = tevent_req_callback_data(subreq, struct smbd_smb2_request *req = tevent_req_callback_data(subreq,
struct smbd_smb2_request); struct smbd_smb2_request);
struct smbd_server_connection *conn = req->conn; struct smbd_server_connection *sconn = req->sconn;
NTSTATUS status; NTSTATUS status;
tevent_wakeup_recv(subreq); tevent_wakeup_recv(subreq);
@ -853,7 +853,7 @@ static void smbd_smb2_request_dispatch_compound(struct tevent_req *subreq)
status = smbd_smb2_request_dispatch(req); status = smbd_smb2_request_dispatch(req);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
smbd_server_connection_terminate(conn, nt_errstr(status)); smbd_server_connection_terminate(sconn, nt_errstr(status));
return; return;
} }
} }
@ -862,7 +862,7 @@ static void smbd_smb2_request_writev_done(struct tevent_req *subreq)
{ {
struct smbd_smb2_request *req = tevent_req_callback_data(subreq, struct smbd_smb2_request *req = tevent_req_callback_data(subreq,
struct smbd_smb2_request); struct smbd_smb2_request);
struct smbd_server_connection *conn = req->conn; struct smbd_server_connection *sconn = req->sconn;
int ret; int ret;
int sys_errno; int sys_errno;
@ -871,7 +871,7 @@ static void smbd_smb2_request_writev_done(struct tevent_req *subreq)
TALLOC_FREE(req); TALLOC_FREE(req);
if (ret == -1) { if (ret == -1) {
NTSTATUS status = map_nt_error_from_unix(sys_errno); NTSTATUS status = map_nt_error_from_unix(sys_errno);
smbd_server_connection_terminate(conn, nt_errstr(status)); smbd_server_connection_terminate(sconn, nt_errstr(status));
return; return;
} }
} }
@ -1124,7 +1124,7 @@ static void smbd_smb2_request_read_done(struct tevent_req *subreq);
static struct tevent_req *smbd_smb2_request_read_send(TALLOC_CTX *mem_ctx, static struct tevent_req *smbd_smb2_request_read_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev, struct tevent_context *ev,
struct smbd_server_connection *conn) struct smbd_server_connection *sconn)
{ {
struct tevent_req *req; struct tevent_req *req;
struct smbd_smb2_request_read_state *state; struct smbd_smb2_request_read_state *state;
@ -1142,10 +1142,10 @@ static struct tevent_req *smbd_smb2_request_read_send(TALLOC_CTX *mem_ctx,
if (tevent_req_nomem(state->smb2_req, req)) { if (tevent_req_nomem(state->smb2_req, req)) {
return tevent_req_post(req, ev); return tevent_req_post(req, ev);
} }
state->smb2_req->conn = conn; state->smb2_req->sconn = sconn;
subreq = tstream_readv_pdu_queue_send(state, ev, conn->smb2.stream, subreq = tstream_readv_pdu_queue_send(state, ev, sconn->smb2.stream,
conn->smb2.recv_queue, sconn->smb2.recv_queue,
smbd_smb2_request_next_vector, smbd_smb2_request_next_vector,
state); state);
if (tevent_req_nomem(subreq, req)) { if (tevent_req_nomem(subreq, req)) {
@ -1475,7 +1475,7 @@ static NTSTATUS smbd_smb2_request_read_recv(struct tevent_req *req,
static void smbd_smb2_request_incoming(struct tevent_req *subreq); static void smbd_smb2_request_incoming(struct tevent_req *subreq);
void smbd_smb2_first_negprot(struct smbd_server_connection *conn, void smbd_smb2_first_negprot(struct smbd_server_connection *sconn,
const uint8_t *inbuf, size_t size) const uint8_t *inbuf, size_t size)
{ {
NTSTATUS status; NTSTATUS status;
@ -1485,50 +1485,50 @@ void smbd_smb2_first_negprot(struct smbd_server_connection *conn,
DEBUG(10,("smbd_smb2_first_negprot: packet length %u\n", DEBUG(10,("smbd_smb2_first_negprot: packet length %u\n",
(unsigned int)size)); (unsigned int)size));
status = smbd_initialize_smb2(conn); status = smbd_initialize_smb2(sconn);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
smbd_server_connection_terminate(conn, nt_errstr(status)); smbd_server_connection_terminate(sconn, nt_errstr(status));
return; return;
} }
status = smbd_smb2_request_create(conn, inbuf, size, &req); status = smbd_smb2_request_create(sconn, inbuf, size, &req);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
smbd_server_connection_terminate(conn, nt_errstr(status)); smbd_server_connection_terminate(sconn, nt_errstr(status));
return; return;
} }
status = smbd_smb2_request_setup_out(req); status = smbd_smb2_request_setup_out(req);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
smbd_server_connection_terminate(conn, nt_errstr(status)); smbd_server_connection_terminate(sconn, nt_errstr(status));
return; return;
} }
status = smbd_smb2_request_dispatch(req); status = smbd_smb2_request_dispatch(req);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
smbd_server_connection_terminate(conn, nt_errstr(status)); smbd_server_connection_terminate(sconn, nt_errstr(status));
return; return;
} }
/* ask for the next request */ /* ask for the next request */
subreq = smbd_smb2_request_read_send(conn,conn->smb2.event_ctx, conn); subreq = smbd_smb2_request_read_send(sconn, sconn->smb2.event_ctx, sconn);
if (subreq == NULL) { if (subreq == NULL) {
smbd_server_connection_terminate(conn, "no memory for reading"); smbd_server_connection_terminate(sconn, "no memory for reading");
return; return;
} }
tevent_req_set_callback(subreq, smbd_smb2_request_incoming, conn); tevent_req_set_callback(subreq, smbd_smb2_request_incoming, sconn);
} }
static void smbd_smb2_request_incoming(struct tevent_req *subreq) static void smbd_smb2_request_incoming(struct tevent_req *subreq)
{ {
struct smbd_server_connection *conn = tevent_req_callback_data(subreq, struct smbd_server_connection *sconn = tevent_req_callback_data(subreq,
struct smbd_server_connection); struct smbd_server_connection);
NTSTATUS status; NTSTATUS status;
struct smbd_smb2_request *req = NULL; struct smbd_smb2_request *req = NULL;
status = smbd_smb2_request_read_recv(subreq, conn, &req); status = smbd_smb2_request_read_recv(subreq, sconn, &req);
TALLOC_FREE(subreq); TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
smbd_server_connection_terminate(conn, nt_errstr(status)); smbd_server_connection_terminate(sconn, nt_errstr(status));
return; return;
} }
@ -1546,28 +1546,28 @@ static void smbd_smb2_request_incoming(struct tevent_req *subreq)
status = smbd_smb2_request_validate(req); status = smbd_smb2_request_validate(req);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
smbd_server_connection_terminate(conn, nt_errstr(status)); smbd_server_connection_terminate(sconn, nt_errstr(status));
return; return;
} }
status = smbd_smb2_request_setup_out(req); status = smbd_smb2_request_setup_out(req);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
smbd_server_connection_terminate(conn, nt_errstr(status)); smbd_server_connection_terminate(sconn, nt_errstr(status));
return; return;
} }
status = smbd_smb2_request_dispatch(req); status = smbd_smb2_request_dispatch(req);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
smbd_server_connection_terminate(conn, nt_errstr(status)); smbd_server_connection_terminate(sconn, nt_errstr(status));
return; return;
} }
next: next:
/* ask for the next request (this constructs the main loop) */ /* ask for the next request (this constructs the main loop) */
subreq = smbd_smb2_request_read_send(conn,conn->smb2.event_ctx, conn); subreq = smbd_smb2_request_read_send(sconn, sconn->smb2.event_ctx, sconn);
if (subreq == NULL) { if (subreq == NULL) {
smbd_server_connection_terminate(conn, "no memory for reading"); smbd_server_connection_terminate(sconn, "no memory for reading");
return; return;
} }
tevent_req_set_callback(subreq, smbd_smb2_request_incoming, conn); tevent_req_set_callback(subreq, smbd_smb2_request_incoming, sconn);
} }

View File

@ -120,7 +120,7 @@ NTSTATUS smbd_smb2_request_process_sesssetup(struct smbd_smb2_request *req)
static int smbd_smb2_session_destructor(struct smbd_smb2_session *session) static int smbd_smb2_session_destructor(struct smbd_smb2_session *session)
{ {
if (session->conn == NULL) { if (session->sconn == NULL) {
return 0; return 0;
} }
@ -129,12 +129,12 @@ static int smbd_smb2_session_destructor(struct smbd_smb2_session *session)
talloc_free(session->tcons.list); talloc_free(session->tcons.list);
} }
idr_remove(session->conn->smb2.sessions.idtree, session->vuid); idr_remove(session->sconn->smb2.sessions.idtree, session->vuid);
DLIST_REMOVE(session->conn->smb2.sessions.list, session); DLIST_REMOVE(session->sconn->smb2.sessions.list, session);
session->vuid = 0; session->vuid = 0;
session->status = NT_STATUS_USER_SESSION_DELETED; session->status = NT_STATUS_USER_SESSION_DELETED;
session->conn = NULL; session->sconn = NULL;
return 0; return 0;
} }
@ -157,14 +157,14 @@ static NTSTATUS smbd_smb2_session_setup(struct smbd_smb2_request *req,
int id; int id;
/* create a new session */ /* create a new session */
session = talloc_zero(req->conn, struct smbd_smb2_session); session = talloc_zero(req->sconn, struct smbd_smb2_session);
if (session == NULL) { if (session == NULL) {
return NT_STATUS_NO_MEMORY; return NT_STATUS_NO_MEMORY;
} }
session->status = NT_STATUS_MORE_PROCESSING_REQUIRED; session->status = NT_STATUS_MORE_PROCESSING_REQUIRED;
id = idr_get_new_random(req->conn->smb2.sessions.idtree, id = idr_get_new_random(req->sconn->smb2.sessions.idtree,
session, session,
req->conn->smb2.sessions.limit); req->sconn->smb2.sessions.limit);
if (id == -1) { if (id == -1) {
return NT_STATUS_INSUFFICIENT_RESOURCES; return NT_STATUS_INSUFFICIENT_RESOURCES;
} }
@ -177,15 +177,15 @@ static NTSTATUS smbd_smb2_session_setup(struct smbd_smb2_request *req,
session->tcons.limit = 0x0000FFFE; session->tcons.limit = 0x0000FFFE;
session->tcons.list = NULL; session->tcons.list = NULL;
DLIST_ADD_END(req->conn->smb2.sessions.list, session, DLIST_ADD_END(req->sconn->smb2.sessions.list, session,
struct smbd_smb2_session *); struct smbd_smb2_session *);
session->conn = req->conn; session->sconn = req->sconn;
talloc_set_destructor(session, smbd_smb2_session_destructor); talloc_set_destructor(session, smbd_smb2_session_destructor);
} else { } else {
void *p; void *p;
/* lookup an existing session */ /* lookup an existing session */
p = idr_find(req->conn->smb2.sessions.idtree, in_session_id); p = idr_find(req->sconn->smb2.sessions.idtree, in_session_id);
if (p == NULL) { if (p == NULL) {
return NT_STATUS_USER_SESSION_DELETED; return NT_STATUS_USER_SESSION_DELETED;
} }
@ -315,7 +315,7 @@ static NTSTATUS smbd_smb2_session_setup(struct smbd_smb2_request *req,
session->compat_vuser->server_info = session->server_info; session->compat_vuser->server_info = session->server_info;
session->compat_vuser->session_keystr = NULL; session->compat_vuser->session_keystr = NULL;
session->compat_vuser->vuid = session->vuid; session->compat_vuser->vuid = session->vuid;
DLIST_ADD(session->conn->smb1.sessions.validated_users, session->compat_vuser); DLIST_ADD(session->sconn->smb1.sessions.validated_users, session->compat_vuser);
session->status = NT_STATUS_OK; session->status = NT_STATUS_OK;
@ -345,7 +345,7 @@ NTSTATUS smbd_smb2_request_check_session(struct smbd_smb2_request *req)
in_session_id = BVAL(inhdr, SMB2_HDR_SESSION_ID); in_session_id = BVAL(inhdr, SMB2_HDR_SESSION_ID);
/* lookup an existing session */ /* lookup an existing session */
p = idr_find(req->conn->smb2.sessions.idtree, in_session_id); p = idr_find(req->sconn->smb2.sessions.idtree, in_session_id);
if (p == NULL) { if (p == NULL) {
return NT_STATUS_USER_SESSION_DELETED; return NT_STATUS_USER_SESSION_DELETED;
} }

View File

@ -92,7 +92,7 @@ NTSTATUS smbd_smb2_request_process_setinfo(struct smbd_smb2_request *req)
} }
subreq = smbd_smb2_setinfo_send(req, subreq = smbd_smb2_setinfo_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req, req,
in_info_type, in_info_type,
in_file_info_class, in_file_info_class,
@ -124,7 +124,7 @@ static void smbd_smb2_request_setinfo_done(struct tevent_req *subreq)
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status); error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -135,7 +135,7 @@ static void smbd_smb2_request_setinfo_done(struct tevent_req *subreq)
if (outbody.data == NULL) { if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -146,7 +146,7 @@ static void smbd_smb2_request_setinfo_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, NULL); error = smbd_smb2_request_done(req, outbody, NULL);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }

View File

@ -194,7 +194,7 @@ static NTSTATUS smbd_smb2_tree_connect(struct smbd_smb2_request *req,
tcon->session = req->session; tcon->session = req->session;
talloc_set_destructor(tcon, smbd_smb2_tcon_destructor); talloc_set_destructor(tcon, smbd_smb2_tcon_destructor);
tcon->compat_conn = make_connection_snum(req->conn, tcon->compat_conn = make_connection_snum(req->sconn,
snum, req->session->compat_vuser, snum, req->session->compat_vuser,
data_blob_null, "???", data_blob_null, "???",
&status); &status);

View File

@ -97,7 +97,7 @@ NTSTATUS smbd_smb2_request_process_write(struct smbd_smb2_request *req)
} }
subreq = smbd_smb2_write_send(req, subreq = smbd_smb2_write_send(req,
req->conn->smb2.event_ctx, req->sconn->smb2.event_ctx,
req, req,
in_smbpid, in_smbpid,
in_file_id_volatile, in_file_id_volatile,
@ -133,7 +133,7 @@ static void smbd_smb2_request_write_done(struct tevent_req *subreq)
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status); error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -146,7 +146,7 @@ static void smbd_smb2_request_write_done(struct tevent_req *subreq)
if (outbody.data == NULL) { if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, smbd_server_connection_terminate(req->sconn,
nt_errstr(error)); nt_errstr(error));
return; return;
} }
@ -164,7 +164,7 @@ static void smbd_smb2_request_write_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, &outdyn); error = smbd_smb2_request_done(req, outbody, &outdyn);
if (!NT_STATUS_IS_OK(error)) { if (!NT_STATUS_IS_OK(error)) {
smbd_server_connection_terminate(req->conn, nt_errstr(error)); smbd_server_connection_terminate(req->sconn, nt_errstr(error));
return; return;
} }
} }