Commit graph

390 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
Hallvard Furuseth
81ecb0b153 assert expects int. (int)<nonnull ptr/long> can be 0. Use assert(arg!=0/NULL). 2005-07-18 06:22:33 +00:00
Pierangelo Masarati
684860502e should address ITS#3861 2005-07-13 17:43:30 +00:00
Hallvard Furuseth
b1f5e9258a Complete the replacement of LDAP_CONTROL_X_TREE_DELETE with
SLAP_CONTROL_X_TREE_DELETE, which is only defiend when LDAP_DEVEL.
back-sql triggered an assert(0): It expected the control to be supported.
2005-07-07 20:36:37 +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
acf5187b2e rework assertion 2005-06-13 22:12:11 +00:00
Pierangelo Masarati
495106c213 fix potential SIGSEGV when backsql_modify_delete_all_values() is used outside backsql_add() 2005-06-13 22:11:41 +00:00
Pierangelo Masarati
91bdea2817 use "pgsql" instead of "postgres" for consistency with the directory names in servers/slapd/back-sql/rdbms_depend 2005-06-09 11:03:06 +00:00
Pierangelo Masarati
94747a8489 fix previous commit; document aliasing and aliasing quotes configuration 2005-06-09 09:45:02 +00:00
Pierangelo Masarati
e52d5cb812 make aliasing and aliasing quotes configurable 2005-06-09 09:43:20 +00:00
Pierangelo Masarati
4d58c2f39f fix previous commit 2005-06-01 19:36:58 +00:00
Pierangelo Masarati
3751f0325d work around syncprov interoperation issues; minor cleanup 2005-06-01 19:35:13 +00:00
Pierangelo Masarati
6434721e42 fix improper use of "fail_if_no_mapping" flag: fail in case of error, don't fail only if mapping is not present 2005-06-01 16:51:36 +00:00
Kurt Zeilenga
feeeabcd68 manageDIT framework and obsolete objectclasses/DIT-content-rule override 2005-05-13 19:07:31 +00:00
Howard Chu
c225c4af34 Updated ldif_read_record to support LDIF include: directive 2005-05-12 00:46:39 +00:00
Pierangelo Masarati
3ce45e11bb fix and strengthen the structural objectClass test 2005-05-12 00:43:29 +00:00
Pierangelo Masarati
740835dff9 remove global_schemacheck 2005-05-12 00:03:50 +00:00
Pierangelo Masarati
4abbf9c610 implement add/delete granularity in write access (ITS#3631) 2005-04-08 00:18:24 +00:00
Pierangelo Masarati
0220a25f05 use alias name instead of column name in order by clause (ITS#3629) 2005-04-04 17:41:29 +00:00
Pierangelo Masarati
20b3d14dc3 more dnParent() cleanup 2005-03-30 22:29:54 +00:00
Kurt Zeilenga
71c2c1c9fe Change "subtree delete not supported" diagnostic text to
"subordinate objects must be deleted first" as the "not supported"
language implies some feature of LDAP is not implemented in slapd(8).
2005-03-26 00:53:00 +00:00
Pierangelo Masarati
5d19659193 honor abandon/cancel (ITS#3551) 2005-02-19 12:25:55 +00:00
Pierangelo Masarati
0f18e6ce24 fix ITS#3551 2005-02-19 11:07:02 +00:00
Pierangelo Masarati
fbb2b75ace matched values is "global" 2005-01-30 22:04:02 +00:00
Pierangelo Masarati
96fa1eda64 (blind) improvement of column name aliasing 2005-01-21 17:27:27 +00:00
Pierangelo Masarati
2975c6d46e provision for ITS#3497 2005-01-20 16:35:49 +00:00
Pierangelo Masarati
5785175313 provision for ITS#3497 2005-01-20 16:06:41 +00:00
Pierangelo Masarati
0c601c5db2 fix compare; more manageDSAit cleanup 2005-01-20 00:17:52 +00:00
Pierangelo Masarati
3638004798 remove all referral specific code; now referrals can be used by defining appropriate data/metadata 2005-01-19 00:09:07 +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
fa498ee015 various issues related to working with schemacheck off; allow referrals to be created as separate objectClasses, so they work with schemacheck on (may rework them to be treated as normal data) 2005-01-17 21:10:55 +00:00
Pierangelo Masarati
eb0421c471 fix several schema checking issues; add rename specific statement for entry renaming without losing ID (helps e.g. in renaming referrals, otherwise referential integrity would prevent del/add because of referenced stuff in ldap_referrals and ldap_entry_objclasses); referrals need schemacheck off otherwise objectClass chain is invalid (they need to be attached to another objectClass by now; will address this later) 2005-01-17 19:32:28 +00:00
Pierangelo Masarati
b4e37e518f fixes for ITS#3480,3485,3489; implementation of DISCLOSE access for all operations (ITS#3472); ITS#3432.4; added value validate/pretty when applicable (see comments and #defines in back-sql.h) 2005-01-16 23:12:36 +00:00
Pierangelo Masarati
c8c043bd39 address ITS#3472/3480/3488/3489 2005-01-15 18:43:34 +00:00
Pierangelo Masarati
0079b3ce45 condition compilation of DISCLOSE checking (there's more to do) 2005-01-14 12:01:03 +00:00
Pierangelo Masarati
014ee81c34 plug memory leak: bsi_attrs member
use tmpmemctx for bsi_attrs (should be used more for temporaries)
fix ITS#3480: allow to fetch all attrs or provide hints
fixed access check to entry for rename
TODO: fetch entries for access checking in selected code portions (e.g. rename)
2005-01-14 00:39:24 +00:00
Pierangelo Masarati
056c5ba7c1 fix couple of bugs in recent 'disclose' commits; prepare for sending matchedDN when appropriate; note ITS#3480 access control issues 2005-01-12 00:28:37 +00:00
Pierangelo Masarati
0e04985332 honor 'disclose' ACL on searchBase/compare/referral/matched (ITS#3472 and comments on -devel) 2005-01-11 19:37:55 +00:00
Pierangelo Masarati
e5c58636de enable if one suffix only is present 2005-01-08 11:33:51 +00:00
Pierangelo Masarati
9d5d9cc2ec fix mix memory issues and cleanup 2005-01-08 09:59:16 +00:00
Pierangelo Masarati
6f2ffa30ed fix ACL value checking for bind (ITS#3446) 2005-01-07 13:50:38 +00:00
Pierangelo Masarati
845cc3d6ee revert unintended commit 2005-01-05 16:25:12 +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
edc9b936d0 mostly copyright cleanup; removal of unnecessary headers 2005-01-03 10:51:59 +00:00
Kurt Zeilenga
dc0eacd40b Happy New Year! 2005-01-01 20:49:32 +00:00
Kurt Zeilenga
4b0a9be3b5 More cr statements 2005-01-01 20:43:42 +00:00
Kurt Zeilenga
477e1309d1 Update notice. 2005-01-01 20:38:40 +00:00
Pierangelo Masarati
642f7aed50 apply patches 1,2,3,5,8 (with changes) from ITS#3432) 2005-01-01 16:21:55 +00:00
Pierangelo Masarati
6fdb803bde cleanup 2004-12-11 18:04:38 +00:00
Pierangelo Masarati
2d88c1b826 comment about helper requirements 2004-12-02 22:59:55 +00:00
Pierangelo Masarati
0cc024a370 more on DN munging; now works for all operations 2004-12-02 00:33:36 +00:00
Pierangelo Masarati
396743f62f fix DN munging; also fix potential error when logging incomplete deletes 2004-12-01 23:16:21 +00:00
Pierangelo Masarati
0c65f51ab2 fix user/operational mix of attribute request 2004-11-30 01:49:06 +00:00
Pierangelo Masarati
e77570799b essential support for refreshOnly syncrepl 2004-11-29 22:04:53 +00:00
Pierangelo Masarati
6c3715aff9 more on syncprov support 2004-11-29 09:36:22 +00:00
Pierangelo Masarati
2c89c53cda fix typo 2004-11-29 00:53:43 +00:00
Pierangelo Masarati
873a5b73ff first round at enabling back-sql as LDAPsync provider 2004-11-29 00:50:55 +00:00
Pierangelo Masarati
870cc69c93 fix o_hdr use 2004-11-28 16:25:20 +00:00
Pierangelo Masarati
6f182a7547 make unregistered known controls show up as undefined; move LDAPsync cid to frontend; some cleanup 2004-11-27 15:08:24 +00:00
Pierangelo Masarati
27529430a6 wait until syncprov freezes 2004-11-27 10:16:15 +00:00
Howard Chu
618cc56265 Merge op->o_sync_mode into op->o_sync 2004-11-25 18:31:31 +00:00
Pierangelo Masarati
c7d2cf91fd cleanup and line up with code 2004-11-16 22:14:21 +00:00
Pierangelo Masarati
78ddb88960 minor cleanup 2004-11-15 22:10:10 +00:00
Pierangelo Masarati
b29bf83e7e remove back-*/external.h 2004-11-15 19:45:49 +00:00
Pierangelo Masarati
9c550e7235 first step towards removing back-*/external.h 2004-11-13 18:52:44 +00:00
Pierangelo Masarati
79f744f30b rework static backend initialization 2004-11-11 00:39:19 +00:00
Pierangelo Masarati
71035d3aa1 fix typo when string keys are used 2004-10-16 16:16:57 +00:00
Howard Chu
7e87f54716 Revert ITS#3353 patch, it needs to be reworked. 2004-10-06 05:51:38 +00:00
Pierangelo Masarati
2ccbe388b5 fix global configuration patch (ITS#3353) 2004-10-04 21:05:13 +00:00
Pierangelo Masarati
bf8e890ea7 fix global configuration patch (ITS#3353) 2004-10-04 20:57:14 +00:00
Pierangelo Masarati
e10186f1a5 add support for entryUUID and entryCSN operational attributes (entryUUID is honored in filters as well) 2004-10-04 01:19:53 +00:00
Pierangelo Masarati
87a63d3b5d improve previous commit; consistently use dn/ndn; add support for LDAP_SCOPE_SUBORDINATE 2004-10-03 21:08:54 +00:00
Pierangelo Masarati
796dce8657 add (and honor) a (configurable) baseObject to workaround ldap_entries view for RDBMSes that do not support UNION in views 2004-10-02 17:33:32 +00:00
Pierangelo Masarati
fa8ee16d38 cleanup naming; minor fixes 2004-10-02 12:05:42 +00:00
Pierangelo Masarati
60d4aaba54 fix, rework and optimize search base; allow orphaned entries addition 2004-09-28 23:27:39 +00:00
Pierangelo Masarati
761f287943 multiple precision with BIGNUM/gmp/ulong 2004-09-26 22:58:47 +00:00
Pierangelo Masarati
b09663d784 consistently check return value of BindParam*; rework macros to ease parameter binding; always add data length to string values (may need to specialize for integers) 2004-09-25 18:11:06 +00:00
Pierangelo Masarati
02cfafdded add column size to SQLBindParameter when SQL_CHAR parameter type is used 2004-09-25 11:38:00 +00:00
Pierangelo Masarati
0055675bfc improve candidate selection when filtering by objectClass 2004-09-22 23:17:32 +00:00
Kurt Zeilenga
444c49827c Fix result codes 2004-09-11 20:01:03 +00:00
Pierangelo Masarati
c04bebe750 minor improvements 2004-09-11 16:16:41 +00:00
Pierangelo Masarati
48b7292fc6 blind update to new tests 2004-09-11 11:05:01 +00:00
Kurt Zeilenga
d611a4b49a unifdef -UNEW_LOGGING 2004-09-04 04:54:28 +00:00
Kurt Zeilenga
e0a9ea2f50 Move MSVC port to the Attic 2004-09-04 04:37:41 +00:00
Pierangelo Masarati
81b5755364 try with "order by"... 2004-08-25 12:09:05 +00:00
Pierangelo Masarati
e745d15f02 remove cruft 2004-08-25 11:32:47 +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
d25ade71e9 need to perform a select after adds... 2004-08-24 15:37:10 +00:00
Pierangelo Masarati
aae3c074f1 cleanup 2004-08-24 15:16:06 +00:00
Pierangelo Masarati
aaf52b28ff further fixes 2004-08-24 15:01:39 +00:00
Pierangelo Masarati
be3c14e4f4 ready for test... 2004-08-24 11:45:33 +00:00
Pierangelo Masarati
a8674f59d7 fix various issues; line up with new tests 2004-08-24 10:31:02 +00:00
Pierangelo Masarati
19ea555ca3 blind update of IBM db2 example data 2004-08-21 09:48:49 +00:00
Pierangelo Masarati
b7c0b9ed7f further improve tests; line-up with code 2004-08-21 09:45:14 +00:00
Pierangelo Masarati
467524ef92 handle referrals correctly; allow to add suffix entry; fix multiple values add bug; cleanup 2004-08-21 09:38:08 +00:00
Pierangelo Masarati
0ed0cd66bf more on back-sql test 2004-08-20 16:12:49 +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
d12fdece77 allow to search for "auxiliary" objectClasses (i.e. those in ldap_entry_objclasses); allow to return all objectClasses including "auxiliary"; various cleanup 2004-08-20 12:06:03 +00:00
Pierangelo Masarati
9f6f5491fe slightly rework user/operational attributes handling (including fixing a bug in the logic of the previous change to backend_operational()); cleanup; more improvements to slapo-rwm and back-relay 2004-07-25 23:16:40 +00:00
Pierangelo Masarati
b94d5e17e2 rework op/rs structures to deal with opeartional attributes 2004-07-18 21:44:29 +00:00
Pierangelo Masarati
6c41f12ff1 fix build when #define BACKSQL_TRACE 2004-06-14 20:04:36 +00:00
Pierangelo Masarati
d1b692ceb4 clarify no limits in (internal) searches 2004-06-12 11:33:21 +00:00
Pierangelo Masarati
0aeec234ea update 2004-04-20 00:32:46 +00:00
Pierangelo Masarati
b76bfe6351 more cleanup 2004-04-20 00:26:42 +00:00
Pierangelo Masarati
93ff139915 split objectClass and attributeType mapping (should cure ITS#3091: Sybase compatibility) 2004-04-15 22:29:52 +00:00
Pierangelo Masarati
ec34062ed4 improve logging 2004-04-14 12:50:11 +00:00
Pierangelo Masarati
faa1385f51 cleanup error messages and logs 2004-04-13 17:26:07 +00:00
Pierangelo Masarati
171a47c05b cleanup error messages and logs 2004-04-13 15:59:51 +00:00
Pierangelo Masarati
3342d93860 disable fancy key by default 2004-04-10 10:17:51 +00:00
Pierangelo Masarati
b703cfb008 Added provisions for a layer between the backend and the ODBC
for further mucking with data.  This can be of use in ill situations
where not all the required massaging can be done on data with SQL
by means of stored procedures, but overlays are called too early
and cannot be used to make data non LDAP compliant.
- only support for bidirectional DN mucking is provided right now
- support for other values mucking is planned
- write is not completely tested yet
- the API could change quite often; don't rely too much on it

other cleanup has been added.
2004-04-10 09:33:55 +00:00
Pierangelo Masarati
8be57d80ba blind fix (tnx Howard); I'll check it later 2004-04-08 11:44:57 +00:00
Pierangelo Masarati
354372987f General improvements:
- There might be special cases that require the unique key to be a string
  (just ran into one); since this is not a generally useful change, it's
  hidden behind #defines.
- Added essential support for telephoneNumber match; the same infrastructure
  might be useful for other specialized matches (also regular matches should
  use it to handle multiple spaces and so!).
- Fixed dynamic backend initialization.
- Cleaned up search base DN normalization (works also if no uppercase function
  is available, using case exact matches).
2004-04-08 09:08:28 +00:00
Kurt Zeilenga
c7f0438044 bvalue cleanup 2004-04-08 06:49:17 +00:00
Howard Chu
8c6fe48806 More dynamic/static cleanup 2004-04-08 05:58:54 +00:00
Howard Chu
f2e1df3ef7 Consolidated static/dynamic backend switches 2004-04-08 05:56:23 +00:00
Pierangelo Masarati
6beb139e61 fix nasty subtype bug (too many results) 2004-03-18 23:38:55 +00:00
Pierangelo Masarati
d3de8c3336 cleanup error messages 2004-03-18 20:11:49 +00:00
Pierangelo Masarati
ec6a663820 reset SlapReply flags 2004-03-17 11:50:15 +00:00
Pierangelo Masarati
4fa18e1b37 remove {} from procedures invocation, as noted in ITS#2641; copied annotations from postgres example 2004-03-16 15:15:14 +00:00
Pierangelo Masarati
5ff958a5fd fix brain dead count (part of ITS#2641) 2004-03-16 11:03:27 +00:00
Pierangelo Masarati
d779a3d543 use prepare/bind/execute instead of bind/execdirect (addresses ITS#2641) 2004-03-10 14:51:41 +00:00
Pierangelo Masarati
091246c6fd move limits evaluation to frontend 2004-03-08 18:12:45 +00:00
Pierangelo Masarati
9b6d816fe1 handle unknown attribute type (ITS#3005) 2004-03-06 15:58:26 +00:00
Pierangelo Masarati
4e57108991 allow search limits based on groups (ITS#2967) 2004-02-18 16:40:36 +00:00
Pierangelo Masarati
253f70e0c2 fix duplicate key in metadata 2004-01-31 10:31:13 +00:00
Pierangelo Masarati
eeb9a07823 make file names more slapd-ish; add attribute inheritance to search attributes; precompile uppercased search 2004-01-19 22:13:15 +00:00
Pierangelo Masarati
6c27bf332c cleanup 2004-01-17 18:26:36 +00:00
Pierangelo Masarati
945f3fc9d0 cleanup 2004-01-17 18:07:43 +00:00
Pierangelo Masarati
c4a8f58a0d honor attributeType inheritance as well 2004-01-17 16:27:11 +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
92a05ccf74 add extra level of parens only if required 2004-01-13 00:33:14 +00:00
Pierangelo Masarati
db395f2cd7 don't search if the filter is invalid; search also if an attribute is undefined for that objectclass, the filter may succeed anyway 2004-01-11 22:50:25 +00:00
Pierangelo Masarati
93725181af cleanup avl duplicate handling 2004-01-10 11:12:53 +00:00
Pierangelo Masarati
634324d5b9 allow multiple attribute definitions; honor ldap_entry_objclasses in filter; major cleanup 2004-01-10 10:42:44 +00:00
Pierangelo Masarati
354d8a183c honor objectclass inheritance in filters + some cleanup 2004-01-09 11:43:00 +00:00
Pierangelo Masarati
14da72a97a don't try to decide if uppercase based on LDAP matching rules 2004-01-09 01:53:03 +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
e8e62aa617 need odbc libs when building back-sql as module 2004-01-08 23:00:44 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Kurt Zeilenga
2775c8d4a8 Update no-op control to return LDAP_NO_OPERATION instead of LDAP_SUCCESS.
(back-sql needs to be updated)
2003-12-29 23:31:39 +00:00
Kurt Zeilenga
fd5ded3afb notices and acknowledgements 2003-12-07 19:19:18 +00:00
Howard Chu
0690f79a5a Cleanup unknown config directive handling. 2003-12-07 07:07:00 +00:00
Kurt Zeilenga
bd1543ce44 notices 2003-11-29 22:38:48 +00:00
Kurt Zeilenga
f0cd57eb9b cleanup 2003-11-29 22:37:07 +00:00
Kurt Zeilenga
e3a4c4ec9c Notice/Acknowledge updates 2003-11-26 02:58:56 +00:00
Howard Chu
c58ac9d8f1 Add memctx param to build_new_dn(). cleanup DN leaks. 2003-09-24 04:30:41 +00:00
Pierangelo Masarati
53b7e6fbcf apparently Oracle does not support AS in joins (ITS#2642) 2003-07-15 11:26:17 +00:00
Pierangelo Masarati
0bb807f4be fix format (ITS#2640?) 2003-07-15 10:57:12 +00:00
Howard Chu
aa3b69eb32 ITS#2440 unmunge init_module names 2003-06-12 22:25:20 +00:00
Kurt Zeilenga
7ca24a8591 Another round of minor copyright updates 2003-05-25 03:56:57 +00:00
Kurt Zeilenga
8035d016c4 Fix typos in last commit
Apply to Makefile as well
2003-05-24 06:15:00 +00:00
Kurt Zeilenga
73f2048456 Add clarification as to source of this file
Add OpenLDAP copyright statement
2003-05-24 03:18:50 +00:00
Howard Chu
7e2273b30e Added errmsg arg to lutil_passwd_{check,hash} functions 2003-04-30 07:52:05 +00:00
Kurt Zeilenga
5cd994ed21 remove dnNormalize2
replace calls to dnNormalize2 with calls to dnNormalize
2003-04-29 18:28:14 +00:00
Pierangelo Masarati
629885a269 use SLAP_PTRCMP 2003-04-18 17:16:48 +00:00
Pierangelo Masarati
9caafcb3d9 cleanup; improve error handling 2003-04-16 22:22:57 +00:00
Pierangelo Masarati
786d4e23b7 allow compare on dynamically generated operational attributes (may be moved to the frontend) 2003-04-16 20:55:42 +00:00
Pierangelo Masarati
d564770156 clarify hasSubordinate filtering 2003-04-16 20:54:56 +00:00
Pierangelo Masarati
57bb4fd89a fix id query 2003-04-16 20:54:30 +00:00
Pierangelo Masarati
d9d5912383 use syntax and matching rules knowledge when preparing SQL filters (to reduce pseudo-normalization efforts and search candidate number) 2003-04-16 10:22:33 +00:00
Pierangelo Masarati
d8887ac063 fix update operations 2003-04-16 01:21:02 +00:00
Pierangelo Masarati
0c67c0493b more cleanup; small improvements 2003-04-15 23:11:31 +00:00
Pierangelo Masarati
1f400adca7 honor attributes request 2003-04-15 22:43:56 +00:00
Pierangelo Masarati
adf3744dd6 fix backsql new API; use berbuf instead of berval 2003-04-15 21:55:25 +00:00
Pierangelo Masarati
805894be1d fix context memory and more cleanup 2003-04-11 23:23:03 +00:00
Howard Chu
ece7452b05 More memory context tweaks 2003-04-11 01:29:28 +00:00
Pierangelo Masarati
9e66d3d1f0 fix referrals return 2003-04-07 23:21:55 +00:00
Kurt Zeilenga
c75be97ae9 #ifdef -DSLAP_NVALUES 2003-04-05 03:35:16 +00:00
Pierangelo Masarati
8995d8341f more new API ... back-sql should be OK 2003-04-03 00:35:16 +00:00
Pierangelo Masarati
09b92f0aeb more new API ... 2003-04-02 22:58:02 +00:00
Howard Chu
99950e4fe4 Deleted BackendInfo->bi_acl_attribute, bi_acl_group.
Replaced with bi_entry_get_rw.
Implemented for back-bdb, back-ldbm, back-ldap.
2003-03-26 11:50:03 +00:00
Pierangelo Masarati
26895b9fa5 fix bug in schema check 2003-03-25 14:34:01 +00:00
Kurt Zeilenga
c981ebcb61 Don't return LDAP_OPERATIONS_ERROR for internal errors 2003-03-01 20:17:52 +00:00
Pierangelo Masarati
7ab954d516 blind fix (accrding to back-monitor hack) 2003-02-26 19:41:27 +00:00
Pierangelo Masarati
06b981429a fix ITS#2309 2003-02-10 18:15:36 +00:00
Hallvard Furuseth
2bcb48361d Remove casts of AVL function pointers. 2002-12-14 22:25:52 +00:00
Pierangelo Masarati
59aea47963 improve limits handling and consistency; return "Admin limit exceeded" instead of "Unwilling to perform" 2002-11-21 12:58:59 +00:00
Pierangelo Masarati
76bf91f553 remove #ifdef SLAP_FILTER_HASSUBORDINATES 2002-11-10 19:48:36 +00:00
Pierangelo Masarati
5794b3a2dd Add checks for SQL headers in configure.in (need to rerun autoheader
and autoconf); #include "ac/string.h" instead of <string.h>
2002-11-09 17:03:07 +00:00
Pierangelo Masarati
7b3f889ec1 fix hasSubordinate filtering; now it can be safely turned on 2002-10-26 16:18:31 +00:00
Pierangelo Masarati
665cb3e86e fix typo 2002-10-23 14:10:21 +00:00
Kurt Zeilenga
c382c5efa2 blind fix for NULL pointer in Debug() bug (ITS#2143) 2002-10-17 17:45:44 +00:00
Pierangelo Masarati
eb38db1be5 various fixes and improvements 2002-09-02 19:39:31 +00:00
Pierangelo Masarati
c8cfbca64d fix extendedMatch and approx hfilter andling; get rid of subtree_cond (argh, need to trim it from config and docs ...) 2002-08-31 10:39:23 +00:00
Pierangelo Masarati
a1bb43946b better handling of children_cond 2002-08-31 10:38:29 +00:00
Pierangelo Masarati
95a99bd522 trace illegal condition in backsql_strfcat 2002-08-31 10:37:42 +00:00
Pierangelo Masarati
685363e880 add 'children_cond' config statement 2002-08-31 10:36:16 +00:00
Pierangelo Masarati
a8bf275221 cleaner handling of unchecked limit support 2002-08-29 19:43:29 +00:00
Pierangelo Masarati
fbc11bd16a - added the capability to filter based on hasSubordinate attribute
to back-bdb, back-ldbm and back-sql (the latter with limitations);
- added handling of ":dn" attributes to extended rfc2254 filters
  and to matched value filter
- altered the behavior of get_mra() when a matching rule is given:
  now it checks whether it is compatible with the attribute syntax
  and, in case it is, the given mr is used.  In case of no type,
  the check is delayed when filtering
2002-08-29 10:55:48 +00:00
Kurt Zeilenga
c67781d0ea use ldap_charray_free() instead of slapd's charray_free() 2002-08-24 00:40:25 +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
115408986c changes:
- re-style according to the style giudelines for better readability
- updated to recent frontend/backend API changes
- fixed a few quirks about normalization
- "optimized" a few memory allocation/string handling functions
- fixed a few quirks about add/modify (still have to look ad modrdn)

todo:
- there is still something broken (at least with PostgreSQL and IBM db2,
  the two RDBMS O have at hand) when adding
- move everything to struct bervals and try to save a few strlen
- try some LDAP/SQL syntax relation to use appropriate value bind if possible
- ...
2002-08-13 17:12:27 +00:00