Commit Graph

282 Commits

Author SHA1 Message Date
Luke Howard
2316461b93 Remove unused variable 2004-08-25 12:31:43 +00:00
Luke Howard
ea6f5bad65 This patch fixes some subtle interactions between SLAPI and syncrepl. Due to
SLAPI always assigning connection and operation IDs of zero for internal
operations, such operations would cause a stale contextCSN to be returned from
slap_get_commit_csn(). As a result, SLAPI internal updates would be invisible
to replicas until an external update was made. Also, SLAPI internal operations
never called slap_graduate_commit_csn() which leaked pending CSNs.

Also included in this patch is a general cleanup of some of the SLAPI code.

Note that we need to use a separate mutex on conn_nextid to avoid a deadlock
where a post-operation plugin tries to acquire connections_mutex, having locked
the per-connection mutex, while the listener thread tries to acquire the
per-connection mutex (having locked connections_mutex). connection.c needs to
be fixed to acquire mutexes in the same order.
2004-08-25 11:52:55 +00:00
Pierangelo Masarati
bde0761a04 should fix ITS#3265 2004-08-12 10:33:49 +00:00
Pierangelo Masarati
cd9a9c628d frontend stuff moved into a database structure, essentially to allow overlays to be processed before database selection; passes all tests (ITS#3080) 2004-07-26 21:26:34 +00:00
Kurt Zeilenga
7a6b0857b6 cleanup 2004-06-29 23:52:18 +00:00
Kurt Zeilenga
e5a37f2125 SLAPD_DISCONNECT v -1 cleanup
misc other cleanup
2004-06-23 01:04:52 +00:00
Kurt Zeilenga
4e6ed7072d cleanup 2004-06-22 19:49:00 +00:00
Pierangelo Masarati
528b6c7e25 clear pagedresults_state if reusing an inactive connection; prepare for more consistent behavior of pagedResults control 2004-06-21 21:31:55 +00:00
Howard Chu
9b38cd2572 ITS#3109 - added slap_tls_ctx 2004-04-26 01:10:49 +00:00
Kurt Zeilenga
1372965d89 ITS#3092: Rename sl_free() and friends to slap_sl_free() 2004-04-20 03:44:57 +00:00
Kurt Zeilenga
44725e7303 use BER_BVNULL 2004-04-07 04:11:43 +00:00
Howard Chu
81df94acaa Silence warning 2004-03-24 10:47:31 +00:00
Kurt Zeilenga
5ff057089b cleanup 2004-03-17 22:14:32 +00:00
Howard Chu
2821d0bdd6 Add connection_fake_init() 2004-03-17 19:33:13 +00:00
Kurt Zeilenga
3e586bd393 cleanup 2004-03-14 00:59:37 +00:00
Howard Chu
cdeda34029 Add c_conn_idx, to simplify external modules managing per-connection state 2004-03-12 18:22:37 +00:00
Kurt Zeilenga
5d0f6e75b4 Don't defer abandon due to pending 2004-02-10 00:17:21 +00:00
Kurt Zeilenga
3c1b2ed9cb ITS#2959: provide reason for deferring operation in log message
Also, took away abandon operations blank check against deferment.
Abandon must be deferred in some cases (such as when other operations
are pending) and should be deferred in some other cases (such as too
many threads).
2004-02-09 21:33:21 +00:00
Howard Chu
bb1a97544d ITS#2921, fix client connection handling for HAVE_WINSOCK 2004-01-15 20:20:17 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Kurt Zeilenga
fcad25da47 Misc code cleanup 2003-12-29 22:25:43 +00:00
Luke Howard
0549d46adf Don't require slapi to be in the path - always include slapi/slapi.h 2003-12-28 04:17:48 +00:00
Kurt Zeilenga
e9133952fb Move experimental built-in SASL behind SLAP_BUILTIN_SASL macro 2003-12-18 20:01:47 +00:00
Kurt Zeilenga
9647ccd945 Completely untested built-in EXTERNAL implementation
Needs identity mapping and proxy authorization support
2003-12-18 06:52:39 +00:00
Luke Howard
516fd0ff50 First round of SLAPI cleanups - use slapi_int_XXX for internal functions
(slapi_x_XXX is still reserved for exported functions that are not part
of the SLAPI specification)
2003-12-16 15:49:31 +00:00
Kurt Zeilenga
4bedf015f0 cleanup 2003-12-13 18:57:00 +00:00
Kurt Zeilenga
38ccdaf7a3 unifdef -DLDAP_CONTROL_PAGEDRESULTS (as it is always defined) 2003-12-08 18:16:07 +00:00
Howard Chu
74db966ebb Move SLAB_SIZE def to slap.h 2003-12-06 22:30:45 +00:00
Hallvard Furuseth
e491e9e522 Cleanup: Remove unused label 'no_co_op_free:' in connection_operation(). 2003-11-30 16:14:40 +00:00
Kurt Zeilenga
4e15a84452 Updated notices 2003-11-27 01:17:14 +00:00
Howard Chu
b179e05ea1 For previous, assert (writewaiter==0) in conn_destroy too. 2003-11-20 00:54:46 +00:00
Howard Chu
86c0f733a4 Cleanup prev commit, assert if writewaiter != 0 in init 2003-11-18 22:55:53 +00:00
Howard Chu
43a843dbf0 ITS#2832 init conn->c_writewaiter to 0 2003-11-18 22:18:33 +00:00
Kurt Zeilenga
99ba95ab92 cleanup 2003-11-18 22:11:11 +00:00
Jong Hyuk Choi
279760a467 1. Session history support
- memory based session history to minimize sync traffic
	- when client is covered by a session history, then
      [add+delete] mode is used
	- when client cookie is not covered by the history because
      the cookie is too outdated and/or the history is truncated,
	  [add+present] mode is used
2. Sync cookie syntax : comma separated name=value pairs
	- csn=yyyymmddhh:mm:ssZ#0xSSSS#r#ssssr,sid=nnn
2003-11-10 02:44:25 +00:00
Kurt Zeilenga
bfafd42163 Code and logging cleanup 2003-11-06 03:42:46 +00:00
Howard Chu
5ed0318b79 Fix retry on failure 2003-10-25 22:07:31 +00:00
Howard Chu
782d1be0ad Fix prev commit, don't timeout outbound connections 2003-10-25 21:14:07 +00:00
Howard Chu
08676eb49d Add support for outbound connections in main listener.
Restructure syncrepl/persist to use outbound connection manager.
2003-10-24 12:57:24 +00:00
Howard Chu
df74409d97 Fix prev commit 2003-10-24 06:01:55 +00:00
Howard Chu
01f7a7466b SLAPI fix - no-op when slapi_plugins_used == 0 2003-10-24 05:58:42 +00:00
Howard Chu
102d8159a7 ITS#2779, cache group ACLs per operation instead of per-connection 2003-10-23 01:23:45 +00:00
Howard Chu
7710791382 ITS#2684 keep psearch operations on the connection's active list so they
can be located by connection_abandon() during an unexpected close. Remove
the operations in bdb_abandon() etc.
2003-10-19 11:20:34 +00:00
Howard Chu
c9ef0da66b Don't timeout slow-running operations 2003-09-27 05:36:20 +00:00
Jong Hyuk Choi
4495320839 move c->c_n_ops_executing/completed to the right place 2003-09-25 20:14:53 +00:00
Kurt Zeilenga
99f968b597 Initial support for pre/post read controls.
TODO:
	Fix transactional consistency
	Add client response control handling
2003-09-16 18:56:04 +00:00
Howard Chu
41957e5129 ITS#2649, never defer Abandon requests 2003-09-13 11:15:23 +00:00
Jong Hyuk Choi
090ac0a772 unifdef LDAP_SYNC and LDAP_SYNCREPL 2003-08-27 22:16:04 +00:00
Luke Howard
c9e134f0f7 Support for SLAPI plugin extensions API.
This API allows a plugin to associate arbitrary context with an
internal server object such as a connection or operation.

Some documentation is at:

http://enterprise.netscape.com/docs/directory/602/plugin/function.htm#1104211
2003-07-03 19:04:18 +00:00
Jong Hyuk Choi
262f8bf11f LCUP primitive routines removed 2003-06-27 17:39:48 +00:00