From b45e7fb00a64d2fd8897a485def4296d03c39b55 Mon Sep 17 00:00:00 2001
From: dugan <dugan@localhost>
Date: Wed, 18 Feb 2009 14:19:40 +0000
Subject: [PATCH] Commit SASL Phase2 changes. Issue 3805. Unit tests to follow later.

---
 opends/src/server/org/opends/server/extensions/GSSAPISASLMechanismHandler.java |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/opends/src/server/org/opends/server/extensions/GSSAPISASLMechanismHandler.java b/opends/src/server/org/opends/server/extensions/GSSAPISASLMechanismHandler.java
index 2ec2a10..75b29c7 100644
--- a/opends/src/server/org/opends/server/extensions/GSSAPISASLMechanismHandler.java
+++ b/opends/src/server/org/opends/server/extensions/GSSAPISASLMechanismHandler.java
@@ -383,8 +383,19 @@
     {
       try
       {
-        saslContext = SASLContext.createSASLContext(saslProps, serverFQDN,
-            SASL_MECHANISM_GSSAPI, identityMapper);
+        //If the connection is secure already (i.e., TLS), then make the
+        //receive buffers sizes match.
+        if(clientConn.isSecure()) {
+          HashMap<String, String>secProps =
+                                  new HashMap<String,String>(saslProps);
+          int maxBuf = clientConn.getAppBufferSize();
+          secProps.put(Sasl.MAX_BUFFER, Integer.toString(maxBuf));
+          saslContext = SASLContext.createSASLContext(secProps, serverFQDN,
+                                  SASL_MECHANISM_GSSAPI, identityMapper);
+        } else {
+          saslContext = SASLContext.createSASLContext(saslProps, serverFQDN,
+                                  SASL_MECHANISM_GSSAPI, identityMapper);
+        }
       }
       catch (SaslException ex)
       {

--
Gitblit v1.10.0