Howard Chu
4d9d4e2538
Fix connections_shutdown()
2006-12-14 02:12:39 +00:00
Pierangelo Masarati
9fdb9b6e02
give cleanup another chance to free the temporary callback (ITS#4771)
2006-12-07 19:44:04 +00:00
Pierangelo Masarati
0b29856b16
don't use conditionals in macro arguments (ITS#4769)
2006-12-06 11:39:07 +00:00
Howard Chu
47793aa3c9
Fix typo in prev commit
2006-11-09 06:47:47 +00:00
Howard Chu
6ac62a7573
Fix - failed Binds could leave a closing connection open.
2006-11-09 01:42:21 +00:00
Howard Chu
44475373db
Fix prev commit again (ITS#4722)
2006-10-26 22:10:12 +00:00
Howard Chu
9a3138cb55
Fix typo in prev commit
2006-10-17 19:45:55 +00:00
Howard Chu
eb16636abe
Tweak prev commit, add more notes (re ITS#4667)
2006-10-17 19:37:10 +00:00
Howard Chu
354e90a0d9
From rev 1.373, releasing the mutex means connection_close() may get called
...
from another thread. Drop the assert, just return instead.
2006-10-17 19:31:42 +00:00
Howard Chu
57c329a3af
ITS#4606 errno is not per-thread on WIN32, always use WSAGet/SetLastError
...
(with notable exceptions: ignore tests for EINTR which winsock never sets)
2006-09-14 06:35:34 +00:00
Howard Chu
3e50687bf7
In connection_next, sockets may not be contiguous on Unix if syslog etc are
...
active. Just search to the end of the table, tracking the max isn't worth
the lock overhead.
2006-09-11 21:19:38 +00:00
Howard Chu
f82ee25ec1
ITS#4667 in connection_closing, release c_mutex to allow waiters
...
to clear out.
2006-09-08 23:31:53 +00:00
Howard Chu
da6a4bcd3e
ITS#4667 fix assert in connection_next() for PENDING connections
2006-09-08 23:30:31 +00:00
Pierangelo Masarati
0d2e2772d5
move req2op selection into a helper
2006-09-04 07:17:34 +00:00
Pierangelo Masarati
faa13725e6
remove unnecessary assertion; add test for pending ops
2006-09-01 10:41:54 +00:00
Pierangelo Masarati
9e8725a3cc
add an assertion to track ITS#4659; minor cleanup
2006-09-01 10:00:50 +00:00
Howard Chu
69fa2d9f93
Move ber_sockbuf_free() to slapd_remove() to avoid using AC_SOCKET_INVALID
2006-08-18 23:54:24 +00:00
Howard Chu
2e3e7ed14f
Fix prev commit
2006-08-18 01:17:44 +00:00
Howard Chu
098153c5bb
Move socket close into slapd_remove, don't close until after socket
...
is removed from daemon control.
2006-08-17 00:44:38 +00:00
Pierangelo Masarati
f26bef66c6
cleanup
2006-05-20 15:49:18 +00:00
Howard Chu
9de3d9c277
Fix idletimeout deadlock
2006-05-19 22:47:33 +00:00
Howard Chu
813b95941e
Fixed version of rev 1.361
2006-05-14 03:37:17 +00:00
Howard Chu
1cf58aba1c
Revert prev commit, spoke too soon, close race condition came back.
2006-05-13 12:35:12 +00:00
Howard Chu
d74a230229
Simplify connection mutexes
2006-05-13 11:50:00 +00:00
Luke Howard
87051a2a4a
ITS#4525
2006-05-08 08:58:33 +00:00
Howard Chu
a8f8dfe747
Use ldap_pvt_thread_pool_tid()
2006-05-02 00:58:05 +00:00
Howard Chu
daec2febfb
ITS#4476 revert connection_write processing back into main thread
2006-04-06 04:34:37 +00:00
Hallvard Furuseth
da0c0360e4
Warnings: Unused vars. funcptr=0, not =NULL. if(b=...) -> if((b=...) != NULL).
2006-04-02 19:54:24 +00:00
Pierangelo Masarati
e21ec88c88
fix previous commit (ITS#4465)
2006-04-01 15:31:35 +00:00
Pierangelo Masarati
3aac54f089
fix bound check (ITS#4449)
2006-04-01 15:22:13 +00:00
Pierangelo Masarati
fc89650cce
add a cleanup handler for binds (ITS#4465)
2006-04-01 15:21:00 +00:00
Howard Chu
c41a151d1e
Cleanup
2006-03-31 12:53:32 +00:00
Kurt Zeilenga
5487575086
Add link to FAQ entry on BDB tuning
2006-03-30 17:56:56 +00:00
Kurt Zeilenga
71511a0569
more txn infrastructure
2006-03-08 05:54:10 +00:00
Kurt Zeilenga
247536744e
Some more txn infrastructure
2006-03-07 08:07:21 +00:00
Pierangelo Masarati
693697bfd9
cleanup callback freeing
2006-01-06 16:24:37 +00:00
Kurt Zeilenga
acbb5cf689
Happy new year!
2006-01-03 23:11:52 +00:00
Luke Howard
d8647e5c07
Create SLAPI object extensions in connection_fake_init()
2005-12-24 10:59:46 +00:00
Kurt Zeilenga
c106f49029
Primitive handling of dontUseCopy (always error).
2005-11-26 07:09:59 +00:00
Pierangelo Masarati
4dcccd3ca2
valgrind keeps complaining (it makes sense) but the bus error problem disappeared
2005-11-14 23:14:31 +00:00
Howard Chu
ea92291cb6
ITS#4158 still more
2005-11-08 09:53:38 +00:00
Howard Chu
6f9aa99d0c
ITS#4158 move SASL bind finalization to bind_cb.
2005-11-07 23:38:52 +00:00
Pierangelo Masarati
d0ca539cc9
fix num args in Debug()
2005-11-06 23:37:52 +00:00
Howard Chu
ee8bea214a
Fix ITS#4151 - set sasl_bind_in_progress in bind_cb
2005-11-05 22:35:40 +00:00
Howard Chu
11f6938162
ITS#4136 fix prev commit
2005-11-03 12:45:57 +00:00
Howard Chu
30869197f8
Fix fastpath for internal clients (e.g. syncrepl) too.
2005-11-02 00:15:41 +00:00
Howard Chu
44fcfb9ed3
Fix fastpath for single-op dispatching
2005-11-01 23:53:01 +00:00
Pierangelo Masarati
7949808924
plug one-time leaks
2005-11-01 18:12:14 +00:00
Pierangelo Masarati
22ca0e457e
cleanup
2005-11-01 17:05:32 +00:00
Howard Chu
0a509c9c07
Free bind callback
2005-11-01 15:11:54 +00:00
Pierangelo Masarati
3fd5e683f2
fix size of connection array (ITS#4131)
2005-11-01 14:12:12 +00:00
Howard Chu
3d60d71ad2
Partial fix for ITS#3850, stop spurious "deferring: binding" messages.
...
Make sure conn state is reset before reply reaches client. Hang still
occurs in RE22, not in RE23.
2005-10-30 09:53:15 +00:00
Howard Chu
e131aa424b
ITS#4108 fix another accept/read race condition
2005-10-29 15:16:35 +00:00
Howard Chu
4bb234bac8
ITS#4108 Cleanup accept/close race conditions.
2005-10-29 04:17:56 +00:00
Howard Chu
638b84db6e
Cleanup, fix ITS#4120
2005-10-29 02:06:32 +00:00
Kurt Zeilenga
5c125d19a9
Revise last commit
2005-10-16 20:38:48 +00:00
Kurt Zeilenga
964aa48c37
Fix TLS/SASL handling in new lightweight dispatcher
2005-10-16 20:33:01 +00:00
Kurt Zeilenga
24efc30873
Move slapd_set_read before return
...
(likely wake should be after... hmmm....)
2005-10-16 17:36:30 +00:00
Kurt Zeilenga
533394d641
disable SLAP_SEM_LOAD_CONTROL by default, needs additional review/work
...
Misc. other cleanup
2005-10-16 00:17:58 +00:00
Kurt Zeilenga
9bc19c5232
Revised lightweight dispatcher -- writers moved into worker threads
...
Presently spawns operations in separate thread to ease clr_read/wake handling.
Seems to perform reasonable well...
2005-10-15 06:54:55 +00:00
Kurt Zeilenga
577bfc477e
More cleanup
2005-10-14 22:04:03 +00:00
Kurt Zeilenga
40ff060f83
cleanup
2005-10-14 21:37:14 +00:00
Howard Chu
7dcb68f6fa
Move CSN invocations to backends
2005-10-13 11:58:44 +00:00
Kurt Zeilenga
4d0de8b3c5
cleanup
2005-10-13 04:33:01 +00:00
Kurt Zeilenga
5085d1f8ff
cleanup
2005-10-13 02:08:14 +00:00
Kurt Zeilenga
6db7e605ee
Align Operation buffers using LBER_ALIGNED_BUFFER
2005-10-12 23:17:28 +00:00
Hallvard Furuseth
27831fcde5
Include "fd=.." in Statslog message "TLS established"
2005-08-29 23:34:42 +00:00
Howard Chu
3fc2e1388a
ITS#3983 fix connection_client_stop, must reset sockbuf
2005-08-29 23:05:32 +00:00
Hallvard Furuseth
9873eb7ab0
Add missing Statslog() statements (loglevel stats/stats2):
...
"ABANDON", "STARTTLS", "CANCEL", "WHOAMI", "PASSMOD", "EXT", "INTERM",
"TLS established", SASL and Extended Response "RESULT".
In Statslog output "conn=xx fd=yy closed", append the reason in
"()" unless client or server closed the connection after Unbind.
Still missing Statslog output from a number of failed requests.
2005-08-14 00:14:58 +00:00
Pierangelo Masarati
4ceeea4efa
should fix the invalid free issue
2005-07-21 19:14:09 +00:00
Luke Howard
ffe20229dc
Move most of SLAPI frontend into overlay
2005-07-21 16:35:20 +00:00
Howard Chu
143635437a
ITS#3549 don't queue Unbind requests
2005-06-18 09:06:12 +00:00
Howard Chu
0f4a5f7445
ITS#3671 must release conn->c_mutex to allow blocked writers to exit
2005-04-28 18:36:08 +00:00
Kurt Zeilenga
3e800f20bd
<limits.h> cleanup && ITS#3643
2005-04-10 19:32:14 +00:00
Howard Chu
bf0373b486
Add conn->c_sasl_authz_dn, store SASL authzDN separately from authcDN
2005-04-03 09:38:53 +00:00
Howard Chu
6cbe778c81
ITS#3549 allow one op to progress when a socket with writewaiters
...
becomes ready to write.
2005-02-18 04:21:59 +00:00
Howard Chu
5d8ece605e
ITS#3549 cleanup abandon/cancel processing
2005-02-18 01:01:35 +00:00
Howard Chu
9f30e1e650
Delete obsolete syncprovider stuff
2005-01-14 05:19:51 +00:00
Howard Chu
b6fbfe8540
ITS#3463 additional fix
2005-01-14 02:08:02 +00:00
Kurt Zeilenga
dc0eacd40b
Happy New Year!
2005-01-01 20:49:32 +00:00
Pierangelo Masarati
a8547f5945
fix comment
2005-01-01 16:14:11 +00:00
Pierangelo Masarati
4b8e57e11f
rework operations in a table-driven manner; better exception handling
2004-12-29 12:31:06 +00:00
Pierangelo Masarati
564d1a6aff
fix previous commit (for compilers that require at least one statement after a label)
2004-12-28 22:48:43 +00:00
Kurt Zeilenga
4a618959bb
PROTOS fix
2004-12-28 19:05:52 +00:00
Pierangelo Masarati
2f5e17d056
improve usability of global ovrlays for write operations; may need to anticipate SLAPI accordingly. More work needed for add (overlays need to understand they're global and call slap_mods2entry() explicitly)
2004-12-11 17:48:15 +00:00
Pierangelo Masarati
b498a9222a
better fix to ITS#3433
2004-12-11 15:41:50 +00:00
Howard Chu
948fa42499
Fix prev commit
2004-12-09 21:49:24 +00:00
Howard Chu
423c53d267
Add fe_op_abandon, call it in connection_abandon()
2004-12-09 21:17:29 +00:00
Howard Chu
5f99f7c991
More migration of syncrepl from frontend to syncprov overlay
...
define OPERATION_BUFFER_SIZE for dummy Operations
2004-11-27 00:57:37 +00:00
Howard Chu
90cc409325
Split Operation into Opheader and op
2004-11-25 22:59:00 +00:00
Howard Chu
3a5bde98ba
Disable back-bdb native syncrepl support, enable syncprov overlay,
...
remove syncrepl stuff from Operation struct
2004-11-25 21:16:54 +00:00
Jong Hyuk Choi
7fa860ef16
Add the omitted part from the original buddy allocator commit
2004-11-24 17:46:47 +00:00
Howard Chu
47dd8d8732
Dynamic control management
2004-11-23 13:08:45 +00:00
Howard Chu
7e87f54716
Revert ITS#3353 patch, it needs to be reworked.
2004-10-06 05:51:38 +00:00
Howard Chu
fda3d6260e
ITS#3353 consolidate slapd globals into a single struct
2004-10-01 07:33:16 +00:00
Pierangelo Masarati
d026e2c9f7
preformat "conn=%lu op=%lu"
2004-09-26 23:00:00 +00:00
Pierangelo Masarati
761f287943
multiple precision with BIGNUM/gmp/ulong
2004-09-26 22:58:47 +00:00
Pierangelo Masarati
55e251e6e8
lots of cleanup; few improvements; fix RDN selection bug when creating connection dynamic entries; rework entries ordering - now it's more intuitive and regular; optimize counters update
2004-09-12 22:12:58 +00:00
Pierangelo Masarati
a637926bf2
use GMP for multiple precision in counters
2004-09-11 16:15:53 +00:00
Kurt Zeilenga
d611a4b49a
unifdef -UNEW_LOGGING
2004-09-04 04:54:28 +00:00
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