The branch, master has been updated
       via  ac8096e s4:kdc: fix compiler warning
       via  6d1ef3f s3:libsmb/libsmb_server: make use of cli_set_timeout()
       via  91b0aab s3:libsmb/cli*: make use of cli_state_protocol()
       via  5e59a36 s3:client: make use of cli_state_protocol()
       via  ec9b613 s3:auth_server: make use of cli_state_protocol()
       via  da53434 s3:spoolss: make use of cli_state_protocol()
       via  32a4773 s3:masktest: make use of cli_state_protocol()
       via  ed6b8de s3:net_rpc: make use of cli_state_protocol()
       via  a60b169 s3:winbindd_cm: make use of cli_state_protocol()
       via  233336d s3:libsmb: add cli_state_protocol()
       via  c399ad4 s3:include: change cli->protocol to enum protocol_types
       via  6e8a6e0 s3:libsmb/cli*: make use of cli_state_capabilities()
       via  ffd99c5 s3:libsmb/libsmb_*: make use of cli_state_capabilities()
       via  a4d79a3 s3:torture: make use of cli_state_capabilities()
       via  3ce648a s3:winbindd_cm: make use of cli_state_capabilities()
       via  f934aa1 s3:include: make use of cli_state_capabilities() in 
SERVER_HAS_UNIX_CIFS()
       via  24c5427 s3:libsmb: add cli_state_capabilities()
       via  a83e769 s3:smb2cli_base: smb2cli_req_send() needs to call 
tevent_req_post() on error
      from  3427029 samba-tool: Don't install -c version, which is now 
deprecated.

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


- Log -----------------------------------------------------------------
commit ac8096e69d7357bac5430cde1d713a04acf58b57
Author: Stefan Metzmacher <me...@samba.org>
Date:   Tue Aug 2 03:57:50 2011 +0200

    s4:kdc: fix compiler warning
    
    metze
    
    Autobuild-User: Stefan Metzmacher <me...@samba.org>
    Autobuild-Date: Tue Aug  2 06:06:15 CEST 2011 on sn-devel-104

commit 6d1ef3faeef25cea6783760f262c4639d3d54704
Author: Stefan Metzmacher <me...@samba.org>
Date:   Tue Aug 2 04:16:01 2011 +0200

    s3:libsmb/libsmb_server: make use of cli_set_timeout()
    
    metze

commit 91b0aab3fc5076a6399e6970cb7b2f1a442d5566
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Aug 1 17:01:42 2011 +0200

    s3:libsmb/cli*: make use of cli_state_protocol()
    
    metze

commit 5e59a36beb7d200fc284d28812baa7e46adeced1
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Aug 1 17:01:42 2011 +0200

    s3:client: make use of cli_state_protocol()
    
    metze

commit ec9b6134b7342576fa0e09e93e7901da6fb0aea2
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Aug 1 17:00:24 2011 +0200

    s3:auth_server: make use of cli_state_protocol()
    
    metze

commit da534343914c7b7b5cf7300a3cff2614b9e613e5
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Aug 1 16:59:54 2011 +0200

    s3:spoolss: make use of cli_state_protocol()
    
    metze

commit 32a47730da3e92b61b3cba4530962a801b959aca
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Aug 1 16:59:34 2011 +0200

    s3:masktest: make use of cli_state_protocol()
    
    metze

commit ed6b8deea79e1b3eaef12e8091ea8609e85c4c6c
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Aug 1 16:59:10 2011 +0200

    s3:net_rpc: make use of cli_state_protocol()
    
    metze

commit a60b1695b1d783da4b460f357772fb3cde589134
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Aug 1 16:58:49 2011 +0200

    s3:winbindd_cm: make use of cli_state_protocol()
    
    metze

commit 233336d0c2f07e202277571c540b5a64b7b0bb63
Author: Stefan Metzmacher <me...@samba.org>
Date:   Sat Jul 30 12:04:37 2011 +0200

    s3:libsmb: add cli_state_protocol()
    
    metze

