You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2019/04/22 11:20:33 UTC
[directory-ldap-api] branch master updated: Fix extended response
handling for responses without value,
like StartTLS (OpenLDAP doesnt't add the responseName/OID so StartTLS wasn't
working).
This is an automated email from the ASF dual-hosted git repository.
seelmann pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-ldap-api.git
The following commit(s) were added to refs/heads/master by this push:
new 2f74af7 Fix extended response handling for responses without value, like StartTLS (OpenLDAP doesnt't add the responseName/OID so StartTLS wasn't working).
2f74af7 is described below
commit 2f74af7cb06317f5818106cf58b1521cfbccc830
Author: Stefan Seelmann <ma...@stefan-seelmann.de>
AuthorDate: Mon Apr 22 13:20:20 2019 +0200
Fix extended response handling for responses without value, like StartTLS (OpenLDAP doesnt't add the responseName/OID so StartTLS wasn't working).
---
.../directory/ldap/client/api/LdapNetworkConnection.java | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java
index 02e361b..6267cc1 100644
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java
@@ -2929,9 +2929,19 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
{
ExtendedOperationFactory factory = codec.getExtendedResponseFactories().
get( extendedFuture.getExtendedRequest().getRequestName() );
-
- ExtendedResponse response = factory.newResponse( ( ( OpaqueExtendedResponse ) extendedResponse ).getResponseValue() );
-
+
+ byte[] responseValue = ( ( OpaqueExtendedResponse ) extendedResponse ).getResponseValue();
+
+ ExtendedResponse response;
+ if ( responseValue != null )
+ {
+ response = factory.newResponse( responseValue );
+ }
+ else
+ {
+ response = factory.newResponse();
+ }
+
// Copy the controls
for ( Control control : extendedResponse.getControls().values() )
{