2000-09-19 Leif Hedstrom * Conn.pm (update): Bug fix to allow us to delete() an attribute, call update(), and then add new values (or the same values...) to the entry again. 2000-09-19 Leif Hedstrom * Entry.pm (DESTROY): Bug fix from daniel.hams@db.com (Daniel Hams) to avoid warnings from Apache and mod_perl. 2000-09-13 Leif Hedstrom * Utils.pm (askPassword): Oops, stupid typo here, should be "unless $prompt" of course... 2000-09-13 Leif Hedstrom * Entry.pm (isDeleted): Removed a test which made this function not working at all... :) 2000-09-13 Leif Hedstrom * Removed an if defined() to avoid warnings with Perl v5.6. 2000-06-24 Wolfram Schmidt * Entry.pm (FIRSTKEY): Fix bug for deleting all attributes and calling keys. 2000-05-30 Kevin McCarthy * Makefile.PL: Added fix so API.xs compiles under Perl 5.6 (POLLUTE=>1) 2000-05-30 Leif Hedstrom * Lots of small fixes... 1999-09-07 Leif Hedstrom * API.xs (avref2charptrptr): Fixed potential core dump, if the argument passed wasn't a proper array. (avref2berptrptr): Ditto. 1999-09-06 Leif Hedstrom * Conn.pm (search): Removed $res and $resv, set the internal data element directly. (searchURL): Ditto. 1999-08-25 John Kristian * Entry.pm (printLDIF): Bug fix. * LDIF.pm: Cleaned out memory leaks. 1999-08-24 Leif Hedstrom * Merged v1.3.x into trunk, tagged it as v1.4, and released it! 1999-08-19 Leif Hedstrom * Changed internal version numbering again, just called this plain v1.4. * Entry.pm (FIRSTKEY): Bug fix, we'd crap out if there are no attributes in the returned entry. (NEXTKEY): Ditto. 1999-08-18 Leif Hedstrom * Set version number to v1.4! Woohoo! Also tagged it as v1.3.4, last "development" release. 1999-08-17 Leif Hedstrom * Makefile.PL: Fixes for Windows/NT, cleaned out some code etc. (MY::postamble): Support for "make html". * MANIFEST: Updated with all new files etc. * test.pl: Renamed to oldtest.pl, to avoid "make test" to fail. 1999-08-16 Kevin McCarthy and Leif Hedstrom * API.xs: Cleaned most all the memory allocation changes, we are changing it to use the LDAP_OPT_MEMALLOC_FN_PTRS option in the C-SDK instead (much cleaner!). (perldap_init): New function, set up the memory management handlers. This is called when the API module is loaded. (perldap_malloc): New function, our memory management method(s). (perldap_calloc): Ditto. (perldap_realloc): Ditto. (perldap_free): Ditto. 1999-08-16 Kevin McCarthy * API.xs: Cleaned up prototypes, changed strdup() to use a Perl'ified version, change a number of free()'s to use Safefree. (ldap_value_free_perl): New function, similar to ldap_mods_free_perl(), to avoid memory problems (on NT and ActivePerl primarily). (StrDup): New function, to handle strdup() calls in a safe way. (ber_bvfree_perl): Ditto. (ber_bvecfree_perl): Ditto. 1999-08-15 Leif Hedstrom * API.xs (ldap_mods_free_perl): Modified version of ldap_mods_free(), which uses Perl native free method instead of the things from the LDAP SDK. This fixes some nasty issues with Windows/NT and ActiveState Perl. Woohoo!!! 1999-08-14 Leif Hedstrom and Kevin McCarthy * Entry.pm (setValues): Implemented bug fix for bug id 7131, where the "_save_" structures weren't set properly when using setValues(). 1999-08-14 Kevin McCarthy * Conn.pm (update): Rewrote to optimize add/remove vs replace operations. Basically, we'll try to do whatever seems to be the smallest amount of work for the LDAP server now. 1999-08-13 Leif Hedstrom * Makefile.PL: Cleaned up code, and added support for linking in the missing libraries need for some missing symbols. 1999-08-13 Michelle Wyner * Entry.pm: Updated documentation, and cleaned it up. * Conn.pm: Ditto. 1999-08-12 Leif Hedstrom * Entry.pm (move): Changed name, was rename(), is now move(). 1999-08-10 Leif Hedstrom * Entry.pm (setValues): Renamed, used to be setValue(), which is now an alias to setValues(). (getValues): New method, to get the array of values. (STORE): Fixed tests around DN handling, making sure it's not treated as an array. I also optimized a couple of tests, since we now filter out "DN" earlier in the funtion(s). (attrModified): Ditto. (attrClean): Ditto. (unRemove): Ditto. (removeValue): Ditto. (addValue): Ditto. 1999-08-08 Leif Hedstrom and Kevin McCarthy * Entry.pm (setValue): Remove _delete_ flag, if set. * Conn.pm (close): Fixed memory leak, moved code from the DESTROY method over here. (DESTROY): Call the close() method. (getErrorCode): We now return LDAP_SUCCESS if there is no LDAP connection handle. (getErrorString): Ditto. * Entry.pm (STORE): Bug fix for large attribute sets. (attrModified): Ditto. (removeValue): Ditto. (addValue): Ditto. (EXISTS): Fix for bug 4368, cleaning up the code, and avoid the double calls. 1999-08-06 Leif Hedstrom and Kevin McCarthy * API.xs: Added some more tests around free() statements. These are most likely never triggered, but better safe than sorrow (and the overhead of testing this is insignificant). * Conn.pm (browse): Added this function, to make it easy to browse an entry. (compare): Compare an attribute value against a DN/entry, without having to do the search. * Entry.pm (removeValue): Fixed loop bug. (addValue): Ditto. (hasValue): Ditto. (matchValue): Fixed loop bug, and also missing normalization in half of the case statement. (rename): Added this new method, to rename attributes. (copy): Added, to copy attributes. * Merged v1.2.3 with v1.3 branch. 1999-08-06 Kevin McCarthy * Entry.pm (addDNValue): Bug fix, index for norm was wrong. * Entry.pm (size): Optimzied for performance. 1999-07-25 Kevin McCarthy * API.xs: Fixed memory allocation problems in parsing and generating the LDAPMods structure. 1999-06-22 Leif Hedstrom * Conn.pm (add): Fixed bug 3342, thanks to Kevin McCarthy for debugging this, and providing a patch. This fixes the problem with adding new entries that has binary data. 1999-03-23 Leif Hedstrom * Changed versioning numbers for all .pm files. 1999-03-22 Leif Hedstrom * Entry.pm: Removed all _self_obj_ stuff... * Conn.pm: Ditto. * Conn.pm: Cleanup in use statements, and "use strict". (search): Avoid warnings of uninitialized variables. (searchURL): Ditto. (modifyRDN): Bugfix, we did not update the appropriate DN in the self object (very minor...). * Entry.pm: Cleanup in use statements, and "use strict". (BEGIN): Added this initializer, to use the new LDIF module. (STORE): Fixed bug where we would not ignore the internal instance variables properly. * Utils.pm: Cleanup in all use statements, and "use strict". Also enforces the VERSION control feature. * Merged v1.2.1 to devel-branch-1_3, and tagged v1.3.1. 1999-03-21 Leif Hedstrom * Checked in v1.2.1(beta). 1999-03-19 Leif Hedstrom * Conn.pm (add): Fixed the code so that it will handle hash array, as the documentation indicates. (Pointed out by Kevin Burns). (add): Code cleanup in the add() method. 1999-03-18 Leif Hedstrom * Entry.pm: Changed back some of the "my" definitions, to make sure arrays are properly reset. (setValue): Added the _modified_ flag, from Stephen P. Schaefer . (addValue): Bug fix, when calling delete, and then addValue(). From Stephen P. Schaefer as well. * Conn.pm: Ditto. This fixes the bug where qsearch/printLDIF() would print multiple values. 1999-03-12 Leif Hedstrom * Conn.pm: Changed docs for modifyRDN(), it was wrong... 1999-03-11 Leif Hedstrom * Entry.pm (new): Added this method, so that "new ...::Entry" will work as expected. 1999-03-09 Leif Hedstrom * Entry.pm: Tons of changes to handling the save/modified/deleted attribute values. (DESTROY): Added this destructor again, this time it does seem to help quite a lot! Whoohoo... * Conn.pm (update): Bug fix for bug #2530, keeping sort order for attribute values. 1999-03-08 Leif Hedstrom * Entry.pm (unRemove): Bug fix, this was terribly horked, please let's try it to make sure it works... * Conn.pm (newEntry): Bug fix, forgot to give it the self_obj member value... Sigh. 1999-03-05 Leif Hedstrom * Entry.pm (DELETE): We now handle the event that someone tries to delete an internal attribute. * Conn.pm (update): Bug: We forgot to test for existance of "_save_" before trying to loop over it. * Entry.pm (attrClean): Added this method, to make it easier to reset the internal state of en Entry. This is used primarily by the Conn.pm package. (unRemove): Bug Fix: $selfl changed to $self... 1999-02-28 Leif Hedstrom * Entry.pm (matchValue): Added support for the normalization, which should have been done before... Bug #2854. * Conn.pm (printError): Changed to use ldap_err2string instead of ldap_perror. * Utils.pm (ldapArgs): Changed "root" to "base" in the LD structure. (userCredentials): Ditto. * Conn.pm: Changed documentation to reflect the "base/root" change. 1999-01-06 Leif Hedstrom * Conn.pm (nextEntry): Fixed (tried to fix...) the bug with missing attributes. I hope this will work, at a minimum I'm sure it won't hurt. The idea is to keep the case on the attribute type when requesting the values_len(). 1999-01-11 Leif Hedstrom * API.xs: Added IF statements around all ldap_value_free() calls. 1999-01-05 Leif Hedstrom * Conn.pm (getRes): Ooops, didn't return the appropriate value... :( (init): Changed test for LDAP_SUCCESS, to always return 0 or 1. (close): Ditto. (delete): Ditto. (add): Ditto. (modifyRDN): Ditto. (update): Ditto. (simpleAuth): Ditto. * Entry.pm (NEXTKEY): Don't return the last $key if it's one that should be hidden. * Conn.pm (newEntry): New method, to create an empty LDAP::Entry object. It is properly "tied" into the appropriate object. 1999-01-04 Leif Hedstrom * Entry.pm (setDN): Added third optional argument, to enfoce DN normalization. (getDN): Ditto. (hasDNValue): Ditto. (matchDNValue): Ditto. * Entry.pm (removeValue): Added support for DN normalization (optional argument). (addValue): Ditto (getDN): Ditto. 1998-12-31 Leif Hedstrom * Entry.pm (DESTROY): Added this method, don't know if it actually makes any sense at all... :( * Conn.pm (add): Use _oc_order_ to find a list of attributes, to avoide calling the TIEHASH methods. (update): Ditto. (ALL): Clean out some "my" definitions. * Entry.pm (unRemove): New function, to undo remove opertaions on an attribute. (DELETE): Bug-fix, don't undef the attribute, it would prevent us from updating it properly in the Conn::update() method. (remove): Ditto. * Conn.pm (nextEntry): Return $obj instead of blessing the %entry (again). 1998-12-25 Leif Hedstrom * Conn.pm (POD): Changed examples from $conn -> $entry. 1998-12-17 Leif Hedstrom * Conn.pm (DESTROY): undef the Perl data after doing a ldap_msgfree(), bug #1964. (search): Ditto. (searchURL): Ditto. (nextEntry): Changed the order of setting numattr, to make sure it's zero if we don't find anything. 1998-12-16 Leif Hedstrom * Entry.pm (FIRSTKEY): Modified to honor the oc_order. (NEXTKEY): Ditto. (markModified): Made as an alias for attrModified(). * Conn.pm (nextEntry): Added code to handle internal counters for number of attributes in oc_order. This is used/needed for the FIRSTKEY and NEXTKEY methods in the Entry/Tie::Hash object. * Entry.pm (isAttr): New method, to make sure an attribute name really is a valid LDAP attribute. (FIRSTKEY): Now we'll handle each() and keys() properly, whooohoo! (NEXTKEY): Ditto. 1998-12-15 Leif Hedstrom * Entry.pm (isDeleted): Added new method, almost identical to isModified(). (EXISTS): New method, to implement the EXISTS functionality. * API.xs (RET_CPP): Test for NULL pointers, bug #1387. (RET_BVPP): Ditto. * Utils.pm (ldapArgs): Fixed bug where "-s 0" would not be honored (I'm an idiot, OK?). 1998-12-14 Leif Hedstrom * Conn.pm (getRes): New method, to return the internal result message. (getLD): Use defined() around test for existence. 1998-12-11 Leif Hedstrom * Conn.pm (new): Make sure binddn and bindpasswd are set to the empty string unless specified. (init): Make sure certdb is defined before trying to use it. (setDefaultRebindProc): Added default auth method, unless explicitly specified. * Utils.pm (askPassword): Added support for Term::ReadKey. (askPassword): Moved the eval "use ..." here. (userCredentials): Removed verbose print statement. (askPassword): Added an optional argument to print a prompt; * Conn.pm (setDefaultRebindProc): Added a default "auth" value, if not provided in the call. 1998-12-04 Leif Hedstrom * Makefile.PL: Modified so that "silent" install will actually echo what options it's setting. It will now croak() if the SDK dir specified doesn't exist. * INSTALL: Updated to reflect new v1.1 stuff. Added links to the FAQ. * README: Ditto. Also changed some of the binary install information, which might not be useful anyways... * Makefile.PL: Added "filters" to remove .dll and .sl from shared libraries when creating link options. I also replaced the code to put the valid library extensions into a variable (bug #1344). * Makefile.PL: Fixed some crap with the config parsing, and ENV handling (for silent installs). 1998-12-03 Leif Hedstrom * Conn.pm (update): Bug fix, now we empty the hash array before examining changed attributes (bug #1385). * Makefile.PL: Added the "-nolinenumbers" XSUBS options (bug #1329). 1998-09-26 Leif Hedstrom * Conn.pm (init): Cleaned out _perror() calls. (delete): Added support for calling delete() with an Entry:: object as paramter. (new): Cleaned out some dead code for $ref. * Entry.pm (setValue): New method, to avoid having to use Perl assignment statements to set an entire attribute value. 1998-09-18 Leif Hedstrom * Conn.pm (init): Changed call to ldapssl_client_init() to pass a 0 value as the handle pointer. This avoids a Perl compiler warning. 1998-09-12 Leif Hedstrom * LDIF.pm (readEntries): Changed tests for empty arguments, to use defined(). * Utils.pm (ldapArgs): Bug fix, we used the wrong option for the certificate (-P) when checking to set the LDAP port. (normalizeDN): Chagned tests for empty arguments, to use use defined(). * Entry.pm (STORE): Changed tests for empty arguments, to use defined(). (DELETE): Ditto. (attrModified): Ditto. (isModified): Ditto. (remove): Ditto. (removeValue): Ditto. (addValue): Ditto. (hasValue): Ditto. (matchValue): Ditto. (setDN): Ditto. (size): Ditto. (exists): Ditto. * Conn.pm (printError): Changed test for $str to see if it's defined. (delete): Cleaned up code around $dn. (modifyRDN): Cleaned up testes around $dn and $del. 1998-09-11 Leif Hedstrom * Conn.pm (modifyRDN): We now preserve the case of the DN/RDN, but still treat RDNs as CIS when comparing strings. 1998-09-08 Leif Hedstrom * Conn.pm (setDefaultRebindProc): Bug fix, it had the Ldapc:: crap stil in there... :-(. (simpleAuth): New method, to do simple authentication rebind. 1998-09-07 Leif Hedstrom * Makefile.PL: Changed all <> to , to support command line arguments for MakeMaker. 1998-09-03 Leif Hedstrom * Conn.pm (nextEntry): Fixed bug with case sensitivity. 1998-08-18 Leif Hedstrom * Conn.pm (setDefaultRebindProc): It's back! Officially released PerLDAP v1.0. 1998-08-13 Leif Hedstrom * Makefile.PL: Fixed so that automated installs works. * Conn.pm (update): Fixed narly bug with ldap_modify()... * All: Cleaned up some hash indexes, to make sure they are properly quoted, and there are no conflicts to resolve. * Entry.pm (STORE): Fixed a bug with attribute names not being properly added to _oc_order_. (addValue): Ditto, added the same code as for STORE. 1998-08-06 Leif Hedstrom * Entry.pm (printLDIF): Copied/modified from the Utils.pm library. (isModified): Added this function, thought it might be useful. 1998-08-03 Leif Hedstrom * Conn.pm (modifyRDN): Fixed! It also has an option to take an "external" DN as an argument, if supplied. 1998-08-02 Leif Hedstrom * Conn.pm (getErrorCode): Now takes two optional arguments, to return the match string, and extra error string. Note that these two arguments are pointers to strings! * API.xs(ldap_get_lderrno): Fixed this function, at least it seems to work now... * Conn.pm (getLD): Added this function, convenient way to get the LD from the OO layer. 1998-07-30 Leif Hedstrom * Conn.pm (modifyRDN): New method, to rename the RDN of the entry. * Utils.pm (answer): New function, from LdapUtils.pm. * Conn.pm (delete): Fixed references to normalizeDN. * Utils.pm (userCredentials): Added this function, to make it easy to get credentials when binding as a user. (normalizeDN): Fixed bugs, because of calling convention... * Conn.pm (getError): Fixed bug with passing read-only argument. 1998-07-29 Leif Hedstrom * Utils.pm (unixCrypt): Moved from my LdapUtils.pm module. Added askPassword to the export tag. * Conn.pm (new): Added support for passing a hash array of all the parameters, as returned by the ldapArgs() function. * Utils.pm (str2Scope): New function, for converting strings (subtree) to a numerical scope value (2). (askPassword): Ditto, ask for a password, interactively. (ldapArgs): Ditto, handle common LDAP command line arguments. * Makefile.PL: Minor change, to do regex match on OS version for MSWin. * Entry.pm: Changed all _XXX hash values to also end with a _, hence making it easier to isolate them (/^_.*_$/). * Conn.pm (nextEntry): Changed to accept that the attributes are now arrays, not pointers to arrays. We still consider them as pointers internally though, it's cleaner API. * API.pm: Changed to use the native Exporter function to export tags into EXPORT_OK. 1998-07-22 Leif Hedstrom * LDIF.pm (readEntry): Moved from my LdapUtils.pm package. * Utils.pm (printEntry): Moved from the ::Connection class, and marked it as "obsolete". (encodeBase64): Moved from my LdapUtils.pm package. (decodeBase64): Ditto.