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: <ma...@mj...> - 2001-02-08 18:17:19
|
You don't have to write this yourself, I've already done it for you ;). Check out my AuthNetLDAP module either on CPAN or at http://courses.unt.edu/mewilcox/ I also have an AuthzNetLDAP module which can handle group level access. Mark On 7 Feb 01, at 11:32, Dworatzek Damian wrote: > ...authentication does not work. > > > > Hi, > > I am facing a problem with perl-ldap. > > We are running Netscape products (iplanet and Directory Server) > and I need to connect an apache server running on an > linux box to our ldap server (database). > > The procedure should be, that the user identifies himself with an > user-id and a passwort. If the authentification is done and true, the > script proofs his membership to a group. > > State of the art is, that the groupmembership-proof works, the > authentication not. > > The script attached is my test script, conecting to ldap database and > reading out all the specific data of an user (in this case a dummie). > > With > > my $mesg =3D $ldap->bind; > > I connect to the ldap-server as ananoumys. > > With (which is currently inactive #) > > my $mesg =3D $ldap->bind("uid=3D$user,$base", password =3D> "tes= t"); > > the script should sign in the user under his passwort. > > Unfortunately, no matter what user and what passwort is being passed, > the script loggs in (such as with anonymous) > > Everybody having an idea ? > > Thanks for the help in advance. > > > ----script starts here ---------------- > > #!/usr/local/bin/perl -w > > use Net::LDAP; > > > $user =3D 'iuai2'; > > > local $base =3D "o=3Dsv-versicherungen"; > local $filter =3D "uid=3D$user"; > local $host =3D "dir1.svi.de"; > > > > > > my $ldap =3D new Net::LDAP( "$host"); > > #my $mesg =3D $ldap->bind("uid=3D$user,$base", password =3D> "test"); > my $mesg =3D $ldap->bind; > > $mesg =3D $ldap->search ( > base =3D> $base, > filter =3D> $filter > ); > > > $mesg->code && die $mesg->error; > > if ($mesg->count =3D=3D 0) { > print "No Row Found \n"; > } > > foreach $entry ($mesg->all_entries) {$entry->dump;} > > $ldap->unbind; > > __END__ > > -- > Mit freundlichem Gru=DF > > > Damian Dworatzek > Assistent der Gesch=E4ftsf=FChrung > Sparkassen-Versicherung > Baden-W=FCrttemberg Informatikdienste GmbH (SVI) > dam...@sv... > www.svi.de Mark Wilcox ma...@mj... Got LDAP? |
From: Graham B. <gb...@po...> - 2001-02-08 18:09:26
|
On Thu, Feb 08, 2001 at 09:42:14AM -0800, Kurt D. Zeilenga wrote: > At 05:12 PM 2/8/01 +0000, Graham Barr wrote: > >I went a re-read the RFC too, and scratched my head. Personally I think > >it must be an oversight in the RFC. > > I concur. I also not that whsp is defined as ZERO or more > spaces.... fun, eh? Yes, if it wa one or more the we could at least determine this particular case as it had an alpha character on either side. Graham. |
From: Kurt D. Z. <Ku...@Op...> - 2001-02-08 17:41:57
|
At 05:12 PM 2/8/01 +0000, Graham Barr wrote: >I went a re-read the RFC too, and scratched my head. Personally I think >it must be an oversight in the RFC. I concur. I also not that whsp is defined as ZERO or more spaces.... fun, eh? Kurt |
From: Graham B. <gb...@po...> - 2001-02-08 17:13:06
|
I went a re-read the RFC too, and scratched my head. Personally I think it must be an oversight in the RFC. Graham. On Thu, Feb 08, 2001 at 03:49:20PM +0000, John Berthels wrote: > > Hi folks. > > Sorry for trouble with the clearly-not-quite-production schema code. > > On Thu, 8 Feb 2001, Clif Harden wrote: > > > What I find strange is why the schema code could parse the record > > before the patches and not afterwords. I/we did not change anything > > in the parse code. > > > > I also think that the ' in I'M should be escaped with a > > \ if it is going to be used this way. > > Well, you (and I :-) would like to think so. I may be way off, but I don't > see the standard as being clear. > > from RFC2252: > > "Terms which begin with the characters "X-" are reserved for private > experiments, and MUST be followed by a <qdstrings>." > > and: > > "utf8 = <any sequence of octets formed from the UTF-8 [9] > transformation of a character from ISO10646 [10]> > > dstring = 1*utf8 > > qdstring = whsp "'" dstring "'" whsp > > qdstringlist = [ qdstring *( qdstring ) ] > > qdstrings = qdstring / ( whsp "(" qdstringlist ")" whsp )" > > > So...why can't qdstrings contain unquoted ' and ) chars? > > What have I missed? > > > jb > > > > > |
From: John B. <joh...@ne...> - 2001-02-08 15:51:59
|
Hi folks. Sorry for trouble with the clearly-not-quite-production schema code. On Thu, 8 Feb 2001, Clif Harden wrote: > What I find strange is why the schema code could parse the record > before the patches and not afterwords. I/we did not change anything > in the parse code. > > I also think that the ' in I'M should be escaped with a > \ if it is going to be used this way. Well, you (and I :-) would like to think so. I may be way off, but I don't see the standard as being clear. from RFC2252: "Terms which begin with the characters "X-" are reserved for private experiments, and MUST be followed by a <qdstrings>." and: "utf8 = <any sequence of octets formed from the UTF-8 [9] transformation of a character from ISO10646 [10]> dstring = 1*utf8 qdstring = whsp "'" dstring "'" whsp qdstringlist = [ qdstring *( qdstring ) ] qdstrings = qdstring / ( whsp "(" qdstringlist ")" whsp )" So...why can't qdstrings contain unquoted ' and ) chars? What have I missed? jb |
From: Clif H. <cl...@di...> - 2001-02-08 13:43:43
|
Jim and Graham, What I find strange is why the schema code could parse the record before the patches and not afterwords. I/we did not change anything in the parse code. I also think that the ' in I'M should be escaped with a \ if it is going to be used this way. Clif Harden > > Graham, Clif, > > I agree that the entry is extremely difficult to parse. We just > upgraded to a new version of Novell NDS (8.5) a week before Clif's > patches were circulated. We were able to grab the schema the day we > upgraded with the unpatched Net::LDAP:Schema, but the combination of > patches and NDS upgrade broke things. We don't use this for anything > critical at the moment. I will bring this issue to Novell's attention. > Thanks for yours. > > --Jim Harle > > On Wed, 7 Feb 2001, Graham Barr wrote: > > > OK, the problem is an entry in your schema that the parser does > > not like. It is > > > > > > Cannot parse [( stgroupsimin-oid NAME 'sTGROUPSIMIN' DESC 'Standard > > Attribute' SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64512} SINGLE-VALUE > > X-NDS_NAME 'ST GROUPS I'M IN' X-NDS_NOT_SCHED_SYNC_IMMEDIATE '1' )] ' > > ) at lib/Net/LDAP/Schema.pm line 493, <STDIN> chunk 1. > > > > The value after X-NDS_NAME contains a ' is that legal ? If so how > > do you tell the difference between the delimiting quotes and those within > > a value ? > > > > Graham. > > > > > > -- Regards, Clif Harden INTERNET: c-h...@ti... Texas Instruments Directory Services 6500 Chase Oaks Blvd, M/S 8412 Plano, TX 75023 Voice: 972-575-0855 FAX: 972-575-2418 |
From: Jim H. <ha...@us...> - 2001-02-08 13:16:23
|
Graham, Clif, I agree that the entry is extremely difficult to parse. We just upgraded to a new version of Novell NDS (8.5) a week before Clif's patches were circulated. We were able to grab the schema the day we upgraded with the unpatched Net::LDAP:Schema, but the combination of patches and NDS upgrade broke things. We don't use this for anything critical at the moment. I will bring this issue to Novell's attention. Thanks for yours. --Jim Harle On Wed, 7 Feb 2001, Graham Barr wrote: > OK, the problem is an entry in your schema that the parser does > not like. It is > > > Cannot parse [( stgroupsimin-oid NAME 'sTGROUPSIMIN' DESC 'Standard > Attribute' SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64512} SINGLE-VALUE > X-NDS_NAME 'ST GROUPS I'M IN' X-NDS_NOT_SCHED_SYNC_IMMEDIATE '1' )] ' > ) at lib/Net/LDAP/Schema.pm line 493, <STDIN> chunk 1. > > The value after X-NDS_NAME contains a ' is that legal ? If so how > do you tell the difference between the delimiting quotes and those within > a value ? > > Graham. > |
From: Guruprasad S <sgu...@no...> - 2001-02-08 11:22:17
|
I ran my ldap.pl on MSWin32-x86-multi & MSWin32-x86-multi-thread versions = of Perl and obtained the dump. For MSWin32-x86-multi: Net::LDAP=3DHASH(0x8e9f094) sending: 30 0C 02 01 01 60 07 02 01 02 04 00 80 00 __ __ 0....`........ Net::LDAP=3DHASH(0x8e9f094) received: 30 0C 02 01 01 61 07 0A 01 00 04 00 04 00 __ __ 0....a........ For MSWin32-x86-multi-thread: Net::LDAP=3DHASH(0x8e9f02c) sending: 30 0C 02 01 01 40 07 02 01 02 04 00 80 00 __ __ 0....@........ Net::LDAP=3DHASH(0x8e9f02c) received: 30 1B 02 01 01 41 16 0A 01 02 04 00 04 0F 55 6E 0....A........Un 6B 6E 6F 77 6E 20 72 65 71 75 65 73 74 __ __ __ known request Hope this helps in fixing. Thanks Guru >>> Chris Ridd <chr...@me...> 1/29/01 5:10:06 PM >>> Guruprasad S <sgu...@no...> wrote: > Hi, > I am running Perl5.6.0 on NT. Whenever I build with USE_MULTI > uncommented and USE_ITHREAD commented, I can access the directory. But > when I uncomment UCS_ITHREAD as well, my script fails by saying=20 >=20 > decode error at c:/perl/site/5.6.0/lib/Convert/ASN1/_decode.pm line 136. > 84 > decode error at c:/perl/site/5.6.0/lib/Convert/ASN1/_decode.pm line 136. > ...propagated at ldap1.pl line 12. >=20 > Can any of you help me out. >=20 > My script looks like this: >=20 > use Net::LDAP; > $ldap =3D Net::LDAP->new('blr-nb7.blr.novell.com') or die "$@"; >=20 > $mesg =3D $ldap->bind or die "Failed to bind\n"; > if ($mesg->code) { > print $mesg->error, $mesg->code,"\n"; > die; > } >=20 > $mesg =3D $ldap->search( # perform a search > base =3D> "o=3Dnovell", > filter =3D> "sn=3D*", > ) or die "Failed to search\n"; >=20 > if ($mesg->code) { > print $mesg->error, $mesg->code,"\n"; > die; > } >=20 >=20 > Thanks > Guru >=20 >=20 Net::LDAP is known to trigger problems in perl 5.6, so it is probably best to avoid that combination for now :-( Can you set debug =3D> 3 in the call to new and send us the screen output? This debug setting will dump out all the PDUs sent and received, in hex. This should make it easier to reproduce the problem. Cheers, Chris |
From: Clif H. <c-h...@ti...> - 2001-02-07 16:15:03
|
Here is a patch that will correct one of the problems discovered yesterday with the Schema recovery in perl-ldap. This patch takes care of schema attributes that are defined but have no data associated with them. This patch will ignore attributes that have no data associated with them. This patch was created from a Schema.pm file that had my earlier patch file installed. Regards, Clif Harden INTERNET: c-h...@ti... |
From: Dworatzek D. <dam...@sv...> - 2001-02-07 10:33:16
|
...authentication does not work. Hi, I am facing a problem with perl-ldap. We are running Netscape products (iplanet and Directory Server) and I need to connect an apache server running on an linux box to our ldap server (database). The procedure should be, that the user identifies himself with an user-id and a passwort. If the authentification is done and true, the script proofs his membership to a group. State of the art is, that the groupmembership-proof works, the authentication not. The script attached is my test script, conecting to ldap database and reading out all the specific data of an user (in this case a dummie). With my $mesg = $ldap->bind; I connect to the ldap-server as ananoumys. With (which is currently inactive #) my $mesg = $ldap->bind("uid=$user,$base", password => "test"); the script should sign in the user under his passwort. Unfortunately, no matter what user and what passwort is being passed, the script loggs in (such as with anonymous) Everybody having an idea ? Thanks for the help in advance. ----script starts here ---------------- #!/usr/local/bin/perl -w use Net::LDAP; $user = 'iuai2'; local $base = "o=sv-versicherungen"; local $filter = "uid=$user"; local $host = "dir1.svi.de"; my $ldap = new Net::LDAP( "$host"); #my $mesg = $ldap->bind("uid=$user,$base", password => "test"); my $mesg = $ldap->bind; $mesg = $ldap->search ( base => $base, filter => $filter ); $mesg->code && die $mesg->error; if ($mesg->count == 0) { print "No Row Found \n"; } foreach $entry ($mesg->all_entries) {$entry->dump;} $ldap->unbind; __END__ -- Mit freundlichem Gruß Damian Dworatzek Assistent der Geschäftsführung Sparkassen-Versicherung Baden-Württemberg Informatikdienste GmbH (SVI) dam...@sv... www.svi.de |
From: Kartik S. <sub...@co...> - 2001-02-07 02:09:32
|
Attached is a patch to Net/LDAP/LDIF.pm that fixes a minor oversight in _read_one_cmd(). Base-64 encoded values weren't properly being read, as weren't attributes with ';' or '-'. -Kartik |
From: <ma...@mj...> - 2001-02-06 23:19:08
|
The write method takes an array reference. So either pass it $ldif->write($msg->entries) or $ldif- >write(@{$entry}); mark On 6 Feb 01, at 9:44, Jeremy Fassler wrote: > Basically what I'm trying to do is pull information out of an LDIF > file, and put it into an array or hash, so I can display it to the > user and export it into a database. The commented line #print > "$entry\n"; was taken out becuase it just prints the hash reference, > and not the data itself, so I was told to use $ldif->write($entry); > instead. However, when I do this, it outputs no data. My test ldif > file has 3 entries, and if I uncomment that line, it does print 3 hash > references. So I know it is reading the file, but I cant get any info > out of it! > > Thanks in advance! Here is my code. (win32 platform) > > > #!d:/perl/bin/perl.exe > > use Net::LDAP::LDIF; > > $ldif = Net::LDAP::LDIF->new( "D:/test.ldif", "r" ); > > while( $entry = $ldif->read() ) > > { > > #print "$entry\n"; > > $ldif->write($entry); > > } > > $ldif->done(); > > Mark Wilcox ma...@mj... Got LDAP? |
From: Graham B. <gb...@po...> - 2001-02-06 21:38:55
|
This is one of those times when you wish you could get the entry returned from the search. Just like when ->new returns undef, where do you find out what went wrong. I have been considering adding a bool overload in some places so that a boolean test would return false even though an object is returned. In this case if Net::LDAP::Schema did that you could then call $schema->entry to get the entry, but all other methods would return undef. Anyhow, I am rambling. Jim, could you modify the schema method to return the $mesg object then extract the entry and dump it to ldif. We can then use that to debug the Schema module. (That is if you could forward the LDIF to Clif and I. If you cannot do that we will have to do things via you, but not having to do the search will help speed the process up) Thanks, Graham. On Tue, Feb 06, 2001 at 04:20:27PM -0500, Jim Harle wrote: > Clif, > I commented out the dIT stuff in LDAP.pm as follows: > $mesg = $self->search( > base => $base, > scope => 'base', > filter => '(objectClass=subschema)', > attrs => [ "objectClasses", > "attributeTypes", > "matchingRules", > "matchingRuleUse", > # "dITStructureRules", > # "dITContentRules", > "nameForms", > "ldapSyntaxes", > ], > ); > then did a make, which moved it to its proper place. That still didn't > help. I got the same error. > > Graham had said: changing the constructor to > > $ldap = Net::LDAP->new('directory.usna.edu', debug => 15); > > may help > > I tried that (before and after commenting out dIT stuff in LDAP.pm) and it > spewed forth tons of stuff indicating that it was actually getting the > schema from the server, the problem appears to be that the schema() method > isn't returning anything. Note that I commented out several lines from > the orginally posted code. Here is some of the end of what I got: > > 00049AC1 04 308: STRING = '( 3x computer system policy-oid NAME > 'xComputerSystemPolicy' DESC 'Standard ObjectClass' SUP (Policy $ > wIN31Policy $ workstationPolicy ) STRUCTURAL MAY (wM3XCSPUpdateInformation > $ wM3XCSPFileData $ zenpolWorkstationType $ zenpolWin3xPlatform ) > X-NDS_NAME '3x Computer System Policy' X-NDS_NOT_CONTAINER '1' )' > 00049BF9 04 335: STRING = '( ws restrict login policy-oid NAME > 'wSRestrictLoginPolicy' DESC 'Standard ObjectClass' SUP (Policy $ > workstationPolicy $ wINNTPolicy $ wIN95Policy ) STRUCTURAL MAY > (wMWSRLInclusions $ wMWSRLExclusions $ zenpolWorkstationType $ > zenpolWinNTPlatform $ zenpolWin9xPlatform ) X-NDS_NAME 'WS Restrict Login > Policy' X-NDS_NOT_CONTAINER '1' )' > 00049D4C : } > 00049D4C : } > 00049D4C : } > 00049D4C : } > 00049D4C : } > Net::LDAP=HASH(0x29774) received: > > 30 0C 02 01 05 65 07 0A 01 00 04 00 04 00 __ __ 0....e........ > > 0000 30 12: SEQUENCE { > 0002 02 1: INTEGER = 5 > 0005 65 7: [APPLICATION 5] { > 0007 0A 1: ENUM = 0 > 000A 04 0: STRING = '' > 000C 04 0: STRING = '' > 000E : } > 000E : } > Can't call method "is_objectclass" on an undefined value at findschema > line 23, <STDIN> chunk 1. > > > --Jim > > > On Tue, 6 Feb 2001, Clif Harden wrote: > > > > > I have found the problem with the Schema changes I sent. > > Lucky it has nothing to do with the changes I sent out, > > but is a result of those changes. > > > > In the changes I made I asked for attributes like > > dITContentRules, dITStrutureRules, etc. > > > > In my Exchange schema there is a line for dITContentRules but > > this line does not have a definition, or data, for > > dITContentRules. > > > > Example; > > > > dITContentRules > > > > attributeTypes (2.5.4.0 NAME 'objectClass' STNTAX 'OID') > > > > The _parse_schema function will not accept a dITContentRules > > with no defined data, it will return a undefined error. > > > > This is probably a situation we should have comprehended in > > advance. Until a solution is found you could comment out the > > lines LDAP.pm that ask for attributes dITContentRules, etc, that > > have no definition. > > > > I suspect that Jim Harle's problem is his schema has one of > > the attributes listed but with no definition. > > > > Regards, > > > > Clif Harden INTERNET: c-h...@ti... > > > > > > > > |
From: Jim H. <ha...@us...> - 2001-02-06 21:20:30
|
Clif, I commented out the dIT stuff in LDAP.pm as follows: $mesg = $self->search( base => $base, scope => 'base', filter => '(objectClass=subschema)', attrs => [ "objectClasses", "attributeTypes", "matchingRules", "matchingRuleUse", # "dITStructureRules", # "dITContentRules", "nameForms", "ldapSyntaxes", ], ); then did a make, which moved it to its proper place. That still didn't help. I got the same error. Graham had said: changing the constructor to $ldap = Net::LDAP->new('directory.usna.edu', debug => 15); may help I tried that (before and after commenting out dIT stuff in LDAP.pm) and it spewed forth tons of stuff indicating that it was actually getting the schema from the server, the problem appears to be that the schema() method isn't returning anything. Note that I commented out several lines from the orginally posted code. Here is some of the end of what I got: 00049AC1 04 308: STRING = '( 3x computer system policy-oid NAME 'xComputerSystemPolicy' DESC 'Standard ObjectClass' SUP (Policy $ wIN31Policy $ workstationPolicy ) STRUCTURAL MAY (wM3XCSPUpdateInformation $ wM3XCSPFileData $ zenpolWorkstationType $ zenpolWin3xPlatform ) X-NDS_NAME '3x Computer System Policy' X-NDS_NOT_CONTAINER '1' )' 00049BF9 04 335: STRING = '( ws restrict login policy-oid NAME 'wSRestrictLoginPolicy' DESC 'Standard ObjectClass' SUP (Policy $ workstationPolicy $ wINNTPolicy $ wIN95Policy ) STRUCTURAL MAY (wMWSRLInclusions $ wMWSRLExclusions $ zenpolWorkstationType $ zenpolWinNTPlatform $ zenpolWin9xPlatform ) X-NDS_NAME 'WS Restrict Login Policy' X-NDS_NOT_CONTAINER '1' )' 00049D4C : } 00049D4C : } 00049D4C : } 00049D4C : } 00049D4C : } Net::LDAP=HASH(0x29774) received: 30 0C 02 01 05 65 07 0A 01 00 04 00 04 00 __ __ 0....e........ 0000 30 12: SEQUENCE { 0002 02 1: INTEGER = 5 0005 65 7: [APPLICATION 5] { 0007 0A 1: ENUM = 0 000A 04 0: STRING = '' 000C 04 0: STRING = '' 000E : } 000E : } Can't call method "is_objectclass" on an undefined value at findschema line 23, <STDIN> chunk 1. --Jim On Tue, 6 Feb 2001, Clif Harden wrote: > > I have found the problem with the Schema changes I sent. > Lucky it has nothing to do with the changes I sent out, > but is a result of those changes. > > In the changes I made I asked for attributes like > dITContentRules, dITStrutureRules, etc. > > In my Exchange schema there is a line for dITContentRules but > this line does not have a definition, or data, for > dITContentRules. > > Example; > > dITContentRules > > attributeTypes (2.5.4.0 NAME 'objectClass' STNTAX 'OID') > > The _parse_schema function will not accept a dITContentRules > with no defined data, it will return a undefined error. > > This is probably a situation we should have comprehended in > advance. Until a solution is found you could comment out the > lines LDAP.pm that ask for attributes dITContentRules, etc, that > have no definition. > > I suspect that Jim Harle's problem is his schema has one of > the attributes listed but with no definition. > > Regards, > > Clif Harden INTERNET: c-h...@ti... > > > |
From: Graham B. <gb...@po...> - 2001-02-06 20:04:19
|
You are trying to ->write to an LDIF object that was opened for read. You need to create a new object for write $ldif_out = Net::LDAP::LDIF->new('-', 'w'); Graham. On Tue, Feb 06, 2001 at 09:44:41AM -0800, Jeremy Fassler wrote: > Basically what I'm trying to do is pull information out of an LDIF file, > and put it into an array or hash, so I can display it to the user and > export it into a database. The commented line #print "$entry\n"; was > taken out becuase it just prints the hash reference, and not the data > itself, so I was told to use $ldif->write($entry); instead. However, > when I do this, it outputs no data. My test ldif file has 3 entries, > and if I uncomment that line, it does print 3 hash references. So I know > it is reading the file, but I cant get any info out of it! > > Thanks in advance! Here is my code. (win32 platform) > > > #!d:/perl/bin/perl.exe > > use Net::LDAP::LDIF; > > $ldif = Net::LDAP::LDIF->new( "D:/test.ldif", "r" ); > > while( $entry = $ldif->read() ) > > { > > #print "$entry\n"; > > $ldif->write($entry); > > } > > $ldif->done(); > Content-Description: Card for Jeremy Fassler |
From: Chris R. <chr...@me...> - 2001-02-06 19:25:29
|
Clif Harden <cl...@di...> wrote: >> >> Hello. In the perl script, I have the following codes: >> >> print $mesg->code . "\n"; >> print $mesg->error; >> >> and the result is: >> 53 >> DSA is unwilling to perform >> >> It seems to me that the message code is "53", but what does "DSA is >> unwilling to perfom"? >> >> Can someone help me out? Thank you very much in advance. >> >> Best, >> George >> >> > > You are telling you DSA to change something it is > not allowed to do. > > You could be trying to change one of the operational > attributes like creatTimeStamp etc. That's possible, and it is also used as a general "no I'm not going to do that", which the DSA is pretty much at liberty to return for any operation. Perhaps you can describe the operation that caused the error? Cheers, Chris |
From: Zhu George-C. <Geo...@mo...> - 2001-02-06 19:25:06
|
Clif, Thanks a bunch! Actually, I am just doing a query. But I may did something else, and I will double check that. Regards, George -----Original Message----- From: Clif Harden [mailto:cl...@di...] Sent: Tuesday, February 06, 2001 12:25 PM To: George.Z.Zhu Cc: per...@li... Subject: Re: DSA is unwilling to perform > > Hello. In the perl script, I have the following codes: > > print $mesg->code . "\n"; > print $mesg->error; > > and the result is: > 53 > DSA is unwilling to perform > > It seems to me that the message code is "53", but what does "DSA is unwilling to perfom"? > > Can someone help me out? Thank you very much in advance. > > Best, > George > > You are telling you DSA to change something it is not allowed to do. You could be trying to change one of the operational attributes like creatTimeStamp etc. Regards, Clif Harden |
From: Clif H. <cl...@di...> - 2001-02-06 19:20:20
|
I have found the problem with the Schema changes I sent. Lucky it has nothing to do with the changes I sent out, but is a result of those changes. In the changes I made I asked for attributes like dITContentRules, dITStrutureRules, etc. In my Exchange schema there is a line for dITContentRules but this line does not have a definition, or data, for dITContentRules. Example; dITContentRules attributeTypes (2.5.4.0 NAME 'objectClass' STNTAX 'OID') The _parse_schema function will not accept a dITContentRules with no defined data, it will return a undefined error. This is probably a situation we should have comprehended in advance. Until a solution is found you could comment out the lines LDAP.pm that ask for attributes dITContentRules, etc, that have no definition. I suspect that Jim Harle's problem is his schema has one of the attributes listed but with no definition. Regards, Clif Harden INTERNET: c-h...@ti... |
From: Clif H. <cl...@di...> - 2001-02-06 18:27:29
|
It appears that the changes that I made for schema lookups has broken something. Jim Harle has reported a problem and I now attempted to pull schema data from my Exchange system. It is now broke too. The problem appears to be in the Schema.pm file. I am looking into it. Regards, Clif Harden INTERNET: c-h...@ti... |
From: Clif H. <cl...@di...> - 2001-02-06 18:23:25
|
> > Hello. In the perl script, I have the following codes: > > print $mesg->code . "\n"; > print $mesg->error; > > and the result is: > 53 > DSA is unwilling to perform > > It seems to me that the message code is "53", but what does "DSA is unwilling to perfom"? > > Can someone help me out? Thank you very much in advance. > > Best, > George > > You are telling you DSA to change something it is not allowed to do. You could be trying to change one of the operational attributes like creatTimeStamp etc. Regards, Clif Harden |
From: Zhu George-C. <Geo...@mo...> - 2001-02-06 17:51:22
|
Hello. In the perl script, I have the following codes: print $mesg->code . "\n"; print $mesg->error; and the result is: 53 DSA is unwilling to perform It seems to me that the message code is "53", but what does "DSA is unwilling to perfom"? Can someone help me out? Thank you very much in advance. Best, George |
From: Jeremy F. <jer...@or...> - 2001-02-06 17:44:56
|
Basically what I'm trying to do is pull information out of an LDIF file, and put it into an array or hash, so I can display it to the user and export it into a database. The commented line #print "$entry\n"; was taken out becuase it just prints the hash reference, and not the data itself, so I was told to use $ldif->write($entry); instead. However, when I do this, it outputs no data. My test ldif file has 3 entries, and if I uncomment that line, it does print 3 hash references. So I know it is reading the file, but I cant get any info out of it! Thanks in advance! Here is my code. (win32 platform) #!d:/perl/bin/perl.exe use Net::LDAP::LDIF; $ldif = Net::LDAP::LDIF->new( "D:/test.ldif", "r" ); while( $entry = $ldif->read() ) { #print "$entry\n"; $ldif->write($entry); } $ldif->done(); |
From: Graham B. <gb...@po...> - 2001-02-06 15:45:22
|
changing the constructor to $ldap = Net::LDAP->new('directory.usna.edu', debug => 15); may help Graham. On Tue, Feb 06, 2001 at 09:30:47AM -0600, Clif Harden wrote: > > Jim, > > The error implies that $schema did not get set by the > $ldap->schema() call. > > I am going to assume the script worked before the patch changes. > > Can you determine what the rootDSE subschemasubentry attribute > has in it. It would be nice to know its value. > > Jim you will probably have to do most of the trouble shooting on > this as I do not have access to a Novell directory server, unless > I can access yours on the internet. > > Regards, > > Clif Harden INTERNET: c-h...@ti... > > > > > > > Clif, I attempted to test this with Novell NDS8.5. I got the error: > > Can't call method "attributes" on an undefined value at findschema line > > 10, <STDIN> chunk 1. > > > > I first tried it with an anonymous bind and it failed, then I added code > > for an authenticated bind and tried it with an account with essentially > > all rights and still got the same message. Here is my code: > > > > #!/usr/local/bin/perl > > > > use Net::LDAP; > > use Net::LDAP::Schema; > > use Term::ReadKey; > > > > $ldap = Net::LDAP->new('directory.usna.edu'); > > validate(); > > $schema = $ldap->schema(); > > @atts = $schema->attributes(); > > print "first 3 attribites:\n"; > > for $i (0..2) {print " $atts[$i]\n"}; > > @usna_atts = $schema->attributes( 'USNAperson'); > > print "USNA person:\n"; > > foreach $v (@usna_atts) { print " $v\n"}; > > @dts = $schema->ditstructurerules(); > > print "first 3 structure rules:\n"; > > for $i (0..2) {print " $dts[$i]\n"}; > > @dtc = $schema->ditcontentrules(); > > print "first 3 content rules:\n"; > > for $i (0..2) {print " $dtc[$i]\n"}; > > print $schema->is_objectclass('newPilotPerson')?'correct':'wrong'," about > > npp\n";print "oid for squad ",$schema->is_attribute('USNAsquad'),"\n"; > > > > sub validate { > > print "your login "; > > chomp ( my $login = <>); > > print "your passwd "; > > ReadMode 'noecho'; my $password = ReadLine 0; chomp $password; ReadMode > > 'normal'; > > print "\n"; > > $ldap->bind ( version=>3) ; #first find dn for this login > > my $basedn = "o=usna"; > > my $filter = "(uid=$login)"; > > my $mesg = $ldap->search( > > base => $basedn, > > filter => $filter, > > attrs => ["dn"] > > ); > > if ($mesg->code || ($mesg->count() != 1)) { > > print "Couldn't find $login, message is \n ", > > Net::LDAP::Util::ldap_error_name($mesg->code), "\n"; > > exit; > > } > > my $entry = $mesg->entry(0); > > my $admindn = $entry->dn; > > $mesg = $ldap->bind (dn => $admindn, password => $password, version => > > 3) ; > > if ($mesg->code) { > > print "Couldn't bind to $login, message is \n ", > > Net::LDAP::Util::ldap_error_name($mesg->code), "\n"; > > exit; > > } > > } > > > > > > > > > > > > > > > -- > > |
From: Clif H. <cl...@di...> - 2001-02-06 15:28:52
|
Jim, The error implies that $schema did not get set by the $ldap->schema() call. I am going to assume the script worked before the patch changes. Can you determine what the rootDSE subschemasubentry attribute has in it. It would be nice to know its value. Jim you will probably have to do most of the trouble shooting on this as I do not have access to a Novell directory server, unless I can access yours on the internet. Regards, Clif Harden INTERNET: c-h...@ti... > > Clif, I attempted to test this with Novell NDS8.5. I got the error: > Can't call method "attributes" on an undefined value at findschema line > 10, <STDIN> chunk 1. > > I first tried it with an anonymous bind and it failed, then I added code > for an authenticated bind and tried it with an account with essentially > all rights and still got the same message. Here is my code: > > #!/usr/local/bin/perl > > use Net::LDAP; > use Net::LDAP::Schema; > use Term::ReadKey; > > $ldap = Net::LDAP->new('directory.usna.edu'); > validate(); > $schema = $ldap->schema(); > @atts = $schema->attributes(); > print "first 3 attribites:\n"; > for $i (0..2) {print " $atts[$i]\n"}; > @usna_atts = $schema->attributes( 'USNAperson'); > print "USNA person:\n"; > foreach $v (@usna_atts) { print " $v\n"}; > @dts = $schema->ditstructurerules(); > print "first 3 structure rules:\n"; > for $i (0..2) {print " $dts[$i]\n"}; > @dtc = $schema->ditcontentrules(); > print "first 3 content rules:\n"; > for $i (0..2) {print " $dtc[$i]\n"}; > print $schema->is_objectclass('newPilotPerson')?'correct':'wrong'," about > npp\n";print "oid for squad ",$schema->is_attribute('USNAsquad'),"\n"; > > sub validate { > print "your login "; > chomp ( my $login = <>); > print "your passwd "; > ReadMode 'noecho'; my $password = ReadLine 0; chomp $password; ReadMode > 'normal'; > print "\n"; > $ldap->bind ( version=>3) ; #first find dn for this login > my $basedn = "o=usna"; > my $filter = "(uid=$login)"; > my $mesg = $ldap->search( > base => $basedn, > filter => $filter, > attrs => ["dn"] > ); > if ($mesg->code || ($mesg->count() != 1)) { > print "Couldn't find $login, message is \n ", > Net::LDAP::Util::ldap_error_name($mesg->code), "\n"; > exit; > } > my $entry = $mesg->entry(0); > my $admindn = $entry->dn; > $mesg = $ldap->bind (dn => $admindn, password => $password, version => > 3) ; > if ($mesg->code) { > print "Couldn't bind to $login, message is \n ", > Net::LDAP::Util::ldap_error_name($mesg->code), "\n"; > exit; > } > } > > > > > > -- |
From: Jim H. <ha...@us...> - 2001-02-06 14:31:13
|
Clif, I attempted to test this with Novell NDS8.5. I got the error: Can't call method "attributes" on an undefined value at findschema line 10, <STDIN> chunk 1. I first tried it with an anonymous bind and it failed, then I added code for an authenticated bind and tried it with an account with essentially all rights and still got the same message. Here is my code: #!/usr/local/bin/perl use Net::LDAP; use Net::LDAP::Schema; use Term::ReadKey; $ldap = Net::LDAP->new('directory.usna.edu'); validate(); $schema = $ldap->schema(); @atts = $schema->attributes(); print "first 3 attribites:\n"; for $i (0..2) {print " $atts[$i]\n"}; @usna_atts = $schema->attributes( 'USNAperson'); print "USNA person:\n"; foreach $v (@usna_atts) { print " $v\n"}; @dts = $schema->ditstructurerules(); print "first 3 structure rules:\n"; for $i (0..2) {print " $dts[$i]\n"}; @dtc = $schema->ditcontentrules(); print "first 3 content rules:\n"; for $i (0..2) {print " $dtc[$i]\n"}; print $schema->is_objectclass('newPilotPerson')?'correct':'wrong'," about npp\n";print "oid for squad ",$schema->is_attribute('USNAsquad'),"\n"; sub validate { print "your login "; chomp ( my $login = <>); print "your passwd "; ReadMode 'noecho'; my $password = ReadLine 0; chomp $password; ReadMode 'normal'; print "\n"; $ldap->bind ( version=>3) ; #first find dn for this login my $basedn = "o=usna"; my $filter = "(uid=$login)"; my $mesg = $ldap->search( base => $basedn, filter => $filter, attrs => ["dn"] ); if ($mesg->code || ($mesg->count() != 1)) { print "Couldn't find $login, message is \n ", Net::LDAP::Util::ldap_error_name($mesg->code), "\n"; exit; } my $entry = $mesg->entry(0); my $admindn = $entry->dn; $mesg = $ldap->bind (dn => $admindn, password => $password, version => 3) ; if ($mesg->code) { print "Couldn't bind to $login, message is \n ", Net::LDAP::Util::ldap_error_name($mesg->code), "\n"; exit; } } |