Skip to content

Commit 3129351

Browse files
committed
Return the extended response data
1 parent 2e52c70 commit 3129351

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

@@ -1211,7 +1211,7 @@ def delete_tree(args)
12111211
def ldapwhoami(args = {})
12121212
instrument "ldapwhoami.net_ldap", args do |payload|
12131213
@result = use_connection(args, &:ldapwhoami)
1214-
@result.success?
1214+
@result.success? ? @result.extended_response : nil
12151215
end
12161216
end
12171217
alias_method :whoami, :ldapwhoami

lib/net/ldap/connection.rb

-2
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,6 @@ def delete(args)
689689
end
690690

691691
def ldapwhoami
692-
Net::LDAP::AsnSyntax[139] = :string
693692
ext_seq = [Net::LDAP::WhoamiOid.to_ber_contextspecific(0)]
694693
request = ext_seq.to_ber_appsequence(Net::LDAP::PDU::ExtendedRequest)
695694

@@ -702,7 +701,6 @@ def ldapwhoami
702701
raise Net::LDAP::ResponseMissingOrInvalidError, "response missing or invalid"
703702
end
704703

705-
Net::LDAP::AsnSyntax[139] = nil
706704
pdu
707705
end
708706

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)