@@ -1218,8 +1218,8 @@ def setup_encryption(args)
12181218 msgid = next_msgid . to_ber
12191219 request = [ Net ::LDAP ::StartTlsOid . to_ber_contextspecific ( 0 ) ] . to_ber_appsequence ( Net ::LDAP ::PDU ::ExtendedRequest )
12201220 request_pkt = [ msgid , request ] . to_ber_sequence
1221- @conn . write request_pkt
1222- be = @conn . read_ber ( Net :: LDAP :: AsnSyntax )
1221+ write request_pkt
1222+ be = read
12231223 raise Net ::LDAP ::LdapError , "no start_tls result" if be . nil?
12241224 pdu = Net ::LDAP ::PDU . new ( be )
12251225 raise Net ::LDAP ::LdapError , "no start_tls result" if pdu . nil?
@@ -1243,6 +1243,16 @@ def close
12431243 @conn = nil
12441244 end
12451245
1246+ def read
1247+ @conn . read_ber ( Net ::LDAP ::AsnSyntax )
1248+ end
1249+ private :read
1250+
1251+ def write ( packet )
1252+ @conn . write ( packet )
1253+ end
1254+ private :write
1255+
12461256 def next_msgid
12471257 @msgid ||= 0
12481258 @msgid += 1
@@ -1278,9 +1288,9 @@ def bind_simple(auth)
12781288 request = [ LdapVersion . to_ber , user . to_ber ,
12791289 psw . to_ber_contextspecific ( 0 ) ] . to_ber_appsequence ( 0 )
12801290 request_pkt = [ msgid , request ] . to_ber_sequence
1281- @conn . write request_pkt
1291+ write request_pkt
12821292
1283- ( be = @conn . read_ber ( Net :: LDAP :: AsnSyntax ) and pdu = Net ::LDAP ::PDU . new ( be ) ) or raise Net ::LDAP ::LdapError , "no bind result"
1293+ ( be = read and pdu = Net ::LDAP ::PDU . new ( be ) ) or raise Net ::LDAP ::LdapError , "no bind result"
12841294
12851295 pdu
12861296 end
@@ -1317,9 +1327,9 @@ def bind_sasl(auth)
13171327 sasl = [ mech . to_ber , cred . to_ber ] . to_ber_contextspecific ( 3 )
13181328 request = [ LdapVersion . to_ber , "" . to_ber , sasl ] . to_ber_appsequence ( 0 )
13191329 request_pkt = [ msgid , request ] . to_ber_sequence
1320- @conn . write request_pkt
1330+ write request_pkt
13211331
1322- ( be = @conn . read_ber ( Net :: LDAP :: AsnSyntax ) and pdu = Net ::LDAP ::PDU . new ( be ) ) or raise Net ::LDAP ::LdapError , "no bind result"
1332+ ( be = read and pdu = Net ::LDAP ::PDU . new ( be ) ) or raise Net ::LDAP ::LdapError , "no bind result"
13231333 return pdu unless pdu . result_code == 14 # saslBindInProgress
13241334 raise Net ::LDAP ::LdapError , "sasl-challenge overflow" if ( ( n += 1 ) > MaxSaslChallenges )
13251335
@@ -1483,12 +1493,12 @@ def search(args = {})
14831493 controls = controls . empty? ? nil : controls . to_ber_contextspecific ( 0 )
14841494
14851495 pkt = [ next_msgid . to_ber , request , controls ] . compact . to_ber_sequence
1486- @conn . write pkt
1496+ write pkt
14871497
14881498 result_pdu = nil
14891499 controls = [ ]
14901500
1491- while ( be = @conn . read_ber ( Net :: LDAP :: AsnSyntax ) ) && ( pdu = Net ::LDAP ::PDU . new ( be ) )
1501+ while ( be = read ) && ( pdu = Net ::LDAP ::PDU . new ( be ) )
14921502 case pdu . app_tag
14931503 when 4 # search-data
14941504 n_results += 1
@@ -1584,9 +1594,9 @@ def modify(args)
15841594 request = [ modify_dn . to_ber ,
15851595 ops . to_ber_sequence ] . to_ber_appsequence ( 6 )
15861596 pkt = [ next_msgid . to_ber , request ] . to_ber_sequence
1587- @conn . write pkt
1597+ write pkt
15881598
1589- ( be = @conn . read_ber ( Net :: LDAP :: AsnSyntax ) ) && ( pdu = Net ::LDAP ::PDU . new ( be ) ) && ( pdu . app_tag == 7 ) or raise Net ::LDAP ::LdapError , "response missing or invalid"
1599+ ( be = read ) && ( pdu = Net ::LDAP ::PDU . new ( be ) ) && ( pdu . app_tag == 7 ) or raise Net ::LDAP ::LdapError , "response missing or invalid"
15901600
15911601 pdu
15921602 end
@@ -1607,9 +1617,9 @@ def add(args)
16071617
16081618 request = [ add_dn . to_ber , add_attrs . to_ber_sequence ] . to_ber_appsequence ( 8 )
16091619 pkt = [ next_msgid . to_ber , request ] . to_ber_sequence
1610- @conn . write pkt
1620+ write pkt
16111621
1612- ( be = @conn . read_ber ( Net :: LDAP :: AsnSyntax ) ) &&
1622+ ( be = read ) &&
16131623 ( pdu = Net ::LDAP ::PDU . new ( be ) ) &&
16141624 ( pdu . app_tag == 9 ) or
16151625 raise Net ::LDAP ::LdapError , "response missing or invalid"
@@ -1630,9 +1640,9 @@ def rename(args)
16301640 request << new_superior . to_ber_contextspecific ( 0 ) unless new_superior == nil
16311641
16321642 pkt = [ next_msgid . to_ber , request . to_ber_appsequence ( 12 ) ] . to_ber_sequence
1633- @conn . write pkt
1643+ write pkt
16341644
1635- ( be = @conn . read_ber ( Net :: LDAP :: AsnSyntax ) ) &&
1645+ ( be = read ) &&
16361646 ( pdu = Net ::LDAP ::PDU . new ( be ) ) && ( pdu . app_tag == 13 ) or
16371647 raise Net ::LDAP ::LdapError . new ( "response missing or invalid" )
16381648
@@ -1647,9 +1657,9 @@ def delete(args)
16471657 controls = args . include? ( :control_codes ) ? args [ :control_codes ] . to_ber_control : nil #use nil so we can compact later
16481658 request = dn . to_s . to_ber_application_string ( 10 )
16491659 pkt = [ next_msgid . to_ber , request , controls ] . compact . to_ber_sequence
1650- @conn . write pkt
1660+ write pkt
16511661
1652- ( be = @conn . read_ber ( Net :: LDAP :: AsnSyntax ) ) && ( pdu = Net ::LDAP ::PDU . new ( be ) ) && ( pdu . app_tag == 11 ) or raise Net ::LDAP ::LdapError , "response missing or invalid"
1662+ ( be = read ) && ( pdu = Net ::LDAP ::PDU . new ( be ) ) && ( pdu . app_tag == 11 ) or raise Net ::LDAP ::LdapError , "response missing or invalid"
16531663
16541664 pdu
16551665 end
0 commit comments