From: Graham B. <gb...@po...> - 2000-07-18 18:02:16
|
----- Forwarded message from Kaouass Rachid <rka...@br...> ----- Date: Mon, 17 Jul 2000 10:50:15 +0200 From: Kaouass Rachid <rka...@br...> X-Mailer: Mozilla 4.51 [en] (X11; I; FreeBSD 3.2-RELEASE i386) To: gb...@po... Subject: Net::LDAP Hi, I am an new developper in LDAP, but I don't understand one thing : Why does the search method look in all the tree, instead of I give her a branche where to look ? sorry my english is not perfect :) But I don't understand the fact Ldap look in all the tree for something ? Tanks :) -- Rachid Kaouass Yep! ----- End forwarded message ----- |
From: Graham B. <gb...@po...> - 2002-03-11 13:14:57
|
----- Forwarded message from Michael Donnelly <don...@ld...> ----- Date: Sat, 09 Mar 2002 08:42:16 -0800 To: gb...@po... From: Michael Donnelly <don...@ld...> Subject: Net::LDAP Thanks for writing Net::LDAP. I've really enjoyed programming with your modules. Reading the man pages, I don't see any way to perform a connection to a local domain socket, i.e. ldapi:/// Do you plan to include support for this in the future? ----- End forwarded message ----- |
From: Chris R. <chr...@me...> - 2002-03-11 13:44:25
|
Graham Barr <gb...@po...> wrote: > ----- Forwarded message from Michael Donnelly <don...@ld...> ----- > > Date: Sat, 09 Mar 2002 08:42:16 -0800 > To: gb...@po... > From: Michael Donnelly <don...@ld...> > Subject: Net::LDAP > > Thanks for writing Net::LDAP. I've really enjoyed programming with your > modules. > > Reading the man pages, I don't see any way to perform a connection to a > local domain socket, i.e. ldapi:/// Isn't that some OpenLDAP-specific thing? Is it described by any RFCs? > Do you plan to include support for this in the future? It wouldn't be too hard as the connection code is abstracted out. Look at the LDAPS.pm module for an example. Cheers, Chris |
From: Graham B. <gb...@po...> - 2002-05-28 19:07:33
|
----- Forwarded message from CZa...@wi... ----- Date: Tue, 28 May 2002 15:06:02 -0400 To: gb...@po... From: CZa...@wi... Subject: Net::LDAP Hello, I am trying to get the values for the change attibute, but I get is a lot of letters that are meaning less. The portion of the code where the search takes place is highlighted. and the result which is written to a ldif file is below. This search works from the commad line using the ldapseach command. Here is the output: .... Please help! dn: Changenumber=221, cn=changelog targetdn: cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog Subscriber ,cn=Oracle Internet Directory changetype: Modify changes:: UmVwbGFjZTpvcmNsbGFzdGFwcGxpZWRjaGFuZ2VudW1iZXJeMTJeMjAwMjA1MjMxNzIw MjZ6Xmp3cy1wb3J0YWxkCm9yY2xsYXN0YXBwbGllZGNoYW5nZW51bWJlcjoyMjAKAA== ----- Forwarded by Carlton Zachary/IT/NewYork605/Wiley on 05/28/2002 02:56 PM ----- Sue Su To: Carlton Zachary/IT/NewYork605/Wiley@Wiley 05/28/2002 cc: 02:41 PM Subject: Net::LDAP ----------------------------------------------------- #!/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-server.com', port => '390') || die "ERROR: $@"; $ldif = Net::LDAP::LDIF->new( 'changelogentries.ldif', "w" ); $bind = $ldap->bind('cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog Subscriber,cn=Oracle Internet Directory', pas sword=> 'welcome') || die "Can not bind"; #### Searching for last applied change number in the directory #### $mesg = $ldap->search( base => "cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog Subscriber,cn=Oracle Internet Directory", scope => "base", filter => "(objectclass=*)" ); foreach $entry ($mesg->entries) { $LACN = $entry->get_value ('orcllastappliedchangenumber'); print "LACN is $LACN\n"; $CN = $LACN + 1; print "CN is $CN\n"; } #### Searching for change entries in the change log container which are greate than LACN #### ####(This searching is having problem)#### $mesg = $ldap->search( base => "cn=changeLog", scope => "one", filter => " (&(objectclass=changeLogEntry)(changeNumber>=$CN))", attrs => [qw(targetdn changetype changes)] ); foreach $entry ($mesg->entries) { $ldif->write_entry( $entry ); } #### Searching for last change number in the directory #### $mesg = $ldap->search( base => "", scope => "base", filter => "(objectclass=*)", attrs => ["lastchangenumber"] ); foreach $entry ($mesg->entries) { $LCN = $entry->get_value ('lastchangenumber'); print "LCN is $LCN\n"; } #### Modifying the last applied change number with last change number #### $r = $ldap->modify( "cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog Subscriber,cn=Oracle Internet Directory", replace => {orclLastAppliedChangeNumber => $LCN} ); ---------------------------------------------------- dn: Changenumber=221, cn=changelog targetdn: cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog Subscriber ,cn=Oracle Internet Directory changetype: Modify changes:: UmVwbGFjZTpvcmNsbGFzdGFwcGxpZWRjaGFuZ2VudW1iZXJeMTJeMjAwMjA1MjMxNzIw MjZ6Xmp3cy1wb3J0YWxkCm9yY2xsYXN0YXBwbGllZGNoYW5nZW51bWJlcjoyMjAKAA== ----- End forwarded message ----- |
From: <CZa...@wi...> - 2002-05-28 19:09:19
|
Hello, I am trying to get the values for the change attibute, but I get is a lot of letters that are meaning less. The portion of the code where the search takes place is highlighted. and the result which is written to a ldif file is below. This search works from the commad line using the ldapseach command. Here is the output: .... Please help! dn: Changenumber=221, cn=changelog targetdn: cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog Subscriber ,cn=Oracle Internet Directory changetype: Modify changes:: UmVwbGFjZTpvcmNsbGFzdGFwcGxpZWRjaGFuZ2VudW1iZXJeMTJeMjAwMjA1MjMxNzIw MjZ6Xmp3cy1wb3J0YWxkCm9yY2xsYXN0YXBwbGllZGNoYW5nZW51bWJlcjoyMjAKAA== ----- Forwarded by Carlton Zachary/IT/NewYork605/Wiley on 05/28/2002 02:56 PM ----- Sue Su To: Carlton Zachary/IT/NewYork605/Wiley@Wiley 05/28/2002 cc: 02:41 PM Subject: Net::LDAP ----------------------------------------------------- #!/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-server.com', port => '390') || die "ERROR: $@"; $ldif = Net::LDAP::LDIF->new( 'changelogentries.ldif', "w" ); $bind = $ldap->bind('cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog Subscriber,cn=Oracle Internet Directory', pas sword=> 'welcome') || die "Can not bind"; #### Searching for last applied change number in the directory #### $mesg = $ldap->search( base => "cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog Subscriber,cn=Oracle Internet Directory", scope => "base", filter => "(objectclass=*)" ); foreach $entry ($mesg->entries) { $LACN = $entry->get_value ('orcllastappliedchangenumber'); print "LACN is $LACN\n"; $CN = $LACN + 1; print "CN is $CN\n"; } #### Searching for change entries in the change log container which are greate than LACN #### ####(This searching is having problem)#### $mesg = $ldap->search( base => "cn=changeLog", scope => "one", filter => " (&(objectclass=changeLogEntry)(changeNumber>=$CN))", attrs => [qw(targetdn changetype changes)] ); foreach $entry ($mesg->entries) { $ldif->write_entry( $entry ); } #### Searching for last change number in the directory #### $mesg = $ldap->search( base => "", scope => "base", filter => "(objectclass=*)", attrs => ["lastchangenumber"] ); foreach $entry ($mesg->entries) { $LCN = $entry->get_value ('lastchangenumber'); print "LCN is $LCN\n"; } #### Modifying the last applied change number with last change number #### $r = $ldap->modify( "cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog Subscriber,cn=Oracle Internet Directory", replace => {orclLastAppliedChangeNumber => $LCN} ); ---------------------------------------------------- dn: Changenumber=221, cn=changelog targetdn: cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog Subscriber ,cn=Oracle Internet Directory changetype: Modify changes:: UmVwbGFjZTpvcmNsbGFzdGFwcGxpZWRjaGFuZ2VudW1iZXJeMTJeMjAwMjA1MjMxNzIw MjZ6Xmp3cy1wb3J0YWxkCm9yY2xsYXN0YXBwbGllZGNoYW5nZW51bWJlcjoyMjAKAA== |
From: Clif H. <cl...@di...> - 2002-05-28 19:47:23
|
The data looks to be base64 encoded. You can use the perl base64 module to decode the string. Clif > > Hello, I am trying to get the values for the change attibute, but I get is > a lot of letters that are meaning less. The portion of the code where the > search takes place is highlighted. and the result which is written to a > ldif file is below. This search works from the commad line using the > ldapseach command. > > Here is the output: .... Please help! > > dn: Changenumber=221, cn=changelog > targetdn: cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog > Subscriber > ,cn=Oracle Internet Directory > changetype: Modify > changes:: > UmVwbGFjZTpvcmNsbGFzdGFwcGxpZWRjaGFuZ2VudW1iZXJeMTJeMjAwMjA1MjMxNzIw > MjZ6Xmp3cy1wb3J0YWxkCm9yY2xsYXN0YXBwbGllZGNoYW5nZW51bWJlcjoyMjAKAA== > > ----- Forwarded by Carlton Zachary/IT/NewYork605/Wiley on 05/28/2002 02:56 > PM ----- > > Sue Su > To: Carlton Zachary/IT/NewYork605/Wiley@Wiley > 05/28/2002 cc: > 02:41 PM Subject: Net::LDAP > > > > > > > ----------------------------------------------------- > > #!/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-server.com', port => '390') || die > "ERROR: $@"; > $ldif = Net::LDAP::LDIF->new( 'changelogentries.ldif', "w" ); > $bind = $ldap->bind('cn=ExternalExportAgent,cn=Subscriber > Profile,cn=ChangeLog Subscriber,cn=Oracle Internet Directory', pas > sword=> 'welcome') || die "Can not bind"; > > #### Searching for last applied change number in the directory #### > $mesg = $ldap->search( > base => "cn=ExternalExportAgent,cn=Subscriber > Profile,cn=ChangeLog Subscriber,cn=Oracle Internet Directory", > scope => "base", > filter => "(objectclass=*)" > ); > > foreach $entry ($mesg->entries) { > $LACN = $entry->get_value > ('orcllastappliedchangenumber'); > print "LACN is $LACN\n"; > $CN = $LACN + 1; > print "CN is $CN\n"; > } > > #### Searching for change entries in the change log container which are > greate than LACN #### > ####(This searching is having problem)#### > $mesg = $ldap->search( > base => "cn=changeLog", > scope => "one", > filter => " > (&(objectclass=changeLogEntry)(changeNumber>=$CN))", > attrs => [qw(targetdn changetype changes)] > ); > > foreach $entry ($mesg->entries) { > $ldif->write_entry( $entry ); > } > > #### Searching for last change number in the directory #### > $mesg = $ldap->search( > base => "", > scope => "base", > filter => "(objectclass=*)", > attrs => ["lastchangenumber"] > ); > > foreach $entry ($mesg->entries) { > $LCN = $entry->get_value > ('lastchangenumber'); > print "LCN is $LCN\n"; > } > > #### Modifying the last applied change number with last change number #### > $r = $ldap->modify( > "cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog > Subscriber,cn=Oracle Internet Directory", > replace => {orclLastAppliedChangeNumber => $LCN} > ); > > ---------------------------------------------------- > > dn: Changenumber=221, cn=changelog > targetdn: cn=ExternalExportAgent,cn=Subscriber Profile,cn=ChangeLog > Subscriber > ,cn=Oracle Internet Directory > changetype: Modify > changes:: > UmVwbGFjZTpvcmNsbGFzdGFwcGxpZWRjaGFuZ2VudW1iZXJeMTJeMjAwMjA1MjMxNzIw > MjZ6Xmp3cy1wb3J0YWxkCm9yY2xsYXN0YXBwbGllZGNoYW5nZW51bWJlcjoyMjAKAA== > > > > _______________________________________________________________ > > 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: <SS...@wi...> - 2002-06-03 14:11:35
|
Hi, I am using Net::LDAP connection to do ldapsearching, but I got unexpected out put (please see high lighted portion). Please help. Thanks a lot! -- Sue Su 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 ------------------------------------------------------------ |
From: Graham B. <gb...@po...> - 2000-10-18 05:20:15
|
----- Forwarded message from Matt Chudleigh <ma...@cr...> ----- From: "Matt Chudleigh" <ma...@cr...> To: <gb...@po...> Subject: Net::LDAP Date: Tue, 17 Oct 2000 17:27:08 -0600 X-Mailer: Microsoft Outlook Express 5.50.4133.2400 Hello, I am a technical support consultant for Critical Mass productions up here in Calgary, Canada. Over the recent weeks, I have been trying to setup a web interface to our OpenLDAP server to allow us to easily add/change/view the database. I am using your Net::LDAP module with some success in searching and deleting entries from the LDAP database. However, I am compleatly stumped trying to get Net::LDAP to add entries to the database. Our server name is called europa, and we have setup the OpenLDAP server to use dc=europa as a search base. When I use the following code, it seems to add just fine, however, when I search for the entry using the command line: ldapsearch -L -b dc=europa cn=Te* the entry is not returned. If I run this code first, then I try to add the same entry from the command line (Using ldapadd and a file) is says that the entry already exists. If you can provide any assistance whatsoever, it would be very much appreciated. If you can get this to work, I would owe my sanity to you as well. Thanks in advance, Matt Chudleigh Technical Support Consultant Critical Mass Productions ma...@cr... I am using the following code to attempt to add entries.. #!/usr/bin/perl use Net::LDAP; my $host = 'europa.criticalmass.com'; my $name = 'cn=Manager, dc=criticalmass'; my $pass = 'secret'; my $vers = 2; my $DN = 'cn=test2 test2, dc=europa'; $ldap = Net::LDAP->new($host) or die $@; my %bindargs; $bindargs{dn} = $name; $bindargs{password} = $pass; $bindargs{version} = $vers; $ldap->bind(%bindargs) or die $@; my $addname = 'test2 test2'; my $addlast = 'test2'; my $addclas = 'person'; my $addmail = 'te...@te...'; my $addhome = '222-2222'; my $addwork = '2222'; my $addloca = 'calgary'; my %addthing; $addthing{dn} = $DN; $addthing{cn} = $addname; $addthing{objectclass} = $addclas; $addthing{mail} = $addmail; $addthing{sn} = $addlast; $addthing{homephone} = $addhome; $addthing{phonenumber} = $addwork; $addthing{location} = $addloca; $ldap->add (%addthing); $ldap->unbind() or die $@; ----- End forwarded message ----- |
From: Mark W. <mew...@un...> - 2000-10-18 14:04:49
|
Have you tried binding as the directory manager (actually I think this is the cn=manager in openLDAP) to make sure that it's not an ACL problem and perhaps you're not finding the entry because you don't have permissions to search it as anonymous. Mark On Wed, 18 Oct 2000, Graham Barr wrote: > ----- Forwarded message from Matt Chudleigh <ma...@cr...> ----- > > From: "Matt Chudleigh" <ma...@cr...> > To: <gb...@po...> > Subject: Net::LDAP > Date: Tue, 17 Oct 2000 17:27:08 -0600 > X-Mailer: Microsoft Outlook Express 5.50.4133.2400 > > Hello, > > I am a technical support consultant for Critical Mass productions up here in Calgary, Canada. Over the recent weeks, I have been trying to setup a web interface to our OpenLDAP server to allow us to easily add/change/view the database. I am using your Net::LDAP module with some success in searching and deleting entries from the LDAP database. However, I am compleatly stumped trying to get Net::LDAP to add entries to the database. Our server name is called europa, and we have setup the OpenLDAP server to use dc=europa as a search base. When I use the following code, it seems to add just fine, however, when I search for the entry using the command line: ldapsearch -L -b dc=europa cn=Te* > the entry is not returned. If I run this code first, then I try to add the same entry from the command line (Using ldapadd and a file) is says that the entry already exists. If you can provide any assistance whatsoever, it would be very much appreciated. If you can get this to work, I would owe my sanity to you as well. > > Thanks in advance, > > Matt Chudleigh > Technical Support Consultant > Critical Mass Productions > ma...@cr... > > I am using the following code to attempt to add entries.. > > #!/usr/bin/perl > > use Net::LDAP; > > my $host = 'europa.criticalmass.com'; > my $name = 'cn=Manager, dc=criticalmass'; > my $pass = 'secret'; > my $vers = 2; > my $DN = 'cn=test2 test2, dc=europa'; > > $ldap = Net::LDAP->new($host) or die $@; > > my %bindargs; > $bindargs{dn} = $name; > $bindargs{password} = $pass; > $bindargs{version} = $vers; > > $ldap->bind(%bindargs) or die $@; > > my $addname = 'test2 test2'; > my $addlast = 'test2'; > my $addclas = 'person'; > my $addmail = 'te...@te...'; > my $addhome = '222-2222'; > my $addwork = '2222'; > my $addloca = 'calgary'; > > my %addthing; > $addthing{dn} = $DN; > $addthing{cn} = $addname; > $addthing{objectclass} = $addclas; > $addthing{mail} = $addmail; > $addthing{sn} = $addlast; > $addthing{homephone} = $addhome; > $addthing{phonenumber} = $addwork; > $addthing{location} = $addloca; > > $ldap->add (%addthing); > > $ldap->unbind() or die $@; > > > > > ----- End forwarded message ----- > |
From: Graham B. <gb...@po...> - 2001-03-23 00:05:48
|
----- Forwarded message from Jose Olivares <JAOlivares@LBL.GOV> ----- Date: Thu, 22 Mar 2001 09:45:55 -0800 To: gb...@po... From: Jose Olivares <JAOlivares@LBL.GOV> Subject: Net::LDAP X-Mailer: Mozilla 4.75C-CCK-MCD LBNL V4.73 Build 2 (Macintosh; U; PPC) Hi Graham - My name is Jose Olivares and I have just gotten access to the Net::LDAP module for Perl. I have done lots of programming, but I have not done any object oriented programming. I am however quite familiar with concepts like subroutines (methods in OOP?), data structures (objects?), etc. I am looking at the writeup for Net::LDAP. Under the Synopsis section are a couple of examples. I can understand the code pretty much, even if I don't know the exact actions that are happening. However, there is a piece that mystifies me. There is a line that says: $mesg->code && die $mesg->error; I can see that "$mesg->code" refers to a success or failure return code and it looks like the "die $mesg->error" part puts out the error message that is in the $mesg structure (I assume it is a structure). But taken together I don't really understand the above statement. What is the statement doing and how does it know what to do? Thanks. - Jose Olivares ----- End forwarded message ----- |
From: Christoph N. <en...@ap...> - 2001-03-23 02:18:20
|
Jose, $mesg->code && die $mesg->error; That would be a common perlism for do the first part, and if it succeeds, then do the second part. You can also do that in UNIX shell. It's based on the order the operands are evaluted in an "AND" expression. Since Perl uses short circuit evaluation, it will only evaluate as little as possible to determine the true of a statment. In an "AND" statment, if the first part of the expression returns false, the second part does not need to be evaluated. - Christoph On Fri, 23 Mar 2001, Graham Barr wrote: > ----- Forwarded message from Jose Olivares <JAOlivares@LBL.GOV> ----- > > Date: Thu, 22 Mar 2001 09:45:55 -0800 > To: gb...@po... > From: Jose Olivares <JAOlivares@LBL.GOV> > Subject: Net::LDAP > X-Mailer: Mozilla 4.75C-CCK-MCD LBNL V4.73 Build 2 (Macintosh; U; PPC) > > Hi Graham - > > My name is Jose Olivares and I have just gotten access to the Net::LDAP > module for Perl. > > I have done lots of programming, but I have not done any object oriented > > programming. I am however quite familiar with concepts like > subroutines (methods in OOP?), data structures (objects?), etc. > > I am looking at the writeup for Net::LDAP. Under the Synopsis section > are a couple of examples. I can understand the code pretty much, even > if > I don't know the exact actions that are happening. However, there is a > piece that mystifies me. There is a line that says: > > $mesg->code && die $mesg->error; > > I can see that "$mesg->code" refers to a success or failure return code > and it > looks like the "die $mesg->error" part puts out the error message that > is in > the $mesg structure (I assume it is a structure). But taken together I > don't > really understand the above statement. What is the statement doing and > how > does it know what to do? > > Thanks. > > - Jose Olivares > > > ----- End forwarded message ----- > > |
From: John B. <joh...@ne...> - 2001-03-23 10:40:57
|
> $mesg->code && die $mesg->error; > > That would be a common perlism for do the first part, and if it succeeds, > then do the second part. You can also do that in UNIX shell. Yes, but it relies on the 'return code of zero is success' convention. The code is equivalent to: # Sorry...I like brackets on function/method calls if( $mesg->code() == 0 ) { die $mesg->error(); } The ->code() method returns the LDAP result code of the operation the $mesg is the result of. LDAP follows the UNIX/C convention of 'return 0 for success'. Note that this is the opposite of the convention used in perl, where functions and methods return a true value for success and a false value for failure. (Except for the system() call, which follows the Unix convention since it invokes a Unix command line (OK...or a WinNT command line)). So in perl you have the common idiom:: open FOO, "< foo" || die "ack : $!"; and there the '||' is replaced with a '&&' in the LDAP example code because of the different return convention. Yours pedantically, jb |
From: John B. <joh...@ne...> - 2001-03-23 11:20:40
|
> Yes, but it relies on the 'return code of zero is success' convention. The > code is equivalent to: > > # Sorry...I like brackets on function/method calls > if( $mesg->code() == 0 ) { > die $mesg->error(); > } Sigh. Of course. I got the test the wrong way round. Should be !=. > Yours pedantically, Or possibly just stupidly, jb |
From: Jose O. <JAO...@lb...> - 2001-03-23 14:30:08
|
I generally use the "if..." type constructions regardless of the programming language I am using. Thank you one and all. John Berthels wrote: > > $mesg->code && die $mesg->error; > > > > That would be a common perlism for do the first part, and if it succeeds, > > then do the second part. You can also do that in UNIX shell. > > Yes, but it relies on the 'return code of zero is success' convention. The > code is equivalent to: > > # Sorry...I like brackets on function/method calls > if( $mesg->code() == 0 ) { > die $mesg->error(); > } > > The ->code() method returns the LDAP result code of the operation the > $mesg is the result of. LDAP follows the UNIX/C convention of 'return 0 > for success'. > > Note that this is the opposite of the convention used in perl, where > functions and methods return a true value for success and a false value > for failure. > > (Except for the system() call, which follows the Unix convention since it > invokes a Unix command line (OK...or a WinNT command line)). > > So in perl you have the common idiom:: > > open FOO, "< foo" || die "ack : $!"; > > and there the '||' is replaced with a '&&' in the LDAP example code > because of the different return convention. > > Yours pedantically, > > jb |
From: Graham B. <gb...@po...> - 2001-12-11 16:51:40
|
----- Forwarded message from Kieran Shaw <kie...@wa...> ----- Date: Tue, 11 Dec 2001 16:24:52 -0000 To: <gb...@po...> From: "Kieran Shaw" <kie...@wa...> Subject: Net::LDAP X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Hi Graham, Could I ask you a quick question about your very handy LDAP module. I am running some basic code, which runs on a machine with perl 5.6, but on my machine with perl 5.005, it returns the LDAP_LOCAL_ERROR (82) code. When I try a bind. Do I simply need to use a more up to date version, or is that code telling me something specific? Many thanks Kieran Shaw University of Warwick England ----- End forwarded message ----- |
From: Jim H. <ha...@us...> - 2001-12-11 19:14:29
|
Please provide more details. What are yopu doing when you get this result? Provide code snippet(s) (minimal) and possibly version of Net::LDAP and what directory server you are connecting to. --Jim Harle On Tue, 11 Dec 2001, Graham Barr wrote: > ----- Forwarded message from Kieran Shaw <kie...@wa...> ----- > > Date: Tue, 11 Dec 2001 16:24:52 -0000 > To: <gb...@po...> > From: "Kieran Shaw" <kie...@wa...> > Subject: Net::LDAP > X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) > > Hi Graham, > > Could I ask you a quick question about your very handy LDAP module. > I am running some basic code, which runs on a machine with perl 5.6, but on > my machine with perl 5.005, it returns the LDAP_LOCAL_ERROR (82) code. When > I try a bind. Do I simply need to use a more up to date version, or is that > code telling me something specific? > > Many thanks > Kieran Shaw > University of Warwick > England > > > ----- End forwarded message ----- > |
From: Kieran S. <kie...@wa...> - 2001-12-12 09:10:58
|
Hi, Here is a bit of code: ________________________________ use Net::LDAP; use Net::LDAP qw(:all); $bind = Net::LDAP->new("fear.csv.warwick.ac.uk",debug => 4) or die "$@"; $mesg = $bind->bind( dn => 'cn=ecuwm,ou=Student,ou=ec,o=Warwick' ); print "Code:" . $mesg->code . "\n"; _______________________________ This should print out Code 0, but it gives me Code 82, which is the LDAP_LOCAL_ERROR Also, with the debug turned on, I get the following output on the working machine: 0000 30 47: SEQUENCE { 0002 02 1: INTEGER = 1 0005 60 42: [APPLICATION 0] { 0007 02 1: INTEGER = 2 000A 04 35: STRING = 'cn=ecuwm,ou=Student,ou=ec,o=Warwick' 002F 80 0: [CONTEXT 0] 0031 : } 0031 : } Net::LDAP=HASH(0x1a7f16c) received: But I don't get the last line, the "received" line from the other machine. Just to confirm, they both are using version 0.2401 of Net::LDAP. However, the working machine uses perl 5.6 and the non-working uses 5.005 One issue is that the ldap server is behind a firewall, which they promise me my machine can get through, I know I can see the port. But it looks like it is just not sending the request properly. Many thanks for any help Kieran -----Original Message----- From: Jim Harle [mailto:ha...@us...] Sent: 11 December 2001 19:14 To: Graham Barr Cc: LDAP Mailing List; Kieran Shaw Subject: Re: [Fwd] Net::LDAP Please provide more details. What are yopu doing when you get this result? Provide code snippet(s) (minimal) and possibly version of Net::LDAP and what directory server you are connecting to. --Jim Harle On Tue, 11 Dec 2001, Graham Barr wrote: > ----- Forwarded message from Kieran Shaw <kie...@wa...> ----- > > Date: Tue, 11 Dec 2001 16:24:52 -0000 > To: <gb...@po...> > From: "Kieran Shaw" <kie...@wa...> > Subject: Net::LDAP > X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) > > Hi Graham, > > Could I ask you a quick question about your very handy LDAP module. > I am running some basic code, which runs on a machine with perl 5.6, but on > my machine with perl 5.005, it returns the LDAP_LOCAL_ERROR (82) code. When > I try a bind. Do I simply need to use a more up to date version, or is that > code telling me something specific? > > Many thanks > Kieran Shaw > University of Warwick > England > > > ----- End forwarded message ----- > |
From: Graham B. <gb...@po...> - 2002-01-17 16:09:49
|
----- Forwarded message from Michael Wille <mw...@do...> ----- Date: Thu, 17 Jan 2002 10:40:38 -0500 To: <gb...@po...> From: "Michael Wille" <mw...@do...> Subject: Net::LDAP Hello Graham, First great work on everything you've done. I use many of your modules on a daily basis and am very greatful for the tools you have helped provide. I'd like to pose a question for you that no one else seems to be able to answer for me. We use Net::LDAP in several web applications to authenticate and retrieve information from our Novell Directory Services. Everything has worked great until recently when we upgraded our LDAP server. Every search that is performed on the new servers return empty data. If we search from a browser on the new servers, the result comes back fine. I've talked with people from Novell and they can't seem to find anything that would cause this. I thought I would ask you if there was anything in the library that might break between these two versions. Again, a search will work from other sources, it just returns nothing with Net::LDAP. There are no errors either. Have you heard of anyone else having this problem? Do you have any ideas? The versions are: Original: Netware 5 - LDAPv3 - 3.08 - July 31, 2000 Upgrade: NDS 8 - LDAPv3 - 85.10 - Dec 12, 2000 Thanks for any input you have on the matter. Its greatly appreciated. Regards, Michael Wille Application Developer W.B. Doner 25900 Northwestern Hwy. Southfield, MI 48075 mw...@do... 248.827.8442 248.827.8323 FAX ----- End forwarded message ----- |
From: Jim H. <ha...@us...> - 2002-01-17 17:32:59
|
Michael, I have been using Net::LDAP with Netware for about 3 years and am currently using 85.10 with no problems. Please send a simple script that fails and the setup or URL you use in the browser. --Jim Harle On Thu, 17 Jan 2002, Graham Barr wrote: > ----- Forwarded message from Michael Wille <mw...@do...> ----- > > Date: Thu, 17 Jan 2002 10:40:38 -0500 > To: <gb...@po...> > From: "Michael Wille" <mw...@do...> > Subject: Net::LDAP > > Hello Graham, > > First great work on everything you've done. I use many of your modules on a daily basis and am very greatful for the tools you have helped provide. > > I'd like to pose a question for you that no one else seems to be able to answer for me. > > We use Net::LDAP in several web applications to authenticate and retrieve information from our Novell Directory Services. Everything has worked great until recently when we upgraded our LDAP server. Every search that is performed on the new servers return empty data. If we search from a browser on the new servers, the result comes back fine. > > I've talked with people from Novell and they can't seem to find anything that would cause this. I thought I would ask you if there was anything in the library that might break between these two versions. Again, a search will work from other sources, it just returns nothing with Net::LDAP. There are no errors either. > > Have you heard of anyone else having this problem? Do you have any ideas? > > The versions are: > Original: Netware 5 - LDAPv3 - 3.08 - July 31, 2000 > Upgrade: NDS 8 - LDAPv3 - 85.10 - Dec 12, 2000 > > Thanks for any input you have on the matter. Its greatly appreciated. > > Regards, > > Michael Wille > Application Developer > W.B. Doner > 25900 Northwestern Hwy. > Southfield, MI 48075 > mw...@do... > 248.827.8442 > 248.827.8323 FAX > > > ----- End forwarded message ----- > |
From: Peter M. <pet...@ma...> - 2002-01-22 19:35:04
|
Hi Michael, On Thursday 17 January 2002 10:40, you wrote: > I'd like to pose a question for you that no one else seems to be able t= o > answer for me. > > We use Net::LDAP in several web applications to authenticate and retrie= ve > information from our Novell Directory Services. Everything has worked > great until recently when we upgraded our LDAP server. Every search th= at > is performed on the new servers return empty data. If we search from a > browser on the new servers, the result comes back fine. > > I've talked with people from Novell and they can't seem to find anythin= g > that would cause this. I thought I would ask you if there was anything= in > the library that might break between these two versions. Again, a sear= ch > will work from other sources, it just returns nothing with Net::LDAP.=20 > There are no errors either. > > Have you heard of anyone else having this problem? Do you have any ide= as? > > The versions are: > Original: Netware 5 - LDAPv3 - 3.08 - July 31, 2000 > Upgrade: NDS 8 - LDAPv3 - 85.10 - Dec 12, 2000 > > Thanks for any input you have on the matter. Its greatly appreciated. Do you use schema information in your application ? Does the app fail there ? If yes, there recently was athread on this list treating tis topic. Yours Peter --=20 Peter Marschall | eMail: pet...@ma... Scheffelstra=DFe 15 | pet...@is... 97072 W=FCrzburg | Tel: 0931/14721 PGP: D7 FF 20 FE E6 6B 31 74 D1 10 88 E0 3C FE 28 35 |
From: Graham B. <gb...@po...> - 2002-06-03 15:29:16
|
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: Graham B. <gb...@po...> - 2003-01-15 15:08:18
|
----- Forwarded message from Mike Kruckenberg <mi...@kr...> ----- Date: Wed, 15 Jan 2003 08:00:35 -0700 (MST) To: <gb...@po...> From: Mike Kruckenberg <mi...@kr...> Subject: Net::LDAP Gary, I'm using Net::LDAP (v0.26) and Net::LDAPS in a mod_perl project running on Solaris 8. I'm using the standard bind and unbind as recommended in the docs but have found that upon unbind a netstat reveals that the socket is still hanging around. After a few days our application has used all the available sockets and Net::LDAP objects begin to fail. To work around this I added a $ldap->close method to Net::LDAP which calls close on the IO::Socket instantiated by the Net::LDAP object. I'm really quite new to open source and to your project. Not sure if I have violated some thinking about socket persistence or if my addition might be valuable to others. If it would be useful I'm happy to contribute if you could provide me with a method. Thanks, Mike ----- End forwarded message ----- |
From: Graham B. <gb...@po...> - 2003-01-21 16:10:21
|
----- Forwarded message from "Voglmaier, Reinhard Erich" <rv33100@GlaxoWellcome.co.uk> ----- Date: Tue, 21 Jan 2003 15:50:19 -0000 To: "'gb...@po...'" <gb...@po...> From: "Voglmaier, Reinhard Erich" <rv33100@GlaxoWellcome.co.uk> Subject: Net::LDAP Hello Graham, since a couple of years I am using Net::LDAP. btw compliments, its a great package. In this moment I am trying to find persons using the mobile phone number. When I use numbers only max 3 it works. example mobile = *787* works. mobile = *7878* does not. Using the command line tools however everything works fine. Did this any time happen to you ? thanx a lot for any advice reinhard ----- End forwarded message ----- |
From: Susan A. <sa...@ha...> - 2003-03-11 17:11:11
|
Hello, Can anyone tell me why I am receiving an error can't locate Net/LDAP.pm in @ INC (@INC includes /usr/lib/perl5/5.6.1 etc, etc etc, etc. Thanks - Susan P.S - No, I am not a Student. |
From: Chris R. <chr...@ma...> - 2003-03-11 17:50:42
|
On 11/3/03 5:17 pm, Susan Aurand <sa...@ha...> wrote: > Hello, > Can anyone tell me why I am receiving an error can't locate Net/LDAP.pm in @ > INC (@INC includes > /usr/lib/perl5/5.6.1 etc, etc etc, etc. How did you install perl-ldap? What is your complete @INC variable, and where on your box is LDAP.pm? > Thanks - Susan > P.S - No, I am not a Student. OK! Cheers, Chris |