r8658: move use of lp_security() and lp_nt_status_support() into the connection struc...
authorAndrew Tridgell <tridge@samba.org>
Thu, 21 Jul 2005 01:43:26 +0000 (01:43 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:29:50 +0000 (13:29 -0500)
This massively reduces the number of lp_*() calls made
(This used to be commit b1d577f48d31c0c17ad0b6abd78120087408e58d)

source4/smb_server/request.c
source4/smb_server/smb_server.c
source4/smb_server/smb_server.h

index 17c6d0329c3bcf7593e83508e282e8db840f8116..c31fee6d1953e834362de903785d7dc34747bb3d 100644 (file)
@@ -340,7 +340,7 @@ void req_reply_dos_error(struct smbsrv_request *req, uint8_t eclass, uint16_t ec
 */
 void req_setup_error(struct smbsrv_request *req, NTSTATUS status)
 {
-       if (!lp_nt_status_support() || !(req->smb_conn->negotiate.client_caps & CAP_STATUS32)) {
+       if (!req->smb_conn->config.nt_status_support || !(req->smb_conn->negotiate.client_caps & CAP_STATUS32)) {
                /* convert to DOS error codes */
                uint8_t eclass;
                uint32_t ecode;
index 86e31f7fd8ffdd4e4ce9508cf042ece81ff16454..b632bfefd2648ed71fe88589f7cbeccf96883232 100644 (file)
@@ -500,7 +500,7 @@ static void switch_message(int type, struct smbsrv_request *req)
                   chaining) */
 
                /* In share mode security we must ignore the vuid. */
-               if (lp_security() == SEC_SHARE) {
+               if (smb_conn->config.security == SEC_SHARE) {
                        session_tag = UID_FIELD_INVALID;
                } else {
                        session_tag = SVAL(req->in.hdr,HDR_UID);
@@ -770,6 +770,8 @@ static void smbsrv_accept(struct stream_connection *conn)
 
        smb_conn->connection = conn;
        smb_conn->processing = False;
+       smb_conn->config.security = lp_security();
+       smb_conn->config.nt_status_support = lp_nt_status_support();
 
        conn->private = smb_conn;
 
index 819a70cbae02749340105e6329c71c1127771e5b..46e480e77c04849674354519ff839e9fbb0e45a5 100644 (file)
@@ -264,4 +264,10 @@ struct smbsrv_connection {
        } *trans_partial;
 
        BOOL processing;
+
+       /* configuration parameters */
+       struct {
+               enum security_types security;
+               BOOL nt_status_support;
+       } config;
 };