Commit Graph

196 Commits

Author SHA1 Message Date
Pierangelo Masarati
aa3c9bad3e First cut to truly async connect:
- after connect(2), if async the connection is in "connecting" state
	- the first time a request is sent, "connecting" conns are polled
		- in case of success, the request is sent
		- in case still connecting, LDAP_X_CONNECTING is returned;
		  clients are expected to retry later
	- the "async" behavior must be explicitly enabled by setting
	  the LDAP_OPT_CONNECT_ASYNC option

"local" connections need work
2007-01-07 19:20:46 +00:00
Kurt Zeilenga
da6d9eb046 happy new year 2007-01-02 20:00:42 +00:00
Pierangelo Masarati
5a000a9b91 fix warnings after previous commit 2006-12-04 00:11:12 +00:00
Pierangelo Masarati
a76b702d4c fix request/result abandon 2006-12-03 20:56:25 +00:00
Pierangelo Masarati
3c1df853e4 fix endless loop in canceling child requests; cleanup 2006-11-12 14:22:24 +00:00
Pierangelo Masarati
dc871de33d cleanup prvious commit; log number of abandoned requests waiting for response... 2006-11-02 19:11:18 +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
Pierangelo Masarati
06b491a446 better function name 2006-09-01 16:21:20 +00:00
Pierangelo Masarati
b45c0c881d keep count of requests in use 2006-09-01 14:00:58 +00:00
Pierangelo Masarati
cb3248f173 cleanup 2006-09-01 10:01:36 +00:00
Pierangelo Masarati
7a3ff8ddc2 count requests and responses in logs 2006-05-27 10:17:34 +00:00
Pierangelo Masarati
6b889b0a8a s/fprintf/Debug/ (ITS#4553); lock ld_conn_mutex before accessing conn(s) 2006-05-18 00:59:13 +00:00
Pierangelo Masarati
86b566f029 cleanup 2006-05-18 00:37:56 +00:00
Pierangelo Masarati
2b29cf4909 fix rev 1.125 commit 2006-05-17 22:13:39 +00:00
Howard Chu
ff40a705da ITS#4541 better fix 2006-05-12 06:33:27 +00:00
Howard Chu
7b10f413d9 Fix ITS#4533 don't destroy input request 2006-05-10 15:01:50 +00:00
Pierangelo Masarati
373ded8d24 add URI list resorting feature (ITS#4524) 2006-05-06 16:15:25 +00:00
Pierangelo Masarati
77e7acc4f9 cleanup; make sure no spurious error code slip thru 2006-04-24 12:12:14 +00:00
Pierangelo Masarati
dfc8e7f6b8 better fix for ITS#4483 2006-04-09 22:29:42 +00:00
Pierangelo Masarati
74b6ab9029 more cleanup 2006-04-08 11:01:19 +00:00
Pierangelo Masarati
8823f5cc87 fix ITS#4450? 2006-04-03 00:34:35 +00:00
Howard Chu
aa87b9ad2e cleanup dead code 2006-03-31 21:07:53 +00:00
Pierangelo Masarati
177c051f0f use asynchronous API; note that an endless loop may occur (ITS#4450; no fix yet) 2006-03-25 08:16:19 +00:00
Kurt Zeilenga
acbb5cf689 Happy new year! 2006-01-03 23:11:52 +00:00
Pierangelo Masarati
73acecaf0f cleanup 2005-12-13 15:53:10 +00:00
Kurt Zeilenga
71cf424b77 unifdef -DLDAP_SCOPE_SUBORDINATE 2005-11-26 06:35:36 +00:00
Pierangelo Masarati
af23be3675 silence warnings... 2005-11-14 21:47:17 +00:00
Howard Chu
f18c63fa13 Add LDAP* to debug messages to aid tracking 2005-10-12 00:23:30 +00:00
Howard Chu
e8b1b004d4 Fix ITS#3832 must mutex protect ld->ld_conns 2005-10-12 00:05:43 +00:00
Howard Chu
2ea5a66be2 ITS#2942 skip referrals that we've already chased 2005-10-09 10:01:38 +00:00
Pierangelo Masarati
3638b6c722 solve a deadlock during unbind: ldap_send_unbind() is called by ldap_free_connection() only, and just in case the last arg is not 0; but most of the times ldap_free_connection() is called with ld_req_mutex locked, so it shouldn't be locked again from inside ldap_send_unbind() 2005-08-11 17:11:41 +00:00
Pierangelo Masarati
228af40058 cleanup 2005-08-11 12:13:43 +00:00
Pierangelo Masarati
a3a9bb9bfa little more about potential concurrency issues 2005-08-03 16:54:08 +00:00
Howard Chu
834f1bd253 ITS#3578 increment parent's referral count 2005-08-02 11:24:52 +00:00
Hallvard Furuseth
b295d66a2c assert expects int. (int)<nonnull ptr/long> can be 0. Use assert(arg!=0/NULL). 2005-08-02 10:57:42 +00:00
Pierangelo Masarati
01dc0183a3 plug leaks; cleanup 2005-08-01 23:35:44 +00:00
Pierangelo Masarati
5ff31144a7 cleanup 2005-07-30 16:26:25 +00:00
Pierangelo Masarati
7fade0d585 (yet) another potential concurrency issue 2005-07-23 22:04:04 +00:00
Pierangelo Masarati
5e84975adf paranoid check 2005-07-16 15:37:01 +00:00
Pierangelo Masarati
eb005a9872 allow to muck with referrals while chasing... 2005-05-28 14:29:08 +00:00
Kurt Zeilenga
8b730300a2 Enable subordinate scope feature 2005-01-26 03:30:22 +00:00
Kurt Zeilenga
dc0eacd40b Happy New Year! 2005-01-01 20:49:32 +00:00
Kurt Zeilenga
d611a4b49a unifdef -UNEW_LOGGING 2004-09-04 04:54:28 +00:00
Kurt Zeilenga
1ccb936170 fix typo in last commit 2004-08-28 04:01:19 +00:00
Kurt Zeilenga
c9dd33b520 Add scheme check to find_connection 2004-08-28 03:55:02 +00:00
Kurt Zeilenga
8064bb6ef1 A better find_connection() port fix 2004-08-28 03:53:31 +00:00
Kurt Zeilenga
1d3eccca9e Partial ITS#3280 fix. ldap:// referrals only. 2004-08-28 03:25:59 +00:00
Kurt Zeilenga
f0bd9b3a5b Mark areas needed poll(2) support with HAVE_POLL. 2004-07-09 17:50:22 +00:00
Howard Chu
efdeee929d Revert previous commit, didn't solve anything. Probably made things worse. 2004-04-08 12:40:49 +00:00
Howard Chu
690f0111e9 ITS#2894 - search refs that are the immediate result of another search
ref are associated with the parent req instead of the original req, to
prevent infinite loops.
2004-01-25 10:30:10 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Kurt Zeilenga
afb520a6e9 LDAP_SCOPE SUBORDINATE implementation 2003-12-30 01:34:05 +00:00
Kurt Zeilenga
271fff13de Sync with HEAD 2003-12-17 17:55:27 +00:00
Kurt Zeilenga
159de0f135 Updated notices and acknowledgements 2003-11-26 07:16:36 +00:00
Howard Chu
0b96b6b6ad Chasing a referral needs both the request and response mutexes.
Unlock and relock... (yuck)
2003-03-06 14:53:01 +00:00
Howard Chu
844cc97928 More for re-entrant LDAP* handles. Works much better. 2003-02-13 23:02:31 +00:00
Howard Chu
a6b3a92cc5 Added ld_req_mutex and ld_res_mutex to protect ld_requests and ld_responses
queues for multithreaded access to LDAP*'s. Also used to protect writes and
reads of ld_sb, respectively. Appears to work...
2003-02-13 10:43:16 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Howard Chu
e721e6bec9 Fix ITS#2187, recursively free all requests 2002-11-27 03:57:36 +00:00
Kurt Zeilenga
75e1620ee4 Add copy of OPL 2.0.1 and note in files which specifically refer
to 2.0.1 as to the location to the copy.
2002-10-15 23:22:20 +00:00
Howard Chu
d11b134709 Fix large SASL reads. Use EAGAIN instead of EWOULDBLOCK (was right the
first time after all. see read(2) and write(2)...)
2002-08-30 10:11:54 +00:00
Howard Chu
1dd1c375bb Fix previous commit - use EWOULDBLOCK instead of EAGAIN 2002-08-29 13:38:36 +00:00
Howard Chu
456e6c73ab Fix ITS#1983, handle writing of large requests. Only one pending request is
allowed per LDAP* handle. It works, but needs review.
2002-08-29 12:12:36 +00:00
Julius Enarusai
6107ba67d2 Coverted LDAP_LOG macro to use subsystem ID int values instead of string values 2002-07-11 20:33:24 +00:00
Howard Chu
bb17493d31 ITS#1732 signed/unsigned fixes 2002-04-11 08:47:37 +00:00
Pierangelo Masarati
8de44663f7 ITS#1730 and completion of ITS#1701 2002-04-08 10:34:04 +00:00
Kurt Zeilenga
26b99bc35d ITS#1701. Fix ber_scanf() return tag handling.
Based upon patch submitted by Hallvard B. Furuseth <h.b.furuseth@usit.uio.no>.
2002-04-02 18:40:04 +00:00
Julius Enarusai
b7bd4368d9 Added LDAP_LOG messages 2002-03-29 17:46:28 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Kurt Zeilenga
abd9be4def Remove lint and misc MSVC updates 2001-12-09 02:34:45 +00:00
Howard Chu
647b5f84ee Resurrection/rewrite of CLDAP (RFC1798 Connectionless LDAP).
Compile with -DLDAP_CONNECTIONLESS to use this code.
For slapd, use "-h cldap://" to listen on UDP.
For ldapsearch, use "-H cldap://" to query on UDP.
Client-side support is very minimal:
  no automatic timeout/retries
  no basedn wildcard expansion on results
  no support for specifying multiple servers at once.
2001-09-28 00:18:40 +00:00
Kurt Zeilenga
790a18cb86 chasing multi-level referrals core dumps (ITS#1346) bug fix
from Zachary Amsden <zach@mirapoint.com>.
2001-09-24 18:50:44 +00:00
Kurt Zeilenga
c4f5497ac6 move TLS ctx to lconn struct in prep for supporting TLS with referrals
need to rework cert check to use per lconn host name
2001-06-25 07:33:42 +00:00
Kurt Zeilenga
55755fea2a Rebind cleanup 2001-06-15 04:49:38 +00:00
Kurt Zeilenga
5f25c10980 new rebind proc
new SASL locking
2001-06-15 00:14:56 +00:00
Kurt Zeilenga
b08f7e8bce Fix typo 2001-01-22 07:42:13 +00:00
Kurt Zeilenga
1cabc6931d Add a little whitespace for readability 2001-01-20 01:17:15 +00:00
Kurt Zeilenga
a0828d6135 Rework scope defaulting to only default scope for references.
Might break LDAPv2 partial results
2001-01-10 23:48:24 +00:00
Kurt Zeilenga
d8292a62da Fix referral scope logic 2000-12-08 19:45:04 +00:00
Kurt Zeilenga
a09139465a Update URL parsing and LDAP referral/reference chasing to handle
search scope defaulting.
2000-11-28 19:56:55 +00:00
Kurt Zeilenga
7b9886e909 Add LDAP URL critical extension counter support. lud_crit_exts
is the number of critical extensions contained in lud_exts.
As we currently do not support any extension, this flag is
useful for determining whether or not we should attempt to
use the URL.  Added check of this counter to ldap_url_search
and LDAPv3 chase referrals.
2000-10-26 06:17:14 +00:00
Kurt Zeilenga
6442964059 Handle *lud_host == '\0'
(likely should modify parsers and other codes to disallow such)
2000-10-17 20:30:14 +00:00
Kurt Zeilenga
8e6062eb82 References with empty dn (ITS#817) 2000-10-11 04:23:23 +00:00
Kurt Zeilenga
1890b720b4 cleanup getattr bailout code 2000-09-30 05:35:44 +00:00
Kurt Zeilenga
f8d9bffb98 Don't touch (unescape) URL handed to rebind proc. 2000-09-30 02:37:05 +00:00
Ben Collins
718a6bfca4 initialize Sockbuf * to NULL 2000-09-15 03:05:27 +00:00
Kurt Zeilenga
102a88659b ITS#717 kbind fixes 2000-09-06 21:32:45 +00:00
Kurt Zeilenga
5fc22599e2 Update SASL code to reuse context through life of session.
Replace 'negotiated' with 'interactive' bind
Add hooks for SASL/EXTERNAL
Disable SASL security layers
Rework SASL command line and config file parameters
2000-07-13 22:54:38 +00:00
Kurt Zeilenga
49f4147385 Added -llber 'N' ber_printf format which inserts a NULL if
an internal flag set.  Used for SEQUENCE testing.  Flag must
be set using debugger.  Modified ber_printf to use new format
were needed for extensibility testing.

Added first cut -lldap support for extended responses.
Modified ldapsearch(1) to handle v3 search references when not
chasing.  Also added extended/unsolicited notification handling
and extended partial response handling.  Changes include a
number of LDIF enhancements.

Fixed getpassphrase() returns NULL bugs
2000-06-24 01:40:39 +00:00
Kurt Zeilenga
9ef1a740c2 Round one of LDAP_F() macro changes. In this round we rename
macros into our namespace and limit use to headers.  A subsequent
round will add macros to separately handle forward declarations
of variables from declaration of function prototypes.  The last
round will add additional macros for declaring actual variables and
functions.
2000-06-18 19:48:07 +00:00
Kurt Zeilenga
77b235fba5 Apply Novell's IN_KERNEL support (ITS#576) 2000-06-08 17:11:57 +00:00
Kurt Zeilenga
6ad1c45bd3 Use LDAP_VFREE and friends. Other misc code cleanup. 2000-06-07 05:17:29 +00:00
Kurt Zeilenga
e5ebc553ac Rework URI parser to provide true scheme not proto/properties.
Plus more pthread rwlock code
2000-06-07 01:09:40 +00:00
Kurt Zeilenga
c1117666b1 remove old STR_TRANSLATION feature. The use of this feature
was only of limited use with LDAPv2 (worked okay if no non-T.61
values existed) but downright dangerous in the face of LDAPv3.
Any translation must be schema aware and the BER isn't.
2000-06-05 19:22:19 +00:00
Kurt Zeilenga
7dc76e7139 move --enable-dns (LDAP_API_FEATURE_X_OPENLDAP_V2_DNS) to Attic 2000-06-05 07:19:09 +00:00
Kurt Zeilenga
2e0912622b ITS#537: lber io rewrite from Gambor Gombas.
Copyright 2000 Gábor Gombás. All rights reserved.
This is free software. You may redistribute and use it under the same
terms as OpenLDAP itself.
2000-06-01 20:59:21 +00:00
Kurt Zeilenga
81d2747247 A couple of minor fixes to LDAPv3 referral chasing 2000-05-31 17:47:33 +00:00
Kurt Zeilenga
a26cef7fc8 LDAPv3 referrals changes by Steve Sonntag @ Novell 2000-05-31 17:34:43 +00:00
Kurt Zeilenga
b66567f1f8 Minor fix to last commit 2000-05-30 19:07:07 +00:00
Kurt Zeilenga
875610cfcc Referral hack 2000-05-30 18:32:10 +00:00