You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(200) |
Jun
(129) |
Jul
(184) |
Aug
(204) |
Sep
(106) |
Oct
(79) |
Nov
(72) |
Dec
(54) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(83) |
Feb
(123) |
Mar
(84) |
Apr
(184) |
May
(106) |
Jun
(111) |
Jul
(104) |
Aug
(91) |
Sep
(59) |
Oct
(99) |
Nov
(100) |
Dec
(37) |
2002 |
Jan
(148) |
Feb
(88) |
Mar
(85) |
Apr
(151) |
May
(80) |
Jun
(110) |
Jul
(85) |
Aug
(43) |
Sep
(64) |
Oct
(89) |
Nov
(59) |
Dec
(42) |
2003 |
Jan
(129) |
Feb
(104) |
Mar
(162) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Chris R. <chr...@me...> - 2002-06-06 12:34:25
|
Murugan K G <mur...@ya...> wrote: > dn LDAPDN Try: dn OCTET STRING Cheers, Chris |
From: Murugan K G <mur...@ya...> - 2002-06-06 12:31:11
|
Hi I may be asking very simple question since i am very new to LDAP stuff. Thanks for your answers. I am getting "Could not decode LDAP extension packet" error messasge. May be i am sending wrong encoded message from the client as below. Any ideas?. Any help mostly welcome. Thanks in advance. Regards K.Murugan my $mesg = $ldap->message('Net::LDAP::Extension' => $arg); $ldap->start_tls(); $asn = Convert::ASN1->new; $asn->prepare(q< [APPLICATION 23] SEQUENCE { flags INTEGER, dn LDAPDN }>); $pdu = $asn->encode( flags => 0, dn => "ou=test,o=xxxx"); $out = $asn->decode($pdu); print $out->{flags}," ",$out->{dn},"\n"; $mesg->encode ( extendedReq =>{ requestName => '2.16.840.1.113719.1.27.100.3', ##################################### requestValue => $pdu ####################################### } )or die "Not able to encode the extended values\n"; $response=$ldap->_sendmesg($mesg) or die "Not able to send message\n"; $mesg->sync(); if( $mesg->code ne LDAP_SUCCESS) { print "LDAP ERROR\n "; print "The response name is ". $response->{responseName}; $ldap->unbind(); } else { print "The response name is ". $response->{responseName}; $ldap->unbind(); } print "Ldap extension operation result", ldap_error_name($mesg->code),"\n"; print $mesg->error; __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com |
From: Murugan K G <mur...@ya...> - 2002-06-06 12:08:39
|
Hi LDAP gurus, The following script is not giving any result for me. AM i doing something wrong here. How can i assign LDAPDN ::LDAPString in the perl code?. Thanks in advance Regards K.Murugan use Convert::ASN1; $asn = Convert::ASN1->new; $asn->prepare(q< [APPLICATION 23] SEQUENCE { flags INTEGER, dn LDAPDN }>); $pdu = $asn->encode( flags => 0, dn => "ou=xx,o=xxxx"); $out = $asn->decode($pdu); print $out->{flags}," ",$out->{dn},"\n"; __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com |
From: Graham B. <gb...@po...> - 2002-06-05 16:49:56
|
On Wed, Jun 05, 2002 at 09:04:29AM -0700, Kurt D. Zeilenga wrote: > At 08:35 AM 2002-06-05, Graham Barr wrote: > >You have said this many times before, but that is a different issue. > > Well, I might have misunderstood your intent. It sure sounded > to me that you intended to have ->bind() return dependent > both API condition and protocol result code. Yes I did > >At a high level the user should be able to > >ask "was there an error", then they should be able to probe > >to determine what the error was. > > I don't view a operation which returns a non-successful > result code as being an API error, and that's the question > I'm interested in asking. That is, any valid response the > server is successful in terms of the Application/API layer. > I prefer to deal with protocol result codes in the application, > not the API. I think you definition of error is different to my definition of "failure" I want the method to return a boolean dependant on the "sucess/failure" of the operation. That is it returns true only if the complete operation suceeded, where the error comes from does not matter. If the user cares, then they use methods to determine what error caused the failure. > If you do go with an approach which is dependent on both > API conditions and protocol result codes, I suggest you > allow the application not only to say which protocol > codes are to be treated as success/failure, but to allow > the application to have the API treat all results as > either success or all as failure. (All as success would > provide the behavior I would find useful, all as failure > would be for completeness.) Allowing the "feature" to be turned off would be trivial. But you could still what you wanted anyway by not using the "onerror" feature and not using the message object in a boolean context. I am not raming this down your throught, you will still be able to do everything. What this does do thought is make the API more friendly, IMO > >IMO, the protocol error codes already handle this with the > >LDAP_LOCAL_ERROR code. > > The problem, of course, comes when a (misbehaving) server > returns a protocol code (81-90) reserved for APIs. I've > seen many cases of this in the real world. Luckily, the > specification says that in such cases the client is to treat > such as as an unknown error condition. We cannot fix other peoples broken code. Graham. > >Its just that Net::LDAP does not provide > >any method to determine a "local" error as it does not define any. > > Good. > > Kurt > |
From: Kurt D. Z. <Ku...@Op...> - 2002-06-05 16:04:38
|
At 08:35 AM 2002-06-05, Graham Barr wrote: >You have said this many times before, but that is a different issue. Well, I might have misunderstood your intent. It sure sounded to me that you intended to have ->bind() return dependent both API condition and protocol result code. >At a high level the user should be able to >ask "was there an error", then they should be able to probe >to determine what the error was. I don't view a operation which returns a non-successful result code as being an API error, and that's the question I'm interested in asking. That is, any valid response the server is successful in terms of the Application/API layer. I prefer to deal with protocol result codes in the application, not the API. As an analogy, when I do a file read(), I expect the read() to return an error if it failed to read the bytes from the file. I don't expect read() to fail because it returned different bytes than I had expected, that's an application issue. Of course, one can make reasonable arguments for other approaches. I've said my piece and will leave it at that. If you do go with an approach which is dependent on both API conditions and protocol result codes, I suggest you allow the application not only to say which protocol codes are to be treated as success/failure, but to allow the application to have the API treat all results as either success or all as failure. (All as success would provide the behavior I would find useful, all as failure would be for completeness.) >IMO, the protocol error codes already handle this with the >LDAP_LOCAL_ERROR code. The problem, of course, comes when a (misbehaving) server returns a protocol code (81-90) reserved for APIs. I've seen many cases of this in the real world. Luckily, the specification says that in such cases the client is to treat such as as an unknown error condition. >Its just that Net::LDAP does not provide >any method to determine a "local" error as it does not define any. Good. Kurt |
From: Graham B. <gb...@po...> - 2002-06-05 15:38:21
|
You have said this many times before, but that is a different issue. At a high level the user should be able to ask "was there an error", then they should be able to probe to determine what the error was. It is at that point they can distinguish between different types of error. But there should be one place that returns an error code. Now if you want to have one code that basically states "go look somewhere else" then thats fine, but the user should not have to do multiple checks to determine if there was an error. IMO, the protocol error codes already handle this with the LDAP_LOCAL_ERROR code. Its just that Net::LDAP does not provide any method to determine a "local" error as it does not define any. Graham. On Wed, Jun 05, 2002 at 08:01:04AM -0700, Kurt D. Zeilenga wrote: > My thoughts on this is that there should be a clear > distinction between API error information and protocol > result information returned by the server. > > The call's return should indicate API success or failure. > Result codes should be handled separately. Overloading, as > done in the LDAP C API, is a bad thing. > > Kurt > > At 07:50 AM 2002-06-05, Graham Barr wrote: > >On Wed, Jun 05, 2002 at 12:16:21PM +0100, Graham Barr wrote: > >> On Wed, Jun 05, 2002 at 03:55:31AM -0700, Murugan K G wrote: > >> > Hi Chris > >> > Thanks for your immediate response. > >> > I am binding with LDAP3 only as > >> > $ldap->bind('admin',password => 'novell', version=>3) > >> > or die "Not able to bind"; > >> > >> bind, like most Net::LDAP methods, will always return true. You need to check > >> the ->code method of the object returned. > > > >Does anyone else think that this is such a common problem that we > >should try to deal with it ? > > > >We could deal with it by using overload on the message object, such > >that on a boolean context it determines if there was an error. > > > >Of course, you then have the issue of how does the library determine > >when a result is an error. > > > >Well my thought is that we could allow the user to pass a list > >of acceptable result codes. By default LDAP_SUCCESS would always > >be an acceptable result code, and compare would allow the TRUE/FALSE > >result codes. > > > >We could even make it honor the onerror argument passed to new > > > >Graham. > > > >PS: I have thought about this before and still have an old patch > >somewhere that will do this. > > > > > >_______________________________________________________________ > > > >Don't miss the 2002 Sprint PCS Application Developer's Conference > >August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm > |
From: Mark R. <mar...@ma...> - 2002-06-05 15:25:07
|
Hi, Here's my two cents worth (might not even be worth that). Are you allowing cleartext passwords on eDirectory? If not, you will only bind anonymously and will therefore not have admin's access rights to eDirectory. Regards, Mark Rogers -----Original Message----- Date: Wed, 5 Jun 2002 02:57:57 -0700 (PDT) From: Murugan K G <mur...@ya...> Subject: Access problem To: per...@li... Hi LDAP gurus I am trying to develop one perl module for "RefreshLDAPServerRequest" eDirectory extension as below. While executing this script , i am getting LDAP_INSUFFICIENT_ACCESS message code and Insufficient access message error. Here i logged in with admin rights only. After that also , i am getting the same. Any help greatly appriciated. Am i doing anything in the script?. Regards K.Murugan use Convert::ASN1; use Net::LDAP qw(:all); use Net::LDAP::Util qw(ldap_error_name ldap_error_text) ; # use for Error handling require Net::LDAP::Extension; require Net::LDAP::Message; $ldap = Net::LDAP->new("xxx.xx.xxx.xxx") or die "$@"; print $ldap->{error}; $asn = Convert::ASN1->new; $ldap->bind('username',password => 'password') or die "Not able to bind"; my $mesg = $ldap->message('Net::LDAP::Extension' => $arg); $ldap->start_tls(); $mesg->encode ( extendedReq =>{ requestName => "2.16.840.1.113719.1.27.100.9", requestValue => null } )or die "Not able to encode the extended values\n"; $response=$ldap->_sendmesg($mesg) or die "Not able to send message\n"; $mesg->sync(); if( $mesg->code ne LDAP_SUCCESS) { print "LDAP ERROR\n "; print "The response name is ". $response->{responseName}; $ldap->unbind(); } else { print "The response name is ". $response->{responseName}; print "The junk\n".$response->{response}; $ldap->unbind(); } print "Ldap extension operation result", ldap_error_name($mesg->code),"\n"; print $mesg->error; # print $mesg->mesg_id; =head $result=Net::LDAP::Extension::response_name($mesg); $result=Net::LDAP::Extension::response($mesg); print $result; $asn = Convert::ASN1->new; print $asn->decode($response->{response}->{identity}) or die "Not able to decode the message\n"; # print "The value of the response name is ".$out->{responseName}; =cut |
From: Kurt D. Z. <Ku...@Op...> - 2002-06-05 15:01:12
|
My thoughts on this is that there should be a clear distinction between API error information and protocol result information returned by the server. The call's return should indicate API success or failure. Result codes should be handled separately. Overloading, as done in the LDAP C API, is a bad thing. Kurt At 07:50 AM 2002-06-05, Graham Barr wrote: >On Wed, Jun 05, 2002 at 12:16:21PM +0100, Graham Barr wrote: >> On Wed, Jun 05, 2002 at 03:55:31AM -0700, Murugan K G wrote: >> > Hi Chris >> > Thanks for your immediate response. >> > I am binding with LDAP3 only as >> > $ldap->bind('admin',password => 'novell', version=>3) >> > or die "Not able to bind"; >> >> bind, like most Net::LDAP methods, will always return true. You need to check >> the ->code method of the object returned. > >Does anyone else think that this is such a common problem that we >should try to deal with it ? > >We could deal with it by using overload on the message object, such >that on a boolean context it determines if there was an error. > >Of course, you then have the issue of how does the library determine >when a result is an error. > >Well my thought is that we could allow the user to pass a list >of acceptable result codes. By default LDAP_SUCCESS would always >be an acceptable result code, and compare would allow the TRUE/FALSE >result codes. > >We could even make it honor the onerror argument passed to new > >Graham. > >PS: I have thought about this before and still have an old patch >somewhere that will do this. > > >_______________________________________________________________ > >Don't miss the 2002 Sprint PCS Application Developer's Conference >August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm |
From: Graham B. <gb...@po...> - 2002-06-05 14:53:24
|
On Wed, Jun 05, 2002 at 12:16:21PM +0100, Graham Barr wrote: > On Wed, Jun 05, 2002 at 03:55:31AM -0700, Murugan K G wrote: > > Hi Chris > > Thanks for your immediate response. > > I am binding with LDAP3 only as > > $ldap->bind('admin',password => 'novell', version=>3) > > or die "Not able to bind"; > > bind, like most Net::LDAP methods, will always return true. You need to check > the ->code method of the object returned. Does anyone else think that this is such a common problem that we should try to deal with it ? We could deal with it by using overload on the message object, such that on a boolean context it determines if there was an error. Of course, you then have the issue of how does the library determine when a result is an error. Well my thought is that we could allow the user to pass a list of acceptable result codes. By default LDAP_SUCCESS would always be an acceptable result code, and compare would allow the TRUE/FALSE result codes. We could even make it honor the onerror argument passed to new Graham. PS: I have thought about this before and still have an old patch somewhere that will do this. |
From: Christopher A B. <ca...@tc...> - 2002-06-05 13:53:24
|
As Murugan K G once put it so eloquently: > I am binding with LDAP3 only as > $ldap->bind('admin',password => 'novell', version=>3) > or die "Not able to bind"; As Graham mentioned, be sure to check the result code; "or die" doesn't work here. You're using a fully qualified DN for the "username" right? Because "bind" doesn't search on uid for you... %% Christopher A. Bongaarts %% ca...@tc... %% %% Internet Services %% http://umn.edu/~cab %% %% University of Minnesota %% +1 (612) 625-1809 %% |
From: Graham B. <gb...@po...> - 2002-06-05 13:31:38
|
Currently the ->sorted method sorts using the order of values returned from the server. However it would be possible to support a suffix notation like you suggest. Graham. On Sun, Jun 23, 2002 at 02:03:31PM +0200, Roger Beulen wrote: > Hello, > > maybe this already has been answered before but I couldn't find it: > > when I use the [ ATTR_LIST ] ) method, you can sort the results by the > attributes given in ATTR_LIST. > > We have a multivalued attribute CN consisting of: > Juan de Marco > Marco J, de > de Marco > > Is it possible that I want to have it sorted on the second value, Marco > J, de? > In a normal situation it would be sorted(cn) , but do I need to approach > it like an array in my case now? For example sorted(cn[1]) ? > > Any help would be welcome, > > greetings, > > Roger Beulen > > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm > |
From: Roger B. <rj...@oc...> - 2002-06-05 12:12:25
|
Hello, maybe this already has been answered before but I couldn't find it: when I use the [ ATTR_LIST ] ) method, you can sort the results by the attributes given in ATTR_LIST. We have a multivalued attribute CN consisting of: Juan de Marco Marco J, de de Marco Is it possible that I want to have it sorted on the second value, Marco J, de? In a normal situation it would be sorted(cn) , but do I need to approach it like an array in my case now? For example sorted(cn[1]) ? Any help would be welcome, greetings, Roger Beulen |
From: Graham B. <gb...@po...> - 2002-06-05 11:19:30
|
On Wed, Jun 05, 2002 at 03:55:31AM -0700, Murugan K G wrote: > Hi Chris > Thanks for your immediate response. > I am binding with LDAP3 only as > $ldap->bind('admin',password => 'novell', version=>3) > or die "Not able to bind"; bind, like most Net::LDAP methods, will always return true. You need to check the ->code method of the object returned. Graham. |
From: Chris R. <chr...@me...> - 2002-06-05 11:05:46
|
Murugan K G <mur...@ya...> wrote: > Hi Chris > Thanks for your immediate response. > I am binding with LDAP3 only as > $ldap->bind('admin',password => 'novell', version=>3) > or die "Not able to bind"; > > and also i tried without RequestValue and getting > the same result. Any more ideas? Since the Extended operation you're creating is a proprietary one from Novell, I would recommend reading Novell's documentation of it. It may be that there are some restrictions on its use that you haven't fulfilled yet! > Do you people have any sample script for extensions. The only Extended operation I can see in the Net::LDAP distribution is in Net::LDAP::start_tls(). That contains a minor buglet which was recently fixed - it used to say this: $mesg->encode( extendedRequest => { requestName => "1.3.6.1.4.1.1466.20037", } ); and it should say this: $mesg->encode( extendedReq => { requestName => "1.3.6.1.4.1.1466.20037", } ); Cheers, Chris |
From: Murugan K G <mur...@ya...> - 2002-06-05 10:55:31
|
Hi Chris Thanks for your immediate response. I am binding with LDAP3 only as $ldap->bind('admin',password => 'novell', version=>3) or die "Not able to bind"; and also i tried without RequestValue and getting the same result. Any more ideas? Do you people have any sample script for extensions. Thanks in advance. Regards K.Murugan use Convert::ASN1; use Net::LDAP qw(:all); use Net::LDAP::Util qw(ldap_error_name ldap_error_text) ; # use for Error handling require Net::LDAP::Extension; require Net::LDAP::Message; $ldap = Net::LDAP->new("164.99.150.133") or die "$@"; print $ldap->{error}; $asn = Convert::ASN1->new; $ldap->bind('admin',password => 'novell', version=>3) or die "Not able to bind"; my $mesg = $ldap->message('Net::LDAP::Extension' => $arg); $ldap->start_tls(); $mesg->encode ( extendedReq =>{ requestName => "2.16.840.1.113719.1.27.100.9" } )or die "Not able to encode the extended values\n"; $response=$ldap->_sendmesg($mesg) or die "Not able to send message\n"; $mesg->sync(); if( $mesg->code ne LDAP_SUCCESS) { print "LDAP ERROR\n "; print "The response name is ". $response->{responseName}; $ldap->unbind(); } else { print "The response name is ". $response->{responseName}; print "The junk\n".$response->{response}; $ldap->unbind(); } print "Ldap extension operation result", ldap_error_name($mesg->code),"\n"; print $mesg->error; # print $mesg->mesg_id; --- Chris Ridd <chr...@me...> wrote: > Murugan K G <mur...@ya...> wrote: > > Hi LDAP gurus > > I am trying to develop one perl module for > > "RefreshLDAPServerRequest" eDirectory extension > > as below. While executing this script , i am > getting > > LDAP_INSUFFICIENT_ACCESS message code and > > Insufficient access message error. Here i logged > in > > with admin rights only. After that also , i am > > getting the same. Any help greatly appriciated. > > > > Am i doing anything in the script?. > > > > Regards > > K.Murugan > > > > > > > > use Convert::ASN1; > > use Net::LDAP qw(:all); > > use Net::LDAP::Util qw(ldap_error_name > > ldap_error_text) ; # > use > > for Error handling > > require Net::LDAP::Extension; > > require Net::LDAP::Message; > > > > $ldap = Net::LDAP->new("xxx.xx.xxx.xxx") or die > "$@"; > > print $ldap->{error}; > > $asn = Convert::ASN1->new; > > $ldap->bind('username',password => 'password') or > die > > "Not able to bind"; > > Are you sure you're binding with LDAPv3? You won't > be able to do any > extended operations against a server using LDAPv2. > Net::LDAP's default is > LDAPv2. > > You also have this: > > > requestValue => null > > I'm not sure what you intended here. Do you need an > ASN.1 NULL value to get > encoded at this point? The requestValue is defined > as OPTIONAL in the ASN.1 > so if you don't need one, simply don't set > requestValue in the encode(). > > Cheers, > > Chris > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application > Developer's Conference > August 25-28 in Las Vegas -- > http://devcon.sprintpcs.com/adp/index.cfm > __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com |
From: Chris R. <chr...@me...> - 2002-06-05 10:21:33
|
Murugan K G <mur...@ya...> wrote: > Hi LDAP gurus > I am trying to develop one perl module for > "RefreshLDAPServerRequest" eDirectory extension > as below. While executing this script , i am getting > LDAP_INSUFFICIENT_ACCESS message code and > Insufficient access message error. Here i logged in > with admin rights only. After that also , i am > getting the same. Any help greatly appriciated. > > Am i doing anything in the script?. > > Regards > K.Murugan > > > > use Convert::ASN1; > use Net::LDAP qw(:all); > use Net::LDAP::Util qw(ldap_error_name > ldap_error_text) ; # use > for Error handling > require Net::LDAP::Extension; > require Net::LDAP::Message; > > $ldap = Net::LDAP->new("xxx.xx.xxx.xxx") or die "$@"; > print $ldap->{error}; > $asn = Convert::ASN1->new; > $ldap->bind('username',password => 'password') or die > "Not able to bind"; Are you sure you're binding with LDAPv3? You won't be able to do any extended operations against a server using LDAPv2. Net::LDAP's default is LDAPv2. You also have this: > requestValue => null I'm not sure what you intended here. Do you need an ASN.1 NULL value to get encoded at this point? The requestValue is defined as OPTIONAL in the ASN.1 so if you don't need one, simply don't set requestValue in the encode(). Cheers, Chris |
From: Murugan K G <mur...@ya...> - 2002-06-05 09:57:59
|
Hi LDAP gurus I am trying to develop one perl module for "RefreshLDAPServerRequest" eDirectory extension as below. While executing this script , i am getting LDAP_INSUFFICIENT_ACCESS message code and Insufficient access message error. Here i logged in with admin rights only. After that also , i am getting the same. Any help greatly appriciated. Am i doing anything in the script?. Regards K.Murugan use Convert::ASN1; use Net::LDAP qw(:all); use Net::LDAP::Util qw(ldap_error_name ldap_error_text) ; # use for Error handling require Net::LDAP::Extension; require Net::LDAP::Message; $ldap = Net::LDAP->new("xxx.xx.xxx.xxx") or die "$@"; print $ldap->{error}; $asn = Convert::ASN1->new; $ldap->bind('username',password => 'password') or die "Not able to bind"; my $mesg = $ldap->message('Net::LDAP::Extension' => $arg); $ldap->start_tls(); $mesg->encode ( extendedReq =>{ requestName => "2.16.840.1.113719.1.27.100.9", requestValue => null } )or die "Not able to encode the extended values\n"; $response=$ldap->_sendmesg($mesg) or die "Not able to send message\n"; $mesg->sync(); if( $mesg->code ne LDAP_SUCCESS) { print "LDAP ERROR\n "; print "The response name is ". $response->{responseName}; $ldap->unbind(); } else { print "The response name is ". $response->{responseName}; print "The junk\n".$response->{response}; $ldap->unbind(); } print "Ldap extension operation result", ldap_error_name($mesg->code),"\n"; print $mesg->error; # print $mesg->mesg_id; =head $result=Net::LDAP::Extension::response_name($mesg); $result=Net::LDAP::Extension::response($mesg); print $result; $asn = Convert::ASN1->new; print $asn->decode($response->{response}->{identity}) or die "Not able to decode the message\n"; # print "The value of the response name is ".$out->{responseName}; =cut __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com |
From: Chris R. <chr...@me...> - 2002-06-05 08:00:58
|
On 4/6/02 11:08 pm, ma...@mj... <ma...@mj...> wrote: > It looks like the attribute is binary: >=20 > changes:: >>=20 > b2JqZWN0Y2xhc3M6dG9wCm9iamVjdGNsYXNzOm9yY2xOZXRBZ > GRyZXNzCmNuOkFERFJF >>=20 >=20 > Note the double ":", which in LDIF normally connotates that the > value is binary.=20 >=20 > Try doing a base64 decode on the value and see what you get. >=20 > Mark This looks like the same problem someone else (Czachary) at Wiley was getting! The LDIF writer will encode any values for output in base64 if the= y contain unsafe characters which would confuse LDIF readers. Things like carriage-returns, and so on. If you decode the value it looks like it contains bits of an entry. It coul= d be random junk that the server's returning, or it could be that Net::LDAP's putting some junk data in there... DB<1> x $bin 0 =20 "objectclass:top\cJobjectclass:orclNetAddressList\cJcn:ADDRESS_LIST_0\cJorc= l version:v0.0\cJorclnetaddrlist:000:cn=3DADT?T?=97cB???e?]\c\?cX\\?Y\cN?????e?]\= e \e?\cX?[\cX[???\cS????cY?Y\cN?\cC#c??\cCscS3c\cC33C3?cC\cCS?\cSc?s#C?P?7&V\= c WF?\cV??6?&6?cVF????W'6?V??6?&6?cVF??&V\cWFWF??7F\cV?cC=A3#\cC\cC#\cCS#?\cSsS= \ cS\cS\cG=A0??F?g?F??7F\cV?cC=A3#\cC\cC#\cCS#?\cSsS\cS\cS\cG=A0=A0" Can you turn up logging in Net::LDAP (create the Net::LDAP object with the debug parameter set to 3), repeat the exact query and send us the hex output? Cheers, Chris |
From: <ma...@mj...> - 2002-06-04 22:07:41
|
It looks like the attribute is binary: changes:: > b2JqZWN0Y2xhc3M6dG9wCm9iamVjdGNsYXNzOm9yY2xOZXRBZ GRyZXNzCmNuOkFERFJF > Note the double ":", which in LDIF normally connotates that the value is binary. Try doing a base64 decode on the value and see what you get. Mark On 4 Jun 02, at 10:42, SS...@wi... wrote: > > > ----- Forwarded by Sue Su/IT/NewYork605/Wiley on 06/04/2002 10:44 AM > ----- > > Sue Su > To: Graham Barr > <gb...@po...> > 06/03/2002 cc: > 11:39 AM Subject: Re: > Net::LDAP(Document link: Sue Su) > > > > > > Thanks for get back to me. > Here is what I should see. > --------------------------------------------------------- > Changenumber=257, cn=changelog > targetdn=cn=ADDRESS_0, cn=ADDRESS_LIST_0, cn=DESCRIPTION_0, > cn=WMDDB_edcc,cn=OracleContext > changetype=Add > changes=objectclass:top > objectclass:orclNetAddress > cn:ADDRESS_0 > orclversion:v0.0 > orclnetprotocol:TCP > orclnetaddressstring:(ADDRESS=(PROTOCOL=TCP)(HOST=jws-edcc)(PORT=1530) > ) orclnetshared:NO orclguid:0026880765360335211405916872495 > creatorsname:cn=orcladmin modifiersname:cn=orcladmin > createtimestamp:20020529175111z modifytimestamp:20020529175111z > > But I got: > ----------------------------------------------------------- > dn: Changenumber=257, cn=changelog > targetdn: cn=ADDRESS_0, cn=ADDRESS_LIST_0, cn=DESCRIPTION_0, > cn=WMDDB_edcc,cn= > OracleContext > changetype: Add > changes:: > b2JqZWN0Y2xhc3M6dG9wCm9iamVjdGNsYXNzOm9yY2xOZXRBZGRyZXNzCmNuOkFERFJF > > U1NfMApvcmNsdmVyc2lvbjp2MC4wCm9yY2xuZXRwcm90b2NvbDpUQ1AKb3JjbG5ldGFkZH > Jlc3Nzd > > HJpbmc6KEFERFJFU1M9KFBST1RPQ09MPVRDUCkoSE9TVD1qd3MtZWRjYykoUE9SVD0xNTM > wKS3 > JjbG5ldHNoYXJlZDpOTwpvcmNsZ3VpZDowMDI2ODgwNzY1MzYwMzM1MjExNDA1OTE2ODcy > NDk1CmyZWF0b3JzbmFtZTpjbj1vcmNsYWRtaW4KbW9kaWZpZXJzbmFtZTpjbj1vcmNsYWR > taW4KY3JlYXRldGltZXN0YW1wOjIwMDIwNTI5MTc1MTExegptb2RpZnl0aW1lc3RhbXA6M > jAwMjA1MjkxNzUxMTF6CgA > > > > > > > > > Graham Barr > <gbarr@pobox.c To: SS...@wi... > om> cc: > per...@li... > Subject: Re: Net::LDAP > > 06/03/2002 11:26 > AM > > > > > > > On Mon, Jun 03, 2002 at 10:10:11AM -0400, SS...@wi... wrote: > > Hi, > > I am using Net::LDAP connection to do ldapsearching, but I got > > unexpected out put (please see high lighted portion). Please help. > > What is unexpected about the output ? What do you expect to see ? > > Graham. > > > Attached are the script and searching output. > > > > ---------------------------------------------------- > > #!/opt/perl/bin/perl > > > > use Net::LDAP qw(:all); > > use Net::LDAP::Util qw(ldap_error_desc); > > use Net::LDAP::LDIF; > > > > $ldap = Net::LDAP->new('jws-portald', port => '390') || die > "ERROR: > > $@"; > > $ldif = Net::LDAP::LDIF->new( 'changelogentries.ldif.test', > > "w" > ); > > $bind = $ldap->bind( > > dn => 'cn=ExternalExportAgent,cn=Subscriber > > Profile,cn=ChangeLog Subscriber,cn=Oracle Internet Directory', > > password => 'welcome') || die "Can not > > bind"; > > > > #### Searching for change entries in the change log container which > > #### are > > greate than LACN #### > > $mesg = $ldap->search( > > base => "cn=changeLog", > > scope => "one", > > filter => " > > (&(objectclass=changeLogEntry)(changeNumber>=256))", > > attrs => [qw(targetdn changetype changes)] > > ); > > > > foreach $entry ($mesg->entries) { > > $ldif->write_entry($entry); > > } > > > > ----------------------------------------------------------------- > > > > dn: Changenumber=256, cn=changelog > > targetdn: cn=ADDRESS_LIST_0, cn=DESCRIPTION_0, > > cn=WMDDB_edcc,cn=OracleContext > > changetype: Add > > changes:: > > b2JqZWN0Y2xhc3M6dG9wCm9iamVjdGNsYXNzOm9yY2xOZXRBZGRyZXNzTGlzdApjbjpB > > > RERSRVNTX0xJU1RfMApvcmNsdmVyc2lvbjp2MC4wCm9yY2xuZXRhZGRybGlzdDowMDA6Y2 > 49QURU > > > > kVTU18wCm9yY2xuZXRzaGFyZWQ6Tk8Kb3JjbG5ldGxvYWRiYWxhbmNlOiBOTwpvcmNsZ3V > pZDowD > > > > I2ODgwNzY1MzYwMzM0Mzk2NDA1ODE2ODcyNDk1CmNyZWF0b3JzbmFtZTpjbj1vcmNsYWRt > aW4KbW9kaWZpZXJzbmFtZTpjbj1vcmNsYWRtaW4KY3JlYXRldGltZXN0YW1wOjIwMDIwNT > I5MTc1MTEwegptb2RpZnl0aW1lc3RhbXA6MjAwMjA1MjkxNzUxMTB6CgA > > > > > > > > > dn: Changenumber=257, cn=changelog > > targetdn: cn=ADDRESS_0, cn=ADDRESS_LIST_0, cn=DESCRIPTION_0, > > cn=WMDDB_edcc,cn= > > OracleContext > > changetype: Add > > changes:: > > b2JqZWN0Y2xhc3M6dG9wCm9iamVjdGNsYXNzOm9yY2xOZXRBZGRyZXNzCmNuOkFERFJF > > > > > U1NfMApvcmNsdmVyc2lvbjp2MC4wCm9yY2xuZXRwcm90b2NvbDpUQ1AKb3JjbG5ldGFkZH > Jlc3Nzd > > > > > > HJpbmc6KEFERFJFU1M9KFBST1RPQ09MPVRDUCkoSE9TVD1qd3MtZWRjYykoUE9SVD0xNTM > wKS3 > > JjbG5ldHNoYXJlZDpOTwpvcmNsZ3VpZDowMDI2ODgwNzY1MzYwMzM1MjExNDA1OTE2ODcy > NDk1CmyZWF0b3JzbmFtZTpjbj1vcmNsYWRtaW4KbW9kaWZpZXJzbmFtZTpjbj1vcmNsYWR > taW4KY3JlYXRldGltZXN0YW1wOjIwMDIwNTI5MTc1MTExegptb2RpZnl0aW1lc3RhbXA6M > jAwMjA1MjkxNzUxMTF6CgA > > > > > > > > > ------------------------------------------------------------ > > > > > > > > _______________________________________________________________ > > > > Don't miss the 2002 Sprint PCS Application Developer's Conference > > August 25-28 in Las Vegas -- > > http://devcon.sprintpcs.com/adp/index.cfm > > > > > > > > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm > > > Mark Wilcox ma...@mj... Got LDAP? |
From: <SS...@wi...> - 2002-06-04 15:59:28
|
----- Forwarded by Sue Su/IT/NewYork605/Wiley on 06/04/2002 10:44 AM ----- Sue Su To: Graham Barr <gb...@po...> 06/03/2002 cc: 11:39 AM Subject: Re: Net::LDAP(Document link: Sue Su) Thanks for get back to me. Here is what I should see. --------------------------------------------------------- Changenumber=257, cn=changelog targetdn=cn=ADDRESS_0, cn=ADDRESS_LIST_0, cn=DESCRIPTION_0, cn=WMDDB_edcc,cn=OracleContext changetype=Add changes=objectclass:top objectclass:orclNetAddress cn:ADDRESS_0 orclversion:v0.0 orclnetprotocol:TCP orclnetaddressstring:(ADDRESS=(PROTOCOL=TCP)(HOST=jws-edcc)(PORT=1530)) orclnetshared:NO orclguid:0026880765360335211405916872495 creatorsname:cn=orcladmin modifiersname:cn=orcladmin createtimestamp:20020529175111z modifytimestamp:20020529175111z But I got: ----------------------------------------------------------- dn: Changenumber=257, cn=changelog targetdn: cn=ADDRESS_0, cn=ADDRESS_LIST_0, cn=DESCRIPTION_0, cn=WMDDB_edcc,cn= OracleContext changetype: Add changes:: b2JqZWN0Y2xhc3M6dG9wCm9iamVjdGNsYXNzOm9yY2xOZXRBZGRyZXNzCmNuOkFERFJF U1NfMApvcmNsdmVyc2lvbjp2MC4wCm9yY2xuZXRwcm90b2NvbDpUQ1AKb3JjbG5ldGFkZHJlc3Nzd HJpbmc6KEFERFJFU1M9KFBST1RPQ09MPVRDUCkoSE9TVD1qd3MtZWRjYykoUE9SVD0xNTMwKS3 JjbG5ldHNoYXJlZDpOTwpvcmNsZ3VpZDowMDI2ODgwNzY1MzYwMzM1MjExNDA1OTE2ODcyNDk1CmyZWF0b3JzbmFtZTpjbj1vcmNsYWRtaW4KbW9kaWZpZXJzbmFtZTpjbj1vcmNsYWRtaW4KY3JlYXRldGltZXN0YW1wOjIwMDIwNTI5MTc1MTExegptb2RpZnl0aW1lc3RhbXA6MjAwMjA1MjkxNzUxMTF6CgA Graham Barr <gbarr@pobox.c To: SS...@wi... om> cc: per...@li... Subject: Re: Net::LDAP 06/03/2002 11:26 AM On Mon, Jun 03, 2002 at 10:10:11AM -0400, SS...@wi... wrote: > Hi, > I am using Net::LDAP connection to do ldapsearching, but I got unexpected > out put (please see high lighted portion). > Please help. What is unexpected about the output ? What do you expect to see ? Graham. > Attached are the script and searching output. > > ---------------------------------------------------- > #!/opt/perl/bin/perl > > use Net::LDAP qw(:all); > use Net::LDAP::Util qw(ldap_error_desc); > use Net::LDAP::LDIF; > > $ldap = Net::LDAP->new('jws-portald', port => '390') || die "ERROR: > $@"; > $ldif = Net::LDAP::LDIF->new( 'changelogentries.ldif.test', "w" ); > $bind = $ldap->bind( > dn => 'cn=ExternalExportAgent,cn=Subscriber > Profile,cn=ChangeLog Subscriber,cn=Oracle Internet Directory', > password => 'welcome') || die "Can not bind"; > > #### Searching for change entries in the change log container which are > greate than LACN #### > $mesg = $ldap->search( > base => "cn=changeLog", > scope => "one", > filter => " > (&(objectclass=changeLogEntry)(changeNumber>=256))", > attrs => [qw(targetdn changetype changes)] > ); > > foreach $entry ($mesg->entries) { > $ldif->write_entry($entry); > } > > ----------------------------------------------------------------- > > dn: Changenumber=256, cn=changelog > targetdn: cn=ADDRESS_LIST_0, cn=DESCRIPTION_0, > cn=WMDDB_edcc,cn=OracleContext > changetype: Add > changes:: > b2JqZWN0Y2xhc3M6dG9wCm9iamVjdGNsYXNzOm9yY2xOZXRBZGRyZXNzTGlzdApjbjpB > RERSRVNTX0xJU1RfMApvcmNsdmVyc2lvbjp2MC4wCm9yY2xuZXRhZGRybGlzdDowMDA6Y249QURU > kVTU18wCm9yY2xuZXRzaGFyZWQ6Tk8Kb3JjbG5ldGxvYWRiYWxhbmNlOiBOTwpvcmNsZ3VpZDowD > I2ODgwNzY1MzYwMzM0Mzk2NDA1ODE2ODcyNDk1CmNyZWF0b3JzbmFtZTpjbj1vcmNsYWRtaW4KbW9kaWZpZXJzbmFtZTpjbj1vcmNsYWRtaW4KY3JlYXRldGltZXN0YW1wOjIwMDIwNTI5MTc1MTEwegptb2RpZnl0aW1lc3RhbXA6MjAwMjA1MjkxNzUxMTB6CgA > > > > dn: Changenumber=257, cn=changelog > targetdn: cn=ADDRESS_0, cn=ADDRESS_LIST_0, cn=DESCRIPTION_0, > cn=WMDDB_edcc,cn= > OracleContext > changetype: Add > changes:: > b2JqZWN0Y2xhc3M6dG9wCm9iamVjdGNsYXNzOm9yY2xOZXRBZGRyZXNzCmNuOkFERFJF > > U1NfMApvcmNsdmVyc2lvbjp2MC4wCm9yY2xuZXRwcm90b2NvbDpUQ1AKb3JjbG5ldGFkZHJlc3Nzd > > HJpbmc6KEFERFJFU1M9KFBST1RPQ09MPVRDUCkoSE9TVD1qd3MtZWRjYykoUE9SVD0xNTMwKS3 > JjbG5ldHNoYXJlZDpOTwpvcmNsZ3VpZDowMDI2ODgwNzY1MzYwMzM1MjExNDA1OTE2ODcyNDk1CmyZWF0b3JzbmFtZTpjbj1vcmNsYWRtaW4KbW9kaWZpZXJzbmFtZTpjbj1vcmNsYWRtaW4KY3JlYXRldGltZXN0YW1wOjIwMDIwNTI5MTc1MTExegptb2RpZnl0aW1lc3RhbXA6MjAwMjA1MjkxNzUxMTF6CgA > > > > ------------------------------------------------------------ > > > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm > |
From: BrainCoders.com <mai...@br...> - 2002-06-04 13:12:26
|
<html> <head> <title>BrainCoders.com - Low Cost Software Development</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="description" content= "BrainCoders.com is a software company dedicated to designing and developing the highest-quality software to provide our clients with workable, maintainable and leading-edge solutions. We are specializing in IT services and software outsourcing."> <meta name="keywords" content= "BrainCoders, BrainCoders.com, outsourcing, software development, software, development, programmer, developer, programmers, developers, design, 3D, graphics, digital, video, computer, editing, webdesign, animation, special effects, tools, media"> <script type="text/javascript" language="JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) { if ((appName == "Netscape") && (parseInt(appVersion) == 4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; } } else if (innerWidth != document.MM_pgW || innerHeight != document.MM_pgH) location.reload(); } MM_reloadPage(true); // --> </script> <style type="text/css"> .link { font-family: Verdana; font-size: 8pt; font-weight: normal; } BODY { scrollbar-darkshadow-color: #1F2406; scrollbar-track-color: #6B762D; scrollbar-face-color: #CFD89E; scrollbar-arrow-color: #FFFFFF; scrollbar-highlight-color: black; scrollbar-3dlight-color: #1F2406; font-family: Verdana; font-size: 8pt; } TD, TH { font-family: Verdana; font-size: 8pt; } BLOCKQUOTE { font-family: Verdana; font-size: 9pt; } .menutext { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 7pt; font-weight: normal; color: #525200; text-decoration: none } .tabletxt { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; font-weight: normal; color: #525200; text-decoration: none } .bottomtxt { font-family: Arial, Helvetica, sans-serif; font-size: 9px; font-weight: normal; color: #525200; text-decoration: none } </style> </head> <body background="http://www.braincoders.com/background.gif" text= "#000000" topmargin="1" leftmargin="1" marginwidth="0" marginheight="0" onload="MM_reloadPage(true);"> <table width="600" border="0" cellspacing="0" cellpadding="0" height="89" background="http://www.braincoders.com/background.gif"> <tr> <td width="39" height="90"></td> <td width="760" height="90"> <div align="right"><img src= "http://www.braincoders.com/toplogo.jpg" width="550" height="64" border="0"></div> </td> </tr> </table> <table width="601" border="0" cellspacing="0" cellpadding="0" height="30" align="left" bgcolor="#CFD89E"> <tr> <td nowrap width="22"> </td> <td nowrap> <div align="right">| <a href= "http://www.braincoders.com/about.html" class="menutext" onmouseover="this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">About Us</a> | <a href= "http://www.braincoders.com/srv.html" class="menutext" onmouseover= "this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">Services</a> | <a href= "http://www.braincoders.com/staff.html" class="menutext" onmouseover="this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">Staff</a> | <a href= "http://www.braincoders.com/workflow.html" class="menutext" onmouseover="this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">Workflow</a> | <a href= "http://www.braincoders.com/contact.html" class="menutext" onmouseover="this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">Contact Us</a> | <a href= "http://www.braincoders.com/outadv.html" class="menutext" onmouseover="this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">Outsourcing Advantages</a> | <a href="http://www.braincoders.com/faq.html" class="menutext" onmouseover="this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">FAQ</a> |</div> </td> </tr> </table> <p> </p> <div style= "position:absolute; width:560; z-index:1; left: 57px; top: 154px; visibility: visible"> <table width="545" border="1" cellspacing="0" cellpadding="1"> <tr> <td> <table width="500" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td bordercolor="#CCCC99" valign="top" align="left" height="500"> <blockquote> <p><br> </p> </blockquote> <p><br> <font class="tabletxt"><b>Dear Internet User,</b></font></p> <p><font class="tabletxt"><b>The eBusiness</b> is changing the <b>software applications</b> and services landscape in a way that has not been seen earlier. Companies worldwide are waking up to the fact that the difference between just having an <b>Online Presence</b> and using the web as a <b>strategic medium</b> can mean all the difference to success.</font></p> <p><font class="tabletxt">What this also means is that you need <b>technology providers</b> who understand the business implications of technology and can make sure that the solutions work with your exisiting business processes as also enable you to integrate new processes without massive investments in changing the whole <b>Application Architecture</b>.</font></p> <p><font class="tabletxt"><b>BrainCoders.com</b> is a software company dedicated to designing and developing the <b>highest-quality</b> software to provide our clients with workable, maintainable and leading-edge solutions. We are specializing in IT services and <b>software outsourcing</b>.</font></p> <ul> <li><font class="tabletxt"><b>Our prices are one of the lowest on the market. We charge our customers from $8 to $15 per working hour depending on the length and complexity of the project.</b></font></li> <li><font class="tabletxt"><b>Our leading principle is to consistently deliver on time and on budget.</b></font></li> <li><font class="tabletxt"><b>Our most value asset is our team of most committed and capable people.</b></font></li> </ul> <p><font class="tabletxt">This dedication to high degrees of professionalism translates to innovative and <b>cost effective</b> solutions. The bottom line is that we help our clients gain competitive advantage and maintain their <b>leading positions</b> in their respective industries.</font></p> <p><font class="tabletxt"><b>BrainCoders.com</b>' software development services may be of special interest to the following groups of potential customers:</font></p> <ul> <li><font class="tabletxt"><b>Software houses that wish to reduce their development costs by means of outsourcing.</b></font></li> <li><font class="tabletxt"><b>Companies not directly involved in software development, but which have or need their proprietary software business applications and wish to delegate the development, upgrades and support of these applications to a software company.</b></font></li> </ul> <br> <p><font class="tabletxt">I am looking forward to hearing from you.</font></p> <br> <p><font class="tabletxt"><b>Best Regards,</b></font></p> <p><font class="tabletxt">Vesselin Sladkov<br> BrainCoders.com<br> E-mail: <a href= "mailto:sl...@br...">sl...@br...</a></font></p> <br> </td> </tr> </table> </td> </tr> <tr> <td bordercolor="#CCCC99" valign="top" align="left" height="21"> </td> </tr> <tr> <td bordercolor="#CCCC99" valign="top" align="center"><font class= "bottomtxt">This mailing is done only to people who have requested info from one of our sites, or downloaded our Software. If you have recieved this email in error and you wish to be removed from future mailings, please reply with the subject "<b>Remove</b>" and our software will automatically block you from their future mailings.<br> <br> </font> </td> </tr> </table> </div> </body> </html> |
From: Jim H. <ha...@us...> - 2002-06-04 12:50:29
|
Please be more precise on what you want to do. There is a huge variety of things that can be done with eDirectory and other lDAP servers with Net::LDAP. --Jim Harle Murugan K wrote: > Hi > I am very new to LDAP development. > I want to write some perl modules for eDirectory extensions. > Can you direct me to suitable documentation on web to proceed > further related extended operations. > > Thanks in advance. > Regards > K.Murugan > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm |
From: Markus W. <mw...@fa...> - 2002-06-04 07:37:24
|
i think my ResourcePool package can help you... the idea behind ResourcePool is a little bit different from what are you asking for. i think your real problem is not to implement a timeout (since, as you have pointed out, the node where the tcp connection is unkown would reply with an RST packet when it can't find this connection in the state table (the timeout would only be a problem if there would be no RST, which could happen if you have a firewall between your client and server)). i think the underlying layer (in that case Net::LDAP and all the libraries it uses) should immediately detect the broken connection and report a failure to the client code. then its up to the client code re-establish a connection and work on...and here, the ResourcePool can do a lot of work for you... if you are using ResourcePool you would not open any ldap connections directly, but just ask the ResourcePool to give you one. the ResourcePool will then ensure that there is a valid connection available (checks for staleness using bind()) and reopens a new connection if there is no valid connection available. There might be some performance issues in your configuration when using the ResourcePool but there are some ways around. however if you decide to go for it, i can give you some hints to avoid this issues. This package includes also a LoadBalancer module which is capable of doing a basic software loadbalancing across more servers and does a failover if one server breaks down. this package is available on CPAN and on my homepage http://www.fatalmind.com/projects/ResourcePool/ please note that there was a new release uploaded to CPAN just a few minutes ago (0.9904) which might not has reached your mirror jet... enjoy :) - - - - - - - - - - - - - Markus Winand e-mail: mw...@fa... web: www.fatalmind.com On Mon, 3 Jun 2002, Mike Richichi wrote: > I'm using perl-ldap for an Apache rewrite handler to provide mappings to > Novell NetWare home directories that are mounted as shares on our Linux > box. This means I'm binding once when Apache is started and the script > runs continually, with Apache passing things to the script to rewrite. > > We're transitioning to Novell Cluster Services, and it's easy to point > 'ldap' to the cluster IP address, which will always be available on a > cluster node. However, if the IP address moves, my script will no > longer work, as the LDAP connection no longer isn't known on the new > server (the TCP connection tables do not move over when the cluster > fails over). > > Thus I need to have a mechanism for timing out a bad connection and > rebinding in the event of a server failure. > > This would also be useful in general for sites doing round-robin DNS of > their ldap hostname, and resiliency in general. > > I feel that binding asynchronously and polling for results is the way to > go, but I've not seen an example of how to poll asynchronously in > perl-ldap. Has anyone done it? Alternately, can anyone suggest a > better way to detect a stale connection and attempt to rebind? > > Thanks for your help. > > --Mike > > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm > |
From: Murugan K <kmu...@no...> - 2002-06-04 06:57:25
|
Hi I am very new to LDAP development. I want to write some perl modules for eDirectory extensions. Can you direct me to suitable documentation on web to proceed further related extended operations. Thanks in advance. Regards K.Murugan |
From: Murugan K <kmu...@no...> - 2002-06-04 06:51:33
|
Hi I am very new to LDAP development. I want to write some perl modules for eDirectory extensions. Can you direct me to suitable documentation on web to proceed further related extended operations. Thanks in advance. Regards K.Murugan |