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/DigestMD5SASLMechanismHandler.java |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/extensions/DigestMD5SASLMechanismHandler.java b/opends/src/server/org/opends/server/extensions/DigestMD5SASLMechanismHandler.java
index cd2de57..2c9a519 100644
--- a/opends/src/server/org/opends/server/extensions/DigestMD5SASLMechanismHandler.java
+++ b/opends/src/server/org/opends/server/extensions/DigestMD5SASLMechanismHandler.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2006-2008 Sun Microsystems, Inc.
+ *      Copyright 2006-2009 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
 
@@ -163,6 +163,17 @@
          (SASLContext) clientConn.getSASLAuthStateInfo();
       if(saslContext == null) {
           try {
+            //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_DIGEST_MD5,
+                                      identityMapper);
+            } else
               saslContext = SASLContext.createSASLContext(saslProps, serverFQDN,
                             SASL_MECHANISM_DIGEST_MD5, identityMapper);
           } catch (SaslException ex) {

--
Gitblit v1.10.0