s3: Make the implicit reference to get_Protocol in lp_use_sendfile() explicit
authorVolker Lendecke <vl@samba.org>
Sat, 21 Nov 2009 18:37:27 +0000 (19:37 +0100)
committerVolker Lendecke <vl@samba.org>
Sat, 21 Nov 2009 19:49:17 +0000 (20:49 +0100)
source3/include/proto.h
source3/param/loadparm.c
source3/smbd/reply.c

index 0efd8f0e353054ea8dc2dac66b824bf4d5259191..b28e5f51e43aaa89afba6fa4b553f0eb6bb075f1 100644 (file)
@@ -4389,7 +4389,8 @@ const char *lp_printcapname(void);
 bool lp_disable_spoolss( void );
 void lp_set_spoolss_state( uint32 state );
 uint32 lp_get_spoolss_state( void );
-bool lp_use_sendfile(int snum, struct smb_signing_state *signing_state);
+bool lp_use_sendfile(int snum, enum protocol_types proto,
+                    struct smb_signing_state *signing_state);
 void set_use_sendfile(int snum, bool val);
 void set_store_dos_attributes(int snum, bool val);
 void lp_set_mangling_method(const char *new_method);
index 78a5aa809ff7321d80415661e9a13cb314f11cf8..17a4e2dce37839be0bbd6b45ba0ea7123ad14429 100644 (file)
@@ -9713,12 +9713,13 @@ uint32 lp_get_spoolss_state( void )
  Ensure we don't use sendfile if server smb signing is active.
 ********************************************************************/
 
-bool lp_use_sendfile(int snum, struct smb_signing_state *signing_state)
+bool lp_use_sendfile(int snum, enum protocol_types proto,
+                    struct smb_signing_state *signing_state)
 {
        bool sign_active = false;
 
        /* Using sendfile blows the brains out of any DOS or Win9x TCP stack... JRA. */
-       if (get_Protocol() < PROTOCOL_NT1) {
+       if (proto < PROTOCOL_NT1) {
                return false;
        }
        if (signing_state) {
index 4d7166fe9fc0c1844338d689c71f774209f0bc6d..0b77d82edd94232efd990b1c3e2ba8e545272138 100644 (file)
@@ -2925,7 +2925,8 @@ 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->smb1.signing_state) ) {
+            lp_use_sendfile(SNUM(conn), get_Protocol(),
+                            smbd_server_conn->smb1.signing_state) ) {
                ssize_t sendfile_read = -1;
                char header[4];
                DATA_BLOB header_blob;
@@ -3452,7 +3453,8 @@ 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->smb1.signing_state) ) {
+           lp_use_sendfile(SNUM(conn), get_Protocol(),
+                           smbd_server_conn->smb1.signing_state) ) {
                uint8 headerbuf[smb_size + 12 * 2];
                DATA_BLOB header;