Skip to content

Commit f1b53e7

Browse files
author
Jerry Cheung
committed
DRY up #write calls
with #write_request
1 parent f52425d commit f1b53e7

File tree

1 file changed

+8
-19
lines changed

1 file changed

+8
-19
lines changed

lib/net/ldap/connection.rb

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,8 @@ def setup_encryption(args)
8585
# additional branches requiring server validation and peer certs, etc.
8686
# go here.
8787
when :start_tls
88-
msgid = next_msgid.to_ber
8988
request = [Net::LDAP::StartTlsOid.to_ber_contextspecific(0)].to_ber_appsequence(Net::LDAP::PDU::ExtendedRequest)
90-
request_pkt = [msgid, request].to_ber_sequence
91-
write request_pkt
89+
write_request(request)
9290
be = read
9391
raise Net::LDAP::LdapError, "no start_tls result" if be.nil?
9492
pdu = Net::LDAP::PDU.new(be)
@@ -181,11 +179,9 @@ def bind_simple(auth)
181179

182180
raise Net::LDAP::LdapError, "Invalid binding information" unless (user && psw)
183181

184-
msgid = next_msgid.to_ber
185182
request = [LdapVersion.to_ber, user.to_ber,
186183
psw.to_ber_contextspecific(0)].to_ber_appsequence(0)
187-
request_pkt = [msgid, request].to_ber_sequence
188-
write request_pkt
184+
write_request(request)
189185

190186
(be = read and pdu = Net::LDAP::PDU.new(be)) or raise Net::LDAP::LdapError, "no bind result"
191187

@@ -220,11 +216,9 @@ def bind_sasl(auth)
220216

221217
n = 0
222218
loop {
223-
msgid = next_msgid.to_ber
224219
sasl = [mech.to_ber, cred.to_ber].to_ber_contextspecific(3)
225220
request = [LdapVersion.to_ber, "".to_ber, sasl].to_ber_appsequence(0)
226-
request_pkt = [msgid, request].to_ber_sequence
227-
write request_pkt
221+
write_request(request)
228222

229223
(be = read and pdu = Net::LDAP::PDU.new(be)) or raise Net::LDAP::LdapError, "no bind result"
230224
return pdu unless pdu.result_code == 14 # saslBindInProgress
@@ -398,8 +392,7 @@ def search(args = {})
398392
controls << sort_control if sort_control
399393
controls = controls.empty? ? nil : controls.to_ber_contextspecific(0)
400394

401-
pkt = [next_msgid.to_ber, request, controls].compact.to_ber_sequence
402-
write pkt
395+
write_request(request, controls)
403396

404397
result_pdu = nil
405398
controls = []
@@ -507,8 +500,7 @@ def modify(args)
507500
ops = self.class.modify_ops args[:operations]
508501
request = [ modify_dn.to_ber,
509502
ops.to_ber_sequence ].to_ber_appsequence(6)
510-
pkt = [ next_msgid.to_ber, request ].to_ber_sequence
511-
write pkt
503+
write_request(request)
512504

513505
(be = read) && (pdu = Net::LDAP::PDU.new(be)) && (pdu.app_tag == Net::LDAP::PDU::ModifyResponse) or raise Net::LDAP::LdapError, "response missing or invalid"
514506

@@ -530,8 +522,7 @@ def add(args)
530522
}
531523

532524
request = [add_dn.to_ber, add_attrs.to_ber_sequence].to_ber_appsequence(8)
533-
pkt = [next_msgid.to_ber, request].to_ber_sequence
534-
write pkt
525+
write_request(request)
535526

536527
(be = read) &&
537528
(pdu = Net::LDAP::PDU.new(be)) &&
@@ -553,8 +544,7 @@ def rename(args)
553544
request = [old_dn.to_ber, new_rdn.to_ber, delete_attrs.to_ber]
554545
request << new_superior.to_ber_contextspecific(0) unless new_superior == nil
555546

556-
pkt = [next_msgid.to_ber, request.to_ber_appsequence(12)].to_ber_sequence
557-
write pkt
547+
write_request(request.to_ber_appsequence(12))
558548

559549
(be = read) &&
560550
(pdu = Net::LDAP::PDU.new( be )) && (pdu.app_tag == Net::LDAP::PDU::ModifyRDNResponse) or
@@ -570,8 +560,7 @@ def delete(args)
570560
dn = args[:dn] or raise "Unable to delete empty DN"
571561
controls = args.include?(:control_codes) ? args[:control_codes].to_ber_control : nil #use nil so we can compact later
572562
request = dn.to_s.to_ber_application_string(10)
573-
pkt = [next_msgid.to_ber, request, controls].compact.to_ber_sequence
574-
write pkt
563+
write_request(request, controls)
575564

576565
(be = read) && (pdu = Net::LDAP::PDU.new(be)) && (pdu.app_tag == Net::LDAP::PDU::DeleteResponse) or raise Net::LDAP::LdapError, "response missing or invalid"
577566

0 commit comments

Comments
 (0)