mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noel Rouvignac
19.30.2014 377b2709c64b32fe93905b466482216c2cc0581c
opendj3-server-dev/src/server/org/opends/server/extensions/ExternalSASLMechanismHandler.java
@@ -243,22 +243,8 @@
        {
          try
          {
            byte[] certBytes = clientCertChain[0].getEncoded();
            AttributeValue v =
                AttributeValues.create(
                    certificateAttributeType, ByteString.wrap(certBytes));
            boolean found = false;
            for (Attribute a : certAttrList)
            {
              if (a.contains(v))
              {
                found = true;
                break;
              }
            }
            if (! found)
            ByteString certBytes = ByteString.wrap(clientCertChain[0].getEncoded());
            if (!find(certAttrList, certBytes))
            {
              bindOperation.setResultCode(ResultCode.INVALID_CREDENTIALS);
@@ -286,22 +272,8 @@
        {
          try
          {
            byte[] certBytes = clientCertChain[0].getEncoded();
            AttributeValue v =
                AttributeValues.create(
                    certificateAttributeType, ByteString.wrap(certBytes));
            boolean found = false;
            for (Attribute a : certAttrList)
            {
              if (a.contains(v))
              {
                found = true;
                break;
              }
            }
            if (! found)
            ByteString certBytes = ByteString.wrap(clientCertChain[0].getEncoded());
            if (!find(certAttrList, certBytes))
            {
              bindOperation.setResultCode(ResultCode.INVALID_CREDENTIALS);
@@ -333,6 +305,20 @@
  private boolean find(List<Attribute> certAttrList, ByteString certBytes)
  {
    for (Attribute a : certAttrList)
    {
      if (a.contains(certBytes))
      {
        return true;
      }
    }
    return false;
  }
  /**
   * {@inheritDoc}
   */