From f102f50d9c2bf9b635a94240949f53a4d928a12a Mon Sep 17 00:00:00 2001 From: Ian Yang Date: Wed, 10 Aug 2011 20:18:27 +0800 Subject: [PATCH] Do not add controls when it is empty. Fixed #17 Some LDAP servers, such as ApacheDS, consider as invalid protocol, if controls is an empty array. --- lib/net/ldap.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/net/ldap.rb b/lib/net/ldap.rb index b0105fc..a25df63 100644 --- a/lib/net/ldap.rb +++ b/lib/net/ldap.rb @@ -1389,9 +1389,9 @@ class Net::LDAP::Connection #:nodoc: false.to_ber, rfc2696_cookie.map{ |v| v.to_ber}.to_ber_sequence.to_s.to_ber ].to_ber_sequence if paged_searches_supported - controls = controls.to_ber_contextspecific(0) + controls = controls.empty? ? nil : controls.to_ber_contextspecific(0) - pkt = [next_msgid.to_ber, request, controls].to_ber_sequence + pkt = [next_msgid.to_ber, request, controls].compact.to_ber_sequence @conn.write pkt result_code = 0