commit c399ad4cdd313584fe072b84bfe87ec03182fb5c
Author: Stefan Metzmacher <me...@samba.org>
Date:   Tue Aug 2 03:51:38 2011 +0200

    s3:include: change cli->protocol to enum protocol_types
    
    metze

commit 6e8a6e033f4040630995f0c2f1889fbc251cb7dc
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Aug 1 16:42:23 2011 +0200

    s3:libsmb/cli*: make use of cli_state_capabilities()
    
    metze

commit ffd99c5de56b7e9f97a56b91983c966e88749090
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Aug 1 16:41:19 2011 +0200

    s3:libsmb/libsmb_*: make use of cli_state_capabilities()
    
    metze

commit a4d79a379979ea6e32ea957830d2769a280440f2
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Aug 1 16:40:45 2011 +0200

    s3:torture: make use of cli_state_capabilities()
    
    metze

commit 3ce648aee4fb961d0ee23669b53524786ace8b98
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Aug 1 16:39:55 2011 +0200

    s3:winbindd_cm: make use of cli_state_capabilities()
    
    metze

commit f934aa1aeac9e04eb758dad67afc4f18e605d5f3
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Aug 1 16:39:20 2011 +0200

    s3:include: make use of cli_state_capabilities() in SERVER_HAS_UNIX_CIFS()
    
    metze

commit 24c5427810e76c733de8141ff3ad7c65fcb8ec91
Author: Stefan Metzmacher <me...@samba.org>
Date:   Sat Jul 30 12:04:16 2011 +0200

    s3:libsmb: add cli_state_capabilities()
    
    metze

commit a83e769b010700b258d0b395709fae0111714d9c
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Jul 18 14:38:33 2011 +0200

    s3:smb2cli_base: smb2cli_req_send() needs to call tevent_req_post() on error
    
    metze

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

Summary of changes:
 source3/auth/auth_server.c                  |    2 +-
 source3/client/client.c                     |    2 +-
 source3/include/client.h                    |    2 +-
 source3/include/smb_macros.h                |    2 +-
 source3/libsmb/cliconnect.c                 |   28 +++++++++++++-------------
 source3/libsmb/clidfs.c                     |   10 ++++----
 source3/libsmb/clientgen.c                  |   20 ++++++++++++++----
 source3/libsmb/clifile.c                    |    4 +-
 source3/libsmb/clilist.c                    |    4 +-
 source3/libsmb/clireadwrite.c               |    8 +++---
 source3/libsmb/libsmb_file.c                |    2 +-
 source3/libsmb/libsmb_server.c              |    4 +-
 source3/libsmb/libsmb_stat.c                |    2 +-
 source3/libsmb/proto.h                      |    2 +
 source3/libsmb/smb2cli_base.c               |    2 +-
 source3/rpc_server/spoolss/srv_spoolss_nt.c |    2 +-
 source3/torture/masktest.c                  |    2 +-
 source3/torture/torture.c                   |    2 +-
 source3/utils/net_rpc.c                     |    2 +-
 source3/winbindd/winbindd_cm.c              |    4 +-
 source4/kdc/db-glue.c                       |    2 +-
 21 files changed, 60 insertions(+), 48 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/auth/auth_server.c b/source3/auth/auth_server.c
index f298599..4582d98 100644
--- a/source3/auth/auth_server.c
+++ b/source3/auth/auth_server.c
@@ -116,7 +116,7 @@ static struct cli_state *server_cryptkey(TALLOC_CTX 
*mem_ctx)
                return NULL;
        }
 
