Commit Graph

10313 Commits

Author SHA1 Message Date
Pierangelo Masarati
5cf95c5b30 fix length 2008-11-18 00:12:22 +00:00
Quanah Gibson-Mount
911376e543 Fix prev commit 2008-11-17 23:45:20 +00:00
Pierangelo Masarati
e5867e2f30 improve previous commit (ITS#5814) 2008-11-16 23:58:46 +00:00
Pierangelo Masarati
bbcc89ecd3 s/not|got/(non)present/ (more readable, isn't it?) 2008-11-16 20:33:03 +00:00
Pierangelo Masarati
b52c62e69f don't assert on unprotected data (ITS#5814) 2008-11-16 20:29:26 +00:00
Hallvard Furuseth
85e8b309d5 Silence gcc -Wformat: Put rev 1.343's debugmsg in Debug() so -Wformat can check 2008-11-16 03:22:27 +00:00
Hallvard Furuseth
753a6d0008 C89 rejects ITS#5784 non-constant array init (backend.c 1.402,-controls.c 1.201) 2008-11-16 03:10:15 +00:00
Howard Chu
011d14c136 cleanup prev commit, delete unused vars 2008-11-16 01:24:09 +00:00
Howard Chu
329741ff0b ITS#5809 fix prev commit - always turn modrdn into modrdn+modify, and
only propagate the Modify op.
2008-11-16 01:21:31 +00:00
Howard Chu
b7e8411dca ITS#5809 fix 1.421, avoid modrdn falling thru to modify unnecessarily 2008-11-15 23:54:23 +00:00
Pierangelo Masarati
03b0a71014 silence warnings 2008-11-15 15:08:00 +00:00
Emmanuel Dreyfus
3ac5b91a2f Fix warnings an a real bug hidden by the lack of warning... 2008-11-15 11:09:03 +00:00
Pierangelo Masarati
a86fae235b fix previous commit (related to ITS#5804) 2008-11-15 10:42:18 +00:00
Howard Chu
60450c7045 ITS#5709 make sure CSNs are generated and queued atomically 2008-11-15 08:49:44 +00:00
Emmanuel Dreyfus
4c60645bfb Add ACL <who> regex-substitution from attribute value submatches. Cf ITS#5804 2008-11-15 07:18:39 +00:00
Howard Chu
d1221975d6 ITS#5809 fewer false detections of renames 2008-11-14 23:48:38 +00:00
Hallvard Furuseth
587d928552 reformat 2008-11-14 18:19:19 +00:00
Hallvard Furuseth
355c94ddb7 ITS#5329: back-ldif deadlock with access controls 2008-11-14 18:15:35 +00:00
Howard Chu
51c87bb9c7 ITS#5809 renames are not exclusive from modifies 2008-11-13 22:46:49 +00:00
Hallvard Furuseth
d756699af6 ITS#5319 - support rename to same DN. 2008-11-12 00:20:48 +00:00
Hallvard Furuseth
9f55af00ce ITS#5408 part 11 - notice Abandon. 2008-11-12 00:11:53 +00:00
Hallvard Furuseth
2d1af3f2f7 ITS#5408 part 10 - errors from search and slapcat.
- Tweak error code/message for absent directory, including database directory.
- Catch closedir() error.
- ldif_tool_entry_close(): Free entries and reset entry list.
- Propagate any error to slapcat & co.
2008-11-12 00:10:01 +00:00
Hallvard Furuseth
c765070bf0 ITS#5408 part 9 - Sorted RDNs.
- Parse sorted attrs more carefully:
  Accept only attr={num}val.ldif and attr=val{num}.ldif and only base 10.
  Sort "attr=foo" before "attr=foo{n}".  Truncate at ".ldif" while sorting.
- Make the sort order independent of the LDIF files' order in the directory.
2008-11-12 00:03:55 +00:00
Hallvard Furuseth
32bc29d1af ITS#5408 part 8 - Rewrite search API, structs bvlist/enumCookie/ldif_tool.
r_enum_search() -> ldif_send_entry() + ldif_readdir() + ldif_search_entry().
enum_tree() -> search_tree().  fullpath() -> fullpath_alloc() + FILL_PATH().
No functionality change except catching malloc and opendir() errors.
2008-11-11 23:59:43 +00:00
Hallvard Furuseth
7c3cba840c ITS#5408 part 7 - Search operation bugs in r_enum_tree().
- Do not modify op->ors_scope, pass scope parameter instead.
- Save copies of dn/ndn before sending with REP_ENTRY_MODIFIABLE.
- Only the search baseDN may produce noSuchObject.
- More accurate result code.
2008-11-11 23:49:00 +00:00
Hallvard Furuseth
b1aed5b0ab ITS#5408 part 6 - referrals.
- Sending continuation references:
  Drop an unnecessary and wrong LDAP_SCOPE_BASE check.  The correct
  check would have been for DN == baseDN.
  Do not rewrite the scope, the caller already did.
- ldif_prepare_create(): Check that parent/newSuperior is not a referral.
- Rewrite ldif_back_rerferrals().  Better error handling.  Always pass
  refs through referral_rewrite().  As in back-bdb, apply manageDSAit
  only to the baseDN and do not use default_referral.
2008-11-11 23:42:32 +00:00
Hallvard Furuseth
5c41dfdabe ITS#5408 part 5 - handle modrdn file error. Move entry/subtree back if needed.
Add move_dir() macro, matching move_file().
2008-11-11 23:22:24 +00:00
Hallvard Furuseth
a9481e437c ITS#5408 part 4 - preparing for entry creation. More error handling.
- Move mkdir() into ldif_write_entry().  Modrdn lacked this.
- Factor tests for whether to create entry & dir out to ldif_prepare_create().
- Ensure an entry always exists if the corresponding subtree directory does.
- Move get_parent_path() up, accept NULL output param and malloc errors.
2008-11-11 23:16:22 +00:00
Hallvard Furuseth
ddc0613920 ITS#5408 part 3 - file path tweaks, sanity checks.
- Rename temporary filename patterns from "<rdn>.ldifXXXXX" to "<rdn>.XXXXX".
- Add and start using ldif2dir_len() & co.
2008-11-11 23:06:07 +00:00
Hallvard Furuseth
b00aa30d37 ITS#5408 part 2 - filesystem I/O, file error handling:
- Start moving file handling near the top - move_file(), ldif_tempname().
- Rename get_entry_for_fd() -> ldif_read_entry() and move open() into it.
  Rewrite slurp_file() as ldif_read_file(). Just stat() if output param==NULL.
- Rewrite ldif_write_entry(). Add LDAP_DEBUG_TRACE output.
2008-11-11 23:00:18 +00:00
Hallvard Furuseth
69a6d8ca2f ITS#5408 part 1 - error handling, debug output, add error texts (rs->sr_text).
- Reset rs->sr_text on success in apply_modify_to_entry(), not in its callers.
- Fix error test from ldif_write_entry() in ldif_move_entry().
- Start changing LDAP_UNWILLING_TO_PERFORM -> LDAP_OTHER for internal errors.
- Pass around LDAP result codes instead of errno.
- Rename spew_entry() -> ldif_write_entry(), move entry2str_mutex lock into it.
- Some other preparation for upcoming changes.
2008-11-11 22:53:41 +00:00
Howard Chu
cb8f0d5ad5 ITS#5572 retrieve main DB's ACL before relevant operations 2008-11-11 22:10:28 +00:00
Howard Chu
6932652551 ITS#5572 cleanup unneeded code 2008-11-11 21:40:39 +00:00
Quanah Gibson-Mount
e701d9b885 ITS#5572 from Rein 2008-11-11 21:09:28 +00:00
Pierangelo Masarati
21264e2cb8 eat all the substrings assertion if the attribute type does not support substrings matching (ITS#5803) 2008-11-11 18:01:35 +00:00
Quanah Gibson-Mount
1c8e1bfc74 Fix missing CVS revision header 2008-11-10 23:15:35 +00:00
Quanah Gibson-Mount
50402dca2b Fix missing CVS revision tag 2008-11-10 23:14:13 +00:00
Howard Chu
b613ab25b0 ITS#4556 allow Add content checking to be configured per-DB 2008-11-10 22:10:19 +00:00
Howard Chu
4d51be0c9b ITS#5798, don't use per-DB schema-check flag 2008-11-08 16:48:48 +00:00
Pierangelo Masarati
1dd88a8b11 exactly one ID can match (ITS#5791; further fix previous commit) 2008-11-08 10:39:45 +00:00
Howard Chu
5dc58028c1 ITS#5710 fix stupid updateCookie hack, use explicit o_dont_replicate flag 2008-11-06 21:10:25 +00:00
Howard Chu
bda294f5c1 ITS#5794 move prev fix 2008-11-06 16:58:03 +00:00
Howard Chu
8499581841 ITS#5794 NUL-terminate old pw before checking 2008-11-06 16:47:05 +00:00
Howard Chu
b28aa117ea ITS#5783 / 5795 fix undef_promote 2008-11-06 16:27:01 +00:00
Pierangelo Masarati
c41df6ed07 lookup entry id when equality on entryDN (ITS#5791; fixes previous commit) 2008-11-04 12:16:23 +00:00
Pierangelo Masarati
45aaaddb16 lookup entry id when equality on entryDN (proposed fix for ITS#5791; does not work for back-hdb, though) 2008-11-04 12:07:47 +00:00
Pierangelo Masarati
d4970fcb6f don't allow indexing of entryDN (ITS#5790) 2008-11-04 11:54:19 +00:00
Howard Chu
4e22081e02 ITS#5745 report errors in shutdown processing 2008-11-03 13:23:05 +00:00
Howard Chu
9d5de25b5b ITS#5745 long-lived TXNs must be closed before DBs 2008-11-03 13:00:00 +00:00
Howard Chu
f463be3b95 Add DBFLAG_CLEAN for a DB that was cleanly shut down; don't bother
scanning to verify contextCSN for clean shutdowns (ITS#5640)
2008-11-02 23:06:10 +00:00
Howard Chu
1214d24cc0 ITS#5709 forgot to commit this with syncprov.c 2008-11-02 22:16:20 +00:00
Pierangelo Masarati
52e28a9ece add dontUseCopy and proxiedAuthz "non_critical" disallow switches (ITS#5785) 2008-11-02 21:38:10 +00:00
Pierangelo Masarati
21ddf6193d controls can always have criticality set to FALSE (ITS#5785) 2008-11-02 21:06:50 +00:00
Howard Chu
d75a567708 Really fix ITS#5709 - more explicit check for un-replicatable ops, and
don't send ctxcsn update if current maxcsn doesn't match current csn
2008-11-02 15:26:25 +00:00
Howard Chu
a8658c742e be->be_pcl_mutexp superseded by be->bd_self 2008-11-02 07:58:50 +00:00
Howard Chu
ad8180b3b9 Fix ITS#5709, use original pending list 2008-11-02 07:46:46 +00:00
Pierangelo Masarati
7ad03166b6 add "What Failed?" LDAP control (ITS#5784) 2008-11-01 15:15:57 +00:00
Howard Chu
fa245f7491 ITS#5781 fix modification of MV attrs with no EQ rule 2008-10-30 18:22:11 +00:00
Pierangelo Masarati
00accc69c4 check the length of the value with the right index (blind fix to ITS#5779) 2008-10-30 14:03:47 +00:00
Howard Chu
66be548b58 ITS#5774 blind fix for Windows, please test 2008-10-29 13:14:10 +00:00
Hallvard Furuseth
93c75ea669 Cleanup: Move snprintf preformatting into unused Statslog() argument 2008-10-28 22:27:53 +00:00
Pierangelo Masarati
ffb66f41bb anticipate Statslog to avoid using dangling pointers (ITS#5775) - HEADS-UP: now 'ENTRY dn=' may appear also in case the PDU can't be sent 2008-10-28 22:02:01 +00:00
Rein Tollevik
7ec3743aa5 ITS#5776 prevent duplicate removal of qtask from runqueue. 2008-10-28 20:33:46 +00:00
Pierangelo Masarati
6ffe73f5df address ITS#5773 for slapo-rwm(); needs work 2008-10-26 20:47:11 +00:00
Pierangelo Masarati
9401bd3817 normalize rewritten DN-valued attrs (ITS#5772) 2008-10-26 19:29:36 +00:00
Pierangelo Masarati
f29d1b1455 fix dangling pointer issue; cleanup as early as possible 2008-10-26 19:24:10 +00:00
Pierangelo Masarati
2c60719a13 don't rely on attribute values in the returned entry: the control may act on attribute values not requested 2008-10-25 11:06:29 +00:00
Hallvard Furuseth
3b42e19253 ITS#4467: Fix a few wrong uses of snprintf. Also drop an unneeded array init. 2008-10-24 18:57:38 +00:00
Hallvard Furuseth
248dd83add Plug memory leak with dn.regex. Force error for "dn.=pattern". Cleanup. 2008-10-24 18:22:54 +00:00
Hallvard Furuseth
0f22e6bb04 More ITS#5734: Handle empty o_req_ndn. flags=>flags&LDAP_LIMITS_MASK in a test. 2008-10-24 18:16:43 +00:00
Hallvard Furuseth
dffe8d37fa ITS#5770: Fix unaligned BerElements: Use BerElementBuffer, not char[size]. 2008-10-24 17:52:05 +00:00
Hallvard Furuseth
db5943fbd6 ITS#4467: Fix snprintf/WHATSLEFT buffer overflow tests.
Also make WHATSLEFT unsigned.
2008-10-24 13:16:06 +00:00
Pierangelo Masarati
65a390546f forgot access control... 2008-10-24 10:34:04 +00:00
Pierangelo Masarati
e9fb10d2b7 fix examples 2008-10-23 00:14:34 +00:00
Pierangelo Masarati
6bedf74c41 tag optional stuff 2008-10-22 23:38:09 +00:00
Pierangelo Masarati
faddae3a0e check for overflows 2008-10-22 23:37:34 +00:00
Pierangelo Masarati
543a75355c slight fixes and improvements to previous commit 2008-10-22 23:01:20 +00:00
Pierangelo Masarati
91e14ca638 add support for (experimental) dereference control (ITS#5768); need to re-run autoconf (and autoheader?) 2008-10-22 22:19:49 +00:00
Pierangelo Masarati
382bb4de11 save one copy (please review) 2008-10-22 21:58:59 +00:00
Pierangelo Masarati
a4598d1df7 olcLogFile missing from olcGlobal (ITS#5765) 2008-10-22 11:54:46 +00:00
Hallvard Furuseth
ee6a9f238e ITS#4467: Fix buffer overflow tests with snprintf / 'unsigned WHATSLEFT'<=0.
Add ptr_APPEND_*. Rename limits_unparse:lm->style, make type/style unsigned.
2008-10-21 19:00:44 +00:00
Hallvard Furuseth
59c4d9fad9 Cleanup:
Add lmpats_out[] to simplify limits2str().  Wrap both in #ifdef LDAP_DEBUG.
Change char *lmpats[] to struct berval[].  Remove always-true compare.
Readability: Add STRSTART, rearrange limits_get, fix comments & long lines.
2008-10-21 18:57:16 +00:00
Pierangelo Masarati
09cb340f67 add optional URI to allow restricting the scope of application of a specific dynamic list expansion rule (ITS#5761) 2008-10-21 11:30:04 +00:00
Pierangelo Masarati
363f75ca5f preserve objectClasses not to be removed (ITS#5760) 2008-10-21 07:56:17 +00:00
Howard Chu
49ed07558b ITS#5755 values from slapd.conf aren't all strictly validated; detect and
report syntax errors when generating LDAP format.
2008-10-21 04:42:25 +00:00
Hallvard Furuseth
34e8048136 ITS#5734: Search limits by baseDN - limits dn.this="..." 2008-10-21 00:04:44 +00:00
Pierangelo Masarati
4edb6c96e7 deal with known controls that need special handling of response (ITS#5757) 2008-10-20 23:51:59 +00:00
Pierangelo Masarati
c1119ec9b3 backout ITS#5758 commit 2008-10-20 23:19:07 +00:00
Pierangelo Masarati
e233a8e9ee NO-OP must be critical and apply to selected operations (ITS#5758) 2008-10-20 23:16:40 +00:00
Pierangelo Masarati
18e3573c81 declare support for read controls (ITS#5757) 2008-10-20 21:15:13 +00:00
Pierangelo Masarati
c1c16618a4 return LDAP_OTHER if the filter cannot be parsed (ITS#5751) 2008-10-19 21:23:06 +00:00
Hallvard Furuseth
3fff0a7919 Warning cleanup: signed meets unsigned: SASL struct propval {unsigned nvalues}. 2008-10-18 23:59:53 +00:00
Hallvard Furuseth
7cd654253e ITS#4467: Fix snprintf buffer overflow test for olcDbQuarantine output.
Overrides previous patch which partly fixed it: it was a no-op test before.
2008-10-18 23:49:28 +00:00
Hallvard Furuseth
db2172c5c9 Warning cleanup to ITS#5695/rev 1.453: signed meets unsigned. 2008-10-18 20:25:57 +00:00
Hallvard Furuseth
4e616dced8 Fix Debug format (%d, size_t) => (%lu, (unsigned long)value).
Warning cleanup: signed meets unsigned.
2008-10-18 11:42:13 +00:00
Hallvard Furuseth
d68ba23ab8 ITS#5750: Fix nameUIDPretty() bitstring in Name and Optional UID syntax.
Also update a comment about parsing this syntax.
2008-10-18 11:09:55 +00:00
Pierangelo Masarati
5d90231d2a apply Luca Tamburo's patch for Attribute Certificate and X.509 PMI support (with modifications, ITS#5695) 2008-10-18 08:33:40 +00:00
Hallvard Furuseth
e0952945d0 Warning cleanup: signed meets unsigned. 2008-10-18 07:21:27 +00:00
Hallvard Furuseth
6fbd42a90a Warning cleanup: Signed meets unsigned:
Change insertion index bdb_attr_slot(,, unsigned *ins) to int *ins.  This
index is signed elsewhere, including the index returned by the same function.
2008-10-17 23:35:44 +00:00
Hallvard Furuseth
d55d5fadf9 ITS#5747: Simplify previous fix. Just use the struct hack. 2008-10-17 21:58:09 +00:00