[SCM] Samba Shared Repository - branch master updated -
release-4-0-0alpha7-1806-gebc860e
Stefan Metzmacher
metze at samba.org
Tue May 26 08:49:26 GMT 2009
The branch, master has been updated
via ebc860ebeb7ebaeceae2534faeee49d062f29db8 (commit)
from 31c6679bf12bbcd6626bfd5066bb2e751314e9c2 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit ebc860ebeb7ebaeceae2534faeee49d062f29db8
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue May 26 10:48:12 2009 +0200
s3:smbd: move SMB1 specific stuff into a substructure of smbd_server_connection
metze
-----------------------------------------------------------------------
Summary of changes:
source3/smbd/globals.h | 8 +++++---
source3/smbd/process.c | 18 +++++++++---------
source3/smbd/reply.c | 4 ++--
source3/smbd/signing.c | 26 +++++++++++++-------------
source3/smbd/smb2_server.c | 2 +-
5 files changed, 30 insertions(+), 28 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h
index c6ab31d..fb73335 100644
--- a/source3/smbd/globals.h
+++ b/source3/smbd/globals.h
@@ -330,11 +330,13 @@ struct smbd_smb2_tcon {
};
struct smbd_server_connection {
- struct fd_event *fde;
- uint64_t num_requests;
- struct smb_signing_state *signing_state;
bool allow_smb2;
struct {
+ struct fd_event *fde;
+ uint64_t num_requests;
+ struct smb_signing_state *signing_state;
+ } smb1;
+ struct {
struct tevent_context *event_ctx;
struct tevent_queue *recv_queue;
struct tevent_queue *send_queue;
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 5cad8bf..e014965 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -1462,7 +1462,7 @@ static void process_smb(struct smbd_server_connection *conn,
trans_num++;
done:
- conn->num_requests++;
+ conn->smb1.num_requests++;
/* The timeout_processing function isn't run nearly
often enough to implement 'max log size' without
@@ -1471,7 +1471,7 @@ done:
level 10. Checking every 50 SMBs is a nice
tradeoff of performance vs log file size overrun. */
- if ((conn->num_requests % 50) == 0 &&
+ if ((conn->smb1.num_requests % 50) == 0 &&
need_to_check_log_size()) {
change_to_root_user();
check_log_size();
@@ -2158,13 +2158,13 @@ void smbd_process(void)
max_recv = MIN(lp_maxxmit(),BUFFER_SIZE);
- smbd_server_conn->fde = event_add_fd(smbd_event_context(),
- smbd_server_conn,
- smbd_server_fd(),
- EVENT_FD_READ,
- smbd_server_connection_handler,
- smbd_server_conn);
- if (!smbd_server_conn->fde) {
+ smbd_server_conn->smb1.fde = event_add_fd(smbd_event_context(),
+ smbd_server_conn,
+ smbd_server_fd(),
+ EVENT_FD_READ,
+ smbd_server_connection_handler,
+ smbd_server_conn);
+ if (!smbd_server_conn->smb1.fde) {
exit_server("failed to create smbd_server_connection fde");
}
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index d5ee918..a21c2cf 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -2893,7 +2893,7 @@ static void send_file_readbraw(connection_struct *conn,
if ( !req_is_in_chain(req) && (nread > 0) && (fsp->base_fsp == NULL) &&
(fsp->wcp == NULL) &&
- lp_use_sendfile(SNUM(conn), smbd_server_conn->signing_state) ) {
+ lp_use_sendfile(SNUM(conn), smbd_server_conn->smb1.signing_state) ) {
ssize_t sendfile_read = -1;
char header[4];
DATA_BLOB header_blob;
@@ -3412,7 +3412,7 @@ static void send_file_readX(connection_struct *conn, struct smb_request *req,
if (!req_is_in_chain(req) &&
!is_encrypted_packet(req->inbuf) && (fsp->base_fsp == NULL) &&
(fsp->wcp == NULL) &&
- lp_use_sendfile(SNUM(conn), smbd_server_conn->signing_state) ) {
+ lp_use_sendfile(SNUM(conn), smbd_server_conn->smb1.signing_state) ) {
uint8 headerbuf[smb_size + 12 * 2];
DATA_BLOB header;
diff --git a/source3/smbd/signing.c b/source3/smbd/signing.c
index b56eb71..9b5e345 100644
--- a/source3/smbd/signing.c
+++ b/source3/smbd/signing.c
@@ -35,8 +35,8 @@ bool srv_check_sign_mac(struct smbd_server_connection *conn,
return true;
}
- *seqnum = smb_signing_next_seqnum(conn->signing_state, false);
- return smb_signing_check_pdu(conn->signing_state,
+ *seqnum = smb_signing_next_seqnum(conn->smb1.signing_state, false);
+ return smb_signing_check_pdu(conn->smb1.signing_state,
(const uint8_t *)inbuf,
*seqnum);
}
@@ -53,7 +53,7 @@ void srv_calculate_sign_mac(struct smbd_server_connection *conn,
return;
}
- smb_signing_sign_pdu(conn->signing_state, (uint8_t *)outbuf, seqnum);
+ smb_signing_sign_pdu(conn->smb1.signing_state, (uint8_t *)outbuf, seqnum);
}
@@ -62,7 +62,7 @@ void srv_calculate_sign_mac(struct smbd_server_connection *conn,
************************************************************/
void srv_cancel_sign_response(struct smbd_server_connection *conn)
{
- smb_signing_cancel_reply(conn->signing_state, true);
+ smb_signing_cancel_reply(conn->smb1.signing_state, true);
}
/***********************************************************
@@ -87,9 +87,9 @@ bool srv_init_signing(struct smbd_server_connection *conn)
break;
}
- conn->signing_state = smb_signing_init(smbd_event_context(),
- allowed, mandatory);
- if (!conn->signing_state) {
+ conn->smb1.signing_state = smb_signing_init(smbd_event_context(),
+ allowed, mandatory);
+ if (!conn->smb1.signing_state) {
return false;
}
@@ -98,7 +98,7 @@ bool srv_init_signing(struct smbd_server_connection *conn)
void srv_set_signing_negotiated(struct smbd_server_connection *conn)
{
- smb_signing_set_negotiated(conn->signing_state);
+ smb_signing_set_negotiated(conn->smb1.signing_state);
}
/***********************************************************
@@ -108,7 +108,7 @@ void srv_set_signing_negotiated(struct smbd_server_connection *conn)
bool srv_is_signing_active(struct smbd_server_connection *conn)
{
- return smb_signing_is_active(conn->signing_state);
+ return smb_signing_is_active(conn->smb1.signing_state);
}
@@ -119,7 +119,7 @@ bool srv_is_signing_active(struct smbd_server_connection *conn)
bool srv_is_signing_negotiated(struct smbd_server_connection *conn)
{
- return smb_signing_is_negotiated(conn->signing_state);
+ return smb_signing_is_negotiated(conn->smb1.signing_state);
}
/***********************************************************
@@ -136,8 +136,8 @@ void srv_set_signing(struct smbd_server_connection *conn,
if (!user_session_key.length)
return;
- negotiated = smb_signing_is_negotiated(conn->signing_state);
- mandatory = smb_signing_is_mandatory(conn->signing_state);
+ negotiated = smb_signing_is_negotiated(conn->smb1.signing_state);
+ mandatory = smb_signing_is_mandatory(conn->smb1.signing_state);
if (!negotiated && !mandatory) {
DEBUG(5,("srv_set_signing: signing negotiated = %u, "
@@ -146,7 +146,7 @@ void srv_set_signing(struct smbd_server_connection *conn,
return;
}
- if (!smb_signing_activate(conn->signing_state,
+ if (!smb_signing_activate(conn->smb1.signing_state,
user_session_key, response)) {
return;
}
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index 562fc56..0d90171 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -41,7 +41,7 @@ static NTSTATUS smbd_initialize_smb2(struct smbd_server_connection *conn)
NTSTATUS status;
int ret;
- TALLOC_FREE(conn->fde);
+ TALLOC_FREE(conn->smb1.fde);
conn->smb2.event_ctx = smbd_event_context();
--
Samba Shared Repository
More information about the samba-cvs
mailing list