LDAP searches don't stop

B

Bart Braem

Hello,

I'm trying to figure out how to search an LDAP server. I can connect and I
see searches pass by if I sniff on the network interface. But the search
command never stops, even tough I limit it to 1 second. (Can I limit the
search to 1 result?)

irb(main):001:0> require 'ldap'
=> true
irb(main):002:0> conn = LDAP::Conn.new("someldapserver", 389)
=> #<LDAP::Conn:0xb7afb900>
irb(main):003:0> conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)
=> #<LDAP::Conn:0xb7afb900>
irb(main):004:0> conn.bind("ldapusername", "ldappassword")
=> #<LDAP::Conn:0xb7afb900>
irb(main):005:0> conn.search2("dc=somedc",
LDAP::LDAP_SCOPE_SUBTREE, "somefilter", nil,false, 1)

This keeps running forever instead of for 1 second...
Any ideas on how to solve that? I see a right result coming over the network
interface so the program can stop!

Regards,
Bart
 
F

Francis Cianfrocca

Hello,

I'm trying to figure out how to search an LDAP server. I can connect and I
see searches pass by if I sniff on the network interface. But the search
command never stops, even tough I limit it to 1 second. (Can I limit the
search to 1 result?)

irb(main):001:0> require 'ldap'
=> true
irb(main):002:0> conn = LDAP::Conn.new("someldapserver", 389)
=> #<LDAP::Conn:0xb7afb900>
irb(main):003:0> conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)
=> #<LDAP::Conn:0xb7afb900>
irb(main):004:0> conn.bind("ldapusername", "ldappassword")
=> #<LDAP::Conn:0xb7afb900>
irb(main):005:0> conn.search2("dc=somedc",
LDAP::LDAP_SCOPE_SUBTREE, "somefilter", nil,false, 1)

This keeps running forever instead of for 1 second...
Any ideas on how to solve that? I see a right result coming over the network
interface so the program can stop!

Regards,
Bart

What happens if you use ldapsearch against this server? What happens
if you use Net::LDAP?
 
B

Bart Braem

Bart said:
Hello,

I'm trying to figure out how to search an LDAP server. I can connect and I
see searches pass by if I sniff on the network interface. But the search
command never stops, even tough I limit it to 1 second. (Can I limit the
search to 1 result?)

irb(main):001:0> require 'ldap'
=> true
irb(main):002:0> conn = LDAP::Conn.new("someldapserver", 389)
=> #<LDAP::Conn:0xb7afb900>
irb(main):003:0> conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)
=> #<LDAP::Conn:0xb7afb900>
irb(main):004:0> conn.bind("ldapusername", "ldappassword")
=> #<LDAP::Conn:0xb7afb900>
irb(main):005:0> conn.search2("dc=somedc",
LDAP::LDAP_SCOPE_SUBTREE, "somefilter", nil,false, 1)

This keeps running forever instead of for 1 second...
Any ideas on how to solve that? I see a right result coming over the
network interface so the program can stop!
After some time the system stops:
ruby myprogram.rb
myprogram:8:in `search': Operations error (LDAP::ResultError)
from myprogram.rb:8
But that error is nowhere explained. Is there something wrong with my
connection? The server is an Active Directory server, can that make a
difference?

Bart
 
B

Bart Braem

Bart said:
Hello,

I'm trying to figure out how to search an LDAP server. I can connect and I
see searches pass by if I sniff on the network interface. But the search
command never stops, even tough I limit it to 1 second. (Can I limit the
search to 1 result?)

irb(main):001:0> require 'ldap'
=> true
irb(main):002:0> conn = LDAP::Conn.new("someldapserver", 389)
=> #<LDAP::Conn:0xb7afb900>
irb(main):003:0> conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)
=> #<LDAP::Conn:0xb7afb900>
irb(main):004:0> conn.bind("ldapusername", "ldappassword")
=> #<LDAP::Conn:0xb7afb900>
irb(main):005:0> conn.search2("dc=somedc",
LDAP::LDAP_SCOPE_SUBTREE, "somefilter", nil,false, 1)

This keeps running forever instead of for 1 second...
Any ideas on how to solve that? I see a right result coming over the
network interface so the program can stop!
Right the error is in the details. I used DC in the query instead of dc. The
server responded with some other servers to choose from, some of which did
not exist. So the program took forever trying to query those servers...
(I don't know whether it's useful if I report this situation to the LDAP
module author?)

Thanks for your help!
Bart
 
B

Bart Braem

Bart said:
Right the error is in the details. I used DC in the query instead of dc.
The server responded with some other servers to choose from, some of which
did not exist. So the program took forever trying to query those
servers...

Yesterday I tried Net::LDAP and it worked even with a capital DC in the
search base. Net::LDAP seems to have a cleaner interface so perhaps I'll
switch the system over, performance does not seem to be an issue either.

Bart
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,152
Members
46,697
Latest member
AugustNabo

Latest Threads

Top