test gensec_set_max_update_size
authorStefan Metzmacher <metze@samba.org>
Wed, 4 Jan 2012 10:59:54 +0000 (11:59 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 10 May 2012 16:47:02 +0000 (18:47 +0200)
source4/libcli/smb_composite/sesssetup.c
source4/smb_server/smb/sesssetup.c
source4/smb_server/smb2/sesssetup.c

index 63f3a8e10d48301ff53aefad1dacd2d2d5d20a32..8dc2cd9ac4a299fb8ff633ef0db4535f4ad613c0 100644 (file)
@@ -447,6 +447,8 @@ static NTSTATUS session_setup_spnego(struct composite_context *c,
                return status;
        }
 
+       gensec_set_max_update_size(session->gensec, 128);
+
        gensec_want_feature(session->gensec, GENSEC_FEATURE_SESSION_KEY);
 
        status = gensec_set_credentials(session->gensec, io->in.credentials);
index e2974b5e6d13995d76332ad493c6b14db9cf69a6..8bc12e6629f328b4ef09778a8e4ecec7e655fd50 100644 (file)
@@ -451,6 +451,7 @@ static void sesssetup_spnego(struct smbsrv_request *req, union smb_sesssetup *se
                }
 
                gensec_want_feature(gensec_ctx, GENSEC_FEATURE_SESSION_KEY);
+               gensec_set_max_update_size(gensec_ctx, req->smb_conn->negotiate.max_send);
 
                status = gensec_start_mech_by_oid(gensec_ctx, req->smb_conn->negotiate.oid);
                if (!NT_STATUS_IS_OK(status)) {
@@ -459,8 +460,6 @@ static void sesssetup_spnego(struct smbsrv_request *req, union smb_sesssetup *se
                        goto failed;
                }
 
-               gensec_set_max_update_size(gensec_security, req->smb_conn->negotiate.max_send);
-
                /* allocate a new session */
                smb_sess = smbsrv_session_new(req->smb_conn, req->smb_conn, gensec_ctx);
                if (!smb_sess) {
index db6b2871b41cfabd54b93b3e77044472519be84a..db6e652076cdb4c09de0ff746429a4c9c69ac187 100644 (file)
@@ -144,6 +144,7 @@ static void smb2srv_sesssetup_backend(struct smb2srv_request *req, union smb_ses
                }
 
                gensec_want_feature(gensec_ctx, GENSEC_FEATURE_SESSION_KEY);
+               gensec_set_max_update_size(gensec_ctx, UINT16_MAX);
 
                status = gensec_start_mech_by_oid(gensec_ctx, GENSEC_OID_SPNEGO);
                if (!NT_STATUS_IS_OK(status)) {
@@ -151,8 +152,6 @@ static void smb2srv_sesssetup_backend(struct smb2srv_request *req, union smb_ses
                        goto failed;
                }
 
-               gensec_set_max_update_size(gensec_security, UINT16_MAX);
-
                /* allocate a new session */
                smb_sess = smbsrv_session_new(req->smb_conn, req->smb_conn, gensec_ctx);
                if (!smb_sess) {