Sunone does allow per user admin limits but AD does not. You can change the limits but it is global (if I remember correctly). Also, were you thinking Redmond not Richmond? :)
Don ----- Original Message ----- From: Vartak, Yash V <[EMAIL PROTECTED]> To: Justin Alcorn <[EMAIL PROTECTED]> Cc: perl-ldap@perl.org <perl-ldap@perl.org> Sent: Tue Jul 01 17:55:10 2008 Subject: RE: Net::LDAP :: Admin limit on AD (Work around) Thanks Justin that works :D Just a question that pop up in my mind, can we have admin limits determined by user, that's have admin limit based on user. e.g : If you bind as a "directory manager" no admin limit applies but if you bind in as "average joe" .. admin limit <eq> 250 entries anon bind --> 10 entries Something on similar lines, As far as I know Tivoli directory server, Critical Path directory server allows that, but config is pretty clumsy and this setting could have a messy effect if you have chaining ... replication ..etc configured as this config affects the all the DSA on that directory not just a single DSA. But have doubts if Gorilla from Richmond (Microsoft) ;) or Sun One allows that. Regards, Yash Vartak -----Original Message----- From: Justin Alcorn [mailto:[EMAIL PROTECTED] Sent: Tuesday, July 01, 2008 9:07 PM To: Vartak, Yash V Cc: perl-ldap@perl.org Subject: Re: Net::LDAP :: Admin limit on AD (Work around) AD does support paged results. This code is basically cut from an example I found, and I use this structure: my $page = Net::LDAP::Control::Paged->new( size => 100 ); my $cookie; my $count = 0; while (1) { $mesg = $ldap->search( base => "DC=example,DC=com", filter => "(objectclass=user)", control => [ $page ] ); $mesg->code && die "Error on search: $@ : ".$mesg->error; while ($adentry = $mesg->pop_entry()) { //process } my($resp) = $mesg->control( LDAP_CONTROL_PAGED ) or last; $cookie = $resp->cookie or last; # Paging Control $page->cookie($cookie); } if ($cookie) { print "abnormal exit\n"; # We had an abnormal exit, so let the server know we do not want any more $page->cookie($cookie); $page->size(0); $ldap->search( control => [ $page ] ); } On Tue, Jul 1, 2008 at 3:23 AM, Chris Ridd <[EMAIL PROTECTED]> wrote: > > On 1 Jul 2008, at 07:52, Vartak, Yash V wrote: > >> Hey Chris I have tried that >> >> but it returns exactly no that a page size is set to, If you set the >> page size to a value greater than admin limit it would return the amount >> of entries <eq> to admin limit. >> >> logically I need the flow need to go this way >> >> {search first 999 entries} >> <do processing> >> {search next 1000 - 1999 entries} >> <do processing> >> ... continues till the time all the entries are processed >> >> What I am missing out is how to leave a pointer at 999 th entry >> >> Looks like I am making some mistake while implementing >> Net::LDAP::Control::Paged > > Possibly. The man page shows you the loop that you have to write to get each > page, which involves retrieving a cookie and reusing it in the next search, > ie your "pointer". Did you also check if AD supports Paged Results? > > Cheers, > > Chris > -- -- Justin B. Alcorn