Closed
Bug 11114
Opened 25 years ago
Closed 25 years ago
Issues with setValue()
Categories
(Directory :: PerLDAP, defect, P3)
Directory
PerLDAP
Tracking
(Not tracked)
People
(Reporter: leif, Assigned: leif)
Details
Attachments
(2 files)
G'day Leif, I posted an item to netscape.public.mozilla.directory re perldap1.2.2 but got no response so I've decided to go to the source. I'm doing a Directory/Messaging implementation at the University of Technology, Sydney (UTS) and PerLDAP is kinda important for syncing the various data sources into the directory. I've created the concept of a 'set' flag in addition to your 'modified' and 'deleted' flags. I've gone ahead and resolved the issues below but haven't put the mods thru exhaustive testing. In Conn.pm:update() I didn't understand your use of $[ and so I didn't make too many changes. Pls find attached Conn.pm and Entry.pm hoping they will be of some use to you. The problems I had with perldap1.2.2 were as follows, from the original post: ---------------- perldap1.2 was giving me segmentation faults and bus errors so I've just installed perldap1.2.2 on SunOS directory 5.6 Generic_105181-14 sun4u sparc SUNW,Ultra-250, ldapsdk-3.0. The segmentation faults and bus errors have gone away but now I've encountered the following problems: 1. Warning "Reference found where even-sized list expected at /opt/local/lib/perl5/site_perl/5.005/sun4-solaris/Mozilla/LDAP/Conn.pm line 138, <INFILE> chunk 31036. my %entry = {}; should probably read my %entry = (); 2. setValue() on an attribute which exists in the schema but which doesn't exist in the entry just searched doesn't add it to _oc_order_ and hence printLDIF() and update() don't see it, hence it doesn't get updated. I couldn't see why nextEntry() couldn't create an ::Entry object and hence use the STORE method to set all the tracking values. It made sense to me that an entry just 'searched' was really no different to an entry just created with newEntry except that the _modified_ flags should be deleted, and that only STORE should worry about such things as _oc_order_ etc.. After making such tweaks all went well until the bus errors returned. I traced them into ldap_modify_s, at which point I gave up and backed-out the changes. 3. Funny behaviour on update() when dealing with multi-occuring values of an attribute. eg. using setValue() to set multiple values I expected the modify operation to be "rb", i.e. replace, instead I get "ab" and then an ldap error 20, as follows: $entry->setValue('faculty', @{$student->{'faculty'}}); with $main::LDAP_DEBUG=1 the debug output is Working on faculty Doing operation: ab Engineering Vice Chancellor then getErrorCode() == 20 and printError() outputs "LDAP error: Type or value exists" -------------- regards, taras ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "And the note said: 'Requires Win95, NT4.0 or better.' So I installed FreeBSD." - common sense Taras M. Dowhaluk Director - Technical Operations VisionDB Pty Ltd Sydney, Australia email: tarasd@visiondb.com.au www: http://www.visiondb.com.au voice: 0412 281 323 fax: +61 2 9894 4718 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Assignee | ||
Comment 1•25 years ago
|
||
Assignee | ||
Comment 2•25 years ago
|
||
Assignee | ||
Updated•25 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Updated•25 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
Assignee | ||
Comment 3•25 years ago
|
||
#1 and #2 are fixed, and #3 is a duplicate of 7131. *** This bug has been marked as a duplicate of 7131 ***
Comment hidden (collapsed) |
You need to log in
before you can comment on or make changes to this bug.
Description
•