-       if (cli->protocol < PROTOCOL_LANMAN2 ||
+       if (cli_state_protocol(cli) < PROTOCOL_LANMAN2 ||
            !(cli->sec_mode & NEGOTIATE_SECURITY_USER_LEVEL)) {
                TALLOC_FREE(mutex);
                DEBUG(1,("%s isn't in user level security mode\n",desthost));
diff --git a/source3/client/client.c b/source3/client/client.c
index 44a151e..110614e 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -426,7 +426,7 @@ static int do_cd(const char *new_dir)
        /* Use a trans2_qpathinfo to test directories for modern servers.
           Except Win9x doesn't support the qpathinfo_basic() call..... */
 
-       if (targetcli->protocol > PROTOCOL_LANMAN2 && !targetcli->win95) {
+       if (cli_state_protocol(targetcli) > PROTOCOL_LANMAN2 && 
!targetcli->win95) {
 
                status = cli_qpathinfo_basic(targetcli, targetpath, &sbuf,
                                             &attributes);
diff --git a/source3/include/client.h b/source3/include/client.h
index c4f011d..a4d4321 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -51,7 +51,7 @@ struct cli_state {
         * A list of subsidiary connections for DFS.
         */
         struct cli_state *prev, *next;
-       int protocol;
+       enum protocol_types protocol;
        int sec_mode;
        int rap_error;
        NTSTATUS raw_status; /* maybe via NT_STATUS_DOS() */
diff --git a/source3/include/smb_macros.h b/source3/include/smb_macros.h
index 37ea1b4..aba1455 100644
--- a/source3/include/smb_macros.h
+++ b/source3/include/smb_macros.h
@@ -174,7 +174,7 @@ copy an IP address from one buffer to another
  Return True if a server has CIFS UNIX capabilities.
 ********************************************************************/
 
-#define SERVER_HAS_UNIX_CIFS(c) ((c)->capabilities & CAP_UNIX)
+#define SERVER_HAS_UNIX_CIFS(c) (cli_state_capabilities(c) & CAP_UNIX)
 
 /****************************************************************************
  Make a filename into unix format.
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
index 4f703b3..d91d241 100644
--- a/source3/libsmb/cliconnect.c
+++ b/source3/libsmb/cliconnect.c
@@ -379,7 +379,7 @@ static uint32 cli_session_setup_capabilities(struct 
cli_state *cli)
        if (cli->use_level_II_oplocks)
                capabilities |= CAP_LEVEL_II_OPLOCKS;
 
-       capabilities |= (cli->capabilities & 
(CAP_UNICODE|CAP_LARGE_FILES|CAP_LARGE_READX|CAP_LARGE_WRITEX|CAP_DFS));
+       capabilities |= (cli_state_capabilities(cli) & 
(CAP_UNICODE|CAP_LARGE_FILES|CAP_LARGE_READX|CAP_LARGE_WRITEX|CAP_DFS));
        return capabilities;
 }
 
@@ -1995,7 +1995,7 @@ NTSTATUS cli_session_setup(struct cli_state *cli,
                workgroup = user2;
        }
 
-       if (cli->protocol < PROTOCOL_LANMAN1) {
+       if (cli_state_protocol(cli) < PROTOCOL_LANMAN1) {
                return NT_STATUS_OK;
        }
 
@@ -2005,7 +2005,7 @@ NTSTATUS cli_session_setup(struct cli_state *cli,
 
        /* if its an older server then we have to use the older request format 
*/
 
-       if (cli->protocol < PROTOCOL_NT1) {
+       if (cli_state_protocol(cli) < PROTOCOL_NT1) {
                if (!lp_client_lanman_auth() && passlen != 24 && (*pass)) {
                        DEBUG(1, ("Server requested LM password but 'client 
lanman auth = no'"
                                  " or 'client ntlmv2 auth = yes'\n"));
@@ -2050,7 +2050,7 @@ NTSTATUS cli_session_setup(struct cli_state *cli,
 
        /* if the server supports extended security then use SPNEGO */
 
-       if (cli->capabilities & CAP_EXTENDED_SECURITY) {
+       if (cli_state_capabilities(cli) & CAP_EXTENDED_SECURITY) {
                ADS_STATUS status = cli_session_setup_spnego(cli, user, pass,
                                                             workgroup, NULL);
                if (!ADS_ERR_OK(status)) {
@@ -2390,7 +2390,7 @@ static void cli_tcon_andx_done(struct tevent_req *subreq)
                }
        }
 
-       if ((cli->protocol >= PROTOCOL_NT1) && (num_bytes == 3)) {
+       if ((cli_state_protocol(cli) >= PROTOCOL_NT1) && (num_bytes == 3)) {
                /* almost certainly win95 - enable bug fixes */
                cli->win95 = True;
        }
@@ -2402,7 +2402,7 @@ static void cli_tcon_andx_done(struct tevent_req *subreq)
 
        cli->dfsroot = false;
 
-       if ((wct > 2) && (cli->protocol >= PROTOCOL_LANMAN2)) {
+       if ((wct > 2) && (cli_state_protocol(cli) >= PROTOCOL_LANMAN2)) {
                cli->dfsroot = ((SVAL(vwv+2, 0) & SMB_SHARE_IN_DFS) != 0);
        }
 
@@ -2559,13 +2559,13 @@ struct tevent_req *cli_negprot_send(TALLOC_CTX *mem_ctx,
        }
        state->cli = cli;
 
-       if (cli->protocol < PROTOCOL_NT1)
+       if (cli_state_protocol(cli) < PROTOCOL_NT1)
                cli->use_spnego = False;
 
        /* setup the protocol strings */
        for (numprots=0; numprots < ARRAY_SIZE(prots); numprots++) {
                uint8_t c = 2;
-               if (prots[numprots].prot > cli->protocol) {
+               if (prots[numprots].prot > cli_state_protocol(cli)) {
                        break;
                }
                bytes = (uint8_t *)talloc_append_blob(
@@ -2618,21 +2618,21 @@ static void cli_negprot_done(struct tevent_req *subreq)
        protnum = SVAL(vwv, 0);
 
        if ((protnum >= ARRAY_SIZE(prots))
-           || (prots[protnum].prot > cli->protocol)) {
+           || (prots[protnum].prot > cli_state_protocol(cli))) {
                tevent_req_nterror(req, NT_STATUS_INVALID_NETWORK_RESPONSE);
                return;
        }
 
        cli->protocol = prots[protnum].prot;
 
-       if ((cli->protocol < PROTOCOL_NT1) &&
+       if ((cli_state_protocol(cli) < PROTOCOL_NT1) &&
            client_is_signing_mandatory(cli)) {
                DEBUG(0,("cli_negprot: SMB signing is mandatory and the 
selected protocol level doesn't support it.\n"));
                tevent_req_nterror(req, NT_STATUS_ACCESS_DENIED);
                return;
        }
 
-       if (cli->protocol >= PROTOCOL_NT1) {    
+       if (cli_state_protocol(cli) >= PROTOCOL_NT1) {
                struct timespec ts;
                bool negotiated_smb_signing = false;
 
@@ -2648,12 +2648,12 @@ static void cli_negprot_done(struct tevent_req *subreq)
                cli->servertime = ts.tv_sec;
                cli->secblob = data_blob(bytes, num_bytes);
                cli->capabilities = IVAL(vwv + 9, 1);
-               if (cli->capabilities & CAP_RAW_MODE) {
+               if (cli_state_capabilities(cli) & CAP_RAW_MODE) {
                        cli->readbraw_supported = True;
                        cli->writebraw_supported = True;      
                }
                /* work out if they sent us a workgroup */
-               if (!(cli->capabilities & CAP_EXTENDED_SECURITY) &&
+               if (!(cli_state_capabilities(cli) & CAP_EXTENDED_SECURITY) &&
                    smb_buflen(inbuf) > 8) {
                        ssize_t ret;
                        status = smb_bytes_talloc_string(
@@ -2695,7 +2695,7 @@ static void cli_negprot_done(struct tevent_req *subreq)
                        cli_set_signing_negotiated(cli);
                }
 
-       } else if (cli->protocol >= PROTOCOL_LANMAN1) {
+       } else if (cli_state_protocol(cli) >= PROTOCOL_LANMAN1) {
                cli->use_spnego = False;
                cli->sec_mode = SVAL(vwv + 1, 0);
                cli->max_xmit = SVAL(vwv + 2, 0);
diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c
index d729649..e54da6f 100644
--- a/source3/libsmb/clidfs.c
+++ b/source3/libsmb/clidfs.c
@@ -201,7 +201,7 @@ static NTSTATUS do_connect(TALLOC_CTX *ctx,
           here before trying to connect to the original share.
           cli_check_msdfs_proxy() will fail if it is a normal share. */
 
-       if ((c->capabilities & CAP_DFS) &&
+       if ((cli_state_capabilities(c) & CAP_DFS) &&
                        cli_check_msdfs_proxy(ctx, c, sharename,
                                &newserver, &newshare,
                                force_encrypt,
@@ -589,10 +589,10 @@ static bool cli_dfs_check_error(struct cli_state *cli, 
NTSTATUS expected,
 {
        /* only deal with DS when we negotiated NT_STATUS codes and UNICODE */
 
-       if (!(cli->capabilities & CAP_UNICODE)) {
+       if (!(cli_state_capabilities(cli) & CAP_UNICODE)) {
                return false;
        }
-       if (!(cli->capabilities & CAP_STATUS32)) {
+       if (!(cli_state_capabilities(cli) & CAP_STATUS32)) {
                return false;
        }
        if (NT_STATUS_EQUAL(status, expected)) {
@@ -858,7 +858,7 @@ NTSTATUS cli_resolve_path(TALLOC_CTX *ctx,
                             dfs_auth_info,
                             false,
                             (rootcli->trans_enc_state != NULL),
-                            rootcli->protocol,
+                            cli_state_protocol(rootcli),
                             0,
                             0x20,
                             &cli_ipc);
@@ -909,7 +909,7 @@ NTSTATUS cli_resolve_path(TALLOC_CTX *ctx,
                             dfs_auth_info,
                             false,
                             (rootcli->trans_enc_state != NULL),
-                            rootcli->protocol,
+                            cli_state_protocol(rootcli),
                             0,
                             0x20,
                             targetcli);
diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c
index 559be92..f9bb781 100644
--- a/source3/libsmb/clientgen.c
+++ b/source3/libsmb/clientgen.c
@@ -56,7 +56,7 @@ unsigned int cli_set_timeout(struct cli_state *cli, unsigned 
int timeout)
 
 bool cli_ucs2(struct cli_state *cli)
 {
-       return ((cli->capabilities & CAP_UNICODE) != 0);
+       return ((cli_state_capabilities(cli) & CAP_UNICODE) != 0);
 }
 
 /****************************************************************************
@@ -73,7 +73,7 @@ void cli_setup_packet_buf(struct cli_state *cli, char *buf)
        SSVAL(buf,smb_uid, cli_state_get_uid(cli));
        SSVAL(buf,smb_mid,cli->smb1.mid);
 
-       if (cli->protocol <= PROTOCOL_CORE) {
+       if (cli_state_protocol(cli) <= PROTOCOL_CORE) {
                return;
        }
 
@@ -84,11 +84,11 @@ void cli_setup_packet_buf(struct cli_state *cli, char *buf)
                SCVAL(buf,smb_flg,0x8);
        }
        flags2 = FLAGS2_LONG_PATH_COMPONENTS;
-       if (cli->capabilities & CAP_UNICODE)
+       if (cli_state_capabilities(cli) & CAP_UNICODE)
                flags2 |= FLAGS2_UNICODE_STRINGS;
-       if ((cli->capabilities & CAP_DFS) && cli->dfsroot)
+       if ((cli_state_capabilities(cli) & CAP_DFS) && cli->dfsroot)
                flags2 |= FLAGS2_DFS_PATHNAMES;
-       if (cli->capabilities & CAP_STATUS32)
+       if (cli_state_capabilities(cli) & CAP_STATUS32)
                flags2 |= FLAGS2_32_BIT_ERROR_CODES;
        if (cli->use_spnego)
                flags2 |= FLAGS2_EXTENDED_SECURITY;
@@ -446,6 +446,16 @@ bool cli_set_case_sensitive(struct cli_state *cli, bool 
case_sensitive)
        return ret;
 }
 
+enum protocol_types cli_state_protocol(struct cli_state *cli)
+{
+       return cli->protocol;
+}
+
+uint32_t cli_state_capabilities(struct cli_state *cli)
+{
+       return cli->capabilities;
+}
+
 struct cli_echo_state {
        uint16_t vwv[1];
        DATA_BLOB data;
diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c
index 59cdb7b..812fcde 100644
--- a/source3/libsmb/clifile.c
+++ b/source3/libsmb/clifile.c
@@ -2765,7 +2765,7 @@ NTSTATUS cli_lock64(struct cli_state *cli, uint16_t fnum,
        int ltype;
        NTSTATUS status;
 
-       if (! (cli->capabilities & CAP_LARGE_FILES)) {
+       if (! (cli_state_capabilities(cli) & CAP_LARGE_FILES)) {
                return cli_lock32(cli, fnum, offset, len, timeout, lock_type);
        }
 
@@ -2878,7 +2878,7 @@ NTSTATUS cli_unlock64(struct cli_state *cli,
        struct tevent_req *req;
        NTSTATUS status = NT_STATUS_OK;
 
-       if (! (cli->capabilities & CAP_LARGE_FILES)) {
+       if (! (cli_state_capabilities(cli) & CAP_LARGE_FILES)) {
                return cli_unlock(cli, fnum, offset, len);
        }
 
diff --git a/source3/libsmb/clilist.c b/source3/libsmb/clilist.c
index 55a6636..ba3dd2b 100644
--- a/source3/libsmb/clilist.c
+++ b/source3/libsmb/clilist.c
@@ -875,7 +875,7 @@ struct tevent_req *cli_list_send(TALLOC_CTX *mem_ctx,
                return NULL;
        }
 
-       if (cli->protocol <= PROTOCOL_LANMAN1) {
+       if (cli_state_protocol(cli) <= PROTOCOL_LANMAN1) {
                subreq = cli_list_old_send(state, ev, cli, mask, attribute);
                state->recv_fn = cli_list_old_recv;
        } else {
@@ -946,7 +946,7 @@ NTSTATUS cli_list(struct cli_state *cli, const char *mask, 
uint16 attribute,
                goto fail;
        }
 
-       info_level = (cli->capabilities & CAP_NT_SMBS)
+       info_level = (cli_state_capabilities(cli) & CAP_NT_SMBS)
                ? SMB_FIND_FILE_BOTH_DIRECTORY_INFO : SMB_FIND_INFO_STANDARD;
 
        req = cli_list_send(frame, ev, cli, mask, attribute, info_level);
diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c
index 413668d..2fe41b4 100644
--- a/source3/libsmb/clireadwrite.c
+++ b/source3/libsmb/clireadwrite.c
@@ -37,7 +37,7 @@ static size_t cli_read_max_bufsize(struct cli_state *cli)
            && (cli->server_posix_capabilities & CIFS_UNIX_LARGE_READ_CAP)) {
                return CLI_SAMBA_MAX_POSIX_LARGE_READX_SIZE;
        }
-       if (cli->capabilities & CAP_LARGE_READX) {
+       if (cli_state_capabilities(cli) & CAP_LARGE_READX) {
                return cli->is_samba
                        ? CLI_SAMBA_MAX_LARGE_READX_SIZE
                        : CLI_WINDOWS_MAX_LARGE_READX_SIZE;
@@ -62,7 +62,7 @@ static size_t cli_write_max_bufsize(struct cli_state *cli,
            !client_is_signing_on(cli) &&
            !cli_encryption_on(cli) &&
            (cli->server_posix_capabilities & CIFS_UNIX_LARGE_WRITE_CAP) &&
-           (cli->capabilities & CAP_LARGE_FILES)) {
+           (cli_state_capabilities(cli) & CAP_LARGE_FILES)) {
                /* Only do massive writes if we can do them direct
                 * with no signing or encrypting - not on a pipe. */
                return CLI_SAMBA_MAX_POSIX_LARGE_WRITEX_SIZE;
@@ -72,7 +72,7 @@ static size_t cli_write_max_bufsize(struct cli_state *cli,
                return CLI_SAMBA_MAX_LARGE_WRITEX_SIZE;
        }
 
-       if (((cli->capabilities & CAP_LARGE_WRITEX) == 0)
+       if (((cli_state_capabilities(cli) & CAP_LARGE_WRITEX) == 0)
            || client_is_signing_on(cli)
            || strequal(cli->dev, "LPT1:")) {
                size_t data_offset = smb_size - 4;
@@ -803,7 +803,7 @@ struct tevent_req *cli_write_andx_create(TALLOC_CTX 
*mem_ctx,
 {
        struct tevent_req *req, *subreq;
        struct cli_write_andx_state *state;
-       bool bigoffset = ((cli->capabilities & CAP_LARGE_FILES) != 0);
+       bool bigoffset = ((cli_state_capabilities(cli) & CAP_LARGE_FILES) != 0);
        uint8_t wct = bigoffset ? 14 : 12;
        size_t max_write = cli_write_max_bufsize(cli, mode, wct);
        uint16_t *vwv;
diff --git a/source3/libsmb/libsmb_file.c b/source3/libsmb/libsmb_file.c
index 914b614..b5932c8 100644
--- a/source3/libsmb/libsmb_file.c
+++ b/source3/libsmb/libsmb_file.c
@@ -551,7 +551,7 @@ SMBC_getatr(SMBCCTX * context,
         }
 
        /* if this is NT then don't bother with the getatr */
-       if (targetcli->capabilities & CAP_NT_SMBS) {
+       if (cli_state_capabilities(targetcli) & CAP_NT_SMBS) {
                 errno = EPERM;
                TALLOC_FREE(frame);
                 return False;
diff --git a/source3/libsmb/libsmb_server.c b/source3/libsmb/libsmb_server.c
index a2ed529..6446252 100644
--- a/source3/libsmb/libsmb_server.c
+++ b/source3/libsmb/libsmb_server.c
@@ -436,7 +436,7 @@ SMBC_server_internal(TALLOC_CTX *ctx,
                c->use_ccache = True;
        }
 
-       c->timeout = smbc_getTimeout(context);
+       cli_set_timeout(c, smbc_getTimeout(context));
 
        status = cli_negprot(c);
 
@@ -485,7 +485,7 @@ SMBC_server_internal(TALLOC_CTX *ctx,
           here before trying to connect to the original share.
           cli_check_msdfs_proxy() will fail if it is a normal share. */
 
-       if ((c->capabilities & CAP_DFS) &&
+       if ((cli_state_capabilities(c) & CAP_DFS) &&
                        cli_check_msdfs_proxy(ctx, c, share,
                                &newserver, &newshare,
                                /* FIXME: cli_check_msdfs_proxy() does
diff --git a/source3/libsmb/libsmb_stat.c b/source3/libsmb/libsmb_stat.c
index c40db4a..30b9291 100644
--- a/source3/libsmb/libsmb_stat.c
+++ b/source3/libsmb/libsmb_stat.c
@@ -465,7 +465,7 @@ SMBC_fstatvfs_ctx(SMBCCTX *context,
         }
 
         /* See if DFS is supported */
-       if ((cli->capabilities & CAP_DFS) &&  cli->dfsroot) {
+       if ((cli_state_capabilities(cli) & CAP_DFS) &&  cli->dfsroot) {
                 flags |= SMBC_VFS_FEATURE_DFS;
         }
 
diff --git a/source3/libsmb/proto.h b/source3/libsmb/proto.h
index 1d2da7f..005ccf6 100644
--- a/source3/libsmb/proto.h
+++ b/source3/libsmb/proto.h
@@ -179,6 +179,8 @@ uint16_t cli_state_set_tid(struct cli_state *cli, uint16_t 
tid);
 uint16_t cli_state_get_uid(struct cli_state *cli);
 uint16_t cli_state_set_uid(struct cli_state *cli, uint16_t uid);
 bool cli_set_case_sensitive(struct cli_state *cli, bool case_sensitive);
+enum protocol_types cli_state_protocol(struct cli_state *cli);
+uint32_t cli_state_capabilities(struct cli_state *cli);
 struct tevent_req *cli_echo_send(TALLOC_CTX *mem_ctx, struct event_context *ev,
                                 struct cli_state *cli, uint16_t num_echos,
                                 DATA_BLOB data);
diff --git a/source3/libsmb/smb2cli_base.c b/source3/libsmb/smb2cli_base.c
index 88b8904..e7ba517 100644
--- a/source3/libsmb/smb2cli_base.c
+++ b/source3/libsmb/smb2cli_base.c
@@ -321,7 +321,7 @@ struct tevent_req *smb2cli_req_send(TALLOC_CTX *mem_ctx,
                return NULL;
        }
        if (!tevent_req_is_in_progress(req)) {
-               return req;
+               return tevent_req_post(req, ev);
        }
        status = smb2cli_req_compound_submit(&req, 1);
        if (tevent_req_nterror(req, status)) {
diff --git a/source3/rpc_server/spoolss/srv_spoolss_nt.c 
b/source3/rpc_server/spoolss/srv_spoolss_nt.c
index b2200af..ec6f49e 100644
--- a/source3/rpc_server/spoolss/srv_spoolss_nt.c
+++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c
@@ -2565,7 +2565,7 @@ static bool spoolss_connect_to_client(struct 
rpc_pipe_client **pp_pipe,
                return false;
        }
 
-       if ( the_cli->protocol != PROTOCOL_NT1 ) {
+       if ( cli_state_protocol(the_cli) != PROTOCOL_NT1 ) {
                DEBUG(0,("spoolss_connect_to_client: machine %s didn't 
negotiate NT protocol.\n", remote_machine));
                cli_shutdown(the_cli);
                return false;
diff --git a/source3/torture/masktest.c b/source3/torture/masktest.c
index 26acd05..05f9c60 100644
--- a/source3/torture/masktest.c
+++ b/source3/torture/masktest.c
@@ -144,7 +144,7 @@ static bool reg_match_one(struct cli_state *cli, const char 
*pattern, const char
 
        if (strcmp(file,"..") == 0) file = ".";
 
-       return ms_fnmatch(pattern, file, cli->protocol, False) == 0;
+       return ms_fnmatch(pattern, file, cli_state_protocol(cli), False) == 0;
 }
 
 static char *reg_test(struct cli_state *cli, const char *pattern, const char 
*long_name, const char *short_name)
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index 9de54b3..03a0cdf 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -4503,7 +4503,7 @@ static bool run_properties(int dummy)
 
        cli_sockopt(cli, sockops);
 
-       d_printf("Capabilities 0x%08x\n", cli->capabilities);
+       d_printf("Capabilities 0x%08x\n", cli_state_capabilities(cli));
 
        if (!torture_close_connection(cli)) {
                correct = False;
diff --git a/source3/utils/net_rpc.c b/source3/utils/net_rpc.c
index 58d6941..592885a 100644
--- a/source3/utils/net_rpc.c
+++ b/source3/utils/net_rpc.c
@@ -7099,7 +7099,7 @@ bool net_rpc_check(struct net_context *c, unsigned flags)
        status = cli_negprot(cli);
        if (!NT_STATUS_IS_OK(status))
                goto done;
-       if (cli->protocol < PROTOCOL_NT1)
+       if (cli_state_protocol(cli) < PROTOCOL_NT1)
                goto done;
 
        ret = true;
diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c
index 2a3d717..3dd129f 100644
--- a/source3/winbindd/winbindd_cm.c
+++ b/source3/winbindd/winbindd_cm.c
@@ -825,8 +825,8 @@ static NTSTATUS cm_prepare_connection(const struct 
winbindd_domain *domain,
        }
 
        if (!is_dc_trusted_domain_situation(domain->name) &&
-           (*cli)->protocol >= PROTOCOL_NT1 &&
-           (*cli)->capabilities & CAP_EXTENDED_SECURITY)
+           cli_state_protocol(*cli) >= PROTOCOL_NT1 &&
+           cli_state_capabilities(*cli) & CAP_EXTENDED_SECURITY)
        {
                ADS_STATUS ads_status;
 
diff --git a/source4/kdc/db-glue.c b/source4/kdc/db-glue.c
index 88fecdd..0bdad7b 100644


-- 
Samba Shared Repository

Reply via email to