Skip to content

Commit 1068fa9

Browse files
committed
Remove Net::LDAP::PDU parsing calls replaced by new read behavior
1 parent 2fb8067 commit 1068fa9

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

lib/net/ldap/connection.rb

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,7 @@ def setup_encryption(args)
9191
request = [Net::LDAP::StartTlsOid.to_ber_contextspecific(0)].to_ber_appsequence(Net::LDAP::PDU::ExtendedRequest)
9292
request_pkt = [msgid, request].to_ber_sequence
9393
write request_pkt
94-
be = read
95-
raise Net::LDAP::LdapError, "no start_tls result" if be.nil?
96-
pdu = Net::LDAP::PDU.new(be)
94+
pdu = read
9795
raise Net::LDAP::LdapError, "no start_tls result" if pdu.nil?
9896
if pdu.result_code.zero?
9997
@conn = self.class.wrap_with_ssl(@conn)
@@ -194,7 +192,7 @@ def bind_simple(auth)
194192
request_pkt = [msgid, request].to_ber_sequence
195193
write request_pkt
196194

197-
(be = read and pdu = Net::LDAP::PDU.new(be)) or raise Net::LDAP::LdapError, "no bind result"
195+
(pdu = read) or raise Net::LDAP::LdapError, "no bind result"
198196

199197
pdu
200198
end
@@ -233,7 +231,7 @@ def bind_sasl(auth)
233231
request_pkt = [msgid, request].to_ber_sequence
234232
write request_pkt
235233

236-
(be = read and pdu = Net::LDAP::PDU.new(be)) or raise Net::LDAP::LdapError, "no bind result"
234+
(pdu = read) or raise Net::LDAP::LdapError, "no bind result"
237235
return pdu unless pdu.result_code == 14 # saslBindInProgress
238236
raise Net::LDAP::LdapError, "sasl-challenge overflow" if ((n += 1) > MaxSaslChallenges)
239237

@@ -411,7 +409,7 @@ def search(args = {})
411409
result_pdu = nil
412410
controls = []
413411

414-
while (be = read) && (pdu = Net::LDAP::PDU.new(be))
412+
while (pdu = read)
415413
case pdu.app_tag
416414
when Net::LDAP::PDU::SearchReturnedData
417415
n_results += 1
@@ -517,7 +515,7 @@ def modify(args)
517515
pkt = [ next_msgid.to_ber, request ].to_ber_sequence
518516
write pkt
519517

520-
(be = read) && (pdu = Net::LDAP::PDU.new(be)) && (pdu.app_tag == Net::LDAP::PDU::ModifyResponse) or raise Net::LDAP::LdapError, "response missing or invalid"
518+
(pdu = read) && (pdu.app_tag == Net::LDAP::PDU::ModifyResponse) or raise Net::LDAP::LdapError, "response missing or invalid"
521519

522520
pdu
523521
end
@@ -540,8 +538,7 @@ def add(args)
540538
pkt = [next_msgid.to_ber, request].to_ber_sequence
541539
write pkt
542540

543-
(be = read) &&
544-
(pdu = Net::LDAP::PDU.new(be)) &&
541+
(pdu = read) &&
545542
(pdu.app_tag == Net::LDAP::PDU::AddResponse) or
546543
raise Net::LDAP::LdapError, "response missing or invalid"
547544

@@ -563,8 +560,8 @@ def rename(args)
563560
pkt = [next_msgid.to_ber, request.to_ber_appsequence(12)].to_ber_sequence
564561
write pkt
565562

566-
(be = read) &&
567-
(pdu = Net::LDAP::PDU.new( be )) && (pdu.app_tag == Net::LDAP::PDU::ModifyRDNResponse) or
563+
(pdu = read) &&
564+
(pdu.app_tag == Net::LDAP::PDU::ModifyRDNResponse) or
568565
raise Net::LDAP::LdapError.new( "response missing or invalid" )
569566

570567
pdu
@@ -580,7 +577,7 @@ def delete(args)
580577
pkt = [next_msgid.to_ber, request, controls].compact.to_ber_sequence
581578
write pkt
582579

583-
(be = read) && (pdu = Net::LDAP::PDU.new(be)) && (pdu.app_tag == Net::LDAP::PDU::DeleteResponse) or raise Net::LDAP::LdapError, "response missing or invalid"
580+
(pdu = read) && (pdu.app_tag == Net::LDAP::PDU::DeleteResponse) or raise Net::LDAP::LdapError, "response missing or invalid"
584581

585582
pdu
586583
end

0 commit comments

Comments
 (0)