Skip to content

Commit 1d38606

Browse files
committed
Return the extended response data
1 parent 0e38c4a commit 1d38606

File tree

3 files changed

+4
-6
lines changed

3 files changed

+4
-6
lines changed

lib/net/ldap.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ class Net::LDAP
325325

326326
universal = {
327327
constructed: {
328-
107 => :array, #ExtendedResponse (PasswdModifyResponseValue)
328+
107 => :string, # ExtendedResponse
329329
},
330330
}
331331

@@ -1213,7 +1213,7 @@ def delete_tree(args)
12131213
def ldapwhoami(args = {})
12141214
instrument "ldapwhoami.net_ldap", args do |payload|
12151215
@result = use_connection(args, &:ldapwhoami)
1216-
@result.success?
1216+
@result.success? ? @result.extended_response : nil
12171217
end
12181218
end
12191219
alias_method :whoami, :ldapwhoami

lib/net/ldap/connection.rb

-2
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,6 @@ def delete(args)
694694
end
695695

696696
def ldapwhoami
697-
Net::LDAP::AsnSyntax[139] = :string
698697
ext_seq = [Net::LDAP::WhoamiOid.to_ber_contextspecific(0)]
699698
request = ext_seq.to_ber_appsequence(Net::LDAP::PDU::ExtendedRequest)
700699

@@ -707,7 +706,6 @@ def ldapwhoami
707706
raise Net::LDAP::ResponseMissingOrInvalidError, "response missing or invalid"
708707
end
709708

710-
Net::LDAP::AsnSyntax[139] = nil
711709
pdu
712710
end
713711

lib/net/ldap/pdu.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -194,13 +194,13 @@ def parse_ldap_result(sequence)
194194
# requestValue [1] OCTET STRING OPTIONAL }
195195

196196
def parse_extended_response(sequence)
197-
sequence.length >= 3 or raise Net::LDAP::PDU::Error, "Invalid LDAP result length."
197+
sequence.length.between?(3, 5) or raise Net::LDAP::PDU::Error, "Invalid LDAP result length."
198198
@ldap_result = {
199199
:resultCode => sequence[0],
200200
:matchedDN => sequence[1],
201201
:errorMessage => sequence[2],
202202
}
203-
@extended_response = sequence[3]
203+
@extended_response = sequence.last
204204
end
205205
private :parse_extended_response
206206

0 commit comments

Comments
 (0)