Pierangelo Masarati
2f32c29e4a
don't bailout in case of insufficientAccess (ITS#5816)
2008-11-18 01:29:34 +00:00
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