ERROR 89

2006-03-24 Thread Jim Summers

Hello List,

I am re-writing some old scripts to take advantage of perl-ldap.   I was 
working with a script to modify info and it seemed to be working fine.


I wanted to modify the value of the "loginShell" attribute for an account.  It 
works perfectly for one entry.  Then I tested on a second entry and it fails 
with the following:


LDAPERROR:89
LDAP_PARAM_ERROR
An invalid parameter was specified

The entry that it works on has the following object classes:
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person

and the one it does not work on has:
objectClass: posixAccount
objectClass: shadowAccount
objectClass: account
objectClass: top
objectClass: sambasamaccount
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person

I am not sure what is going on here.

Any ideas or suggestions?

TIA
--
Jim Summers
School of Computer Science-University of Oklahoma
-


Re: ERROR 89

2006-03-24 Thread Quanah Gibson-Mount



--On Friday, March 24, 2006 8:59 AM -0600 Jim Summers 
<[EMAIL PROTECTED]> wrote:



Hello List,

I am re-writing some old scripts to take advantage of perl-ldap.   I was
working with a script to modify info and it seemed to be working fine.

I wanted to modify the value of the "loginShell" attribute for an
account.  It works perfectly for one entry.  Then I tested on a second
entry and it fails with the following:

LDAPERROR:89
LDAP_PARAM_ERROR
An invalid parameter was specified

The entry that it works on has the following object classes:
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person

and the one it does not work on has:
objectClass: posixAccount
objectClass: shadowAccount
objectClass: account
objectClass: top
objectClass: sambasamaccount
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person

I am not sure what is going on here.

Any ideas or suggestions?


Does your server have the sambasamaccount objectclass loaded?

--Quanah


--
Quanah Gibson-Mount
Principal Software Developer
ITS/Shared Application Services
Stanford University
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html


Re: ERROR 89

2006-03-24 Thread Chris Ridd
On 24/3/06 10:56, Quanah Gibson-Mount <[EMAIL PROTECTED]> wrote:

> 
> 
> --On Friday, March 24, 2006 8:59 AM -0600 Jim Summers
> <[EMAIL PROTECTED]> wrote:
> 
>> Hello List,
>> 
>> I am re-writing some old scripts to take advantage of perl-ldap.   I was
>> working with a script to modify info and it seemed to be working fine.
>> 
>> I wanted to modify the value of the "loginShell" attribute for an
>> account.  It works perfectly for one entry.  Then I tested on a second
>> entry and it fails with the following:
>> 
>> LDAPERROR:89
>> LDAP_PARAM_ERROR
>> An invalid parameter was specified
>> 
>> The entry that it works on has the following object classes:
>> objectClass: account
>> objectClass: posixAccount
>> objectClass: top
>> objectClass: shadowAccount
>> objectClass: inetOrgPerson
>> objectClass: organizationalPerson
>> objectClass: person
>> 
>> and the one it does not work on has:
>> objectClass: posixAccount
>> objectClass: shadowAccount
>> objectClass: account
>> objectClass: top
>> objectClass: sambasamaccount
>> objectClass: inetOrgPerson
>> objectClass: organizationalPerson
>> objectClass: person
>> 
>> I am not sure what is going on here.
>> 
>> Any ideas or suggestions?
> 
> Does your server have the sambasamaccount objectclass loaded?

That's a possible problem, however I think LDAP_PARAM_ERROR can only be
generated locally by Net::LDAP so the problem's likely in the script.

Typical reasons are:

* attempting to use a control or start_tls with LDAPv2

* passing in a bad filter string

* failing to pass a DN to add/modify/moddn/compare/delete

* passing an unknown change type to modify

* failing to pass a new RDN to moddn

And possibly other ones I've missed!

Extra information will be in the returned $mesg object.

Cheers,

Chris