Skip to content

Commit 7e3f4e7

Browse files
author
Jerry Cheung
committed
just use #write
not adding another method call. Since it's a private method, not giving any deprecation warning.
1 parent f1b53e7 commit 7e3f4e7

File tree

2 files changed

+21
-25
lines changed

2 files changed

+21
-25
lines changed

lib/net/ldap/connection.rb

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def setup_encryption(args)
8686
# go here.
8787
when :start_tls
8888
request = [Net::LDAP::StartTlsOid.to_ber_contextspecific(0)].to_ber_appsequence(Net::LDAP::PDU::ExtendedRequest)
89-
write_request(request)
89+
write(request)
9090
be = read
9191
raise Net::LDAP::LdapError, "no start_tls result" if be.nil?
9292
pdu = Net::LDAP::PDU.new(be)
@@ -126,26 +126,22 @@ def read(syntax = Net::LDAP::AsnSyntax)
126126
end
127127
private :read
128128

129-
# Internal: Writes the given packet to the configured connection.
129+
# Internal: Write a BER formatted packet with the next message id to the
130+
# configured connection.
130131
#
131-
# - packet: the BER data packet to write on the socket.
132+
# - request: required BER formatted request
133+
# - controls: optional BER formatted controls
132134
#
133135
# Returns the return value from writing to the connection, which in some
134136
# cases is the Integer number of bytes written to the socket.
135-
def write(packet)
137+
def write(request, controls = nil)
136138
instrument "write.net_ldap_connection" do |payload|
139+
packet = [next_msgid.to_ber, request, controls].compact.to_ber_sequence
137140
payload[:content_length] = @conn.write(packet)
138141
end
139142
end
140143
private :write
141144

142-
# Internal: Convert BER formatted `request` and `controls` to a BER data
143-
# packet with the next message id (`#next_msgid`) and call `#write` on it.
144-
def write_request(request, controls = nil)
145-
write([next_msgid.to_ber, request, controls].compact.to_ber_sequence)
146-
end
147-
private :write_request
148-
149145
def next_msgid
150146
@msgid ||= 0
151147
@msgid += 1
@@ -181,7 +177,7 @@ def bind_simple(auth)
181177

182178
request = [LdapVersion.to_ber, user.to_ber,
183179
psw.to_ber_contextspecific(0)].to_ber_appsequence(0)
184-
write_request(request)
180+
write(request)
185181

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

@@ -218,7 +214,7 @@ def bind_sasl(auth)
218214
loop {
219215
sasl = [mech.to_ber, cred.to_ber].to_ber_contextspecific(3)
220216
request = [LdapVersion.to_ber, "".to_ber, sasl].to_ber_appsequence(0)
221-
write_request(request)
217+
write(request)
222218

223219
(be = read and pdu = Net::LDAP::PDU.new(be)) or raise Net::LDAP::LdapError, "no bind result"
224220
return pdu unless pdu.result_code == 14 # saslBindInProgress
@@ -392,7 +388,7 @@ def search(args = {})
392388
controls << sort_control if sort_control
393389
controls = controls.empty? ? nil : controls.to_ber_contextspecific(0)
394390

395-
write_request(request, controls)
391+
write(request, controls)
396392

397393
result_pdu = nil
398394
controls = []
@@ -500,7 +496,7 @@ def modify(args)
500496
ops = self.class.modify_ops args[:operations]
501497
request = [ modify_dn.to_ber,
502498
ops.to_ber_sequence ].to_ber_appsequence(6)
503-
write_request(request)
499+
write(request)
504500

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

@@ -522,7 +518,7 @@ def add(args)
522518
}
523519

524520
request = [add_dn.to_ber, add_attrs.to_ber_sequence].to_ber_appsequence(8)
525-
write_request(request)
521+
write(request)
526522

527523
(be = read) &&
528524
(pdu = Net::LDAP::PDU.new(be)) &&
@@ -544,7 +540,7 @@ def rename(args)
544540
request = [old_dn.to_ber, new_rdn.to_ber, delete_attrs.to_ber]
545541
request << new_superior.to_ber_contextspecific(0) unless new_superior == nil
546542

547-
write_request(request.to_ber_appsequence(12))
543+
write(request.to_ber_appsequence(12))
548544

549545
(be = read) &&
550546
(pdu = Net::LDAP::PDU.new( be )) && (pdu.app_tag == Net::LDAP::PDU::ModifyRDNResponse) or
@@ -560,7 +556,7 @@ def delete(args)
560556
dn = args[:dn] or raise "Unable to delete empty DN"
561557
controls = args.include?(:control_codes) ? args[:control_codes].to_ber_control : nil #use nil so we can compact later
562558
request = dn.to_s.to_ber_application_string(10)
563-
write_request(request, controls)
559+
write(request, controls)
564560

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

test/test_ldap_connection.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,26 @@ def test_modify_ops_replace
2222
assert_equal(expected, result)
2323
end
2424

25-
def test_write_request
25+
def test_write
2626
mock = Minitest::Mock.new
2727
mock.expect(:write, true, [[1.to_ber, "request"].to_ber_sequence])
2828
conn = Net::LDAP::Connection.new(:socket => mock)
29-
conn.send(:write_request, "request")
29+
conn.send(:write, "request")
3030
end
3131

32-
def test_write_request_with_controls
32+
def test_write_with_controls
3333
mock = Minitest::Mock.new
3434
mock.expect(:write, true, [[1.to_ber, "request", "controls"].to_ber_sequence])
3535
conn = Net::LDAP::Connection.new(:socket => mock)
36-
conn.send(:write_request, "request", "controls")
36+
conn.send(:write, "request", "controls")
3737
end
3838

39-
def test_write_request_increments_msgid
39+
def test_write_increments_msgid
4040
mock = Minitest::Mock.new
4141
mock.expect(:write, true, [[1.to_ber, "request1"].to_ber_sequence])
4242
mock.expect(:write, true, [[2.to_ber, "request2"].to_ber_sequence])
4343
conn = Net::LDAP::Connection.new(:socket => mock)
44-
conn.send(:write_request, "request1")
45-
conn.send(:write_request, "request2")
44+
conn.send(:write, "request1")
45+
conn.send(:write, "request2")
4646
end
4747
end

0 commit comments

Comments
 (0)