Commit Graph

24 Commits

Author SHA1 Message Date
Pierangelo Masarati
6f3363f0d9 Under some circumstances, port 9010 is already in use and may cause problems to referrals whose server is supposed to be unavailable 2005-07-20 11:17:06 +00:00
Pierangelo Masarati
e6ecb77b0e drop stored procedures 2005-07-20 11:16:09 +00:00
Pierangelo Masarati
ba8b6bbd88 add delete stuff to all attributes (needed to deelete with "fail_if_no_mapping yes"); passes write test(s) 2005-06-13 22:13:10 +00:00
Pierangelo Masarati
3751f0325d work around syncprov interoperation issues; minor cleanup 2005-06-01 19:35:13 +00:00
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