Commit Graph

20 Commits

Author SHA1 Message Date
Pierangelo Masarati
d520cd607d remove all referral specific code; now referrals can be used by defining appropriate data/metadata 2005-01-19 00:00:52 +00:00
Pierangelo Masarati
a3fbea971b map referrals in regular metadata structure (need to remove some of the specific code) 2005-01-18 23:28:03 +00:00
Pierangelo Masarati
d252d9c535 map referrals in regular metadata structure (need to remove some of the specific code) 2005-01-18 23:21:48 +00:00
Pierangelo Masarati
8b26737c27 fix different issues with referrals in searches; remove unused tests; cleanup referrals in tests so that they don't get chased; improve schema checking in modrdn and updates in general; minor cleanup 2005-01-18 01:10:01 +00:00
Pierangelo Masarati
f5936eb7fc minor naming cleanup; improvements to DN mapping layer; major docs update 2005-01-05 16:23:00 +00:00
Pierangelo Masarati
6fdb803bde cleanup 2004-12-11 18:04:38 +00:00
Pierangelo Masarati
53483e012d more definitive improvements; now write operations are consistent; plugged some more leaks/invalid frees; tests are more complete. IBM db2 doesn't pass write test because the entries are written in a different order; need to write a script that sorts the results... 2004-08-25 10:41:13 +00:00
Pierangelo Masarati
752bffb16c write test is almost working for ibmdb2 as well... 2004-08-24 17:08:30 +00:00
Pierangelo Masarati
a8674f59d7 fix various issues; line up with new tests 2004-08-24 10:31:02 +00:00
Pierangelo Masarati
b7c0b9ed7f further improve tests; line-up with code 2004-08-21 09:45:14 +00:00
Pierangelo Masarati
f59089b5b0 now PostgreSQL seems to work... 2004-08-20 15:24:39 +00:00
Pierangelo Masarati
930f415673 update of RDBMS data for test031 2004-08-20 14:27:32 +00:00
Pierangelo Masarati
253f70e0c2 fix duplicate key in metadata 2004-01-31 10:31:13 +00:00
Pierangelo Masarati
fa856463fe now I remember why I introduced the 'has_ldapinfo_dn_ru' flag 2004-01-17 11:33:13 +00:00
Pierangelo Masarati
aa39de6db3 should improve readability and (hopefully) decrease traffic on openldap-software; sorry I can't test it right now 2004-01-16 18:56:22 +00:00
Pierangelo Masarati
15da03a587 table 'ldap_entries' must be aliased to allow filtering for DN-valued attrs 2004-01-09 01:48:41 +00:00
Pierangelo Masarati
eb38db1be5 various fixes and improvements 2002-09-02 19:39:31 +00:00
Pierangelo Masarati
f11c6b27e7 Final run of changes to back-sql; IBM db2 support has been tested.
Now related ITSes need be audited and possibly closed.

Enhancements:
  - re-styled code for better readability
  - upgraded backend API to reflect recent changes
  - LDAP schema is checked when loading SQL/LDAP mapping
  - AttributeDescription/ObjectClass pointers used for more efficient
    mapping lookup
  - bervals used where string length is required often
  - atomized write operations by committing at the end of each operation
    and defaulting connection closure to rollback
  - added LDAP access control to write operations
  - fully implemented modrdn (with rdn attrs change, deleteoldrdn,
    access check, parent/children check and more)
  - added parent access control, children control to delete operation
  - added structuralObjectClass operational attribute check and
    value return on search
  - added hasSubordinate operational attribute on demand
  - search limits are appropriately enforced
  - function backsql_strcat() has been made more efficient
  - concat function has been made configurable by means of a pattern
  - added config switches:
      - fail_if_no_mapping	write operations fail if there is no mapping
      - has_ldapinfo_dn_ru	overrides autodetect
      - concat_pattern		a string containing two '?' is used
				(note that "?||?" should be more portable
				than builtin function "CONCAT(?,?)")
      - strcast_func		cast of string constants in "SELECT DISTINCT					statements (needed by PostgreSQL)
      - upper_needs_cast	cast the argument of upper when required
				(basically when building dn substring queries)

Todo:
  - add security checks for SQL statements that can be injected (?)
  - re-test with previously supported RDBMs
  - replace dn_ru and so with normalized dn (no need for upper() and so
    in dn match)
  - implement a backsql_normalize() function to replace the upper()
    conversion routines
  - note that subtree deletion, subtree renaming and so could be easily
    implemented (rollback and consistency checks are available :)
  - implement "lastmod" and other operational stuff (ldap_entries table ?)
2002-08-23 08:54:08 +00:00
Pierangelo Masarati
05348c5fc5 CHANGES:
- now all write operations appear to work correctly with PostgeSQL 7.0
- all write operations have been made transactional (atomic writes to
  entries are committed separately only in case of complete^1 success
  while all other operations are rolled-back by default)
- more cleanup and handling of exceptional conditions

TODO:
- deen to check with different databases and more up to date versions
  of both unixODBC and PostgreSQL.

^1: attribute add/modify/delete operations silently succeed if the
    appropriate add/delete proc does not exist for each attribute;
    this may be correct to hide undesired/unimplemented correspondence
    between LDAP and SQL databases; however, a more appropriate
    LDAP behavior would be a failure with LDAP_UNAVAILABLE if a
    single write operation cannot be executed for such reason
2002-08-16 16:45:24 +00:00
Pierangelo Masarati
7c2de5721a VERY PRELIMINARY support for PostgreSQL and IBM db2 2002-08-13 17:07:40 +00:00