The branch, master has been updated
       via  d28fa8f... Rename "allow_smb2" -> "using_smb2" and make the usage 
clearer.
      from  3c0eead... Split out the "finished write processing" code into a 
function so it can be called by both sync and async code.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit d28fa8faab5de5979dcd5535a7cd7095d3233e29
Author: Jeremy Allison <j...@samba.org>
Date:   Wed Jun 9 19:12:02 2010 -0700

    Rename "allow_smb2" -> "using_smb2" and make the usage clearer.

-----------------------------------------------------------------------

Summary of changes:
 source3/modules/onefs_cbrl.c |    4 ++--
 source3/smbd/blocking.c      |    6 +++---
 source3/smbd/conn.c          |    6 +++---
 source3/smbd/globals.h       |    2 +-
 source3/smbd/msdfs.c         |    2 +-
 source3/smbd/oplock.c        |    6 +++---
 source3/smbd/password.c      |    2 +-
 source3/smbd/process.c       |   27 ++++++++++++++++++---------
 source3/smbd/reply.c         |    2 +-
 9 files changed, 33 insertions(+), 24 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/onefs_cbrl.c b/source3/modules/onefs_cbrl.c
index 6d5d8c6..4b0600b 100644
--- a/source3/modules/onefs_cbrl.c
+++ b/source3/modules/onefs_cbrl.c
@@ -90,7 +90,7 @@ static void onefs_cbrl_enumerate_blq(const char *fn)
 
        DEBUG(10, ("CBRL BLR records (%s):\n", fn));
 
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                struct smbd_smb2_request *smb2req;
                for (smb2req = sconn->smb2.requests; smb2req; smb2req = 
nextreq) {
                        blr = get_pending_smb2req_blr(smb2req);
@@ -112,7 +112,7 @@ static struct blocking_lock_record 
*onefs_cbrl_find_blr(uint64_t id)
 
        onefs_cbrl_enumerate_blq("onefs_cbrl_find_blr");
 
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                struct smbd_smb2_request *smb2req;
                for (smb2req = sconn->smb2.requests; smb2req; smb2req = 
nextreq) {
                        blr = get_pending_smb2req_blr(smb2req);
diff --git a/source3/smbd/blocking.c b/source3/smbd/blocking.c
index da14ce8..f2ef4b2 100644
--- a/source3/smbd/blocking.c
+++ b/source3/smbd/blocking.c
@@ -41,7 +41,7 @@ void brl_timeout_fn(struct event_context *event_ctx,
 {
        struct smbd_server_connection *sconn = smbd_server_conn;
 
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                SMB_ASSERT(sconn->smb2.locks.brl_timeout == te);
                TALLOC_FREE(sconn->smb2.locks.brl_timeout);
        } else {
@@ -578,7 +578,7 @@ void cancel_pending_lock_requests_by_fid(files_struct *fsp,
        struct smbd_server_connection *sconn = smbd_server_conn;
        struct blocking_lock_record *blr, *blr_cancelled, *next = NULL;
 
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                cancel_pending_lock_requests_by_fid_smb2(fsp,
                                        br_lck,
                                        close_type);
@@ -713,7 +713,7 @@ void process_blocking_lock_queue(void)
        struct timeval tv_curr = timeval_current();
        struct blocking_lock_record *blr, *next = NULL;
 
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                process_blocking_lock_queue_smb2(tv_curr);
                return;
        }
diff --git a/source3/smbd/conn.c b/source3/smbd/conn.c
index 707f6c4..eaaddab 100644
--- a/source3/smbd/conn.c
+++ b/source3/smbd/conn.c
@@ -94,7 +94,7 @@ connection_struct *conn_new(struct smbd_server_connection 
*sconn)
        int i;
         int find_offset = 1;
 
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                if (!(conn=TALLOC_ZERO_P(NULL, connection_struct)) ||
                    !(conn->params = TALLOC_P(conn, struct share_params))) {
                        DEBUG(0,("TALLOC_ZERO() failed!\n"));
@@ -177,7 +177,7 @@ return true if any were closed
 ****************************************************************************/
 bool conn_close_all(struct smbd_server_connection *sconn)
 {
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                /* SMB2 */
                if (sconn->smb2.sessions.list &&
                                sconn->smb2.sessions.list->tcons.list) {
@@ -314,7 +314,7 @@ void conn_free(connection_struct *conn)
                return;
        }
 
-       if (conn->sconn->allow_smb2) {
+       if (conn->sconn->using_smb2) {
                conn_free_internal(conn);
                return;
        }
diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h
index 3533d60..3801946 100644
--- a/source3/smbd/globals.h
+++ b/source3/smbd/globals.h
@@ -453,7 +453,7 @@ struct smbd_server_connection {
        struct {
                bool got_session;
        } nbt;
-       bool allow_smb2;
+       bool using_smb2;
        struct {
                struct fd_event *fde;
 
diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c
index 92c3e0e..433de8a 100644
--- a/source3/smbd/msdfs.c
+++ b/source3/smbd/msdfs.c
@@ -78,7 +78,7 @@ static NTSTATUS parse_dfs_path(connection_struct *conn,
 
        sepchar = pdp->posix_path ? '/' : '\\';
 
-       if (!sconn->allow_smb2 && (*pathname != sepchar)) {
+       if (!sconn->using_smb2 && (*pathname != sepchar)) {
                DEBUG(10,("parse_dfs_path: path %s doesn't start with %c\n",
                        pathname, sepchar ));
                /*
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index a6702a5..88fce91 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -403,7 +403,7 @@ void break_level2_to_none_async(files_struct *fsp)
                  fsp_str_dbg(fsp)));
 
        /* Now send a break to none message to our client. */
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                send_break_message_smb2(fsp, OPLOCKLEVEL_NONE);
        } else {
                send_break_message_smb1(fsp, OPLOCKLEVEL_NONE);
@@ -542,7 +542,7 @@ static void process_oplock_break_message(struct 
messaging_context *msg_ctx,
                wait_before_sending_break();
        }
 
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                send_break_message_smb2(fsp, break_to_level2 ?
                        OPLOCKLEVEL_II : OPLOCKLEVEL_NONE);
        } else {
@@ -608,7 +608,7 @@ static void process_kernel_oplock_break(struct 
messaging_context *msg_ctx,
                return;
        }
 
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                send_break_message_smb2(fsp, OPLOCKLEVEL_NONE);
        } else {
                send_break_message_smb1(fsp, OPLOCKLEVEL_NONE);
diff --git a/source3/smbd/password.c b/source3/smbd/password.c
index e85f230..e4f39db 100644
--- a/source3/smbd/password.c
+++ b/source3/smbd/password.c
@@ -128,7 +128,7 @@ void invalidate_vuid(struct smbd_server_connection *sconn, 
uint16 vuid)
 
 void invalidate_all_vuids(struct smbd_server_connection *sconn)
 {
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                return;
        }
 
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index f032e6a..1baf353 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -606,7 +606,7 @@ void remove_deferred_open_message_smb(uint64_t mid)
 {
        struct pending_message_list *pml;
 
-       if (smbd_server_conn->allow_smb2) {
+       if (smbd_server_conn->using_smb2) {
                remove_deferred_open_message_smb2(mid);
                return;
        }
@@ -634,7 +634,7 @@ void schedule_deferred_open_message_smb(uint64_t mid)
        struct pending_message_list *pml;
        int i = 0;
 
-       if (smbd_server_conn->allow_smb2) {
+       if (smbd_server_conn->using_smb2) {
                schedule_deferred_open_message_smb2(mid);
                return;
        }
@@ -695,7 +695,7 @@ bool open_was_deferred(uint64_t mid)
 {
        struct pending_message_list *pml;
 
-       if (smbd_server_conn->allow_smb2) {
+       if (smbd_server_conn->using_smb2) {
                return open_was_deferred_smb2(mid);
        }
 
@@ -733,7 +733,7 @@ bool get_deferred_open_message_state(struct smb_request 
*smbreq,
 {
        struct pending_message_list *pml;
 
-       if (smbd_server_conn->allow_smb2) {
+       if (smbd_server_conn->using_smb2) {
                return get_deferred_open_message_state_smb2(smbreq->smb2req,
                                        p_request_time,
                                        pp_state);
@@ -1629,7 +1629,9 @@ static void process_smb(struct smbd_server_connection 
*conn,
                goto done;
        }
 
-       if (smbd_server_conn->allow_smb2) {
+       if (smbd_server_conn->using_smb2) {
+               /* At this point we're not really using smb2,
+                * we make the decision here.. */
                if (smbd_is_smb2_header(inbuf, nread)) {
                        smbd_smb2_first_negprot(smbd_server_conn, inbuf, nread);
                        return;
@@ -1637,7 +1639,7 @@ static void process_smb(struct smbd_server_connection 
*conn,
                                && CVAL(inbuf, smb_com) != 0x72) {
                        /* This is a non-negprot SMB1 packet.
                           Disable SMB2 from now on. */
-                       smbd_server_conn->allow_smb2 = false;
+                       smbd_server_conn->using_smb2 = false;
                }
        }
 
@@ -2397,7 +2399,7 @@ static bool keepalive_fn(const struct timeval *now, void 
*private_data)
        struct smbd_server_connection *sconn = smbd_server_conn;
        bool ret;
 
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                /* Don't do keepalives on an SMB2 connection. */
                return false;
        }
@@ -2420,7 +2422,7 @@ static bool deadtime_fn(const struct timeval *now, void 
*private_data)
 {
        struct smbd_server_connection *sconn = smbd_server_conn;
 
-       if (sconn->allow_smb2) {
+       if (sconn->using_smb2) {
                /* TODO: implement real idle check */
                if (sconn->smb2.sessions.list) {
                        return true;
@@ -2856,7 +2858,14 @@ void smbd_process(void)
        if (lp_maxprotocol() == PROTOCOL_SMB2 &&
            lp_security() != SEC_SHARE &&
            !lp_async_smb_echo_handler()) {
-               smbd_server_conn->allow_smb2 = true;
+               /*
+                * We're not making the desion here,
+                * we're just allowing the client
+                * to decide between SMB1 and SMB2
+                * with the first negprot
+                * packet.
+                */
+               smbd_server_conn->using_smb2 = true;
        }
 
        /* Ensure child is set to blocking mode */
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 330e89d..10bab7b 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -7224,7 +7224,7 @@ NTSTATUS smbd_do_locking(struct smb_request *req,
                         *
                         * Replacement for do_lock_spin(). JRA. */
 
-                       if (!smbd_server_conn->allow_smb2 &&
+                       if (!smbd_server_conn->using_smb2 &&
                            br_lck && lp_blocking_locks(SNUM(conn)) &&
                            lp_lock_spin_time() && !blocking_lock &&
                            NT_STATUS_EQUAL((status),


-- 
Samba Shared Repository

Reply via email to