[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-907-g02c5f22
Stefan Metzmacher
metze at samba.org
Sat Aug 8 02:49:57 MDT 2009
The branch, master has been updated
via 02c5f22ec876d6b243f77227a0f1328482eb9f07 (commit)
via 9aa1d259070e93b3890933c932cbf6a2c84bc6fa (commit)
from 8eac1896299d820fec0fd92b2b8b6a058ae39642 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 02c5f22ec876d6b243f77227a0f1328482eb9f07
Author: Stefan Metzmacher <metze at samba.org>
Date: Sat Aug 8 10:47:11 2009 +0200
s3:smbd: convert '\\' into '/' in SMB2 Create
metze
commit 9aa1d259070e93b3890933c932cbf6a2c84bc6fa
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Aug 7 15:21:07 2009 +0200
s3:smbd: rename conn => sconn for smbd_server_connection structs
This should avoid confusion between smbd_server_connection
and connection_struct variables.
metze
-----------------------------------------------------------------------
Summary of changes:
source3/smbd/globals.h | 6 +-
source3/smbd/smb2_break.c | 8 ++--
source3/smbd/smb2_create.c | 16 ++++--
source3/smbd/smb2_find.c | 8 ++--
source3/smbd/smb2_flush.c | 8 ++--
source3/smbd/smb2_getinfo.c | 8 ++--
source3/smbd/smb2_ioctl.c | 10 ++--
source3/smbd/smb2_lock.c | 8 ++--
source3/smbd/smb2_notify.c | 10 ++--
source3/smbd/smb2_read.c | 8 ++--
source3/smbd/smb2_server.c | 112 ++++++++++++++++++++--------------------
source3/smbd/smb2_sesssetup.c | 24 ++++----
source3/smbd/smb2_setinfo.c | 8 ++--
source3/smbd/smb2_tcon.c | 2 +-
source3/smbd/smb2_write.c | 8 ++--
15 files changed, 126 insertions(+), 118 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h
index 3383989..58c92de 100644
--- a/source3/smbd/globals.h
+++ b/source3/smbd/globals.h
@@ -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);
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);
NTSTATUS smbd_smb2_request_error_ex(struct smbd_smb2_request *req,
@@ -296,7 +296,7 @@ struct smbd_smb2_request {
TALLOC_CTX *mem_pool;
struct smbd_smb2_request **parent;
- struct smbd_server_connection *conn;
+ struct smbd_server_connection *sconn;
/* the session the request operates on, maybe NULL */
struct smbd_smb2_session *session;
@@ -361,7 +361,7 @@ struct smbd_server_connection;
struct smbd_smb2_session {
struct smbd_smb2_session *prev, *next;
- struct smbd_server_connection *conn;
+ struct smbd_server_connection *sconn;
NTSTATUS status;
uint64_t vuid;
AUTH_NTLMSSP_STATE *auth_ntlmssp_state;
diff --git a/source3/smbd/smb2_break.c b/source3/smbd/smb2_break.c
index ba02dad..29c55fc 100644
--- a/source3/smbd/smb2_break.c
+++ b/source3/smbd/smb2_break.c
@@ -68,7 +68,7 @@ NTSTATUS smbd_smb2_request_process_break(struct smbd_smb2_request *req)
}
subreq = smbd_smb2_oplock_break_send(req,
- req->conn->smb2.event_ctx,
+ req->sconn->smb2.event_ctx,
req,
in_oplock_level,
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)) {
error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -118,7 +118,7 @@ static void smbd_smb2_request_oplock_break_done(struct tevent_req *subreq)
if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
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);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c
index 5e744f9..1517ab8 100644
--- a/source3/smbd/smb2_create.c
+++ b/source3/smbd/smb2_create.c
@@ -111,7 +111,7 @@ NTSTATUS smbd_smb2_request_process_create(struct smbd_smb2_request *req)
}
subreq = smbd_smb2_create_send(req,
- req->conn->smb2.event_ctx,
+ req->sconn->smb2.event_ctx,
req,
in_oplock_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)) {
error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -182,7 +182,7 @@ static void smbd_smb2_request_create_done(struct tevent_req *subreq)
if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -220,7 +220,7 @@ static void smbd_smb2_request_create_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, &outdyn);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -321,6 +321,14 @@ static struct tevent_req *smbd_smb2_create_send(TALLOC_CTX *mem_ctx,
in_create_options &= ~(0x10);/* NTCREATEX_OPTIONS_SYNC_ALERT */
in_create_options &= ~(0x20);/* NTCREATEX_OPTIONS_ASYNC_ALERT */
+ /* convert '\\' into '/' */
+ status = check_path_syntax(in_name);
+ if (!NT_STATUS_IS_OK(status)) {
+ tevent_req_nterror(req, status);
+ TALLOC_FREE(smb_fname);
+ goto out;
+ }
+
status = filename_convert(talloc_tos(),
smbreq->conn,
smbreq->flags2 & FLAGS2_DFS_PATHNAMES,
diff --git a/source3/smbd/smb2_find.c b/source3/smbd/smb2_find.c
index 89ba54c..59c0a67 100644
--- a/source3/smbd/smb2_find.c
+++ b/source3/smbd/smb2_find.c
@@ -108,7 +108,7 @@ NTSTATUS smbd_smb2_request_process_find(struct smbd_smb2_request *req)
}
subreq = smbd_smb2_find_send(req,
- req->conn->smb2.event_ctx,
+ req->sconn->smb2.event_ctx,
req,
in_file_info_class,
in_flags,
@@ -148,7 +148,7 @@ static void smbd_smb2_request_find_done(struct tevent_req *subreq)
if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -163,7 +163,7 @@ static void smbd_smb2_request_find_done(struct tevent_req *subreq)
if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -180,7 +180,7 @@ static void smbd_smb2_request_find_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, &outdyn);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
diff --git a/source3/smbd/smb2_flush.c b/source3/smbd/smb2_flush.c
index 1d3ae2e..e053852 100644
--- a/source3/smbd/smb2_flush.c
+++ b/source3/smbd/smb2_flush.c
@@ -62,7 +62,7 @@ NTSTATUS smbd_smb2_request_process_flush(struct smbd_smb2_request *req)
}
subreq = smbd_smb2_flush_send(req,
- req->conn->smb2.event_ctx,
+ req->sconn->smb2.event_ctx,
req,
in_file_id_volatile);
if (subreq == NULL) {
@@ -90,7 +90,7 @@ static void smbd_smb2_request_flush_done(struct tevent_req *subreq)
if (!NT_STATUS_IS_OK(status)) {
error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -101,7 +101,7 @@ static void smbd_smb2_request_flush_done(struct tevent_req *subreq)
if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -113,7 +113,7 @@ static void smbd_smb2_request_flush_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, NULL);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
diff --git a/source3/smbd/smb2_getinfo.c b/source3/smbd/smb2_getinfo.c
index b3cf892..cd612d1 100644
--- a/source3/smbd/smb2_getinfo.c
+++ b/source3/smbd/smb2_getinfo.c
@@ -100,7 +100,7 @@ NTSTATUS smbd_smb2_request_process_getinfo(struct smbd_smb2_request *req)
}
subreq = smbd_smb2_getinfo_send(req,
- req->conn->smb2.event_ctx,
+ req->sconn->smb2.event_ctx,
req,
in_info_type,
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)) {
error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -156,7 +156,7 @@ static void smbd_smb2_request_getinfo_done(struct tevent_req *subreq)
if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -173,7 +173,7 @@ static void smbd_smb2_request_getinfo_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, &outdyn);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
diff --git a/source3/smbd/smb2_ioctl.c b/source3/smbd/smb2_ioctl.c
index e1e26f1..aa93ca3 100644
--- a/source3/smbd/smb2_ioctl.c
+++ b/source3/smbd/smb2_ioctl.c
@@ -93,7 +93,7 @@ NTSTATUS smbd_smb2_request_process_ioctl(struct smbd_smb2_request *req)
}
subreq = smbd_smb2_ioctl_send(req,
- req->conn->smb2.event_ctx,
+ req->sconn->smb2.event_ctx,
req,
in_ctl_code,
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)) {
error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -159,7 +159,7 @@ static void smbd_smb2_request_ioctl_done(struct tevent_req *subreq)
if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
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,
__location__);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -410,7 +410,7 @@ static void smbd_smb2_ioctl_pipe_write_done(struct tevent_req *subreq)
}
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->out_output.data,
state->out_output.length);
diff --git a/source3/smbd/smb2_lock.c b/source3/smbd/smb2_lock.c
index 121b4eb..d515f18 100644
--- a/source3/smbd/smb2_lock.c
+++ b/source3/smbd/smb2_lock.c
@@ -113,7 +113,7 @@ NTSTATUS smbd_smb2_request_process_lock(struct smbd_smb2_request *req)
}
subreq = smbd_smb2_lock_send(req,
- req->conn->smb2.event_ctx,
+ req->sconn->smb2.event_ctx,
req,
in_smbpid,
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)) {
error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -155,7 +155,7 @@ static void smbd_smb2_request_lock_done(struct tevent_req *subreq)
if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -167,7 +167,7 @@ static void smbd_smb2_request_lock_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, NULL);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
diff --git a/source3/smbd/smb2_notify.c b/source3/smbd/smb2_notify.c
index 4b9cbc4..dbcdbac 100644
--- a/source3/smbd/smb2_notify.c
+++ b/source3/smbd/smb2_notify.c
@@ -81,7 +81,7 @@ NTSTATUS smbd_smb2_request_process_notify(struct smbd_smb2_request *req)
}
subreq = smbd_smb2_notify_send(req,
- req->conn->smb2.event_ctx,
+ req->sconn->smb2.event_ctx,
req,
in_flags,
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)) {
error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -134,7 +134,7 @@ static void smbd_smb2_request_notify_done(struct tevent_req *subreq)
if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -151,7 +151,7 @@ static void smbd_smb2_request_notify_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, &outdyn);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -332,7 +332,7 @@ static void smbd_smb2_notify_reply(struct smb_request *smbreq,
* being arround after calling this function
*/
tevent_schedule_immediate(state->im,
- state->smb2req->conn->smb2.event_ctx,
+ state->smb2req->sconn->smb2.event_ctx,
smbd_smb2_notify_reply_trigger,
req);
}
diff --git a/source3/smbd/smb2_read.c b/source3/smbd/smb2_read.c
index c052125..1756c15 100644
--- a/source3/smbd/smb2_read.c
+++ b/source3/smbd/smb2_read.c
@@ -88,7 +88,7 @@ NTSTATUS smbd_smb2_request_process_read(struct smbd_smb2_request *req)
}
subreq = smbd_smb2_read_send(req,
- req->conn->smb2.event_ctx,
+ req->sconn->smb2.event_ctx,
req,
in_smbpid,
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)) {
error = smbd_smb2_request_error(req, status);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -145,7 +145,7 @@ static void smbd_smb2_request_read_done(struct tevent_req *subreq)
if (outbody.data == NULL) {
error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
@@ -166,7 +166,7 @@ static void smbd_smb2_request_read_done(struct tevent_req *subreq)
error = smbd_smb2_request_done(req, outbody, &outdyn);
if (!NT_STATUS_IS_OK(error)) {
- smbd_server_connection_terminate(req->conn,
+ smbd_server_connection_terminate(req->sconn,
nt_errstr(error));
return;
}
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index 2ae2ed2..85b3573 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -36,34 +36,34 @@ bool smbd_is_smb2_header(const uint8_t *inbuf, size_t size)
return true;
}
-static NTSTATUS smbd_initialize_smb2(struct smbd_server_connection *conn)
+static NTSTATUS smbd_initialize_smb2(struct smbd_server_connection *sconn)
{
NTSTATUS status;
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");
- if (conn->smb2.recv_queue == NULL) {
+ sconn->smb2.recv_queue = tevent_queue_create(sconn, "smb2 recv queue");
+ if (sconn->smb2.recv_queue == NULL) {
return NT_STATUS_NO_MEMORY;
}
- conn->smb2.send_queue = tevent_queue_create(conn, "smb2 send queue");
- if (conn->smb2.send_queue == NULL) {
+ sconn->smb2.send_queue = tevent_queue_create(sconn, "smb2 send queue");
+ if (sconn->smb2.send_queue == NULL) {
return NT_STATUS_NO_MEMORY;
}
- conn->smb2.sessions.idtree = idr_init(conn);
- if (conn->smb2.sessions.idtree == NULL) {
+ sconn->smb2.sessions.idtree = idr_init(sconn);
+ if (sconn->smb2.sessions.idtree == NULL) {
return NT_STATUS_NO_MEMORY;
}
- conn->smb2.sessions.limit = 0x0000FFFE;
- conn->smb2.sessions.list = NULL;
+ sconn->smb2.sessions.limit = 0x0000FFFE;
+ sconn->smb2.sessions.list = NULL;
- ret = tstream_bsd_existing_socket(conn, smbd_server_fd(),
- &conn->smb2.stream);
+ ret = tstream_bsd_existing_socket(sconn, smbd_server_fd(),
+ &sconn->smb2.stream);
if (ret == -1) {
status = map_nt_error_from_unix(errno);
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)
{
if (req->out.vector) {
- DLIST_REMOVE(req->conn->smb2.requests, req);
+ DLIST_REMOVE(req->sconn->smb2.requests, req);
}
if (req->parent) {
@@ -151,7 +151,7 @@ static struct smbd_smb2_request *smbd_smb2_request_allocate(TALLOC_CTX *mem_ctx)
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,
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;
}
- req = smbd_smb2_request_allocate(conn);
+ req = smbd_smb2_request_allocate(sconn);
--
Samba Shared Repository
More information about the samba-cvs
mailing list