Commit graph

10362 commits

Author SHA1 Message Date
Howard Chu
ac037d3a13 ITS#5843, fallout from #5470. Just test against our newest CSN. 2009-01-24 03:23:31 +00:00
Howard Chu
417d105c29 ITS#5860 more ID_NOCACHE fallout 2009-01-24 00:55:44 +00:00
Kurt Zeilenga
4af9eb9715 Update copyright notices 2009-01-22 00:40:04 +00:00
Pierangelo Masarati
549455c6c6 fix alias deref in case of retry (ITS#5889) 2009-01-21 08:55:48 +00:00
Howard Chu
d495c16861 ITS#5897 fix bval length of serverID w/URL 2009-01-20 23:31:33 +00:00
Howard Chu
863754cb82 Fix prev commit, was hanging up on write events 2009-01-16 22:32:21 +00:00
Howard Chu
9b8dd2033f Revert prev commit, better fix - make sure client conns are closed
as expected
2009-01-16 21:49:00 +00:00
Howard Chu
a4167862c3 Client connection might get closed implicitly 2009-01-16 21:28:46 +00:00
Howard Chu
13ddc561d8 Fix prev commit - check for c_state == CLOSING first 2009-01-15 21:31:58 +00:00
Howard Chu
dd15627a5e Fix prev commit, c_writers check should be mutex'd 2009-01-15 21:22:35 +00:00
Howard Chu
1a171b07d3 ITS#5835 fix connection teradown when there are waiting writers 2009-01-15 20:41:40 +00:00
Howard Chu
96192064f3 ITS#5886 fix epoll hangup handling 2009-01-14 04:28:24 +00:00
Howard Chu
f54bb377df Revert prev commit 2009-01-13 00:08:36 +00:00
Howard Chu
43c1f42461 ITS#5835 tentative fix - remove bogus call to connection_close().
Note that with this change, all calls to connection_closing() and
connection_close() always occur in pairs - probably the two
functions should be collapsed into one.
2009-01-13 00:03:23 +00:00
Howard Chu
c6b18cd7c5 ITS#5855 fix Windows wake_sds close 2009-01-05 22:09:10 +00:00
Howard Chu
0b60ddd7ca Fix prev commit 2008-12-29 15:38:56 +00:00
Howard Chu
6d73c12403 ITS#5866 skip CSN check for glue entries 2008-12-24 12:21:36 +00:00
Pierangelo Masarati
3cafd7b1eb honor RFC4528 assertion control for LDAP add operations (ITS#5861; blind fix) 2008-12-20 22:56:03 +00:00
Pierangelo Masarati
e0ad0fbd8d honor RFC4528 assertion control for LDAP add operations (ITS#5861) 2008-12-20 22:49:53 +00:00
Pierangelo Masarati
b334844a70 return error codes (ITS#5867) 2008-12-20 22:45:02 +00:00
Pierangelo Masarati
fb9128cdc8 check validity of idassert-bind line (ITS#5863) 2008-12-20 22:34:00 +00:00
Pierangelo Masarati
0631c47576 do not allow slapo-ppolicy to be global by now (ITS#5858) 2008-12-20 22:02:06 +00:00
Pierangelo Masarati
5a50733e39 don't send error when going to retry (alternative fix to ITS#5854) 2008-12-12 09:29:51 +00:00
Pierangelo Masarati
7681642bcf fix LDAP deref control response; fix tool response handling; add lutil_memcopy() for API uniformity (more about ITS#5768) 2008-12-11 23:17:08 +00:00
Pierangelo Masarati
ed33fa5cc6 add shadow mask 2008-12-06 17:20:43 +00:00
Pierangelo Masarati
d8e4b48cee don't muck with shadow flags if database is already shadow (ITS#5850) 2008-12-06 17:16:03 +00:00
Pierangelo Masarati
bd49d6dc11 make sure the right control is being used (a little bit paranoid...) 2008-12-06 14:41:12 +00:00
Howard Chu
65530005ee More for prev commit - if doing both modrdn and modify at once, only
set the CSN on the modify op.
2008-12-03 04:49:53 +00:00
Howard Chu
89e13bff5f Refine prev commit 2008-11-29 11:06:28 +00:00
Howard Chu
2705cbd749 ITS#5809 - fixed again, based on 1.423 (reverted 1.424-1.425) 2008-11-29 03:41:33 +00:00
Howard Chu
b25c74777a Let the idletimeout check kill hung writers 2008-11-28 23:45:56 +00:00
Pierangelo Masarati
a7b4be5b33 fix ACI as a consequence of ITS#5804 (this is a hack; would need an API change) 2008-11-28 23:15:03 +00:00
Pierangelo Masarati
74636cfb51 more about ITS#5804 2008-11-28 22:50:18 +00:00
Howard Chu
e2ee5844e0 ITS#5835 change some DEBUG_TRACE messages to DEBUG_CONNS for easier debug 2008-11-28 21:09:34 +00:00
Pierangelo Masarati
1d9ff10ed7 add newRDN rewriting; fix rewriteContext names (ITS#5834) 2008-11-28 20:34:02 +00:00
Pierangelo Masarati
7c3e478f40 fix previous commit (related to ITS#5804) 2008-11-28 19:34:02 +00:00
Ralf Haferkamp
760660a4a2 Remove unneeded locking. Don't wait for memp_trickle to complete,
loosing an signal doesn't hurt in this case.
2008-11-28 16:09:40 +00:00
Pierangelo Masarati
4bbb033c6b retry every hour, but don't save it; on the contrary, complain every time syncrepl is configured without retry (ITS#5825) 2008-11-24 18:15:52 +00:00
Howard Chu
c71e7b399a ITS#5827, release syncop after mod op completes 2008-11-23 20:43:39 +00:00
Howard Chu
f6ae9c9c9f Fix typo in prev commit 2008-11-22 22:41:11 +00:00
Howard Chu
1d746e552a Initialize bli_flag 2008-11-22 21:08:38 +00:00
Pierangelo Masarati
970a60002f don't leak generated filters (ITS#5826) 2008-11-22 18:38:37 +00:00
Pierangelo Masarati
15236be495 fix previous commit 2008-11-22 18:35:19 +00:00
Pierangelo Masarati
ce045e153f make messages more esplicative; fix style 2008-11-22 17:53:14 +00:00
Pierangelo Masarati
31c61ad855 minimal fix for ITS#5825, pending discussion 2008-11-22 16:00:41 +00:00
Pierangelo Masarati
f0af51d639 don't alloc on slab (ITS#5820) 2008-11-20 17:22:33 +00:00
Pierangelo Masarati
55010d5e4e fix previous commit (ITS#5819) 2008-11-19 17:08:48 +00:00
Pierangelo Masarati
6f20049610 clear rc if value must be added (ITS#5819) 2008-11-19 16:02:22 +00:00
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
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